API REST для Weblate

API доступен по адресу /api/ и основан на среде Django REST. Вы можете использовать её напрямую или через Клиент Weblate.

The API is also documented using OpenAPI 3.1 on the /api/schema/ URL, you can browse at /api/docs/.

Примечание

OpenAPI is available as a feature preview. The documentation is most likely incomplete at this point and subject to change. Please consult the documentation below for more detailed information on the API.

Авторизация и общие параметры

The read-only API is available without authentication unless REQUIRE_LOGIN is turned on. Unauthenticated requests are heavily throttled (by default to 100 requests per day), so it is recommended to use authentication.

The authentication uses a token, which you can get in your profile. Use it in the Authorization header:

ANY /

Описанные здесь общее поведение запросов для API, заголовки, коды состояния и параметры применяются ко всем конечным точкам.

Параметры запроса:
  • format – Response format (overrides Accept). Possible values depends on REST framework setup, by default json, csv and api are supported. The latter provides web browser interface for 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 ВАШ-ТОКЕН

Заголовки ответа:
  • Content-Type – зависит от заголовка Accept запроса

  • Allow – список разрешённых для объекта методов HTTP

JSON -объект ответа:
  • detail (string) – подробное описание результата (для кодов статусов HTTP, отличных от 200 OK)

  • count (int) – общее количество элементов для списков объектов

  • next (string) – URL-адрес следующей страницы для списков объектов

  • previous (string) – URL-адрес предыдущей страницы для списков объектов

  • results (array) – результаты для списков объектов

  • url (string) – URL-адрес для доступа к этому ресурсу с помощью API

  • web_url (string) – URL-адрес для доступа к этому ресурсу через веб-браузер

Коды статусов:
  • 200 OK – при правильной обработке запроса

  • 201 Created – когда новый объект был успешно создан

  • 204 No Content – когда объект был успешно удалён

  • 400 Bad Request – при отсутствии параметров формы

  • 403 Forbidden – в случае отказа в доступе

  • 429 Too Many Requests – при превышении количества запросов из-за ограничения на количество запросов

Токены авторизации

Изменено в версии 4.10: Токены с ограничениями по проекту были введены в версии 4.10.

У каждого пользователя есть свой токен доступа, который можно получить в профиле пользователя. Вновь созданные пользовательские токены имеют префикс wlu_.

Предусмотрена возможность создания токенов для доступа к API на уровне текущего проекта. Эти токены можно распознать по префиксу 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/

Пример CURL с JSON:

curl \
    --data-binary '{"operation":"pull"}' \
    -H "Content-Type: application/json" \
    -H "Authorization: Token TOKEN" \
    http://example.com/api/components/hello/weblate/repository/

Компоненты и категории

To access a component which is nested inside a Категория, you need to URL encode the category name into a component name separated with a slash. For example usage placed in a docs category needs to be used as docs%252Fusage. Full URL in this case would be for example https://example.com/api/components/hello/docs%252Fusage/repository/.

Ограничение частоты запросов API

Частота запросов к API ограничена; конфигурация по умолчанию ограничивает её до 100 запросов в день для анонимных пользователей и до 5000 запросов в час для авторизованных пользователей.

Это ограничение можно настроить в settings.py; подробнее о его настройке смотрите в разделе Throttling документации среды Django REST.

В контейнере Docker это можно настроить через WEBLATE_API_RATELIMIT_ANON и WEBLATE_API_RATELIMIT_USER.

О состоянии ограничения частоты запросов сообщается в следующих заголовках:

X-RateLimit-Limit

Допустимое число выполняемых запросов

X-RateLimit-Remaining

Оставшееся число выполняемых запросов

X-RateLimit-Reset

Число секунд до сброса окна ограничения числа запросов

Изменено в версии 4.1: Добавлены заголовки состояния ограничения количества запросов.

Ответы на ошибки

Изменено в версии 5.10: Error responses were endpoint specific before this release.

Weblate error responses are formatted based on Error Response Format.

Точка входа в API

GET /api/

Корневая точка входа в API.

Пример запроса:

GET /api/ HTTP/1.1
Host: example.com
Accept: application/json, text/javascript
Authorization: Token YOUR-TOKEN

Пример ответа:

HTTP/1.0 200 OK
Date: Fri, 25 Mar 2016 09:46:12 GMT
Server: WSGIServer/0.1 Python/2.7.11+
Vary: Accept, Accept-Language, Cookie
X-Frame-Options: SAMEORIGIN
Content-Type: application/json
Content-Language: en
Allow: GET, HEAD, OPTIONS

