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

6
我有一个Xamarin iOS应用程序,目前支持4种不同的语言。然而,我现在想要翻译我的info.plist文件及其键(如NSCameraUsageDescription),以便翻译它们的值。
到目前为止,我已经做了很多研究,并通过搜索文档发现建议创建一个InfoPlist.strings文件,其中包含我的键“NSCameraUsageDescription =“此处内容””。
每种语言都会有一个InfoPlist.strings文件,并且这将包含在一个名为fr.lproj、es.lproj等语言的文件夹中。
在Xcode中利用此选项相对较易于实现,可以创建.strings文件并直接进行本地化。但是,在Visual Studio中,我有一些困难来引入和调整我的文件。在VS上,.strings文件的等效项是.resx文件?
当我切换到法语时,我的Info.plist和主文件夹fr.lproj / InfoPlist.strings之间的关系应该是什么,以便告诉我的应用程序访问正确的文件?
我是否应该为每种语言创建一个名为fr.lproj的文件夹,其中放置一个包含我的键的单个文件InfoPlist.strings或InfoPlist.resx?
1个回答

8

然而,在Visual Studio中,我有一些困难来介绍和调整我的文件。在Xcode上的.strings文件的等价物是VS上的.resx文件吗?

不是,要在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 = "这里是内容"等等...

阅读文档可能会有所帮助。

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

example


非常感谢您清晰而完整的回答,我已经成功地翻译了这些文件。 - Heisenbelge

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