API REST de Weblate#

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

Autenticación y parámetros genéricos#

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.

Parámetros de consulta:
  • 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.

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

Encabezados de solicitud:
  • Accept – the response content type depends on Accept header

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

Encabezados de respuesta:
Objeto JSON de respuesta:
  • 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

Códigos de Status:

Fichas de autentificación#

Distinto en la versión 4.10: Project scoped tokens were introduced in the 4.10 release.

Each user has a personal access token which can be obtained in the user profile. Newly generated user tokens have the wlu_ prefix.

It is possible to create project scoped tokens for API access to given project only. These tokens can be identified by the wlp_ prefix.

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/

Components and categories#

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

Limitación de la tasa de API#

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.

En el contenedor de Docker, esto se puede configurar usando WEBLATE_API_RATELIMIT_ANON y WEBLATE_API_RATELIMIT_USER.

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

Distinto en la versión 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/"
}

Usuarios#

Nuevo en la versión 4.0.

GET /api/users/#

Devuelve un listado de usuarios si tiene permisos para ver y gestionar usuarios. En caso contrario, podrá ver solo sus propios datos.

Ver también

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

POST /api/users/#

Creates a new user.

Parámetros:
  • username (string) – Nombre de usuario

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

Parámetros:
  • username (string) – User’s username

Objeto JSON de respuesta:
  • 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)/

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,
    "is_bot": false,
    "date_joined": "2020-03-29T18:42:42.617681Z",
    "url": "http://example.com/api/users/exampleusername/",
    "statistics_url": "http://example.com/api/users/exampleusername/statistics/"
}
PUT /api/users/(str: username)/#

Changes the user parameters.

Parámetros:
  • username (string) – User’s username

Objeto JSON de respuesta:
  • 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.

Parámetros:
  • username (string) – User’s username

Objeto JSON de respuesta:
  • 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)/#

Elimina toda la información de la cuenta de usuario y la marca como inactiva.

Parámetros:
  • username (string) – User’s username

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

Associate groups with a user.

Parámetros:
  • username (string) – User’s username

Parámetros de Forma:
  • string group_id – The unique group ID

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

Nuevo en la versión 4.13.1.

Eliminar un usuario de un grupo.

Parámetros:
  • username (string) – User’s username

Parámetros de Forma:
  • string group_id – The unique group ID

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

Enumera estadísticas de una cuenta de usuario.

Parámetros:
  • username (string) – User’s username

Objeto JSON de respuesta:
  • translated (int) – Número de traducciones efectuadas

  • suggested (int) – Número de sugerencias efectuadas

  • uploaded (int) – Número de cargas efectuadas

  • commented (int) – Número de comentarios efectuados

  • languages (int) – Número de idiomas en que puede traducir

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

List subscriptions of a user.

Parámetros:
  • username (string) – User’s username

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

Associate subscriptions with a user.

Parámetros:
  • username (string) – User’s username

Objeto JSON de solicitud:
  • notification (string) – Nombre de notificación registrada

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

  • frequency (int) – Elecciones de frecuencia de las notificaciones

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

Get a subscription associated with a user.

Parámetros:
  • username (string) – User’s username

  • subscription_id (int) – Identificador de notificación registrada

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

Edit a subscription associated with a user.

Parámetros:
  • username (string) – User’s username

  • subscription_id (int) – Identificador de notificación registrada

Objeto JSON de solicitud:
  • notification (string) – Nombre de notificación registrada

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

  • frequency (int) – Elecciones de frecuencia de las notificaciones

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

Edit a subscription associated with a user.

Parámetros:
  • username (string) – User’s username

  • subscription_id (int) – Identificador de notificación registrada

Objeto JSON de solicitud:
  • notification (string) – Nombre de notificación registrada

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

  • frequency (int) – Elecciones de frecuencia de las notificaciones

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

Delete a subscription associated with a user.

Parámetros:
  • username (string) – User’s username

  • subscription_id – Nombre de notificación registrada

  • subscription_id – int

Grupos#

Nuevo en la versión 4.0.

GET /api/groups/#

Devuelve una lista de grupos si tiene permisos para ver y gestionar grupos. En caso contrario, verá solo los grupos a los que pertenece el usuario.

Ver también

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

POST /api/groups/#

Creates a new group.

Parámetros:
GET /api/groups/(int: id)/#

Returns information about group.

Parámetros:
  • id (int) – Identificador del grupo

Objeto JSON de respuesta:

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/"
    ]
}
PUT /api/groups/(int: id)/#

Cambia los parámetros del grupo.

Parámetros:
  • id (int) – Identificador del grupo

Objeto JSON de respuesta:
  • name (string) – nombre de un grupo

  • project_selection (int) – entero que se corresponde a un grupo de proyectos

  • language_selection (int) – entero que se corresponde a un grupo de idiomas

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

