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

Windows phone 7 如何本地化Win 8 metro应用程序,windows-phone-7,localization,windows-8,windows-runtime,Windows Phone 7,Localization,Windows 8,Windows Runtime,我正在将我的Windows Phone应用程序移植到Windows 8并进行本地化,以支持多种语言。在开始本地化之前,我只想澄清一些事情 在为Windows Phone本地化时,我编写了一个名为LocalizedStrings的单独类,并使用ResourceManager获取代码中的字符串,而对于XAML,我使用了绑定。MSDN链接显示了对每个元素使用x:Uid,这在英语中适用。我想确认这是否是正确的方法 在.csproj文件中添加SupportedCultures怎么样。这里有那种吗 有没有办

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

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

  • .csproj
    文件中添加
    SupportedCultures
    怎么样。这里有那种吗

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

  • 如果有人能澄清这些,我将不胜感激

  • 是的,如果在XAML中本地化,则必须使用x:Uid而不是绑定

  • 不需要,支持的语言会自动从资源文件中检测到

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


  • 既然Igor已经回答了你的3个问题,而XAML绑定是一条路,我就不重复这些答案了

    但是,我想补充一点,您必须计划是在同一程序集中定义资源,还是在同一程序集中定义资源。由于绑定到卸载的资源有点棘手,因此必须定义
    x:Uid
    ,类似于:

    <TextBlock x:Uid="/OffloadingResources.Resources/Resources/AppTitle" .. />
    
    
    
    我在法国尝试了模拟器设置。但本地化并没有在法语中出现。它仍然是用英语写的。知道哪里出了问题吗?我把它修好了。我把主要语言改为法语。:)谢谢!