Вопрос

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

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

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

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

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

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

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

Надеюсь, что все имеет смысл.Ждем ваших мыслей.

Это было полезно?

Решение

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

Для перевода ресурсов вам следует воспользоваться, например, инструментом локализации. Пассоло.Это либо

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

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

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

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

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

Другие советы

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top