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();