如何本地化Win 8 metro应用程序

时间:2012-08-07 05:32:07

标签: windows-phone-7 localization windows-8 windows-runtime

我将Windows Phone应用程序移植到Windows 8并进行本地化以支持多种语言MSDN。在开始本地化之前,我只是想澄清一些事情。

  1. 在为Windows Phone进行本地化时,我写了一个名为LocalizedStrings的单独类,并使用ResourceManager来获取后面代码中的字符串,对于XAML,我使用了绑定。 MSDN链接显示每个元素使用x:Uid,这适用于英语。我想确认这是否是正确的做法?

  2. 如何在SupportedCultures文件中添加.csproj。这里有什么类似的东西吗?

  3. 有没有办法在模拟器中测试不同的语言?如何更改模拟器中的语言设置?

  4. 如果有人能澄清这些,我们将非常感激。

2 个答案:

答案 0 :(得分:1)

  1. 是的,如果您在XAML中进行本地化,则必须使用x:Uid而不是绑定

  2. 没有必要,从资源文件中自动检测支持的laguages

  3. 模拟器中的语言设置与系统中的语言设置相同。您应该将所有语言添加到系统(控制面板\时钟,语言和区域\语言),然后更改其优先级以在应用程序中查看不同的本地化

答案 1 :(得分:1)

由于伊戈尔已经回答了你的3个问题而且XAML绑定是要走的路,我不会重复这些答案。

但是,我想补充一点,您必须计划是否在同一个程序集中定义资源,或offloading them to another assembly。由于绑定到卸载的资源有点棘手,因此您必须将x:Uid定义为:

<TextBlock x:Uid="/OffloadingResources.Resources/Resources/AppTitle" .. />