{
    "projects":"http://example.com/api/projects/",
    "components":"http://example.com/api/components/",
    "translations":"http://example.com/api/translations/",
    "languages":"http://example.com/api/languages/"
}

Пользователи

Добавлено в версии 4.0.

GET /api/users/

Возвращает список пользователей, если у вас есть разрешения на просмотр пользоватей для управления. Если их нет, то вы увидите только свои данные.

Параметры запроса:
  • username (string) – Username to search for

  • id (int) – User ID to search for

См. также

Атрибуты объекта-пользователя описываются в разделе 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)/

  • languages (array) – link to translated languages; see GET /api/languages/(string:language)/

Пример данных в JSON:

{
    "email": "user@example.com",
    "full_name": "Example User",
    "username": "exampleusername",
    "groups": [
        "http://example.com/api/groups/2/",
        "http://example.com/api/groups/3/"
    ],
    "languages": [
        "http://example.com/api/languages/cs/",
    ],
    "is_superuser": true,
    "is_active": true,
    "is_bot": false,
    "date_joined": "2020-03-29T18:42:42.617681Z",
    "url": "http://example.com/api/users/exampleusername/",
    "contributions_url": "http://example.com/api/users/exampleusername/contributions/"
    "statistics_url": "http://example.com/api/users/exampleusername/statistics/"
}
PUT /api/users/(str: username)/

Изменяет параметры пользователя.

Параметры:
  • username (string) – Имя пользователя

JSON -объект ответа:
  • username (string) – имя пользователя

  • full_name (string) – полное имя пользователя

  • email (string) – электронная почта пользователя

  • is_superuser (boolean) – является ли пользователь суперпользователем

  • is_active (boolean) – активен ли пользователь

  • is_bot (boolean) – является ли пользователь ботом (используется для токенов проекта)

  • date_joined (string) – дата создания пользователя

PATCH /api/users/(str: username)/

Изменяет параметры пользователя.

Параметры:
  • username (string) – Имя пользователя

JSON -объект ответа:
  • username (string) – имя пользователя

  • full_name (string) – полное имя пользователя

  • email (string) – электронная почта пользователя

  • is_superuser (boolean) – является ли пользователь суперпользователем

  • is_active (boolean) – активен ли пользователь

  • is_bot (boolean) – является ли пользователь ботом (используется для токенов проекта)

  • date_joined (string) – дата создания пользователя

DELETE /api/users/(str: username)/

Удаляет всю информацию о пользователе и помечает пользователя как неактивного.

Параметры:
  • username (string) – Имя пользователя

POST /api/users/(str: username)/groups/

Связывает группы с пользователем.

Параметры:
  • username (string) – Имя пользователя

Параметры формы:
  • string group_id – Уникальный идентификатор группы

DELETE /api/users/(str: username)/groups/

Добавлено в версии 4.13.1.

Удалить пользователя из группы.

Параметры:
  • username (string) – Имя пользователя

Параметры формы:
  • string group_id – Уникальный идентификатор группы

GET /api/users/(str: username)/statistics/

Список статистик пользователя.

Параметры:
  • username (string) – Имя пользователя

JSON -объект ответа:
  • translated (int) – Количество переводов пользователя

  • suggested (int) – Количество предложений пользователя

  • uploaded (int) – Количество загрузок пользователя

  • commented (int) – Количество комментариев пользователя

  • languages (int) – Количество языков, на которые пользователь может переводить

GET /api/users/(str: username)/contributions/

List translations with contributions from a user.

Параметры:
  • username (string) – Имя пользователя

JSON -объект ответа:
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 – целое

Группы

Добавлено в версии 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/"
    ],
    "admins": [
        "http://example.com/api/users/exampleusername/"
    ]
}
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 – Уникальный идентификатор роли

DELETE /api/groups/(int: id)/roles/(int: role_id)

Delete role from a group.

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

  • role_id (int) – Уникальный идентификатор роли

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/

Добавлено в версии 5.5.

Добавить пользователя в команду администраторов.

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

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

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

Добавлено в версии 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) – URL-плашка проекта

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)/

Добавлено в версии 4.3.

Вносит изменения в проект с помощью PATCH-запроса.

Параметры:
  • project (string) – URL-плашка проекта

  • component (string) – URL-плашка компонента

PUT /api/projects/(string: project)/

Добавлено в версии 4.3.

Вносит изменения в проект с помощью PUT-запроса.

Параметры:
  • project (string) – URL-плашка проекта

DELETE /api/projects/(string: project)/

Удаляет проект.