Cambia los parámetros del grupo.

Parámetros:
  • id (int) – Identificador del grupo

Objeto JSON de respuesta:
  • name (string) – nombre de un grupo

  • project_selection (int) – entero que se corresponde a un grupo de proyectos

  • language_selection (int) – entero que se corresponde a un grupo de idiomas

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

Elimina el grupo.

Parámetros:
  • id (int) – Identificador del grupo

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

Associate roles with a group.

Parámetros:
  • id (int) – Identificador del grupo

Parámetros de Forma:
  • string role_id – The unique role ID

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

Associate components with a group.

Parámetros:
  • id (int) – Identificador del grupo

Parámetros de Forma:
  • string component_id – The unique component ID

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

Delete component from a group.

Parámetros:
  • id (int) – Identificador del grupo

  • component_id (int) – The unique component ID

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

Associate projects with a group.

Parámetros:
  • id (int) – Identificador del grupo

Parámetros de Forma:
  • string project_id – The unique project ID

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

Delete project from a group.

Parámetros:
  • id (int) – Identificador del grupo

  • project_id (int) – The unique project ID

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

Associate languages with a group.

Parámetros:
  • id (int) – Identificador del grupo

Parámetros de Forma:
  • string language_code – The unique language code

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

Delete language from a group.

Parámetros:
  • id (int) – Identificador del grupo

  • language_code (string) – The unique language code

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

Associate componentlists with a group.

Parámetros:
  • id (int) – Identificador del grupo

Parámetros de Forma:
  • string component_list_id – The unique componentlist ID

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

Delete componentlist from a group.

Parámetros:
  • id (int) – Identificador del grupo

  • component_list_id (int) – The unique componentlist ID

Roles#

GET /api/roles/#

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

Ver también

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

POST /api/roles/#

Creates a new role.

Parámetros:
  • name (string) – Role name

  • permissions (array) – List of codenames of permissions

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

Returns information about a role.

Parámetros:
  • id (int) – Role ID

Objeto JSON de respuesta:
  • 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.

Parámetros:
  • id (int) – Role’s ID

Objeto JSON de respuesta:
  • name (string) – Role name

  • permissions (array) – list of codenames of permissions

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

Changes the role parameters.

Parámetros:
  • id (int) – Role’s ID

Objeto JSON de respuesta:
  • name (string) – Role name

  • permissions (array) – list of codenames of permissions

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

Deletes the role.

Parámetros:
  • id (int) – Role’s ID

Idiomas#

GET /api/languages/#

Devuelve un listado de todos los idiomas.

Ver también

Los atributos de objeto de idioma se documentan en GET /api/languages/(string:language)/.

POST /api/languages/#

Crea un idioma nuevo.

Parámetros:
  • code (string) – Nombre del idioma

  • name (string) – Nombre del idioma

  • direction (string) – Dirección del texto

  • population (int) – Número de hablantes

  • plural (object) – Fórmula y número de plurales del idioma

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

Devuelve información relativa a un idioma.

Parámetros:
  • language (string) – Código de idioma

Objeto JSON de respuesta:
  • code (string) – Código de idioma

  • direction (string) – Dirección del texto

  • plural (object) – Objeto de información de plurales de un idioma

  • aliases (array) – Array of aliases for language

Objeto JSON de solicitud:
  • population (int) – Número de hablantes

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

Permite cambiar los parámetros del idioma.

Parámetros:
  • language (string) – Código del idioma

Objeto JSON de solicitud:
  • name (string) – Nombre del idioma

  • direction (string) – Dirección del texto

  • population (int) – Número de hablantes

  • plural (object) – Language plural details

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

Permite cambiar los parámetros del idioma.

Parámetros:
  • language (string) – Código del idioma

Objeto JSON de solicitud:
  • name (string) – Nombre del idioma

  • direction (string) – Dirección del texto

  • population (int) – Número de hablantes

  • plural (object) – Language plural details

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

Elimina el idioma.

Parámetros:
  • language (string) – Código del idioma

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

Devuelve estadísticas sobre un idioma.

Parámetros:
  • language (string) – Código de idioma

Ver también

Returned attributes are described in Estadísticas.

Proyectos#

GET /api/projects/#

Devuelve un listado de todos los proyectos.

Ver también

Los atributos de objeto de proyecto se documentan en GET /api/projects/(string:project)/.

POST /api/projects/#

Crea un proyecto nuevo.

Parámetros:
  • name (string) – Nombre del proyecto

  • slug (string) – «Slug» del proyecto

  • web (string) – Sitio web del proyecto

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

Devuelve información relativa a un proyecto.

Parámetros:
  • project (string) – URL semántico del proyecto

Objeto JSON de respuesta:

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

Nuevo en la versión 4.3.

