Ios7 CbundleDisplayName本地化不';行不通

Ios7 CbundleDisplayName本地化不';行不通,ios7,localization,Ios7,Localization,我正在尝试本地化我的应用程序名称,但无法使其工作。我有一个本地化的InfoPlist.strings,包含以下内容: CFBundleDisplayName = "Application Name in English"; CFBundleName = "App Name – in English"; 以及LSHasLocalizedDisplayName(应用程序具有本地化显示名称)设置为是。我还能错过什么 我会错过什么?在另一个应用程序中,它运行得很顺利,但对于这一个应用程序,我无法将其名

我正在尝试本地化我的应用程序名称,但无法使其工作。我有一个本地化的InfoPlist.strings,包含以下内容:

CFBundleDisplayName = "Application Name in English";
CFBundleName = "App Name – in English";
以及
LSHasLocalizedDisplayName
应用程序具有本地化显示名称
)设置为
。我还能错过什么

我会错过什么?在另一个应用程序中,它运行得很顺利,但对于这一个应用程序,我无法将其名称本地化

InfoPlist.strings与其他本地化字符串位于同一目录中,并且还选择了目标成员身份


编辑:我发现,我有两种语言(德语、英语),它适用于德语,但不适用于英语。。。同一个en目录中的应用程序定位(localizable.strings)工作得很好,但InfoPlist.strings不…。

您提到您在
InfoPlist.string
中添加了
CbundleDisplayName
CbundleName
。您是否有可能在
info.plist
文件中没有它

此外,您可能需要检查以下内容是否未返回
null

[[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString *)kCFBundleNameKey];
[[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString *)kCFBundleLocalizationsKey];
而且,(你一定读过,但仍然)如果你能检查一下,我怀疑这可能是一个问题

在显示捆绑包的本地化名称之前,Finder 将此键的值与包的实际名称进行比较 在文件系统中。如果两个名称匹配,则查找程序继续查找 显示相应InfoPlist.strings文件中的本地化名称 你的包裹。如果名称不匹配,查找器将显示 文件系统名称


你是在设备上还是在模拟器上试过这个

因为在模拟器中它总是用英语运行(或者你的Mac语言,对我来说是英语),它不会从模拟器本身获取设置

这很奇怪,但您需要在方案的编译时调整应用程序的语言:


我知道这很旧,但如果有人没有看到你的应用程序名称在iOS设备上本地化,即使你编辑了目标的语言方案,那是因为只有你直接更改设备的语言(在设置/常规/语言和区域中)时才会显示它。

很好的捕捉。这当然是个问题+1谢谢。我缺少CbundleLocalizations值,但在的帮助下添加了它们(注意数组值应该是语言代码,如en、es等)。谢谢!我一直在想,为什么直到我在“设置”中更改了设备的语言后它才会显示出来。在那之后工作得很好