Параметры:
  • project (string) – URL-плашка проекта

GET /api/projects/(string: project)/changes/

Возвращает список изменений проекта. По сути, эта точка входа работает так же и принимает те же самые параметры, что и GET /api/changes/, только для проекта.

Параметры:
  • project (string) – URL-плашка проекта

JSON -объект ответа:
  • results (array) – массив объектов компонентов; смотрите описание GET /api/changes/(int:id)/

GET /api/projects/(string: project)/file/

Добавлено в версии 5.5.

Скачивает все доступные переводы, связанные с проектом, в виде архивного файла, используя запрашиваемый формат и язык.

Параметры:
  • project (string) – URL-плашка проекта

Параметры запроса:
  • 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/

Returns information about the VCS repository status. This endpoint contains only an overall summary for all repositories for the project. To get more detailed status use GET /api/components/(string:project)/(string:component)/repository/.

Параметры:
  • project (string) – URL-плашка проекта

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) – URL-плашка проекта

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) – URL-плашка проекта

JSON -объект ответа:
POST /api/projects/(string: project)/components/

Изменено в версии 4.3: Параметры zipfile и docfile теперь доступны и для компонентов без системы контроля версий, смотреть раздел Локальные файлы.

Изменено в версии 4.6: Клонированные репозитории теперь автоматически разделяются внутри проекта с помощью Внутренние URL-адреса Weblate. Используйте disable_autoshare, чтобы отключить это.

Создаёт компоненты перевода в указанном проекте.

Подсказка

Используйте Внутренние URL-адреса Weblate при создании нескольких компонентов из одного VCS-репозитория.

Примечание

Большая часть процесса создания компонента происходит асинхронно, в фоновой задаче. Посмотрите значение атрибута task_url вновь созданного компонента и следите за ходом выполнения через него.

Параметры:
  • project (string) – URL-плашка проекта

Параметры формы:
  • file zipfile – ZIP-файл, который будет загружен в Weblate для инициализации переводов

  • file docfile – Документ для перевода

  • boolean disable_autoshare – Отключает автоматический обмен репозиториями через Внутренние URL-адреса 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/

Пример CURL JSON запроса:

curl \
    --data-binary '{
        "branch": "main",
        "file_format": "po",
        "file_format_params": {
            "po_line_wrap": 65535,
            "po_no_location": true
        },
        "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",
    "file_format_params": {
        "po_line_wrap": 65535,
        "po_no_location": true
    },
    "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",
    "file_format_params": {
        "po_line_wrap": 65535,
        "po_no_location": true
    },
    "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) – URL-плашка проекта

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) – URL-плашка проекта

См. также

Возвращаемые атрибуты описаны в Статистика.

GET /api/projects/(string: project)/categories/

Добавлено в версии 5.0: Возвращает категории для проекта. Определения полей см. в GET /api/categories/(int:id)/.

параметр проекта:

URL-плашка проекта

тип проекта:

строка

GET /api/projects/(string: project)/labels/

Добавлено в версии 5.3: Возвращает метки для проекта.

параметр проекта:

URL-плашка проекта

тип проекта:

строка

>json int id:

Идентификатор метки

>json string name:

название метки

>json string color:

цвет метки

POST /api/projects/(string: project)/labels/

Добавлено в версии 5.3: Создает метку для проекта.

параметр проекта:

URL-плашка проекта

тип проекта:

строка

<json string name:

название метки

<json string color:

цвет метки

DELETE /api/projects/(string: project)/labels/(int: label_id)/

Добавлено в версии 5.14: Deletes a label from a project.

параметр проекта:

URL-плашка проекта

тип проекта:

строка

param label_id:

ID of the label to delete

type label_id:

целое число

GET /api/projects/(string: project)/credits/

Возвращает благодарность участникам проекта.

Добавлено в версии 5.7.

Параметры:
  • project (string) – URL-плашка проекта

  • 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) – Количество изменений, выполненных за указанный период времени

GET /api/projects/{string:project}/machinery_settings/

Добавлено в версии 5.9.

Returns automatic suggestion settings for a project, consisting of the configurations defined for each translation service installed.

Параметры:
  • project (string) – URL-плашка проекта

JSON -объект ответа:
  • suggestion_settings (object) – Конфигурация для всех установленных служб.

POST /api/projects/{string:project}/machinery_settings/

Добавлено в версии 5.9.

Создать или обновить конфигурацию службы для проекта.

Параметры:
  • project (string) – URL-плашка проекта

Параметры формы:
  • string service – Название службы

  • string configuration – Service configuration in JSON

