Програмний інтерфейс REST Weblate

Програмний інтерфейс доступний через /api/ в URL і побудовано на бібліотеці REST Django. Можете користуватися ним безпосередньо або через Клієнт Weblate.

Розпізнавання і типові параметри

Відкритий програмний інтерфейс проєкту доступний без розпізнавання користувача, хоча частоту запитів користувачів, які не пройшли розпізнавання, значно зменшено (типово, до 100 запитів на добу). Через це рекомендуємо вам користуватися розпізнаванням. У розпізнаванні використовується ключ, який ви можете отримати у вашому профілі. Використовуйте його в заголовку Authorization:

ANY /

Типова поведінка запиту для програмного інтерфейсу, заголовків, кодів стану та параметрів у цьому розділі стосується також усі інших кінцевих точок.

Параметри запиту:
  • format – Формат відповіді (перевизначає Accept). Можливі значення залежать від налаштування бібліотеки REST. Типово, передбачено підтримку json і api. Остання надає інтерфейсу браузера для програмного інтерфейсу.

  • page – Повертає вказану сторінку розбитих на сторінки результатів (скористайтеся полями next у previous у відповіді, щоб автоматизувати навігацію).

  • page_size – Return the given number of items per request. The default is 50 and the maximum is 1000. For the units endpoints the default is 100 with a maximum of 10000. The default value is also configurable using the PAGE_SIZE setting.

Заголовки запиту:
  • Accept – тип вмісту відповіді залежить від заголовка Accept

  • 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.

Стан обмеження за частотою повідомляється за допомогою таких частин заголовка:

X-RateLimit-Limit

Обмеження за частотою запитів

X-RateLimit-Remaining

Залишок до обмеження на запити

X-RateLimit-Reset

Кількість секунд до скидання обмеження за частотою у вікні обробки

Змінено в версії 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/

Створює групу.

Параметри:
GET /api/groups/(int: id)/

Повертає відомості щодо групи.

Параметри:
  • id (int) – Ідентифікатор групи

Об’єкт відповіді JSON:

Приклад даних 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.

Add user to team admins.

Параметри:
  • id (int) – Ідентифікатор групи

Параметри форми:
  • string user_id – The user’s ID

DELETE /api/groups/(int: id)/admins/(int: user_id)

Added in version 5.5.

Delete user from team admins.

Параметри:
  • id (int) – Ідентифікатор групи

  • user_id (integer) – The user’s ID

Ролі

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:

Приклад даних 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:
GET /api/projects/(string: project)/file/

Added in version 5.5.

Downloads all available translations associated with the project as an archive file using the requested format and language.

Параметри:
  • project (string) – Ідентифікатор адреси проєкту

Параметри запиту:
  • format (string) – Формат архіву, яким слід скористатися. Якщо не вказано, типовим є zip. Підтримувані формати: zip і zip:CONVERSION, де CONVERSION - один з конвертерів, перелічених у Отримання перекладів.

  • language_code (string) – The language code to download; If not specified, all languages are included.

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:
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:
Об’єкт відповіді JSON:

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:

колір мітки

Складники

Підказка

Для створення компонентів скористайтеся 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:

Приклад даних 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:
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:
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:
POST /api/components/(string: project)/(string: component)/translations/

Створює переклад у вказаному складнику.

Параметри:
  • project (string) – Ідентифікатор адреси проєкту

  • component (string) – Ідентифікатор адрес складника

Надіслати запит щодо об’єкта JSON:
Об’єкт відповіді 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) – Ідентифікатор адрес складника

Дивись також

Повернуті атрибути описано у розділі Статистика.

Повертає проєкт, який пов’язано зі складником.

Added in version 4.5.

Параметри:
  • project (string) – Ідентифікатор адреси проєкту

  • component (string) – Ідентифікатор адрес складника

Об’єкт відповіді JSON:
POST /api/components/(string: project)/(string: component)/links/

Пов’язати проєкт зі складником.

Added in version 4.5.

Параметри:
  • project (string) – Ідентифікатор адреси проєкту

  • component (string) – Ідентифікатор адрес складника

Параметри форми:
  • string project_slug – Ідентифікатор проєкту

Вилучити прив’язку проєкту до складника.

Added in version 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)/

Вилучає переклад.

Параметри:
  • 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:
GET /api/translations/(string: project)/(string: component)/(string: language)/units/

Повертає список модулів перекладу.

Параметри:
  • project (string) – Ідентифікатор адреси проєкту

  • component (string) – Ідентифікатор адрес складника

  • language (string) – Код мови перекладу

  • q (string) – Рядок пошукового запиту Пошук (необов’язково)

Об’єкт відповіді JSON:
POST /api/translations/(string: project)/(string: component)/(string: language)/units/

Додати новий модуль.

Параметри:
  • project (string) – Ідентифікатор адреси проєкту

  • component (string) – Ідентифікатор адрес складника

  • language (string) – Код мови перекладу

Надіслати запит щодо об’єкта JSON:
  • key (string) – Monolingual translations: Key of translation unit

  • value (array) – Monolingual translations: Source strings (use single string if not creating plural)

  • context (string) – Bilingual translations: Context of a translation unit

  • source (array) – Bilingual translations: Source strings (use single string if not creating plural)

  • target (array) – Bilingual translations: Target strings (use single string if not creating plural)

  • state (int) – Стан рядка, див. GET /api/units/(int:id)/

Об’єкт відповіді JSON:
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) – вік рядків

PATCH /api/units/(int: id)/

Added in version 4.3.

Виконує часткове оновлення модуля перекладу.

Параметри:
  • id (int) – Ід. модуля

Надіслати запит щодо об’єкта JSON:
Об’єкт відповіді JSON:
  • labels (array) – мітки, доступні у початкових модулях

PUT /api/units/(int: id)/

Added in version 4.3.

Виконує повне оновлення модуля перекладу.

Параметри:
  • id (int) – Ід. модуля

Надіслати запит щодо об’єкта JSON:
Об’єкт відповіді JSON:
  • 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) – змінений текст або подробиці події

  • 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/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) – Налаштована назва сервера

Категорії

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.

Returns statistics for a category.

Параметри:
  • project (int) – Category id

Дивись також

Повернуті атрибути описано у розділі Статистика.

Обробники сповіщень

Обробники сповіщень надають змогу стороннім програмам сповіщати 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.

Дивись також

RSS у Вікіпедії