Edit a project by a PATCH request.

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del componente

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

Nuevo en la versión 4.3.

Edit a project by a PUT request.

Parámetros:
  • project (string) – URL semántico del proyecto

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

Elimina un proyecto.

Parámetros:
  • project (string) – URL semántico del proyecto

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

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

Parámetros:
  • project (string) – URL semántico del proyecto

Objeto JSON de respuesta:
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/.

Parámetros:
  • project (string) – URL semántico del proyecto

Objeto JSON de respuesta:
  • 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/#

Efectúa la operación indicada en el repositorio del sistema de control de versiones.

Parámetros:
  • project (string) – URL semántico del proyecto

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

Objeto JSON de respuesta:
  • result (boolean) – resultado de la operación

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

Ejemplo de respuesta en JSON

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

{"result":true}
GET /api/projects/(string: project)/components/#

Devuelve un listado de componentes de traducción en el proyecto indicado.

Parámetros:
  • project (string) – URL semántico del proyecto

Objeto JSON de respuesta:
POST /api/projects/(string: project)/components/#

Distinto en la versión 4.3: The zipfile and docfile parameters are now accepted for VCS-less components, see Archivos locales.

Distinto en la versión 4.6: The cloned repositories are now automatically shared within a project using URL internos de Weblate. Use disable_autoshare to turn off this.

Crea componentes de traducción en el proyecto indicado.

Consejo

Use URL internos de Weblate 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.

Parámetros:
  • project (string) – URL semántico del proyecto

Parámetros de Forma:
  • file zipfile – ZIP file to upload into Weblate for translations initialization

  • file docfile – Documento para traducir

  • boolean disable_autoshare – Disables automatic repository sharing via URL internos de Weblate.

Objeto JSON de solicitud:
Objeto JSON de respuesta:

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.

Ejemplo de la solicitud del formulario CURL:

curl \
    --form docfile=@strings.html \
    --form name=Weblate \
    --form slug=weblate \
    --form file_format=html \
    --form new_lang=add \
    -H "Authorization: Token TOKEN" \
    http://example.com/api/projects/hello/components/

Ejemplo de solicitud CURL JSON:

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

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

{
    "file_format": "po",
    "filemask": "po/*.po",
    "name": "Weblate",
    "slug": "weblate",
    "repo": "weblate://weblate/hello",
    "template": "",
    "new_base": "po/hello.pot",
    "vcs": "git"
}

Ejemplo de respuesta en JSON

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

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

Returns paginated statistics for all languages within a project.

Parámetros:
  • project (string) – URL semántico del proyecto

Objeto JSON de respuesta:
  • results (array) – array of translation statistics objects

  • language (string) – nombre del idioma

  • code (string) – código del idioma

  • total (int) – número total de cadenas

  • translated (int) – número de cadenas traducidas

  • translated_percent (float) – porcentaje de cadenas traducidas

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

  • translated_words (int) – número de palabras traducidas

  • words_percent (float) – porcentaje de palabras traducidas

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

Devuelve estadísticas sobre un proyecto.

Parámetros:
  • project (string) – URL semántico del proyecto

Ver también

Returned attributes are described in Estadísticas.

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

Nuevo en la versión 5.0: Returns categories for a project. See GET /api/categories/(int:id)/ for field definitions.

param project:

URL semántico del proyecto

type project:

string

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

Nuevo en la versión 5.3: Returns labels for a project.

param project:

URL semántico del proyecto

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

Nuevo en la versión 5.3: Creates a label for a project.

param project:

URL semántico del proyecto

type project:

string

<json string name:

name of the label

<json string color:

color of the label

Componentes#

Consejo

Utilice POST /api/projects/(string:project)/components/ para crear nuevos componentes.

GET /api/components/#

Devuelve un listado de componentes de traducción.

Ver también

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

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

Devuelve información relativa al componente de traducción.

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del componente

Objeto JSON de respuesta:

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

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del componente

  • source_language (string) – Código del idioma de origen del proyecto (opcional)

Objeto JSON de solicitud:
  • name (string) – nombre del componente

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

Ejemplo de respuesta en JSON

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

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

Edit a component by a PUT request.

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del componente

Objeto JSON de solicitud:
  • branch (string) – Rama del repositorio de control de versiones

  • file_format (string) – formato de archivo de las traducciones

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

  • name (string) – nombre del componente

  • 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) – sistema de control de versiones

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

Elimina un componente.

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del 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.

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del componente

Objeto JSON de respuesta:
GET /api/components/(string: project)/(string: component)/file/#

Nuevo en la versión 4.9.

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

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del componente

Parámetros de consulta:
  • 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 Descargar traducciones.

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

Devuelve un listado de las capturas de pantalla del componente.

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del componente

Objeto JSON de respuesta:
GET /api/components/(string: project)/(string: component)/lock/#