GET /api/projects/(string: project)/languages/(string: language_code)/file/

Изменено в версии 5.15.1: Added ability to download ZIP file of all components translations in a project for 1 specific language.

Download a ZIP file of all translation files for a specified language_code across all components for a given project rather than downloading individual translated files and manually zipping them, with the archive named {project-slug}-{language-code}.zip and organized by component paths (e.g., component-slug/po/lang.po).

Параметры:
  • project (string) – URL-плашка проекта

  • language_code (string) – Код языка

Параметры запроса:
  • filter (string) – Optional case-insensitive substring to filter components by slug (e.g., ?filter=core will match components with „core“ anywhere in their slug); only components whose slugs contain the substring will be included in the download.

  • format (string) – Формат архива; Если не указан, по умолчанию используется zip; Поддерживаемые форматы: zip и zip:CONVERSION, где CONVERSION является одним из преобразователей, перечисленных по адресу Скачивание переводов.

Примечание

Possible responses:

  • 200 OK with the ZIP file of translations for the specified language across all components in the project. If no components have translations for the specified language, an empty ZIP file will be returned.

  • 403 Forbidden if the user does not have permission to the project.

  • 404 Not Found if the project slug does not exist.

Компоненты

Подсказка

Используйте 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) – URL-плашка проекта

  • component (string) – URL-плашка компонента

JSON -объект ответа:

Пример данных в JSON:

{
    "branch": "main",
    "file_format": "po",
    "file_format_params": {
        "po_line_wrap": 65535,
        "po_no_location": true
    },
    "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) – URL-плашка проекта

  • component (string) – URL-плашка компонента

  • source_language (string) – Код исходного языка проекта (необязательный)

JSON -объект запроса:
  • name (string) – название компонента

  • slug (string) – плашка компонента

  • repo (string) – URL-адрес репозитория системы контроля версий

Пример 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",
    "file_format_params": {
        "po_line_wrap": 65535,
        "po_no_location": true
    },
    "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) – URL-плашка проекта

  • component (string) – URL-плашка компонента

JSON -объект запроса:
  • branch (string) – Ветка репозитория системы контроля версий

  • file_format (string) – формат файла переводов

  • file_format_params (object) – parameters related to the file

  • filemask (string) – маска файлов перевода в репозитории

  • name (string) – название компонента

  • slug (string) – плашка компонента

  • repo (string) – URL-адрес репозитория системы контроля версий

  • template (string) – базовый файл для одноязычных переводов

  • new_base (string) – базовый файл для добавления новых переводов

  • vcs (string) – система контроля версий

DELETE /api/components/(string: project)/(string: component)/

Удаляет компонент.

Параметры:
  • project (string) – URL-плашка проекта

  • component (string) – URL-плашка компонента

GET /api/components/(string: project)/(string: component)/changes/

Возвращает список изменений компонента. По сути, эта точка входа работает так же и принимает те же самые параметры, что и GET /api/changes/, только для компонента.

Параметры:
  • project (string) – URL-плашка проекта

  • component (string) – URL-плашка компонента

JSON -объект ответа:
  • results (array) – массив объектов компонентов; смотрите описание GET /api/changes/(int:id)/

GET /api/components/(string: project)/(string: component)/file/

Добавлено в версии 4.9.

Загружает все доступные переводы, связанные с компонентом, в виде архивного файла, используя запрашиваемый формат.

Параметры:
  • project (string) – URL-плашка проекта

  • component (string) – URL-плашка компонента

Параметры запроса:
  • format (string) – Формат архива; Если не указан, по умолчанию используется zip; Поддерживаемые форматы: zip и zip:CONVERSION, где CONVERSION является одним из преобразователей, перечисленных по адресу Скачивание переводов.

GET /api/components/(string: project)/(string: component)/screenshots/

Возвращает список снимков экрана компонента.

Параметры:
  • project (string) – URL-плашка проекта

  • component (string) – URL-плашка компонента

JSON -объект ответа:
GET /api/components/(string: project)/(string: component)/lock/

Возвращает состояние блокировки компонента.

Параметры:
  • project (string) – URL-плашка проекта

  • component (string) – URL-плашка компонента

JSON -объект ответа:
  • locked (boolean) – заблокирован ли компонент для обновлений

Пример данных в JSON:

{
    "locked": false
}
POST /api/components/(string: project)/(string: component)/lock/

Устанавливает статус блокировки компонента.

Ответ такой же, как и у GET /api/components/(string:project)/(string:component)/lock/.

Параметры:
  • project (string) – URL-плашка проекта

  • component (string) – URL-плашка компонента

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/

Возвращает информацию о состоянии репозитория VCS.

Ответ такой же, как и у GET /api/projects/(string:project)/repository/.

Параметры:
  • project (string) – URL-плашка проекта

  • component (string) – URL-плашка компонента

JSON -объект ответа:
  • needs_commit (boolean) – есть ли какие-нибудь отложенные изменения для коммита

  • needs_merge (boolean) – есть ли какие-нибудь изменения в вышестоящем репозитории для объединения

  • needs_push (boolean) – есть ли какие-нибудь локальные изменения для отправки

  • remote_commit (string) – Информация о коммите из удаленного репозитория

  • status (string) – Статус репозитория системы контроля версий по её же данным

  • merge_failure – Text describing merge failure or null if there is none

POST /api/components/(string: project)/(string: component)/repository/

Выполняет заданную операцию на репозитории системы контроля версий.

Документацию смотрите в описании POST /api/projects/(string:project)/repository/.

Параметры:
  • project (string) – URL-плашка проекта

  • component (string) – URL-плашка компонента

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) – URL-плашка проекта

  • component (string) – URL-плашка компонента

