Локализация / глобализация довольно проста в Visual Studio с использованием файлов RESX. Я просто добавляю файл ресурсов, например MyTextSnippets.resx
, добавляю пары ключ / значение и создаю копии для каждого языка, который я хочу поддерживать, например MyTextSnippets.de.resx
, MyTextSnippets.fr.resx
и т. Д.
Теперь подумайте о более длинных текстах, где сетка редактора ресурсов String работает не очень хорошо. Нет проблем, просто выберите «Добавить ресурс | Добавить новый текстовый файл» из конструктора, и вы можете редактировать столько текстовых файлов, сколько хотите. Пример: я добавляю MyTemplates.resx
, и к этому RESX я добавляю файл с именем SomeEmailTemplate.txt
. До сих пор работает нормально, однако, когда вы создаете копию файла resx, скажем MyTemplates.de.resx
, и открываете оттуда SomeEmailTemplate.txt
, он открывает всегда один и тот же файл . Если вы посмотрите на детали, текстовый файл не будет встроен в контейнер resx, но он будет создан в глобальной папке «Ресурсы», а файлы resx просто содержат ссылку на один и тот же файл.
Я не могу понять, как его локализовать. Есть идеи?
Конечно, я мог бы добавить текстовый файл для каждого языка, а во время выполнения перечислить доступные текстовые файлы и попытаться найти лучшее соответствие для культуры пользовательского интерфейса текущего потока. Однако это не так, потому что все это волшебство доступно из коробки для строк и свойств дизайнера.