Генератор строк переводов – инструмент, доступный в контекстном меню навигатора перспективы 1C:Enterprise среды разработки 1C:EDT. Он позволяет собрать и поместить в выбранное хранилище переводов все строки перевода из текущей конфигурации для указанных языков.
Запустить инструмент можно из контекстного меню в панели навигатора.
При выборе команды открывается форма настройки.
В настройках указывается, какие строки будут собраны и помещены в хранилище переводов:
None
- не собирать автомвычисляемые строкиAny
- собирать любые строки: автовычисляемые и обычные модельные строкиOnly
- собирать только автовычисляемые строки.Хранилище переводов, в которое помещаются строки, указывается в поле 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
и сохранить только синонимы верхнеуровневых объектов метаданных.
Расширенная фильтрация с использованием настроек переводимых фич каждого объекта:
feature-settigs-id
- в значении true
или false
для отбора всех фич объектов не/являющиеся иденитфикаотром объектаfeature-settigs-unique
- в значении true
или false
для отбора всех фич объектов имеющее не/уникальныое значение в своей областиfeature-settigs-camelcase
- в значении true
или false
для отбора всех фич объектов значения которых не/только CamelCasefeature-settigs-miltiline
- в значении true
или false
для отбора всех фич объектов где значение не/могут быть многострочныеfeature-settigs-prefercontext
- в значении true
или false
для отбора всех фич объектов не/предпочтительно сохранять в контексттное хранилищеФильтрация для провайдера CamelCaseInterfaceProvider
, предназначенного для заполнения отсуствующих переводов идентификаторов по интерфейсным переводам * fill-md-name-from-camelcase-by-synonym
- со значениями true
или false
. В случае true
выполняется отбор только объектов метаданных и для имени метаданного запрашивается перевод по camelcase, сформированному по его синониму на исходном языке. В противном случае, перевод запрашивается по значению имени метаданного.
Пример: имя документа "ТаможеннаяДекларацияИмпорт" синоним "Таможенная декларация на импорт" перевод задан "Customs import declaration"
в значении true
будет сформирован "CustomsImportDeclaration" для "ТаможеннаяДекларацияИмпорт" (для имени) в значении false
будет сформирован "CustomsImportDeclaration" для "ТаможеннаяДекларацияНаИмпорт" (для сгенерированного camel case из синонима)
Данный сценарий позволяет собрать в хранилище перевода все строки интерфейса, модели данных и исходного кода на исходном языке без переводов для последующей передачи этого хранилища во внешнюю систему.
В списке выбора доступен исходный язык конфигурации.
Если для конфигурации ранее уже был сделан перевод интерфейса, то на его основе можно автоматически сформировать переводы для соответствующих идентификаторов объектов метаданных. Для этого используется провайдер History Translation Provider
При тестировании конфигурации, которая переводится с русского на английский и уже частично переведена, для непереведенных идентификаторов можно использовать транслит. Это позволит определить, насколько корректно была выполнена типизация кода и насколько корректно были переведены пользовательские идентификаторы во всех местах использования. Весь корректно типизирвоанный и переведенный код будет на латинице, а в проблемных местах идентификаторы останутся на кириллице.
Для перевода кода конфигурации необходимо выгрузить термины для перевода или сформировать список новых терминов, после внесения изменений.
Для этого нужно установить следующие настройки:
true
False
. Если указать true
- это все слова для которых выполняется авто-вычисление перевода, включая однозначно-переводимые слова платформы (известные свойства и методы), пользвоательские свойства объектов в месте обращения к ним в нетипизированном коде, тексты стрковых литерлов (включая тексты запросов, тексты списков ключей и т.д.), автовычисляемые переводы имен элементов форм, автовычисляемые строки в СКД, и т.д. Указывать этот параметр следует осознано.