Програмний інтерфейс REST Weblate#
Програмний інтерфейс доступний через /api/
в URL і побудовано на бібліотеці REST Django. Можете користуватися ним безпосередньо або через Клієнт Weblate.
Розпізнавання і типові параметри#
Відкритий програмний інтерфейс проєкту доступний без розпізнавання користувача, хоча частоту запитів користувачів, які не пройшли розпізнавання, значно зменшено (типово, до 100 запитів на добу). Через це рекомендуємо вам користуватися розпізнаванням. У розпізнаванні використовується ключ, який ви можете отримати у вашому профілі. Використовуйте його в заголовку Authorization
:
- ANY /#
Типова поведінка запиту для програмного інтерфейсу, заголовків, кодів стану та параметрів у цьому розділі стосується також усі інших кінцевих точок.
- Параметри запиту:
format – Формат відповіді (перевизначає Accept). Можливі значення залежать від налаштування бібліотеки REST. Типово, передбачено підтримку
json
іapi
. Остання надає інтерфейсу браузера для програмного інтерфейсу.page – Повертає вказану сторінку розбитих на сторінки результатів (скористайтеся полями next у previous у відповіді, щоб автоматизувати навігацію).
- Заголовки запиту:
Authorization – необов’язковий ключ для розпізнавання як-от
Authorization: Token YOUR-TOKEN
- Заголовки відповіді:
Content-Type – це залежить від заголовка Accept запиту
Allow – список дозволених методів HTTP на об’єкті
- Об’єкт відповіді JSON:
detail (string) – докладний опис результатів (для кодів станів HTTP, відмінних від 200 OK)
count (int) – загальна кількість записів для списків об’єктів
next (string) – адреса наступної сторінки для списків об’єктів
previous (string) – адреса попередньої сторінки для списків об’єктів
results (array) – підсумки для списку об’єктів
url (string) – Адреса для доступу до цього ресурсу за допомогою програмного інтерфейсу
web_url (string) – Адреса для доступу до цього ресурсу за допомогою браузера
- Коди станів:
200 OK – якщо запит було оброблено коректно
201 Created – якщо новий об’єкт було успішно створено
204 No Content – якщо об’єкт було успішно вилучено
400 Bad Request – якщо не вказано параметри форми
403 Forbidden – якщо заборонено доступ
429 Too Many Requests – якщо увімкнено обмеження швидкості
Жетони розпізнавання#
Змінено в версії 4.10: Жетони рівня проєкту було впроваджено у випуску 4.10.
У кожного користувача є власний жетон доступу, який можна отримати зі сторінки профілю користувача. Новостворені жетони користувачів мають префікс wlu_
.
Передбачено можливість створення жетонів для доступу до програмного інтерфейсу на рівні певного проєкту. Ці жетони можна розпізнати за префіксом wlp_
.
Приклади розпізнавання#
Приклад запиту:
GET /api/ HTTP/1.1
Host: example.com
Accept: application/json, text/javascript
Authorization: Token YOUR-TOKEN
Приклад відповіді:
HTTP/1.0 200 OK
Date: Fri, 25 Mar 2016 09:46:12 GMT
Server: WSGIServer/0.1 Python/2.7.11+
Vary: Accept, Accept-Language, Cookie
X-Frame-Options: SAMEORIGIN
Content-Type: application/json
Content-Language: en
Allow: GET, HEAD, OPTIONS
{
"projects":"http://example.com/api/projects/",
"components":"http://example.com/api/components/",
"translations":"http://example.com/api/translations/",
"languages":"http://example.com/api/languages/"
}
Приклад для CURL:
curl \
-H "Authorization: Token TOKEN" \
https://example.com/api/
Приклади передавання параметрів#
Для методу POST параметри можна вказати як подану форму (application/x-www-form-urlencoded) або як JSON (application/json).
Приклад запиту форми:
POST /api/projects/hello/repository/ HTTP/1.1
Host: example.com
Accept: application/json
Content-Type: application/x-www-form-urlencoded
Authorization: Token TOKEN
operation=pull
Приклад запиту JSON:
POST /api/projects/hello/repository/ HTTP/1.1
Host: example.com
Accept: application/json
Content-Type: application/json
Authorization: Token TOKEN
Content-Length: 20
{"operation":"pull"}
Приклад для CURL:
curl \
-d operation=pull \
-H "Authorization: Token TOKEN" \
http://example.com/api/components/hello/weblate/repository/
Приклад JSON для CURL:
curl \
--data-binary '{"operation":"pull"}' \
-H "Content-Type: application/json" \
-H "Authorization: Token TOKEN" \
http://example.com/api/components/hello/weblate/repository/
Обмеження частоти у програмному інтерфейсі#
Запити до програмного інтерфейсу обмежено за частотою: за типових налаштувань можна виконувати не більше 100 запитів на день для анонімних користувачів і не більше 5000 запитів на годину для користувачів, які пройшли розпізнавання у системі.
Обмеження за частотою можна скоригувати у файлі settings.py
; див. дроселювання у документації до бібліотек REST Django, щоб дізнатися більше про те, як налаштувати це обмеження.
У контейнері Docker домен сайта можна налаштувати за допомогою WEBLATE_API_RATELIMIT_ANON
та WEBLATE_API_RATELIMIT_USER
.
Стан обмеження за частотою повідомляється за допомогою таких частин заголовка:
|
Обмеження за частотою запитів |
|
Залишок до обмеження на запити |
|
Кількість секунд до скидання обмеження за частотою у вікні обробки |
Змінено в версії 4.1: Додано частини заголовка, пов’язані зі станом засобу обмеження за частотою.
Точка входу до програмного інтерфейсу#
- GET /api/#
Коренева точка входу до програмного інтерфейсу.
Приклад запиту:
GET /api/ HTTP/1.1 Host: example.com Accept: application/json, text/javascript Authorization: Token YOUR-TOKEN
Приклад відповіді:
HTTP/1.0 200 OK Date: Fri, 25 Mar 2016 09:46:12 GMT Server: WSGIServer/0.1 Python/2.7.11+ Vary: Accept, Accept-Language, Cookie X-Frame-Options: SAMEORIGIN Content-Type: application/json Content-Language: en Allow: GET, HEAD, OPTIONS { "projects":"http://example.com/api/projects/", "components":"http://example.com/api/components/", "translations":"http://example.com/api/translations/", "languages":"http://example.com/api/languages/" }
Користувачі#
Нове в версії 4.0.
- GET /api/users/#
Повертає список користувачів, якщо у вас є права доступу до перегляду керування користувачами. Якщо у вас немає таких прав, ви зможете переглядати подробиці лише щодо свого облікового запису.
Дивись також
Атрибути об’єкта користувачів описано у
GET /api/users/(str:username)/
.
- POST /api/users/#
Створює обліковий запис користувача.
- Параметри:
username (string) – Імʼя користувача
full_name (string) – Повне ім’я користувача
email (string) – Адреса електронної пошти користувача
is_superuser (boolean) – Чи є користувач надкористувачем? (необов’язковий)
is_active (boolean) – Чи є користувач активним? (необов’язковий)
is_bot (boolean) – Чи є користувач ботом? (необов’язкове) (використовується для жетонів області проєкту)
- GET /api/users/(str: username)/#
Повертає відомості щодо користувачів.
- Параметри:
username (string) – Назва облікового запису користувача
- Об’єкт відповіді JSON:
username (string) – назва запису користувача
full_name (string) – повне ім’я користувача
email (string) – адреса електронної пошти користувача
is_superuser (boolean) – чи є користувач надкористувачем
is_active (boolean) – чи є користувач активним
is_bot (boolean) – чи є користувач ботом (використовується для жетонів рівня проєкту)
date_joined (string) – дата створення запису користувача
groups (array) – посилання на пов’язані групи; див.
GET /api/groups/(int:id)/
Приклад даних JSON:
{ "email": "user@example.com", "full_name": "Example User", "username": "exampleusername", "groups": [ "http://example.com/api/groups/2/", "http://example.com/api/groups/3/" ], "is_superuser": true, "is_active": true, "is_bot": false, "date_joined": "2020-03-29T18:42:42.617681Z", "url": "http://example.com/api/users/exampleusername/", "statistics_url": "http://example.com/api/users/exampleusername/statistics/" }
- PUT /api/users/(str: username)/#
Змінює параметри користувача.
- Параметри:
username (string) – Назва облікового запису користувача
- Об’єкт відповіді JSON:
username (string) – назва запису користувача
full_name (string) – повне ім’я користувача
email (string) – адреса електронної пошти користувача
is_superuser (boolean) – чи є користувач надкористувачем
is_active (boolean) – чи є користувач активним
is_bot (boolean) – чи є користувач ботом (використовується для жетонів рівня проєкту)
date_joined (string) – дата створення запису користувача
- PATCH /api/users/(str: username)/#
Змінює параметри користувача.
- Параметри:
username (string) – Назва облікового запису користувача
- Об’єкт відповіді JSON:
username (string) – назва запису користувача
full_name (string) – повне ім’я користувача
email (string) – адреса електронної пошти користувача
is_superuser (boolean) – чи є користувач надкористувачем
is_active (boolean) – чи є користувач активним
is_bot (boolean) – чи є користувач ботом (використовується для жетонів рівня проєкту)
date_joined (string) – дата створення запису користувача
- DELETE /api/users/(str: username)/#
Вилучає усі дані користувача і позначає користувача як неактивного.
- Параметри:
username (string) – Назва облікового запису користувача
- POST /api/users/(str: username)/groups/#
Пов’язати групи з користувачем.
- Параметри:
username (string) – Назва облікового запису користувача
- Параметри форми:
string group_id – Унікальний ідентифікатор групи
- DELETE /api/users/(str: username)/groups/#
Нове в версії 4.13.1.
Вилучити користувача з групи.
- Параметри:
username (string) – Назва облікового запису користувача
- Параметри форми:
string group_id – Унікальний ідентифікатор групи
- GET /api/users/(str: username)/statistics/#
Список статистичних даних користувача.
- Параметри:
username (string) – Назва облікового запису користувача
- Об’єкт відповіді JSON:
translated (int) – Кількість перекладів, автором яких є користувач
suggested (int) – Кількість пропозицій, автором яких є користувач
uploaded (int) – Кількість вивантажень, автором яких є користувач
commented (int) – Кількість коментарів, автором яких є користувач
languages (int) – Кількість мов, якими може перекладати користувач
- GET /api/users/(str: username)/notifications/#
Список передплат користувача.
- Параметри:
username (string) – Назва облікового запису користувача
- POST /api/users/(str: username)/notifications/#
Пов’язати передплату із користувачем.
- Параметри:
username (string) – Назва облікового запису користувача
- Надіслати запит щодо об’єкта JSON:
notification (string) – Назва зареєстрованого сповіщення
scope (int) – Область сповіщень з доступних варіантів
frequency (int) – Варіанти частоти сповіщення
- GET /api/users/(str: username)/notifications/(int: subscription_id)/#
Отримати передплату, яку пов’язано із користувачем.
- Параметри:
username (string) – Назва облікового запису користувача
subscription_id (int) – Ідентифікатор зареєстрованого сповіщення
- PUT /api/users/(str: username)/notifications/(int: subscription_id)/#
Редагувати передплату, яку пов’язано із користувачем.
- Параметри:
username (string) – Назва облікового запису користувача
subscription_id (int) – Ідентифікатор зареєстрованого сповіщення
- Надіслати запит щодо об’єкта JSON:
notification (string) – Назва зареєстрованого сповіщення
scope (int) – Область сповіщень з доступних варіантів
frequency (int) – Варіанти частоти сповіщення
- PATCH /api/users/(str: username)/notifications/(int: subscription_id)/#
Редагувати передплату, яку пов’язано із користувачем.
- Параметри:
username (string) – Назва облікового запису користувача
subscription_id (int) – Ідентифікатор зареєстрованого сповіщення
- Надіслати запит щодо об’єкта JSON:
notification (string) – Назва зареєстрованого сповіщення
scope (int) – Область сповіщень з доступних варіантів
frequency (int) – Варіанти частоти сповіщення
- DELETE /api/users/(str: username)/notifications/(int: subscription_id)/#
Вилучити передплату, яку пов’язано із користувачем.
- Параметри:
username (string) – Назва облікового запису користувача
subscription_id – Назва зареєстрованого сповіщення
subscription_id – int
Групи#
Нове в версії 4.0.
- GET /api/groups/#
Повертає список груп, якщо у вас є права доступу для перегляду групи керування. Якщо прав немає, ви зможете переглянути лише групи, частиною яких є користувач.
Дивись також
Атрибути об’єкта групи описано у
GET /api/groups/(int:id)/
.
- POST /api/groups/#
Створює групу.
- Параметри:
name (string) – Назва групи
project_selection (int) – Вибір групи проєкту за вказаними параметрами
language_selection (int) – Група мов, яку вибрано за вказаними параметрами
defining_project (str) – посилання на визначальний проєкт, використовується для Керування правами доступу на рівні проєкту; див.
GET /api/projects/(string:project)/
- GET /api/groups/(int: id)/#
Повертає відомості щодо групи.
- Параметри:
id (int) – Ідентифікатор групи
- Об’єкт відповіді JSON:
name (string) – назва групи
project_selection (int) – ціле число, що відповідає групі проєктів
language_selection (int) – ціле число, що відповідає групі мов
roles (array) – посилання на пов’язані ролі; див.
GET /api/roles/(int:id)/
projects (array) – посилання на пов’язані проєкти; див.
GET /api/projects/(string:project)/
components (array) – посилання на пов’язані складники; див.
GET /api/components/(string:project)/(string:component)/
componentlists (array) – посилання на пов’язаний список складників; див.
GET /api/component-lists/(str:slug)/
defining_project (str) – посилання на визначальний проєкт, використовується для Керування правами доступу на рівні проєкту; див.
GET /api/projects/(string:project)/
Приклад даних JSON:
{ "name": "Guests", "defining_project": null, "project_selection": 3, "language_selection": 1, "url": "http://example.com/api/groups/1/", "roles": [ "http://example.com/api/roles/1/", "http://example.com/api/roles/2/" ], "languages": [ "http://example.com/api/languages/en/", "http://example.com/api/languages/cs/", ], "projects": [ "http://example.com/api/projects/demo1/", "http://example.com/api/projects/demo/" ], "componentlist": "http://example.com/api/component-lists/new/", "components": [ "http://example.com/api/components/demo/weblate/" ] }
- PUT /api/groups/(int: id)/#
Змінює параметри групи.
- Параметри:
id (int) – Ідентифікатор групи
- Об’єкт відповіді JSON:
name (string) – назва групи
project_selection (int) – ціле число, що відповідає групі проєктів
language_selection (int) – ціле число, що відповідає групі мов
- PATCH /api/groups/(int: id)/#
Змінює параметри групи.
- Параметри:
id (int) – Ідентифікатор групи
- Об’єкт відповіді JSON:
name (string) – назва групи
project_selection (int) – ціле число, що відповідає групі проєктів
language_selection (int) – ціле число, що відповідає групі мов
- DELETE /api/groups/(int: id)/#
Вилучає групу.
- Параметри:
id (int) – Ідентифікатор групи
- POST /api/groups/(int: id)/roles/#
Пов’язати ролі з групою.
- Параметри:
id (int) – Ідентифікатор групи
- Параметри форми:
string role_id – Унікальний ідентифікатор ролі
- POST /api/groups/(int: id)/components/#
Пов’язати складники з групою.
- Параметри:
id (int) – Ідентифікатор групи
- Параметри форми:
string component_id – Унікальний ідентифікатор складника
- DELETE /api/groups/(int: id)/components/(int: component_id)#
Вилучити складник з групи.
- Параметри:
id (int) – Ідентифікатор групи
component_id (int) – Унікальний ідентифікатор складника
- POST /api/groups/(int: id)/projects/#
Пов’язати проєкти з групою.
- Параметри:
id (int) – Ідентифікатор групи
- Параметри форми:
string project_id – Унікальний ідентифікатор проєкту
- DELETE /api/groups/(int: id)/projects/(int: project_id)#
Вилучити проєкт з групи.
- Параметри:
id (int) – Ідентифікатор групи
project_id (int) – Унікальний ідентифікатор проєкту
- POST /api/groups/(int: id)/languages/#
Пов’язати мови з групою.
- Параметри:
id (int) – Ідентифікатор групи
- Параметри форми:
string language_code – Унікальний код мови
- DELETE /api/groups/(int: id)/languages/(string: language_code)#
Вилучити мову з групи.
- Параметри:
id (int) – Ідентифікатор групи
language_code (string) – Унікальний код мови
- POST /api/groups/(int: id)/componentlists/#
Пов’язати списки складників з групою.
- Параметри:
id (int) – Ідентифікатор групи
- Параметри форми:
string component_list_id – Унікальний ідентифікатор списку складників
- DELETE /api/groups/(int: id)/componentlists/(int: component_list_id)#
Вилучає список складників з групи.
- Параметри:
id (int) – Ідентифікатор групи
component_list_id (int) – Унікальний ідентифікатор списку складників
Ролі#
- GET /api/roles/#
Повертає список усіх ролей, які пов’язано із користувачем. Якщо користувач є надкористувачем, буде повернуто список усіх наявних ролей.
Дивись також
Атрибути об’єкта ролей документовано у
GET /api/roles/(int:id)/
.
- POST /api/roles/#
Створює роль.
- Параметри:
name (string) – Назва ролі
permissions (array) – Список кодових назв прав доступу
- GET /api/roles/(int: id)/#
Повертає відомості щодо ролі.
- Параметри:
id (int) – Ідентифікатор ролі
- Об’єкт відповіді JSON:
name (string) – Назва ролі
permissions (array) – список кодових назв прав доступу
Приклад даних JSON:
{ "name": "Access repository", "permissions": [ "vcs.access", "vcs.view" ], "url": "http://example.com/api/roles/1/", }
- PUT /api/roles/(int: id)/#
Змінює параметри ролі.
- Параметри:
id (int) – Ідентифікатор ролі
- Об’єкт відповіді JSON:
name (string) – Назва ролі
permissions (array) – список кодових назв прав доступу
- PATCH /api/roles/(int: id)/#
Змінює параметри ролі.
- Параметри:
id (int) – Ідентифікатор ролі
- Об’єкт відповіді JSON:
name (string) – Назва ролі
permissions (array) – список кодових назв прав доступу
- DELETE /api/roles/(int: id)/#
Вилучає роль.
- Параметри:
id (int) – Ідентифікатор ролі
Мови#
- GET /api/languages/#
Повертає список усіх мов.
Дивись також
Атрибути об’єкта ролі описано у
GET /api/languages/(string:language)/
.
- POST /api/languages/#
Створює мову.
- Параметри:
code (string) – Назва мови
name (string) – Назва мови
direction (string) – Напрямок тексту
population (int) – Кількість мовців
plural (object) – Кількість і формула форм множини мови
- GET /api/languages/(string: language)/#
Повертає відомості щодо мови.
- Параметри:
language (string) – Код мови
- Об’єкт відповіді JSON:
code (string) – Код мови
direction (string) – Напрямок тексту
plural (object) – Об’єкт даних щодо форм множини мови
aliases (array) – Масив альтернативних назв мови
- Надіслати запит щодо об’єкта JSON:
population (int) – Кількість мовців
Приклад даних JSON:
{ "code": "en", "direction": "ltr", "name": "English", "population": 159034349015, "plural": { "id": 75, "source": 0, "number": 2, "formula": "n != 1", "type": 1 }, "aliases": [ "english", "en_en", "base", "source", "eng" ], "url": "http://example.com/api/languages/en/", "web_url": "http://example.com/languages/en/", "statistics_url": "http://example.com/api/languages/en/statistics/" }
- PUT /api/languages/(string: language)/#
Зміни у параметрах мови.
- Параметри:
language (string) – Код мови
- Надіслати запит щодо об’єкта JSON:
name (string) – Назва мови
direction (string) – Напрямок тексту
population (int) – Кількість мовців
plural (object) – Подробиці щодо форм множини мови
- PATCH /api/languages/(string: language)/#
Зміни у параметрах мови.
- Параметри:
language (string) – Код мови
- Надіслати запит щодо об’єкта JSON:
name (string) – Назва мови
direction (string) – Напрямок тексту
population (int) – Кількість мовців
plural (object) – Подробиці щодо форм множини мови
- DELETE /api/languages/(string: language)/#
Вилучає мову.
- Параметри:
language (string) – Код мови
- GET /api/languages/(string: language)/statistics/#
Повертає статистику щодо мови.
- Параметри:
language (string) – Код мови
Дивись також
Returned attributes are described in Statistics.
Проєкти#
- GET /api/projects/#
Повертає список усіх проєктів.
Дивись також
Атрибути об’єкта проєкту описано у
GET /api/projects/(string:project)/
.
- POST /api/projects/#
Нове в версії 3.9.
Створює проєкт.
- Параметри:
name (string) – Назва проєкту
slug (string) – Ідентифікатор проєкту
web (string) – Вебсайт проєкту
- GET /api/projects/(string: project)/#
Повертає відомості щодо проєкту.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
- Об’єкт відповіді JSON:
name (string) – назва проєкту
slug (string) – ідентифікатор проєкту
web (string) – вебсайт проєкту
components_list_url (string) – адреса списку складників, див.
GET /api/projects/(string:project)/components/
repository_url (string) – адреса стану репозиторію, див.
GET /api/projects/(string:project)/repository/
changes_list_url (string) – адреса списку змін, див.
GET /api/projects/(string:project)/changes/
translation_review (boolean) – Увімкнути рецензії
source_review (boolean) – Увімкнути рецензування початкових даних
set_language_team (boolean) – Установлення заголовка «Language-Team»
enable_hooks (boolean) – Увімкнути обробники
instructions (string) – Вказівки щодо перекладу
language_aliases (string) – Альтернативні назви мови
Приклад даних JSON:
{ "name": "Hello", "slug": "hello", "url": "http://example.com/api/projects/hello/", "web": "https://weblate.org/", "web_url": "http://example.com/projects/hello/" }
- PATCH /api/projects/(string: project)/#
Нове в версії 4.3.
Редагувати проєкт розміщенням запиту PATCH.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
- PUT /api/projects/(string: project)/#
Нове в версії 4.3.
Редагувати проєкт розміщенням запиту PUT.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
- DELETE /api/projects/(string: project)/#
Нове в версії 3.9.
Вилучає проєкт.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
- GET /api/projects/(string: project)/changes/#
Повертає список змін у проєкті. Це, по суті,
GET /api/changes/
області видимості проєкту, які приймають ті самі параметри.- Параметри:
project (string) – Ідентифікатор адреси проєкту
- Об’єкт відповіді JSON:
results (array) – список об’єктів складника, див.
GET /api/changes/(int:id)/
- GET /api/projects/(string: project)/repository/#
Повертає відомості про стан репозиторію системи керування версіями. Ця кінцева точка містить лише загальне резюме для всіх репозиторіїв проєкту. Щоб отримати докладні дані про стан скористайтеся
GET /api/components/(string:project)/(string:component)/repository/
.- Параметри:
project (string) – Ідентифікатор адреси проєкту
- Об’єкт відповіді JSON:
needs_commit (boolean) – визначає, чи є якісь зміни у черзі внесків
needs_merge (boolean) – визначає, чи є якісь зміни у основному репозиторії для злиття
needs_push (boolean) – визначає, чи є якісь локальні зміни для запису
Приклад даних JSON:
{ "needs_commit": true, "needs_merge": false, "needs_push": true }
- POST /api/projects/(string: project)/repository/#
Виконує вказану дію над репозиторієм системи керування версіями.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
- Надіслати запит щодо об’єкта JSON:
operation (string) – Operation to perform: one of
push
,pull
,commit
,reset
,cleanup
,file-sync
,file-scan
- Об’єкт відповіді JSON:
result (boolean) – результат дії
Приклад для CURL:
curl \ -d operation=pull \ -H "Authorization: Token TOKEN" \ http://example.com/api/projects/hello/repository/
Приклад запиту JSON:
POST /api/projects/hello/repository/ HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json Authorization: Token TOKEN Content-Length: 20 {"operation":"pull"}
Приклад відповіді JSON:
HTTP/1.0 200 OK Date: Tue, 12 Apr 2016 09:32:50 GMT Server: WSGIServer/0.1 Python/2.7.11+ Vary: Accept, Accept-Language, Cookie X-Frame-Options: SAMEORIGIN Content-Type: application/json Content-Language: en Allow: GET, POST, HEAD, OPTIONS {"result":true}
- GET /api/projects/(string: project)/components/#
Повертає список складників перекладу у вказаному проєкті.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
- Об’єкт відповіді JSON:
results (array) – масив об’єктів складника, див.
GET /api/components/(string:project)/(string:component)/
- POST /api/projects/(string: project)/components/#
Нове в версії 3.9.
Змінено в версії 4.3: У новій версії параметри
zipfile
іdocfile
приймаються меншою кількістю складників системи керування версіями, див. Локальні файли.Змінено в версії 4.6: У нових версіях клоновані репозиторію автоматично спільно використовуються у межах проєкту з використанням Внутрішні адреси Weblate. Скористайтеся
disable_autoshare
, щоб вимкнути таку поведінку.Створює складники перекладу у вказаному проєкті.
Підказка
Використовуйте Внутрішні адреси Weblate під час створення кількох складників з одного репозиторію VCS.
Примітка
Більша частина дій зі створення складника виконується у фоновому режимі. Ознайомтеся із документацією до атрибута
task_url
створеного складника і стежте за поступом за його допомогою.- Параметри:
project (string) – Ідентифікатор адреси проєкту
- Параметри форми:
file zipfile – Фай ZIP, який слід вивантажити до Weblate для ініціалізації перекладів
file docfile – Документ для перекладу
boolean disable_autoshare – Вимикає автоматичне спільне використання репозиторіїв за допомогою Внутрішні адреси Weblate.
- Надіслати запит щодо об’єкта JSON:
object – Параметри складника; див.
GET /api/components/(string:project)/(string:component)/
- Об’єкт відповіді JSON:
result (object) – Створений об’єкт складника; див.
GET /api/components/(string:project)/(string:component)/
JSON не можна використовувати при вивантаженні файлів з використанням параметрів
zipfile
іdocfile
. Дані слід вивантажувати як multipart/form-data.Приклад запиту форми CURL:
curl \ --form docfile=@strings.html \ --form name=Weblate \ --form slug=weblate \ --form file_format=html \ --form new_lang=add \ -H "Authorization: Token TOKEN" \ http://example.com/api/projects/hello/components/
Приклад запиту JSON CURL:
curl \ --data-binary '{ "branch": "main", "file_format": "po", "filemask": "po/*.po", "name": "Weblate", "slug": "weblate", "repo": "https://github.com/WeblateOrg/hello.git", "template": "", "new_base": "po/hello.pot", "vcs": "git" }' \ -H "Content-Type: application/json" \ -H "Authorization: Token TOKEN" \ http://example.com/api/projects/hello/components/
Запит JSON для створення складника з Git:
POST /api/projects/hello/components/ HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json Authorization: Token TOKEN Content-Length: 20 { "branch": "main", "file_format": "po", "filemask": "po/*.po", "name": "Weblate", "slug": "weblate", "repo": "https://github.com/WeblateOrg/hello.git", "template": "", "new_base": "po/hello.pot", "vcs": "git" }
Запит JSON для створення складника на основі іншого складника:
POST /api/projects/hello/components/ HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json Authorization: Token TOKEN Content-Length: 20 { "file_format": "po", "filemask": "po/*.po", "name": "Weblate", "slug": "weblate", "repo": "weblate://weblate/hello", "template": "", "new_base": "po/hello.pot", "vcs": "git" }
Приклад відповіді JSON:
HTTP/1.0 200 OK Date: Tue, 12 Apr 2016 09:32:50 GMT Server: WSGIServer/0.1 Python/2.7.11+ Vary: Accept, Accept-Language, Cookie X-Frame-Options: SAMEORIGIN Content-Type: application/json Content-Language: en Allow: GET, POST, HEAD, OPTIONS { "branch": "main", "file_format": "po", "filemask": "po/*.po", "git_export": "", "license": "", "license_url": "", "name": "Weblate", "slug": "weblate", "project": { "name": "Hello", "slug": "hello", "source_language": { "code": "en", "direction": "ltr", "population": 159034349015, "name": "English", "url": "http://example.com/api/languages/en/", "web_url": "http://example.com/languages/en/" }, "url": "http://example.com/api/projects/hello/", "web": "https://weblate.org/", "web_url": "http://example.com/projects/hello/" }, "repo": "file:///home/nijel/work/weblate-hello", "template": "", "new_base": "", "url": "http://example.com/api/components/hello/weblate/", "vcs": "git", "web_url": "http://example.com/projects/hello/weblate/" }
- GET /api/projects/(string: project)/languages/#
Повертає поділену на сторінки статистику для всіх мов у проєкті.
Нове в версії 3.8.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
- Об’єкт відповіді JSON:
results (array) – масив об’єктів статистики перекладу
language (string) – назва мови
code (string) – код мови
total (int) – загальна кількість рядків
translated (int) – кількість перекладених рядків
translated_percent (float) – частка перекладених рядків
total_words (int) – загальна кількість слів
translated_words (int) – кількість перекладених слів
words_percent (float) – частка перекладених слів
- GET /api/projects/(string: project)/statistics/#
Повертає статистику проєкту.
Нове в версії 3.8.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
Дивись також
Returned attributes are described in Statistics.
Складники#
Підказка
Для створення компонентів скористайтеся POST /api/projects/(string:project)/components/
.
- GET /api/components/#
Повертає список складників перекладу.
Дивись також
Атрибути об’єкта складника документовано у
GET /api/components/(string:project)/(string:component)/
.
- GET /api/components/(string: project)/(string: component)/#
Повертає дані щодо складника перекладу.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
- Об’єкт відповіді JSON:
project (object) – проєкт перекладу, див.
GET /api/projects/(string:project)/
name (string) – Назва складника
slug (string) – Ідентифікатор складника
vcs (string) – Система керування версіями
repo (string) – Репозиторій з джерелами
git_export (string) – Експортований URL репозиторію
branch (string) – Гілка репозиторію
push_branch (string) – Гілка для запису
filemask (string) – Маска файлів
template (string) – Основний файл для одномовного перекладу
edit_template (string) – Змінити основний файл
intermediate (string) – Проміжний мовний файл
new_base (string) – Шаблон для нових перекладів
file_format (string) – Формат файлу
license (string) – Ліцензія перекладу
agreement (string) – Угода із учасником
new_lang (string) – Додавання нового перекладу
language_code_style (string) – Стиль коду мови
source_language (object) – об’єкт початкової мови, див.
GET /api/languages/(string:language)/
push (string) – Адреса для записування до репозиторію
check_flags (string) – Прапорці перекладу
priority (string) – Пріоритет
enforced_checks (string) – Примусові перевірки
restricted (string) – Обмежений доступ
repoweb (string) – Переглядач репозиторію
report_source_bugs (string) – Адреса для повідомлень про помилки у рядках
merge_style (string) – Стиль злиття
commit_message (string) – Повідомлення щодо внеску, додавання, вилучення, повідомлення додатків та запитів щодо об’єднання
add_message (string) – Повідомлення щодо внеску, додавання, вилучення, повідомлення додатків та запитів щодо об’єднання
delete_message (string) – Повідомлення щодо внеску, додавання, вилучення, повідомлення додатків та запитів щодо об’єднання
merge_message (string) – Повідомлення щодо внеску, додавання, вилучення, повідомлення додатків та запитів щодо об’єднання
addon_message (string) – Повідомлення щодо внеску, додавання, вилучення, повідомлення додатків та запитів щодо об’єднання
pull_message (string) – Повідомлення щодо внеску, додавання, вилучення, повідомлення додатків та запитів щодо об’єднання
allow_translation_propagation (string) – Дозволити поширення перекладу
enable_suggestions (string) – Пропонувати переклад
suggestion_voting (string) – Голосування за пропозицію
suggestion_autoaccept (string) – Автоматичне прийняття пропозиції
push_on_commit (string) – Відправляти при поданні
commit_pending_age (string) – Вік змін для подання
auto_lock_error (string) – Блокувати при помилці
language_regex (string) – Фільтр мов
variant_regex (string) – Формальний вираз варіантів
is_glossary (bool) – Використовувати як глосарій
glossary_color (string) – Колір глосарія
repository_url (string) – Адреса стану репозиторію, див.
GET /api/components/(string:project)/(string:component)/repository/
translations_url (string) – Адреса списку перекладів, див.
GET /api/components/(string:project)/(string:component)/translations/
lock_url (string) – Адреса для стану блокування, див.
GET /api/components/(string:project)/(string:component)/lock/
changes_list_url (string) – Адреса списку змін; див.
GET /api/components/(string:project)/(string:component)/changes/
task_url (string) – Адреса фонового завдання (якщо таке виконується); див.
GET /api/tasks/(str:uuid)/
Приклад даних JSON:
{ "branch": "main", "file_format": "po", "filemask": "po/*.po", "git_export": "", "license": "", "license_url": "", "name": "Weblate", "slug": "weblate", "project": { "name": "Hello", "slug": "hello", "source_language": { "code": "en", "direction": "ltr", "population": 159034349015, "name": "English", "url": "http://example.com/api/languages/en/", "web_url": "http://example.com/languages/en/" }, "url": "http://example.com/api/projects/hello/", "web": "https://weblate.org/", "web_url": "http://example.com/projects/hello/" }, "source_language": { "code": "en", "direction": "ltr", "population": 159034349015, "name": "English", "url": "http://example.com/api/languages/en/", "web_url": "http://example.com/languages/en/" }, "repo": "file:///home/nijel/work/weblate-hello", "template": "", "new_base": "", "url": "http://example.com/api/components/hello/weblate/", "vcs": "git", "web_url": "http://example.com/projects/hello/weblate/" }
- PATCH /api/components/(string: project)/(string: component)/#
Редагувати складник розміщенням запиту PATCH.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
source_language (string) – Код початкової мови проєкту (необов’язковий)
- Надіслати запит щодо об’єкта JSON:
name (string) – назва складника
slug (string) – ідентифікатор складника
repo (string) – адреса репозиторію системи керування версіями
Приклад для CURL:
curl \ --data-binary '{"name": "new name"}' \ -H "Content-Type: application/json" \ -H "Authorization: Token TOKEN" \ PATCH http://example.com/api/projects/hello/components/
Приклад запиту JSON:
PATCH /api/projects/hello/components/ HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json Authorization: Token TOKEN Content-Length: 20 { "name": "new name" }
Приклад відповіді JSON:
HTTP/1.0 200 OK Date: Tue, 12 Apr 2016 09:32:50 GMT Server: WSGIServer/0.1 Python/2.7.11+ Vary: Accept, Accept-Language, Cookie X-Frame-Options: SAMEORIGIN Content-Type: application/json Content-Language: en Allow: GET, POST, HEAD, OPTIONS { "branch": "main", "file_format": "po", "filemask": "po/*.po", "git_export": "", "license": "", "license_url": "", "name": "new name", "slug": "weblate", "project": { "name": "Hello", "slug": "hello", "source_language": { "code": "en", "direction": "ltr", "population": 159034349015, "name": "English", "url": "http://example.com/api/languages/en/", "web_url": "http://example.com/languages/en/" }, "url": "http://example.com/api/projects/hello/", "web": "https://weblate.org/", "web_url": "http://example.com/projects/hello/" }, "repo": "file:///home/nijel/work/weblate-hello", "template": "", "new_base": "", "url": "http://example.com/api/components/hello/weblate/", "vcs": "git", "web_url": "http://example.com/projects/hello/weblate/" }
- PUT /api/components/(string: project)/(string: component)/#
Редагувати складник розміщенням запиту PUT.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
- Надіслати запит щодо об’єкта JSON:
branch (string) – гілка репозиторію системи керування версіями
file_format (string) – формат файлів перекладів
filemask (string) – маска файлів перекладів у репозиторії
name (string) – назва складника
slug (string) – ідентифікатор складника
repo (string) – адреса репозиторію системи керування версіями
template (string) – базовий файл для одномовних перекладів
new_base (string) – базовий файл для додавання нових перекладів
vcs (string) – система керування версіями
- DELETE /api/components/(string: project)/(string: component)/#
Нове в версії 3.9.
Вилучає складник.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
- GET /api/components/(string: project)/(string: component)/changes/#
Повертає список змін у складнику. Це, по суті,
GET /api/changes/
області видимості складника, які приймають ті самі параметри.- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
- Об’єкт відповіді JSON:
results (array) – список об’єктів складника, див.
GET /api/changes/(int:id)/
- GET /api/components/(string: project)/(string: component)/file/#
Нове в версії 4.9.
Отримує усі доступні переклади, які пов’язано зі складником, як архів у вказаному форматі.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
- Параметри запиту:
format (string) – Формат архіву, яким слід скористатися. Якщо не вказано, типовим є
zip
. Підтримувані формати:zip
- GET /api/components/(string: project)/(string: component)/screenshots/#
Повертає список знімків вікон складника.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
- Об’єкт відповіді JSON:
results (array) – масив знімків вікон складника; див.
GET /api/screenshots/(int:id)/
- GET /api/components/(string: project)/(string: component)/lock/#
Повертає стан блокування складника.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
- Об’єкт відповіді JSON:
locked (boolean) – визначає, чи заблоковано складник від оновлень
Приклад даних JSON:
{ "locked": false }
- POST /api/components/(string: project)/(string: component)/lock/#
Установлює стан блокування складника.
Відповідь є тією самою, що і
GET /api/components/(string:project)/(string:component)/lock/
.- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
- Надіслати запит щодо об’єкта JSON:
lock – Булеве значення, яке визначає, замкнено репозиторій чи ні.
Приклад для CURL:
curl \ -d lock=true \ -H "Authorization: Token TOKEN" \ http://example.com/api/components/hello/weblate/repository/
Приклад запиту JSON:
POST /api/components/hello/weblate/repository/ HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json Authorization: Token TOKEN Content-Length: 20 {"lock": true}
Приклад відповіді JSON:
HTTP/1.0 200 OK Date: Tue, 12 Apr 2016 09:32:50 GMT Server: WSGIServer/0.1 Python/2.7.11+ Vary: Accept, Accept-Language, Cookie X-Frame-Options: SAMEORIGIN Content-Type: application/json Content-Language: en Allow: GET, POST, HEAD, OPTIONS {"locked":true}
- GET /api/components/(string: project)/(string: component)/repository/#
Повертає дані щодо стану репозиторію системи керування версіями.
Відповідь є тією самою, що і для
GET /api/projects/(string:project)/repository/
.- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
- Об’єкт відповіді JSON:
needs_commit (boolean) – визначає, чи є якісь зміни у черзі внесків
needs_merge (boolean) – визначає, чи є якісь зміни у основному репозиторії для злиття
needs_push (boolean) – визначає, чи є якісь локальні зміни для запису
remote_commit (string) – Дані віддаленого внеску
status (string) – Стан репозиторію системи керування версіями, який повідомляється системою керування версіями
merge_failure – Текст, що описує помилку злиття або null, якщо помилки немає
- POST /api/components/(string: project)/(string: component)/repository/#
Виконує вказану дію над репозиторієм системи керування версіями.
Див. документацію у
POST /api/projects/(string:project)/repository/
.- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
- Надіслати запит щодо об’єкта JSON:
operation (string) – Дія, яку слід виконати. Одне з таких значень:
push
,pull
,commit
,reset
,cleanup
- Об’єкт відповіді JSON:
result (boolean) – результат дії
Приклад для CURL:
curl \ -d operation=pull \ -H "Authorization: Token TOKEN" \ http://example.com/api/components/hello/weblate/repository/
Приклад запиту JSON:
POST /api/components/hello/weblate/repository/ HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json Authorization: Token TOKEN Content-Length: 20 {"operation":"pull"}
Приклад відповіді JSON:
HTTP/1.0 200 OK Date: Tue, 12 Apr 2016 09:32:50 GMT Server: WSGIServer/0.1 Python/2.7.11+ Vary: Accept, Accept-Language, Cookie X-Frame-Options: SAMEORIGIN Content-Type: application/json Content-Language: en Allow: GET, POST, HEAD, OPTIONS {"result":true}
- GET /api/components/(string: project)/(string: component)/monolingual_base/#
Завантажує базовий файл для одномовних перекладів.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
- GET /api/components/(string: project)/(string: component)/new_template/#
Завантажує файл шаблона для нових перекладів.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
- GET /api/components/(string: project)/(string: component)/translations/#
Повертає список об’єктів перекладу у вказаному складнику.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
- Об’єкт відповіді JSON:
results (array) – масив об’єктів перекладу, див.
GET /api/translations/(string:project)/(string:component)/(string:language)/
- POST /api/components/(string: project)/(string: component)/translations/#
Створює переклад у вказаному складнику.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
- Надіслати запит щодо об’єкта JSON:
language_code (string) – код мови перекладу; див.
GET /api/languages/(string:language)/
- Об’єкт відповіді JSON:
result (object) – створено об’єкт перекладу
Приклад для CURL:
curl \ -d language_code=cs \ -H "Authorization: Token TOKEN" \ http://example.com/api/projects/hello/components/
Приклад запиту JSON:
POST /api/projects/hello/components/ HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json Authorization: Token TOKEN Content-Length: 20 {"language_code": "cs"}
Приклад відповіді JSON:
HTTP/1.0 200 OK Date: Tue, 12 Apr 2016 09:32:50 GMT Server: WSGIServer/0.1 Python/2.7.11+ Vary: Accept, Accept-Language, Cookie X-Frame-Options: SAMEORIGIN Content-Type: application/json Content-Language: en Allow: GET, POST, HEAD, OPTIONS { "failing_checks": 0, "failing_checks_percent": 0, "failing_checks_words": 0, "filename": "po/cs.po", "fuzzy": 0, "fuzzy_percent": 0.0, "fuzzy_words": 0, "have_comment": 0, "have_suggestion": 0, "is_template": false, "is_source": false, "language": { "code": "cs", "direction": "ltr", "population": 1303174280 "name": "Czech", "url": "http://example.com/api/languages/cs/", "web_url": "http://example.com/languages/cs/" }, "language_code": "cs", "id": 125, "last_author": null, "last_change": null, "share_url": "http://example.com/engage/hello/cs/", "total": 4, "total_words": 15, "translate_url": "http://example.com/translate/hello/weblate/cs/", "translated": 0, "translated_percent": 0.0, "translated_words": 0, "url": "http://example.com/api/translations/hello/weblate/cs/", "web_url": "http://example.com/projects/hello/weblate/cs/" }
- GET /api/components/(string: project)/(string: component)/statistics/#
Повертає поділену на сторінки статистику для всіх перекладів складника.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
Дивись також
Returned attributes are described in Statistics.
- GET /api/components/(string: project)/(string: component)/links/#
Повертає проєкт, який пов’язано зі складником.
Нове в версії 4.5.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
- Об’єкт відповіді JSON:
projects (array) – пов’язані проєкти; див.
GET /api/projects/(string:project)/
- POST /api/components/(string: project)/(string: component)/links/#
Пов’язати проєкт зі складником.
Нове в версії 4.5.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
- Параметри форми:
string project_slug – Ідентифікатор проєкту
- DELETE /api/components/(string: project)/(string: component)/links/(string: project_slug)/#
Вилучити прив’язку проєкту до складника.
Нове в версії 4.5.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
project_slug (string) – Ідентифікатор проєкту, який слід вилучити
Переклади#
- GET /api/translations/#
Повертає список перекладів.
Дивись також
Атрибути об’єкта перекладу документовано у
GET /api/translations/(string:project)/(string:component)/(string:language)/
.
- GET /api/translations/(string: project)/(string: component)/(string: language)/#
Повертає відомості щодо перекладу.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
language (string) – Код мови перекладу
- Об’єкт відповіді JSON:
component (object) – об’єкт складника; див.
GET /api/components/(string:project)/(string:component)/
failing_checks (int) – кількість рядків, які не пройшли перевірки
failing_checks_percent (float) – відсоток рядків, які не пройшли перевірки
failing_checks_words (int) – кількість слів у рядках, які не пройшли перевірки
filename (string) – назва файла перекладу
fuzzy (int) – кількість неточно перекладених (позначених для редагування) рядків
fuzzy_percent (float) – частка неточно перекладених (позначених для редагування) рядків
fuzzy_words (int) – кількість слів у неточно перекладених (позначених для редагування) рядках
have_comment (int) – кількість рядків із коментарями
have_suggestion (int) – кількість рядків із пропозиціями
is_template (boolean) – чи переклад має одномовну основу
language (object) – об’єкт початкової мови, див.
GET /api/languages/(string:language)/
language_code (string) – код мови, використаний у репозиторії; може відрізнятися від коду мови у об’єкті мови
last_author (string) – ім’я останнього автора
last_change (timestamp) – часова позначка останньої зміни
revision (string) – хеш модифікації для файла
share_url (string) – Адреса для спільного ресурсу, що веде до сторінки участі
total (int) – загальна кількість рядків
total_words (int) – загальна кількість слів
translate_url (string) – Адреса для перекладу
translated (int) – кількість перекладених рядків
translated_percent (float) – частка перекладених рядків
translated_words (int) – кількість перекладених слів
repository_url (string) – Адреса стану репозиторію, див.
GET /api/translations/(string:project)/(string:component)/(string:language)/repository/
file_url (string) – Адреса об’єкта файла, див.
GET /api/translations/(string:project)/(string:component)/(string:language)/file/
changes_list_url (string) – Адреса списку змін, див.
GET /api/translations/(string:project)/(string:component)/(string:language)/changes/
units_list_url (string) – Адреса списку рядків, див.
GET /api/translations/(string:project)/(string:component)/(string:language)/units/
Приклад даних JSON:
{ "component": { "branch": "main", "file_format": "po", "filemask": "po/*.po", "git_export": "", "license": "", "license_url": "", "name": "Weblate", "new_base": "", "project": { "name": "Hello", "slug": "hello", "source_language": { "code": "en", "direction": "ltr", "population": 159034349015, "name": "English", "url": "http://example.com/api/languages/en/", "web_url": "http://example.com/languages/en/" }, "url": "http://example.com/api/projects/hello/", "web": "https://weblate.org/", "web_url": "http://example.com/projects/hello/" }, "repo": "file:///home/nijel/work/weblate-hello", "slug": "weblate", "template": "", "url": "http://example.com/api/components/hello/weblate/", "vcs": "git", "web_url": "http://example.com/projects/hello/weblate/" }, "failing_checks": 3, "failing_checks_percent": 75.0, "failing_checks_words": 11, "filename": "po/cs.po", "fuzzy": 0, "fuzzy_percent": 0.0, "fuzzy_words": 0, "have_comment": 0, "have_suggestion": 0, "is_template": false, "language": { "code": "cs", "direction": "ltr", "population": 1303174280 "name": "Czech", "url": "http://example.com/api/languages/cs/", "web_url": "http://example.com/languages/cs/" }, "language_code": "cs", "last_author": "Weblate Admin", "last_change": "2016-03-07T10:20:05.499", "revision": "7ddfafe6daaf57fc8654cc852ea6be212b015792", "share_url": "http://example.com/engage/hello/cs/", "total": 4, "total_words": 15, "translate_url": "http://example.com/translate/hello/weblate/cs/", "translated": 4, "translated_percent": 100.0, "translated_words": 15, "url": "http://example.com/api/translations/hello/weblate/cs/", "web_url": "http://example.com/projects/hello/weblate/cs/" }
- DELETE /api/translations/(string: project)/(string: component)/(string: language)/#
Нове в версії 3.9.
Вилучає переклад.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
language (string) – Код мови перекладу
- GET /api/translations/(string: project)/(string: component)/(string: language)/changes/#
Повертає список змін у перекладі. Це, по суті,
GET /api/changes/
області видимості перекладу, які приймають ті самі параметри.- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
language (string) – Код мови перекладу
- Об’єкт відповіді JSON:
results (array) – список об’єктів складника, див.
GET /api/changes/(int:id)/
- GET /api/translations/(string: project)/(string: component)/(string: language)/units/#
Повертає список модулів перекладу.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
language (string) – Код мови перекладу
q (string) – Рядок пошукового запиту Пошук (необов’язково)
- Об’єкт відповіді JSON:
results (array) – масив об’єктів складників; див.
GET /api/units/(int:id)/
- POST /api/translations/(string: project)/(string: component)/(string: language)/units/#
Додати новий модуль.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
language (string) – Код мови перекладу
- Надіслати запит щодо об’єкта JSON:
key (string) – Назва модуля перекладу (використовують як ключ або контекст)
value (array) – Початкові рядки (один рядок, якщо не створено форм множини)
state (int) – Стан рядка, див.
GET /api/units/(int:id)/
- Об’єкт відповіді JSON:
unit (object) – новостворений модуль; див.
GET /api/units/(int:id)/
Дивись також
- POST /api/translations/(string: project)/(string: component)/(string: language)/autotranslate/#
Перемкнути автоматичний переклад.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
language (string) – Код мови перекладу
- Надіслати запит щодо об’єкта JSON:
mode (string) – Режим автоматичного перекладу
filter_type (string) – Автоматичний тип фільтрування перекладів
auto_source (string) – Джерело автоматичного перекладу —
mt
абоothers
component (string) – Щоб отримати доступ до додаткових складників, увімкніть спільний внесок у памʼять перекладів для проєкту.
engines (array) – Рушії компʼютерного перекладу
threshold (string) – Поріг оцінки
- GET /api/translations/(string: project)/(string: component)/(string: language)/file/#
Отримати поточний файл перекладу у форматі, в якому він зберігається у системі керування версіями, (без параметра
format
) або у перетвореному форматі (див Отримання перекладів).Примітка
Ця кінцева точка програмного інтерфейсу використовує іншу логіку для виведення даних, якщо порівнювати із рештою програмного інтерфейсу, оскільки працює із цілим файлом, а не із даними цього файла. Набір прийнятних значень параметра``format`` є іншим. Без цього параметра ви отримаєте файл перекладу у тому форматі, у якому він зберігається у системі керування версіями.
- Параметри запиту:
format – Формат файлів, яким слід скористатися; якщо не вказано, перетворення формату не відбуватиметься; список підтримуваних форматів можна знайти у Отримання перекладів
q (string) – Фільтрувати отримані рядки, див. Сторінка пошуку, можна застосувати, лише якщо перетворення відбувається на місці (вказано
format
).
- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
language (string) – Код мови перекладу
- POST /api/translations/(string: project)/(string: component)/(string: language)/file/#
Вивантажити новий файл із перекладами.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
language (string) – Код мови перекладу
- Параметри форми:
string conflicts – Спосіб обробки конфліктів (
ignore
,replace-translated
абоreplace-approved
)file file – Вивантажений файл
string email – Адреса ел. пошти автора
string author – Ім’я автора
string method – Спосіб вивантаження (
translate
,approve
,suggest
,fuzzy
,replace
,source
,add
), див. Способи імпортуванняstring fuzzy – Обробка неточних (позначених для редагування) перекладів (empty,
process
,approve
)
Приклад для CURL:
curl -X POST \ -F file=@strings.xml \ -H "Authorization: Token TOKEN" \ http://example.com/api/translations/hello/android/cs/file/
- GET /api/translations/(string: project)/(string: component)/(string: language)/repository/#
Повертає дані щодо стану репозиторію системи керування версіями.
Відповідь така сама, як для
GET /api/components/(string:project)/(string:component)/repository/
.- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
language (string) – Код мови перекладу
- POST /api/translations/(string: project)/(string: component)/(string: language)/repository/#
Виконує вказану дію над репозиторієм системи керування версіями.
Див. документацію у
POST /api/projects/(string:project)/repository/
.- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
language (string) – Код мови перекладу
- Надіслати запит щодо об’єкта JSON:
operation (string) – Дія, яку слід виконати. Одне з таких значень:
push
,pull
,commit
,reset
,cleanup
- Об’єкт відповіді JSON:
result (boolean) – результат дії
- GET /api/translations/(string: project)/(string: component)/(string: language)/statistics/#
Повертає докладну статистику щодо перекладу.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
language (string) – Код мови перекладу
Дивись також
Returned attributes are described in Statistics.
Пам’ять#
Нове в версії 4.14.
- GET /api/memory/#
Повертає список результатів з пам’яті.
- DELETE /api/memory/(int: memory_object_id)/#
Вилучає об’єкт пам’яті
- Параметри:
memory_object_id – Ідентифікатор об’єкта пам’яті
Модулі#
Модуль — окрема одиниця перекладу, яка поєднує початковий рядок із відповідним рядком перекладу, а також містить деякі пов’язані із ними метадані. Термін походить з Translate Toolkit та XLIFF.
- GET /api/units/#
Повертає список модулів перекладу.
- Параметри:
q (string) – Рядок пошукового запиту Пошук (необов’язково)
Дивись також
Атрибути об’єкта модуля документовано у
GET /api/units/(int:id)/
.
- GET /api/units/(int: id)/#
Змінено в версії 4.3: У нових версіях
target
іsource
є масивами для належного зберігання форм множини.Повертає відомості щодо модуля перекладу.
- Параметри:
id (int) – Ід. модуля
- Об’єкт відповіді JSON:
translation (string) – Адреса пов’язаного об’єкта перекладу
source (array) – початковий рядок
previous_source (string) – попередній початковий рядок, який використано для встановлення приблизної відповідності
target (array) – рядок перекладу
id_hash (string) – унікальний ідентифікатор модуля
content_hash (string) – унікальний ідентифікатор початкового рядка
location (string) – розташування модуля у початковому рядку
context (string) – контекст модуля перекладу
note (string) – нотатка модуля перекладу
flags (string) – прапорці модуля перекладу
labels (array) – мітки модулів перекладу, доступні у початкових модулях
state (int) – стан модуля, 0 — не перекладено, 10 — потребує редагування, 20 — перекладено, 30 — затверджено, 100 — лише читання
fuzzy (boolean) – чи позначено модуль як неточний або такий, який потребує рецензування
translated (boolean) – чи є модуль перекладеним
approved (boolean) – чи затверджено переклад
position (int) – позиція модуля у файлі перекладу
has_suggestion (boolean) – чи має модуль пропозиції перекладу
has_comment (boolean) – чи має модуль коментарі
has_failing_check (boolean) – чи пройшов модуль усі перевірки
num_words (int) – кількість початкових слів
priority (int) – пріоритетність перекладу; типове значення — 100
id (int) – ідентифікатор модуля
explanation (string) – Пояснення щодо рядка, доступне у початкових модулях, див. Додаткові відомості щодо початкових рядків
extra_flags (string) – Додаткові прапорці рядків, доступні у початкових модулях, див. Налаштовування поведінки за допомогою прапорців
web_url (string) – адреса, за якою можна редагувати модуль
source_unit (string) – Посилання на модуль початкового коду; див.
GET /api/units/(int:id)/
pending (boolean) – чи є модуль частиною черги на запис
timestamp (timestamp) – вік рядків
- PATCH /api/units/(int: id)/#
Нове в версії 4.3.
Виконує часткове оновлення модуля перекладу.
- Параметри:
id (int) – Ід. модуля
- Надіслати запит щодо об’єкта JSON:
state (int) – стан модуля, 0 — не перекладено, 10 — потребує редагування, 20 — перекладено, 30 — затверджено (має бути увімкнено процедуру перекладу з рецензуванням, див. Спеціалізовані рецензенти)
target (array) – рядок перекладу
explanation (string) – Пояснення щодо рядка, доступне у початкових модулях, див. Додаткові відомості щодо початкових рядків
extra_flags (string) – Додаткові прапорці рядків, доступні у початкових модулях, див. Налаштовування поведінки за допомогою прапорців
- Об’єкт відповіді JSON:
labels (array) – мітки, доступні у початкових модулях
- PUT /api/units/(int: id)/#
Нове в версії 4.3.
Виконує повне оновлення модуля перекладу.
- Параметри:
id (int) – Ід. модуля
- Надіслати запит щодо об’єкта JSON:
state (int) – стан модуля, 0 — не перекладено, 10 — потребує редагування, 20 — перекладено, 30 — затверджено (має бути увімкнено процедуру перекладу з рецензуванням, див. Спеціалізовані рецензенти)
target (array) – рядок перекладу
explanation (string) – Пояснення щодо рядка, доступне у початкових модулях, див. Додаткові відомості щодо початкових рядків
extra_flags (string) – Додаткові прапорці рядків, доступні у початкових модулях, див. Налаштовування поведінки за допомогою прапорців
- Об’єкт відповіді JSON:
labels (array) – мітки, доступні у початкових модулях
- DELETE /api/units/(int: id)/#
Нове в версії 4.3.
Вилучає модуль перекладу.
- Параметри:
id (int) – Ід. модуля
Зміни#
- GET /api/changes/#
Змінено в версії 4.1: Фільтрування змін було впроваджено у випуску 4.1.
Повертає список змін у перекладі.
Дивись також
Атрибути об’єкта зміни документовано у
GET /api/units/(int:id)/
.- Параметри запиту:
user (string) – Ім’я користувача для фільтрів
action (int) – Дія для фільтрування, можна використовувати декілька разів
timestamp_after (timestamp) – Часова позначка у форматі ISO 8601 для показу списку наступних змін
timestamp_before (timestamp) – Часова позначка у форматі ISO 8601 для показу списку попередніх змін
- GET /api/changes/(int: id)/#
Повертає відомості щодо зміни перекладу.
- Параметри:
id (int) – Ідентифікатор зміни
- Об’єкт відповіді JSON:
unit (string) – адреса пов’язаного об’єкта модуля
translation (string) – Адреса пов’язаного об’єкта перекладу
component (string) – адреса пов’язаного об’єкта складника
user (string) – адреса пов’язаного об’єкта користувача
author (string) – адреса або пов’язаний об’єкт автора
timestamp (timestamp) – часова позначка події
action (int) – числовий ідентифікатор дії
action_name (string) – текстовий опис дії
target (string) – змінений текст або подробиці події
id (int) – змінити ідентифікатор
Знімки екрана#
- GET /api/screenshots/#
Повертає список даних рядків знімків вікон.
Дивись також
Атрибути об’єкта знімка вікна документовано у
GET /api/screenshots/(int:id)/
.
- GET /api/screenshots/(int: id)/#
Повертає дані щодо даних знімка вікна.
- Параметри:
id (int) – Ідентифікатор знімка вікна
- Об’єкт відповіді JSON:
name (string) – назва знімка вікна
component (string) – адреса пов’язаного об’єкта складника
file_url (string) – адреса для отримання файла; див.
GET /api/screenshots/(int:id)/file/
units (array) – пов’язати із відповідними даними початкового рядка, див.
GET /api/units/(int:id)/
- GET /api/screenshots/(int: id)/file/#
Отримати зображення знімка вікна.
- Параметри:
id (int) – Ідентифікатор знімка вікна
- POST /api/screenshots/(int: id)/file/#
Замінити зображення знімка вікна.
- Параметри:
id (int) – Ідентифікатор знімка вікна
- Параметри форми:
file image – Вивантажений файл
Приклад для CURL:
curl -X POST \ -F image=@image.png \ -H "Authorization: Token TOKEN" \ http://example.com/api/screenshots/1/file/
- POST /api/screenshots/(int: id)/units/#
Пов’язати початковий рядок зі знімком вікна.
- Параметри:
id (int) – Ідентифікатор знімка вікна
- Параметри форми:
string unit_id – Ід. модуля
- Об’єкт відповіді JSON:
name (string) – назва знімка вікна
translation (string) – Адреса пов’язаного об’єкта перекладу
file_url (string) – адреса для отримання файла; див.
GET /api/screenshots/(int:id)/file/
units (array) – пов’язати із відповідними даними початкового рядка, див.
GET /api/units/(int:id)/
- DELETE /api/screenshots/(int: id)/units/(int: unit_id)#
Вилучити прив’язку початкового рядка до знімка вікна.
- Параметри:
id (int) – Ідентифікатор знімка вікна
unit_id – Ідентифікатор модуля початкового рядка
- POST /api/screenshots/#
Створює знімок вікна.
- Параметри форми:
file image – Вивантажений файл
string name – Назва знімка екрана
string project_slug – Ідентифікатор проєкту
string component_slug – Ідентифікатор складника
string language_code – Код мови
- Об’єкт відповіді JSON:
name (string) – назва знімка вікна
component (string) – адреса пов’язаного об’єкта складника
file_url (string) – адреса для отримання файла; див.
GET /api/screenshots/(int:id)/file/
units (array) – пов’язати із відповідними даними початкового рядка, див.
GET /api/units/(int:id)/
- PATCH /api/screenshots/(int: id)/#
Редагувати часткові відомості щодо знімка вікна.
- Параметри:
id (int) – Ідентифікатор знімка вікна
- Об’єкт відповіді JSON:
name (string) – назва знімка вікна
component (string) – адреса пов’язаного об’єкта складника
file_url (string) – адреса для отримання файла; див.
GET /api/screenshots/(int:id)/file/
units (array) – пов’язати із відповідними даними початкового рядка, див.
GET /api/units/(int:id)/
- PUT /api/screenshots/(int: id)/#
Редагувати повні відомості щодо знімка вікна.
- Параметри:
id (int) – Ідентифікатор знімка вікна
- Об’єкт відповіді JSON:
name (string) – назва знімка вікна
component (string) – адреса пов’язаного об’єкта складника
file_url (string) – адреса для отримання файла; див.
GET /api/screenshots/(int:id)/file/
units (array) – пов’язати із відповідними даними початкового рядка, див.
GET /api/units/(int:id)/
- DELETE /api/screenshots/(int: id)/#
Вилучити знімок.
- Параметри:
id (int) – Ідентифікатор знімка вікна
Додатки#
Нове в версії 4.4.1.
- GET /api/addons/#
Повертає список додатків.
Дивись також
Атрибути об’єкта додатка документовано у
GET /api/addons/(int:id)/
.
- GET /api/addons/(int: id)/#
Повертає дані щодо додатка.
- Параметри:
id (int) – Ідентифікатор додатка
- Об’єкт відповіді JSON:
name (string) – назва додатка
component (string) – адреса пов’язаного об’єкта складника
configuration (object) – Необов’язкові налаштування додатка
Дивись також
- POST /api/components/(string: project)/(string: component)/addons/#
Створює додаток.
- Параметри:
project_slug (string) – Ідентифікатор проєкту
component_slug (string) – Ідентифікатор складника
- Надіслати запит щодо об’єкта JSON:
name (string) – назва додатка
configuration (object) – Необов’язкові налаштування додатка
- PATCH /api/addons/(int: id)/#
Редагувати часткові відомості щодо додатка.
- Параметри:
id (int) – Ідентифікатор додатка
- Об’єкт відповіді JSON:
configuration (object) – Необов’язкові налаштування додатка
- PUT /api/addons/(int: id)/#
Редагувати повні відомості щодо додатка.
- Параметри:
id (int) – Ідентифікатор додатка
- Об’єкт відповіді JSON:
configuration (object) – Необов’язкові налаштування додатка
- DELETE /api/addons/(int: id)/#
Видалити додаток.
- Параметри:
id (int) – Ідентифікатор додатка
Списки складників#
Нове в версії 4.0.
- GET /api/component-lists/#
Повертає список списків складників.
Дивись також
Атрибути об’єкта списку складників документовано у
GET /api/component-lists/(str:slug)/
.
- GET /api/component-lists/(str: slug)/#
Повертає відомості щодо списку складників.
- Параметри:
slug (string) – Ідентифікатор списку складників
- Об’єкт відповіді JSON:
name (string) – назва списку складників
slug (string) – ідентифікатор списку складників
show_dashboard (boolean) – визначає, чи слід показувати його на панелі приладів
components (array) – посилання на пов’язані складники; див.
GET /api/components/(string:project)/(string:component)/
auto_assign (array) – правила автоматичної прив’язки
- PUT /api/component-lists/(str: slug)/#
Змінює параметри списку складників.
- Параметри:
slug (string) – Ідентифікатор списку складників
- Надіслати запит щодо об’єкта JSON:
name (string) – назва списку складників
slug (string) – ідентифікатор списку складників
show_dashboard (boolean) – визначає, чи слід показувати його на панелі приладів
- PATCH /api/component-lists/(str: slug)/#
Змінює параметри списку складників.
- Параметри:
slug (string) – Ідентифікатор списку складників
- Надіслати запит щодо об’єкта JSON:
name (string) – назва списку складників
slug (string) – ідентифікатор списку складників
show_dashboard (boolean) – визначає, чи слід показувати його на панелі приладів
- DELETE /api/component-lists/(str: slug)/#
Вилучає список складників.
- Параметри:
slug (string) – Ідентифікатор списку складників
- POST /api/component-lists/(str: slug)/components/#
Пов’язати складник зі списком складників.
- Параметри:
slug (string) – Ідентифікатор списку складників
- Параметри форми:
string component_id – Ідентифікатор складника
- DELETE /api/component-lists/(str: slug)/components/(str: component_slug)#
Відв’язати складник зі списку складників.
- Параметри:
slug (string) – Ідентифікатор списку складників
component_slug (string) – Ідентифікатор складника
Глосарій#
Змінено в версії 4.5: У нових версіях глосарії зберігаються як звичайні складники, переклади і рядки. Будь ласка, скористайтеся відповідним API.
Завдання#
Нове в версії 4.4.
- GET /api/tasks/#
Наразі перелік завдань недоступний.
- GET /api/tasks/(str: uuid)/#
Повертає відомості про завдання
- Параметри:
uuid (string) – UUID завдання
- Об’єкт відповіді JSON:
completed (boolean) – Чи виконано завдання
progress (int) – Перебіг виконання завдання у відсотках
result (object) – Відомості про результат або перебіг виконання завдання
log (string) – Журнал завдань
Statistics#
- GET /api/(str: object)/statistics/#
There are several statistics endpoints for objects and all of them contain same structure.
- Параметри:
object (string) – URL path
- Об’єкт відповіді JSON:
total (int) – загальна кількість рядків
total_words (int) – загальна кількість слів
total_chars (int) – total number of characters
last_change (timestamp) – дата останньої зміни
translated (int) – кількість перекладених рядків
translated_percent (float) – частка перекладених рядків
translated_words (int) – кількість перекладених слів
translated_words_percent (float) – частка перекладених слів
translated_chars (int) – кількість перекладених символів
translated_chars_percent (float) – частка перекладених символів
fuzzy (int) – кількість неточно перекладених (позначених для редагування) рядків
fuzzy_percent (float) – частка неточно перекладених (позначених для редагування) рядків
failing (int) – кількість рядків, які не пройшли перевірки
failing_percent (float) – частка рядків, які не пройшли перевірки
approved (int) – number of approved checks
approved_percent (float) – percentage of approved strings
readonly (int) – number of read-only strings
readonly_percent (float) – percentage of read-only strings
suggestions (int) – number of strings with suggestions
comments (int) – number of strings with comments
name (string) – object name
url (string) – URL to access the object (if applicable)
url_translate (string) – URL to access the translation (if applicable)
code (string) – language code (if applicable)
Метрика#
- GET /api/metrics/#
Повертає метрику сервера.
- Об’єкт відповіді JSON:
units (int) – Кількість модулів
units_translated (int) – Кількість перекладених модулів
users (int) – Кількість користувачів
changes (int) – Кількість змін
projects (int) – Кількість проєктів
components (int) – Кількість складників
translations (int) – Кількість перекладів
languages (int) – Кількість використаних мов
checks (int) – Кількість непройдених перевірок якості
configuration_errors (int) – Кількість помилок у налаштуваннях
suggestions (int) – Кількість пропозицій у черзі
celery_queues (object) – Довжини черг Celery, див. Фонові завдання з використанням Celery
name (string) – Налаштована назва сервера
Обробники сповіщень#
Обробники сповіщень надають змогу стороннім програмам сповіщати Weblate про оновлення у репозиторії коду системи керування версіями.
Ви можете скористатися кінцевими точками для проєктів, складників та перекладів у репозиторії для оновлення окремих репозиторіїв. Див. документацію у POST /api/projects/(string:project)/repository/
.
- GET /hooks/update/(string: project)/(string: component)/#
Застаріло починаючи з версії 2.6: Будь ласка, скористайтеся замість цього
POST /api/components/(string:component)/repository/
, яка працює належним чином із розпізнаванням для обмежених ACL проєктів.Вмикає оновлення складника (отримання даних з системи керування версіями і сканування змін у перекладах).
- GET /hooks/update/(string: project)/#
Застаріло починаючи з версії 2.6: Будь ласка, скористайтеся замість цього
POST /api/projects/(string:project)/repository/
, яка працює належним чином із розпізнаванням для обмежених ACL проєктів.Вмикає оновлення усіх складників проєкту (отримання даних із системи керування версіями і сканування змін у перекладах).
- POST /hooks/github/#
Особливий скрипт для обробки сповіщень GitHub і автоматичного оновлення відповідних складників.
Примітка
До GitHub включено безпосередню підтримку сповіщень Weblate: увімкніть скрипт перехоплення для служби Weblate у параметрах репозиторію і встановіть адресу, яка відповідає встановленому вами екземпляру Weblate.
Дивись також
- Автоматичне отримання змін з GitHub
Настанови щодо налаштовування інтеграції із GitHub
- https://docs.github.com/en/get-started/customizing-your-github-workflow/exploring-integrations/about-webhooks
Загальні відомості щодо вебскриптів GitHub
ENABLE_HOOKS
Вмикання скриптів для усього екземпляра Weblate
- POST /hooks/gitlab/#
Особливий скрипт для обробки сповіщень GitLab і автоматичного оновлення відповідних складників.
Дивись також
- Автоматичне отримання змін з GitLab
Настанови щодо налаштовування інтеграції із GitLab
- https://docs.gitlab.com/ee/user/project/integrations/webhooks.html
Загальні відомості щодо вебскриптів GitLab
ENABLE_HOOKS
Вмикання скриптів для усього екземпляра Weblate
- POST /hooks/bitbucket/#
Особливий скрипт для обробки сповіщень Bitbucket і автоматичного оновлення відповідних складників.
Дивись також
- Автоматичне отримання змін з Bitbucket
Настанови щодо налаштовування інтеграції із Bitbucket
- https://support.atlassian.com/bitbucket-cloud/docs/manage-webhooks/
Загальні відомості щодо вебскриптів Bitbucket
ENABLE_HOOKS
Вмикання скриптів для усього екземпляра Weblate
- POST /hooks/pagure/#
Нове в версії 3.3.
Особливий скрипт для обробки сповіщень Pagure і автоматичного оновлення відповідних складників.
Дивись також
- Автоматичне отримання змін з Pagure
Настанови щодо налаштовування інтеграції із Pagure
- https://docs.pagure.org/pagure/usage/using_webhooks.html
Загальні відомості щодо вебскриптів Pagure
ENABLE_HOOKS
Вмикання скриптів для усього екземпляра Weblate
- POST /hooks/azure/#
Нове в версії 3.8.
Особливий скрипт для обробки сповіщень Azure DevOps і автоматичного оновлення відповідних складників.
Примітка
Будь ласка, переконайтеся, що для параметра Подробиці щодо ресурсу для надсилання встановлено значення Усі, інакше Weblate не зможе встановити відповідність вашого сховища Azure.
Дивись також
- Автоматичне отримання змін зі репозиторіїв Azure
Настанови щодо налаштовування інтеграції із Azure
- https://learn.microsoft.com/en-us/azure/devops/service-hooks/services/webhooks?view=azure-devops
Загальні відомості щодо вебскриптів Azure DevOps
ENABLE_HOOKS
Вмикання скриптів для усього екземпляра Weblate
- POST /hooks/gitea/#
Нове в версії 3.9.
Особливий скрипт для обробки сповіщень вебскриптів Gitea і автоматичного оновлення відповідних складників.
Дивись також
- Автоматичне отримання змін зі репозиторіїв Gitea
Настанови щодо налаштовування інтеграції із Gitea
- https://docs.gitea.io/en-us/webhooks/
Загальні відомості щодо вебскриптів Gitea
ENABLE_HOOKS
Вмикання скриптів для усього екземпляра Weblate
- POST /hooks/gitee/#
Нове в версії 3.9.
Особливий скрипт для обробки сповіщень вебскриптів Gitee і автоматичного оновлення відповідних складників.
Дивись також
- Автоматичне отримання змін зі репозиторіїв Gitee
Настанови щодо налаштовування інтеграції із Gitee
- https://gitee.com/help/categories/40
Загальні відомості щодо вебскриптів Gitee
ENABLE_HOOKS
Вмикання скриптів для усього екземпляра Weblate
Експорт#
У Weblate надає різні засоби експортування для уможливлення подальшої обробки даних.
- GET /exports/stats/(string: project)/(string: component)/#
- Параметри запиту:
format (string) – Формат виведення:
json
абоcsv
Застаріло починаючи з версії 2.6: Будь ласка, скористайтеся замість цього
GET /api/components/(string:project)/(string:component)/statistics/
іGET /api/translations/(string:project)/(string:component)/(string:language)/statistics/
; надає доступ також і до керованих за допомогою ACL проєктів.Отримує статистичні дані для вказаного складника у вказаному форматі.
Приклад запиту:
GET /exports/stats/weblate/main/ HTTP/1.1 Host: example.com Accept: application/json, text/javascript
Приклад відповіді:
HTTP/1.1 200 OK Vary: Accept Content-Type: application/json [ { "code": "cs", "failing": 0, "failing_percent": 0.0, "fuzzy": 0, "fuzzy_percent": 0.0, "last_author": "Michal Čihař", "last_change": "2012-03-28T15:07:38+00:00", "name": "Czech", "total": 436, "total_words": 15271, "translated": 436, "translated_percent": 100.0, "translated_words": 3201, "url": "http://hosted.weblate.org/engage/weblate/cs/", "url_translate": "http://hosted.weblate.org/projects/weblate/main/cs/" }, { "code": "nl", "failing": 21, "failing_percent": 4.8, "fuzzy": 11, "fuzzy_percent": 2.5, "last_author": null, "last_change": null, "name": "Dutch", "total": 436, "total_words": 15271, "translated": 319, "translated_percent": 73.2, "translated_words": 3201, "url": "http://hosted.weblate.org/engage/weblate/nl/", "url_translate": "http://hosted.weblate.org/projects/weblate/main/nl/" }, { "code": "el", "failing": 11, "failing_percent": 2.5, "fuzzy": 21, "fuzzy_percent": 4.8, "last_author": null, "last_change": null, "name": "Greek", "total": 436, "total_words": 15271, "translated": 312, "translated_percent": 71.6, "translated_words": 3201, "url": "http://hosted.weblate.org/engage/weblate/el/", "url_translate": "http://hosted.weblate.org/projects/weblate/main/el/" } ]
RSS-стрічки#
Зміни в перекладах експортуються до стрічок RSS.
- GET /exports/rss/(string: project)/(string: component)/(string: language)/#
Отримує RSS-стрічку з останніми змінами в перекладі.
- GET /exports/rss/(string: project)/(string: component)/#
Отримує RSS-стрічку з останніми змінами у складнику.
- GET /exports/rss/(string: project)/#
Отримує RSS-стрічку з останніми змінами у проєкті.
- GET /exports/rss/language/(string: language)/#
Отримує RSS-стрічку з останніми змінами в мові.
- GET /exports/rss/#
Отримує RSS-стрічку з останніми змінами в екземплярі Weblate.
Дивись також