Может кто-нибудь дать мне представление, как найти проблему.
У меня есть приложение под названием «MyApp». Я хотел бы локализовать название приложения на немецкий язык. У меня есть каталог de.lproj в главной директории проекта. Он содержит файл Localizable.strings и отлично работает.
Я добавил файл InfoPlist.strings и добавил туда:
CFBundleDisplayName = "Applikationsname";
Но оно не отображает переведенное имя, оно остается в «MyApp». Вот что я попробовал до сих пор:
- Тройная проверка орфографии и заглавных букв
- очистить все
- удалить приложение с устройства и в
Тренажер
- удалить каталог пользователя в симуляторе
- изменил английское имя приложения в MyApp-Info.plist - это работает.
- перечитайте все, что я мог найти в
Яблочная документация и много гуглят, подтверждая, что
это должно работать.
Что бы я ни пытался, это имя приложения из MyApp-Info.plist.
Я также регистрирую это в приложении делегат:
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);
Вывод:
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
То есть языковые настройки верны, но приложение не будет читать файл InfoPlist.strings?
Есть идеи как продолжить отсюда?
Заранее спасибо за любой ответ.