3 Stimmen

iOS : Lokalisierte Bilder verwalten

Ich habe 2 Sätze von lokalisierten Bildern für eine iPhone App. Wie sollte ich die Bilder platzieren? Und wie kann ich sie in die App laden?

Die Ordnerstruktur ist wie folgt:

For English version:
/MyApp/en.lproj/Localizable.strings , InfoPList.strings
/MyApp/en.lproj/*.png (images)

For Traditional Chinese version:
/MyApp/zh-Hant.lproj/Localizable.strings , InfoPList.strings
/MyApp/Resources/*.png (images)

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *locale = [[defaults objectForKey:@"AppleLanguages"] objectAtIndex:0];
NSString* path= [[NSBundle mainBundle] pathForResource:locale ofType:@"lproj"];
NSBundle* languageBundle = [NSBundle bundleWithPath:path];
SomeViewController *vc = [[SomeViewController alloc] initWithNibName:@"SomeViewController" bundle:languageBundle];

Ich möchte denselben Dateinamen für beide Bildergruppen verwenden und sie automatisch laden lassen. Ist das möglich?

Jetzt habe ich ein Problem. In der Debug-Konsole, sagte es:

NSBundle </Users/SomeUser/Library/Application Support/iPhone Simulator/5.0/Applications/1DC22505-1E78-4B5E-A794-DBF72DC786AE/MyApp.app/zh-Hant.lproj> (not yet loaded)

Wie kann ich das Problem lösen?

7voto

Warum bekommen Sie das Sprachpaket selbst? Sie könnten den Namen der Bilddatei einfach so lokalisieren:

NSString *imageName = NSLocalizedString(@"myimage_jp", @"localized image");
UIImage *image = [UIImage imageNamed:imageName];

Und in der Localizable.strings Datei einfach den Bildnamen wie folgt zuordnen (vorausgesetzt, Japanisch ist Ihre Standardsprache):

@"myimage_jp" = @"myimage_cn"

Natürlich müssten Sie 2 Versionen des Bildes in den Ressourcen haben ( myimage_jp et myimage_cn )

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X