GET /api/components/(string: project)/(string: component)/new_template/

Скачивает файл шаблона для новых переводов.

Параметры:
  • project (string) – URL-плашка проекта

  • component (string) – URL-плашка компонента

GET /api/components/(string: project)/(string: component)/translations/

Возвращает список объектов перевода в указанном компоненте.

Параметры:
  • project (string) – URL-плашка проекта

  • component (string) – URL-плашка компонента

JSON -объект ответа:
POST /api/components/(string: project)/(string: component)/translations/

Создаёт новый перевод в указанном компоненте.

Параметры:
  • project (string) – URL-плашка проекта

  • component (string) – URL-плашка компонента

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) – URL-плашка проекта

  • component (string) – URL-плашка компонента

См. также

Возвращаемые атрибуты описаны в Статистика.

Возвращает проекты, связанные с компонентом.

Добавлено в версии 4.5.

Параметры:
  • project (string) – URL-плашка проекта

  • component (string) – URL-плашка компонента

JSON -объект ответа:
POST /api/components/(string: project)/(string: component)/links/

Связывает проект с компонентом.

Добавлено в версии 4.5.

Параметры:
  • project (string) – URL-плашка проекта

  • component (string) – URL-плашка компонента

Параметры формы:
  • string project_slug – Плашка проекта

Удаляет связь проекта с компонентом.

Добавлено в версии 4.5.

Параметры:
  • project (string) – URL-плашка проекта

  • component (string) – URL-плашка компонента

  • project_slug (string) – Плашка удаляемого проекта

GET /api/components/(string: project)/(string: component)/credits/

Возвращает благодарность участникам проекта.

Добавлено в версии 5.7.

Параметры:
  • project (string) – URL-плашка проекта

  • 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) – Количество изменений, выполненных за указанный период времени

Переводы

GET /api/translations/

Возвращает список переводов.

См. также

Атрибуты объекта-перевода описываются в разделе GET /api/translations/(string:project)/(string:component)/(string:language)/.

GET /api/translations/(string: project)/(string: component)/(string: language)/

Возвращает информацию о переводе.

Параметры:
  • project (string) – URL-плашка проекта

  • component (string) – URL-плашка компонента

  • 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) – URL-адрес для принятия участия в переводе, ведущий на вводную страницу

  • total (int) – общее количество строк

  • total_words (int) – общее количество слов

  • translate_url (string) – URL-адрес для перевода

  • translated (int) – количество переведенных строк

  • translated_percent (float) – процент переведённых строк

  • translated_words (int) – количество переведённых слов

  • repository_url (string) – URL-адрес статуса репозитория; смотрите описание GET /api/translations/(string:project)/(string:component)/(string:language)/repository/

  • file_url (string) – URL-адрес объекта файла; смотрите описание GET /api/translations/(string:project)/(string:component)/(string:language)/file/

  • changes_list_url (string) – URL-адрес списка изменений; смотрите описание GET /api/translations/(string:project)/(string:component)/(string:language)/changes/

  • units_list_url (string) – URL-адрес списка строк; смотрите описание GET /api/translations/(string:project)/(string:component)/(string:language)/units/

Пример данных в JSON:

