API REST для Weblate

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

API также документирован с помощью OpenAPI 3.1 по URL-адресу /api/schema/, вы можете просмотреть его по адресу /api/docs/.

Примечание

OpenAPI доступен как предварительный просмотр функции. Документация, скорее всего, неполная на данный момент и может быть изменена. Пожалуйста, обратитесь к документации ниже для получения более подробной информации об API.

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

API только для чтения доступно без аутентификации, если не включён REQUIRE_LOGIN. Неаутентифицированные запросы сильно ограничиваются (по умолчанию до 100 запросов в день), поэтому рекомендуется использовать аутентификацию.

Аутентификация использует токен, который вы можете получить в своём профиле. Используйте его в заголовке Authorization:

ANY /

Generic request behaviour for the API, the headers, status codes and parameters here apply to all endpoints as well.

Query Parameters:
  • format – Response format (overrides Accept). Possible values depends on REST framework setup, by default json, csv and api are supported. The latter provides web browser interface for API.

  • page – Returns given page of paginated results (use next and previous fields in response to automate the navigation).

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

Request Headers:
  • Accept – the response content type depends on Accept header

  • Authorization – optional token to authenticate as Authorization: Token YOUR-TOKEN

Response Headers:
Response JSON Object:
  • detail (string) – verbose description of the result (for HTTP status codes other than 200 OK)

  • count (int) – total item count for object lists

  • next (string) – next page URL for object lists

  • previous (string) – previous page URL for object lists

  • results (array) – results for object lists

  • url (string) – URL to access this resource using the API

  • web_url (string) – URL to access this resource using web browser

Status Codes:

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

Изменено в версии 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%252Fusage. Полный 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: Добавлены заголовки состояния ограничения количества запросов.

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

Изменено в версии 5.10: Ответы об ошибках были специфичны для конечных точек до этого выпуска.

Ответы об ошибках Weblate форматируются на основе Error Response Format.

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

GET /api/

The API root entry point.

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

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/

Returns a list of users if you have permissions to see manage users. If not, then you get to see only your own details.

Query Parameters:
  • username (string) – Username to search for

  • id (int) – User ID to search for

  • email (string) – Email to search for (case-insensitive, exact match). Requires user.view or user.edit permission; the parameter is ignored for unprivileged users.

См. также

Users object attributes are documented at GET /api/users/(str:username)/.

POST /api/users/

Creates a new user.

Requires the global user.edit permission. See Контроль доступа for the user management permission model.

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

  • full_name (string) – User full name

  • email (string) – User email

  • is_superuser (boolean) – Is user superuser? (optional)

  • is_active (boolean) – Is user active? (optional)

  • is_bot (boolean) – Is user bot? (optional) (used for project scoped tokens)

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

Returns information about users.

Параметры:
  • username (string) – User’s username

Response JSON Object:
  • username (string) – username of a user

  • full_name (string) – full name of a user

  • email (string) – email of a user

  • is_superuser (boolean) – whether the user is a super user

  • is_active (boolean) – whether the user is active

  • is_bot (boolean) – whether the user is bot (used for project scoped tokens)

  • date_joined (string) – date the user is created

  • last_login (string) – date the user last signed in

  • groups (array) – link to associated groups; see GET /api/groups/(int:id)/

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

Example JSON data:

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

Changes the user parameters.

Requires the global user.edit permission unless a user is updating their own basic profile fields. See Контроль доступа for the user management permission model.

Параметры:
  • username (string) – User’s username

Response JSON Object:
  • username (string) – username of a user

  • full_name (string) – full name of a user

  • email (string) – email of a user

  • is_superuser (boolean) – whether the user is a super user

  • is_active (boolean) – whether the user is active

  • is_bot (boolean) – whether the user is bot (used for project scoped tokens)

  • date_joined (string) – date the user is created

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

Changes the user parameters.

Requires the global user.edit permission unless a user is updating their own basic profile fields. See Контроль доступа for the user management permission model.

Параметры:
  • username (string) – User’s username

Response JSON Object:
  • username (string) – username of a user

  • full_name (string) – full name of a user

  • email (string) – email of a user

  • is_superuser (boolean) – whether the user is a super user

  • is_active (boolean) – whether the user is active

  • is_bot (boolean) – whether the user is bot (used for project scoped tokens)

  • date_joined (string) – date the user is created

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

Deletes all user information and marks the user inactive.

Requires the global user.edit permission. See Контроль доступа for the user management permission model.

Параметры:
  • username (string) – User’s username

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

Associate groups with a user.

Requires the global user.edit permission. See Контроль доступа for the user management permission model.

Параметры:
  • username (string) – User’s username

Form Parameters:
  • string group_id – The unique group ID

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

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

Remove user from a group.

Requires the global user.edit permission. See Контроль доступа for the user management permission model.

Параметры:
  • username (string) – User’s username

Form Parameters:
  • string group_id – The unique group ID

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

List statistics of a user.

Параметры:
  • username (string) – User’s username

Response JSON Object:
  • translated (int) – Number of translations by user

  • suggested (int) – Number of suggestions by user

  • uploaded (int) – Number of uploads by user

  • commented (int) – Number of comments by user

  • languages (int) – Number of languages user can translate

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

List translations with contributions from a user.

Параметры:
  • username (string) – User’s username

Response JSON Object:
GET /api/users/(str: username)/notifications/

List subscriptions of a user.

Параметры:
  • username (string) – User’s username

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

Associate subscriptions with a user.

Параметры:
  • username (string) – User’s username

Request JSON Object:
  • notification (string) – Name of notification registered

  • scope (int) – Scope of notification from the available choices

  • frequency (int) – Frequency choices for notifications

GET /api/users/(str: username)/notifications/(int: subscription_id)/

Get a subscription associated with a user.

Параметры:
  • username (string) – User’s username

  • subscription_id (int) – ID of notification registered

PUT /api/users/(str: username)/notifications/(int: subscription_id)/

Edit a subscription associated with a user.

Параметры:
  • username (string) – User’s username

  • subscription_id (int) – ID of notification registered

Request JSON Object:
  • notification (string) – Name of notification registered

  • scope (int) – Scope of notification from the available choices

  • frequency (int) – Frequency choices for notifications

PATCH /api/users/(str: username)/notifications/(int: subscription_id)/

Edit a subscription associated with a user.

Параметры:
  • username (string) – User’s username

  • subscription_id (int) – ID of notification registered

Request JSON Object:
  • notification (string) – Name of notification registered

  • scope (int) – Scope of notification from the available choices

  • frequency (int) – Frequency choices for notifications

DELETE /api/users/(str: username)/notifications/(int: subscription_id)/

Delete a subscription associated with a user.

Параметры:
  • username (string) – User’s username

  • subscription_id – Name of notification registered

  • subscription_id – int

Группы

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

GET /api/groups/

Returns a list of groups if you have permissions to see manage groups. If not, then you get to see only the groups the user is a part of.

См. также

Group object attributes are documented at GET /api/groups/(int:id)/.

POST /api/groups/

Creates a new group.

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

