Подходят ли файлы 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 могут быть скомпилированы в их спутниковые сборки независимо.

Я знаю, что есть инструменты, которые помогают в процессе перевода, но я не знаком с ними.

Проверьте поставщика ресурсов Рика Страля

Другие вопросы по тегам