无法本地化info.plist字符串

DrK*_*Key 12 cocoa-touch info.plist ios

我需要本地化info.plist的两个键:NSLocationUsageDescriptionNSCameraUsageDescription.所以我尝试创建一个名为InfoPlist.strings的新文件,然后我将其本地化,但应用程序始终显示存储在info.plist文件中的字符串.怎么了?

信息财产清单重点参考的官方文件

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

我的InfoPlist.strings文件:

NSCameraUsageDescription = "hello";
NSLocationUsageDescription = "hello hello";
Run Code Online (Sandbox Code Playgroud)

小智 8

请检查生成的应用程序包,文件是否确实存储在那里并将其放在正确的位置.通常这是缺少的一步.

只需进入项目设置,打开"Build Phases"并查看该文件是否可以在"Copy Bundle Resources"中找到


yon*_*vav 6

对于您的应用程序支持的每种语言,您的 plist 文件可以有多个版本。在 Utilities \ File Inspector(右侧)中,单击“Localize”:

在此处输入图片说明

然后选择您想要拥有自己版本的语言:

在此处输入图片说明

之后,您将能够输入每个 plist 文件并根据需要对其进行编辑。


Lau*_*sac 5

InfoPlist.strings不考虑您方案的应用区域,而是设备中设置的区域!在您的设备上:Settings-> General -> Language & Region,检查 iPhone 语言是否是您喜欢的语言。