首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CFBundleDisplayName本地化不起作用

CFBundleDisplayName本地化不起作用
EN

Stack Overflow用户
提问于 2014-11-17 12:49:37
回答 3查看 4.1K关注 0票数 8

我试图本地化我的应用程序名,但无法使它工作。我得到了一个本地化的InfoPlist.strings,其内容如下:

代码语言:javascript
运行
复制
CFBundleDisplayName = "Application Name in English";
CFBundleName = "App Name – in English";

以及设置为LSHasLocalizedDisplayName (Application has localized Display Name)的YES。我还能错过什么?

我错过了什么?在另一个应用程序中,它似乎工作得不太好,但对于这个应用程序,我无法将名称本地化。

InfoPlist.strings与其他本地化字符串位于同一个目录中,并选择目标成员资格。

编辑:我发现,我有两个语言(德语,英语),它适用于德语,但不适用于英语.应用程序定位(localizable.strings)在同一目录下工作完美,但InfoPlist.strings不.

EN

回答 3

Stack Overflow用户

发布于 2014-12-12 08:03:49

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

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

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

票数 4
EN

Stack Overflow用户

发布于 2018-03-22 03:46:51

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

票数 2
EN

Stack Overflow用户

发布于 2014-12-12 07:37:38

您已经提到您在CFBundleDisplayName & CFBundleName中添加了InfoPlist.string。有没有可能,您可能没有在info.plist文件中。

另外,您可能需要检查以下内容是否没有返回null

代码语言:javascript
运行
复制
[[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString *)kCFBundleNameKey];
[[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString *)kCFBundleLocalizationsKey];

而且,(你一定读过了,但仍然如此),如果你能检查一下,我怀疑这会是个问题。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26973117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档