你可能知道iOS 8需要NSLocationWhenInUseUsageDescription键来使用用户的位置。我已经添加了这个键和一些一般信息到我的信息plist。
如何在plist文件中使用翻译字符串?
——更新——
我已经有一个Localizable字符串。我只是想知道我能不能用一些 NSLocalizedString(MYSTRING,nil)在plist字符串内。我知道我可以创建多个文件的信息。plist的本地化,但我想知道是否有一个更简单的方法。
你可能知道iOS 8需要NSLocationWhenInUseUsageDescription键来使用用户的位置。我已经添加了这个键和一些一般信息到我的信息plist。
如何在plist文件中使用翻译字符串?
——更新——
我已经有一个Localizable字符串。我只是想知道我能不能用一些 NSLocalizedString(MYSTRING,nil)在plist字符串内。我知道我可以创建多个文件的信息。plist的本地化,但我想知道是否有一个更简单的方法。
当前回答
对于任何遇到信息问题的人。当尝试添加本地化时,plist不被包括,比如在Xcode 9中。
你需要制作信息。Plist localiazble通过进入它并单击文件检查器中的本地化按钮,如下所示。
info。当你添加新的本地化时,plist将被包含在文件资源中。
其他回答
我强烈建议阅读苹果的指南,并查看以下列出的WWDC资源: 国际化与本土化主题
具体来说,当您向项目中添加一种新语言时,您有机会选择要包含哪些InfoPlist文件(如果您有多个目标,则会有多个Info plist文件)。你所需要做的就是点击本地化下的+,并选择一种新的语言来添加支持。
添加完成后,它将在适当的lproj目录中为给定语言创建必要的字符串文件。
——编辑
需要明确的是,iOS会根据用户当前选择的语言,将Plist条目的键作为本地化字符串文件中的键,为Plist文件替换字符串。
在我的情况下,本地化没有工作,原因是名称中的'-'符号。 例如:“aero-Info.plist” 和本地化文件:“aero-InfoPlist。字符串”和“aeroInfoPlist。字符串“没有工作。
你应该使用InfoPlist。字符串文件(保留I和P大写)来本地化Info.plist的值。进入“File->New->File”,在iOS的“Resource”页签下选择“Strings File”,命名为InfoPlist,进行创建。打开并插入信息。你想本地化的Plist值:
NSLocationWhenInUseUsageDescription = "Description of this";
现在可以本地化InfoPlist了。带有翻译的字符串文件。
选择本地化选项,或根据需要启用本地化,
您应该能够在左侧编辑器中看到该文件。
注意:在模拟器上测试本地化时。你需要改变模拟器本身的语言而不仅仅是Xcode目标中的语言。(约翰·韦伯致谢)
这是信息的官方文档。Plist键本地化。
感谢马可,感谢你在这个回答中包含的照片!
逐步本地化Info.plist:
Find in the Xcode the folder Resources (is placed in root) Select the folder Resources Then press the main menu File->New->File... Select in section "Resource" Strings File and press Next Then in Save As field write InfoPlist ONLY ("I" (eye) capital and "P" capital - the l (ell) after the P should not be capital) Then press Create Then select the file InfoPlist.strings that created in Resources folder and press in the right menu the button "Localize" Then you Select the Project from the Project Navigator and select the The project from project list In the info tab at the bottom you can as many as language you want (There is in section Localizations) The language you can see in Resources Folder To localize the values ("key") from info.plist file you can open with a text editor and get all the keys you want to localize You write any key as the example in any InfoPlist.strings like the above example
“NSLocationAlwaysAndWhenInUseUsageDescription”=“blabla”;
“NSLocationAlwaysUsageDescription”=“blabla2”;
这就是所有的工作,你已经本地化了你的信息。plist文件!
以上所有的都不适合我(XCode 7.3),所以我阅读了苹果的参考资料,它比上面描述的要简单得多。苹果公司表示:
本地化值不存储在信息中。Plist文件本身。 方法中存储特定本地化的值 InfoPlist.strings文件。你把这个文件放进去 与用于存储的特定于语言的项目目录相同 相同本地化的其他资源。
因此,我创建了一个名为InfoPlist的字符串文件。字符串,并将其放在xx中。xx语言的lproj文件夹(并使用File->Add Files to…将其添加到项目中)。就是这样。不需要“本地化资源可以混合”键= YES,也不需要InfoPlist。基音字符串。Lproj或en.lproj。
应用程序使用Info。如果在特定语言的文件中找不到键,则Plist key-value作为默认值。因此,我把我的英语价值放在信息。Plist文件和翻译的语言特定文件,测试和一切工作。
特别是,不需要对InfoPlist进行本地化。字符串(它在基类中创建文件的一个版本。lproj, en。Lroj和xx.lproj),在我的情况下,这样做是行不通的。