UWP Manifest Языки не отображаются

Я пытаюсь локализовать свое приложение 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Ни один из них не работает. Да, я попытался удалить строку "x-generate", но ничего не вышло. У меня все языковые пакеты установлены на планшете, и он все еще не показывает языки.

Кто-нибудь сталкивался с этой проблемой или чем-то подобным?

2 ответа

Я понял!

Дело в том, что языковые пакеты установлены у пользователя, которого я использовал. У меня есть пользователь-администратор и другой пользователь без прав администратора, поэтому, когда я установил пакет приложения, я вошел в систему как обычный пользователь, но с правами администратора.

У моего обычного пользователя у меня были установлены все языковые пакеты, а у моего администратора - нет.

Таким образом, очевидно, что при запуске скрипта для установки пакета он находит языки, установленные в текущей учетной записи, а не в зарегистрированной учетной записи.

По какой-то причине, что я до сих пор не понял, отладка в визуальной студии работает по-другому.

Ответ прост. Не пытайтесь получить сам объект:

 var l = ApplicationLanguages.Languages.ToList();
 var lm = ApplicationLanguages.ManifestLanguages.ToArray(); 
Другие вопросы по тегам