Returns information about the group.

Параметры:
  • id (int) – Group’s ID

Response JSON Object:

Example JSON data:

{
    "name": "Guests",
    "defining_project": null,
    "project_selection": 3,
    "language_selection": 1,
    "url": "http://example.com/api/groups/1/",
    "roles": [
        "http://example.com/api/roles/1/",
        "http://example.com/api/roles/2/"
    ],
    "languages": [
        "http://example.com/api/languages/en/",
        "http://example.com/api/languages/cs/",
    ],
    "projects": [
        "http://example.com/api/projects/demo1/",
        "http://example.com/api/projects/demo/"
    ],
    "componentlist": "http://example.com/api/component-lists/new/",
    "components": [
        "http://example.com/api/components/demo/weblate/"
    ],
    "admins": [
        "http://example.com/api/users/exampleusername/"
    ]
}
PUT /api/groups/(int: id)/

Changes the group parameters.

Параметры:
  • id (int) – Group’s ID

Response JSON Object:
  • name (string) – name of a group

  • project_selection (int) – integer corresponding to group of projects

  • language_selection (int) – integer corresponding to group of languages

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

Changes the group parameters.

Параметры:
  • id (int) – Group’s ID

Response JSON Object:
  • name (string) – name of a group

  • project_selection (int) – integer corresponding to group of projects

  • language_selection (int) – integer corresponding to group of languages

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

Deletes the group.

Параметры:
  • id (int) – Group’s ID

POST /api/groups/(int: id)/roles/

Associate roles with a group.

Параметры:
  • id (int) – Group’s ID

Form Parameters:
  • string role_id – The unique role ID

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

Delete role from a group.

Параметры:
  • id (int) – Group’s ID

  • role_id (int) – The unique role ID

POST /api/groups/(int: id)/components/

Associate components with a group.

Параметры:
  • id (int) – Group’s ID

Form Parameters:
  • string component_id – The unique component ID

DELETE /api/groups/(int: id)/components/(int: component_id)

Delete component from a group.

Параметры:
  • id (int) – Group’s ID

  • component_id (int) – The unique component ID

POST /api/groups/(int: id)/projects/

Associate projects with a group.

Параметры:
  • id (int) – Group’s ID

Form Parameters:
  • string project_id – The unique project ID

DELETE /api/groups/(int: id)/projects/(int: project_id)

Delete project from a group.

Параметры:
  • id (int) – Group’s ID

  • project_id (int) – The unique project ID

POST /api/groups/(int: id)/languages/

Associate languages with a group.

Параметры:
  • id (int) – Group’s ID

Form Parameters:
  • string language_code – The unique language code

DELETE /api/groups/(int: id)/languages/(string: language_code)

Delete language from a group.

Параметры:
  • id (int) – Group’s ID

  • language_code (string) – The unique language code

POST /api/groups/(int: id)/componentlists/

Associate componentlists with a group.

Параметры:
  • id (int) – Group’s ID

Form Parameters:
  • string component_list_id – The unique componentlist ID

DELETE /api/groups/(int: id)/componentlists/(int: component_list_id)

Delete componentlist from a group.

Параметры:
  • id (int) – Group’s ID

  • component_list_id (int) – The unique componentlist ID

POST /api/groups/(int: id)/admins/

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

Add user to team admins.

Параметры:
  • id (int) – Group’s ID

Form Parameters:
  • 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) – Group’s ID

  • user_id (integer) – The user’s ID

Роли

GET /api/roles/

Returns a list of all roles associated with user. If user is superuser, then list of all existing roles is returned.

См. также

Roles object attributes are documented at GET /api/roles/(int:id)/.

POST /api/roles/

Creates a new role.

Параметры:
  • name (string) – Role name

  • permissions (array) – List of codenames of permissions

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

Returns information about the role.

Параметры:
  • id (int) – Role’s ID

Response JSON Object:
  • name (string) – Role name

  • permissions (array) – list of codenames of permissions

Example JSON data:

{
    "name": "Access repository",
    "permissions": [
        "vcs.access",
        "vcs.view"
    ],
    "url": "http://example.com/api/roles/1/",
}
PUT /api/roles/(int: id)/

Changes the role parameters.

Параметры:
  • id (int) – Role’s ID

Response JSON Object:
  • name (string) – Role name

  • permissions (array) – list of codenames of permissions

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

Changes the role parameters.

Параметры:
  • id (int) – Role’s ID

Response JSON Object:
  • name (string) – Role name

  • permissions (array) – list of codenames of permissions

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

Deletes the role.

Параметры:
  • id (int) – Role’s ID

Языки

GET /api/languages/

Returns a list of all languages.

См. также

Language object attributes are documented at GET /api/languages/(string:language)/.

POST /api/languages/

Creates a new language.

Параметры:
  • code (string) – Название языка

  • name (string) – Название языка

  • direction (string) – Направление текста

  • population (int) – Количество говорящих

  • plural (object) – Language plural formula and number

GET /api/languages/(string: language)/

Returns information about the language.

Параметры:
  • language (string) – Код языка

Response JSON Object:
  • code (string) – Код языка

  • direction (string) – Направление текста

  • plural (object) – Object of language plural information

  • aliases (array) – Array of aliases for language

Request JSON Object:
  • population (int) – Количество говорящих

Example JSON data:

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

Changes the language parameters.

Параметры:
  • language (string) – Language’s code

Request JSON Object:
  • name (string) – Название языка

  • direction (string) – Направление текста

  • population (int) – Количество говорящих

  • plural (object) – Language plural details

PATCH /api/languages/(string: language)/

Changes the language parameters.

Параметры:
  • language (string) – Language’s code

Request JSON Object:
  • name (string) – Название языка

  • direction (string) – Направление текста

  • population (int) – Количество говорящих

  • plural (object) – Language plural details

DELETE /api/languages/(string: language)/

Deletes the language.

Параметры:
  • language (string) – Language’s code

GET /api/languages/(string: language)/statistics/

Returns statistics for a language.

Параметры:
  • language (string) – Код языка

См. также

Returned attributes are described in Статистика.

Проекты

GET /api/projects/

Returns a list of all projects.

См. также

Project object attributes are documented at GET /api/projects/(string:project)/.

POST /api/projects/

Creates a new project.

Параметры:
  • name (string) – Название проекта

  • slug (string) – Плашка проекта

  • web (string) – Веб-сайт проекта

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

Returns information about the project.

Параметры:
  • project (string) – Project URL slug

Response JSON Object:

Example JSON data:

{
    "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.

Edit a project by a PATCH request.

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

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

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

Edit a project by a PUT request.

Параметры:
  • project (string) – Project URL slug

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

Deletes a project.

Параметры:
  • project (string) – Project URL slug

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

Returns a list of project changes. This is essentially a project scoped GET /api/changes/ accepting same params.

Параметры:
  • project (string) – Project URL slug

Response JSON Object:
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) – Project URL slug

Query Parameters:
  • format (string) – The archive format to use; If not specified, defaults to zip; Supported formats: zip and zip:CONVERSION where CONVERSION is one of converters listed at Скачивание переводов.

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

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

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

