Подходят ли файлы resx для интернационализации?
Мне дали задачу интернационализации большого клиент-серверного приложения. Дело в том, что я делаю приложение "Готов к миру", а затем скомпилированное приложение и ресурсы передаются коллегам в другой стране для перевода и выпуска их клиентам. Будет несколько стран и, следовательно, несколько отдельных переводов.
Ключевым моментом здесь является то, что я хочу простой двухэтапный процесс выпуска:
Шаг 1: Я собираю и выпускаю приложение "World Ready" для моих коллег из разных стран.
Шаг 2: Они делают локализацию ресурсов и затем выпускают их клиентам
Я не хочу добавлять дополнительные шаги, чтобы Make App World Ready -> Отправить файлы для перевода -> Подождите недели, пока переводы не вернутся -> Компилировать в приложение -> Выпустить приложение.
Я смотрел на.NET Globalization и использование файла resx. Из того, что я видел, файл resx компилируется в приложение и поэтому не может быть изменен после компиляции. Даже спутниковые сборки не кажутся редактируемыми. И даже если я ошибаюсь в этом вопросе, как изменения в сборках спутника будут отражены обратно в файлы resx в моем проекте?
Итак, теперь по вопросу. Учитывая, что я просто хочу сначала скомпилировать приложение и впоследствии разрешить обработку переводов, являются ли файлы resx правильным способом или я должен отказаться от них и написать сделанное на заказ решение на основе базы данных, которое можно легко редактировать после компиляции приложения?
Надеюсь, что все имеет смысл. С нетерпением ждем ваших мыслей.
3 ответа
Да, файлы resx - лучшее решение.
Для перевода ресурсов вы должны обратиться к инструменту локализации, например Passolo. Это либо
- взять исходный resx в качестве входных данных и сгенерировать переведенный файл resx, который вам нужно зарегистрировать в вашей кодовой базе
- принимать в качестве входных данных скомпилированные сборки и создавать сателлитные сборки.
Мы переводим сборки, так как это позволяет также локализовать графический интерфейс. Чтобы позволить внешнему инструменту открывать графический редактор, ему нужен код, и он находится в сборке.
Если вы сосредоточены только на тестовом переводе, перевод resx, вероятно, будет проще в обращении.
Такой внешний инструмент обеспечивает следующие важные функции:
- собрать всю строку вместе, вам не нужно обрабатывать сотни файлов resx
- управлять переводом текста на многие языки, в основном с помощью графического дизайнера.
- узнайте, был ли исходный текст изменен или был добавлен, и теперь вы можете узнать, какие тексты необходимо перевести.
- перевод дублированных текстов только один раз.
- обычно хороший интерфейс для редактирования переводов.
- экспорт / импорт в csv и аналогичные форматы для обработки другими инструментами или даже другими компаниями.
Да, вся структура глобализации в.NET основана на файлах RESX и спутниковых сборках, которые они создают. После того, как вы скомпилировали основное приложение, файлы RESX могут быть скомпилированы в их спутниковые сборки независимо.
Я знаю, что есть инструменты, которые помогают в процессе перевода, но я не знаком с ними.