如何在Visual Studio中本地化Info.plist内容

时间:2019-05-08 19:58:20

标签: ios xamarin localization info.plist

我有一个Xamarin iOS应用程序,目前支持4种不同的语言。然而 我现在希望能够翻译我的info.plist文件及其键(如NSCameraUsageDescription)的内容,以便 值也可以翻译。

到目前为止,我已经做了大量研究,建议您通过搜索文档来创建一个InfoPlist.strings文件,其中应包含 我的键 NSCameraUsageDescription =“此处的内容”。

每种语言都有一个InfoPlist.strings文件,该文件将包含在该语言之后的 fr.lproj es.lproj 文件夹中。

我认为在Xcode中利用此选项并创建.strings文件并直接对其进行本地化的解释比较好。 但是,在Visual Studio上,我很难引入和修改文件。 Xcode上的.strings文件等效于VS上的.resx文件?

例如,当我切换到法语时,如何告诉我的应用程序轻按文件夹fr.lproj / InfoPlist.strings,我的InfoPlist.strings与主Info.plist文件之间的关系如何?

我是否应该为每种名为fr.lproj的语言创建一个文件夹,并在其中使用键将单个文件InfoPlist.strings或InfoPlist.resx放在其中?

1 个答案:

答案 0 :(得分:2)

  

但是,在Visual Studio上,我很难引入和   调整我的文件。 Xcode上的.strings文件的等效项是.resx   VS上的文件?

否,要在Visual Studio中创建.strings文件,您应该选择添加->新项目-> 文本文件,然后使用xxx.strings更改文件名。

  

我的InfoPlist.strings与我的主要对象之间的关系如何   Info.plist文件是为了告诉我的应用程序点击   当我切换到法语时,文件夹fr.lproj / InfoPlist.strings   实例。

如果您为每种语言创建了InfoPlist.strings,它将自动读取相应语言文件中的配置,然后显示正确的语言。如果在InfoPlist.strings上找不到密钥,它将使用Info.plist主目录中的默认值。

  

我应该为每种名为fr.lproj的语言创建一个文件夹吗   我在其中放置了一个文件InfoPlist.strings或InfoPlist.resx   键?

是的,如果要支持四种语言,则应创建3个xx.lporj文件夹(另一个是Base.lporj),每个文件夹包含一个InfoPlist.stringsLocalizable.strings.

在您的InfoPlist.strings文件中,设置密钥NSCameraUsageDescription =“此处的内容”并按此...。

阅读document可能会有帮助。

这是我在项目中刚刚创建的内容:

example