Надстройки#
Надстройки предоставляют способы изменения и автоматизации рабочего процесса перевода. Администратор может добавлять и управлять надстройками из меню Управлять ↓ Надстройки соответствующего компонента перевода.
Подсказка
Вы также можете настроить надстройки с помощью API, DEFAULT_ADDONS
, или install_addon
.

Встроенные надстройки#
Автоматический перевод#
- ID надстройки:
weblate.autotranslate.autotranslate
- Конфигурация:
mode
Режим автоматического перевода
Доступные варианты:
suggest
– Добавить как предложениеtranslate
– Добавить как переводfuzzy
– Добавить с пометкой «На правку»filter_type
Фильтр поиска
Пожалуйста, имейте ввиду, что перевод всех строк отменит все существующие переводы.
Доступные варианты:
all
– Все строкиnottranslated
– Непереведённые строкив разработке
– Незавершённые строкиfuzzy
– Строки, помеченные для правкиcheck:inconsistent
– Неудачная проверка: Противоречияauto_source
Источник автоматических переводов
Доступные варианты:
others
– Другие компоненты переводаmt
– Машинный переводcomponent
Компонент
Введите плашку компонента для использования в качестве источника, для использования всех компонентов в текущем проекте — оставьте пустым.
engines
Механизмы машинного перевода
threshold
Порог оценки
- Запуск:
обновление компонентов, ежедневно
Автоматически переводит строки при помощи машинного перевода или других компонентов.
Сработало:
При появлении в компоненте новых строк.
Раз в месяц для каждого компонента, это может быть настроено с помощью
BACKGROUND_TASKS
.
CDN локализации JavaScript#
Добавлено в версии 4.2.
- ID надстройки:
weblate.cdn.cdnjs
- Конфигурация:
threshold
Порог перевода
Порог для включения переводов.
css_selector
Селектор CSS
Селектор CSS для обнаружения локализуемых элементов.
cookie_name
Имя языковой куки
Имя куки, в которой сохраняется предпочитаемый язык.
files
Извлечение строк из HTML-файлов
Список имён файлов в текущем репозитории или URL-адреса, которые нужно разобрать для извлечения переводимых строк.
- Запуск:
ежедневно, репозиторий до коммита, репозиторий после обновления
Публикует переводы в сеть доставки контента для использования в локализации JavaScript или HTML.
Его можно использовать для локализации статических HTML-страниц или для загрузки локализации в код JavaScript.
Создаёт для вашего компонента уникальный URL-адрес, который вы можете использовать на своих HTML-страницах для локализации. Подробности смотрите в разделе «Перевод HTML и JavaScript с помощью сети доставки содержимого Weblate».
Примечание
Это дополнение требует дополнительной настройки на сервере Weblate. LOCALIZE_CDN_PATH
определяет место записи сгенерированных файлов (в файловой системе), а LOCALIZE_CDN_URL
- место их обслуживания (URL). Сервировка файлов не выполняется Weblate и должна быть настроена извне (обычно с помощью CDN-сервиса).
Это дополнение настраивается на Hosted Weblate и обслуживает файлы через https://weblate-cdn.com/
.
Удаление пустых строк#
Добавлено в версии 4.4.
- ID надстройки:
weblate.cleanup.blank
- Конфигурация:
Эта надстройка не имеет конфигурации.
- Запуск:
репозиторий до коммита, репозиторий после обновления
Удаляет из файлов перевода строки без перевода.
Используйте эту надстройку, чтобы пустые строки не попадали в файлы перевода (например, в случае, если ваша библиотека локализации отображает их как отсутствующие вместо того, чтобы подставлять исходные).
Очистка файлов перевода#
- ID надстройки:
weblate.cleanup.generic
- Конфигурация:
Эта надстройка не имеет конфигурации.
- Запуск:
репозиторий до коммита, репозиторий после обновления
Обновите все файлы перевода, чтобы они соответствовали моноязычному базовому файлу. Для большинства форматов файлов это означает удаление устаревших ключей перевода, которые больше не присутствуют в базовом файле.
Добавить отсутствующие языки#
- ID надстройки:
weblate.consistency.languages
- Конфигурация:
Эта надстройка не имеет конфигурации.
- Запуск:
ежедневно, репозиторий после добавления
Гарантирует использование согласованного набора языков для всех компонентов в проекте.
Отсутствующие языки проверяются каждые 24 часа и при добавлении нового языка через Weblate.
В отличие от большинства других надстроек, эта влияет на весь проект.
Подсказка
Автоматически переводите новые добавленные строки с помощью надстройки Автоматический перевод.
Обнаружение компонентов#
- ID надстройки:
weblate.discovery.discovery
- Конфигурация:
match
Регулярное выражение для сопоставления с файлами перевода
file_format
Формат файла
name_template
Настроить название компонента
base_file_template
Задать имя базового одноязычного файла
Оставить пустым для двуязычных файлов перевода.
new_base_template
Задать базовый файл для нового перевода
Имя файла, который используется для создания новых переводов. Для gettext выберите .pot файл.
intermediate_template
Файл промежуточного языка
Имя файла с промежуточным переводом. В большинстве случаев это файл перевода, предоставляемый разработчиками и используемый при создании настоящих исходных строк.
language_regex
Языковой фильтр
Регулярное выражение для фильтрации файлов перевода при сканировании по файловой маске.
copy_addons
Клонировать дополнения из основного компонента в новые
remove
Удалить компоненты для несуществующих файлов
confirm
Я подтверждаю, что сопоставления выше выглядят правильно
- Запуск:
репозиторий после обновления
Автоматически добавляет или удаляет компоненты проекта в соответствии с изменениями файлов в системе контроля версий.
Сопоставление осуществляется с помощью регулярных выражений, что даёт возможность задать достаточно сложную конфигурацию, хотя это и требует некоторого количества начальных знаний. Для распространённых случаев в справочном разделе надстройки можно найти ряд примеров.
Регулярное выражение для соответствия файлам перевода должно содержать две именованные группы для соответствия компоненту и языку. Все именованные группы в регулярном выражении могут быть использованы в качестве переменных в полях шаблона.
Вы можете использовать разметку шаблонов Django в имени файла и содержании, например:
{{ компонент }}
Сопоставление имени файла компонента
{{ компонент|название }}
Имя файла компонента с заглавной первой буквой
{{ path }}: {{ component }}
Пользовательская группа совпадений из регулярного выражения
Когда вы нажмёте Сохранить, надстройка предварительно покажет найденные компоненты, так что вы сможете проверить, действительно ли такая конфигурация соответствует вашим потребностям:

