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