Devuelve el estado de bloqueo del componente.

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del componente

Objeto JSON de respuesta:
  • locked (boolean) – whether component is locked for updates

Example JSON data:

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

Establece el estado de bloqueo del componente.

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

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del componente

Objeto JSON de solicitud:
  • 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}

Ejemplo de respuesta en JSON

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

{"locked":true}
GET /api/components/(string: project)/(string: component)/repository/#

Returns information about VCS repository status.

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

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del componente

Objeto JSON de respuesta:
  • 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.

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del componente

Objeto JSON de solicitud:
  • operation (string) – Operation to perform: one of push, pull, commit, reset, cleanup

Objeto JSON de respuesta:
  • result (boolean) – resultado de la operación

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

Ejemplo de respuesta en JSON

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

{"result":true}
GET /api/components/(string: project)/(string: component)/monolingual_base/#

Descarga el archivo de base para traducciones monolingües.

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del componente

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

Descarga el archivo de plantilla para traducciones nuevas.

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del componente

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

Devuelve un listado de objetos de traducción en el componente indicado.

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del componente

Objeto JSON de respuesta:
POST /api/components/(string: project)/(string: component)/translations/#

Creates new translation in the given component.

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del componente

Objeto JSON de solicitud:
Objeto JSON de respuesta:
  • result (object) – new translation object created

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

Ejemplo de respuesta en JSON

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

{
    "failing_checks": 0,
    "failing_checks_percent": 0,
    "failing_checks_words": 0,
    "filename": "po/cs.po",
    "fuzzy": 0,
    "fuzzy_percent": 0.0,
    "fuzzy_words": 0,
    "have_comment": 0,
    "have_suggestion": 0,
    "is_template": false,
    "is_source": false,
    "language": {
        "code": "cs",
        "direction": "ltr",
        "population": 1303174280
        "name": "Czech",
        "url": "http://example.com/api/languages/cs/",
        "web_url": "http://example.com/languages/cs/"
    },
    "language_code": "cs",
    "id": 125,
    "last_author": null,
    "last_change": null,
    "share_url": "http://example.com/engage/hello/cs/",
    "total": 4,
    "total_words": 15,
    "translate_url": "http://example.com/translate/hello/weblate/cs/",
    "translated": 0,
    "translated_percent": 0.0,
    "translated_words": 0,
    "url": "http://example.com/api/translations/hello/weblate/cs/",
    "web_url": "http://example.com/projects/hello/weblate/cs/"
}
GET /api/components/(string: project)/(string: component)/statistics/#

Devuelve estadísticas paginadas para todas las traducciones del componente.

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del componente

Ver también

Returned attributes are described in Estadísticas.

Devuelve proyectos vinculados con un componente.

Nuevo en la versión 4.5.

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del componente

Objeto JSON de respuesta:
POST /api/components/(string: project)/(string: component)/links/#

Asociar un proyecto con un componente.

Nuevo en la versión 4.5.

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del componente

Parámetros de Forma:
  • string project_slug – «Slug» del proyecto

Eliminar la asociación de un proyecto con un componente.

Nuevo en la versión 4.5.

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del componente

  • project_slug (string) – Slug del proyecto a eliminar

Traducciones#

GET /api/translations/#

Devuelve un listado de traducciones.

Ver también

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

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

Devuelve información relativa a una traducción.

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del componente

  • language (string) – Código de idioma de la traducción

Objeto JSON de respuesta:
  • component (object) – component object; see GET /api/components/(string:project)/(string:component)/

  • failing_checks (int) – número de cadenas que fallan una comprobación

  • failing_checks_percent (float) – porcentaje de cadenas que fallan una comprobación

  • failing_checks_words (int) – número de palabras con comprobaciones fallidas

  • filename (string) – nombre de archivo de la traducción

  • fuzzy (int) – número de cadenas difusas (marcadas para editar)

  • fuzzy_percent (float) – porcentaje de cadenas difusas (marcadas para editar)

  • fuzzy_words (int) – número de palabras en cadenas difusas (marcadas para editar)

  • have_comment (int) – número de cadenas con un comentario

  • have_suggestion (int) – número de cadenas con una sugerencia

  • is_template (boolean) – indica si la traducción tiene una base monolingüe

  • language (object) – objeto de idioma de origen; vea GET /api/languages/(string:language)/

  • language_code (string) – el código de idioma utilizado en el repositorio; puede ser distinto del código de idioma del objeto de idioma

  • last_author (string) – nombre del último autor

  • last_change (timestamp) – cronomarcador del último cambio

  • revision (string) – revision hash for the file

  • share_url (string) – URL para compartir que va a la página de participación

  • total (int) – número total de cadenas

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

  • translate_url (string) – URL para traducir

  • translated (int) – número de cadenas traducidas

  • translated_percent (float) – porcentaje de cadenas traducidas

  • translated_words (int) – número de palabras traducidas

  • repository_url (string) – URL to repository status; see GET /api/translations/(string:project)/(string:component)/(string:language)/repository/

  • file_url (string) – URL to file object; see GET /api/translations/(string:project)/(string:component)/(string:language)/file/

  • changes_list_url (string) – URL to changes list; see GET /api/translations/(string:project)/(string:component)/(string:language)/changes/

  • units_list_url (string) – URL to strings list; see GET /api/translations/(string:project)/(string:component)/(string:language)/units/

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

