我需要一些关于如何更改应用程序语言的提示。 (Windows 8.1)
所以这是我放在OnLaunched方法下的代码,它获取当前优先级的语言。我正在使用多语言应用工具包。我有所有的资源文件。
但我不知道下一步该做什么。
var rootFrame1 = new Frame();
rootFrame1.Language = Windows.System.UserProfile.GlobalizationPreferences.Languages[0];
答案 0 :(得分:4)
您必须以这种方式设置当前CultureInfo
属性:
var culture = new CultureInfo("en-US");
Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride = culture.Name;
CultureInfo.DefaultThreadCurrentCulture = culture;
CultureInfo.DefaultThreadCurrentUICulture = culture;
答案 1 :(得分:0)
有些资源指向将此代码放在Page构造函数中以对您要更改的默认语言做出反应
ResourceContext.GetForCurrentView().QualifierValues.MapChanged +=
(IObservableMap<string, string> sender, IMapChangedEventArgs<string> e) =>
{
ResourceManager.Current.DefaultContext.Reset();
};
另外,值得一提的是,更改语言的首选方法是设置Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride
属性。
这对Windows Phone 8.1来说效果不太好,但有些人认为这解决了他们在Windows 8.1上的问题。