我尝试本地化我的应用名称,但无法使其正常运行。我有一个带有以下内容的本地化InfoPlist.strings:
CFBundleDisplayName = "Application Name in English";
CFBundleName = "App Name – in English";
以及设置为LSHasLocalizedDisplayName
的{{1}}(Application has localized Display Name
)。我还能错过什么?
我能错过什么?在另一个应用程序中,它无缝地工作,但对于这个应用程序,我无法将名称本地化。
InfoPlist.strings与其他本地化字符串位于同一目录中,并且也选择了目标成员资格。
编辑:正如我发现的那样,我有两种语言(德语,英语),它适用于德语,但不适用于英语...应用程序locatization(localizable.strings )在同一个目录中工作完美,但InfoPlist.strings没有......
答案 0 :(得分:3)
您是在设备上还是在模拟器中试过这个?
因为在模拟器中它总是用英语运行(或者你的Mac语言,对我来说是英语),它不会从模拟器本身进行设置。
这很奇怪,但你需要在编译时调整应用程序的语言:
答案 1 :(得分:1)
您提到已添加CFBundleDisplayName
& CFBundleName
中的InfoPlist.string
。有没有可能,你可能没有info.plist
文件。
此外,您可能想要检查以下内容是否未返回null
:
[[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString *)kCFBundleNameKey];
[[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString *)kCFBundleLocalizationsKey];
而且,(你必须阅读它,但仍然)我怀疑这可能是一个问题,如果你可以检查。
在显示捆绑包的本地化名称之前,Finder 将此键的值与捆绑包的实际名称进行比较 在文件系统中。如果两个名称匹配,则Finder继续进行 显示相应InfoPlist.strings文件中的本地化名称 你的捆绑。如果名称不匹配,Finder将显示 文件系统名称。
答案 2 :(得分:0)
我知道这已经过时了,但是如果有人没有看到您的应用名称在iOS设备上进行了本地化,即使您编辑了该语言的目标计划,那也是因为它会。