Elimina una traducción.

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del componente

  • language (string) – Código de idioma de la traducción

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.

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del componente

  • language (string) – Código de idioma de la traducción

Objeto JSON de respuesta:
GET /api/translations/(string: project)/(string: component)/(string: language)/units/#

Devuelve un listado de unidades de traducción.

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del componente

  • language (string) – Código de idioma de la traducción

  • q (string) – Search query string Búsquedas (optional)

Objeto JSON de respuesta:
POST /api/translations/(string: project)/(string: component)/(string: language)/units/#

Añadir nueva unidad.

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del componente

  • language (string) – Código de idioma de la traducción

Objeto JSON de solicitud:
  • key (string) – Nombre de la unidad de traducción (utilizada como clave o contexto)

  • value (array) – Source strings (use single string if not creating plural)

  • state (int) – String state; see GET /api/units/(int:id)/

Objeto JSON de respuesta:
POST /api/translations/(string: project)/(string: component)/(string: language)/autotranslate/#

Trigger automatic translation.

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del componente

  • language (string) – Código de idioma de la traducción

Objeto JSON de solicitud:
  • mode (string) – Modo de traducción automatizada

  • filter_type (string) – Automatic translation filter type

  • auto_source (string) – Fuente de traducción automática - mt o others

  • component (string) – Permita que el proyecto contribuya a la memoria de traducción compartida para obtener acceso a componentes adicionales.

  • engines (array) – Motores de traducción automática

  • threshold (string) – Umbral de puntuación

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 Descargar traducciones).

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.

Encabezados de respuesta:
Encabezados de solicitud:
  • If-Modified-Since – Skips response if the file has not been modified since that time.

Parámetros de consulta:
  • format – File format to use; if not specified no format conversion happens; see Descargar traducciones for supported formats

  • q (string) – Filter downloaded strings, see Página de Búsqueda, only applicable when conversion is in place (format is specified).

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del componente

  • language (string) – Código de idioma de la traducción

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

Upload new file with translations.

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del componente

  • language (string) – Código de idioma de la traducción

Parámetros de Forma:
  • string conflicts – How to deal with conflicts (ignore, replace-translated or replace-approved), see Conflicts handling

  • file file – Archivo cargado

  • string email – Correo electrónico del autor

  • string author – Nombre del autor

  • string method – Upload method (translate, approve, suggest, fuzzy, replace, source, add), see Métodos de importación

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

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del componente

  • language (string) – Código de idioma de la traducción

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

Efectúa la operación indicada en el repositorio del sistema de control de versiones.

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

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del componente

  • language (string) – Código de idioma de la traducción

Objeto JSON de solicitud:
  • operation (string) – Operation to perform: one of push, pull, commit, reset, cleanup

Objeto JSON de respuesta:
  • result (boolean) – resultado de la operación

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

Devuelve estadísticas detalladas sobre la traducción.

Parámetros:
  • project (string) – URL semántico del proyecto

  • component (string) – URL semántico del componente

  • language (string) – Código de idioma de la traducción

Ver también

Returned attributes are described in Estadísticas.

Memoria#

Nuevo en la versión 4.14.

GET /api/memory/#

Devuelve una lista con los resultados de la memoria.

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

Elimina un objeto de la memoria

Parámetros:
  • memory_object_id – Memory Object ID

Unidades#

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.

GET /api/units/#

Devuelve un listado de unidades de traducción.

Parámetros:
  • q (string) – Search query string Búsquedas (optional)

Ver también

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

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

Distinto en la versión 4.3: The target and source are now arrays to properly handle plural strings.

Returns information about translation unit.

Parámetros:
  • id (int) – Identificador de unidad

