2011-06-27 36 views
2

我正在研究如何本地化应用程序。我看到这个例子:http://msdn.microsoft.com/en-us/library/ff637520(v=vs.92).aspx但我想知道是否可以使用与用户在他的手机上设置的语言不同的语言。假设用户将他的语言设置为英语,但是我希望我的应用程序以西班牙语显示界面(如果用户使用某个列表框选择的话)。 你有关于这方面的任何文章吗?本地化WP7应用程序

谢谢!

回答

2

这是可能的,我用我的谷歌阅读器客户端gReadie使用下面的代码,我打电话应用程序启动和恢复。

public static void SetLanguage() { 
    CultureInfo c = null; 
    switch (ViewModel.UserSettings.Language) { 
    case Language.Default: 
     break; 
    case Language.English: 
     c = new CultureInfo("en-US"); 
     break; 
    case Language.Chinese: 
     c = new CultureInfo("zh-CN"); 
     break; 
    case Language.French: 
     c = new CultureInfo("fr-FR"); 
     break; 
    case Language.German: 
     c = new CultureInfo("de-DE"); 
     break; 
    } 

    if (c != null) { 
     Thread.CurrentThread.CurrentUICulture = c; 
     ApplicationStrings.Culture = c; 
    } 
} 

所以基本上我有我的设置下拉它绑定到一个languge枚举,并允许用户选择自己的手机语言(默认),还是支持lanaguages之一。 然后在应用程序启动时,我将UI线程和我的ApplicationStrings资源文件的语言设置为与其选择相匹配。

+0

谢谢克里斯!以及如何定义应用程序行列? – Cyan

+0

它只是一个常规资源文件。我假设你正在看的教程使用它们,这是在.NET/Silverlight中本地化的标准方法。所以有英文ApplocationString.rex,每种语言在同一个文件夹中都有一个ApplicationStrings.de-DE.resx。 –

+0

没错。谢谢! – Cyan