如你所知,iOS 8需要NSLocationWhenInUseUsageDescription密钥才能使用用户的位置。我已将此密钥和一些一般信息添加到我的信息列表中。
如何在plist文件中使用翻译字符串?
-更新--
我已经有一个可本地化的字符串。我只是想知道我是否可以在plist字符串中使用类似NSLocalizedString(MYSTRING )的东西。我知道我可以创建多个用于本地化的info.plist文件,但我想知道是否有更简单的方法。
发布于 2014-09-09 12:52:41
您应该使用InfoPlist.strings
文件来本地化Info.plist
的值。为此,请转到File->New->File
,在iOS
的Resource
选项卡下选择Strings File
,将其命名为InfoPlist
,然后创建。打开并插入要本地化的Info.plist
值,如下所示:
NSLocationWhenInUseUsageDescription = "Description of this";
现在,您可以使用翻译本地化InfoPlist.strings
文件。
选择本地化选项,或根据需要启用本地化。
您应该能够在左侧编辑器中看到该文件。
Here是Info.plist
密钥本地化的官方文档。
将归功于,感谢您在此答案中包含图片!
发布于 2016-09-14 17:01:06
以上所有方法对我来说都不起作用(XCode 7.3),所以我阅读了苹果参考资料中的操作方法,它比上面描述的要简单得多。据苹果公司称:
Info.plist文件本身中不存储
本地化的值。相反,您可以将特定本地化的值存储在名为InfoPlist.strings的字符串文件中。您可以将此文件放在用于存储相同本地化的其他资源的语言特定的项目目录中。
因此,我创建了一个名为InfoPlist.strings的字符串文件,并将其放在"xx“语言的xx.lproj文件夹中(然后使用File->Add Files to ...将其添加到项目中)。就这样。不需要关键字“本地化资源可以混合”= YES,并且不需要在base.lproj或en.lproj中使用InfoPlist.strings。
如果应用程序在语言特定的文件中找不到键,它将使用Info.plist键值作为默认值。因此,我将我的英语值放入Info.plist文件中,将翻译后的值放入特定于语言的文件中,经过测试,一切正常。
特别是,不需要本地化InfoPlist.strings (这会在base.lproj、en.lroj和xx.lproj中创建文件的一个版本),在我的例子中,这种方法不起作用。
发布于 2019-03-09 21:36:11
逐步本地化Info.plist:
code in >在Xcode中查找文件夹资源(放置在根目录中)
"NSLocationAlwaysAndWhenInUseUsageDescription"="blabla";
"NSLocationAlwaysUsageDescription"="blabla2";
这就是全部工作,您已经本地化了info.plist文件!
https://stackoverflow.com/questions/25736700
复制相似问题