Objeto JSON de respuesta:
  • translation (string) – URL de un objeto de traducción relacionado

  • source (array) – cadena de origen

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

  • target (array) – cadena de destino

  • id_hash (string) – identificador único de la unidad

  • content_hash (string) – identificador único de la cadena de origen

  • location (string) – ubicación de la unidad en el código fuente

  • context (string) – contexto de la unidad de traducción

  • note (string) – nota de la unidad de traducción

  • flags (string) – indicadores de la unidad de traducción

  • 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) – si la unidad está marcada como pendiente de trabajo o revisión

  • translated (boolean) – indica si la unidad está traducida

  • approved (boolean) – indica si la traducción está aprobada

  • position (int) – posición de la unidad en el archivo de traducción

  • has_suggestion (boolean) – indica si la unidad tiene sugerencias

  • has_comment (boolean) – indica si la unidad tiene comentarios

  • has_failing_check (boolean) – indica si la unidad tiene comprobaciones fallidas

  • num_words (int) – número de palabras de origen

  • priority (int) – prioridad de traducción; 100 es la predeterminada

  • id (int) – identificador de unidad

  • explanation (string) – String explanation, available on source units, see Información adicional sobre las cadenas de origen

  • extra_flags (string) – Additional string flags, available on source units, see Personalizar el comportamiento mediante indicadores

  • web_url (string) – URL para editar la unidad

  • source_unit (string) – Enlace de la unidad fuente; ver GET /api/units/(int:id)/

  • pending (boolean) – si la unidad está pendiente de escritura

  • timestamp (timestamp) – Antigüedad de la cadena

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

Nuevo en la versión 4.3.

Realiza una actualización parcial de la unidad de la traducción.

Parámetros:
  • id (int) – Identificador de unidad

Objeto JSON de solicitud:
Objeto JSON de respuesta:
  • labels (array) – labels, available on source units

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

Nuevo en la versión 4.3.

Realiza una actualización completa en la unidad de traducción.

Parámetros:
  • id (int) – Identificador de unidad

Objeto JSON de solicitud:
Objeto JSON de respuesta:
  • labels (array) – labels, available on source units

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

Nuevo en la versión 4.3.

Elimina una unidad para la traducción.

Parámetros:
  • id (int) – Identificador de unidad

Cambios#

GET /api/changes/#

Distinto en la versión 4.1: Filtering of changes was introduced in the 4.1 release.

Devuelve un listado de cambios a la traducción.

Ver también

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

Parámetros de consulta:
  • user (string) – Username of user to filters

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

Devuelve información relativa a un cambio de traducción.

Parámetros:
  • id (int) – Identificador de cambio

Objeto JSON de respuesta:
  • unit (string) – URL of a related unit object

  • translation (string) – URL de un objeto de traducción relacionado

  • 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) – cronomarcador de suceso

  • action (int) – identificación numérica de acción

  • action_name (string) – descripción de texto de acción

  • target (string) – event changed text or detail

  • id (int) – change identifier

Capturas de pantalla#

GET /api/screenshots/#

Devuelve un listado de información de cadenas de capturas de pantalla.

Ver también

Los atributos de los objetos de captura de pantalla están documentados en GET /api/screenshots/(int:id)/.

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

Devuelve información relativa a los datos de una captura de pantalla.

Parámetros:
  • id (int) – Identificador de captura de pantalla

Objeto JSON de respuesta:
GET /api/screenshots/(int: id)/file/#

Descargar la imagen de la captura de pantalla.

Parámetros:
  • id (int) – Identificador de captura de pantalla

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

Reemplazar la imagen de la captura de pantalla.

Parámetros:
  • id (int) – Identificador de captura de pantalla

Parámetros de Forma:
  • file image – Archivo cargado

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

Asociar la cadena de origen con una captura de pantalla.

Parámetros:
  • id (int) – Identificador de captura de pantalla

Parámetros de Forma:
  • string unit_id – Identificador de unidad

Objeto JSON de respuesta:
  • name (string) – nombre de una captura de pantalla

  • translation (string) – URL de un objeto de traducción relacionado

  • 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)/units/(int: unit_id)#

Quitar la asociación entre la cadena de origen y la captura de pantalla.

Parámetros:
  • id (int) – Identificador de captura de pantalla

  • unit_id – Id. de unidad de cadena de origen

POST /api/screenshots/#

Crea una captura de pantalla nueva.

Parámetros de Forma:
  • file image – Archivo cargado

  • string name – Nombre de captura de pantalla

  • string project_slug – «Slug» del proyecto

  • string component_slug – «Slug» del componente

  • string language_code – Código de idioma

Objeto JSON de respuesta:
PATCH /api/screenshots/(int: id)/#

Editar información parcial relativa a una captura de pantalla.

Parámetros:
  • id (int) – Identificador de captura de pantalla

Objeto JSON de respuesta:
PUT /api/screenshots/(int: id)/#

Editar información completa relativa a una captura de pantalla.

Parámetros:
  • id (int) – Identificador de captura de pantalla

Objeto JSON de respuesta:
DELETE /api/screenshots/(int: id)/#

Eliminar captura de pantalla.

Parámetros:
  • id (int) – Identificador de captura de pantalla

Complementos#

Nuevo en la versión 4.4.1.

GET /api/addons/#

Devuelve un listado de complementos.

Ver también

