我尝试本地化我的UWP应用程序,在我的电脑上调试时一切运行良好,但是当我创建应用程序包时,我可以将它安装在我的Windows平板电脑上,它的工作方式不同。 这是问题所在。我在清单中有3种不同的语言,如下所示:
<Resources>
<Resource Language="x-generate" />
<Resource Language="pt-br" />
<Resource Language="en-us" />
<Resource Language="es-es" />
</Resources>
在应用程序中,我尝试获取这些语言,以便我可以选择一个来设置应用程序。
我试图使用ApplicationLanguages.ManifestLanguages
或ApplicationLanguages.Languages
来获取它们,但它们都不起作用。是的,我试图删除&#34; x-generate&#34;线,仍然没有。
我确实在平板电脑上安装了所有语言包,但它仍然没有显示语言。
有没有人遇到过这个问题或类似问题?
答案 0 :(得分:1)
我明白了!
这里的东西是我正在使用的用户安装的语言包。 我有一个管理员用户和另一个没有管理员权限的用户,因此当我安装我的应用程序包时,我使用普通用户登录但使用管理员权限。
在我的普通用户中,我安装了所有语言包,但在我的管理员用户中,我没有安装。
显然,在运行安装程序包的脚本时,它会找到正在运行的帐户中安装的语言,而不是在已记录的帐户中。
出于某种原因,我仍然没有想到,视觉工作室的调试工作方式不同。
答案 1 :(得分:0)
答案很简单。不要试图让对象本身:
var l = ApplicationLanguages.Languages.ToList();
var lm = ApplicationLanguages.ManifestLanguages.ToArray();