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.
- Заголовки запроса:
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
.
О состоянии ограничения частоты запросов сообщается в следующих заголовках:
|
Ограничение на максимальное число выполняемых запросов |
|
Оставшийся лимит запросов |
|
Количество секунд до сброса окна ограничения количества запросов |
Изменено в версии 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/¶
Создаёт новую группу.
- Параметры:
name (string) – Название группы
project_selection (int) – Группа проекта, выбранная из предложенных вариантов
language_selection (int) – Группа языков, выбранная из предложенных вариантов
defining_project (str) – ссылка на определяющий проект, используемая для Управление контролем доступа для каждого проекта; смотрите
GET /api/projects/(string:project)/
- GET /api/groups/(int: id)/¶
Возвращает информацию о группе.
- Параметры:
id (int) – Идентификатор группы
- JSON -объект ответа:
name (string) – название группы
project_selection (int) – целое число, соответствующее группе проектов
language_selection (int) – целое число соответствующее группе языков
roles (array) – ссылка на связанные роли; смотрите описание
GET /api/roles/(int:id)/
projects (array) – ссылка на связанные проекты; смотрите описание
GET /api/projects/(string:project)/
components (array) – ссылка на связанные компоненты; смотрите описание
GET /api/components/(string:project)/(string:component)/
componentlists (array) – ссылка на связанный список компонентов; смотрите описание
GET /api/component-lists/(str:slug)/
defining_project (str) – ссылка на определяющий проект, используемая для Управление контролем доступа для каждого проекта; смотрите
GET /api/projects/(string:project)/
Пример данных в JSON:
{ "name": "Guests", "defining_project": null, "project_selection": 3, "language_selection": 1, "url": "http://example.com/api/groups/1/", "roles": [ "http://example.com/api/roles/1/", "http://example.com/api/roles/2/" ], "languages": [ "http://example.com/api/languages/en/", "http://example.com/api/languages/cs/", ], "projects": [ "http://example.com/api/projects/demo1/", "http://example.com/api/projects/demo/" ], "componentlist": "http://example.com/api/component-lists/new/", "components": [ "http://example.com/api/components/demo/weblate/" ] }
- PUT /api/groups/(int: id)/¶
Изменяет параметры группы.
- Параметры:
id (int) – Идентификатор группы
- JSON -объект ответа:
name (string) – название группы
project_selection (int) – целое число, соответствующее группе проектов
language_selection (int) – целое число, соответствующее группе языков
- PATCH /api/groups/(int: id)/¶
Изменяет параметры группы.
- Параметры:
id (int) – Идентификатор группы
- JSON -объект ответа:
name (string) – название группы
project_selection (int) – целое число, соответствующее группе проектов
language_selection (int) – целое число соответствующее группе языков
- DELETE /api/groups/(int: id)/¶
Удаляет группу.
- Параметры:
id (int) – Идентификатор группы
- POST /api/groups/(int: id)/roles/¶
Связывает роли с группой.
- Параметры:
id (int) – Идентификатор группы
- Параметры формы:
string role_id – Уникальный идентификатор роли
- POST /api/groups/(int: id)/components/¶
Связывает компоненты с группой.
- Параметры:
id (int) – Идентификатор группы
- Параметры формы:
string component_id – Уникальный идентификатор компонента
- DELETE /api/groups/(int: id)/components/(int: component_id)¶
Удаляет компонент из группы.
- Параметры:
id (int) – Идентификатор группы
component_id (int) – Уникальный идентификатор компонента
- POST /api/groups/(int: id)/projects/¶
Связывает проекты с группой.
- Параметры:
id (int) – Идентификатор группы
- Параметры формы:
string project_id – Уникальный идентификатор проекта
- DELETE /api/groups/(int: id)/projects/(int: project_id)¶
Удаляет проект из группы.
- Параметры:
id (int) – Идентификатор группы
project_id (int) – Уникальный идентификатор проекта
- POST /api/groups/(int: id)/languages/¶
Связывает языки с группой.
- Параметры:
id (int) – Идентификатор группы
- Параметры формы:
string language_code – Уникальный код языка
- DELETE /api/groups/(int: id)/languages/(string: language_code)¶
Удаляет язык из группы.
- Параметры:
id (int) – Идентификатор группы
language_code (string) – Уникальный код языка
- POST /api/groups/(int: id)/componentlists/¶
Связывает списки компонентов с группой.
- Параметры:
id (int) – Идентификатор группы
- Параметры формы:
string component_list_id – Уникальный идентификатор списка компонентов
- DELETE /api/groups/(int: id)/componentlists/(int: component_list_id)¶
Удаляет список компонентов из группы.
- Параметры:
id (int) – Идентификатор группы
component_list_id (int) – Уникальный идентификатор списка компонентов
- POST /api/groups/(int: id)/admins/¶
Добавлено в версии 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 -объект ответа:
name (string) – название проекта
slug (string) – плашка проекта
web (string) – веб-сайт проекта
components_list_url (string) – URL-адрес списка компонентов; смотрите описание
GET /api/projects/(string:project)/components/
repository_url (string) – URL-адрес статуса репозитория; смотрите описание
GET /api/projects/(string:project)/repository/
changes_list_url (string) – URL-адрес списка изменений; смотрите описание
GET /api/projects/(string:project)/changes/
credits_url (string) – URL to list contributor credits; see
GET /api/projects/(string:project)/credits/
translation_review (boolean) – Включить рецензии
source_review (boolean) – Включить рецензии исходных строк
set_language_team (boolean) – Задать заголовок «Language-Team»
enable_hooks (boolean) – Включить обработчики
instructions (string) – Инструкции для переводчиков
language_aliases (string) – Псевдонимы языка
Пример данных в JSON:
{ "name": "Hello", "slug": "hello", "url": "http://example.com/api/projects/hello/", "web": "https://weblate.org/", "web_url": "http://example.com/projects/hello/" }
- PATCH /api/projects/(string: project)/¶
Добавлено в версии 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 -объект ответа:
results (array) – массив объектов компонентов; смотрите описание
GET /api/components/(string:project)/(string:component)/
- 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 -объект запроса:
object – Параметры компонентов; смотрите описание
GET /api/components/(string:project)/(string:component)/
- JSON -объект ответа:
result (object) – Созданный объект компонента; смотрите описание
GET /api/components/(string:project)/(string:component)/
JSON не может использоваться при загрузке файлов с помощью параметров
zipfile
иdocfile
. Данные должны быть загружены в формате multipart/form-data.Пример запроса CURL:
curl \ --form docfile=@strings.html \ --form name=Weblate \ --form slug=weblate \ --form file_format=html \ --form new_lang=add \ -H "Authorization: Token TOKEN" \ http://example.com/api/projects/hello/components/
Пример 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 -объект ответа:
project (object) – проект перевода; смотрите описание
GET /api/projects/(string:project)/
name (string) – Название компонента
slug (string) – Плашка компонента
vcs (string) – Система контроля версий
linked_component (string) – component whose repository is linked via Внутренние URL-адреса Weblate
repo (string) – Репозиторий исходного кода, this is the actual repository URL even when Внутренние URL-адреса Weblate are used, use
linked_component
to detect this situationgit_export (string) – URL экспортированного репозитория
branch (string) – Ветка репозитория, this is the actual repository branch even when Внутренние URL-адреса Weblate are used
push (string) – URL для отправки в репозиторий, this is the actual repository URL even when Внутренние URL-адреса Weblate are used
push_branch (string) – Ветка для отправки, this is the actual repository branch even when Внутренние URL-адреса Weblate are used
filemask (string) – Маска файла
template (string) – Одноязычный базовый файл
edit_template (string) – Правка базового файла
intermediate (string) – Файл промежуточного языка
new_base (string) – Шаблон для новых переводов
file_format (string) – Формат файла
license (string) – Лицензия перевода
agreement (string) – Соглашение участника
new_lang (string) – Добавление нового перевода
language_code_style (string) – Стиль кода языка
source_language (object) – объект исходного языка; смотрите описание
GET /api/languages/(string:language)/
check_flags (string) – Флаги перевода
priority (string) – Приоритет
enforced_checks (string) – Принудительная проверка
restricted (string) – Ограниченный доступ
repoweb (string) – Просмотрщик репозитория
report_source_bugs (string) – Адрес для сообщения об ошибке в исходной строке
merge_style (string) – Стиль слияния
commit_message (string) – Сообщения коммита, добавления, удаления, слияния, дополнения и запроса объединения
add_message (string) – Сообщения коммита, добавления, удаления, слияния, дополнения и запроса объединения
delete_message (string) – Сообщения коммита, добавления, удаления, слияния, дополнения и запроса объединения
merge_message (string) – Сообщения коммита, добавления, удаления, слияния, дополнения и запроса объединения
addon_message (string) – Сообщения коммита, добавления, удаления, слияния, дополнения и запроса объединения
pull_message (string) – Сообщения коммита, добавления, удаления, слияния, дополнения и запроса объединения
allow_translation_propagation (string) – Разрешить распространение перевода
enable_suggestions (string) – Включить предложения
suggestion_voting (string) – Голосование по предложению
suggestion_autoaccept (string) – Автоматически принимать предложения
push_on_commit (string) – Отправлять при коммите
commit_pending_age (string) – Возраст изменений для коммита
auto_lock_error (string) – Блокировать при ошибке
language_regex (string) – Языковой фильтр
variant_regex (string) – Регулярное выражение вариантов
is_glossary (bool) – Использовать в качестве словаря
glossary_color (string) – Цвет словаря
repository_url (string) – URL-адрес статуса репозитория; смотрите описание
GET /api/components/(string:project)/(string:component)/repository/
translations_url (string) – URL-адрес списка переводов; смотрите описание
GET /api/components/(string:project)/(string:component)/translations/
lock_url (string) – URL-адрес статуса блокировки; смотрите описание
GET /api/components/(string:project)/(string:component)/lock/
changes_list_url (string) – URL-адрес списка изменений; смотрите описание
GET /api/components/(string:project)/(string:component)/changes/
task_url (string) – URL фоновой задачи (если такая есть); просмотрите
GET /api/tasks/(str:uuid)/
credits_url (string) – URL to to list contributor credits; see
GET /api/components/(string:project)/(string:component)/credits/
Пример данных в JSON:
{ "branch": "main", "file_format": "po", "filemask": "po/*.po", "git_export": "", "license": "", "license_url": "", "name": "Weblate", "slug": "weblate", "project": { "name": "Hello", "slug": "hello", "source_language": { "code": "en", "direction": "ltr", "population": 159034349015, "name": "English", "url": "http://example.com/api/languages/en/", "web_url": "http://example.com/languages/en/" }, "url": "http://example.com/api/projects/hello/", "web": "https://weblate.org/", "web_url": "http://example.com/projects/hello/" }, "source_language": { "code": "en", "direction": "ltr", "population": 159034349015, "name": "English", "url": "http://example.com/api/languages/en/", "web_url": "http://example.com/languages/en/" }, "repo": "file:///home/nijel/work/weblate-hello", "template": "", "new_base": "", "url": "http://example.com/api/components/hello/weblate/", "vcs": "git", "web_url": "http://example.com/projects/hello/weblate/" }
- PATCH /api/components/(string: project)/(string: component)/¶
Вносит изменения в компонент с помощью PATCH-запроса.
- Параметры:
project (string) – 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 -объект ответа:
results (array) – массив снимков экрана компонента; смотрите описание
GET /api/screenshots/(int:id)/
- 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 -объект ответа:
results (array) – массив объектов перевода; смотрите описание
GET /api/translations/(string:project)/(string:component)/(string:language)/
- POST /api/components/(string: project)/(string: component)/translations/¶
Создаёт новый перевод в указанном компоненте.
- Параметры:
project (string) – URL-плашка проекта
component (string) – URL-плашка компонента
- JSON -объект запроса:
language_code (string) – код языка перевода; смотрите описание
GET /api/languages/(string:language)/
- JSON -объект ответа:
result (object) – новый созданный объект перевода
Пример CURL:
curl \ -d language_code=cs \ -H "Authorization: Token TOKEN" \ http://example.com/api/projects/hello/components/
Пример JSON запроса:
POST /api/projects/hello/components/ HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json Authorization: Token TOKEN Content-Length: 20 {"language_code": "cs"}
Пример ответа в JSON:
HTTP/1.0 200 OK Date: Tue, 12 Apr 2016 09:32:50 GMT Server: WSGIServer/0.1 Python/2.7.11+ Vary: Accept, Accept-Language, Cookie X-Frame-Options: SAMEORIGIN Content-Type: application/json Content-Language: en Allow: GET, POST, HEAD, OPTIONS { "failing_checks": 0, "failing_checks_percent": 0, "failing_checks_words": 0, "filename": "po/cs.po", "fuzzy": 0, "fuzzy_percent": 0.0, "fuzzy_words": 0, "have_comment": 0, "have_suggestion": 0, "is_template": false, "is_source": false, "language": { "code": "cs", "direction": "ltr", "population": 1303174280 "name": "Czech", "url": "http://example.com/api/languages/cs/", "web_url": "http://example.com/languages/cs/" }, "language_code": "cs", "id": 125, "last_author": null, "last_change": null, "share_url": "http://example.com/engage/hello/cs/", "total": 4, "total_words": 15, "translate_url": "http://example.com/translate/hello/weblate/cs/", "translated": 0, "translated_percent": 0.0, "translated_words": 0, "url": "http://example.com/api/translations/hello/weblate/cs/", "web_url": "http://example.com/projects/hello/weblate/cs/" }
- GET /api/components/(string: project)/(string: component)/statistics/¶
Возвращает разбитую на страницы статистику по всем переводам компонента.
- Параметры:
project (string) – URL-плашка проекта
component (string) – URL-плашка компонента
См. также
Возвращаемые атрибуты описаны в Статистика.
- GET /api/components/(string: project)/(string: component)/links/¶
Возвращает проекты, связанные с компонентом.
Добавлено в версии 4.5.
- Параметры:
project (string) – URL-плашка проекта
component (string) – URL-плашка компонента
- JSON -объект ответа:
projects (array) – связанные проекты; смотрите описание
GET /api/projects/(string:project)/
- POST /api/components/(string: project)/(string: component)/links/¶
Связывает проект с компонентом.
Добавлено в версии 4.5.
- Параметры:
project (string) – URL-плашка проекта
component (string) – URL-плашка компонента
- Параметры формы:
string project_slug – Плашка проекта
- DELETE /api/components/(string: project)/(string: component)/links/(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
— без него вы получите файл перевода, хранящийся в системе контроля версий.- Заголовки ответа:
Last-Modified – Timestamp of last change to this file.
- Заголовки запроса:
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 -объект запроса:
state (int) – состояние единицы перевода: 0 - без перевода, 10 - на правку, 20 - переведено, 30 - одобрено (требуется включить рецензирование, просмотрите раздел Выделенные рецензенты)
target (array) – целевая строка
explanation (string) – Пояснения для строки, доступные для данной единицы перевода, смотрите раздел Дополнительная информация об исходных строках
extra_flags (string) – Дополнительные флаги строки, доступны на исходных единицах перевода, смотрите раздел Настройка поведения с помощью флагов
labels (array) – метки, доступны в исходных модулях
- PUT /api/units/(int: id)/¶
Добавлено в версии 4.3.
Выполняет полное обновление единицы перевода.
- Параметры:
id (int) – Идентификатор единицы перевода
- JSON -объект запроса:
state (int) – состояние единицы перевода: 0 - без перевода, 10 - на правку, 20 - переведено, 30 - одобрено (требуется включить рецензирование, просмотрите раздел Выделенные рецензенты)
target (array) – целевая строка
explanation (string) – Пояснения для строки, доступные для данной единицы перевода, смотрите раздел Дополнительная информация об исходных строках
extra_flags (string) – Дополнительные флаги строки, доступны на исходных единицах перевода, смотрите раздел Настройка поведения с помощью флагов
labels (array) – метки, доступны в исходных модулях
- 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/languages/(string:language)/statistics/
,GET /api/projects/(string:project)/statistics/
,GET /api/categories/(int:id)/statistics/
,GET /api/components/(string:project)/(string:component)/statistics/
,GET /api/translations/(string:project)/(string:component)/(string:language)/statistics/
Метрики¶
- GET /api/metrics/¶
Возвращает метрики сервера.
Изменено в версии 5.6.1: Metrics can now be exposed in OpenMetrics compatible format with
?format=openmetrics
.- JSON -объект ответа:
units (int) – Количество единиц
units_translated (int) – Количество переведённых единиц
users (int) – Количество пользователей
changes (int) – Количество изменений
projects (int) – Количество проектов
components (int) – Количество компонентов
translations (int) – Количество переводов
languages (int) – Количество используемых языков
checks (int) – Количество проведённых проверок
configuration_errors (int) – Количество ошибок конфигурации
suggestions (int) – Количество ожидающих предложений
celery_queues (object) – Длины очередей Celery, смотреть раздел Фоновые задачи с использованием Celery
name (string) – Настроенное имя сервера
Поиск¶
- GET /api/search/¶
Добавлено в версии 4.18.
Возвращает результаты поиска по всему сайту в виде списка. В наборе результатов нет нумерации страниц, для каждой категории возвращаются только первые несколько совпадений.
- JSON -объект ответа:
name (str) – Имя совпадающего элемента.
url (str) – Веб-адрес соответствующего элемента.
category (str) – Категория совпадающего элемента.
Категории¶
- 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.
См. также