Примеры обнаружения компонентов#
По одной папке на каждый язык#
Одна папка на язык, содержащая файл перевода для компонентов.
- Регулярное выражение:
(?P<language>[^/.]*)/(?P<component>[^/]*)\.po
- Соответствующие файлы:
cs/website.po
de/website.po
Получение раскладки локалей текста#
Обычная структура для хранения gettext PO-файлов.
- Регулярное выражение:
locale/(?P<язык>[^/.]*)/LC_MESSAGES/(?P<компонент>[^/]*)\.po
- Соответствующие файлы:
locale/cs/LC_MESSAGES/application.po
locale/de/LC_MESSAGES/website.po
locale/cs/LC_MESSAGES/application.po
locale/de/LC_MESSAGES/website.po
Сложные имена файлов#
В имени файла используются имена компонента и языка.
- Регулярное выражение:
src/locale/(?P<component>[^/]*)\.(?P<language>[^/.]*)\.po
- Соответствующие файлы:
src/locale/website.cs.po
src/locale/application.de.po
src/locale/website.cs.po
Повторный языковой код#
В пути и имени файла используется язык.
- Регулярное выражение:
locale/(?P<language>[^/.]*)/(?P<component>[^/]*)/(?P=language)\.po
- Соответствующие файлы:
locale/cs/application/cs.po
locale/cs/website/cs.po
locale/de/application/de.po
locale/de/website/de.po
Разделить строки Android#
Строки ресурсов Android, разбитые на несколько файлов.
Сопоставление нескольких путей#
Многомодульный проект Maven со свойствами переводов на Java.
- Регулярное выражение:
(?P<originalHierarchy>.+/)(?P<component>[^/]*)/src/main/resources/ApplicationResources_(?P<language>[^/.]*)\.properties
- Название компонента:
{{ originalHierarchy }}: {{ component }}
- Соответствующие файлы:
parent/module1/submodule/src/main/resources/ApplicationResources_fr.properties
parent/module1/submodule/src/main/resources/ApplicationResource_es.properties
:file:“parent/module2/src/main/resources/ApplicationResource_de.properties“
:file:“parent/module2/src/main/resources/ApplicationResource_de.properties“
Подсказка
Надстройка «Обнаружение компонентов» использует Внутренние URL-адреса Weblate. Это удобный способ совместного использования системы контроля версий разными компонентами. Привязать дополнительные компоненты к основному так, чтобы они использовали его локальный репозиторий, можно, задав в качестве Репозиторий исходного кода адрес вида weblate://проект/основной-компонент
(в разделе Управление ↓ Параметры ↓ Система контроля версий) для каждого такого компонента. Это сэкономит не только ваше время на настройку, но и системные ресурсы.
См.также
Массовая правка#
- ID надстройки:
weblate.flags.bulk
- Конфигурация:
q
Запрос
state
Задаваемое состояние
Доступные варианты:
-1
– Не изменять10
– На правку20
– Переведено30
– Одобреноadd_flags
Добавляемые флаги перевода
remove_flags
Удаляемые флаги перевода
add_labels
Добавляемые метки
remove_labels
Удаляемые метки
- Запуск:
обновление компонентов
Позволяет массово править флаги, метки или состояния строк.
Для того чтобы начать автоматизацию расстановки меток, можно найти все строки по запросу NOT has:label
и добавлять нужные метки до тех пор, пока не будет достигнут нужный эффект. Аналогично вы можете выполнять любые другие автоматические операции с метаданными Weblate.
Примеры:
Поисковый запрос |
|
---|---|
Добавляемые метки |
recent |
Поисковый запрос |
|
---|---|
Добавляемые флаги перевода |
|
Пометка неизменённых переводов флагом «На правку»#
- ID надстройки:
weblate.flags.same_edit
- Конфигурация:
Эта надстройка не имеет конфигурации.
- Запуск:
единица после создания
При импорте новой строки для перевода из системы контроля версий и при её совпадении с исходной строкой она помечается в Weblate флагом «На правку». Особенно это полезно для тех форматов файлов, которые для непереведённых строк хранят исходные строки вместо перевода.
Подсказка
Возможно, вы также захотите ужесточить проверку на наличие изменений в переводе, добавив strict-same
во флаги перевода.
См.также
Пометка новых исходных строк флагом «На правку»#
- ID надстройки:
weblate.flags.source_edit
- Конфигурация:
Эта надстройка не имеет конфигурации.
- Запуск:
единица после создания
При импорте новой исходной строки из системы контроля версий она помечается в Weblate флагом «На правку». Таким образом, вы можете легко фильтровать и изменять исходные строки, добавленные разработчиками.
См.также
Пометка новых переводов флагом «На правку»#
- ID надстройки:
weblate.flags.target_edit
- Конфигурация:
Эта надстройка не имеет конфигурации.
- Запуск:
единица после создания
При импорте строки для перевода из системы контроля версий она помечается в Weblate флагом «На правку». Таким образом, вы можете легко фильтровать и изменять переводы, созданные разработчиками.
См.также
Заполните строки, доступные только для чтения, исходным кодом#
Добавлено в версии 4.18.
- ID надстройки:
weblate.generate.fill_read_ only
- Конфигурация:
Эта надстройка не имеет конфигурации.
- Запуск:
обновление компонентов, ежедневно
Заполняет перевод строк, доступных только для чтения, исходной строкой.
Генератор статистики#
- ID надстройки:
weblate.generate.generate
- Конфигурация:
filename
Имя сгенерированного файла
template
Содержание сгенерированного файла
- Запуск:
репозиторий до коммита
Создаёт файл с подробными сведениями о состоянии перевода.
И в качестве имени файла и в качестве его содержимого вы можете использовать шаблоны Django; подробное описание разметки шаблона смотрите в разделе «Шаблонная разметка».
К примеру, сгенерировать файл со сводкой по каждому переводу можно со следующими настройками:
- Имя сгенерированного файла
locale/{{ language_code }}.json
- Содержимое
{ "language": "{{ language_code }}", "strings": "{{ stats.all }}", "translated": "{{ stats.translated }}", "last_changed": "{{ stats.last_changed }}", "last_author": "{{ stats.last_author }}", }
См.также
Предварительно заполнять перевод источником#
Добавлено в версии 4.11.
- ID надстройки:
weblate.generate.prefill
- Конфигурация:
Эта надстройка не имеет конфигурации.
- Запуск:
обновление компонентов, ежедневно
Заполняет перевод используя исходные строки.
Все непереведённые строки в компоненте будут представлены исходной строкой и помечены как требующие правки. Используйте это, когда в файлах перевода не может быть пустых строк.
Генератор псевдолокалей#
Добавлено в версии 4.5.
- ID надстройки:
weblate.generate.pseudolocale
- Конфигурация:
source
Исходные строки
target
Целевой перевод
Все строки в этом переводе будут перезаписаны
prefix
Фиксированный префикс строки
var_prefix
Переменный префикс строки
suffix
Фиксированный суффикс строки
var_suffix
Переменный суффикс строки
var_multiplier
Множитель переменной части
Сколько раз повторять переменную часть, в зависимости от длины исходной строки.
include_readonly
Включить строки только для чтения
- Запуск:
обновление компонентов, ежедневно
Генерирует дополнительный перевод, автоматически добавляя префикс и суффикс к исходным строкам.
Псевдолокали могут быть полезны для поиска строк, которые небыли подготовлены для локализации должным образом. Это происходит с помощью автоматического изменения всех переводимых исходных строк, дабы те строки, которые не были изменены, было бы достаточно просто заметить при запуске приложения.
Также с помощью этого возможно отследить те строки, чьи локализованные версии могут не уместиться в отведённое под них место и ломать вёрстку.
Использование частей переменных позволяет искать строки, которые могут не вписаться в пользовательский интерфейс после локализации — расширение текста на основе длины исходной строки. Части переменных повторяются по длине текста, умноженной на множитель. Например, Hello world
с переменным суффиксом _
и переменным множителем 1 становится Hello world___________
— суффикс повторяется один раз для каждого символа в исходной строке.
Строки будут генерироваться по следующему шаблону:
фиксированный префикс строки переменный префикс строки Исходная строка переменный суффикс строки фиксированный суффикс строки
Подсказка
Хотя вы и можете использовать настоящие языки для проверки, но для этой цели в Weblate уже есть специальные псевдолокали: en_XA и ar_XB.
Подсказка
Вы можете использовать эту надстройку для запуска перевода на новую локаль существующего или похожего языка. Как только вы добавите перевод в компонент, перейдите к надстройке. Пример: Если у вас есть fr и вы хотите начать перевод fr_CA, просто задайте fr в качестве источника, fr_CA в качестве цели, а префикс и суффикс оставьте пустыми.
Удалите надстройку после заполнения нового перевода, чтобы Weblate не смог изменить переводы, сделанные после копирования.
Участники в комментарии#
- ID надстройки:
weblate.gettext.authors
- Конфигурация:
Эта надстройка не имеет конфигурации.
- Запуск:
репозиторий до коммита
Обновляет комментарий в заголовке PO-файла, включая в него имена участников и годы их участия.
Заголовок PO-файла будет выглядеть примерно так:
# Michal Čihař <michal@weblate.org>, 2012, 2018, 2019, 2020.
# Pavel Borecki <pavel@example.com>, 2018, 2019.
# Filip Hron <filip@example.com>, 2018, 2019.
# anonymous <noreply@weblate.org>, 2019.
Обновление переменной ALL_LINGUAS в файле «configure»#
- ID надстройки:
weblate.gettext.configure
- Конфигурация:
Эта надстройка не имеет конфигурации.
- Запуск:
репозиторий после добавления, ежедневно
Обновляет переменную ALL_LINGUAS в файлах configure
, configure.in
и configure.ac
при добавлении нового перевода.
Настройка вывода gettext#
- ID надстройки:
weblate.gettext.customize
- Конфигурация:
width
Перенос длинных строк
По умолчанию gettext переносит строки на 77-м символе и на символе переноса строки; с параметром –no-wrap, они будут переносится только на символе переноса строки.
Доступные варианты:
77
– Переносить строки на 77-м символе и на символе перевода строки (по умолчанию в xgettext)65535
– Переносить строки только на символах перевода строки (подобно «xgettext –no-wrap»)-1
– Не переносить строки- Запуск:
после загрузки в хранилище
Позволяет настроить поведение вывода gettext, например, заворот строк.
Она предлагает следующие варианты:
Переносить строки на 77-м символе и на символе перевода строки
Переносить строки только на символах перевода строки
Не переносить строки
Примечание
По умолчанию gettext переносит строки на 77-м символе и на символе переноса строкию. С параметром --no-wrap
, они будут переносится только на символе переноса строки.
Обновление файла LINGUAS#
- ID надстройки:
weblate.gettext.linguas
- Конфигурация:
Эта надстройка не имеет конфигурации.
- Запуск:
репозиторий после добавления, ежедневно
Обновляет файл LINGUAS при добавлении нового перевода.
Создание MO-файлов#
- ID надстройки:
weblate.gettext.mo
- Конфигурация:
path
Путь к сгенерированному MO-файлу
Если не указано, будет использовано расположение PO-файла.
fuzzy
Включить строки, требующие правки
Строки, нуждающиеся в правке (fuzzy), обычно не готовы к использованию в качестве переводов.
- Запуск:
репозиторий до коммита
Автоматически генерирует MO-файл для каждого изменённого PO-файла.
В соответствующем поле можно задать местоположение сгенерированного MO-файла. Формат этого поля — Шаблонная разметка.
Примечание
При удалении перевода его PO-файл будет удален из репозитория, а MO-файл, созданный этим дополнением, - нет. MO-файл должен быть удален из репозитория вручную.
Обновлять PO-файлы до соответствия POT (msgmerge)#
- ID надстройки:
weblate.gettext.msgmerge
- Конфигурация:
previous
Сохранять предыдущие msgid переведённых строк
no_location
Удалять расположение переведённых строк
fuzzy
Использовать неточное соответствие
- Запуск:
репозиторий после обновления
Обновляет все PO-файлы (в соответствии с масками файлов) так, чтобы они соответствовали POT-файлу (заданному шаблоном для новых переводов) с помощью msgmerge.
Это происходит всякий раз, когда новые изменения извлекаются из вышестоящего репозитория. Большинство параметров командной строки msgmerge можно задать в настройках.
Уплотнение Git-коммитов#
- ID надстройки:
weblate.git.squash
- Конфигурация:
squash
Уплотнение коммитов
Доступные варианты:
all
– Все коммиты в одинlanguage
– По языкуfile
– По файлуauthor
– По авторуappend_trailers
Добавлять завершители в конец сообщения уплотнённого коммита
Строки трейлера это строки, похожие на заголовки электронной почты RFC 822, расположенные в конце свободной части сообщения фиксации, например, „Co-authored-by: …“.
commit_message
Сообщение коммита
Это сообщение коммита будет использоваться вместо сообщения, собранного из уплотнённых коммитов.
- Запуск:
репозиторий после коммита
Сквош Git-коммитов перед публикацией изменений.
Git-коммиты могут быть уплотнены перед отправкой изменений в одном из следующих режимов:
Все коммиты в один
По языку
По файлу
По автору
Исходные сообщения коммита сохраняются, но авторство коммитов теряется, если только не выбран режим По автору, или сообщение коммита не настроено на включение в него его авторов.
Исходные сообщения коммитов могут быть переопределены пользовательским сообщением коммита.
Дополнительно из исходных сообщений коммитов могут быть удалены завершители (строки коммита вида Co-authored-by: …
) с последующим их присоединением к концу сообщения уплотнённого коммита. Также в этом режиме для каждого переводчика генерируется соответствующий завершитель Co-authored-by:
.
Настройка вывода в JSON#
- ID надстройки:
weblate.json.customize
- Конфигурация:
sort_keys
Сортировка JSON-ключей
indent
Отступы JSON
style
Стиль отступов JSON
Доступные варианты:
spaces
– Пробелыtabs
– Отступы- Запуск:
после загрузки в хранилище
Позволяет подправить поведение вывода в JSON, например, отступы или сортировку ключей.
Форматирование файла свойств Java#
- ID надстройки:
weblate.properties.sort
- Конфигурация:
Эта надстройка не имеет конфигурации.
- Запуск:
репозиторий до коммита
Форматирование и сортировка файла свойств Java.
Объединяет новые строки с Unix-строками.
Форматирование управляющих последовательностей Unicode в верхнем регистре (если присутствуют).
Удаляет пустые строки и комментарии.
Сортировка строк по ключам.
Исключение повторяющихся строк.
Удаление устаревших комментариев#
- ID надстройки:
weblate.removal.comments
- Конфигурация:
age
Дни для сохранения
- Запуск:
ежедневно
Устанавливает сроки удаления комментариев.
Может быть полезна для удаления старых комментариев, которые могли потерять актуальность. Используйте её с осторожностью, поскольку то, что комментарий старый, не означает, что он потерял свою значимость.
Удаление устаревших предложений#
- ID надстройки:
weblate.removal.suggestions
- Конфигурация:
age
Дни для сохранения
votes
Порог голосования
Порог для удаления. Это поле не действует при отключённом голосовании.
- Запуск:
ежедневно
Устанавливает сроки удаления предложений.
В сочетании с голосованием по предложениям (смотрите раздел Коллегиальное рецензирование) может быть очень полезна для удаления предложений, которые не получили достаточного количества положительных голосов в заданный промежуток времени.
Обновление файлов RESX#
- ID надстройки:
weblate.resx.update
- Конфигурация:
Эта надстройка не имеет конфигурации.
- Запуск:
репозиторий после обновления
Обновляет все файлы перевода, приводя их в соответствие с одноязычным исходным базовым файлом. Неиспользуемые строки удаляются, а новые добавляются как копии исходных строк.
Подсказка
Если вы хотите только удалить устаревшие ключи перевода, используйте надстройку Очистка файлов перевода.
Настройка вывода XML#
Добавлено в версии 4.15.
- ID надстройки:
weblate.xml.customize
- Конфигурация:
closing_tags
Включать закрывающую метку для пустых XML меток
- Запуск:
после загрузки в хранилище
Позволяет настраивать поведение вывода XML, например закрывающие теги.
Настройка вывода в YAML#
- ID надстройки:
weblate.yaml.customize
- Конфигурация:
indent
Отступы YAML
width
Перенос длинных строк
Доступные варианты:
80
– Переносить строку после 80 символов100
– Переносить строку после 100 символов120
– Переносить строку после 120 символов180
– Переносить строку после 180 символов65535
– Не переносить строкиline_break
Символ перевода строки
Доступные варианты:
dos
– DOS (\r\n)unix
– UNIX (\n)mac
– MAC (\r)- Запуск:
после загрузки в хранилище
Позволяет настроить поведение вывода YAML, например, длину строки или новые строки.
Настройка списка надстроек#
Список надстроек настраивается параметром WEBLATE_ADDONS
. Для добавления ещё одной надстройки просто включите в этот параметр полное имя класса.
Создание надстройки#
Также вы можете создать свою собственную надстройку: просто создайте подкласс weblate.addons.base.BaseAddon
, чтобы определить метаданные надстройки, а затем реализуйте нужный обратный вызов, который будет выполнять обработку.
См.также
Выполнение скриптов из надстройки#
Надстройки также могут использоваться для выполнения внешних скриптов. Раньше выполнение было интегрировано в сам Weblate, но теперь вам нужно написать код для заворачивания вашего скрипта в надстройку.
# Copyright © Michal Čihař <michal@weblate.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
"""Example pre commit script."""
from django.utils.translation import gettext_lazy
from weblate.addons.events import EVENT_PRE_COMMIT
from weblate.addons.scripts import BaseScriptAddon
class ExamplePreAddon(BaseScriptAddon):
# Event used to trigger the script
events = (EVENT_PRE_COMMIT,)
# Name of the addon, has to be unique
name = "weblate.example.pre"
# Verbose name and long description
verbose = gettext_lazy("Execute script before commit")
description = gettext_lazy("This add-on executes a script.")
# Script to execute
script = "/bin/true"
# File to add in commit (for pre commit event)
# does not have to be set
add_file = "po/{{ language_code }}.po"
Инструкции по установке смотрите в разделе Пользовательские проверки качества, надстройки и автоматические исправления.
Скрипт выполняется с текущим каталогом, установленном в корневой каталог репозитория системы контроля версий заданного компонента.
Кроме того, в скрипте доступны следующие переменные окружения:
- WL_VCS#
Используемая система контроля версий.
- WL_REPO#
URL-адрес вышестоящего репозитория.
- WL_PATH#
Абсолютный путь к репозиторию системы контроля версий.
- WL_BRANCH#
Ветка репозитория, настроенная для текущего компонента.
- WL_FILEMASK#
Маска файлов для текущего компонента.
- WL_TEMPLATE#
Имя файла шаблона для одноязычных переводов (может быть пустым).
- WL_NEW_BASE#
Имя файла, используемого для создания новых переводов (может быть пустым).
- WL_FILE_FORMAT#
Формат файла, используемый в текущем компоненте.
- WL_LANGUAGE#
Язык обрабатываемого в данный момент перевода (недоступен для обработчиков уровня компонента).
- WL_PREVIOUS_HEAD#
Предыдущая HEAD после обновления (доступна только после запуска обработчика «после обновления»).
- WL_COMPONENT_SLUG#
Плашка компонента, используемая для построения URL-адреса.
- WL_PROJECT_SLUG#
Плашка проекта, используемая для построения URL-адреса.
- WL_COMPONENT_NAME#
Название компонента.
- WL_PROJECT_NAME#
Название проекта.
- WL_COMPONENT_URL#
URL-адрес компонента.
- WL_ENGAGE_URL#
URL-адрес для присоединения к переводу проекта.
См.также
Обработка репозитория после обновления#
Может использоваться для обновления файлов перевода при изменении исходных файлов в вышестоящем репозитории. При этом помните, что Weblate видит только те файлы, которые были закоммичены в систему контроля версий, поэтому в скрипте вам необходимо закоммитить все изменения.
Например, при использовании Gulp это можно сделать следующим кодом:
#! /bin/sh
gulp --gulpfile gulp-i18n-extract.js
git commit -m 'Update source strings' src/languages/en.lang.json
Обработка переводов перед коммитом#
Используйте скрипт коммита для автоматического внесения изменений в какой-либо перевод перед их коммитом в репозиторий.
Перевод передается в виде единственного параметра, содержащего имя файла текущего перевода.