2016-06-22 6 views
1

Я пытаюсь создать приложение UWP и повторно использовать ключ/значения локализации, которые мы храним во внешней базе данных, используемой разработчиками/переводчиками. Мы экспортируем их в формат resx или других форматов по мере необходимости в зависимости от платформы/приложения.
Новый способ делать вещи - это не выход, потому что это потребует изменения существующих имен ключей или их изменения при экспорте и добавления зависимости ключей локализации к именам элементов XAML ... Это просто звучит глупо. К счастью, resx может работать с UWP, используя их в портативной библиотеке классов, на которую можно ссылаться от XAML через IValueConverter. При работе через отладку/эмулятор в Visual Studio он отлично работает. Моя проблема заключается в том, когда вы создаете пакеты приложений и устанавливаете их на планшет Win10, например, он не работает.Приложение UWP с использованием библиотеки портативных классов с локализованными строками на основе resx

Пример:

реализация IValueConverter используется XAML заканчивает вызвав следующий код в PCL // закодированного CI для тестирования уага CultureInfo = новый CultureInfo ("FR");

string value = Resources.ResourceManager.GetString (key, cultureInfo);

В Visual Studio, где я могу отладить, он возвращает правильное значение ключа (в точности соответствует значению в Resources.fr.resx) Однако после создания/установки пакета приложения, значение равно нулю Я попробовал все комбинации генерации Public/Internal/No Code для стандартного resx (Resources.resx) и конкретного языка resx. Никто не работал. Что такое упаковка приложений, что делает ее неработоспособной? Является ли это ошибкой UWP или я делаю что-то неправильно?

ответ

-1

Для этого вам необходимо установить язык на локальном компьютере.

Пожалуйста, см: Put UI strings into resources

  1. Поднимают Настройки на устройстве.
  2. Выбрать Время & Язык.
  3. Выберите Регион & язык (или по телефону или по телефону эмуляторе Язык). Обратите внимание, что язык, который был отображен при запуске приложения , - это верхний язык, указанный на английском, немецком, или французском. Если ваш верхний язык не является одним из этих трех, приложение возвращается к следующему в списке, который поддерживает приложение.
  4. Если у вас нет всех трех этих языков на вашем компьютере, добавьте отсутствующие , щелкнув . Добавьте язык и добавьте их в список.
  5. Чтобы протестировать приложение на другом языке, выберите язык в списке и нажмите Установить по умолчанию (или на телефон или телефон эмулятор, нажмите и удерживайте язык в списке, а затем нажмите Переместить вверх пока на нем не появится ). Затем запустите приложение.

вы должны изменить пакет настройки Сформировать приложение к Никогда вместо по умолчанию Всегда

enter image description here