Есть ли какой-либо способ автоматически генерировать соответствующие файлы resx для локализации строк в .NET?
-
23-09-2019 - |
Вопрос
Используя этот ответ, Я создал образец локализованного приложения.Мой вопрос в том, есть ли какой-нибудь способ автоматически сгенерировать в Visual Studio файл strings.fr.resx с теми же строками (то есть с теми же именами с пустыми значениями), чтобы кто-то, кто знает французский, мог просто заполнить их, или мне действительно нужно вручную создавать ресурс для каждого языка, который я хочу поддерживать?
Решение
Вы можете сделать это с помощью стороннего инструмента: Редактор ресурсов Zeta
- Как только вы откроете редактор ресурсов Zeta (ZRE), вам нужно создать новый ZRE проект.
- Затем вам нужно добавить ваши
существующие файлы ресурсов в
этот проект.
- Чтобы сделать это автоматически для всех файлов ресурсов:
- Перейдите на вкладку "Группы файлов и теги".
- Нажмите "Автоматически добавлять несколько групп файлов в проект" и следуйте инструкциям.
- Чтобы сделать это автоматически для всех файлов ресурсов:
- Чтобы добавить новый язык:
- Выделите соответствующий узел в дереве "Файлы проекта".
- Перейдите на вкладку "Группы файлов и теги".
- Нажмите на "Создать новый файл" и следуйте инструкциям.
- Убедитесь, что вы включили вновь созданный файл resex в свой проект Visual Studio.
Что приятно в использовании этого инструмента, так это то, что вы также можете использовать его для экспорта / импорта ваших переводов в электронную таблицу для переводов.(Вы можете сделать это на вкладке "Пуск")
В качестве альтернативы, вы могли бы написать свою собственную небольшую программу для этого.Суть программы заключается в следующем:
using( ResXResourceReader reader = new ResXResourceReader( resourceFileName ) )
using( ResXResourceWriter writer = new ResXResourceWriter( newResourceFileName ) )
{
foreach( DictionaryEntry entry in reader )
{
writer.AddResource( entry.Key.ToString(), "" );
}
writer.Generate();
writer.Close();
}
Другие советы
Единственное, что я знаю, это создать файл ресурсов вручную, а затем перейти к исходному файлу ресурсов и скопировать свойства и значения для текстовых ресурсов во вновь созданный файл.Это также имеет то преимущество, что переводчица точно знает, что она должна перевести.