Los atributos de objeto de complemento se documentan en GET /api/addons/(int:id)/.

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

Devuelve información relativa a los datos de un complemento.

Parámetros:
  • id (int) – ID del complemento

Objeto JSON de respuesta:
  • name (string) – nombre de un complemento

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

  • configuration (object) – Configuración opcional del complemento

Ver también

Complementos

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

Crea un complemento nuevo.

Parámetros:
  • project_slug (string) – «Slug» del proyecto

  • component_slug (string) – «Slug» del componente

Objeto JSON de solicitud:
  • name (string) – nombre de un complemento

  • configuration (object) – Configuración opcional del complemento

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

Editar información parcial relativa a un complemento.

Parámetros:
  • id (int) – ID del complemento

Objeto JSON de respuesta:
  • configuration (object) – Configuración opcional del complemento

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

Editar información completa relativa a un complemento.

Parámetros:
  • id (int) – ID del complemento

Objeto JSON de respuesta:
  • configuration (object) – Configuración opcional del complemento

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

Eliminar el complemento.

Parámetros:
  • id (int) – ID del complemento

Listas de componentes#

Nuevo en la versión 4.0.

GET /api/component-lists/#

Devuelve un listado de listas de componentes.

Ver también

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

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

Devuelve información relativa a la lista de componentes.

Parámetros:
  • slug (string) – Component list slug

Objeto JSON de respuesta:
  • name (string) – nombre de una 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) – reglas de asignación automáticas

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

Cambia los parámetros de la lista de componentes.

Parámetros:
  • slug (string) – Component list slug

Objeto JSON de solicitud:
  • name (string) – nombre de una 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)/#

Cambia los parámetros de la lista de componentes.

Parámetros:
  • slug (string) – Component list slug

Objeto JSON de solicitud:
  • name (string) – nombre de una 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)/#

Elimina la lista de componentes.

Parámetros:
  • slug (string) – Component list slug

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

Nuevo en la versión 5.0.1: List components in a component list.

param slug:

Component list slug

type slug:

string

form string component_id:

Identificador de componente

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

Parámetros:
  • slug (string) – Component list slug

Parámetros de Forma:
  • string component_id – Identificador de componente

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

Disassociate a component from the component list.

Parámetros:
  • slug (string) – Component list slug

  • component_slug (string) – «Slug» del componente

Glosario#

Distinto en la versión 4.5: Glossaries are now stored as regular components, translations and strings, please use respective API instead.

Tareas#

Nuevo en la versión 4.4.

GET /api/tasks/#

La enumeración de las tareas no está disponible actualmente.

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

Returns information about a task.

Parámetros:
  • uuid (string) – UUID de la tarea

Objeto JSON de respuesta:
  • completed (boolean) – Indica si la tarea se ha completado

  • progress (int) – Progreso de la tarea expresado en porcentaje

  • result (object) – Resultado de la tarea o detalles de progreso

  • log (string) – Registro de tareas

Estadísticas#

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

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

Parámetros:
  • object (string) – URL path

Objeto JSON de respuesta:
  • total (int) – número total de cadenas

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

  • total_chars (int) – total de caracteres

  • last_change (timestamp) – fecha del último cambio

  • translated (int) – número de cadenas traducidas

  • translated_percent (float) – porcentaje de cadenas traducidas

  • translated_words (int) – número de palabras traducidas

  • translated_words_percent (float) – porcentaje de palabras traducidas

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

  • translated_chars_percent (float) – porcentaje de caracteres traducidos

  • fuzzy (int) – número de cadenas difusas (marcadas para editar)

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

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

  • fuzzy_percent (float) – porcentaje de cadenas difusas (marcadas para editar)

  • fuzzy_words_percent (float) – porcentaje de palabras difusas (marcadas para edición)

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

  • failing (int) – número de comprobaciones fallidas

  • failing_percent (float) – porcentaje de comprobaciones fallidas

  • approved (int) – number of approved strings

  • approved_words (int) – number of approved words

  • approved_chars (int) – número de caracteres aprobados

  • approved_percent (float) – porcentaje de cadenas aprobadas

  • approved_words_percent (float) – porcentaje de palabras aprobadas

  • approved_chars_percent (float) – porcentaje de caracteres aprobados

  • readonly (int) – número de cadenas de sólo lectura

  • readonly_words (int) – número de palabras de sólo lectura

  • readonly – número de caracteres de sólo lectura

  • readonly_percent (float) – porcentaje de cadenas de sólo lectura

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

  • readonly_char_percent (float) – porcentaje de caracteres de sólo lectura

  • suggestions (int) – número de cadenas con sugerencias

  • comments (int) – número de cadenas con comentarios

  • name (string) – nombre del objeto

  • url (string) – Dirección URL de acceso al objeto (si procede)

  • url_translate (string) – Dirección URL para acceder a la traducción (si procede)

  • code (string) – código del idioma (si procede)

