【问题标题】:UWP Manifest Languages don't showUWP 清单语言不显示
【发布时间】:2016-08-04 17:19:37
【问题描述】:

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

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

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

有没有人遇到过这个问题或类似的问题?

【问题讨论】:

    标签: uwp tablet appxmanifest multilingual-app-toolkit


    【解决方案1】:

    我想通了!

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

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

    显然,在运行安装包的脚本时,它会在运行帐户中找到安装的语言,而不是在登录帐户中。

    由于某种原因,我还没有弄清楚,Visual Studio 中的调试工作方式不同。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 也许我不够清楚。实际上这些语言并没有显示在数组中。我会在我对这篇文章的回答中更好地解释。我发现了问题。
      猜你喜欢
      • 2017-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多