Додатки¶
Доповнення надають способи налаштування та автоматизації робочого процесу перекладу. Адміністратори можуть додавати та керувати доповненнями з меню Operations ↓ Add-ons кожного відповідного проєкту перекладу або компонента. Доповнення також можна встановити на весь сайт у Інтерфейс керування.
Підказка
Ви також можете налаштувати додатки за допомогою настанов з розділів API, DEFAULT_ADDONS або install_addon.
Додатки, для яких увімкнено ручне запускання, можна запускати через панель керування додатками або за допомогою API. Результати записуються в журнал активності додатка.
Події, які запускають доповнення¶
Установка надбудови¶
Спрацьовує під час встановлення надбудови.
Оновлення компонентів¶
Спрацьовує щоразу, коли відбувається зміна компонента, наприклад:
Рядки змінюються в репозиторії.
Додається рядок.
Додано новий переклад.
Щодня¶
Запускається щодня, але доповнення зазвичай розподіляють щоденне навантаження між компонентами залежно від BACKGROUND_TASKS.
Зміна події¶
Запускається одразу після створення події зміни.
Ручний спусковий механізм¶
Запускається, коли додаток запускається вручну з панелі керування додатками або через API.
Репозиторій після додавання¶
Запускається одразу після додавання та фіксації нового перекладу.
Репозиторій після фіксації¶
Запускається відразу після внесення змін.
Репозиторій post-push¶
Спрацьовує відразу після того, як сховище надсилається вгору.
Стан сховища після видалення¶
Спрацьовує одразу після вилучення перекладу.
Постоновлення сховища¶
Запускається кожного разу, коли нові зміни витягуються з попереднього сховища.
Попередня фіксація сховища¶
Запускається безпосередньо перед фіксацією змін.
Попереднє натискання репозиторію¶
Запускається безпосередньо перед тим, як сховище надсилається вгору.
Попереднє оновлення сховища¶
Запускається безпосередньо перед спробою оновлення репозиторію.
Блок після збереження¶
Запускається одразу після збереження рядка.
Постсинхронізація блоку¶
Активується після синхронізації рядка з VCS.
Попереднє створення блоку¶
Запускається одразу після збереження новоствореного рядка.
Вбудовані додатки¶
Автоматичний переклад¶
- Ідентифікатор додатка:
weblate.autotranslate.autotranslate- Налаштування:
modeРежим автоматичного перекладу
Доступні варіанти:¶ suggestДодати як пропозицію
translateДодати як переклад
fuzzyДодати як такі, що потребують редагування
qЗапит
Будь ласка, зауважте, що переклад усіх рядків призведе до відкидання усіх наявних перекладів.
auto_sourceДжерело автоматизованих перекладів
Доступні варіанти:¶ othersІнші складники перекладу
mtМашинний переклад
componentСкладник
Введіть опис складника для використання як джерела, залиште порожнім, щоб використовувати всі складники в поточному проєкті.
enginesРушії компʼютерного перекладу
thresholdПоріг оцінки
- Перемикачі:
Установка надбудови, Оновлення компонентів, Щодня, Зміна події
Автоматично перекладає рядки за допомогою машинного перекладу або інших складників.
CDN локалізації JavaScript¶
Added in version 4.2.
- Ідентифікатор додатка:
weblate.cdn.cdnjs- Налаштування:
thresholdПорогове значення перекладу
Відсоток перекладених рядків, який має бути присутнім для включення перекладу.
css_selectorВибір CSS
Засіб вибору CSS для виявлення придатних до локалізації елементів.
cookie_nameНазва куки мови
Назва куки, яка зберігатиме налаштування мови.
filesВидобути рядки з файлів HTML
Список назв файлів у поточному сховищі або віддалених адрес, які слід обробити для отримання придатних до перекладу рядків.
- Перемикачі:
Установка надбудови, Щодня, Репозиторій після фіксації, Стан сховища після видалення, Постоновлення сховища
Оприлюднює переклади у мережах надання даних для використання у локалізації JavaScript або HTML.
Можна скористатися для локалізації статичних сторінок HTML або завантаження локалізації у коді JavaScript.
Створює унікальну адресу для вашого складника, яку ви можете включати до сторінок HTML для їхньої локалізації. Див. Переклад HTML і JavaScript за допомогою CDN Weblate, щоб дізнатися більше.
Примітка
Для цього додатка потрібні додаткові налаштування на сервері Weblate. LOCALIZE_CDN_PATH налаштовує місце, куди буде записано створені файли (у файловій системі), а LOCALIZE_CDN_URL визначає, де їх буде оброблено (адресу). Обслуговування файлів відбувається не на самому Weblate — його слід налаштувати зовні (типово, за допомогою служби CDN).
Цей додаток налаштовано на Hosted Weblate, він обслуговує файли за допомогою https://weblate-cdn.com/.
Translation files CDN¶
Added in version 2026.5.
- Ідентифікатор додатка:
weblate.cdn.files- Налаштування:
Цей додаток не має налаштувань.
- Перемикачі:
Установка надбудови, Оновлення компонентів, Репозиторій після фіксації, Стан сховища після видалення, Постоновлення сховища
Publishes translation files into a content delivery network.
Publishes translation files without converting them to another format. Files
are written below the add-on specific CDN directory and served from
LOCALIZE_CDN_URL/<add-on UUID>/. Single-file translations use the language
code and original file extension, for example cs.json or de.po.
Multi-file translations are served below the language code using paths relative
to the translation directory. Monolingual components include the source
language file, while bilingual components publish only target-language files.
See CDN локалізації for secure serving guidance.
Вилучити порожні рядки¶
Added in version 4.4.
- Ідентифікатор додатка:
weblate.cleanup.blank- Налаштування:
Цей додаток не має налаштувань.
- Перемикачі:
Установка надбудови, Репозиторій після фіксації, Постоновлення сховища
Вилучає рядки без перекладу з файлів перекладу.
Використовуйте це, якщо не хочете, щоб порожні рядки з’являлись у файлах перекладу (наприклад, коли у бібліотеці локалізації їх показано як пропущені рядки, а не повернено до початкового рядка).
Дивись також
Очищення файлів перекладу¶
- Ідентифікатор додатка:
weblate.cleanup.generic- Налаштування:
Цей додаток не має налаштувань.
- Перемикачі:
Установка надбудови, Постоновлення сховища, Попередня фіксація сховища
Оновіть всі файли перекладу, щоб вони відповідали одномовному основному файлу. Для більшості форматів файлів це означає видалення застарілих перекладацьких ключів, які вже відсутні у основному файлі.
Для форматів, що містять додаткові дані, окрім рядків перекладу (зокрема Файли HTML, Файли RC Windows та Формат OpenDocument), також синхронізує файл перекладу із базовим файлом.
Дивись також
Додавання нових мов¶
- Ідентифікатор додатка:
weblate.consistency.languages- Налаштування:
Цей додаток не має налаштувань.
- Перемикачі:
Забезпечує використання однорідного набору мов для всіх складників проєкту.
Примітка
Компоненти, спільно використані з інших проектів, тут не враховуються.
Пошук пропущених мов відбувається кожні 24 години і при додаванні нових мов у Weblate.
На відміну від інших, цей додаток стосується усього проєкту.
Підказка
Автоматичний переклад нових доданих рядків за допомогою Автоматичний переклад.
Виявлення складників¶
- Ідентифікатор додатка:
weblate.discovery.discovery- Налаштування:
matchРегулярний вираз для зіставлення файлів перекладу
Регулярний вираз повинен містити іменовані групи для компонента та мови.
file_formatФормат файлу
name_templateНалаштувати назву складника
Використовуйте синтаксис шаблонів Django. Цей шаблон повинен містити {{ component }}.
base_file_templateВизначити назву основного файлу для одномовного перекладу
Залиште порожнім для двомовних файлів перекладу. Якщо цей параметр встановлено, цей шаблон повинен містити {{ component }}.
new_base_templateВизначити основний файл для нового перекладу
Ім’я файлу, що використовується для створення нових перекладів. Для gettext слід вибрати файл .pot. Цей шаблон повинен містити {{ component }}.
intermediate_templateПроміжний мовний файл
Ім’я проміжного файлу перекладу. У більшості випадків це файл перекладу, наданий розробниками, який використовується під час створення власне вихідних рядків. Цей шаблон повинен містити {{ component }}.
language_regexФільтр мов
Формальний вираз для фільтрування файлів перекладу під час сканування за маскою файлів.
copy_addonsКлонувати додатки з основного складника до нових
removeВидалити складники для файлів, яких не існує
- Перемикачі:
Автоматично додає або вилучає складники до проєкту на основі змін файла у системі керування версіями.
Збіг визначається за допомогою регулярних виразів, що дозволяє здійснювати складну настройку, але для цього необхідні певні знання. Регулярний вираз для збігу з файлами перекладу повинен містити дві іменовані групи для збігу з компонентом та мовою. Усі іменовані групи в регулярному виразі можна використовувати як змінні в полях шаблону.
Вимоги щодо розкриття інформації¶
Щоб успішно виявити компонент, конфігурація повинна виконати всі наведені нижче дії:
Регулярний вираз повинен містити іменовані групи
componentтаlanguage.Поля шаблону, що використовуються для іменування або визначення розташування файлів окремих компонентів, повинні містити
{{ component }}, щоб відображуване значення фактично змінювалося для кожного виявленого компонента.Для одномовних форматів компонент повинен містити файл, що відповідає параметру
base_file_template, та принаймні один файл перекладу, що відповідає параметруmatch.
Приклад із розв’язанням: news_<lang>.md¶
Це типовий макет варіантів мови на основі імен файлів:
docs/news_en.mddocs/news_cs.mddocs/guide_en.md
Скористайтеся попередньою настройкою Варіанти мови за іменем файлу як відправною точкою, потім виберіть відповідний формат файлу та перегляньте заповнені значення.
- Формальний вираз:
(?:(?P<path>.*/))?(?P<component>.+?)_(?P<language>[A-Za-z]{2,3}(?:[_-][A-Za-z0-9]+)*)\.(?P<extension>[^/.]+)- Назва складника:
{{ component }}- Виявлені маски файлів:
docs/news_*.mddocs/guide_*.md
У цьому прикладі {{ component }}»' розшифровується як базова назва без суфікса мови, тому файли docs/news_en.md, docs/news_pt_BR.md та docs/news_pt-BR.md стають компонентом news.
Ви можете використовувати розмітку шаблонів Django в усіх полях назви файла. Приклад:
{{ component }}Назва компонента, вилучена з групи збігів
component{{ component|title }}Назва файла складника з великою першою буквою
{{ path }}: {{ component }}Нетипова група відповідності на основі формального виразу
Після натискання кнопки Зберегти буде показано попередній перегляд відповідних складників, за допомогою якого ви зможете перевірити, чи відповідають налаштування вашим потребам:
Приклади виявленння складників¶
Наведений вище приклад ілюструє найпоширеніший варіант структури, заснований на іменах файлів. У наступних прикладах показано інші структури репозиторіїв, які ви можете зіставити.
Одна тека на мову¶
Одна тека для мови, що містить файли перекладів для складників.
- Формальний вираз:
(?P<language>[^/.]*)/(?P<component>[^/]*)\.po- Відповідні файли:
cs/application.pocs/website.pode/application.pode/website.po
Компонування локалей Gettext¶
Звичайна структура для збереження файлів gettex PO.
- Формальний вираз:
locale/(?P<language>[^/.]*)/LC_MESSAGES/(?P<component>[^/]*)\.po- Відповідні файли:
locale/cs/LC_MESSAGES/application.polocale/cs/LC_MESSAGES/website.polocale/de/LC_MESSAGES/application.polocale/de/LC_MESSAGES/website.po
Складні назви файлів¶
Використання складників та назви мови в імені файлу.
- Формальний вираз:
src/locale/(?P<component>[^/]*)\.(?P<language>[^/.]*)\.po- Відповідні файли:
src/locale/application.cs.posrc/locale/website.cs.posrc/locale/application.de.posrc/locale/website.de.po
Повторюваний код мови¶
Використанні мови у шляху та назві файлу.
- Формальний вираз:
locale/(?P<language>[^/.]*)/(?P<component>[^/]*)/(?P=language)\.po- Відповідні файли:
locale/cs/application/cs.polocale/cs/website/cs.polocale/de/application/de.polocale/de/website/de.po
Розділені рядки Android¶
Рядки ресурсів Android, розбиті на декілька файлів.
- Формальний вираз:
res/values-(?P<language>[^/.]*)/strings-(?P<component>[^/]*)\.xml- Відповідні файли:
res/values-cs/strings-about.xmlres/values-cs/strings-help.xmlres/values-de/strings-about.xmlres/values-de/strings-help.xml
Відповідність декільком шляхам¶
Багатомодульний проєкт Maven зі перекладами властивостей Java.
- Формальний вираз:
(?P<originalHierarchy>.+/)(?P<component>[^/]*)/src/main/resources/ApplicationResources_(?P<language>[^/.]*)\.properties- Назва складника:
{{ originalHierarchy }}: {{ component }}- Відповідні файли:
parent/module1/submodule/src/main/resources/ApplicationResources_fr.propertiesparent/module1/submodule/src/main/resources/ApplicationResource_es.propertiesparent/module2/src/main/resources/ApplicationResource_de.propertiesparent/module2/src/main/resources/ApplicationResource_ro.properties
Підказка
Додаток для виявлення компонентів використовує Внутрішні адреси Weblate. Це зручний спосіб спільного використання налаштувань VCS між кількома компонентами. Пов’язані компоненти використовують локальний репозиторій основного компонента, налаштованого шляхом заповнення weblate://project/main-component у полі Сховище з джерелами (у Operations ↓ Settings ↓ Version control system) кожного відповідного компонента. Це також економить час на налаштування та системні ресурси.
Підказка
Переконайтеся, що новий компонент містить повний набір мов, які можна перекладати, за допомогою Додавання нових мов.
Дивись також
Повідомлення Fedora¶
Added in version 5.15.
- Ідентифікатор додатка:
weblate.fedora_messaging.publish- Налаштування:
eventsПодії зміни
amqp_hostХост брокера AMQP
Брокер AMQP для підключення.
amqp_sslВикористовуйте SSL для з’єднання AMQP
ca_certСертифікати CA
Пакет сертифікатів CA, закодованих у форматі PEM, що використовуються для перевірки сертифіката, наданого сервером.
client_keySSL-ключ клієнта
Приватний SSL-ключ клієнта, закодований у PEM.
client_certSSL-сертифікати клієнта
SSL-сертифікат клієнта, закодований PEM.
- Перемикачі:
Надсилає сповіщення на обмін AMQP, сумісний з Fedora Messaging.
Fedora Messaging — заснований на AMQP засіб публікації усіх змін, які відбуваються у Weblate. За її допомогою ви можете будувати додаткові служби на основі змін, які відбуваються у Weblate.
Тема повідомлення¶
Усі повідомлення мають тему weblate.<action>.<project>.<component>.<translation>. Дія — це текстове представлення дії у нижньому регістрі з підкресленнями замість пробілів, наприклад, resource_update, всі інші частини є необов’язковими та представляють собою коротке ім’я об’єкта або код мови.
Текст повідомлення¶
Тіло складається з наступних полів (за умови, що вони доступні для події):
change_idЧисловий ідентифікатор зміни
actionДетальна назва зміни.
timestampЧасова позначка у форматі ISO
targetНове значення зміни (тобто новий переклад рядка)
oldСтаре значення зміни (тобто попередній переклад рядка)
sourceВихідний рядок.
urlАбсолютна адреса для перегляду пов’язаного об’єкта.
authorІм’я користувача автора (може відрізнятися від користувача, наприклад, при затвердженні пропозицій)
userІм’я користувача, яким внесено зміну
projectІдентифікатор проєкту
componentІдентифікатор складника
translationКод мови перекладу
Заголовки повідомлень¶
Існують додаткові заголовки, які ви також можете використовувати для маршрутизації:
actionДетальна назва зміни.
projectІдентифікатор проєкту
componentІдентифікатор складника
Приклади повідомлень¶
Подія злиття репозиторію:
{
"id": 1,
"action": "Merged repository",
"timestamp": "2017-06-15T11:30:47.325000+00:00",
"url": "http://example.com/projects/test/test/",
"component": "test"
}
Нова подія вихідного рядка:
{
"id": 2,
"action": "New source string",
"timestamp": "2017-06-15T11:30:47.372000+00:00",
"url": "http://example.com/translate/test/test/cs/?checksum=6412684aaf018e8e",
"component": "test",
"translation": "cs",
"source": ["Hello, world!\n"]
}
Подія оновлення ресурсу:
{
"id": 6,
"action": "Resource update",
"timestamp": "2017-06-15T11:30:47.410000+00:00",
"url": "http://example.com/projects/test/test/cs/",
"project": "test",
"component": "test",
"translation": "cs"
}
{
"id": 7,
"action": "Resource update",
"timestamp": "2017-06-15T11:30:47.510000+00:00",
"url": "http://example.com/projects/test/test/de/",
"project": "test",
"component": "test",
"translation": "de"
}
{
"id": 8,
"action": "Resource update",
"timestamp": "2017-06-15T11:30:47.595000+00:00",
"url": "http://example.com/projects/test/test/it/",
"project": "test",
"component": "test",
"translation": "it"
}
Подія вилучення проекту:
{
"id": 9,
"action": "Removed project",
"timestamp": "2019-10-17T15:57:08.559420+00:00",
"target": "test",
"user": "testuser"
}
Подія для нових учасників:
{
"id": 11,
"action": "New contributor",
"timestamp": "2019-10-17T15:57:08.759960+00:00",
"url": "http://example.com/translate/test/test/cs/?checksum=6412684aaf018e8e",
"author": "testuser",
"user": "testuser",
"project": "test",
"component": "test",
"translation": "cs",
"source": ["Hello, world!\n"]
}
Нова подія перекладу:
{
"id": 12,
"action": "New translation",
"timestamp": "2019-10-17T15:57:08.772591+00:00",
"url": "http://example.com/translate/test/test/cs/?checksum=6412684aaf018e8e",
"target": ["Ahoj svete!\n"],
"author": "testuser",
"user": "testuser",
"project": "test",
"component": "test",
"translation": "cs",
"source": ["Hello, world!\n"]
}
Масове редагування¶
- Ідентифікатор додатка:
weblate.flags.bulk- Налаштування:
qЗапит
stateСтан для встановлення
Доступні варіанти:¶ -1Не змінювати
10Потребує редагування
11Потребує редагування (Потребує переписання)
12Потребує редагування (Потребує перевірки)
20Перекладено
30Схвалено
add_flagsДодати наступні прапорці перекладу
remove_flagsВилучити наступні прапорці перекладу
add_labelsМітки для додавання
remove_labelsМітки для видалення
- Перемикачі:
Надає можливість пакетного редагування прапорців, міток або стану рядків.
Приклади:
Запит щодо пошуку |
|
|---|---|
Мітки для додавання |
recent |
Запит щодо пошуку |
|
|---|---|
Додати наступні прапорці перекладу |
|
Запит щодо пошуку |
|
|---|---|
Додати наступні прапорці перекладу |
|
Позначити незмінені переклади як «Потребує переробки»¶
- Ідентифікатор додатка:
weblate.flags.same_edit- Налаштування:
Цей додаток не має налаштувань.
- Перемикачі:
Кожного разу, коли з VCS імпортується новий рядок, що підлягає перекладу, і він збігається з вихідним рядком, він позначається як такий, що потребує переписання у Weblate. Це особливо корисно для форматів файлів, що містять вихідні рядки для неперекладених рядків.
Підказка
Можливо, ви також захочете зробити строгішою перевірку Переклад не змінено, додавши до Прапорці перекладу прапорець strict-same.
Дивись також
Позначте нові рядки джерела як «Потребує перевірки»¶
- Ідентифікатор додатка:
weblate.flags.source_edit- Налаштування:
Цей додаток не має налаштувань.
- Перемикачі:
Кожного разу, коли з VCS імпортується новий вихідний рядок, він позначається як такий, що потребує перевірки у Weblate. Таким чином ви можете легко фільтрувати та редагувати вихідні рядки, написані розробниками.
Дивись також
Позначити нові переклади як «Потребує переробки»¶
- Ідентифікатор додатка:
weblate.flags.target_edit- Налаштування:
Цей додаток не має налаштувань.
- Перемикачі:
Кожен раз, коли з VCS імпортується новий рядок, що підлягає перекладу, він позначається як такий, що потребує переписання у Weblate. Таким чином ви можете легко фільтрувати та редагувати переклади, створені розробниками.
Дивись також
Позначити оновлені переклади з репозиторію як «Потребує переписання»¶
- Ідентифікатор додатка:
weblate.flags.target_repo_update- Налаштування:
Цей додаток не має налаштувань.
- Перемикачі:
Кожного разу, коли переклад рядка змінюється у VCS, він позначається як такий, що потребує переписання у Weblate. Це особливо корисно, якщо файли перекладу часто оновлюються вручну або за допомогою зовнішньої служби.
Дивись також
Заповнити придатні лише для читання рядки початковими рядками¶
Added in version 4.18.
- Ідентифікатор додатка:
weblate.generate.fill_read_only- Налаштування:
Цей додаток не має налаштувань.
- Перемикачі:
Заповнює рядки перекладу, які призначено лише для читання, початковими рядками.
Генератор статистики¶
- Ідентифікатор додатка:
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 }}", }
Дивись також
Заповнити переклади початковими рядками¶
Added in version 4.11.
- Ідентифікатор додатка:
weblate.generate.prefill- Налаштування:
Цей додаток не має налаштувань.
- Перемикачі:
Заповнює рядки перекладу початковими рядками.
Усі неперекладені рядки в компоненті будуть замінені вихідним рядком і позначені як такі, що потребують редагування. Використовуйте цю опцію, якщо у файлах перекладу не можна залишати порожні рядки. .. АВТОМАТИЧНО СТВОРЕНИЙ ПОЧАТОК: weblate.generate.pseudolocale .. Цей розділ автоматично генерується командою ./manage.py list_addons. Не редагуйте його вручну.
Створення псевдолокалей¶
Added in version 4.5.
- Ідентифікатор додатка:
weblate.generate.pseudolocale- Налаштування:
sourceПочаткові рядки
targetЦільовий переклад
Усі рядки у цьому перекладі буде перезаписано
prefixДоданий статичний текст
var_prefixДодано на початку змінний текст
suffixДодано статичний текст
var_suffixДоданий змінний текст
var_multiplierЗмінний текстовий множник
Скільки разів повторювати змінний текст залежно від довжини вихідного рядка.
include_readonlyВключити рядки лише для читання
- Перемикачі:
Автоматично створює переклад додаванням префікса і суфікса до початкових рядків.
Псевдолокалі корисні для пошуку рядків, які не приготовано до локалізації. Результат досягається зміною усіх придатних до перекладу початкових рядків таким чином, щоб рядок, який не змінено, було просто виявити під час запуску програми із відповідними рядками псевдолокальній мові.
Також можливий пошук рядків, локалізовані відповідники яких можуть не відповідати макету.
Використання змінних частин дає змогу шукати рядки, які можуть не поміститися в інтерфейсі після локалізації - вони розширюють текст на основі довжини вихідного рядка. Змінні тексти повторюються на довжину тексту, помножену на множник. Наприклад, Hello world зі змінним текстом _ і змінним множником 1 стає Hello world___________ - текст повторюється один раз для кожного символу у вихідному рядку.
Рядки буде створено за таким взірцем:
Prepended static text Prepended variable text Source string Appended variable text Appended static text
Підказка
Ви можете використовувати справжні мови для перевірки, але у Weblate доступні виділені псевдолокалі — en_XA and ar_XB.
Підказка
Ви можете скористатися цим додатком для того, щоб почати переклад новою локаллю наявної мови або подібною до іншої мовою. Щойно ви додасте переклад до складника, перейдіть до цього додатка. Приклад: якщо у вас вже є локаль fr, і ви хочете започаткувати переклад локаллю fr_CA, просто встановіть fr як джерело, fr_CA як ціль і лишіть поля префікса і суфікса порожніми.
Вилучте додаток після заповнення параметрів перекладу, щоб запобігти зміні перекладів після копіювання з боку Weblate.
Перекладачі в коментарі¶
- Ідентифікатор додатка:
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»¶
- Ідентифікатор додатка:
weblate.gettext.configure- Налаштування:
Цей додаток не має налаштувань.
- Перемикачі:
Установка надбудови, Щодня, Репозиторій після додавання, Стан сховища після видалення
Оновлює змінну ALL_LINGUAS у файлах «configure», «configure.in» або «configure.ac» у разі додавання чи вилучення перекладу.
Оновлює змінну ALL_LINGUAS у файлах configure, configure.in або будь-яких файлах configure.ac у разі додавання чи видалення перекладу.
Налаштувати виведення gettext¶
Removed in version 5.13: Замінено на Параметри формату файлу.
Update gettext template (Django)¶
Added in version 5.17.
- Ідентифікатор додатка:
weblate.gettext.django- Налаштування:
intervalЧастота оновлення
Як часто додаток повинен оновлювати файл POT під час оновлення компонента.
Доступні варіанти:¶ dailyЩодня
weeklyЩотижня
monthlyЩомісячно
normalize_headerНормалізувати заголовок POT
Оновлює заголовки gettext і замінює коментарі-шаблони POT.
- Перемикачі:
Установка надбудови, Ручний спусковий механізм, Постоновлення сховища
Оновлює шаблон gettext за допомогою вбудованої команди Django makemessages.
Оновити файл LINGUAS¶
- Ідентифікатор додатка:
weblate.gettext.linguas- Налаштування:
Цей додаток не має налаштувань.
- Перемикачі:
Установка надбудови, Щодня, Репозиторій після додавання, Стан сховища після видалення
Оновлює файл LINGUAS у разі додавання або вилучення перекладу.
Оновити файл POT (Meson)¶
Added in version 5.17.
- Ідентифікатор додатка:
weblate.gettext.meson- Налаштування:
intervalЧастота оновлення
Як часто додаток повинен оновлювати файл POT під час оновлення компонента.
Доступні варіанти:¶ dailyЩодня
weeklyЩотижня
monthlyЩомісячно
normalize_headerНормалізувати заголовок POT
Оновлює заголовки gettext і замінює коментарі-шаблони POT.
comment_modeКоментарі до коду
Виберіть варіант видобування коментарів за допомогою xgettext: без коментарів, усі коментарі або лише коментарі із певною міткою.
Доступні варіанти:¶ offНе видобувати коментарі
allВидобути усі коментарі
taggedВидобути коментарі із міткою
comment_tagМітка коментарів
Мітка, яку буде передано xgettext для видобування коментарів при використанні режиму коментарів із мітками.
checksПеревірки xgettext
Додаткові перевірки чинності xgettext, які слід увімкнути для видобутих повідомлень.
Доступні варіанти:¶ ellipsis-unicodeellipsis-unicode
space-ellipsisspace-ellipsis“
quote-unicodequote-unicode“
bullet-unicodebullet-unicode“
keywordДодаткове ключове слово
Необов’язкове додаткове ключове слово, яке буде передано xgettext за допомогою –keyword.
presetПресет «Мезон»
Вбудований набір аргументів xgettext, що відповідає інтеграції Meson з gettext. Цей набір для GLib додає опції ключових слів та прапорців форматування, які використовує допоміжна програма gettext у Meson.
Доступні варіанти:¶ glib„GLib
- Перемикачі:
Установка надбудови, Ручний спусковий механізм, Постоновлення сховища
Оновлює шаблон gettext відповідно до стандартів Meson для gettext.
Генерувати mo-файли¶
- Ідентифікатор додатка:
weblate.gettext.mo- Налаштування:
pathШлях до згенерованого MO-файлу
Якщо не вказано, використовуватиметься розташування PO-файлу.
fuzzyВключати рядки, які потребують редагування
Рядки, що потребують редагування (неточні), зазвичай не готові до використання як переклади.
- Перемикачі:
Автоматично створює mo-файл для кожного зміненого po-файла.
Розташування згенерованого MO-файлу можна налаштувати, а поле для нього використовувати Розмітка шаблонів.
Примітка
Якщо переклад буде вилучено, його файл PO буде вилучено зі сховища, але файл MO, який створено цим додатком, вилучено не буде. Файл MO доведеться вилучити зі сховища основного коду вручну.
Оновити файли po, порівнявши із pot (msgmerge)¶
Змінено в версії 5.13: Settings конфігурацію перенесено до Параметри формату файлу.
- Ідентифікатор додатка:
weblate.gettext.msgmerge- Налаштування:
Цей додаток не має налаштувань.
- Перемикачі:
Оновлює усі файли PO (відповідно до налаштування «Маски файлів»), встановлюючи відповідність файлу POT (який налаштовано параметром «Шаблон для нових перекладів») за допомогою msgmerge.
Цей додаток є необхідним при роботі з файлами gettext PO, де файл POT (шаблон) оновлюється новими рядками або змінами до існуючих рядків. Коли файл POT оновлюється в репозиторії, цей додаток автоматично об’єднує ці зміни у всіх мовних файлах PO, забезпечуючи:
Нові рядки, які можна перекладати, з’являються всіма мовами
Вилучені рядки позначено як застарілі
Змінені рядки позначені як такі, що потребують перевірки (нечіткі)
Більшість параметрів командного рядка msgmerge можна налаштувати через конфігурацію параметрів формату файлу.
Оновити файл POT (Sphinx)¶
Added in version 5.17.
- Ідентифікатор додатка:
weblate.gettext.sphinx- Налаштування:
intervalЧастота оновлення
Як часто додаток повинен оновлювати файл POT під час оновлення компонента.
Доступні варіанти:¶ dailyЩодня
weeklyЩотижня
monthlyЩомісячно
normalize_headerНормалізувати заголовок POT
Оновлює заголовки gettext і замінює коментарі-шаблони POT.
filter_modeФільтрування
За бажанням вилучіть рядки, які не потрібно перекладати, після вилучення даних за допомогою Sphinx.
Доступні варіанти:¶ noneНемає
weblate_docsДокументації Weblate
- Перемикачі:
Установка надбудови, Ручний спусковий механізм, Постоновлення сховища
Оновлює шаблон gettext за допомогою засобу побудови gettext від Sphinx без завантаження конфігурації проєкту.
Оновити файл POT (xgettext)¶
Added in version 5.17.
- Ідентифікатор додатка:
weblate.gettext.xgettext- Налаштування:
intervalЧастота оновлення
Як часто додаток повинен оновлювати файл POT під час оновлення компонента.
Доступні варіанти:¶ dailyЩодня
weeklyЩотижня
monthlyЩомісячно
normalize_headerНормалізувати заголовок POT
Оновлює заголовки gettext і замінює коментарі-шаблони POT.
comment_modeКоментарі до коду
Виберіть варіант видобування коментарів за допомогою xgettext: без коментарів, усі коментарі або лише коментарі із певною міткою.
Доступні варіанти:¶ offНе видобувати коментарі
allВидобути усі коментарі
taggedВидобути коментарі із міткою
comment_tagМітка коментарів
Мітка, яку буде передано xgettext для видобування коментарів при використанні режиму коментарів із мітками.
checksПеревірки xgettext
Додаткові перевірки чинності xgettext, які слід увімкнути для видобутих повідомлень.
Доступні варіанти:¶ ellipsis-unicodeellipsis-unicode
space-ellipsisspace-ellipsis“
quote-unicodequote-unicode“
bullet-unicodebullet-unicode“
keywordДодаткове ключове слово
Необов’язкове додаткове ключове слово, яке буде передано xgettext за допомогою –keyword.
input_modeДжерело вхідного сигналу
Виберіть, чи xgettext має зчитувати вихідні файли за шаблонами glob, чи з маніфесту POTFILES/POTFILES.in.
Доступні варіанти:¶ patternsШаблони вихідних файлів
potfilesМаніфест POTFILES
languagexgettext: мова
Мова програмування, яка передається до xgettext, наприклад Python або C.
source_patternsШаблони вихідних файлів
Шаблони пошуку, відокремлені символами нового рядка, що відносяться до репозиторію, для файлів, які потрібно витягти за допомогою xgettext.
potfiles_pathШлях до POTFILES
Відносний шлях до POTFILES або POTFILES.in у репозиторії. Записи інтерпретуються відносно кореневого каталогу репозиторію. Якщо файл POTFILES.skip розміщений поруч із маніфестом, він виключає вказані в ньому файли з розпакування.
- Перемикачі:
Установка надбудови, Ручний спусковий механізм, Постоновлення сховища
Оновлює шаблон gettext за допомогою xgettext для вибраних вихідних файлів.
Сполучити Git подання¶
- Ідентифікатор додатка:
weblate.git.squash- Налаштування:
squashСполучення подань
Доступні варіанти:¶ allВсі подання в одне
languageДля мови
fileДля файлу
authorДля кожного автора
append_trailersДописати кінцевики для обʼєднаного повідомлення про внесок
Рядки-кінцевики подібні до заголовків повідомлень електронної пошти за RFC 822. Їх дописують в кінці повідомлення про внесок у довільній формі, наприклад, «Co-authored-by: …».
commit_messageПовідомлення щодо подання
Це повідомлення про внесок буде використано замість поєднаних повідомлень про внески з обʼєднаних внесків.
- Перемикачі:
Обʼєднати Git подання перед відправленням змін.
Підказка
Щоб уникнути непотрібних конфліктів, рекомендується налаштувати автоматичне отримання змін у вихідному коді за допомогою вебхуків або API, див. Оновлення сховищ.
Внески Git можна об’єднувати до запису змін з використанням одного з таких режимів:
Всі подання в одне
Для мови
Для файлу
Для кожного автора
Початкові повідомлення про внесок зберігаються, але авторство втрачається, якщо не позначено пункт За автором або повідомлення про внесок не налаштовано на його включення.
Початкові повідомлення про внески можна, якщо хочеться, перевизначити нетиповим повідомленням про внесок.
Трейлери (рядки внеску, подібні до Co-authored-by: ...) можна, якщо хочеться, вилучити з початкових повідомлень про внесок і дописати наприкінці об’єднаного повідомлення про внесок. Це також створює належний запис авторських прав Co-authored-by: для кожного перекладача.
Налагодити виведення JSON¶
Змінено в версії 5.12: Avoid spaces after separators додано опцію.
Removed in version 5.13: Замінено на Параметри формату файлу.
Скинути репозиторій до стану «upstream»¶
Added in version 5.17.
- Ідентифікатор додатка:
weblate.hosted.reset- Налаштування:
Цей додаток не має налаштувань.
- Перемикачі:
Щоночі скидає всі зміни у репозиторії Weblate.
Форматувати файл властивостей Java¶
- Ідентифікатор додатка:
weblate.properties.sort- Налаштування:
case_sensitiveДозволити сортування ключів з урахуванням регістру
- Перемикачі:
Форматує й упорядковує файл властивостей Java.
Встановлює усюди символи нового рядка Unix.
Встановлює форматування керівних послідовностей Unicode (якщо такі є) з використанням великих літер.
Вилучає порожні рядки і коментарі.
Упорядковує рядки за ключовими значеннями.
Відкидає рядки-повтори.
Видалення застарілого коментаря¶
- Ідентифікатор додатка:
weblate.removal.comments- Налаштування:
ageДні для збереження
- Перемикачі:
Вказати термін вилучення застарілих коментарів.
Це може бути корисним для вилучення застарілих коментарів, які могли перестати бути актуальними. Користайтеся цією можливістю обережно, оскільки те, що коментар застарів, не означає, що він перестав бути важливим.
Видалити застарілу пропозицію¶
- Ідентифікатор додатка:
weblate.removal.suggestions- Налаштування:
ageДні для збереження
votesПоріг голосування
Threshold for removal. Leave empty to remove suggestions regardless of votes. This field has no effect with voting turned off.
- Перемикачі:
Встановити строк вилучення пропозицій.
Це може бути дуже корисним у поєднанні із голосуванням за пропозиції (див. Експертне рецензування) для вилучення пропозицій, які не отримують достатньої кількості позитивних голосів протягом вказаного часового проміжку.
Оновити файли RESX¶
- Ідентифікатор додатка:
weblate.resx.update- Налаштування:
Цей додаток не має налаштувань.
- Перемикачі:
Оновити усі файли перекладу, щоб вони відповідали одномовному основному файлу. Невикористані рядки вилучаються, а нові додаються як копії початкового рядка.
Підказка
Скористайтеся Очищення файлів перекладу, якщо ви хочете лише вилучити застарілі переклади.
Дивись також
Слак Вебхуки¶
Added in version 5.12.
- Ідентифікатор додатка:
weblate.webhook.slack- Налаштування:
webhook_urlАдреса дієскрипту
eventsПодії зміни
- Перемикачі:
Надсилає сповіщення до каналу Slack на основі вибраних подій.
Попередження
У вмісті сповіщень можуть міститися теги HTML. Це відома проблема, яку буде вирішено найближчим часом; див. https://github.com/WeblateOrg/weblate/issues/15056.
Підказка
Щоб отримати URL-адресу вебхука, виконайте кроки, описані в документації до Slack Incoming Webhooks.
Дієскрипт¶
Added in version 5.11.
Змінено в версії 5.15: Відповідність довжини секретного коду специфікації тепер підтверджена.
- Ідентифікатор додатка:
weblate.webhook.webhook- Налаштування:
webhook_urlАдреса дієскрипту
secretСекрет вебхука
Секрет стандартних вебхуків — це рядок, закодований у base64.
eventsПодії зміни
- Перемикачі:
Надсилає сповіщення зовнішнім службам на основі вибраних подій, дотримуючись специфікації Standard Webhooks.
Корисне навантаження запиту відповідає схемі Weblate Messaging. Опис OpenAPI також можна знайти за адресою /api/docs/. Приклад тіла запиту:
{
"change_id": 99,
"action": "Translation changed",
"timestamp": "2019-08-24T14:15:22Z",
"target": "Nazdar svete!",
"old": "Nazdar!",
"source": "Hello, world",
"url": "/translate/project-slug/component-slug/cs/?checksum=46add148a53cab6f",
"author": "author-username",
"user": "user-username",
"project": "project-slug",
"component": "component-slug",
"translation": "cs"
}
Зразок тексту запиту з категоріями:
{
"change_id": 8910,
"action": "Component renamed",
"timestamp": "2025-06-11T07:15:09Z",
"target": ["new-name"],
"old": ["component-slug"],
"url": "/projects/project-slug/parent-category/child-category/sub-category/component-slug/",
"user": "testuser",
"project": "project-slug",
"component": "component-slug",
"category": [
"sub-category",
"child-category",
"parent-category"
]
}
Зразки заголовків запиту:
{
"webhook-id": "7f1c5477f6275a69af7b83236c20cb1a",
"webhook-timestamp": "1748505623.044281",
"webhook-signature": "v1,Ceo5qEr07ixe2NLpvHk3FH9bwy/WavXrAFQ/9tdO6mc="
}
webhook-signature — це список підписів HMAC, розділених пробілами, згенерованих за допомогою рядка secret, корисного навантаження запиту, webhook-timestamp та webhook-id. Це гарантує автентичність та цілісність запиту вебхука.
Наданий secret — це рядок у форматі base64 довжиною від 24 байтів (192 біти) до 64 байтів (512 бітів). Для легкої ідентифікації його можна починати з префікса whsec_.
Щоб перевірити запит, ви можете скористатися методом Webhook.verify з бібліотеки standardwebhooks або реалізацією «Стандартної специфікації вебхуків».
Застарілі доповнення¶
Налагодити виведення XML¶
Added in version 4.15.
Removed in version 5.13: Замінено на Параметри формату файлу.
Налагодити виведення YAML¶
Removed in version 5.13: Замінено на Параметри формату файлу.
Загальні додаткові параметри¶
Рушії компʼютерного перекладу¶
|
Alibaba |
|
Amazon Translate |
|
Anthropic |
|
Apertium APy |
|
Azure AI Translator |
|
Azure OpenAI |
|
Baidu |
|
CyrTranslit |
|
DeepL |
|
Glosbe |
|
Розширений хмарний перекладач Google |
|
Базовий хмарний перекладач Google |
|
LTEngine |
|
LibreTranslate |
|
ModernMT |
|
MyMemory |
|
Netease Sight |
|
Ollama |
|
OpenAI |
|
Концентратор перекладів SAP |
|
Systran |
|
Weblate |
|
Пам’ять перекладів Weblate |
|
Yandex |
|
Yandex v2 |
|
Youdao Zhiyun |
|
tmserver |
Формат файлу¶
|
XLIFF 1.2 з розширеннями Apple |
|
Файли метаданих крамниці програм |
|
Файл ARB |
|
Рядки ресурсів Android |
|
Файли AsciiDoc |
|
Розширений файл субтитрів SubStation Alpha |
|
Ключі від котів хайку |
|
Ресурс Compose Multiplatform |
|
Файл CSV |
|
Багатозначний файл CSV |
|
Простий файл CSV |
|
Текстовий файл DokuWiki |
|
Файл DTD |
|
Плоский XML-файл |
|
Файл Fluent |
|
Формат.JS файлуJSON |
|
Файл JSON go-i18n v1 |
|
Файл JSON go-i18n v2 |
|
Файл TOML go-i18n |
|
файл JSON gotext |
|
Властивості GWT |
|
Файл HTML |
|
Файл JSON i18next v3 |
|
Файл JSON i18next v4 |
|
Файл IDML |
|
Файл INI |
|
Файл INI Inno Setup |
|
Мовний файл Joomla |
|
Файл JSON |
|
Файл JSON із вкладеною структурою |
|
Рядки PHP Laravel |
|
Файл Markdown |
|
MDX file |
|
Текстовий файл MediaWiki |
|
@draggable/мовний файл mi18n |
|
Мобільний ресурс Kotlin |
|
JSON-файл Nextcloud |
|
Файл OpenDocument |
|
Рядки PHP |
|
Файл перекладу XLIFF 1.2 |
|
gettext PO файл |
|
gettext PO файл (одномовний) |
|
XLIFF 1.2 із розширеннями gettext |
|
Властивост Java |
|
Файл RC |
|
Файл RESJSON |
|
файл ResourceDictionary |
|
Файл ресурсів .NET |
|
Файл Ruby YAML |
|
Файл субтитрів SubRip |
|
Файл субтитрів SubStation Alpha |
|
Рядки iOS |
|
Файл Stringsdict |
|
Файл субтитрів MicroDVD |
|
Файл TermBase eXchange |
|
TOML-файл |
|
файл перекладу Qt Linguist |
|
Звичайний текстовий файл |
|
Файл JSON для WebExtension |
|
Файл WixLocalization |
|
XLIFF 1.2 із підтримкою замінників |
|
Файл перекладу XLIFF 2.0 |
|
Файл перекладу XLIFF 2.0 з підтримкою розміщуваних елементів |
|
Excel Open XML |
|
Повна сторінка XWiki |
|
Властивості Java XWiki |
|
Властивості сторінки XWiki |
|
Файл YAML |
Події зміни¶
|
Ресурс оновлено |
|
Переклад завершено |
|
Переклад змінено |
|
Коментар додано |
|
Додано пропозицію |
|
Додано переклад |
|
Перекладено автоматично |
|
Пропозицію прийнято |
|
Пропозицію завернуто |
|
Пропозицію завантажено |
|
Додано початковий рядок |
|
Складник заблоковано |
|
Складник розблоковано |
|
Записано зміни |
|
Зміни записано до сховища |
|
Відновлено початковий стан сховища |
|
Сховища об’єднано |
|
Зміни зі сховища перенесено |
|
Не вдалося об’єднати сховища |
|
Не вдалося перенести зміни зі сховища |
|
Не вдалося обробити дані |
|
Переклад вилучено |
|
Вилучено пропозицію |
|
Переклад замінено |
|
Не вдалося записати зміни до сховища |
|
Вилучено пропозицію під час очищення |
|
Змінено початковий рядок |
|
Додано рядок |
|
Змінено пакетний стан |
|
Змінено видимість |
|
Додано користувача |
|
Вилучено користувача |
|
Переклад затверджено |
|
Позначено для редагування |
|
Складник вилучено |
|
Проєкт вилучено |
|
Проєкт перейменовано |
|
Складник перейменовано |
|
Пересунуто складник |
|
Долучився учасник |
|
Оприлюднено оголошення |
|
Надіслано попередження |
|
Додано мову |
|
Надіслано запит щодо мови |
|
Створено проєкт |
|
Створено складник |
|
Запрошено користувача |
|
Отримано сповіщення щодо сховища |
|
Замінено файл перекладу вивантаженням |
|
Змінено умови ліцензування |
|
Ліцензійна угода співучасника змінена |
|
Додано знімок екрана |
|
Знімок вивантажено |
|
Рядок оновлено у репозиторії |
|
Додаток встановлено |
|
Змінено налаштування додатка |
|
Додаток вилучено |
|
Вилучено рядок |
|
Вилучено коментар |
|
Вирішено коментар |
|
Оновлено пояснення |
|
Вилучено категорію |
|
Перейменовано категорію |
|
Пересунуто категорію |
|
Не вдалося зберегти рядок |
|
Рядок додано до репозиторія |
|
Рядок оновлено під час завантаження |
|
Рядок додано під час завантаження |
|
Переклад оновлено після завантаження джерела |
|
Переклад складника завершено |
|
Застосовано примусову перевірку |
|
Розповсюджена зміна |
|
Файл завантажено |
|
Додаткові прапорці оновлено |
|
Шрифт вивантажено |
|
Шрифт змінено |
|
Шрифт вилучено |
|
Примусова синхронізація перекладів |
|
Примусове повторне сканування перекладів |
|
Знімок екрана вилучено |
|
Мітку додано |
|
Мітку вилучено |
|
Очищення репозиторію |
|
У завантаженому файлі додано вихідний рядок |
|
До репозиторію додано вихідний рядок |
|
Проект збережено |
|
Проект відновлено |
|
Компонент відновлено |
|
Зміни користувача скасовано |
|
Project setting changed |
|
Component setting changed |
Налаштовування списку додатків¶
Список додатків налаштовується 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 __future__ import annotations
from typing import ClassVar
from django.utils.translation import gettext_lazy
from weblate.addons.events import AddonEvent
from weblate.addons.scripts import BaseScriptAddon
class ExamplePreAddon(BaseScriptAddon):
# Event used to trigger the script
events: ClassVar[set[AddonEvent]] = {
AddonEvent.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¶
Адреса основного сховища із кодом.
- WL_PATH¶
Абсолютний шлях до сховища системи керування версіями.
- WL_BRANCH¶
Гілка сховища, яку налаштовано у поточному складнику.
- WL_FILEMASK¶
Маска файлів для поточного складника.
- WL_TEMPLATE¶
Назва файла шаблона для одномовного перекладу (може бути порожньою).
- WL_NEW_BASE¶
Назва файла, який використовується для створення перекладів (може бути порожньою).
- WL_FILE_FORMAT¶
Формат файла у поточному складнику.
- WL_LANGUAGE¶
Мова поточного оброблюваного перекладу (недоступна для скриптів керування на рівні складника).
- WL_PREVIOUS_HEAD¶
Попередній HEAD при оновленні (доступно, лише якщо запускається скрипт обробки після оновлення).
- WL_COMPONENT_SLUG¶
Ідентифікатор складника, який використовується для побудови адреси.
- WL_PROJECT_SLUG¶
Ідентифікатор проєкту, який використовується для побудови адреси.
- WL_COMPONENT_NAME¶
Назва складника.
- WL_PROJECT_NAME¶
Назва проєкту.
- WL_COMPONENT_URL¶
Адреса складника.
- WL_ENGAGE_URL¶
Адреса роботи з проєктом.
Дивись також
Обробка сховища після оновлення¶
Можна скористатися для оновлення файлів перекладу, коли міняється джерело у основному сховищі системи керування версіями. Слід пам’ятати, що Weblate «бачить» лише файли, які внесено до системи керування версіями, тому вам доведеться внести зміни до сховища у самому скрипті.
Наприклад, з Gulp ви можете зробити це за допомогою такого коду:
#! /bin/sh
gulp --gulpfile gulp-i18n-extract.js
git commit -m 'Update source strings' src/languages/en.lang.json
Обробка перекладів перед внесенням до сховища¶
Скористайтеся скриптом подання даних (commit) для автоматичного внесення змін до перекладу перед тим, як його буде внесено до сховища.
Передається як один параметр, що складається з назви файла поточного перекладу.
Журналювання діяльності додатків¶
Журнал діяльності додатків відстежує виконання додатків і може бути використаний для відстеження їхньої активності.
Журнали можна вилучати через певний проміжок часу за допомогою налаштування ADDON_ACTIVITY_LOG_EXPIRY.