{
    "component": {
        "branch": "main",
        "file_format": "po",
        "file_format_params": {
            "po_line_wrap": 65535,
            "po_no_location": true
        },
        "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) – URL-плашка проекта

  • component (string) – URL-плашка компонента

  • language (string) – Код языка перевода

GET /api/translations/(string: project)/(string: component)/(string: language)/changes/

Возвращает список изменений перевода. По сути, эта точка входа работает так же и принимает те же самые параметры, что и GET /api/changes/, только для перевода.

Параметры:
  • project (string) – URL-плашка проекта

  • component (string) – URL-плашка компонента

  • language (string) – Код языка перевода

JSON -объект ответа:
  • results (array) – массив объектов компонентов; смотрите описание GET /api/changes/(int:id)/

GET /api/translations/(string: project)/(string: component)/(string: language)/units/

Возвращает список единиц перевода.

Параметры:
  • project (string) – URL-плашка проекта

  • component (string) – URL-плашка компонента

  • language (string) – Код языка перевода

  • q (string) – Строка поискового запроса Поиск (необязательно)

JSON -объект ответа:
  • results (array) – массив объектов компонента; смотрите описание GET /api/units/(int:id)/

POST /api/translations/(string: project)/(string: component)/(string: language)/units/

Добавить новый элемент.

Параметры:
  • project (string) – URL-плашка проекта

  • component (string) – URL-плашка компонента

  • 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) – Двуязычные переводы: контекст единица перевода

  • 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 -объект ответа:
  • unit (object) – недавно созданная единица перевода; смотрите GET /api/units/(int:id)/

POST /api/translations/(string: project)/(string: component)/(string: language)/autotranslate/

Изменено в версии 5.13: The filter_type parameter is no longer supported and filtering is done by the q parameter.

Запускает автоматический перевод.

Параметры:
  • project (string) – URL-плашка проекта

  • component (string) – URL-плашка компонента

  • language (string) – Код языка перевода

JSON -объект запроса:
  • mode (string) – Режим автоматического перевода

  • q (string) – Automatic translation search string, see Поиск строк.

  • auto_source (string) – Источник автоматического перевода - mt или others

  • component (string) – Добавлять переводы этого компонента в общую память переводов проекта, дабы получить к ним доступ из других компонентов.

  • engines (array) – Механизмы машинного перевода

  • threshold (string) – Порог оценки

GET /api/translations/(string: project)/(string: component)/(string: language)/file/

Скачивает текущий файл перевода в том виде, в котором он хранится в VCS (без параметра format) или преобразован в другой формат (смотреть раздел Скачивание переводов).

Примечание

Эта конечная точка API использует отличающуюся от остального API логику вывода, так как она работает не с данными, а с целым файлом. Отличается логика при установке допустимого параметра format — без него вы получите файл перевода, хранящийся в системе контроля версий.

Заголовки ответа:
Заголовки запроса:
  • If-Modified-Since – Skips response if the file has not been modified since that time.

Параметры запроса:
  • format – Используемый формат файла; если не указано, преобразование формата не происходит; см. Скачивание переводов для получения информации о поддерживаемых форматах

  • q (string) – Фильтровать загруженные строки, см. Поиск, применимо только при наличии преобразования (указан format).

Параметры:
  • project (string) – URL-плашка проекта

  • component (string) – URL-плашка компонента

  • language (string) – Код языка перевода

POST /api/translations/(string: project)/(string: component)/(string: language)/file/

Загружает новый файл с переводами.

Параметры:
  • project (string) – URL-плашка проекта

  • component (string) – URL-плашка компонента

  • 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 – Что делать с неточными, отмеченными на правку, переводами (пусто, 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/

Возвращает информацию о состоянии репозитория VCS.

Ответ такой же, как и у GET /api/components/(string:project)/(string:component)/repository/.

Параметры:
  • project (string) – URL-плашка проекта

  • component (string) – URL-плашка компонента

  • language (string) – Код языка перевода

POST /api/translations/(string: project)/(string: component)/(string: language)/repository/

Выполняет заданную операцию на репозитории системы контроля версий.

Документацию смотрите в описании POST /api/projects/(string:project)/repository/.

Параметры:
  • project (string) – URL-плашка проекта

  • component (string) – URL-плашка компонента

  • 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) – URL-плашка проекта

  • component (string) – URL-плашка компонента

  • language (string) – Код языка перевода

См. также

Возвращаемые атрибуты описаны в Статистика.

Накопитель

Добавлено в версии 4.14.

GET /api/memory/

Возвращает список из результатов памяти.

DELETE /api/memory/(int: memory_object_id)/

Удаляет объект памяти

Параметры:
  • memory_object_id – Идентификатор объекта памяти

Единицы перевода

Единица перевода (unit) — это единичный фрагмент перевода, сопоставляющий исходную строку и соответствующий ей перевод, а также содержащий некоторые связанные с ними метаданные. Этот термин унаследован от translate.storage.base.TranslationUnit в Translate Toolkit и XLIFF.

GET /api/units/

Возвращает список единиц перевода.

Параметры:
  • q (string) – Строка поискового запроса Поиск (необязательно)

См. также

Атрибуты объекта единицы перевода описываются в разделе GET /api/units/(int:id)/.

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

Изменено в версии 4.3: target и source теперь являются массивами, чтобы корректно обрабатывать строки со множественным числом.

Изменено в версии 5.6: Атрибут last_updated теперь доступен.

Возвращает информацию о единице перевода.

Параметры:
  • id (int) – Идентификатор единицы перевода

JSON -объект ответа:
  • translation (string) – URL-адрес связанного объекта перевода

  • 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) – URL-адрес, по которому можно отредактировать единицу перевода

  • source_unit (string) – Ссылка на исходную единицу перевода; смотрите описание GET /api/units/(int:id)/

  • pending (boolean) – является ли единица перевода ожидающей записи

  • timestamp (timestamp) – возраст строки

  • last_updated (timestamp) – последнее обновление строки

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

