我将Windows Phone应用程序移植到Windows 8并进行本地化以支持多种语言MSDN。在开始本地化之前,我只是想澄清一些事情。
在为Windows Phone进行本地化时,我写了一个名为LocalizedStrings
的单独类,并使用ResourceManager
来获取后面代码中的字符串,对于XAML,我使用了绑定。 MSDN链接显示每个元素使用x:Uid
,这适用于英语。我想确认这是否是正确的做法?
如何在SupportedCultures
文件中添加.csproj
。这里有什么类似的东西吗?
有没有办法在模拟器中测试不同的语言?如何更改模拟器中的语言设置?
如果有人能澄清这些,我们将非常感激。
答案 0 :(得分:1)
是的,如果您在XAML中进行本地化,则必须使用x:Uid而不是绑定
没有必要,从资源文件中自动检测支持的laguages
模拟器中的语言设置与系统中的语言设置相同。您应该将所有语言添加到系统(控制面板\时钟,语言和区域\语言),然后更改其优先级以在应用程序中查看不同的本地化
答案 1 :(得分:1)
由于伊戈尔已经回答了你的3个问题而且XAML绑定是要走的路,我不会重复这些答案。
但是,我想补充一点,您必须计划是否在同一个程序集中定义资源,或offloading them to another assembly。由于绑定到卸载的资源有点棘手,因此您必须将x:Uid
定义为:
<TextBlock x:Uid="/OffloadingResources.Resources/Resources/AppTitle" .. />