könnte jemand mir eine Idee geben, wie man das Problem findet. Ich habe eine App namens "MyApp". Ich möchte den App-Namen auf Deutsch lokalisieren. Ich habe ein Verzeichnis de.lproj im Hauptprojektverzeichnis. Es enthält eine Datei Localizable.strings und das funktioniert gut. Ich habe eine InfoPlist.strings-Datei hinzugefügt und dort gebe ich ein:Lokalisierung von CFBundleDisplayName funktioniert nicht, was auch immer ich versuche
CFBundleDisplayName = "Applikationsname";
Aber es würde nicht den übersetzten Namen anzeigen, es bleibt auf "MyApp". Hier ist, was habe ich versucht, so weit:
- Dreifach überprüft die Rechtschreibung und Kapitalisierung
- sauber alle
- löschen App vom Gerät und in Simulator
- löschen Benutzer dir in Simulator
- die Englisch App geändert Name in MyApp-Info.plist - das funktioniert.
- wieder lesen, was ich in Apples Dokumentation und viel Googeln finden konnte, dass es sollte funktionieren.
Was auch immer ich versuchte, ist der App-Name der aus MyApp-Info.plist. ich log dies auch im AppDelegate:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *languages = [defaults objectForKey:@"AppleLanguages"];
NSString *currentLanguage = [languages objectAtIndex:0];
NSBundle *bundle = [NSBundle mainBundle];
NSDictionary *info = [bundle infoDictionary];
NSString *prodName = [info objectForKey:@"CFBundleDisplayName"];
NSLog(@"Product Name:%@",prodName);
NSLog(@"Current Locale: %@", [[NSLocale currentLocale] localeIdentifier]);
NSLog(@"Current language: %@", currentLanguage);
Ausgang ist:
2010-12-08 12:51:00.886 MyApp[25148:207] Product Name:MyApp
2010-12-08 12:51:00.946 MyApp[25148:207] Current Locale: de_DE
2010-12-08 12:51:00.946 MyApp[25148:207] Current language: de
So ist die Spracheinstellung ist richtig, aber die App lesen nicht die InfoPlist.strings-Datei? Irgendwelche Ideen, wie man von hier fortfährt?
Vielen Dank im Voraus für eine Antwort.
Nicolas: Ich habe das gleiche bemerkt. Ich denke, dass die Basis-Lokalisierung als Standard eintritt, wenn die App geöffnet ist (d. H. Schnittstellen). Hast du ein bisschen tiefer gegraben? – allaire
@allaire Nein, aber ich werde. Danke für die Eingabe! –
Lassen Sie mich wissen, wenn Sie noch etwas finden :) – allaire