更改W8应用程序运行时的语言

本文关键字:语言 运行时 应用程序 W8 更改 | 更新日期: 2023-09-27 18:29:01

我必须本地化W8C#应用程序。用户必须能够在运行时更改语言。

我尝试使用:

Windows.Globalization.ApplicationLanguages.PromaryLanguageOverride = "de-DE";

并用重新加载帧

var _Frame = Windo.Current.Content as Frame;
_Frame.Navigate(_Frame.Content.GetType());
_Frame.GoBack();

它在运行时没有效果,但当我重新启动应用程序时它就可以工作了。

我能做些什么使它在运行时工作?

我的应用程序只有像"en-US"这样的文件夹中的图像;"de de";"fr-fr"。。。

Package.appxmanifest具有以下属性:

<Ressource Language="x-generate" />

我已经尝试指定每种语言:

<Resources>
   <Resource Language="en-US" />
   <Resource Language="fr-FR" />
   <Resource Language="de-DE" />
</Resources>

但它什么也没改变。

谢谢你的帮助。

更改W8应用程序运行时的语言

检查一下,这就是你想要的

更改WinRT 中的UI区域性

应用程序资源和本地化示例(Windows 8)

您需要重新创建已经显示的视图,这就是关闭并重新启动应用程序时会发生的情况。

如果启动应用程序并更改语言,新的视图将以新语言显示,但内存中仍然存在的任何视图都将显示原始文本。

你有两个选择:

  1. 自动重新启动应用程序并重新显示用户更改语言时所在的页面
  2. 浏览并重新创建任何现有视图,以便它们获取新的资源