Параметры:
  • project (string) – Project URL slug

Response JSON Object:
  • needs_commit (boolean) – whether there are any pending changes to commit

  • needs_merge (boolean) – whether there are any upstream changes to merge

  • needs_push (boolean) – whether there are any local changes to push

Example JSON data:

{
    "needs_commit": true,
    "needs_merge": false,
    "needs_push": true
}
POST /api/projects/(string: project)/repository/

Performs given operation on the VCS repository.

Параметры:
  • project (string) – Project URL slug

Request JSON Object:
  • operation (string) – Operation to perform: one of push, pull, commit, reset, cleanup, file-sync, file-scan

Response JSON Object:
  • result (boolean) – result of the operation

Пример 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 response example:

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/

Returns a list of translation components in the given project.

Параметры:
  • project (string) – Project URL slug

Response JSON Object:
POST /api/projects/(string: project)/components/

Изменено в версии 4.3: The zipfile and docfile parameters are now accepted for VCS-less components, see Локальные файлы.

Изменено в версии 4.6: The cloned repositories are now automatically shared within a project using Внутренние URL-адреса Weblate. Use disable_autoshare to turn off this.

Creates translation components in the given project.

Подсказка

Use Внутренние URL-адреса Weblate when creating multiple components from a single VCS repository.

Примечание

Most of the component creation happens in the background. Check the task_url attribute of created component and follow the progress there.

Параметры:
  • project (string) – Project URL slug

Form Parameters:
  • file zipfile – ZIP file to upload into Weblate for translations initialization

  • file docfile – Document to translate

  • string from_component – Optional source component reference used to duplicate the new component. Accepts either a numeric component ID or a full Weblate component path. When provided, the new component inherits the source component configuration and translations into a new local repository. Repository fields such as repo, vcs, branch, push, and push_branch can not be combined with this option.

  • boolean disable_autoshare – Disables automatic repository sharing via Внутренние URL-адреса Weblate.

Request JSON Object:
Response JSON Object:

JSON can not be used when uploading the files using the zipfile and docfile parameters. The data has to be uploaded as multipart/form-data.

CURL form request example:

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 request example:

curl \
    --data-binary '{
        "branch": "main",
        "file_format": "po",
        "file_format_params": {
            "po_line_wrap": 65535,
            "po_no_location": true
        },
        "filemask": "po/*.po",
        "name": "Weblate",
        "slug": "weblate",
        "repo": "https://github.com/WeblateOrg/hello.git",
        "template": "",
        "new_base": "po/hello.pot",
        "vcs": "git"
    }' \
    -H "Content-Type: application/json" \
    -H "Authorization: Token TOKEN" \
    http://example.com/api/projects/hello/components/

JSON request to create a new component from Git:

POST /api/projects/hello/components/ HTTP/1.1
Host: example.com
Accept: application/json
Content-Type: application/json
Authorization: Token TOKEN
Content-Length: 20

{
    "branch": "main",
    "file_format": "po",
    "file_format_params": {
        "po_line_wrap": 65535,
        "po_no_location": true
    },
    "filemask": "po/*.po",
    "name": "Weblate",
    "slug": "weblate",
    "repo": "https://github.com/WeblateOrg/hello.git",
    "template": "",
    "new_base": "po/hello.pot",
    "vcs": "git"
}

JSON request to create a new component from another one:

POST /api/projects/hello/components/ HTTP/1.1
Host: example.com
Accept: application/json
Content-Type: application/json
Authorization: Token TOKEN
Content-Length: 20

{
    "from_component": "hello/weblate",
    "name": "Weblate",
    "slug": "weblate"
}

JSON response example:

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

{
    "branch": "main",
    "file_format": "po",
    "file_format_params": {
        "po_line_wrap": 65535,
        "po_no_location": true
    },
    "filemask": "po/*.po",
    "git_export": "",
    "license": "",
    "license_url": "",
    "name": "Weblate",
    "slug": "weblate",
    "project": {
        "name": "Hello",
        "slug": "hello",
        "source_language": {
            "code": "en",
            "direction": "ltr",
             "population": 159034349015,
            "name": "English",
            "url": "http://example.com/api/languages/en/",
            "web_url": "http://example.com/languages/en/"
        },
        "url": "http://example.com/api/projects/hello/",
        "web": "https://weblate.org/",
        "web_url": "http://example.com/projects/hello/"
    },
    "repo": "file:///home/nijel/work/weblate-hello",
    "template": "",
    "new_base": "",
    "url": "http://example.com/api/components/hello/weblate/",
    "vcs": "git",
    "web_url": "http://example.com/projects/hello/weblate/"
}
GET /api/projects/(string: project)/languages/

Returns paginated statistics for all languages within a project.

Параметры:
  • project (string) – Project URL slug

Response JSON Object:
  • results (array) – array of translation statistics objects

  • language (string) – language name

  • code (string) – language code

  • total (int) – total number of strings

  • translated (int) – number of translated strings

  • translated_percent (float) – percentage of translated strings

  • total_words (int) – total number of words

  • translated_words (int) – number of translated words

  • words_percent (float) – percentage of translated words

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

Returns statistics for a project.

Параметры:
  • project (string) – Project URL slug

См. также

Returned attributes are described in Статистика.

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

Добавлено в версии 5.0: Returns categories for a project. See GET /api/categories/(int:id)/ for field definitions.

param project:

Project URL slug

type project:

string

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

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

param project:

Project URL slug

type project:

string

>json int id:

ID of the label

>json string name:

name of the label

>json string color:

color of the label

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

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

param project:

Project URL slug

type project:

string

<json string name:

name of the label

<json string color:

color of the label

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

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

param project:

Project URL slug

type project:

string

param label_id:

ID of the label to delete

type label_id:

integer

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

Returns contributor credits for a project.

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

Параметры:
  • project (string) – Project URL slug

  • start (date) – Lower-bound ISO 8601 timestamp (mandatory)

  • end (date) – Upper-bound ISO 8601 timestamp (mandatory)

  • lang (source_language) – Language code to search for

Response JSON Object:
  • email (string) – Email of the contributor

  • full_name (string) – Full name of the contributor

  • change_count (string) – Number of changes done in the time range

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

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

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

Параметры:
  • project (string) – Project URL slug

Response JSON Object:
  • suggestion_settings (object) – Configuration for all installed services.

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

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

Create or update the service configuration for a project.

Параметры:
  • project (string) – Project URL slug

Form Parameters:
  • string service – Service name

  • string configuration – Service configuration in JSON

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

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

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

Параметры:
  • project (string) – Project URL slug

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

Query Parameters:
  • filter (string) – Optional case-insensitive substring to filter components by slug (e.g., ?filter=core will match components with „core“ anywhere in their slug); only components whose slugs contain the substring will be included in the download.

  • format (string) – The archive format to use; If not specified, defaults to zip; Supported formats: zip and zip:CONVERSION where CONVERSION is one of converters listed at Скачивание переводов.

Примечание

Possible responses:

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

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

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

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

