如何将Info.plist文件中的CFBundleDisplayName值本地化?

4

当我在Xcode中查看Info.plist文件时,属性列表编辑器会显示一个看起来像变量的值:

${PRODUCT_NAME}

我该如何/在哪里为我的应用设置本地化名称?

1个回答

14

您可以创建一个名为InfoPlist.strings的本地化文件,其中包含应用程序的名称:

CFBundleDisplayName = "Name of the App";

(就像Localizable.strings一样)


那个.strings文件的名称重要吗?所以我应该将InfoPlist.strings文件放置在每个本地化目录中,如en.lproj、fr.lproj等,对吗? - Thanks
名称很重要(大小写也重要!)您必须为每个lproj目录执行此操作,但您也可以直接使用XCode完成。 - Rémy
1
我最近遇到了一个问题,可能会影响到其他人。在你的项目目录中(包括多个子项目),有可能存在不同位置的本地化字符串。如果某些子项目使用旧的 lproj 方案,例如 "English.lproj",而其他子项目使用新的方案 "en.lproj",那么 Xcode 将会将这些文件收集到不同的 .lproj 目录中。然后,在 iOS 上运行应用时,iOS 将使用 "English.lproj" 目录,并且不会使用 "en.lproj" 目录中的文件,因此,如果你的 InfoPlist.strings 文件位于 "en.lproj" 位置,你将会遇到困难。 - ThomasW
如果您需要设置en_CA等区域设置以支持加拿大英语,这种方法不起作用。似乎这只适用于基于语言的本地化... - ArdenDev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接