Додатки¶
Додатки дають змогу налаштувати й автоматизувати робочий процес перекладу. Адміністратори можуть додавати додатки та керувати ними з меню Керувати ↓ Додатки кожного відповідного перекладацького проєкту або компонента. Їх також можна встановити для всього сайту в Інтерфейс керування.
Підказка
Ви також можете налаштувати додатки за допомогою настанов з розділів API, DEFAULT_ADDONS
або install_addon
.
Вбудовані додатки¶
Автоматичний переклад¶
- Ідентифікатор додатка:
weblate.autotranslate.autotranslate
- Налаштування:
mode
Режим автоматичного перекладу
Доступні варіанти:
suggest
— додати пропозиціюtranslate
— додати як перекладfuzzy
— додати як такий, що потребує редагуванняfilter_type
Фільтр пошуку
Будь ласка, зауважте, що переклад усіх рядків призведе до відкидання усіх наявних перекладів.
Доступні варіанти:
all
— усі рядкиnottranslated
— неперекладені рядкиtodo
— незавершені рядкиfuzzy
— рядки, які позначено для редагуванняcheck:inconsistent
— не пройдено перевірку: різні переклади одного рядкаauto_source
Джерело автоматизованих перекладів
Доступні варіанти:
others
— іншиі складники перекладуmt
— комп’ютерний перекладcomponent
Складник
Введіть опис складника для використання як джерела, залиште порожнім, щоб використовувати всі складники в поточному проєкті.
engines
Рушії компʼютерного перекладу
threshold
Поріг оцінки
- Перемикачі:
оновлення складників, щоденно
Автоматично перекладає рядки за допомогою машинного перекладу або інших складників.
Причини вмикання:
У складнику з’явилися нові рядки.
Автоматичне щомісячне вмикання для всіх складників. Можна налаштувати за допомогою
BACKGROUND_TASKS
.
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/
.
Вилучити порожні рядки¶
Added in version 4.4.
- Ідентифікатор додатка:
weblate.cleanup.blank
- Налаштування:
Цей додаток не має налаштувань.
- Перемикачі:
обробка сховища після внеску, обробка сховища після оновлення
Вилучає рядки без перекладу з файлів перекладу.
Використовуйте це, якщо не хочете, щоб порожні рядки з’являлись у файлах перекладу (наприклад, коли у бібліотеці локалізації їх показано як пропущені рядки, а не повернено до початкового рядка).
Дивись також
Очищення файлів перекладу¶
- Ідентифікатор додатка:
weblate.cleanup.generic
- Налаштування:
Цей додаток не має налаштувань.
- Перемикачі:
обробка сховища до оновлення, обробка сховища після оновлення
Оновіть всі файли перекладу, щоб вони відповідали одномовному основному файлу. Для більшості форматів файлів це означає видалення застарілих перекладацьких ключів, які вже відсутні у основному файлі.
For formats containing additional content besides translation strings (such as Файли HTML, Файли RC Windows, or Формат OpenDocument) this also brings the translation file in sync with the base file.
Дивись також
Додавання нових мов¶
- Ідентифікатор додатка:
weblate.consistency.languages
- Налаштування:
Цей додаток не має налаштувань.
- Перемикачі:
щоденна обробка, обробка сховища після додавання
Забезпечує використання однорідного набору мов для всіх складників проєкту.
Пошук пропущених мов відбувається кожні 24 години і при додаванні нових мов у Weblate.
На відміну від інших, цей додаток стосується усього проєкту.
Підказка
Автоматичний переклад нових доданих рядків за допомогою Автоматичний переклад.
Виявлення складників¶
- Ідентифікатор додатка:
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 в усіх полях назви файла. Приклад:
{{ component }}
Збіг назви файлу складника
{{ component|title }}
Назва файла складника з великою першою буквою
{{ path }}: {{ component }}
Нетипова група відповідності на основі формального виразу
Після натискання кнопки Зберегти буде показано попередній перегляд відповідних складників, за допомогою якого ви зможете перевірити, чи відповідають налаштування вашим потребам:
Приклади виявленння складників¶
Одна тека на мову¶
Одна тека для мови, що містить файли перекладів для складників.
- Формальний вираз:
(?P<language>[^/.]*)/(?P<component>[^/]*)\.po
- Відповідні файли:
cs/application.po
cs/website.po
de/application.po
de/website.po
Компонування локалей Gettext¶
Звичайна структура для збереження файлів gettex PO.
- Формальний вираз:
locale/(?P<language>[^/.]*)/LC_MESSAGES/(?P<component>[^/]*)\.po
- Відповідні файли:
locale/cs/LC_MESSAGES/application.po
locale/cs/LC_MESSAGES/website.po
locale/de/LC_MESSAGES/application.po
locale/de/LC_MESSAGES/website.po
Складні назви файлів¶
Використання складників та назви мови в імені файлу.
- Формальний вираз:
src/locale/(?P<component>[^/]*)\.(?P<language>[^/.]*)\.po
- Відповідні файли:
src/locale/application.cs.po
src/locale/website.cs.po
src/locale/application.de.po
src/locale/website.de.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, розбиті на декілька файлів.
- Формальний вираз:
res/values-(?P<language>[^/.]*)/strings-(?P<component>[^/]*)\.xml
- Відповідні файли:
res/values-cs/strings-about.xml
res/values-cs/strings-help.xml
res/values-de/strings-about.xml
res/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.properties
parent/module1/submodule/src/main/resources/ApplicationResource_es.properties
parent/module2/src/main/resources/ApplicationResource_de.properties
parent/module2/src/main/resources/ApplicationResource_ro.properties
Підказка
Додаток виявлення складників використовує внутрішні адреси. Це зручний спосіб використовувати однакові налаштування системи керування версіями для кількох складників одночасно. Пов’язані складники використовують локальне сховище головного складника шляхом вписування weblate://проєкт/основний-складник
до поля Сховище з джерелами (у Керування ↓ Параметри ↓ Система керування версіями) кожного відповідного складника. Це також надає змогу заощадити час на налаштування та ресурси системи.
Дивись також
Масове редагування¶
- Ідентифікатор додатка:
weblate.flags.bulk
- Налаштування:
q
Запит
state
Стан для встановлення
Доступні варіанти:
-1
— не змінювати10
— потребує редагування20
— перекладено30
— затвердженоadd_flags
Додати наступні прапорці перекладу
remove_flags
Вилучити наступні прапорці перекладу
add_labels
Мітки для додавання
remove_labels
Мітки для видалення
- Перемикачі:
оновлення складника
Надає можливість пакетного редагування прапорців, міток або стану рядків.
Автоматизуйте встановлення міток для нових рядків — почніть з пошукового запиту NOT has:label
і додавайте мітки, доки для всіх рядків буде встановлено потрібні мітки. Ви також можете виконувати будь-які інші автоматизовані дії для метаданих Weblate.
Приклади:
Запит щодо пошуку |
|
---|---|
Мітки для додавання |
recent |
Запит щодо пошуку |
|
---|---|
Додати наступні прапорці перекладу |
|
Позначити незмінені переклади як такі, що потребують редагування¶
- Ідентифікатор додатка:
weblate.flags.same_edit
- Налаштування:
Цей додаток не має налаштувань.
- Перемикачі:
обробка модуля після створення
Кожного разу, коли новий перекладний рядок імпортується з VCS, і він збігається із початковим рядком, його буде позначено як такий, що потребує редагування у Weblate. Це особливо корисно для форматів файлів, які включають початкові рядки, навіть ті, які не перекладено.
Підказка
Можливо, ви також захочете зробити строгішою перевірку Переклад не змінено, додавши до Прапорці перекладу прапорець strict-same
.
Дивись також
Позначити нові джерельні рядки як „потребують редагування“¶
- Ідентифікатор додатка:
weblate.flags.source_edit
- Налаштування:
Цей додаток не має налаштувань.
- Перемикачі:
обробка модуля після створення
Щоразу, коли новий джерельний рядок імпортується з VCS, він позначається, що потребує редагування в Weblate. Таким чином, ви можете легко фільтрувати та редагувати початкові рядки, написані розробниками.
Дивись також
Позначити нові переклади як такі, що потребують редагування¶
- Ідентифікатор додатка:
weblate.flags.target_edit
- Налаштування:
Цей додаток не має налаштувань.
- Перемикачі:
обробка модуля після створення
Кожного разу, коли новий перекладний рядок імпортується з 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
- Налаштування:
Цей додаток не має налаштувань.
- Перемикачі:
оновлення складників, щоденно
Заповнює рядки перекладу початковими рядками.
Усі неперекладені рядки складника буде заповнено початковими рядками та позначено такими, що потребують редагування. Скористайтеся цим, якщо у файла перекладу всі переклади мають бути непорожніми.
Створення псевдолокалей¶
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___________
— суфікс буде повторено один раз для кожного символу у початковому рядку.
Рядки буде створено за таким взірцем:
Фіксований префікс рядка Змінний префікс рядка Джерельний рядок Змінний суфікс рядка Фіксований суфікс рядка
Підказка
Ви можете використовувати справжні мови для перевірки, але у 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
при додаванні нового перекладу.
Налаштувати виведення gettext¶
- Ідентифікатор додатка:
weblate.gettext.customize
- Налаштування:
width
Обтікання довгих рядків
Типово gettext переносить рядки на 77-у символі та на символах перенесення рядків, з параметром –no-wrap перенесення виконується лише на символах перенесення рядків.
Доступні варіанти:
77
– перенесення рядків на 77 символах на символах перенесення рядків (типово для xgettext)65535
– перенесення рядків лише після символу нового рядка (подібно до «xgettext –no-wrap»)-1
— без перенесення рядків- Перемикачі:
обробка після завантаження збережених даних
Уможливлює налаштовування виведення gettext, наприклад, перенесення рядків.
Пропонує такі варіанти дій:
Перенесення рядків на 77 символах на символах перенесення рядків
Перенесення рядків лише після символу нового рядку
Без перенесення рядків
Примітка
Типово gettext переносить рядки на 77-у символі та на символах перенесення рядків, з параметром --no-wrap
перенесення виконується лише на символах перенесення рядків.
Оновити файл LINGUAS¶
- Ідентифікатор додатка:
weblate.gettext.linguas
- Налаштування:
Цей додаток не має налаштувань.
- Перемикачі:
обробка сховища після додавання, щоденна обробка
Оновлює файл LINGUAS, коли додано новий переклад.
Генерувати mo-файли¶
- Ідентифікатор додатка:
weblate.gettext.mo
- Налаштування:
path
Шлях до згенерованого MO-файлу
Якщо не вказано, використовуватиметься розташування PO-файлу.
fuzzy
Включати рядки, які потребують редагування
Рядки, що потребують редагування (неточні), зазвичай не готові до використання як переклади.
- Перемикачі:
обробка сховища до внеску
Автоматично створює mo-файл для кожного зміненого po-файла.
Розташування створеного файла MO можна налаштувати. У полі для нього використовується мова розмітки.
Примітка
Якщо переклад буде вилучено, його файл PO буде вилучено зі сховища, але файл MO, який створено цим додатком, вилучено не буде. Файл MO доведеться вилучити зі сховища основного коду вручну.
Оновити файли po, порівнявши із pot (msgmerge)¶
- Ідентифікатор додатка:
weblate.gettext.msgmerge
- Налаштування:
previous
Зберігати попередні msgid перекладених рядків
no_location
Видаліть місця перекладених рядків
fuzzy
Використовувати нечіткий збіг
- Перемикачі:
обробка сховища після оновлення
Оновлює усі файли PO (які налаштовано у Маска файлів) так, щоб вони відповідали файлу POT (який налаштовано у Шаблон для нових перекладів), за допомогою msgmerge.
Спрацьовує щоразу, коли нові зміни витягуються із основного сховища даних, щоб вони відповідали ref:component-new_base. Ви можете налаштувати більшість параметрів командного рядка msgmerge за допомогою налаштувань додатка.
Дивись також
Сполучити Git подання¶
- Ідентифікатор додатка:
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¶
- Ідентифікатор додатка:
weblate.json.customize
- Налаштування:
sort_keys
Сортувати ключі JSON
indent
Відступи JSON
style
Стиль відступів JSON
Доступні варіанти:
spaces
— пробілиtabs
— табуляції- Перемикачі:
обробка після завантаження збережених даних
Дозволяє налагодити виведення JSON, наприклад відступи та упорядкування.
Форматувати файл властивостей Java¶
- Ідентифікатор додатка:
weblate.properties.sort
- Налаштування:
case_sensitive
Enable case-sensitive key sorting
- Перемикачі:
обробка сховища до внеску
Форматує й упорядковує файл властивостей Java.
Встановлює усюди символи нового рядка Unix.
Встановлює форматування керівних послідовностей Unicode (якщо такі є) з використанням великих літер.
Вилучає порожні рядки і коментарі.
Упорядковує рядки за ключовими значеннями.
Відкидає рядки-повтори.
Видалення застарілого коментаря¶
- Ідентифікатор додатка:
weblate.removal.comments
- Налаштування:
age
Дні для збереження
- Перемикачі:
щоденно
Вказати термін вилучення застарілих коментарів.
Це може бути корисним для вилучення застарілих коментарів, які могли перестати бути актуальними. Користайтеся цією можливістю обережно, оскільки те, що коментар застарів, не означає, що він перестав бути важливим.
Видалити застарілу пропозицію¶
- Ідентифікатор додатка:
weblate.removal.suggestions
- Налаштування:
age
Дні для збереження
votes
Поріг голосування
Поріг для видалення. Це поле не впливає при вимкненні голосування.
- Перемикачі:
щоденно
Встановити строк вилучення пропозицій.
Це може бути дуже корисним у поєднанні із голосуванням за пропозиції (див. Експертне рецензування) для вилучення пропозицій, які не отримують достатньої кількості позитивних голосів протягом вказаного часового проміжку.
Оновити файли RESX¶
- Ідентифікатор додатка:
weblate.resx.update
- Налаштування:
Цей додаток не має налаштувань.
- Перемикачі:
обробка сховища після оновлення
Оновити усі файли перекладу, щоб вони відповідали одномовному основному файлу. Невикористані рядки вилучаються, а нові додаються як копії початкового рядка.
Підказка
Скористайтеся Очищення файлів перекладу, якщо ви хочете лише вилучити застарілі переклади.
Дивись також
Налагодити виведення XML¶
Added in version 4.15.
- Ідентифікатор додатка:
weblate.xml.customize
- Налаштування:
closing_tags
Включати завершальний теґ для порожніх теґів XML
- Перемикачі:
обробка після завантаження збережених даних
Дозволяє налаштовувати поведінку виводу XML, наприклад, обробку завершальних теґів.
Налагодити виведення YAML¶
- Ідентифікатор додатка:
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 AddonEvent
from weblate.addons.scripts import BaseScriptAddon
class ExamplePreAddon(BaseScriptAddon):
# Event used to trigger the script
events = (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
.