WP8 应用程序中的多语言支持

Multiple Language Support in WP8 app

对于我的 WP8 应用程序,我想提供对多种语言的支持。为此,我目前正在使用 *.resw 文件来存储所需 xaml 元素的语言特定文本。我还在 *.appxmanifest.

中定义了默认语言 (en-US)

关于我项目的文件组织,我创建了几个用于不同信息组的语言文件,例如按钮上下文 ("AppBarButtons.resw") 或枢轴 header ("PivotHeader.resw").

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

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

每种语言只创建一个 .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"/> 

资源文件如下: