Xcode - 按语言更改捆绑包显示名称

时间:2015-06-25 17:08:11

标签: ios xcode

我想要将我的应用名称本地化(英文和简体中文)。我在我的项目中本地化Info.plist并添加了简体中文。所以我现在有两个Info.plist文件。构建项目时出错。 “无法找到Info.plist”。所以我在Build Settings>中编辑了Info.plist的路径。包装> Info.plist文件路径。现在它奏效了。

问题是在Build Settings>包装> Info.plist文件路径,Xcode只寻找一个Info.plist。如果我改变zh-Hans.lproj / Info.plist的路径它只会在英文和中文语言设置上显示中文应用名称。当我将其更改为en.lproj时也是如此。

如何设置Info.plist的路径,以便xcode能够识别出根据语言设置需要使用其中两个?

还是有比我正在做的更好的方式吗?

非常感谢!

1 个答案:

答案 0 :(得分:1)

您没有本地化Info.plist本身,您将本地化字符串放在单独的文件InfoPlist.strings中。 Quoting Apple:

  

本地化值不存储在Info.plist文件本身中。而是将特定本地化的值存储在名为InfoPlist.strings的字符串文件中。将此文件放在与用于存储同一本地化的其他资源相同的特定于语言的项目目录中。 InfoPlist.strings文件的内容是您想要本地化的各个键以及适当翻译的值。查找Info.plist文件中的键值的例程会考虑用户的语言首选项,并在存在时返回键的本地化版本(来自相应的InfoPlist.strings文件)。如果密钥的本地化版本不存在,则例程将返回存储在Info.plist文件中的值。

在显示名称的特定情况下,InfoPlist.strings的每个本地化版本都包含类似

的内容
CFBundleDisplayName = "My Cool App";

并且Info.plist中的显示名称仅在InfoPlist.strings未覆盖时才会使用。