【问题标题】:Multiple Language Support in WP8 appWP8 应用程序中的多语言支持
【发布时间】:2015-05-24 20:04:21
【问题描述】:

对于我的 WP8 应用,我想为多种语言提供支持。为此,我目前正在使用 *.resw 文件来存储所需 xaml 元素的语言特定文本。我还在 *.appxmanifest 中定义了默认语言(en-US)。

关于我的项目的文件组织,我创建了几个用于不同信息组的语言文件,例如按钮上下文(“AppBarButtons.resw”)或数据透视表头(“PivotHeader.resw”)。

但现在我不太确定这是否是最佳解决方案。如果不同页面上的元素都具有相同的x:Uid 属性会怎样?

所以我的问题是,我应该坚持这个解决方案还是应该为每个页面单独创建一个语言文件,以及如何让用户以编程方式选择特定语言(当然只有在此应用可用的情况下)?

【问题讨论】:

    标签: xaml windows-phone-8 c++-cx


    【解决方案1】:

    每种语言只创建一个 .resw 文件。随着时间的推移,为每个表单创建一个将成为一个非常难以维护的解决方案,尤其是当您在表单之间共享术语时。如果可能,还可以在 xaml 中使用 x:Uid 表示法,这会使生活变得更加轻松。我发现以下来自 Microsoft 的有关 windows phone 语言的视频非常有帮助...

    http://channel9.msdn.com/Series/Building-Apps-for-Windows-Phone-8-1/08

    如果想使用相同的翻译,例如在应用栏保存按钮中:XAML 如下所示...

    <AppBarButton x:Uid="AppBarSave" Label=""  Icon="Save" Click="AppBarButtonSave_Click"/> 
    

    资源文件如下所示:

    【讨论】:

    • 很好的提示,我从现在开始使用多语言工具,它处理得很好。
    • 但我仍然需要知道如何处理单个元素(在不同页面上),所有元素都使用相同的 x:Uid。这是因为我在 BottomAppBar 上有多个 AppBarButton,它们具有相同的功能,例如“添加”,但它特定于页面的上下文,我不想单独将按钮元素命名为 x:Uid每一页!
    • 好吧,使用多个元素(相同类型)与x:Uid's 相等,谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多