【问题标题】:Xamarin.Forms Shared Project's Localization for UWP, iOS & AndroidXamarin.Forms 共享项目的 UWP、iOS 和 Android 本地化
【发布时间】:2018-02-15 01:09:25
【问题描述】:

当我尝试在具有 UWP、Android 和 iOS 的 Xamarin.Forms 应用程序的共享项目中手动添加 Resx 文件时,我收到一个错误,即 resx 文件没有嵌入

https://github.com/xamarin/xamarin-forms-samples/tree/master/TodoLocalized/SharedProject/ 有一个共享项目示例,但不包括 UWP。

对于涵盖 UWP、iOS 和 Android 的 SHARED 项目,我们是否有任何本地化解决方案可供我参考?

感谢和问候,

约翰

【问题讨论】:

    标签: uwp xamarin.forms


    【解决方案1】:

    默认情况下,当生成对字符串的强类型引用时,它们将是internal 到程序集。这是因为 RESX 文件的默认构建工具会生成具有 internal 属性的 .designer.cs 文件。

    选择 AppResources.resx 文件并显示 Properties 面板以查看此构建工具的配置位置。下面的屏幕截图显示了自定义工具:ResXFileCodeGenerator

    要使强类型字符串属性public,您必须手动将配置更改为自定义工具:PublicResXFileCodeGenerator,如下截图所示:

    【讨论】:

    • 谢谢你,威尔逊。
    【解决方案2】:

    好吧,对于共享项目类型,我无法让 resx 解决方案同时适用于所有三个(UWP、iOS 和 Android),因此,我求助于 .NET 标准库作为共享项目。有效!

    【讨论】:

    • 您的意思是“作为共享项目使用 .NET 标准库”?我现在有同样的问题,共享项目类型,找不到解决方案。感谢您的帮助。
    • @user1861065 嗯,我用 .netstandard 1.4 创建了一个共享项目,并添加了 AppResources.resx 和 AppResources.en-US.resx 等翻译文件。这个网址:developer.xamarin.com/guides/xamarin-forms/advanced/… 会更好地帮助你。使用 .netstandard 2.0,我还没有测试过。
    猜你喜欢
    • 2018-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-22
    • 2022-06-10
    • 2018-02-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多