【问题标题】:How to localize Info.plist content in Visual Studio如何在 Visual Studio 中本地化 Info.plist 内容
【发布时间】:2019-09-26 15:02:06
【问题描述】:

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

到目前为止,我已经做了很多研究,通过搜索文档,建议创建一个 InfoPlist.strings 文件,其中包含 我的键 NSCameraUsageDescription = "这里的内容"。

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

我认为在 Xcode 中利用此选项可以创建 .strings 文件并直接本地化它们,这相对很好地解释了。 但是,在 Visual Studio 上,我在介绍和调整我的文件时遇到了一些困难。 Xcode 上的 .strings 文件相当于 VS 上的 .resx 文件?

我的 InfoPlist.strings 和我的主 Info.plist 文件之间的关系如何才能告诉我的应用程序在我切换到法语时点击文件夹 fr.lproj / InfoPlist.strings。

我是否应该为每种语言创建一个名为 fr.lproj 的文件夹,在其中将单个文件 InfoPlist.strings 或 InfoPlist.resx 与我的密钥一起放置?

【问题讨论】:

    标签: ios xamarin localization info.plist


    【解决方案1】:

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

    不可以,要在visual studio中创建.strings文件,你应该选择add -> new item -> Text File,然后把文件名改成xxx.strings

    我的 InfoPlist.strings 和我的 main 之间的关系如何? Info.plist 文件是为了告诉我的应用程序在 当我切换到法语时,文件夹 fr.lproj / InfoPlist.strings 实例。

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

    我是否应该为每种语言创建一个名为 fr.lproj 的文件夹 我将单个文件 InfoPlist.strings 或 InfoPlist.resx 与我的 钥匙?

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

    在您的 InfoPlist.strings 文件中,设置密钥 NSCameraUsageDescription = "the content here" 等等......

    阅读document 可能会有所帮助。

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

    【讨论】:

    • 非常感谢您清晰完整的回答,我能够正确翻译这些文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-08
    • 2021-04-17
    • 2014-11-02
    相关资源
    最近更新 更多