Подтвердить что ты не робот

Являются ли файлы resx подходящими для интернационализации?

Мне поручена интернационализация большого клиент-серверного приложения. Речь идет о том, что я создаю приложение "World Ready", а затем скомпилированное приложение и ресурсы передаются коллегам из другой страны для перевода и публикации их клиентам. Будет несколько стран и, следовательно, несколько отдельных переводов.

Ключевым моментом здесь является то, что я хочу простой двухэтапный выпуск:

Шаг 1: Я компилирую и выпускаю приложение "World Ready" для своих коллег в разных странах.

Шаг 2: Они выполняют локализацию ресурсов, а затем освобождают своих клиентов

Я не хочу добавить дополнительные шаги Сделать приложение World Ready Отправлять файлы для перевода Подождите недели, чтобы переводы вернулись Скомпилировать в приложение Отключить приложение.

Я рассматривал .NET-глобализацию и использование файла resx. Из того, что я видел, файл resx компилируется в приложение и поэтому не может быть изменен после компиляции. Даже сателлиты не кажутся правдоподобными. И даже если я ошибаюсь в этом вопросе, как изменения в сателлитных сборках отражаются обратно в файлы resx в моем проекте?

Итак, теперь вопрос. Учитывая, что я просто хочу сначала скомпилировать приложение и разрешить обработку переводов, будут ли файлы resx правильным способом, или я должен отказаться от них и написать заказное решение, основанное на базе данных, которое можно легко редактировать после того, как приложение были скомпилированы?

Надеюсь, что все имеет смысл. Посмотрите вперед к своим мыслям.

4b9b3361

Ответ 1

Да, файлы resx - лучшее решение.

Для перевода ресурсов вы должны посмотреть на инструмент локализации, например Passolo. Он делает либо

  • возьмите исходный resx в качестве входных данных и создайте переведенный файл resx, который необходимо проверить на свою кодовую базу
  • принимать собранные сборки в качестве входных данных и создавать спутниковые сборки.

Мы переводим сборки, потому что это также позволяет локализовать макет gui. Чтобы внешний инструмент мог открыть редактор GUI, ему нужен код, и он находится в сборке.

Если вы сосредоточитесь только на переводе теста, перевод resx, вероятно, проще в обращении.

Такой внешний инструмент предоставляет следующие важные функции:

  • собрать всю строку вместе, вам не нужно обрабатывать сотни файлов resx.
  • управлять текстом перевода на многих языках, в основном с дизайнером gui.
  • узнайте, если исходный текст был изменен или добавлен, поэтому теперь вы должны перевести тексты.
  • перевод дублированных текстов только один раз.
  • обычно приятный ui для редактирования переводов.
  • экспорт/импорт в csv и аналогичные форматы, которые будут обрабатываться другими инструментами или даже другими компаниями.

Ответ 2

Да, вся инфраструктура глобализации в .NET основана на файлах RESX и собраниях сборок, которые они создают. После того как вы скомпилировали основное приложение, файлы RESX могут быть скомпилированы в их сателлитные сборки независимо.

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