Добавлено в версии 4.3.

Выполняет частичное обновление единицы перевода.

Параметры:
  • id (int) – Идентификатор единицы перевода

JSON -объект запроса:
PUT /api/units/(int: id)/

Добавлено в версии 4.3.

Выполняет полное обновление единицы перевода.

Параметры:
  • id (int) – Идентификатор единицы перевода

JSON -объект запроса:
DELETE /api/units/(int: id)/

Добавлено в версии 4.3.

Удаляет единицу перевода.

Параметры:
  • id (int) – Идентификатор единицы перевода

GET /api/units/(int: id)/translations/

Добавлено в версии 5.11.

Returns a list of all target translation units for the given source translation unit.

POST /api/units/(int: id)/comments/

Добавлено в версии 5.12.

Create a new comment on the given translation unit.

Параметры:
  • id (int) – Идентификатор единицы перевода

JSON -объект запроса:
  • scope (string) – comment scope - global, translation (available on all non-source units), report (need review workflow enabled, see Выделенные рецензенты)

  • comment (string) – содержание нового коммита, вы можете использовать разметку Markdown и упоминать других участников с помощью @имя_пользователя.

  • user_email (string) – commenter’s email, can be set only by project admins and defaults to the authenticated user.

  • timestamp (string) – creation timestamp of the comment, can be set only by project admins and defaults to now.

JSON -объект ответа:
  • id (int) – идентификатор коммита

  • comment (string) – content of the new comment

  • user (string) – URL of the commenter’s object

  • timestamp (string) – creation timestamp of the comment

GET /api/units/(int: id)/comments/

Добавлено в версии 5.15.

Returns a list of comments on a given translation unit

Параметры:
  • id (int) – Идентификатор единицы перевода

JSON -объект ответа:
  • id (int) – идентификатор коммита

  • comment (string) – content of the comment

  • timestamp (string) – creation timestamp of the comment

  • user (string) – URL of the commenter’s object

Изменения

GET /api/changes/

Изменено в версии 4.1: Фильтрация изменений была введена в выпуске 4.1.

Возвращает список изменений в переводе.

См. также

Атрибуты объекта-изменения описываются в разделе GET /api/changes/(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) – URL-адрес связанного объекта единицы перевода

  • translation (string) – URL-адрес связанного объекта перевода

  • component (string) – URL-адрес связанного объекта компонента

  • user (string) – URL-адрес связанного объекта пользователя

  • author (string) – URL-адрес связанного объекта автора

  • 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) – URL-адрес связанного объекта компонента

  • file_url (string) – URL-адрес для скачивания файла; смотрите описание 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) – URL-адрес связанного объекта перевода

  • file_url (string) – URL-адрес для скачивания файла; смотрите описание 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) – URL-адрес связанного объекта компонента

  • file_url (string) – URL-адрес для скачивания файла; смотрите описание 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) – URL-адрес связанного объекта компонента

  • file_url (string) – URL-адрес для скачивания файла; смотрите описание 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) – URL-адрес связанного объекта компонента

  • file_url (string) – URL-адрес для скачивания файла; смотрите описание GET /api/screenshots/(int:id)/file/

  • units (array) – ссылка на связанную информацию об исходной строке; смотрите описание GET /api/units/(int:id)/

DELETE /api/screenshots/(int: id)/

