0

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

我尝试使用:

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

并重新加载框架:

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

它在运行时没有影响,但是当我重新启动应用程序时它可以工作。

我该怎么做才能让它在运行时工作?

我的应用程序只有“en-US”等文件夹中的图像;“de-DE”;“法国-法国”...

Package.appxmanifest 有这个属性:

<Ressource Language="x-generate" />

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

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

但它什么也没改变。

谢谢你的帮助。

4

2 回答 2

1

检查这个,这是你想要的

在 WinRT 中更改 UI 文化

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

于 2013-08-26T18:04:55.933 回答
0

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

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

你有两个选择:

  1. 自动重新启动应用程序并重新显示用户更改语言时所在的页面。
  2. 浏览并重新创建任何现有视图,以便它们获取新资源。
于 2013-08-26T16:34:10.487 回答