Как использовать нейтральные языковые ресурсы как запасной вариант? - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть одно решение, которое содержит:

  • LocalizationStringRes.resx - Удержание нейтральных ресурсов, в настоящее время на английском языке.
  • LocalizationStringRes.en.resx - Удержание значений перевода на английский язык.
  • LocalizationStringRes.de.resx - содержит значения перевода на немецкий язык.

В моем приложении также есть поле со списком, в котором можно выбрать язык.В настоящее время он содержит «немецкий» и «английский».Кроме того, я проверяю системные настройки пользователя на язык.

Допустим, пользователь выбирает «английский», тогда LocalizationStringRes.en.resx будет автоматически использоваться при получении значений, поскольку приложение будет искать файлы с en в них.

Я думаю, что перевод на английский язык как в LocalizationStringRes.resx, так и в LocalizationStringRes.en.resx - это двойное хранилище данных, которого я хочу избежать.Поэтому я попытался просто удалить LocalizationStringRes.en.resx.

То, что я ожидал:

  • Я ожидал, что, как только пользователь выберет английский язык в качестве приложениябудет искать файл с en в нем.Если он не найдет ничего, он автоматически использует LocalizationStringRes.resx в качестве запасного варианта.

Что на самом деле произошло:

  • LocalizationStringRes.de.resx былоиспользуется как резервное отображение значений перевода на немецкий язык.

Как заставить мое приложение всегда использовать нейтральные языковые значения, если не найден файл .resx для соответствующей языковой строки (en-US, fr-FR и т. д.)?

1 Ответ

0 голосов
/ 14 ноября 2018

Вы можете добавить

[assembly: NeutralResourcesLanguage("en", UltimateResourceFallbackLocation.MainAssembly)]

в AssemblyInfo.cs

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...