2015-02-05 44 views
0

我需要一些关于如何更改应用程序语言的提示。 (Windows 8.1)以编程方式更改应用程序语言(用户预置)

所以这里是我的代码,我把它放在OnLaunched方法下,它得到当前的优先语言。我正在使用多语言应用程序工具包。我拥有所有的资源文件。

但我不知道接下来该做什么。

var rootFrame1 = new Frame(); rootFrame1.Language = Windows.System.UserProfile.GlobalizationPreferences.Languages[0];

回答

4

你必须用这种方式来设置当前CultureInfo属性:

var culture = new CultureInfo("en-US"); 
Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride = culture.Name; 
CultureInfo.DefaultThreadCurrentCulture = culture; 
CultureInfo.DefaultThreadCurrentUICulture = culture; 
0

一些资源点把这个代码在页面构造函数到您的默认语言的反应正在改变

ResourceContext.GetForCurrentView().QualifierValues.MapChanged += 
       (IObservableMap<string, string> sender, IMapChangedEventArgs<string> e) => 
       { 
        ResourceManager.Current.DefaultContext.Reset(); 
       }; 

此外,值得一提的是,更改语言的最佳方法是设置Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride pr operty。

这对Windows Phone 8.1不太好,但有人声称这解决了他们在Windows 8.1上的问题。

相关问题