Iphone 如何在Info.plist文件中本地化CbundleDisplayName的值?

Iphone 如何在Info.plist文件中本地化CbundleDisplayName的值?,iphone,localization,Iphone,Localization,在Xcode中查看Info.plist文件时,属性列表编辑器会显示一个类似于变量的值: ${PRODUCT_NAME} 如何/在何处设置我的应用程序的本地化名称?您可以创建名为InfoPlist.strings的本地化文件,其中包含应用程序的名称: CFBundleDisplayName = "Name of the App"; (就像Localizable.strings一样)该.strings文件的名称重要吗?因此,我会将InfoPlist.strings文件放在每个本地化目录中,如en

在Xcode中查看Info.plist文件时,属性列表编辑器会显示一个类似于变量的值:

${PRODUCT_NAME}

如何/在何处设置我的应用程序的本地化名称?

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

CFBundleDisplayName = "Name of the App";

(就像Localizable.strings一样)

该.strings文件的名称重要吗?因此,我会将InfoPlist.strings文件放在每个本地化目录中,如en.lproj、fr.lproj等,对吗?名称很重要(情况也是如此!)您必须对每个lproj目录都这样做,但您也可以直接使用XCode这样做。我最近遇到了一个可能会影响某人的问题。可以在项目目录的不同位置使用本地化字符串(考虑多个子项目)。如果一些子项目使用lproj的旧方案,如“English.lproj”,而其他子项目使用较新的方案“en.lproj”,那么Xcode将在不同的.lproj目录中收集这些文件。然后,当应用程序在iOS上时,iOS将使用“English.lproj”目录,而不使用“en.lproj”目录中的文件,因此,如果您的InfoPlist.strings文件位于“en.lproj”位置,您将很倒霉。如果您需要为en_CA等地区设置它以支持加拿大英语,则此方法不起作用。似乎这只适用于基于语言的本地化。。。