Удаляет снимок экрана.

Параметры:
  • id (int) – Идентификатор снимка экрана

Надстройки

Добавлено в версии 4.4.1.

GET /api/addons/

Возвращает список надстроек.

См. также

Атрибуты объекта-надстройки, описываются в разделе GET /api/addons/(int:id)/.

GET /api/addons/(int: id)/

Возвращает информацию о надстройке.

Параметры:
  • id (int) – ID надстройки

JSON -объект ответа:
  • name (string) – название надстройки

  • component (string) – URL-адрес связанного объекта компонента

  • 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) – ID надстройки

JSON -объект ответа:
  • configuration (object) – Необязательные настройки надстройки

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

Редактирует всю информацию о надстройке.

Параметры:
  • id (int) – ID надстройки

JSON -объект ответа:
  • configuration (object) – Необязательные настройки надстройки

DELETE /api/addons/(int: id)/

Удаляет надстройку.

Параметры:
  • id (int) – ID надстройки

Списки компонентов

Добавлено в версии 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/

Добавлено в версии 5.0.1: Перечислить компоненты в списке компонентов.

param slug:

Плашка списка компонентов

type slug:

строка

form string component_id:

Идентификатор компонента

>json array 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.

Задачи

Добавлено в версии 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) – URL-путь

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-адрес для доступа к объекту (если применимо)

  • url_translate (string) – URL адрес для доступа к переводу (если применимо)

  • code (string) – код языка (если применимо)

Метрики

GET /api/metrics/

Возвращает метрики сервера.

Изменено в версии 5.6.1: Метрики теперь можно представлять в формате, совместимом с OpenMetrics, с помощью ?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/categories/

Добавлено в версии 5.0.

Перечисляет доступные категории. См. определения полей в GET /api/categories/(int:id)/.

POST /api/categories/

Добавлено в версии 5.0.

Создаёт новую категорию. См. определения полей в GET /api/categories/(int:id)/.

GET /api/categories/(int: id)/

Добавлено в версии 5.0.

Параметры:
  • id (int) – Идентификатор категории

JSON -объект ответа:
  • name (str) – Название категории.

  • slug (str) – Слизняк категории.

  • project (str) – Ссылка на проект.

  • category (str) – Ссылка на родительскую категорию.

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

Добавлено в версии 5.0: Редактировать частичную информацию о категории.

идентификатор параметра:

Идентификатор категории

тип идентификатора:

целое

>json object configuration:

Дополнительная конфигурация категории

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

Добавлено в версии 5.0: Редактировать полную информацию о категории.

идентификатор параметра:

Идентификатор категории

тип идентификатора:

целое

>json object configuration:

Дополнительная конфигурация категории

DELETE /api/categories/(int: id)/

Добавлено в версии 5.0: Удалить категорию.

идентификатор параметра:

Идентификатор категории

тип идентификатора:

целое

GET /api/categories/(int: id)/statistics/

Добавлено в версии 5.5.

Возвращает статистику категории.

Параметры:
  • project (int) – Идентификатор категории

См. также

Возвращаемые атрибуты описаны в Статистика.

Обработчики уведомлений

Обработчики уведомлений позволяют внешним приложениям уведомлять Weblate об обновлении репозитория системы контроля версий.

Вы можете использовать конечные точки репозитория для проектов, компонентов и переводов для обновления отдельных репозиториев; документацию смотрите в описании POST /api/projects/(string:project)/repository/.

GET /hooks/update/(string: project)/(string: component)/

Устарело, начиная с версии 2.6: Пожалуйста, используйте вместо этой конечной точки точку POST /api/components/(string:project)/(string:component)/repository/, которая правильно работает с авторизацией для проектов, ограниченных списками контроля доступа.

Удалено в версии 5.14.

GET /hooks/update/(string: project)/

Устарело, начиная с версии 2.6: Пожалуйста, используйте вместо этой конечной точки точку POST /api/projects/(string:project)/repository/, которая правильно работает с авторизацией для проектов, ограниченных списками контроля доступа.

Удалено в версии 5.14.

POST /hooks/github/

Специальный обработчик для обработки уведомлений GitHub и автоматического обновления соответствующих компонентов.

Примечание

GitHub включает прямую поддержку уведомлений Weblate: включите сервисный обработчик Weblate в настройках репозитория и установите URL-адрес в соответствие с URL-адресом вашей установки 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/user/project/integrations/webhooks/

Общая информация о веб-обработчиках 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 Repos

Инструкция по настройке интеграции с 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

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 в Википедии