Добавлено в версии 5.17: Returns announcements for a project.

param project:

Project URL slug

type project:

string

>json int id:

ID of the announcement

>json string message:

announcement text

>json string severity:

color of the message, one of info (light blue), warning (yellow), danger (red), success (green)

>json date expiry:

hide after this date, ISO 8601 extended format date (optional)

>json bool notify:

send notification to subscribed users? (optional)

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

Добавлено в версии 5.17: Creates an announcement for a project.

param project:

Project URL slug

type project:

string

<json string message:

announcement text

<json string severity:

color of the message, one of info (light blue), warning (yellow), danger (red), success (green)

<json date expiry:

hide after this date, ISO 8601 extended format date (optional)

<json bool notify:

send notification to subscribed users? (optional)

DELETE /api/projects/(string: project)/announcements/(int: announcement_id)/

Добавлено в версии 5.17: Deletes an announcement from a project.

param project:

Project URL slug

type project:

string

param announcement_id:

ID of the announcement to delete

type announcement_id:

integer

Компоненты

Подсказка

Используйте POST /api/projects/(string:project)/components/ для создания новых компонентов.

GET /api/components/

Returns a list of translation components.

См. также

Component object attributes are documented at GET /api/components/(string:project)/(string:component)/.

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

Returns information about the translation component.

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

Response JSON Object:

Example JSON data:

{
    "branch": "main",
    "file_format": "po",
    "file_format_params": {
        "po_line_wrap": 65535,
        "po_no_location": true
    },
    "filemask": "po/*.po",
    "git_export": "",
    "license": "",
    "license_url": "",
    "name": "Weblate",
    "slug": "weblate",
    "project": {
        "name": "Hello",
        "slug": "hello",
        "source_language": {
            "code": "en",
            "direction": "ltr",
             "population": 159034349015,
            "name": "English",
            "url": "http://example.com/api/languages/en/",
            "web_url": "http://example.com/languages/en/"
        },
        "url": "http://example.com/api/projects/hello/",
        "web": "https://weblate.org/",
        "web_url": "http://example.com/projects/hello/"
    },
    "source_language": {
        "code": "en",
        "direction": "ltr",
        "population": 159034349015,
        "name": "English",
        "url": "http://example.com/api/languages/en/",
        "web_url": "http://example.com/languages/en/"
    },
    "repo": "file:///home/nijel/work/weblate-hello",
    "template": "",
    "new_base": "",
    "url": "http://example.com/api/components/hello/weblate/",
    "vcs": "git",
    "web_url": "http://example.com/projects/hello/weblate/"
}
PATCH /api/components/(string: project)/(string: component)/

Edit a component by a PATCH request.

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

  • source_language (string) – Project source language code (optional)

Request JSON Object:
  • name (string) – name of component

  • slug (string) – slug of component

  • repo (string) – VCS repository 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 response example:

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

{
    "branch": "main",
    "file_format": "po",
    "file_format_params": {
        "po_line_wrap": 65535,
        "po_no_location": true
    },
    "filemask": "po/*.po",
    "git_export": "",
    "license": "",
    "license_url": "",
    "name": "new name",
    "slug": "weblate",
    "project": {
        "name": "Hello",
        "slug": "hello",
        "source_language": {
            "code": "en",
            "direction": "ltr",
            "population": 159034349015,
            "name": "English",
            "url": "http://example.com/api/languages/en/",
            "web_url": "http://example.com/languages/en/"
        },
        "url": "http://example.com/api/projects/hello/",
        "web": "https://weblate.org/",
        "web_url": "http://example.com/projects/hello/"
    },
    "repo": "file:///home/nijel/work/weblate-hello",
    "template": "",
    "new_base": "",
    "url": "http://example.com/api/components/hello/weblate/",
    "vcs": "git",
    "web_url": "http://example.com/projects/hello/weblate/"
}
PUT /api/components/(string: project)/(string: component)/

Edit a component by a PUT request.

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

Request JSON Object:
  • branch (string) – VCS repository branch

  • file_format (string) – file format of translations

  • file_format_params (object) – parameters related to the file

  • filemask (string) – mask of translation files in the repository

  • name (string) – name of component

  • slug (string) – slug of component

  • repo (string) – VCS repository URL

  • template (string) – base file for monolingual translations

  • new_base (string) – base file for adding new translations

  • vcs (string) – version control system

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

Deletes a component.

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

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

Returns a list of component changes. This is essentially a component scoped GET /api/changes/ accepting same params.

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

Response JSON Object:
GET /api/components/(string: project)/(string: component)/file/

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

Downloads all available translations associated with the component as an archive file using the requested format.

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

Query Parameters:
  • format (string) – The archive format to use; If not specified, defaults to zip; Supported formats: zip and zip:CONVERSION where CONVERSION is one of converters listed at Скачивание переводов.

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

Returns a list of component screenshots.

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

Response JSON Object:
GET /api/components/(string: project)/(string: component)/lock/

Returns component lock status.

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

Response JSON Object:
  • locked (boolean) – whether component is locked for updates

Example JSON data:

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

Sets component lock status.

Response is same as GET /api/components/(string:project)/(string:component)/lock/.

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

Request JSON Object:
  • lock – Boolean whether to lock or not.

Пример 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 response example:

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/

Returns information about the VCS repository status.

The response is same as for GET /api/projects/(string:project)/repository/.

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

Response JSON Object:
  • needs_commit (boolean) – whether there are any pending changes to commit

  • needs_merge (boolean) – whether there are any upstream changes to merge

  • needs_push (boolean) – whether there are any local changes to push

  • remote_commit (string) – Remote commit information

  • status (string) – VCS repository status as reported by VCS

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

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

Performs the given operation on a VCS repository.

See POST /api/projects/(string:project)/repository/ for documentation.

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

Request JSON Object:
  • operation (string) – Operation to perform: one of push, pull, commit, reset, cleanup

Response JSON Object:
  • result (boolean) – result of the operation

Пример 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 response example:

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/

Downloads base file for monolingual translations.

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

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

Downloads template file for new translations.

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

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

Returns a list of translation objects in the given component.

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

Response JSON Object:
POST /api/components/(string: project)/(string: component)/translations/

Creates new translation in the given component.

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

Request JSON Object:
  • language_code (string) – translation language code; see GET /api/languages/(string:language)/

  • from_component (array) – optional ordered list of source component references used for automatic translation. Accepts numeric component IDs or full Weblate component paths. For form submissions this field can be provided multiple times.

Response JSON Object:
  • result (object) – new translation object created

Пример 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",
    "from_component": ["hello/weblate", 123]
}

JSON response example:

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/

Returns paginated statistics for all translations within component.

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

См. также

Returned attributes are described in Статистика.

Returns projects linked with a component.

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

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

Response JSON Object:
POST /api/components/(string: project)/(string: component)/links/

Associate project with a component.

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

Изменено в версии 5.17.

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

Form Parameters:
  • string project_slug – Плашка проекта

  • int category_id – Category ID in the target project (optional). The category must belong to the specified project.

