Умные регулярные выражения - это инструмент позволяющий описывать шаблоны перевода для идентификаторов с определенной структурой.
Например, инструмент позволяет выделять и переводить слова исходного языка в идентификаторах с цифровым индексом: СловоNNN, где NNN – число, переводится как WordNNN, где Word – это имеющийся в словаре перевод, а NNN – то же число, что и в исходном идентификаторе.
Регулярное выражение задается как совокупность нескольких групп символов, которые указываются в скобках. Правила перевода выражения указываются отдельно для каждой выделенной группы.
Умные регулярные выражения задаются в разделе настройках для конфигурации V8 - Translations - Storage - Dictionary regular expressions. Открыть форму настроек можно из окна навигатора пункт Properties в контекстном меню для конфигурации.
Настройки задаются для хранилища переводов для определенного языка. В форме настройке отображается таблица регулярных выражений. Для таблицы предусмотрены следующие действия:
Редактирование текущего регулярного выражения производится в реквизитах под таблицей:
Слово выделяется и переводится, к результирующему значению добавляется число из исходного.
> Regular expression: ^([а-яА-ЯёЁ]+)(\d+)$ > > Translation template: ${1}${2} > > Флажок ставится для первой группы > > Пример перевода: Группа121 –> Group121
Идентификаторы не переводятся.
> Regular expression: ^([^А-Яа-яЁё]+)$ > > Translation template: ${1} > > Флажок для группы не ставится > > Пример перевода: fasd1 –> fasd1
Первая часть идентификатора переводится по словарю, а "ПрисоединенныеФайлы" всегда переводятся как "AttachedFiles".
> Regular expression: ^([А-ЯЁ][а-яА-ЯёЁ0-9]+)(ПрисоединенныеФайлы)$ > > Translation template: ${1}AttachedFiles > > Флажок ставится для первой группы > > Пример перевода: НоменклатураПрисоединенныеФайлы –> ProductsAttachedFiles
При переводе параметра в строковом литерале параметр должен переводиться как идентификатор.
> Regular expression: ^([#&]+)([А-Яа-яЁё0-9]+)$ > > Translation template: ${1}${2} > > Флажок ставится для второй группы > > Пример перевода: &#МойПараметр1' –> &#МойПараметр1'
Первая часть идентификатора переводится по словарю, а вторая – всегда Localization.
> Regular expression: ^([А-ЯЁ][а-яА-ЯёЁ0-9]+)(Локализация)$ > > Translation template: ${1} Localization > > Флажок ставится для первой группы > > Пример перевода: НоменклатураЛокализация –> ProductsLocalization