我正在研究如何本地化应用程序。我看到了这个例子:http://msdn.microsoft.com/en-us/library/ff637520(v=vs.92).aspx但我想知道是否可以使用与用户在手机上设置的语言不同的语言。假设用户将他的语言设置为英语,但如果用户选择使用某些列表框,我希望我的应用程序以西班牙语显示界面。 你有关于此的任何文章吗?
谢谢!
答案 0 :(得分:2)
我可以使用以下代码使用我的Google阅读器客户端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;
}
}
所以基本上我的设置有一个下拉列表,它与一个语言枚举绑定,允许用户选择他们的手机语言(默认)或其中一个支持的语言。 然后在应用程序启动时,我设置UI线程的语言和我的ApplicationStrings资源文件的语言以匹配他们的选择。