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
andapi
are supported. The latter provides web browser interface for API.
- Request Headers
Authorization – optional token to authenticate
- Response Headers
Content-Type – this depends on Accept header of request
Allow – list of allowed HTTP methods on object
- 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
200 OK – quando o pedido foi resolvido corretamente
201 Created – when a new object was created successfully
204 No Content – when an object was created successfully
400 Bad Request – quando faltam os parâmetros do formulário
403 Forbidden – when access is denied
429 Too Many Requests – when throttling is in place
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:
|
Rate limiting limit of requests to perform |
|
Remaining limit of requests |
|
Number of seconds until ratelimit window resets |
Alterado na versão 4.1: Added ratelimiting status headers.
Veja também
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
name (string) – nome de um grupo
project_selection (int) – integer corresponding to group of projects
language_selection (int) – integer corresponding to group of languages
roles (array) – link to associated roles; see
GET /api/roles/(int:id)/
projects (array) – link to associated projects; see
GET /api/projects/(string:project)/
components (array) – link to associated components; see
GET /api/components/(string:project)/(string:component)/
componentlist (array) – link to associated componentlist; see
GET /api/component-lists/(str:slug)/
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
name (string) – project name
slug (string) – project slug
web (string) – project website
components_list_url (string) – URL to components list; see
GET /api/projects/(string:project)/components/
repository_url (string) – URL to repository status; see
GET /api/projects/(string:project)/repository/
changes_list_url (string) – URL to changes list; see
GET /api/projects/(string:project)/changes/
translation_review (boolean) – Activar revisões
source_review (boolean) – Ativar revisões de fontes
set_language_team (boolean) – Definir cabeçalho «Language-Team»
enable_hooks (boolean) – Ativar hooks
instructions (string) – Instruções para tradução
language_aliases (string) – Aliases do idioma
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
results (array) – array of component objects; see
GET /api/changes/(int:id)/
-
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
results (array) – array of component objects; see
GET /api/components/(string:project)/(string:component)/
-
POST
/api/projects/
(string: project)/components/
¶ Novo na versão 3.9.
Alterado na versão 4.3: The
zipfile
anddocfile
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
result (object) – Created component object; see
GET /api/components/(string:project)/(string:component)/
JSON can not be used when uploading the files using the
zipfile
anddocfile
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
project (object) – the translation project; see
GET /api/projects/(string:project)/
name (string) – Nome do componente
slug (string) – Component slug
vcs (string) – Sistema de controlo de versões
repo (string) – Repositório do código-fonte
git_export (string) – URL do repositório exportado
branch (string) – Ramo do repositório
push_branch (string) – Ramo do push
filemask (string) – File mask
template (string) – Ficheiro de idioma base monolingue
edit_template (string) – Editar ficheiro base
intermediate (string) – Ficheiro de idioma intermédio
new_base (string) – Modelo para novas traduções
file_format (string) – Formato de ficheiro
license (string) – Licença da tradução
agreement (string) – Acordo de contribuidor
new_lang (string) – Adicionar nova tradução
language_code_style (string) – Estilo de código de idioma
source_language (object) – source language object; see
GET /api/languages/(string:language)/
push (string) – URL de submissão do repositório
check_flags (string) – Marcadores de tradução
priority (string) – Prioridade
enforced_checks (string) – Verificações impostas
restricted (string) – Restricted access
repoweb (string) – Navegador do repositório
report_source_bugs (string) – Endereço para reportar erros na cadeia fonte
merge_style (string) – Estilo de união
commit_message (string) – Commit, add, delete, merge and addon messages
add_message (string) – Commit, add, delete, merge and addon messages
delete_message (string) – Commit, add, delete, merge and addon messages
merge_message (string) – Commit, add, delete, merge and addon messages
addon_message (string) – Commit, add, delete, merge and addon messages
allow_translation_propagation (string) – Permitir propagação da tradução
enable_suggestions (string) – Ativar sugestões
suggestion_voting (string) – Votação de sugestão
suggestion_autoaccept (string) – Aceitar sugestões automaticamente
push_on_commit (string) – Enviar ao submeter
commit_pending_age (string) – Idade das alterações a fazer commit
auto_lock_error (string) – Bloquear com erro
language_regex (string) – Filtro de idioma
variant_regex (string) – Expressão regular das variantes
repository_url (string) – URL to repository status; see
GET /api/components/(string:project)/(string:component)/repository/
translations_url (string) – URL to translations list; see
GET /api/components/(string:project)/(string:component)/translations/
lock_url (string) – URL to lock status; see
GET /api/components/(string:project)/(string:component)/lock/
changes_list_url (string) – URL to changes list; see
GET /api/components/(string:project)/(string:component)/changes/
task_url (string) – URL to a background task (if any); see
GET /api/tasks/(str:uuid)/
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
results (array) – array of component objects; see
GET /api/changes/(int:id)/
-
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
results (array) – array of component screenshots; see
GET /api/screenshots/(int:id)/
-
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
results (array) – array of translation objects; see
GET /api/translations/(string:project)/(string:component)/(string:language)/
-
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
language_code (string) – translation language code; see
GET /api/languages/(string:language)/
- 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
results (array) – array of translation statistics objects; see
GET /api/translations/(string:project)/(string:component)/(string:language)/statistics/
-
GET
/api/components/
(string: project)/
(string: component)/links/
¶ 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
projects (array) – associated projects; see
GET /api/projects/(string:project)/
-
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
-
DELETE
/api/components/
(string: project)/
(string: component)/links/
(string: 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
component (object) – component object; see
GET /api/components/(string:project)/(string:component)/
failing_checks (int) – quantidade de cadeias com verificações falhadas
failing_checks_percent (float) – Cadeias traduzidas com quaisquer verificações falhadas
failing_checks_words (int) – quantidade de verificações falhadas
filename (string) – translation filename
fuzzy (int) – number of fuzzy (marked for edit) strings
fuzzy_percent (float) – percentage of fuzzy (marked for edit) strings
fuzzy_words (int) – number of words in fuzzy (marked for edit) strings
have_comment (int) – number of strings with comment
have_suggestion (int) – number of strings with suggestion
is_template (boolean) – se a tradução tem uma base monolingue
language (object) – source language object; see
GET /api/languages/(string:language)/
language_code (string) – language code used in the repository; this can be different from language code in the language object
last_author (string) – nome do úlitmo autor
last_change (timestamp) – last change timestamp
revision (string) – revision hash for the file
share_url (string) – URL for sharing leading to engagement page
total (int) – total number of strings
total_words (int) – número total de palavras
translate_url (string) – URL for translating
translated (int) – number of translated strings
translated_percent (float) – percentage of translated strings
translated_words (int) – número de palavras traduzidas
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", "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
results (array) – array of component objects; see
GET /api/changes/(int:id)/
-
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
results (array) – array of component objects; see
GET /api/units/(int:id)/
-
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
Veja também
-
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
orreplace-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çãostring 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
andsource
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
name (string) – nome de um screenshot
component (string) – URL of a related component object
file_url (string) – URL to download a file; see
GET /api/screenshots/(int:id)/file/
units (array) – link to associated source string information; see
GET /api/units/(int:id)/
-
GET
/api/screenshots/
(int: id)/file/
¶ Download the screenshot image.
- 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
name (string) – nome de um screenshot
translation (string) – URL of a related translation object
file_url (string) – URL to download a file; see
GET /api/screenshots/(int:id)/file/
units (array) – link to associated source string information; see
GET /api/units/(int:id)/
-
DELETE
/api/screenshots/
(int: id)/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
name (string) – nome de um screenshot
component (string) – URL of a related component object
file_url (string) – URL to download a file; see
GET /api/screenshots/(int:id)/file/
units (array) – link to associated source string information; see
GET /api/units/(int:id)/
-
PATCH
/api/screenshots/
(int: id)/
¶ Edita informações parciais sobre captura de ecrã.
- Parameters
id (int) – Screenshot ID
- Response JSON Object
name (string) – nome de um screenshot
component (string) – URL of a related component object
file_url (string) – URL to download a file; see
GET /api/screenshots/(int:id)/file/
units (array) – link to associated source string information; see
GET /api/units/(int:id)/
-
PUT
/api/screenshots/
(int: id)/
¶ Edita informações completas sobre captura de ecrã.
- Parameters
id (int) – Screenshot ID
- Response JSON Object
name (string) – nome de um screenshot
component (string) – URL of a related component object
file_url (string) – URL to download a file; see
GET /api/screenshots/(int:id)/file/
units (array) – link to associated source string information; see
GET /api/units/(int:id)/
-
DELETE
/api/screenshots/
(int: id)/
¶ 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
orcsv
Obsoleto desde a versão 2.6: Please use
GET /api/components/(string:project)/(string:component)/statistics/
andGET /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