有人可以给我一个想法如何找到问题。 我有一个名为“MyApp”的应用程序。我想将应用程序名称本地化为德语。我在主项目目录中有一个目录de.lproj。它包含一个文件Localizable.strings并且工作正常。 我添加了一个InfoPlist.strings文件,并在那里我把:CFBundleDisplayName的本地化无法工作,无论我尝试
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文件? 任何想法如何从这里继续?
在此先感谢您的回复。
Nicolas:我注意到了。我认为当应用程序打开时(即接口),Base本地化为默认启动。你有没有深入一点? – allaire 2016-12-04 15:42:42