Програмний інтерфейс REST Weblate¶
Програмний інтерфейс доступний через /api/
в URL і побудовано на бібліотеці REST Django. Можете користуватися ним безпосередньо або через Клієнт Weblate.
Розпізнавання і типові параметри¶
Відкритий програмний інтерфейс проєкту доступний без розпізнавання користувача, хоча частоту запитів користувачів, які не пройшли розпізнавання, значно зменшено (типово, до 100 запитів на добу). Через це рекомендуємо вам користуватися розпізнаванням. У розпізнаванні використовується ключ, який ви можете отримати у вашому профілі. Використовуйте його в заголовку Authorization
:
- ANY /¶
Типова поведінка запиту для програмного інтерфейсу, заголовків, кодів стану та параметрів у цьому розділі стосується також усі інших кінцевих точок.
- Параметри запиту:
format – Формат відповіді (перевизначає Accept). Можливі значення залежать від налаштування бібліотеки REST. Типово, передбачено підтримку
json
іapi
. Остання надає інтерфейсу браузера для програмного інтерфейсу.page – Повертає вказану сторінку розбитих на сторінки результатів (скористайтеся полями next у previous у відповіді, щоб автоматизувати навігацію).
page_size – Повертати вказану кількість записів у відповідь на один запит. Типовою є 50, а максимальною — 1000. Для кінцевих точок units типовим є значення 100, а максимальним — 10000. Типове значення можна налаштувати за допомогою параметра PAGE_SIZE.
- Заголовки запиту:
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/
Складники і категорії¶
Щоб отримати доступ до складника, який вкладено у категорію, вам слід закодувати назву категорії як адресу до назви складника з використанням символу похилої риски. Наприклад, для usage
, який розміщено у категорії docs
, має бути вказано docs%252Fusage
. Повна адреса у цьому випадку може бути, наприклад, https://example.com/api/components/hello/docs%252Fusage/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/" }
Користувачі¶
Added in version 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) – дата створення запису користувача
last_login (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/¶
Added in version 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
Групи¶
Added in version 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) – Унікальний ідентифікатор списку складників
- POST /api/groups/(int: id)/admins/¶
Added in version 5.5.
Додати користувача до адміністраторів команди
- Параметри:
id (int) – Ідентифікатор групи
- Параметри форми:
string user_id – Ідентифікатор користувача
- DELETE /api/groups/(int: id)/admins/(int: user_id)¶
Added in version 5.5.
Вилучити користувача з адміністраторів команди.
- Параметри:
id (int) – Ідентифікатор групи
user_id (integer) – Ідентифікатор користувача
Ролі¶
- 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) – Код мови
Дивись також
Повернуті атрибути описано у розділі Статистика.
Проєкти¶
- GET /api/projects/¶
Повертає список усіх проєктів.
Дивись також
Атрибути об’єкта проєкту описано у
GET /api/projects/(string:project)/
.
- POST /api/projects/¶
Створює проєкт.
- Параметри:
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/
credits_url (string) – URL to list contributor credits; see
GET /api/projects/(string:project)/credits/
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)/¶
Added in version 4.3.
Редагувати проєкт розміщенням запиту PATCH.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
- PUT /api/projects/(string: project)/¶
Added in version 4.3.
Редагувати проєкт розміщенням запиту PUT.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
- DELETE /api/projects/(string: project)/¶
Вилучає проєкт.
- Параметри:
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)/file/¶
Added in version 5.5.
Отримує усі доступні переклади, які пов’язано із проєктом, як архів у вказаному форматі і вказаною мовою.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
- Параметри запиту:
format (string) – Формат архіву, яким слід скористатися. Якщо не вказано, типовим є
zip
. Підтримувані формати:zip
іzip:CONVERSION
, деCONVERSION
- один з конвертерів, перелічених у Отримання перекладів.language_code (string) – Код мови для отримання; якщо не вказано, буде включено усі мови.
- 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) – Дія, яку слід виконати. Одне з таких значень:
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/¶
Змінено в версії 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/¶
Повертає поділену на сторінки статистику для всіх мов у проєкті.
- Параметри:
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/¶
Повертає статистику проєкту.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
Дивись також
Повернуті атрибути описано у розділі Статистика.
- GET /api/projects/(string: project)/categories/¶
Added in version 5.0: Повертає категорії щодо проєкту. Визначення полів наведено тут:
GET /api/categories/(int:id)/
.- параметр проєкт:
Ідентифікатор адреси проєкту
- тип проєкт:
рядок
- GET /api/projects/(string: project)/labels/¶
Added in version 5.3: Повертає мітки для проєкту.
- параметр проєкт:
Ідентифікатор адреси проєкту
- тип проєкт:
рядок
- >json int id:
Ідентифікатор мітки
- >json string name:
назва мітки
- >json string color:
колір мітки
- POST /api/projects/(string: project)/labels/¶
Added in version 5.3: Створює мітку для проєкту.
- параметр проєкт:
Ідентифікатор адреси проєкту
- тип проєкт:
рядок
- <json string name:
назва мітки
- <json string color:
колір мітки
- GET /api/projects/(string: project)/credits/¶
Returns contributor credits for a project.
Added in version 5.7.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
start (date) – Lower-bound ISO 8601 timestamp (mandatory)
end (date) – Upper-bound ISO 8601 timestamp (mandatory)
lang (source_language) – Language code to search for
- Об’єкт відповіді JSON:
email (string) – Email of the contributor
full_name (string) – Full name of the contributor
change_count (string) – Number of changes done in the time range
Складники¶
Підказка
Для створення компонентів скористайтеся 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) – Система керування версіями
linked_component (string) – складник, чиє сховище пов’язано за допомогою Внутрішні адреси Weblate.
repo (string) – Сховище з джерелами, це справжня адреса сховища, навіть якщо використано Внутрішні адреси Weblate, скористайтеся
linked_component
для виявлення цього випадкуgit_export (string) – Експортований URL сховища
branch (string) – Гілка сховища, це справжня гілка сховища, навіть якщо використано Внутрішні адреси Weblate
push (string) – Адреса для записування до сховища, це справжня адреса сховища, навіть якщо використано Внутрішні адреси Weblate
push_branch (string) – Гілка для запису, це справжня гілка сховища, навіть якщо використано Внутрішні адреси Weblate
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)/
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)/
credits_url (string) – URL to to list contributor credits; see
GET /api/components/(string:project)/(string:component)/credits/
Приклад даних 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)/¶
Вилучає складник.
- Параметри:
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/¶
Added in version 4.9.
Отримує усі доступні переклади, які пов’язано зі складником, як архів у вказаному форматі.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
- Параметри запиту:
format (string) – Формат архіву, яким слід скористатися. Якщо не вказано, типовим є
zip
. Підтримувані формати:zip
іzip:CONVERSION
, деCONVERSION
- один з конвертерів, перелічених у Отримання перекладів.
- 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) – Ідентифікатор адрес складника
Дивись також
Повернуті атрибути описано у розділі Статистика.
- GET /api/components/(string: project)/(string: component)/links/¶
Повертає проєкт, який пов’язано зі складником.
Added in version 4.5.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
- Об’єкт відповіді JSON:
projects (array) – пов’язані проєкти; див.
GET /api/projects/(string:project)/
- POST /api/components/(string: project)/(string: component)/links/¶
Пов’язати проєкт зі складником.
Added in version 4.5.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
- Параметри форми:
string project_slug – Ідентифікатор проєкту
- DELETE /api/components/(string: project)/(string: component)/links/(string: project_slug)/¶
Вилучити прив’язку проєкту до складника.
Added in version 4.5.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
component (string) – Ідентифікатор адрес складника
project_slug (string) – Ідентифікатор проєкту, який слід вилучити
- GET /api/components/(string: project)/(string: component)/credits/¶
Returns contributor credits for a project.
Added in version 5.7.
- Параметри:
project (string) – Ідентифікатор адреси проєкту
start (date) – Lower-bound ISO 8601 timestamp (mandatory)
end (date) – Upper-bound ISO 8601 timestamp (mandatory)
lang (source_language) – Language code to search for
- Об’єкт відповіді JSON:
email (string) – Email of the contributor
full_name (string) – Full name of the contributor
change_count (string) – Number of changes done in the time range
Переклади¶
- 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)/¶
Вилучає переклад.
- Параметри:
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) – Одномовні переклади: Початкові рядки (один рядок, якщо не створено форм множини)
context (string) – Двомовні переклади: контекст модуля перекладу
source (array) – Двомовні переклади: Початкові рядки (один рядок, якщо не створено форм множини)
target (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`` є іншим. Без цього параметра ви отримаєте файл перекладу у тому форматі, у якому він зберігається у системі керування версіями.
- Заголовки відповіді:
Last-Modified – Часова позначка останньої зміни у цьому файлі.
- Заголовки запиту:
If-Modified-Since – Пропускає відповідь, якщо файл не було змінено з того часу.
- Параметри запиту:
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) – Код мови перекладу
Дивись також
Повернуті атрибути описано у розділі Статистика.
Пам’ять¶
Added in version 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) – вік рядків
last_updated (timestamp) – останнє оновлення рядка
- PATCH /api/units/(int: id)/¶
Added in version 4.3.
Виконує часткове оновлення модуля перекладу.
- Параметри:
id (int) – Ід. модуля
- Надіслати запит щодо об’єкта JSON:
state (int) – стан модуля, 0 — не перекладено, 10 — потребує редагування, 20 — перекладено, 30 — затверджено (має бути увімкнено процедуру перекладу з рецензуванням, див. Спеціалізовані рецензенти)
target (array) – рядок перекладу
explanation (string) – Пояснення щодо рядка, доступне у початкових модулях, див. Додаткові відомості щодо початкових рядків
extra_flags (string) – Додаткові прапорці рядків, доступні у початкових модулях, див. Налаштовування поведінки за допомогою прапорців
labels (array) – мітки, доступні у початкових модулях
- PUT /api/units/(int: id)/¶
Added in version 4.3.
Виконує повне оновлення модуля перекладу.
- Параметри:
id (int) – Ід. модуля
- Надіслати запит щодо об’єкта JSON:
state (int) – стан модуля, 0 — не перекладено, 10 — потребує редагування, 20 — перекладено, 30 — затверджено (має бути увімкнено процедуру перекладу з рецензуванням, див. Спеціалізовані рецензенти)
target (array) – рядок перекладу
explanation (string) – Пояснення щодо рядка, доступне у початкових модулях, див. Додаткові відомості щодо початкових рядків
extra_flags (string) – Додаткові прапорці рядків, доступні у початкових модулях, див. Налаштовування поведінки за допомогою прапорців
labels (array) – мітки, доступні у початкових модулях
- DELETE /api/units/(int: id)/¶
Added in version 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) – змінений текст
old (string) – попередній
details (object) – додаткові дані про зміну
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) – Ідентифікатор знімка вікна
Додатки¶
Added in version 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) – Ідентифікатор додатка
Списки складників¶
Added in version 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) – Ідентифікатор списку складників
- GET /api/component-lists/(str: slug)/components/¶
Added in version 5.0.1: Перелічує складники у списку складників.
- param slug:
Ідентифікатор списку складників
- type slug:
рядок
- form string component_id:
Ідентифікатор складника
- >масив json results:
масив об’єктів складника, див.
GET /api/components/(string:project)/(string:component)/
- 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.
Завдання¶
Added in version 4.4.
- GET /api/tasks/¶
Наразі перелік завдань недоступний.
- GET /api/tasks/(str: uuid)/¶
Повертає відомості про завдання.
- Параметри:
uuid (string) – UUID завдання
- Об’єкт відповіді JSON:
completed (boolean) – Чи виконано завдання
progress (int) – Перебіг виконання завдання у відсотках
result (object) – Відомості про результат або перебіг виконання завдання
log (string) – Журнал завдань
Статистика¶
- GET /api/(str: object)/statistics/¶
Існує декілька кінцевих точок статистичних даних, і всі вони містять однакову структуру.
- Параметри:
object (string) – Шлях адреси
- Об’єкт відповіді JSON:
total (int) – загальна кількість рядків
total_words (int) – загальна кількість слів
total_chars (int) – загальна кількість символів
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_words (int) – кількість неточно перекладених (позначених для редагування) слів
fuzzy_chars (int) – кількість неточно перекладених (позначених для редагування) знаків
fuzzy_percent (float) – частка неточно перекладених (позначених для редагування) рядків
fuzzy_words_percent (float) – частка неточно перекладених (позначених для редагування) слів
fuzzy_chars_percent (float) – частка неточно перекладених (позначених для редагування) символів
failing (int) – кількість рядків, які не пройшли перевірки
failing_percent (float) – частка рядків, які не пройшли перевірки
approved (int) – кількість затверджених рядків
approved_words (int) – кількість затверджених слів
approved_chars (int) – кількість затверджених знаків
approved_percent (float) – частка затверджених рядків
approved_words_percent (float) – частка затверджених слів
approved_chars_percent (float) – частка затверджених знаків
readonly (int) – кількість рядків, які призначено лише для читання
readonly_words (int) – кількість слів, позначених лише для читання
readonly – кількість придатних лише для читання символів
readonly_percent (float) – частка придатних лише для читання рядків
readonly_words_percent (float) – частка придатних лише для читання слів
readonly_char_percent (float) – частка придатних для читання символів
suggestions (int) – кількість рядків із пропозиціями
comments (int) – кількість рядків з коментарями
name (string) – назва об’єкта
url (string) – адреса для доступу до об’єкта (якщо застосовна)
url_translate (string) – адреса для доступу до перекладу (якщо застосовно)
code (string) – код мови (якщо застосовний)
Дивись також
GET /api/languages/(string:language)/statistics/
,GET /api/projects/(string:project)/statistics/
,GET /api/categories/(int:id)/statistics/
,GET /api/components/(string:project)/(string:component)/statistics/
,GET /api/translations/(string:project)/(string:component)/(string:language)/statistics/
Метрика¶
- GET /api/metrics/¶
Повертає метрику сервера.
Змінено в версії 5.6.1: Metrics can now be exposed in OpenMetrics compatible format with
?format=openmetrics
.- Об’єкт відповіді 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) – Налаштована назва сервера
Пошук¶
- GET /api/search/¶
Added in version 4.18.
Повертати результати пошуку за сайтом як список. Поділу на сторінки не передбачено, для кожної категорії буде повернуто лише перші декілька відповідників.
- Об’єкт відповіді JSON:
name (str) – Назва відповідного запису.
url (str) – Вебадреса відповідного запису.
category (str) – Категорія відповідного запису.
Категорії¶
- GET /api/categories/¶
Added in version 5.0.
Виводить список доступних категорій. Визначення полів наведено тут:
GET /api/categories/(int:id)/
.
- POST /api/categories/¶
Added in version 5.0.
Створює категорію. Визначення полів наведено тут:
GET /api/categories/(int:id)/
.
- GET /api/categories/(int: id)/¶
Added in version 5.0.
- Параметри:
id (int) – Ід. категорії
- Об’єкт відповіді JSON:
name (str) – Назва категорії.
slug (str) – Позначка категорії.
project (str) – Посилання на проєкт.
category (str) – Посилання на батьківську категорію.
- PATCH /api/categories/(int: id)/¶
Added in version 5.0: Редагувати часткові відомості щодо категорії.
- ідентифікатор параметра:
Ід. категорії
- ідентифікатор типу:
int
- налаштування об’єкта json:
Необов’язкові налаштування категорії
- PUT /api/categories/(int: id)/¶
Added in version 5.0: Редагувати повні відомості щодо категорії.
- ідентифікатор параметра:
Ід. категорії
- ідентифікатор типу:
int
- налаштування об’єкта json:
Необов’язкові налаштування категорії
- DELETE /api/categories/(int: id)/¶
Added in version 5.0: Вилучити категорію.
- ідентифікатор параметра:
Ід. категорії
- ідентифікатор типу:
int
- GET /api/categories/(int: id)/statistics/¶
Added in version 5.5.
Повертає статистику категорії.
- Параметри:
project (int) – Ід. категорії
Дивись також
Повернуті атрибути описано у розділі Статистика.
Обробники сповіщень¶
Обробники сповіщень надають змогу стороннім програмам сповіщати 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/¶
Особливий скрипт для обробки сповіщень Pagure і автоматичного оновлення відповідних складників.
Дивись також
- Автоматичне отримання змін з Pagure
Настанови щодо налаштовування інтеграції із Pagure
- https://docs.pagure.org/pagure/usage/using_webhooks.html
Загальні відомості щодо вебскриптів Pagure
ENABLE_HOOKS
Вмикання скриптів для усього екземпляра Weblate
- POST /hooks/azure/¶
Особливий скрипт для обробки сповіщень 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/¶
Особливий скрипт для обробки сповіщень вебскриптів Gitea і автоматичного оновлення відповідних складників.
Дивись також
- Автоматичне отримання змін зі сховищ Gitea
Настанови щодо налаштовування інтеграції із Gitea
- https://docs.gitea.io/en-us/webhooks/
Загальні відомості щодо вебскриптів Gitea
ENABLE_HOOKS
Вмикання скриптів для усього екземпляра Weblate
- POST /hooks/gitee/¶
Особливий скрипт для обробки сповіщень вебскриптів 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.
Дивись також