如何在iOS info.plist文件中本地化一个字符串?

369

您可能已经知道,iOS 8需要使用NSLocationWhenInUseUsageDescription密钥才能使用用户位置。我已将此密钥和一些通用信息添加到我的info plist中。 enter image description here

如何在plist文件中使用翻译字符串?

--更新--

我已经有了本地化字符串,我想知道是否可以在plist字符串中使用NSLocalizedString(MYSTRING,nil)之类的东西。我知道我可以为本地化创建多个info.plist文件,但我想知道是否有更简单的方法。


你解决过这个问题吗?我正在努力将NSLocationWhenInUseUsageDescription本地化,但是遇到了困难。 - Oliver Pearmain
15个回答

3

如RGML所说,您可以创建一个InfoPlist.strings文件,将其本地化,然后添加您的键和值,就像这样: "NSLocationWhenInUseUsageDescription" = "帮助定位我!";

它会将该键添加到指定语言的info.plist中。


2
使用 InfoPlist.strings 文件时(在 XCode 中,它应该放置在 Info.plist 文件旁边 - 实际文件位置可能在项目中的任何地方),请注意。

View in XCode

请注意在翻译时使用键的简称。
我曾试图使用“Privacy - Camera Usage Description”,但实际有效的键是“NSCameraUsageDescription”。

2
在我的情况下,一切都设置正确,但是仍然找不到InfoPlist.strings文件。
唯一真正起作用的方法是将InfoPlist.strings文件从项目中删除并重新添加。

1
在我的情况下,由于名称中含有“-”符号,本地化无法工作。 例如:“aero-Info.plist” 而本地化文件:“aero-InfoPlist.strings”和“aeroInfoPlist.strings”也无法工作。

0

iOS本地化.plist文件

如果您在InfoPlist.string中设置了键,则可以跳过将其定义到.plist中。

.plist

InfoPlist.string

"NSPhotoLibraryAddUsageDescription" = "You need to allow access to the photo library to download image";

这是错误的。文件必须命名为“InfoPlist.strings”,而且描述“下载图像”太简短了。苹果希望在此处提供非常描述性的句子。 - FrugalResolution

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