Weblate’s REST API

Novo na versão 2.6: The REST API is available since Weblate 2.6.

The API is accessible on the /api/ URL and it is based on Django REST framework. You can use it directly or by Cliente Weblate.

Authentication and generic parameters

The public project API is available without authentication, though unauthenticated requests are heavily throttled (by default to 100 requests per day), so it is recommended to use authentication. The authentication uses a token, which you can get in your profile. Use it in the Authorization header:

ANY /

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 and api are supported. The latter provides web browser interface for API.

Request Headers
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 API

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

Status Codes

Authentication examples

Example request:

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

Example response:

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

curl \
    -H "Authorization: Token TOKEN" \
    https://example.com/api/

Passing Parameters Examples

For the POST method the parameters can be specified either as form submission (application/x-www-form-urlencoded) or as JSON (application/json).

Form request example:

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

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

curl \
    -d operation=pull \
    -H "Authorization: Token TOKEN" \
    http://example.com/api/components/hello/weblate/repository/

CURL JSON example:

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

API rate limiting

The API requests are rate limited; the default configuration limits it to 100 requests per day for anonymous users and 5000 requests per hour for authenticated users.

Rate limiting can be adjusted in the settings.py; see Throttling in Django REST framework documentation for more details how to configure it.

The status of rate limiting is reported in following headers:

X-RateLimit-Limit

Rate limiting limit of requests to perform

X-RateLimit-Remaining

Remaining limit of requests

X-RateLimit-Reset

Number of seconds until ratelimit window resets

Alterado na versão 4.1: Added ratelimiting status headers.

API Entry Point

GET /api/

The API root entry point.

Example request:

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

Example response:

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

Utilizadores

Novo na versão 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.

Veja também

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

POST /api/users/

Creates a new user.

Parameters
  • username (string) – Nome de utilizador

  • full_name (string) – User full name

  • email (string) – User email

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

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

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

Returns information about users.

Parameters
  • username (string) – User’s username

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

  • full_name (string) – nome completo de um utilizador

  • email (string) – email de um utilizador

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

  • is_active (boolean) – se o utilizador está ativo

  • date_joined (string) – data de criação do utilizador

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

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/"
    ],
    "is_superuser": true,
    "is_active": true,
    "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)/

Altera os parâmetros do utilizador.

Parameters
  • username (string) – User’s username

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

  • full_name (string) – nome completo de um utilizador

  • email (string) – email de um utilizador

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

  • is_active (boolean) – se o utilizador está ativo

  • date_joined (string) – data de criação do utilizador

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

Altera os parâmetros do utilizador.

Parameters
  • username (string) – User’s username

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

  • full_name (string) – nome completo de um utilizador

  • email (string) – email de um utilizador

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

  • is_active (boolean) – se o utilizador está ativo

  • date_joined (string) – data de criação do utilizador

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

Deletes all user information and marks the user inactive.

Parameters
  • username (string) – User’s username

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

Associate groups with a user.

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

Parameters
  • username (string) – User’s username

Response JSON Object
  • translated (int) – Quantidade de traduções por utilizador

  • suggested (int) – Quantidade de sugestões por utilizador

  • uploaded (int) – Quantidade de envios por utilizador

  • commented (int) – Quantidade de comentários por utilizador

  • languages (int) – Quantidade de idiomas que o utilizador pode traduzir

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

Lista de subscrições de um utilizador.

Parameters
  • username (string) – User’s username

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

Associar subscrições a um utilizador.

Parameters
  • username (string) – User’s username

Request JSON Object
  • notification (string) – Nome da notificação registada

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

Parameters
  • username (string) – User’s username

  • subscription_id (int) – ID da notificação registada

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

Edit a subscription associated with a user.

Parameters
  • username (string) – User’s username

  • subscription_id (int) – ID da notificação registada

Request JSON Object
  • notification (string) – Nome da notificação registada

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

Parameters
  • username (string) – User’s username

  • subscription_id (int) – ID da notificação registada