Métrica#

GET /api/metrics/#

Returns server metrics.

Objeto JSON de respuesta:
  • units (int) – Número de unidades

  • units_translated (int) – Número de unidades traducidas

  • users (int) – Numero de usuarios

  • changes (int) – Cantidad de cambios

  • projects (int) – Número de proyectos

  • components (int) – Número de componentes

  • translations (int) – Número de traducciones

  • languages (int) – Número de idiomas utilizados

  • checks (int) – Número de los controles de calidad activados

  • configuration_errors (int) – Número de errores en la configuración

  • suggestions (int) – Número de sugerencias pendientes

  • celery_queues (object) – Longitudes de las colas de Celery, véase Tareas en segundo plano con Celery.

  • name (string) – Nombre del servidor configurado

Categories#

GET /api/categories/#

Nuevo en la versión 5.0.

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

POST /api/categories/#

Nuevo en la versión 5.0.

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

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

Nuevo en la versión 5.0.

Parámetros:
  • id (int) – Category ID

Objeto JSON de respuesta:
  • name (str) – Name of category.

  • slug (str) – Slug of category.

  • project (str) – Link to a project.

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

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

Nuevo en la versión 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)/#

Nuevo en la versión 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)/#

Nuevo en la versión 5.0: Delete category.

param id:

Category ID

type id:

int

Actuadores de notificación#

Los actuadores de notificación permiten a aplicaciones externas notificar a Weblate de que se ha actualizado un repositorio de control de versiones.

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 la versión 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 la versión 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.

Ver también

Recibir cambios automáticamente de GitHub

For instruction on setting up GitHub integration

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

Información genérica sobre los actuadores web de GitHub

ENABLE_HOOKS

Para activar actuadores en todo Weblate

POST /hooks/gitlab/#

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

Ver también

Automatically receiving changes from GitLab

For instruction on setting up GitLab integration

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

Información genérica sobre los actuadores web de GitLab

ENABLE_HOOKS

Para activar actuadores en todo Weblate

POST /hooks/bitbucket/#

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

Ver también

Recibir cambios automáticamente de Bitbucket

For instruction on setting up Bitbucket integration

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

Información genérica sobre los actuadores web de Bitbucket

ENABLE_HOOKS

Para activar actuadores en todo Weblate

POST /hooks/pagure/#

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

Ver también

Recibir cambios automáticamente de Pagure

For instruction on setting up Pagure integration

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

Información genérica sobre los actuadores web de Pagure

ENABLE_HOOKS

Para activar actuadores en todo Weblate

POST /hooks/azure/#

Actuador especial para trabajar con las notificaciones de Azure DevOps y actualizar automáticamente los componentes que correspondan.

Nota

Cerciórese de que Detalles de recursos que enviar esté configurada como Todo; de lo contrario, Weblate no podrá encontrar su repositorio de Azure.

Ver también

Recibir cambios automáticamente de Azure Repos

For instruction on setting up Azure integration

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

Información genérica sobre los actuadores web de Azure DevOps

ENABLE_HOOKS

Para activar actuadores en todo Weblate

POST /hooks/gitea/#

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

Ver también

Recibir cambios automáticamente de Gitea

For instruction on setting up Gitea integration

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

Información genérica sobre los actuadores web de Gitea

ENABLE_HOOKS

Para activar actuadores en todo Weblate

POST /hooks/gitee/#

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

Ver también

Recibir cambios automáticamente de Gitee

For instruction on setting up Gitee integration

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

Información genérica sobre los actuadores web de Gitee

ENABLE_HOOKS

Para activar actuadores en todo Weblate

Exportaciones#

Weblate brinda diversas exportaciones para permitirle un tratamiento posterior de sus datos.

GET /exports/stats/(string: project)/(string: component)/#
Parámetros de consulta:
  • format (string) – Formato de salida: json o csv

Obsoleto desde la versión 2.6: Utilice GET /api/components/(string:project)/(string:component)/statistics/ y GET /api/translations/(string:project)/(string:component)/(string:language)/statistics/ en su lugar; esto permite además el acceso a los proyectos controlados por ACL.

Recupera las estadísticas del componente indicado en el formato que se indique.

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

Sindicación RSS#

Las modificaciones a las traducciones se exportan en suministros RSS.

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

Recupera el suministro RSS de los cambios recientes de una traducción.

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

Recupera el suministro RSS de los cambios recientes de un componente.

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

Recupera el suministro RSS de los cambios recientes de un proyecto.

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

Recupera el suministro RSS de los cambios recientes de un idioma.

GET /exports/rss/#

Recupera el suministro RSS de los cambios recientes de la instalación de Weblate.

Ver también

RSS on Wikipedia