REST API Weblate

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

The API is also documented using OpenAPI 3.0 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.

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

API публичного проекта доступен без авторизации, хотя количество неавторизованных запросов сильно ограничено (по умолчанию до 100 запросов в день), так что авторизацию всё равно рекомендуется использовать. Авторизация использует токен, который вы можете получить в своём профиле. Используйте его в заголовке Authorization:

ANY /

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

Параметры запроса:
  • format – Формат ответа (переопределяет заголовок Accept). Возможные значения зависят от настройки REST-среды, по умолчанию поддерживаются json и api. Последний предоставляет для 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/

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

Чтобы получить доступ к компоненту, вложенному в категорию, вам необходимо URL-адрес закодировать имя категории в имя компонента, разделённое косой чертой. Например, usage, помещённый в категорию docs, должен использоваться как docs%2Fusage. Полный URL-адрес в этом случае будет, например, таким 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: Добавлены заголовки состояния ограничения количества запросов.

Точка входа в 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/

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

См. также

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

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

Группы

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

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

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

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

Возвращает информацию о состоянии репозитория системы контроля версий. Эта конечная точка содержит только общую сводку по всем репозиториям проекта. Для получения более подробной информации о состоянии используйте конечную точку 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",
        "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) – 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: Returns labels for a project.

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

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

тип проекта:

строка

>json int id:

ID of the label

>json string name:

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

>json string color:

цвет метки

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

Добавлено в версии 5.3: Creates a label for a project.

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

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

тип проекта:

строка

<json string name:

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

<json string color:

цвет метки

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

Returns contributor credits for a project.

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

Компоненты

Подсказка

Используйте 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",
    "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",
    "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)/

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

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

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

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

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

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

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

Ответ такой же, как и у 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 – Текст, описывающий причину неудачи объединения или null, если её нет

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/

Returns contributor credits for a project.

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

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

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

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

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

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

Скачивает текущий файл перевода в том виде, в котором он хранится в 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/

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

Ответ такой же, как и у 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 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) – 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/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) – event changed text

  • old (string) – previous text

  • details (object) – additional details about the change

  • 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/units/(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:

массив объектов компонентов; смотрите описание 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: Metrics can now be exposed in OpenMetrics compatible format with ?format=openmetrics.

JSON -объект ответа:
  • units (int) – Количество единиц

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

  • users (int) – Количество пользователей

  • changes (int) – Количество изменений

  • projects (int) – Количество проектов

  • components (int) – Количество компонентов

  • translations (int) – Количество переводов

  • languages (int) – Количество используемых языков

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

  • configuration_errors (int) – Количество ошибок конфигурации

  • suggestions (int) – Количество ожидающих предложений

  • celery_queues (object) – Длины очередей Celery, смотреть раздел Фоновые задачи с использованием Celery

  • name (string) – Настроенное имя сервера

Категории

GET /api/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:

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

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

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

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

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

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

целое

>конфигурация объекта json:

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

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

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

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

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

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

целое

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

Добавлено в версии 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:project)/(string:component)/repository/, которая правильно работает с авторизацией для проектов, ограниченных списками контроля доступа.

Запускает обновление компонента (извлечение кода из системы контроля версий и поиск в нём изменений перевода).

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

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

Запускает обновление всех компонентов в проекте (извлечение кода из системы контроля версий и поиск в нём изменений перевода).

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

Экспорты

Чтобы позволить вам и дальше обрабатывать данные, 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/; они также разрешает доступ к проектам, контролируемым списками контроля доступа.

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

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

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