UWP清单语言don't显示



我正在尝试本地化我的UWP应用程序,在我的电脑上调试时一切都运行良好,但当我创建应用程序包时,我可以将其安装在我的windows平板电脑上,它的工作方式不同。问题来了。我在清单中有三种不同的语言声明如下:

  <Resources>
    <Resource Language="x-generate" />
    <Resource Language="pt-br" />
    <Resource Language="en-us" />
    <Resource Language="es-es" />
  </Resources>

在应用程序中,我尝试获取这些语言,这样我就可以选择一种在应用程序上设置。我试着用ApplicationLanguages.ManifestLanguagesApplicationLanguages.Languages来获得它们,但它们都不起作用。是的,我试图删除"x-generate"行,但仍然没有。我确实在平板电脑上安装了所有的语言包,但它仍然没有显示语言。

有人面临过这个问题或类似的问题吗?

我想通了!

这里的东西是安装在我使用的用户中的语言包。我有一个管理员用户和另一个没有管理员权限的用户,所以当我安装应用程序包时,我是用我的普通用户登录的,但使用管理员权限。

在我的普通用户中,我安装了所有的语言包,但在我的管理用户中我没有。

因此,很明显,当运行包安装脚本时,它会在运行帐户中找到安装的语言,而不是在记录的帐户中。

出于某种原因,我仍然没有弄清楚,visualstudio中的调试工作方式不同。

答案很简单。不要试图获取对象本身:

 var l = ApplicationLanguages.Languages.ToList();
 var lm = ApplicationLanguages.ManifestLanguages.ToArray(); 

最新更新