У меня есть одно решение, которое содержит:
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
и т. д.)?