我试图本地化我的应用程序名,但无法使它工作。我得到了一个本地化的InfoPlist.strings,其内容如下:
CFBundleDisplayName = "Application Name in English";
CFBundleName = "App Name – in English";
以及设置为LSHasLocalizedDisplayName
(Application has localized Display Name
)的YES
。我还能错过什么?
我错过了什么?在另一个应用程序中,它似乎工作得不太好,但对于这个应用程序,我无法将名称本地化。
InfoPlist.strings与其他本地化字符串位于同一个目录中,并选择目标成员资格。
编辑:我发现,我有两个语言(德语,英语),它适用于德语,但不适用于英语.应用程序定位(localizable.strings)在同一目录下工作完美,但InfoPlist.strings不.
发布于 2014-12-12 08:03:49
你是在设备上还是在模拟器上试过这个?
因为在模拟器中,它总是以英语运行(或者你的Mac语言,对我来说是英语),它不会从模拟器本身获取设置。
这很奇怪,但您需要在该方案的编译时调整应用程序的语言:
发布于 2018-03-22 03:46:51
我知道这很古老,但如果没有人看到您的应用程序名被本地化在iOS设备上,即使您为该语言编辑了目标的方案,这是因为只有当您直接更改设备的语言(在设置/通用/语言&区域中)时,它才会显示。
发布于 2014-12-12 07:37:38
您已经提到您在CFBundleDisplayName
& CFBundleName
中添加了InfoPlist.string
。有没有可能,您可能没有在info.plist
文件中。
另外,您可能需要检查以下内容是否没有返回null
[[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString *)kCFBundleNameKey];
[[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString *)kCFBundleLocalizationsKey];
而且,(你一定读过了,但仍然如此),如果你能检查一下,我怀疑这会是个问题。
在显示包的本地化名称之前,Finder将此键的值与文件系统中包的实际名称进行比较。如果两个名称匹配,则Finder将继续显示包的适当InfoPlist.strings文件中的本地化名称。如果名称不匹配,则查找程序将显示文件系统名称。
https://stackoverflow.com/questions/26973117
复制相似问题