Remove association of a project with a component.

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

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

  • project_slug (string) – Slug of the project to remove

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

Returns contributor credits for a project.

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

Параметры:
  • project (string) – Project URL slug

  • start (date) – Lower-bound ISO 8601 timestamp (mandatory)

  • end (date) – Upper-bound ISO 8601 timestamp (mandatory)

  • lang (source_language) – Language code to search for

Response JSON Object:
  • email (string) – Email of the contributor

  • full_name (string) – Full name of the contributor

  • change_count (string) – Number of changes done in the time range

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

Добавлено в версии 5.17: Returns announcements for a component.

param project:

Project URL slug

type project:

string

param component:

Component URL slug

type component:

string

>json int id:

ID of the announcement

>json string message:

announcement text

>json string severity:

color of the message, one of info (light blue), warning (yellow), danger (red), success (green)

>json date expiry:

hide after this date, ISO 8601 extended format date (optional)

>json bool notify:

send notification to subscribed users? (optional)

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

Добавлено в версии 5.17: Creates an announcement for a component.

param project:

Project URL slug

type project:

string

param component:

Component URL slug

type component:

string

<json string message:

announcement text

<json string severity:

color of the message, one of info (light blue), warning (yellow), danger (red), success (green)

<json date expiry:

hide after this date, ISO 8601 extended format date (optional)

<json bool notify:

send notification to subscribed users? (optional)

DELETE /api/components/(string: project)/(string: component)/announcements/(int: announcement_id)/

Добавлено в версии 5.17: Deletes an announcement from a component.

param project:

Project URL slug

type project:

string

param component:

Component URL slug

type component:

string

param announcement_id:

ID of the announcement to delete

type announcement_id:

integer

Переводы

GET /api/translations/

Returns a list of translations.

См. также

Translation object attributes are documented at GET /api/translations/(string:project)/(string:component)/(string:language)/.

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

Returns information about the translation.

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

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

Response JSON Object:

Example JSON data:

{
    "component": {
        "branch": "main",
        "file_format": "po",
        "file_format_params": {
            "po_line_wrap": 65535,
            "po_no_location": true
        },
        "filemask": "po/*.po",
        "git_export": "",
        "license": "",
        "license_url": "",
        "name": "Weblate",
        "new_base": "",
        "project": {
            "name": "Hello",
            "slug": "hello",
            "source_language": {
                "code": "en",
                "direction": "ltr",
                "population": 159034349015,
                "name": "English",
                "url": "http://example.com/api/languages/en/",
                "web_url": "http://example.com/languages/en/"
            },
            "url": "http://example.com/api/projects/hello/",
            "web": "https://weblate.org/",
            "web_url": "http://example.com/projects/hello/"
        },
        "repo": "file:///home/nijel/work/weblate-hello",
        "slug": "weblate",
        "template": "",
        "url": "http://example.com/api/components/hello/weblate/",
        "vcs": "git",
        "web_url": "http://example.com/projects/hello/weblate/"
    },
    "failing_checks": 3,
    "failing_checks_percent": 75.0,
    "failing_checks_words": 11,
    "filename": "po/cs.po",
    "fuzzy": 0,
    "fuzzy_percent": 0.0,
    "fuzzy_words": 0,
    "have_comment": 0,
    "have_suggestion": 0,
    "is_template": false,
    "language": {
        "code": "cs",
        "direction": "ltr",
        "population": 1303174280
        "name": "Czech",
        "url": "http://example.com/api/languages/cs/",
        "web_url": "http://example.com/languages/cs/"
    },
    "language_code": "cs",
    "last_author": "Weblate Admin",
    "last_change": "2016-03-07T10:20:05.499",
    "revision": "7ddfafe6daaf57fc8654cc852ea6be212b015792",
    "share_url": "http://example.com/engage/hello/cs/",
    "total": 4,
    "total_words": 15,
    "translate_url": "http://example.com/translate/hello/weblate/cs/",
    "translated": 4,
    "translated_percent": 100.0,
    "translated_words": 15,
    "url": "http://example.com/api/translations/hello/weblate/cs/",
    "web_url": "http://example.com/projects/hello/weblate/cs/"
}
DELETE /api/translations/(string: project)/(string: component)/(string: language)/

Deletes a translation.

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

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

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

Returns a list of translation changes. This is essentially a translations-scoped GET /api/changes/ accepting the same parameters.

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

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

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

Returns a list of translation units.

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

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

  • q (string) – Search query string Поиск (optional)

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

Add new unit.

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

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

Request JSON Object:
  • 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) – String state; see GET /api/units/(int:id)/

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

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

Trigger automatic translation.

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

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

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

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

  • auto_source (string) – Automatic translation source - mt or others

  • component (string) – Turn on contribution to shared translation memory for the project to get access to additional components.

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

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

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

Download current translation file as it is stored in the VCS (without the format parameter) or converted to another format (see Скачивание переводов).

Примечание

This API endpoint uses different logic for output than rest of API as it operates on whole file rather than on data. Set of accepted format parameter differs and without such parameter you get translation file as stored in VCS.

Response Headers:
Request Headers:
  • If-Modified-Since – Skips response if the file has not been modified since that time.

Query Parameters:
  • format – File format to use; if not specified no format conversion happens; see Скачивание переводов for supported formats

  • q (string) – Filter downloaded strings, see Поиск, only applicable when conversion is in place (format is specified).

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

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

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

Upload new file with translations.

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

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

Form Parameters:
  • string conflicts – How to deal with conflicts (ignore, replace-translated or replace-approved), see Разрешение конфликтов

  • file file – Uploaded file

  • string author_email – Author e-mail

  • string author_name – Author name

  • string method – Upload method (translate, approve, suggest, fuzzy, replace, source, add), see Способы импорта

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

Returns information about the VCS repository status.

The response is same as for GET /api/components/(string:project)/(string:component)/repository/.

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

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

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

Performs given operation on the VCS repository.

See POST /api/projects/(string:project)/repository/ for documentation.

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

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

Request JSON Object:
  • operation (string) – Operation to perform: one of push, pull, commit, reset, cleanup

Response JSON Object:
  • result (boolean) – result of the operation

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

Returns detailed translation statistics.

Параметры:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

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

См. также

Returned attributes are described in Статистика.

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

Добавлено в версии 5.17: Returns announcements for a translation.

param project:

Project URL slug

type project:

string

param component:

Component URL slug

type component:

string

param language:

Код языка перевода

type language:

string

>json int id:

ID of the announcement

>json string message:

announcement text

>json string severity:

color of the message, one of info (light blue), warning (yellow), danger (red), success (green)

>json date expiry:

hide after this date, ISO 8601 extended format date (optional)

>json bool notify:

send notification to subscribed users? (optional)

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

Добавлено в версии 5.17: Creates an announcement for a translation.

param project:

Project URL slug

type project:

string

param component:

Component URL slug

type component:

string

param language:

Код языка перевода

type language:

string

<json string message:

announcement text

<json string severity:

color of the message, one of info (light blue), warning (yellow), danger (red), success (green)

<json date expiry:

hide after this date, ISO 8601 extended format date (optional)

<json bool notify:

send notification to subscribed users? (optional)

DELETE /api/translations/(string: project)/(string: component)/(string: language)/announcements/(int: announcement_id)/

Добавлено в версии 5.17: Deletes an announcement from a translation.

param project:

Project URL slug

type project:

string

param component:

Component URL slug

type component:

string

param language:

Код языка перевода

type language:

string

param announcement_id:

ID of the announcement to delete

type announcement_id:

integer

Накопитель

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

GET /api/memory/

Returns a list of memory results.

Query Parameters:
  • source – Case-insensitive substring filter on source text (optional)

  • source_language – Source language code filter (optional)

  • target_language – Target language code filter (optional)

  • project – Project slug filter (optional)

POST /api/memory/lookup/

Looks up translation memory matches for the provided source strings.

Query Parameters:
  • source_language – Source language code

  • target_language – Target language code

  • project – Project slug filter (optional)

  • exact – Return exact matches only and skip fuzzy matching (optional)

Request JSON Object:
  • strings (array) – List of source strings to look up

Response JSON Object:
  • results (array) – Ordered lookup results with the best match for each query or null when no match was found

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

Deletes a memory object

Параметры:
  • memory_object_id – Memory Object ID

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

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

GET /api/units/

Returns a list of translation units.

Параметры:
  • q (string) – Search query string Поиск (optional)

См. также

Unit object attributes are documented at GET /api/units/(int:id)/.

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

Изменено в версии 4.3: The target and source are now arrays to properly handle plural strings.

Изменено в версии 5.6: The last_updated attribute is now exposed.

Returns information about the translation unit.

Параметры:
  • id (int) – Unit ID

Response JSON Object:
  • translation (string) – URL of a related translation object

  • source (array) – source string

  • previous_source (string) – previous source string used for fuzzy matching

  • target (array) – target string

  • id_hash (string) – unique identifier of the unit

  • content_hash (string) – unique identifier of the source string

  • location (string) – location of the unit in source code

  • context (string) – translation unit context

  • note (string) – translation unit note

  • flags (string) – translation unit flags

  • labels (array) – translation unit labels, available on source units

  • state (int) – unit state, 0 - untranslated, 10 - needs editing, 20 - translated, 30 - approved, 100 - read-only

  • fuzzy (boolean) – whether the unit is fuzzy or marked for review

  • translated (boolean) – whether the unit is translated

  • approved (boolean) – whether the translation is approved

  • position (int) – unit position in translation file

  • has_suggestion (boolean) – whether the unit has suggestions

  • has_comment (boolean) – whether the unit has comments

  • has_failing_check (boolean) – whether the unit has failing checks

  • num_words (int) – number of source words

  • priority (int) – translation priority; 100 is default

  • id (int) – unit identifier

  • explanation (string) – String explanation, available on source units, see Дополнительная информация об исходных строках

  • extra_flags (string) – Additional string flags, available on source units, see Настройка поведения с помощью флагов

  • web_url (string) – URL where the unit can be edited

  • source_unit (string) – Source unit link; see GET /api/units/(int:id)/

  • pending (boolean) – whether the unit is pending for write

  • timestamp (timestamp) – string age

  • last_updated (timestamp) – last string update

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

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

Performs partial update on translation unit.

Параметры:
  • id (int) – Unit ID

Request JSON Object:
PUT /api/units/(int: id)/

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

Performs full update on translation unit.

Параметры:
  • id (int) – Unit ID

Request JSON Object:
DELETE /api/units/(int: id)/

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

Deletes a translation unit.

Параметры:
  • id (int) – Unit ID

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

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

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

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

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

Create a new comment on the given translation unit.

Параметры:
  • id (int) – Unit ID

Request JSON Object:
  • scope (string) – comment scope - global, translation (available on all non-source units), report (need review workflow enabled, see Выделенные рецензенты)

  • comment (string) – content of the new comment, you can use Markdown and mention users by @username.

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

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

Response JSON Object:
  • id (int) – comment identifier

  • comment (string) – content of the new comment

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

  • timestamp (string) – creation timestamp of the comment

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

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

Returns a list of comments on a given translation unit

Параметры:
  • id (int) – Unit ID

Response JSON Object:
  • id (int) – comment identifier

  • comment (string) – content of the comment

  • timestamp (string) – creation timestamp of the comment

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

Изменения

GET /api/changes/

Изменено в версии 4.1: Filtering of changes was introduced in the 4.1 release.

Returns a list of translation changes.

См. также

Change object attributes are documented at GET /api/changes/(int:id)/.

Query Parameters:
  • user (string) – Username of the user to filter by

  • action (int) – Action to filter, can be used several times

  • timestamp_after (timestamp) – ISO 8601 formatted timestamp to list changes after

  • timestamp_before (timestamp) – ISO 8601 formatted timestamp to list changes before

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

Returns information about the translation change.

Параметры:
  • id (int) – Change ID

Response JSON Object:
  • unit (string) – URL of a related unit object

  • translation (string) – URL of a related translation object

  • component (string) – URL of a related component object

  • user (string) – URL of a related user object

  • author (string) – URL of a related author object

  • timestamp (timestamp) – event timestamp

  • action (int) – numeric identification of action

  • action_name (string) – text description of action

  • target (string) – event changed text

  • old (string) – previous text

  • details (object) – additional details about the change

  • id (int) – change identifier

Снимки экрана

GET /api/screenshots/

Returns a list of screenshots.

См. также

Screenshot object attributes are documented at GET /api/screenshots/(int:id)/.

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

Returns information about the screenshot.

Параметры:
  • id (int) – Screenshot ID

Response JSON Object:
  • name (string) – name of a screenshot

  • repository_filename (string) – repository path used to match repository-based screenshot updates

  • translation (string) – URL of a related translation object

  • file_url (string) – URL to download a file; see GET /api/screenshots/(int:id)/file/

  • units (array) – link to associated source string information; see GET /api/units/(int:id)/

GET /api/screenshots/(int: id)/file/

Download the screenshot image.

Параметры:
  • id (int) – Screenshot ID

POST /api/screenshots/(int: id)/file/

Replace screenshot image.

Параметры:
  • id (int) – Screenshot ID

Form Parameters:
  • file image – Uploaded file

Пример 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/

Associate source string with screenshot.

Параметры:
  • id (int) – Screenshot ID

Form Parameters:
  • string unit_id – Unit ID

Response JSON Object:
DELETE /api/screenshots/(int: id)/units/(int: unit_id)

Remove source string association with screenshot.

Параметры:
  • id (int) – Screenshot ID

  • unit_id – Source string unit ID

POST /api/screenshots/

Creates a new screenshot.

Form Parameters:
  • file image – Uploaded file

  • string name – Screenshot name

  • string project_slug – Плашка проекта

  • string component_slug – Плашка компонента

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

  • string repository_filename – Optional repository path used to associate later repository updates

Response JSON Object:
  • name (string) – name of a screenshot

  • repository_filename (string) – repository path used to match repository-based screenshot updates

  • translation (string) – URL of a related translation object

  • file_url (string) – URL to download a file; see GET /api/screenshots/(int:id)/file/

  • units (array) – link to associated source string information; see GET /api/units/(int:id)/

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

Edit partial information about screenshot.

Параметры:
  • id (int) – Screenshot ID

Response JSON Object:
  • name (string) – name of a screenshot

  • repository_filename (string) – repository path used to match repository-based screenshot updates

  • translation (string) – URL of a related translation object

  • file_url (string) – URL to download a file; see GET /api/screenshots/(int:id)/file/

  • units (array) – link to associated source string information; see GET /api/units/(int:id)/

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

Edit full information about screenshot.

Параметры:
  • id (int) – Screenshot ID

Response JSON Object:
  • name (string) – name of a screenshot

  • repository_filename (string) – repository path used to match repository-based screenshot updates

  • translation (string) – URL of a related translation object

  • file_url (string) – URL to download a file; see GET /api/screenshots/(int:id)/file/

  • units (array) – link to associated source string information; see GET /api/units/(int:id)/

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

Delete screenshot.

Параметры:
  • id (int) – Screenshot ID

Дополнения

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

GET /api/addons/

Returns a list of add-ons.

См. также

Add-on object attributes are documented at GET /api/addons/(int:id)/.

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

Returns information about add-on information.

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

Response JSON Object:
  • name (string) – name of an add-on

  • component (string) – URL of a related component object

  • configuration (object) – Optional add-on configuration

См. также

Дополнения

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

Creates a new add-on.

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

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

Request JSON Object:
  • name (string) – name of an add-on

  • configuration (object) – Optional add-on configuration

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

Edit partial information about add-on.

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

Response JSON Object:
  • configuration (object) – Optional add-on configuration

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

Edit full information about add-on.

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

Response JSON Object:
  • configuration (object) – Optional add-on configuration

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

Delete add-on.

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

POST /api/addons/(int: id)/trigger/

Trigger a manual run of an add-on that supports manual triggering.

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

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

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

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

GET /api/component-lists/

Returns a list of component lists.

См. также

Component list object attributes are documented at GET /api/component-lists/(str:slug)/.

GET /api/component-lists/(str: slug)/

Returns information about component list.

Параметры:
  • slug (string) – Component list slug

Response JSON Object:
  • name (string) – name of a component list

  • slug (string) – slug of a component list

  • show_dashboard (boolean) – whether to show it on a dashboard

  • components (array) – link to associated components; see GET /api/components/(string:project)/(string:component)/

  • auto_assign (array) – automatic assignment rules

PUT /api/component-lists/(str: slug)/

Changes the component list parameters.

Параметры:
  • slug (string) – Component list slug

Request JSON Object:
  • name (string) – name of a component list

  • slug (string) – slug of a component list

  • show_dashboard (boolean) – whether to show it on a dashboard

PATCH /api/component-lists/(str: slug)/

Changes the component list parameters.

Параметры:
  • slug (string) – Component list slug

Request JSON Object:
  • name (string) – name of a component list

  • slug (string) – slug of a component list

  • show_dashboard (boolean) – whether to show it on a dashboard

DELETE /api/component-lists/(str: slug)/

Deletes the component list.

Параметры:
  • slug (string) – Component list slug

GET /api/component-lists/(str: slug)/components/

Добавлено в версии 5.0.1: List components in a component list.

param slug:

Component list slug

type slug:

string

form string component_id:

Component ID

>json array results:

array of component objects; see GET /api/components/(string:project)/(string:component)/

POST /api/component-lists/(str: slug)/components/

Associate component with a component list.

Параметры:
  • slug (string) – Component list slug

Form Parameters:
  • string component_id – Component ID

DELETE /api/component-lists/(str: slug)/components/(str: component_slug)

Disassociate a component from the component list.

Параметры:
  • slug (string) – Component list slug

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

Словарь

Изменено в версии 4.5: Словари теперь хранятся как обычные компоненты, переводы и строки, поэтому используйте для работы с ними соответствующие API.

Задачи

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

GET /api/tasks/

Listing of the tasks is currently not available.

GET /api/tasks/(str: uuid)/

Returns information about a task.

Параметры:
  • uuid (string) – Task UUID

Response JSON Object:
  • completed (boolean) – Whether the task has completed

  • progress (int) – Task progress in percent

  • result (object) – Task result or progress details

  • log (string) – Task log

Статистика

GET /api/(str: object)/statistics/

There are several statistics endpoints for objects and all of them contain same structure.

Параметры:
  • object (string) – URL path

Response JSON Object:
  • total (int) – total number of strings

  • total_words (int) – total number of words

  • total_chars (int) – total number of characters

  • last_change (timestamp) – date of last change

  • translated (int) – number of translated strings

  • translated_percent (float) – percentage of translated strings

  • translated_words (int) – number of translated words

  • translated_words_percent (float) – percentage of translated words

  • translated_chars (int) – number of translated characters

  • translated_chars_percent (float) – percentage of translated characters

  • fuzzy (int) – number of fuzzy (marked for edit) strings

  • fuzzy_words (int) – number of fuzzy (marked for edit) words

  • fuzzy_chars (int) – number of fuzzy (marked for edit) characters

  • fuzzy_percent (float) – percentage of fuzzy (marked for edit) strings

  • fuzzy_words_percent (float) – percentage of fuzzy (marked for edit) words

  • fuzzy_chars_percent (float) – percentage of fuzzy (marked for edit) characters

  • failing (int) – number of failing checks

  • failing_percent (float) – percentage of failing checks

  • approved (int) – number of approved strings

  • approved_words (int) – number of approved words

  • approved_chars (int) – number of approved characters

  • approved_percent (float) – percentage of approved strings

  • approved_words_percent (float) – percentage of approved words

  • approved_chars_percent (float) – percentage of approved characters

  • readonly (int) – number of read-only strings

  • readonly_words (int) – number of read-only words

  • readonly – number of read-only characters

  • readonly_percent (float) – percentage of read-only strings

  • readonly_words_percent (float) – percentage of read-only words

  • readonly_char_percent (float) – percentage of read-only characters

  • suggestions (int) – number of strings with suggestions

  • comments (int) – number of strings with comments

  • name (string) – object name

  • url (string) – URL to access the object (if applicable)

  • url_translate (string) – URL to access the translation (if applicable)

  • code (string) – language code (if applicable)

Метрики

GET /api/metrics/

Returns server metrics.

Изменено в версии 5.6.1: Metrics can now be exposed in OpenMetrics compatible format with ?format=openmetrics.

Response JSON Object:
  • units (int) – Number of units

  • units_translated (int) – Number of translated units

  • users (int) – Number of users

  • changes (int) – Number of changes

  • projects (int) – Number of projects

  • components (int) – Number of components

  • translations (int) – Number of translations

  • languages (int) – Number of used languages

  • checks (int) – Number of triggered quality checks

  • configuration_errors (int) – Number of configuration errors

  • suggestions (int) – Number of pending suggestions

  • celery_queues (object) – Lengths of Celery queues, see Фоновые задачи с использованием Celery

  • name (string) – Configured server name

  • version (string) – Running Weblate version, included when VERSION_DISPLAY is show or soft

In OpenMetrics format, the version is exposed as weblate_info{version="..."} 1 when VERSION_DISPLAY is show or soft.

Категории

GET /api/categories/

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

Lists available categories. See GET /api/categories/(int:id)/ for field definitions.

POST /api/categories/

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

Creates a new category. See GET /api/categories/(int:id)/ for field definitions.

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

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

Параметры:
  • id (int) – Category ID

Response JSON Object:
  • name (str) – Name of category.

  • slug (str) – Slug of category.

  • project (str) – Link to a project.

  • category (str) – Link to a parent category.

  • announcements_url (string) – URL to announcements; see GET /api/categories/(int:id)/announcements/

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

Добавлено в версии 5.0: Edit partial information about category.

param id:

Category ID

type id:

int

>json object configuration:

Optional category configuration

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

Добавлено в версии 5.0: Edit full information about category.

param id:

Category ID

type id:

int

>json object configuration:

Optional category configuration

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

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

param id:

Category ID

type id:

int

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

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

Returns statistics for a category.

Параметры:
  • id (int) – Category ID

См. также

Returned attributes are described in Статистика.

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

Добавлено в версии 5.17.1: Returns announcements for a category.

param id:

Category ID

type id:

int

>json int id:

ID of the announcement

>json string message:

announcement text

>json string severity:

color of the message, one of info (light blue), warning (yellow), danger (red), success (green)

>json date expiry:

hide after this date, ISO 8601 extended format date (optional)

>json bool notify:

send notification to subscribed users? (optional)

POST /api/categories/(int: id)/announcements/

Добавлено в версии 5.17.1: Creates an announcement for a category.

param id:

Category ID

type id:

int

<json string message:

announcement text

<json string severity:

color of the message, one of info (light blue), warning (yellow), danger (red), success (green)

<json date expiry:

hide after this date, ISO 8601 extended format date (optional)

<json bool notify:

send notification to subscribed users? (optional)

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

Добавлено в версии 5.17.1: Deletes an announcement from a category.

param id:

Category ID

type id:

int

param announcement_id:

ID of the announcement to delete

type announcement_id:

integer

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

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

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

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

Устарело, начиная с версии 2.6: Please use POST /api/components/(string:project)/(string:component)/repository/ instead which works properly with authentication for ACL limited projects.

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

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

Устарело, начиная с версии 2.6: Please use POST /api/projects/(string:project)/repository/ instead which works properly with authentication for ACL limited projects.

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

POST /hooks/github/

Special hook for handling GitHub notifications and automatically updating matching components.

Примечание

GitHub includes direct support for notifying Weblate: enable Weblate service hook in repository settings and set the URL to the URL of your Weblate installation.

См. также

Уведомления GitHub

For instruction on setting up GitHub integration

https://docs.github.com/en/get-started/customizing-your-github-workflow/exploring-integrations/about-webhooks

Generic information about GitHub Webhooks

ENABLE_HOOKS

For enabling hooks for whole Weblate

POST /hooks/gitlab/

Special hook for handling GitLab notifications and automatically updating matching components.

См. также

Уведомления GitLab

For instruction on setting up GitLab integration

https://docs.gitlab.com/user/project/integrations/webhooks/

Generic information about GitLab Webhooks

ENABLE_HOOKS

For enabling hooks for whole Weblate

POST /hooks/bitbucket/

Special hook for handling Bitbucket notifications and automatically updating matching components.

См. также

Уведомления Bitbucket

For instruction on setting up Bitbucket integration

https://support.atlassian.com/bitbucket-cloud/docs/manage-webhooks/

Generic information about Bitbucket Webhooks

ENABLE_HOOKS

For enabling hooks for whole Weblate

POST /hooks/pagure/

Special hook for handling Pagure notifications and automatically updating matching components.

См. также

Уведомления Pagure

For instruction on setting up Pagure integration

https://docs.pagure.org/pagure/usage/using_webhooks.html

Generic information about Pagure Webhooks

ENABLE_HOOKS

For enabling hooks for whole Weblate

POST /hooks/azure/

Special hook for handling Azure DevOps notifications and automatically updating matching components.

Примечание

Please ensure that Resource details to send is set to All, otherwise Weblate will not be able to match your Azure repository.

См. также

Уведомления Azure Repos

For instruction on setting up Azure integration

https://learn.microsoft.com/en-us/azure/devops/service-hooks/services/webhooks?view=azure-devops

Generic information about Azure DevOps Web Hooks

ENABLE_HOOKS

For enabling hooks for whole Weblate

POST /hooks/gitea/

Special hook for handling Gitea Webhook notifications and automatically updating matching components.

См. также

Уведомления Gitea

For instruction on setting up Gitea integration

https://docs.gitea.io/en-us/webhooks/

Generic information about Gitea Webhooks

ENABLE_HOOKS

For enabling hooks for whole Weblate

POST /hooks/forgejo/

Special hook for handling Forgejo Webhook notifications and automatically updating matching components.

См. также

Уведомления Forgejo

For instruction on setting up Forgejo integration

https://forgejo.org/docs/latest/user/webhooks/

Generic information about Forgejo Webhooks

ENABLE_HOOKS

For enabling hooks for whole Weblate

POST /hooks/gitee/

Special hook for handling Gitee Webhook notifications and automatically updating matching components.

См. также

Уведомления Gitee

For instruction on setting up Gitee integration

https://gitee.com/help/categories/40

Generic information about Gitee Webhooks

ENABLE_HOOKS

For enabling hooks for whole Weblate

RSS-каналы

Изменения в переводах экспортируются в RSS-каналы.

Filtered RSS feeds are available from the changes browser. These accept the same filters as the changes page, for example action, user, exclude_user, and period.

GET /changes/rss/

Retrieves RSS feed with recent changes matching changes browsing filters.

GET /changes/rss/(string: project)/(string: component)/(string: language)/

Retrieves RSS feed with recent changes matching changes browsing filters in a translation.

GET /changes/rss/(string: project)/(string: component)/

Retrieves RSS feed with recent changes matching changes browsing filters in a component.

GET /changes/rss/(string: project)/-/(string: language)/

Retrieves RSS feed with recent changes matching changes browsing filters in a project language.

GET /changes/rss/-/-/(string: language)/

Retrieves RSS feed with recent changes matching changes browsing filters in a language.

GET /exports/rss/(string: project)/(string: component)/(string: language)/

Retrieves RSS feed with recent changes for a translation.

GET /exports/rss/(string: project)/(string: component)/

Retrieves RSS feed with recent changes for a component.

GET /exports/rss/(string: project)/

Retrieves RSS feed with recent changes for a project.

GET /exports/rss/language/(string: language)/

Retrieves RSS feed with recent changes for a language.

GET /exports/rss/

Retrieves RSS feed with recent changes for Weblate instance.

См. также

RSS в Википедии