Request JSON Object
  • notification (string) – Nome da notificação registada

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

Parameters
  • username (string) – User’s username

  • subscription_id – Nome da notificação registada

  • subscription_id – int

Grupos

Novo na versão 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.

Veja também

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

POST /api/groups/

Cria um novo grupo.

Parameters
  • name (string) – Nome do grupo

  • project_selection (int) – Group of project selection from given options

  • language_selection (int) – Group of languages selected from given options

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

Devolve informação sobre o grupo.

Parameters
  • id (int) – Group’s ID

Response JSON Object

Example JSON data:

{
    "name": "Guests",
    "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)/

Altera os parâmetros do grupo.

Parameters
  • id (int) – Group’s ID

Response JSON Object
  • name (string) – nome de um grupo

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

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

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

Altera os parâmetros do grupo.

Parameters
  • id (int) – Group’s ID

Response JSON Object
  • name (string) – nome de um grupo

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

Parameters
  • id (int) – Group’s ID

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

Associar funções a um grupo.

Parameters
  • id (int) – Group’s ID

Form Parameters
  • string role_id – The unique role ID

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

Associate components with a group.

Parameters
  • id (int) – Group’s ID

Form Parameters
  • string component_id – The unique component ID

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

Eliminar componente de um grupo.

Parameters
  • id (int) – Group’s ID

  • component_id (int) – The unique component ID

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

Associate projects with a group.

Parameters
  • id (int) – Group’s ID

Form Parameters
  • string project_id – The unique project ID

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

Eliminar projeto de um grupo.

Parameters
  • id (int) – Group’s ID

  • project_id (int) – The unique project ID

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

Associar línguas a um grupo.

Parameters
  • id (int) – Group’s ID

Form Parameters
  • string language_code – The unique language code

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

Eliminar língua de um grupo.

Parameters
  • id (int) – Group’s ID

  • language_code (string) – The unique language code

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

Associate componentlists with a group.

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

Parameters
  • id (int) – Group’s ID

  • component_list_id (int) – The unique componentlist ID

Funções

GET /api/roles/

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

Veja também

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

POST /api/roles/

Cria uma nova função.

Parameters
  • name (string) – Role name

  • permissions (array) – List of codenames of permissions

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

Returns information about a role.

Parameters
  • id (int) – Role 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.

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.

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.

Parameters
  • id (int) – Role’s ID

Idiomas

GET /api/languages/

Returns a list of all languages.

Veja também

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

POST /api/languages/

Cria uma nova língua.

Parameters
  • code (string) – Nome do idioma

  • name (string) – Nome do idioma

  • direction (string) – Direção do texto

  • plural (object) – Language plural formula and number

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

Devolve informação sobre uma língua.

Parameters
  • language (string) – Código do idioma

Response JSON Object
  • code (string) – Código do idioma

  • direction (string) – Direção do texto

  • plural (object) – Object of language plural information

  • aliases (array) – Array of aliases for language

Example JSON data:

{
    "code": "en",
    "direction": "ltr",
    "name": "English",
    "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)/

Altera os parâmetros linguísticos.

Parameters
  • language (string) – Language’s code

Request JSON Object
  • name (string) – Nome do idioma

  • direction (string) – Direção do texto

  • plural (object) – Language plural details

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

Altera os parâmetros linguísticos.

Parameters
  • language (string) – Language’s code

Request JSON Object
  • name (string) – Nome do idioma

  • direction (string) – Direção do texto

  • plural (object) – Language plural details

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

Deletes the language.

Parameters
  • language (string) – Language’s code

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

Devolve estatísticas para uma língua.

Parameters
  • language (string) – Código do idioma

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

  • total_words (int) – número total de palavras

  • last_change (timestamp) – últimas alterações na língua

  • recent_changes (int) – número total de alterações

  • translated (int) – number of translated strings

  • translated_percent (float) – percentage of translated strings

  • translated_words (int) – número de palavras traduzidas

  • translated_words_percent (int) – percentagem de palavras traduzidas

  • translated_chars (int) – número de caracteres traduzidos

  • translated_chars_percent (int) – percentage of translated characters

  • total_chars (int) – número total de caracteres

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

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

  • failing (int) – number of failing strings

  • failing – percentage of failing strings

Projetos

GET /api/projects/

Returns a list of all projects.

Veja também

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

POST /api/projects/

Novo na versão 3.9.

Cria um novo projeto.

Parameters
  • name (string) – Nome do projeto

  • slug (string) – Project slug

  • web (string) – Site da Web do Projeto

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

Devolve informação sobre um projecto.

Parameters
  • project (string) – URL semântico do projeto

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

Novo na versão 4.3.

Edit a project by a PATCH request.

Parameters
  • project (string) – URL semântico do projeto

  • component (string) – URL semântico do componente

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

Novo na versão 4.3.

Edit a project by a PUT request.

Parameters
  • project (string) – URL semântico do projeto

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

Novo na versão 3.9.

Deletes a project.

Parameters
  • project (string) – URL semântico do projeto

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

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

Parameters
  • project (string) – URL semântico do projeto

Response JSON Object
GET /api/projects/(string: project)/repository/

Returns information about 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/.

Parameters
  • project (string) – URL semântico do projeto

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.

Parameters
  • project (string) – URL semântico do projeto

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

Response JSON Object
  • result (boolean) – resultado da operação

CURL example:

curl \
    -d operation=pull \
    -H "Authorization: Token TOKEN" \
    http://example.com/api/projects/hello/repository/

JSON request example:

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.

Parameters
  • project (string) – URL semântico do projeto

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

Novo na versão 3.9.

Alterado na versão 4.3: The zipfile and docfile parameters are now accepted for VCS-less components, see Local files.

Alterado na versão 4.6: The cloned repositories are now automatically shared within a project using Weblate internal URLs. Use disable_autoshare to turn off this.

Creates translation components in the given project.

Dica

Use Weblate internal URLs when creating multiple components from a single VCS repository.

Nota

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

Parameters
  • project (string) – URL semântico do projeto

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

  • file docfile – Documento para traduzir

  • boolean disable_autoshare – Disables automatic repository sharing via Weblate internal URLs.

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",
        "filemask": "po/*.po",
        "git_export": "",
        "license": "",
        "license_url": "",
        "name": "Weblate",
        "slug": "weblate",
        "repo": "file:///home/nijel/work/weblate-hello",
        "template": "",
        "new_base": "",
        "vcs": "git"
    }' \
    -H "Content-Type: application/json" \
    -H "Authorization: Token TOKEN" \
    http://example.com/api/projects/hello/components/

JSON request example:

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",
    "git_export": "",
    "license": "",
    "license_url": "",
    "name": "Weblate",
    "slug": "weblate",
    "repo": "file:///home/nijel/work/weblate-hello",
    "template": "",
    "new_base": "",
    "vcs": "git"
}

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",
    "filemask": "po/*.po",
    "git_export": "",
    "license": "",
    "license_url": "",
    "name": "Weblate",
    "slug": "weblate",
    "project": {
        "name": "Hello",
        "slug": "hello",
        "source_language": {
            "code": "en",
            "direction": "ltr",
            "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.

Novo na versão 3.8.

Parameters
  • project (string) – URL semântico do projeto

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) – número total de palavras

  • translated_words (int) – número de palavras traduzidas

  • words_percent (float) – percentagem de palavras traduzidas

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

Returns statistics for a project.

Novo na versão 3.8.

Parameters
  • project (string) – URL semântico do projeto

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

  • translated (int) – number of translated strings

  • translated_percent (float) – percentage of translated strings

  • total_words (int) – número total de palavras

  • translated_words (int) – número de palavras traduzidas

  • words_percent (float) – percentagem de palavras traduzidas

Componentes

GET /api/components/

Returns a list of translation components.

Veja também

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

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

Returns information about translation component.

Parameters
  • project (string) – URL semântico do projeto

  • component (string) – URL semântico do componente

Response JSON Object

Example JSON data:

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

Parameters
  • project (string) – URL semântico do projeto

  • component (string) – URL semântico do componente

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

curl \
    --data-binary '{"name": "new name"}' \
    -H "Content-Type: application/json" \
    -H "Authorization: Token TOKEN" \
    PATCH http://example.com/api/projects/hello/components/

JSON request example:

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",
    "filemask": "po/*.po",
    "git_export": "",
    "license": "",
    "license_url": "",
    "name": "new name",
    "slug": "weblate",
    "project": {
        "name": "Hello",
        "slug": "hello",
        "source_language": {
            "code": "en",
            "direction": "ltr",
            "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.

Parameters
  • project (string) – URL semântico do projeto

  • component (string) – URL semântico do componente

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

  • file_format (string) – formato de ficheiro de traduções

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

Novo na versão 3.9.

Deletes a component.

Parameters
  • project (string) – URL semântico do projeto

  • component (string) – URL semântico do componente

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.

Parameters
  • project (string) – URL semântico do projeto

  • component (string) – URL semântico do componente

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

Returns a list of component screenshots.

Parameters
  • project (string) – URL semântico do projeto

  • component (string) – URL semântico do componente

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

Returns component lock status.

Parameters
  • project (string) – URL semântico do projeto

  • component (string) – URL semântico do componente

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

Parameters
  • project (string) – URL semântico do projeto

  • component (string) – URL semântico do componente

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

CURL example:

curl \
    -d lock=true \
    -H "Authorization: Token TOKEN" \
    http://example.com/api/components/hello/weblate/repository/

JSON request example:

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 VCS repository status.

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

Parameters
  • project (string) – URL semântico do projeto

  • component (string) – URL semântico do componente

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.

Parameters
  • project (string) – URL semântico do projeto

  • component (string) – URL semântico do componente

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

Response JSON Object
  • result (boolean) – resultado da operação

CURL example:

curl \
    -d operation=pull \
    -H "Authorization: Token TOKEN" \
    http://example.com/api/components/hello/weblate/repository/

JSON request example:

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.

Parameters
  • project (string) – URL semântico do projeto

  • component (string) – URL semântico do componente

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

Downloads template file for new translations.

Parameters
  • project (string) – URL semântico do projeto

  • component (string) – URL semântico do componente

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

Returns a list of translation objects in the given component.

Parameters
  • project (string) – URL semântico do projeto

  • component (string) – URL semântico do componente

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

Creates new translation in the given component.

Parameters
  • project (string) – URL semântico do projeto

  • component (string) – URL semântico do componente

Request JSON Object
Response JSON Object
  • result (object) – novo objecto de tradução criado

CURL example:

curl \
    -d language_code=cs \
    -H "Authorization: Token TOKEN" \
    http://example.com/api/projects/hello/components/

JSON request example:

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

Novo na versão 2.7.

Parameters
  • project (string) – URL semântico do projeto

  • component (string) – URL semântico do componente

Response JSON Object

Returns projects linked with a component.

Novo na versão 4.5.

Parameters
  • project (string) – URL semântico do projeto

  • component (string) – URL semântico do componente

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

Associate project with a component.

Novo na versão 4.5.

Parameters
  • project (string) – URL semântico do projeto

  • component (string) – URL semântico do componente

Form Parameters
  • string project_slug – Project slug

Remove association of a project with a component.

Novo na versão 4.5.

Parameters
  • project (string) – URL semântico do projeto

  • component (string) – URL semântico do componente

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

Traduções

GET /api/translations/

Devolve uma lista de traduções.

Veja também

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

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

Devolve informação sobre uma tradução.

Parameters
  • project (string) – URL semântico do projeto

  • component (string) – URL semântico do componente

  • language (string) – Translation language code

Response JSON Object

Example JSON data:

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

Novo na versão 3.9.

Deletes a translation.

Parameters
  • project (string) – URL semântico do projeto

  • component (string) – URL semântico do componente

  • language (string) – Translation language code

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.

Parameters
  • project (string) – URL semântico do projeto

  • component (string) – URL semântico do componente

  • language (string) – Translation language code

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

Returns a list of translation units.

Parameters
  • project (string) – URL semântico do projeto

  • component (string) – URL semântico do componente

  • language (string) – Translation language code

  • q (string) – Search query string Searching (optional)

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

Add new monolingual unit.

Parameters
  • project (string) – URL semântico do projeto

  • component (string) – URL semântico do componente

  • language (string) – Translation language code

Request JSON Object
  • key (string) – Nome da unidade de tradução

  • value (string) – O valor da unidade de tradução

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

Trigger automatic translation.

Parameters
  • project (string) – URL semântico do projeto

  • component (string) – URL semântico do componente

  • language (string) – Translation language code

Request JSON Object
  • mode (string) – Modo de tradução automático

  • filter_type (string) – Tipo de filtro de tradução automática

  • auto_source (string) – Fonte da tradução automática

  • component (string) – Ativar a contribuição para a memória de tradução compartilhada para que o projeto tenha acesso a componentes adicionais.

  • engines (string) – Motores de tradução automática

  • threshold (string) – Limite de pontuação

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 Descarregar traduções).

Nota

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.

Query Parameters
  • format – Formato de ficheiro a usar; se não for especificado nenhuma conversão de formato acontecerá; formatos de ficheiro suportados: po, mo, xliff, xliff11, tbx, csv, xlsx, json, aresource, strings

Parameters
  • project (string) – URL semântico do projeto

  • component (string) – URL semântico do componente

  • language (string) – Translation language code

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

Upload new file with translations.

Parameters
  • project (string) – URL semântico do projeto

  • component (string) – URL semântico do componente

  • language (string) – Translation language code

Form Parameters
  • string conflicts – How to deal with conflicts (ignore, replace-translated or replace-approved)

  • file file – Uploaded file

  • string email – E-mail do autor

  • string author – Nome do autor

  • string method – Upload method (translate, approve, suggest, fuzzy, replace, source, add), see Métodos de importação

  • string fuzzy – Fuzzy (marked for edit) strings processing (empty, process, approve)

CURL example:

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 VCS repository status.

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

Parameters
  • project (string) – URL semântico do projeto

  • component (string) – URL semântico do componente

  • language (string) – Translation language code

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.

Parameters
  • project (string) – URL semântico do projeto

  • component (string) – URL semântico do componente

  • language (string) – Translation language code

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

Response JSON Object
  • result (boolean) – resultado da operação

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

Devolve estatísticas detalhadas da tradução.

Novo na versão 2.7.

Parameters
  • project (string) – URL semântico do projeto

  • component (string) – URL semântico do componente

  • language (string) – Translation language code

Response JSON Object
  • code (string) – language code

  • failing (int) – número de verificações falhadas

  • failing_percent (float) – percentage of failing checks

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

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

  • total_words (int) – número total de palavras

  • translated_words (int) – número de palavras traduzidas

  • last_author (string) – nome do úlitmo autor

  • last_change (timestamp) – data da última alteração

  • name (string) – language name

  • total (int) – total number of strings

  • translated (int) – number of translated strings

  • translated_percent (float) – percentage of translated strings

  • url (string) – URL to access the translation (engagement URL)

  • url_translate (string) – URL to access the translation (real translation URL)

Units

A unit is a single piece of a translation which pairs a source string with a corresponding translated string and also contains some related metadata. The term is derived from the Translate Toolkit and XLIFF.

Novo na versão 2.10.

GET /api/units/

Returns list of translation units.

Veja também

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

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

Alterado na versão 4.3: The target and source are now arrays to properly handle plural strings.

Devolve informação sobre a unidade de tradução.

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

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

  • fuzzy (boolean) – se a unidade está confusa ou marcada para revisão

  • translated (boolean) – Percentagem traduzido

  • approved (boolean) – Tradução aprovada

  • position (int) – unit position in translation file

  • has_suggestion (boolean) – Cadeia tem sugestão

  • has_comment (boolean) – Cadeia tem comentário

  • has_failing_check (boolean) – Cadeia tem verificação falhada

  • num_words (int) – número de palavras de origem

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

  • id (int) – unit identifier

  • explanation (string) – String explanation, available on source units, see Additional info on source strings

  • extra_flags (string) – Sinalizadores de cadeias adicionais, disponíveis nas unidades de fonte, veja Customizing behavior using flags

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

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

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

Novo na versão 4.3.

Realiza uma atualização parcial na unidade de tradução.

Parameters
  • id (int) – Unit ID

Request JSON Object
  • state (int) – unit state, 0 - not translated, 10 - needs editing, 20 - translated, 30 - approved (need review workflow enabled, see Revisores dedicados)

  • target (array) – target string

  • explanation (string) – String explanation, available on source units, see Additional info on source strings

  • extra_flags (string) – Sinalizadores de cadeias adicionais, disponíveis nas unidades de fonte, veja Customizing behavior using flags

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

Novo na versão 4.3.

Realiza a atualização completa da unidade de tradução.

Parameters
  • id (int) – Unit ID

Request JSON Object
  • state (int) – unit state, 0 - not translated, 10 - needs editing, 20 - translated, 30 - approved (need review workflow enabled, see Revisores dedicados)

  • target (array) – target string

  • explanation (string) – String explanation, available on source units, see Additional info on source strings

  • extra_flags (string) – Sinalizadores de cadeias adicionais, disponíveis nas unidades de fonte, veja Customizing behavior using flags

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

Novo na versão 4.3.

Apaga a unidade de tradução.

Parameters
  • id (int) – Unit ID

Alterações

Novo na versão 2.10.

GET /api/changes/

Alterado na versão 4.1: Filtering of changes was introduced in the 4.1 release.

Returns a list of translation changes.

Veja também

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

Query Parameters
  • user (string) – Nome de utilizador do utilizador para filtros

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

Devolve informação sobre mudanças na tradução.

Parameters
  • 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) – identificação numérica da ação

  • action_name (string) – descrição textual da ação

  • target (string) – event changed text or detail

  • id (int) – change identifier

Capturas de ecrã

Novo na versão 2.14.

GET /api/screenshots/

Returns a list of screenshot string information.

Veja também

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

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

Returns information about screenshot information.

Parameters
  • id (int) – Screenshot ID

Response JSON Object
GET /api/screenshots/(int: id)/file/

Download the screenshot image.

Parameters
  • id (int) – Screenshot ID

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

Replace screenshot image.

Parameters
  • id (int) – Screenshot ID

Form Parameters
  • file image – Uploaded file

CURL example:

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.

Parameters
  • id (int) – Screenshot ID

Form Parameters
  • string unit_id – Unit ID

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

Remove a associação de texto fonte com captura de ecrã.

Parameters
  • id (int) – Screenshot ID

  • unit_id – ID da unidade do texto fonte

POST /api/screenshots/

Creates a new screenshot.

Form Parameters
  • file image – Uploaded file

  • string name – Nome da captura do ecrã

  • string project_slug – Project slug

  • string component_slug – Component slug

  • string language_code – Código do idioma

Response JSON Object
PATCH /api/screenshots/(int: id)/

Edita informações parciais sobre captura de ecrã.

Parameters
  • id (int) – Screenshot ID

Response JSON Object
PUT /api/screenshots/(int: id)/

Edita informações completas sobre captura de ecrã.

Parameters
  • id (int) – Screenshot ID

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

Apagar captura de ecrã.

Parameters
  • id (int) – Screenshot ID

Extensões

Novo na versão 4.4.1.

GET /api/addons/

Returns a list of addons.

Veja também

Addon object attributes are documented at GET /api/addons/(int:id)/.

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

Returns information about addon information.

Parameters
  • id (int) – Addon ID

Response JSON Object
  • name (string) – name of an addon

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

  • configuration (object) – Optional addon configuration

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

Creates a new addon.

Parameters
  • project_slug (string) – Project slug

  • component_slug (string) – Component slug

Request JSON Object
  • name (string) – name of an addon

  • configuration (object) – Optional addon configuration

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

Edit partial information about addon.

Parameters
  • id (int) – Addon ID

Response JSON Object
  • configuration (object) – Optional addon configuration

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

Edit full information about addon.

Parameters
  • id (int) – Addon ID

Response JSON Object
  • configuration (object) – Optional addon configuration

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

Delete addon.

Parameters
  • id (int) – Addon ID

Listas de componentes

Novo na versão 4.0.

GET /api/component-lists/

Returns a list of component lists.

Veja também

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

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

Returns information about component list.

Parameters
  • slug (string) – Component list slug

Response JSON Object
  • name (string) – nome de uma lista de componentes

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

Parameters
  • slug (string) – Component list slug

Request JSON Object
  • name (string) – nome de uma lista de componentes

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

Parameters
  • slug (string) – Component list slug

Request JSON Object
  • name (string) – nome de uma lista de componentes

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

Parameters
  • slug (string) – Component list slug

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

Associate component with a component list.

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

Parameters
  • slug (string) – Component list slug

  • component_slug (string) – Component slug

Glossário

Alterado na versão 4.5: Glossaries are now stored as regular components, translations and strings, please use respective API instead.

Tasks

Novo na versão 4.4.

GET /api/tasks/

Listing of the tasks is currently not available.

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

Returns information about a task

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

Hooks de notificação

Notification hooks allow external applications to notify Weblate that the VCS repository has been updated.

You can use repository endpoints for projects, components and translations to update individual repositories; see POST /api/projects/(string:project)/repository/ for documentation.

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

Obsoleto desde a versão 2.6: Please use POST /api/components/(string:project)/(string:component)/repository/ instead which works properly with authentication for ACL limited projects.

Triggers update of a component (pulling from VCS and scanning for translation changes).

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

Obsoleto desde a versão 2.6: Please use POST /api/projects/(string:project)/repository/ instead which works properly with authentication for ACL limited projects.

Triggers update of all components in a project (pulling from VCS and scanning for translation changes).

POST /hooks/github/

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

Nota

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.

Veja também

Receber alterações do GitHub automaticamente

For instruction on setting up GitHub integration

https://docs.github.com/en/github/extending-github/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.

Veja também

Receber alterações do GitLab automaticamente

For instruction on setting up GitLab integration

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

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.

Veja também

Receber alterações do Bitbucket automaticamente

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/

Novo na versão 3.3.

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

Veja também

Receber alterações do Pagure automaticamente

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/

Novo na versão 3.8.

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

Veja também

Receber alterações dos Azure Repos automaticamente

For instruction on setting up Azure integration

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

Generic information about Azure Repos Web Hooks

ENABLE_HOOKS

For enabling hooks for whole Weblate

POST /hooks/gitea/

Novo na versão 3.9.

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

Veja também

Receber alterações dos Gitea Repos automaticamente

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

Novo na versão 3.9.

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

Veja também

Receber alterações de Gitee Repos automaticamente

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

Exports

Weblate provides various exports to allow you to further process the data.

GET /exports/stats/(string: project)/(string: component)/
Query Parameters
  • format (string) – Output format: either json or csv

Obsoleto desde a versão 2.6: Please use GET /api/components/(string:project)/(string:component)/statistics/ and GET /api/translations/(string:project)/(string:component)/(string:language)/statistics/ instead; it allows access to ACL controlled projects as well.

Retrieves statistics for given component in given format.

Example request:

GET /exports/stats/weblate/main/ HTTP/1.1
Host: example.com
Accept: application/json, text/javascript

Example response:

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/"
    }
]

Feeds RSS

Changes in translations are exported in RSS feeds.

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.

Veja também

RSS on wikipedia