Генератор строк переводов

Генератор строк переводов – инструмент, доступный в контекстном меню навигатора перспективы 1C:Enterprise среды разработки 1C:EDT. Он позволяет собрать и поместить в выбранное хранилище переводов все строки перевода из текущей конфигурации для указанных языков.

Запустить инструмент можно из контекстного меню в панели навигатора.

Generate translations

При выборе команды открывается форма настройки.

Generate translations

Настройки

В настройках указывается, какие строки будут собраны и помещены в хранилище переводов:

Хранилище переводов, в которое помещаются строки, указывается в поле Store translations to.

Для каждого переводимого элемента можно задать режим заполнения текста на переводимом языке:

В качестве провайдеров перевода можно выбрать:

Новые провайдеры могут быть добавлены через точку расширения с помощью плагина.

Выгружаются слова, перевод для которых отсутствует:

По-умолчанию выгружаются все слова, отсутствующие в текущем хранилище переводов (Store translations to).

Расширенные настройки фильтрации результата сбора переводимых фич объекта позволяют более детально задать параметры. Например, выбор слов в CamelCase позволяет исключить слова, использующиеся в интерфейсных строках.

Настройки отключения переводов объектов учитываются автоматически.

Настройки в консольном режиме

В консольном режиме можно использовать фильтрацию результата сбора строк для перевода.

Фильтрация с использованием регулярных выражений (RegEx - Regular Expression): * resource-id-regex - регулярное выражение для ифильтраци идентификатра ресурса * feature-key-regex - регулярное выражение для ифильтраци ключа переводимой фичи в ресурсе * feature-value-regex - регулярное выражение для ифильтраци по значению текста для перевода

Если выражение регулярное здано, выполняется поиск выражения в строке. Если выражение найдено, строка для перевода будет добавлена в хранилище переводов.

Пример комадны:

ring edt-langtool workspace generate-strings --workspace-location "${PWD}/ws" --project "${PWD}Ring-Demo" --collect-model none --languages Русский --storage com.e1c.langtool.v8.dt.resourcestorage.composite:trans --filter resource-id-regex "^.*\.mdo$" feature-key-regex "^Synonym$"

Команда позволяет отфильтровать ресурсы объектов метаданных *.mdo и сохранить только синонимы верхнеуровневых объектов метаданных.

Расширенная фильтрация с использованием настроек переводимых фич каждого объекта:

Фильтрация для провайдера CamelCaseInterfaceProvider, предназначенного для заполнения отсуствующих переводов идентификаторов по интерфейсным переводам * fill-md-name-from-camelcase-by-synonym - со значениями true или false. В случае true выполняется отбор только объектов метаданных и для имени метаданного запрашивается перевод по camelcase, сформированному по его синониму на исходном языке. В противном случае, перевод запрашивается по значению имени метаданного.

Пример: имя документа "ТаможеннаяДекларацияИмпорт" синоним "Таможенная декларация на импорт" перевод задан "Customs import declaration"

в значении true будет сформирован "CustomsImportDeclaration" для "ТаможеннаяДекларацияИмпорт" (для имени) в значении false будет сформирован "CustomsImportDeclaration" для "ТаможеннаяДекларацияНаИмпорт" (для сгенерированного camel case из синонима)

Сценарии использования

Экспорт строк исходного языка для перевода во внешнюю систему

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

В списке выбора доступен исходный язык конфигурации.

Заполнение перевода модели данных и исходного кода на основе уже сделанного перевода интерфейса

Если для конфигурации ранее уже был сделан перевод интерфейса, то на его основе можно автоматически сформировать переводы для соответствующих идентификаторов объектов метаданных. Для этого используется провайдер History Translation Provider

Тестирование переведенной конфигурации

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

Формирования списка слов модели для перевода

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

Для этого нужно установить следующие настройки: