API REST do Weblate
Novo na versão 2.6: A API REST está disponível desde o Weblate 2.6.
A API é acessível na URL /api/
e é baseada em framework Django REST. Você pode utilizá-la diretamente ou com o Weblate Client.
Autenticação e parâmetros genéricos
A API do projeto público está disponível sem autenticação, embora as solicitações não autenticadas sejam fortemente limitadas (por padrão a 100 solicitações por dia), por isso é recomendado usar autenticação. A autenticação usa um token, que você pode obter em seu perfil. Use-o no cabeçalho Authorization
:
- ANY /
O comportamento de solicitação genérico para a API, os cabeçalhos, códigos de status e parâmetros aqui aplicam-se a todos os pontos finais também.
- Parâmetros de consulta
format – Formato de resposta (substitui Accept). Os valores possíveis dependem da configuração do quadro REST, por padrão
json
eapi
são suportados. Este último fornece uma interface de navegador web para API.page – Retorna determinada página de resultados paginados (use os campos next e previous em resposta para automatizar a navegação).
- Cabeçalhos de solicitação
Accept – o tipo de conteúdo de resposta depende do cabeçalho Accept
Authorization – token opcional para se autenticar como
Authorization: Token SEU-TOKEN
- Cabeçalhos de resposta
Content-Type – isso depende de cabeçalho Accept da solicitação
Allow – lista de métodos HTTP permitidos no objeto
- Objeto JSON de resposta
detail (string) – descrição detalhada do resultado (para códigos de status HTTP diferentes de 200 OK)
count (int) – contagem total de itens para listas de objetos
next (string) – URL da próxima página para listas de objetos
previous (string) – URL da página anterior para listas de objetos
results (array) – resultados para listas de objetos
url (string) – URL para acessar esse recurso usando API
web_url (string) – URL para acessar esse recurso usando navegador web
- Códigos de status
200 OK – quando a solicitação foi corretamente tratada
201 Created – quando um novo objeto foi criado com sucesso
204 No Content – quando um objeto foi excluído com sucesso
400 Bad Request – quando faltam parâmetros de formulário
403 Forbidden – quando o acesso é negado
429 Too Many Requests – quando a limitação está em vigor
Exemplos de autenticação
Exemplo de solicitação:
GET /api/ HTTP/1.1
Host: example.com
Accept: application/json, text/javascript
Authorization: Token YOUR-TOKEN
Exemplo de resposta:
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/"
}
Exemplo de CURL:
curl \
-H "Authorization: Token TOKEN" \
https://example.com/api/
Exemplos de passagem de parâmetros
Para o método POST os parâmetros podem ser especificados como envio de formulário (application/x-www-form-urlencoded) ou como JSON (application/json).
Exemplo de solicitação de formulário:
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
Exemplo de solicitação JSON:
POST /api/projects/hello/repository/ HTTP/1.1
Host: example.com
Accept: application/json
Content-Type: application/json
Authorization: Token TOKEN
Content-Length: 20
{"operation":"pull"}
Exemplo de CURL:
curl \
-d operation=pull \
-H "Authorization: Token TOKEN" \
http://example.com/api/components/hello/weblate/repository/
Exemplo de CURL JSON:
curl \
--data-binary '{"operation":"pull"}' \
-H "Content-Type: application/json" \
-H "Authorization: Token TOKEN" \
http://example.com/api/components/hello/weblate/repository/
Limitação de taxa da API
As solicitações de API são limitadas; a configuração padrão limita-a a 100 solicitações por dia para usuários anônimos e 5000 solicitações por hora para usuários autenticados.
A limitação da taxa pode ser ajustada no settings.py
. Consulte Throttling na documentação do framework Django REST para obter mais detalhes sobre como configurá-la.
O status de limitação de taxa é relatado nos seguintes cabeçalhos:
|
Limite de limitação de taxa de solicitações para realizar |
|
Limite restante de solicitações |
|
Número de segundos até que a janela de “ratelimit” seja reiniciada |
Alterado na versão 4.1: Adicionados cabeçalhos de status de limitação de taxa.
Ver também
Ponto de entrada da API
- GET /api/
O ponto de entrada raiz da API.
Exemplo de solicitação:
GET /api/ HTTP/1.1 Host: example.com Accept: application/json, text/javascript Authorization: Token YOUR-TOKEN
Exemplo de resposta:
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/" }
Usuários
Novo na versão 4.0.
- GET /api/users/
Retorna uma lista de usuários se você tiver permissões para ver usuários gerenciados. Se não, então você pode ver apenas seus próprios detalhes.
Ver também
Os atributos do objeto dos usuários estão documentados em
GET /api/users/(str:username)/
.
- POST /api/users/
Cria um novo usuário.
- Parâmetros
username (string) – Nome de usuário
full_name (string) – Nome completo do usuário
email (string) – E-mail do usuário
is_superuser (boolean) – O usuário é superusuário? (opcional)
is_active (boolean) – O usuário está ativo? (opcional)
- GET /api/users/(str: username)/
Retorna informações sobre os usuários.
- Parâmetros
username (string) – Nome de usuário do usuário
- Objeto JSON de resposta
username (string) – nome de usuário de um usuário
full_name (string) – nome completo de um usuário
email (string) – e-mail de um usuário
is_superuser (boolean) – se o usuário é um superusuário
is_active (boolean) – se o usuário está ativo
date_joined (string) – data de criação do usuário
groups (array) – link para grupos associados; veja
GET /api/groups/(int:id)/
Exemplo de dados JSON:
{ "email": "user@example.com", "full_name": "Example User", "username": "exampleusername", "groups": [ "http://example.com/api/groups/2/", "http://example.com/api/groups/3/" ], "is_superuser": true, "is_active": true, "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 usuário.
- Parâmetros
username (string) – Nome de usuário do usuário
- Objeto JSON de resposta
username (string) – nome de usuário de um usuário
full_name (string) – nome completo de um usuário
email (string) – e-mail de um usuário
is_superuser (boolean) – se o usuário é um superusuário
is_active (boolean) – se o usuário está ativo
date_joined (string) – data de criação do usuário
- PATCH /api/users/(str: username)/
Altera os parâmetros do usuário.
- Parâmetros
username (string) – Nome de usuário do usuário
- Objeto JSON de resposta
username (string) – nome de usuário de um usuário
full_name (string) – nome completo de um usuário
email (string) – e-mail de um usuário
is_superuser (boolean) – se o usuário é um superusuário
is_active (boolean) – se o usuário está ativo
date_joined (string) – data de criação do usuário
- DELETE /api/users/(str: username)/
Exclui todas as informações do usuário e marca o usuário como inativo.
- Parâmetros
username (string) – Nome de usuário do usuário
- POST /api/users/(str: username)/groups/
Associa grupos a um usuário.
- Parâmetros
username (string) – Nome de usuário do usuário
- Parâmetros de formulário
string group_id – O ID de grupo único
- GET /api/users/(str: username)/statistics/
Lista as estatísticas de um usuário.
- Parâmetros
username (string) – Nome de usuário do usuário
- Objeto JSON de resposta
translated (int) – Número de traduções por usuário
suggested (int) – Número de sugestões por usuário
uploaded (int) – Número de envios por usuário
commented (int) – Número de comentários por usuário
languages (int) – Número de idiomas que o usuário pode traduzir
- GET /api/users/(str: username)/notifications/
Lista assinaturas de um usuário.
- Parâmetros
username (string) – Nome de usuário do usuário
- POST /api/users/(str: username)/notifications/
Associa assinaturas com um usuário.
- Parâmetros
username (string) – Nome de usuário do usuário
- Objeto JSON da solicitação
notification (string) – Nome da notificação registada
scope (int) – Escopo de notificação a partir das opções disponíveis
frequency (int) – Escolha de frequência para notificações
- GET /api/users/(str: username)/notifications/(int: subscription_id)/
Obtém uma assinatura associada a um usuário.
- Parâmetros
username (string) – Nome de usuário do usuário
subscription_id (int) – ID da notificação registrada
- PUT /api/users/(str: username)/notifications/(int: subscription_id)/
Edita uma assinatura associada a um usuário.
- Parâmetros
username (string) – Nome de usuário do usuário
subscription_id (int) – ID da notificação registrada
- Objeto JSON da solicitação
notification (string) – Nome da notificação registada
scope (int) – Escopo de notificação a partir das opções disponíveis
frequency (int) – Escolha de frequência para notificações
- PATCH /api/users/(str: username)/notifications/(int: subscription_id)/
Edita uma assinatura associada a um usuário.
- Parâmetros
username (string) – Nome de usuário do usuário
subscription_id (int) – ID da notificação registrada
- Objeto JSON da solicitação
notification (string) – Nome da notificação registada
scope (int) – Escopo de notificação a partir das opções disponíveis
frequency (int) – Escolha de frequência para notificações
- DELETE /api/users/(str: username)/notifications/(int: subscription_id)/
Exclui uma assinatura associada a um usuário.
- Parâmetros
username (string) – Nome de usuário do usuário
subscription_id – Nome da notificação registada
subscription_id – int
Grupos
Novo na versão 4.0.
- GET /api/groups/
Retorna uma lista de grupos se você tiver permissões para ver grupos gerenciados. Se não, então você pode ver apenas os grupos dos quais o usuário faz parte.
Ver também
Os atributos de objeto de grupo estão documentados em
GET /api/groups/(int:id)/
.
- POST /api/groups/
Cria um novo grupo.
- Parâmetros
name (string) – Nome do grupo
project_selection (int) – Grupo de seleção de projetos a partir de opções dadas
language_selection (int) – Grupo de idiomas selecionados a partir de opções dadas
- GET /api/groups/(int: id)/
Retorna informações sobre o grupo.
- Parâmetros
id (int) – ID do grupo
- Objeto JSON de resposta
name (string) – nome de um grupo
project_selection (int) – inteiro correspondente ao grupo de projetos
language_selection (int) – inteiro correspondente ao grupo de idiomas
roles (array) – link para funções associadas; veja
GET /api/roles/(int:id)/
projects (array) – link para projetos associados; veja
GET /api/projects/(string:project)/
components (array) – link para componentes associados; veja
GET /api/components/(string:project)/(string:component)/
componentlist (array) – link para lista de componentes associada; veja
GET /api/component-lists/(str:slug)/
Exemplo de dados JSON:
{ "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.
- Parâmetros
id (int) – ID do grupo
- Objeto JSON de resposta
name (string) – nome de um grupo
project_selection (int) – inteiro correspondente ao grupo de projetos
language_selection (int) – inteiro correspondente ao grupo de idiomas
- PATCH /api/groups/(int: id)/
Altera os parâmetros do grupo.
- Parâmetros
id (int) – ID do grupo
- Objeto JSON de resposta
name (string) – nome de um grupo
project_selection (int) – inteiro correspondente ao grupo de projetos
language_selection (int) – inteiro correspondente ao grupo de idiomas
- DELETE /api/groups/(int: id)/
Exclui o grupo.
- Parâmetros
id (int) – ID do grupo
- POST /api/groups/(int: id)/roles/
Associa funções a um grupo.
- Parâmetros
id (int) – ID do grupo
- Parâmetros de formulário
string role_id – O ID de função único
- POST /api/groups/(int: id)/components/
Associa componentes a um grupo.
- Parâmetros
id (int) – ID do grupo
- Parâmetros de formulário
string component_id – O ID de componente único
- DELETE /api/groups/(int: id)/components/(int: component_id)
Exclui o componente de um grupo.
- Parâmetros
id (int) – ID do grupo
component_id (int) – O ID de componente único
- POST /api/groups/(int: id)/projects/
Associa projetos a um grupo.
- Parâmetros
id (int) – ID do grupo
- Parâmetros de formulário
string project_id – O ID do projeto único
- DELETE /api/groups/(int: id)/projects/(int: project_id)
Exclui o projeto de um grupo.
- Parâmetros
id (int) – ID do grupo
project_id (int) – O ID do projeto único
- POST /api/groups/(int: id)/languages/
Associa idiomas a um grupo.
- Parâmetros
id (int) – ID do grupo
- Parâmetros de formulário
string language_code – O código de idioma único
- DELETE /api/groups/(int: id)/languages/(string: language_code)
Exclui idioma de um grupo.
- Parâmetros
id (int) – ID do grupo
language_code (string) – O código de idioma único
- POST /api/groups/(int: id)/componentlists/
Associa listas de componentes a um grupo.
- Parâmetros
id (int) – ID do grupo
- Parâmetros de formulário
string component_list_id – O ID de lista de componentes único
- DELETE /api/groups/(int: id)/componentlists/(int: component_list_id)
Exclui a lista de componentes de um grupo.
- Parâmetros
id (int) – ID do grupo
component_list_id (int) – O ID de lista de componentes único
Funções
- GET /api/roles/
Retorna uma lista de todas as funções associadas ao usuário. Se o usuário for superusuário, então a lista de todas as funções existentes será retornada.
Ver também
Os atributos de objeto de funções estão documentados em
GET /api/roles/(int:id)/
.
- POST /api/roles/
Cria uma nova função.
- Parâmetros
name (string) – Nome da função
permissions (array) – Lista de codinomes de permissões
- GET /api/roles/(int: id)/
Retorna informações sobre uma função.
- Parâmetros
id (int) – ID da função
- Objeto JSON de resposta
name (string) – Nome da função
permissions (array) – lista de codinomes de permissões
Exemplo de dados JSON:
{ "name": "Access repository", "permissions": [ "vcs.access", "vcs.view" ], "url": "http://example.com/api/roles/1/", }
- PUT /api/roles/(int: id)/
Altera os parâmetros da função.
- Parâmetros
id (int) – ID da função
- Objeto JSON de resposta
name (string) – Nome da função
permissions (array) – lista de codinomes de permissões
- PATCH /api/roles/(int: id)/
Altera os parâmetros da função.
- Parâmetros
id (int) – ID da função
- Objeto JSON de resposta
name (string) – Nome da função
permissions (array) – lista de codinomes de permissões
- DELETE /api/roles/(int: id)/
Exclui a função.
- Parâmetros
id (int) – ID da função
Idiomas
- GET /api/languages/
Retorna uma lista de todos os idiomas.
Ver também
Os atributos do objeto de idioma estão documentados em
GET /api/languages/(string:language)/
.
- POST /api/languages/
Cria um novo idioma.
- Parâmetros
code (string) – Nome do idioma
name (string) – Nome do idioma
direction (string) – Direção do texto
plural (object) – Fórmula e número de plural do idioma
- GET /api/languages/(string: language)/
Retorna informações sobre um idioma.
- Parâmetros
language (string) – Código do idioma
- Objeto JSON de resposta
code (string) – Código do idioma
direction (string) – Direção do texto
plural (object) – Objeto de informações de plurais do idioma
aliases (array) – vetor de codinomes para o idioma
Exemplo de dados JSON:
{ "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 do idioma.
- Parâmetros
language (string) – Código do idioma
- Objeto JSON da solicitação
name (string) – Nome do idioma
direction (string) – Direção do texto
plural (object) – Detalhes de plural do idioma
- PATCH /api/languages/(string: language)/
Altera os parâmetros do idioma.
- Parâmetros
language (string) – Código do idioma
- Objeto JSON da solicitação
name (string) – Nome do idioma
direction (string) – Direção do texto
plural (object) – Detalhes de plural do idioma
- DELETE /api/languages/(string: language)/
Exclui o idioma.
- Parâmetros
language (string) – Código do idioma
- GET /api/languages/(string: language)/statistics/
Retorna estatísticas para um idioma.
- Parâmetros
language (string) – Código do idioma
- Objeto JSON de resposta
total (int) – número total de textos
total_words (int) – número total de palavras
last_change (timestamp) – alterações mais recentes no idioma
recent_changes (int) – número total de alterações
translated (int) – número de textos traduzidos
translated_percent (float) – porcentagem de textos traduzidos
translated_words (int) – número de palavras traduzidas
translated_words_percent (int) – porcentagem de palavras traduzidas
translated_chars (int) – número de caracteres traduzidos
translated_chars_percent (int) – porcentagem de caracteres traduzidos
total_chars (int) – número total de caracteres
fuzzy (int) – número de textos aproximados (marcados para edição)
fuzzy_percent (int) – porcentagem de textos aproximados (marcados para edição)
failing (int) – número de textos com falha
failing – porcentagem de textos com falha
Projetos
- GET /api/projects/
Retorna uma lista de todos os projetos.
Ver também
Os atributos do objeto do projeto estão documentados em
GET /api/projects/(string:project)/
.
- POST /api/projects/
Novo na versão 3.9.
Cria um novo projeto.
- Parâmetros
name (string) – Nome do projeto
slug (string) – URL amigável do projeto
web (string) – Site do projeto
- GET /api/projects/(string: project)/
Retorna informações sobre um projeto.
- Parâmetros
project (string) – URL amigável do projeto
- Objeto JSON de resposta
name (string) – nome do projeto
slug (string) – url amigável do projeto
web (string) – site do projeto
components_list_url (string) – URL para lista de componentes; veja
GET /api/projects/(string:project)/components/
repository_url (string) – URL para status do repositório; veja
GET /api/projects/(string:project)/repository/
changes_list_url (string) – URL para lista de alterações; veja
GET /api/projects/(string:project)/changes/
translation_review (boolean) – Habilitar revisões
source_review (boolean) – Habilitar revisões de fontes
set_language_team (boolean) – Definir o cabeçalho do “Language-Team”
enable_hooks (boolean) – Habilitar ganchos
instructions (string) – Instruções de tradução
language_aliases (string) – Aliases de idioma
Exemplo de dados JSON:
{ "name": "Hello", "slug": "hello", "url": "http://example.com/api/projects/hello/", "web": "https://weblate.org/", "web_url": "http://example.com/projects/hello/" }
- PATCH /api/projects/(string: project)/
Novo na versão 4.3.
Edita um projeto por uma solicitação PATCH.
- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
- PUT /api/projects/(string: project)/
Novo na versão 4.3.
Edita um projeto por uma solicitação PUT.
- Parâmetros
project (string) – URL amigável do projeto
- DELETE /api/projects/(string: project)/
Novo na versão 3.9.
Exclui um projeto.
- Parâmetros
project (string) – URL amigável do projeto
- GET /api/projects/(string: project)/changes/
Retorna uma lista de alterações no projeto. Este é essencialmente um
GET /api/changes/
no escopo do projeto aceitando os mesmos parâmetros.- Parâmetros
project (string) – URL amigável do projeto
- Objeto JSON de resposta
results (array) – vetor de objetos componentes; veja
GET /api/changes/(int:id)/
- GET /api/projects/(string: project)/repository/
Retorna informações sobre o status do repositório VCS. Este contém apenas um resumo geral de todos os repositórios para o projeto. Para obter um status mais detalhado, use
GET /api/components/(string:project)/(string:component)/repository/
.- Parâmetros
project (string) – URL amigável do projeto
- Objeto JSON de resposta
needs_commit (boolean) – se há alguma alteração pendente de commit
needs_merge (boolean) – se há alguma alteração do upstream para mesclar
needs_push (boolean) – se há alguma alteração local para fazer push
Exemplo de dados JSON:
{ "needs_commit": true, "needs_merge": false, "needs_push": true }
- POST /api/projects/(string: project)/repository/
Realiza a operação dada no repositório VCS.
- Parâmetros
project (string) – URL amigável do projeto
- Objeto JSON da solicitação
operation (string) – Operação para realizar: uma de
push
,pull
,commit
,reset
,cleanup
,file-sync
- Objeto JSON de resposta
result (boolean) – resultado da operação
Exemplo de CURL:
curl \ -d operation=pull \ -H "Authorization: Token TOKEN" \ http://example.com/api/projects/hello/repository/
Exemplo de solicitação JSON:
POST /api/projects/hello/repository/ HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json Authorization: Token TOKEN Content-Length: 20 {"operation":"pull"}
Exemplo de resposta 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/
Retorna uma lista de componentes de tradução no projeto dado.
- Parâmetros
project (string) – URL amigável do projeto
- Objeto JSON de resposta
results (array) – vetor de objetos componentes; veja
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: Os parâmetros
zipfile
edocfile
agora são aceitos para componentes sem VCS, veja Arquivos locais.Alterado na versão 4.6: Os repositórios clonados agora são automaticamente compartilhados dentro de um projeto usando URLs internas do Weblate. Use
disable_autoshare
para desativar isso.Cria componentes de tradução no projeto dado.
Dica
Use URLs internas do Weblate ao criar vários componentes a partir de um único repositório VCS.
Nota
A maior parte da criação de componentes acontece em segundo plano. Verifique o atributo
task_url
do componente criado e siga o progresso por lá.- Parâmetros
project (string) – URL amigável do projeto
- Parâmetros de formulário
file zipfile – Arquivo ZIP para carregar no Weblate para inicialização de traduções
file docfile – Documento para traduzir
boolean disable_autoshare – Desabilita o compartilhamento automático do repositório via URLs internas do Weblate.
- Objeto JSON de resposta
result (object) – Objeto componente criado; veja
GET /api/components/(string:project)/(string:component)/
JSON não pode ser usado ao enviar os arquivos usando os parâmetros
zipfile
edocfile
. Os dados devem ser enviados como multipart/form-data.Exemplo de solicitação de formulário com 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/
Exemplo de solicitação JSON com CURL:
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/
Exemplo de solicitação JSON:
POST /api/projects/hello/components/ HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json Authorization: Token TOKEN Content-Length: 20 { "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" }
Exemplo de resposta 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", "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/
Retorna estatísticas paginadas para todos os idiomas em um projeto.
Novo na versão 3.8.
- Parâmetros
project (string) – URL amigável do projeto
- Objeto JSON de resposta
results (array) – vetor de objetos de estatísticas de tradução
language (string) – nome de idioma
code (string) – código de idioma
total (int) – número total de textos
translated (int) – número de textos traduzidos
translated_percent (float) – porcentagem de textos traduzidos
total_words (int) – número total de palavras
translated_words (int) – número de palavras traduzidas
words_percent (float) – porcentagem de palavras traduzidas
- GET /api/projects/(string: project)/statistics/
Retorna estatísticas para um projeto.
Novo na versão 3.8.
- Parâmetros
project (string) – URL amigável do projeto
- Objeto JSON de resposta
total (int) – número total de textos
translated (int) – número de textos traduzidos
translated_percent (float) – porcentagem de textos traduzidos
total_words (int) – número total de palavras
translated_words (int) – número de palavras traduzidas
words_percent (float) – porcentagem de palavras traduzidas
Componentes
- GET /api/components/
Retorna uma lista de componentes de tradução.
Ver também
Os atributos do objeto componente estão documentados em
GET /api/components/(string:project)/(string:component)/
.
- GET /api/components/(string: project)/(string: component)/
Retorna informações sobre o componente de tradução.
- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
- Objeto JSON de resposta
project (object) – o projeto de tradução; veja
GET /api/projects/(string:project)/
name (string) – Nome do componente
slug (string) – URL amigável do componente
vcs (string) – Sistema de controle de versão
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) – Máscara de arquivo
template (string) – Arquivo de idioma da base monolíngue
edit_template (string) – Editar o arquivo base
intermediate (string) – Arquivo de idioma intermediário
new_base (string) – Modelo para novas traduções
file_format (string) – Formato de arquivo
license (string) – Licença da tradução
agreement (string) – Acordo de colaborador
new_lang (string) – Adicionando nova tradução
language_code_style (string) – Estilo de código de idioma
source_language (object) – objeto do idioma fonte; veja
GET /api/languages/(string:language)/
push (string) – URL de push do repositório
check_flags (string) – Marcadores de tradução
priority (string) – Prioridade
enforced_checks (string) – Verificações forçadas
restricted (string) – Acesso restrito
repoweb (string) – Navegador do repositório
report_source_bugs (string) – Endereço do relatório de erros do texto fonte
merge_style (string) – Estilo de mesclagem
commit_message (string) – Mensagens de commit, add, merge e extensão
add_message (string) – Mensagens de commit, add, merge e extensão
delete_message (string) – Mensagens de commit, add, merge e extensão
merge_message (string) – Mensagens de commit, add, merge e extensão
addon_message (string) – Mensagens de commit, add, merge e extensão
allow_translation_propagation (string) – Permitir propagação de tradução
enable_suggestions (string) – Habilitar sugestões
suggestion_voting (string) – Votação de sugestões
suggestion_autoaccept (string) – Aceitar sugestões automaticamente
push_on_commit (string) – Push ao fazer commit
commit_pending_age (string) – Idade das alterações para fazer commit
auto_lock_error (string) – Bloquear em erro
language_regex (string) – Filtro de idioma
variant_regex (string) – Expressão regular de variantes
repository_url (string) – URL para status do repositório; veja
GET /api/components/(string:project)/(string:component)/repository/
translations_url (string) – URL para lista de tradução; veja
GET /api/components/(string:project)/(string:component)/translations/
lock_url (string) – URL para status de bloqueio; veja
GET /api/components/(string:project)/(string:component)/lock/
changes_list_url (string) – URL para lista de alterações; veja
GET /api/components/(string:project)/(string:component)/changes/
task_url (string) – URL para uma tarefa em segundo plano (se houver); veja
GET /api/tasks/(str:uuid)/
Exemplo de dados JSON:
{ "branch": "main", "file_format": "po", "filemask": "po/*.po", "git_export": "", "license": "", "license_url": "", "name": "Weblate", "slug": "weblate", "project": { "name": "Hello", "slug": "hello", "source_language": { "code": "en", "direction": "ltr", "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)/
Edita uma componente por uma solicitação PATCH.
- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
source_language (string) – Código de idioma fonte do projeto (opcional)
- Objeto JSON da solicitação
name (string) – nome do componente
slug (string) – URL amigável do componente
repo (string) – URL do repositório VCS
Exemplo de CURL:
curl \ --data-binary '{"name": "new name"}' \ -H "Content-Type: application/json" \ -H "Authorization: Token TOKEN" \ PATCH http://example.com/api/projects/hello/components/
Exemplo de solicitação JSON:
PATCH /api/projects/hello/components/ HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json Authorization: Token TOKEN Content-Length: 20 { "name": "new name" }
Exemplo de resposta 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", "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)/
Edita um componente por uma solicitação PUT.
- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
- Objeto JSON da solicitação
branch (string) – Ramo do repositório VCS
file_format (string) – formato de arquivo das traduções
filemask (string) – máscara dos arquivos de tradução no repositório
name (string) – nome do componente
slug (string) – URL amigável do componente
repo (string) – URL do repositório VCS
template (string) – arquivo base para traduções monolíngues
new_base (string) – arquivo base para adicionar novas traduções
vcs (string) – sistema de controle de versão
- DELETE /api/components/(string: project)/(string: component)/
Novo na versão 3.9.
Exclui um componente.
- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
- GET /api/components/(string: project)/(string: component)/changes/
Retorna uma lista de alterações de componentes. Este é essencialmente um componente com escop
GET /api/changes/
aceitando os mesmos parâmetros.- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
- Objeto JSON de resposta
results (array) – vetor de objetos componentes; veja
GET /api/changes/(int:id)/
- GET /api/components/(string: project)/(string: component)/file/
Novo na versão 4.9.
Downloads all available translations associated with the component as an archive file using the requested format.
- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
- Parâmetros de consulta
format (string) – The archive format to use; If not specified, defaults to
zip
; Supported formats:zip
- GET /api/components/(string: project)/(string: component)/screenshots/
Retorna uma lista de capturas de tela do componente.
- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
- Objeto JSON de resposta
results (array) – vetor de capturas de tela do componente; veja
GET /api/screenshots/(int:id)/
- GET /api/components/(string: project)/(string: component)/lock/
Retorna o status do bloqueio do componente.
- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
- Objeto JSON de resposta
locked (boolean) – se o componente está bloqueado para atualizações
Exemplo de dados JSON:
{ "locked": false }
- POST /api/components/(string: project)/(string: component)/lock/
Define o status de bloqueio do componente.
A resposta é a mesma que
GET /api/components/(string:project)/(string:component)/lock/
.- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
- Objeto JSON da solicitação
lock – Booleano se deve ser bloqueado ou não.
Exemplo de CURL:
curl \ -d lock=true \ -H "Authorization: Token TOKEN" \ http://example.com/api/components/hello/weblate/repository/
Exemplo de solicitação JSON:
POST /api/components/hello/weblate/repository/ HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json Authorization: Token TOKEN Content-Length: 20 {"lock": true}
Exemplo de resposta 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/
Retorna informações sobre o status do repositório VCS.
A resposta é a mesma para
GET /api/projects/(string:project)/repository/
.- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
- Objeto JSON de resposta
needs_commit (boolean) – se há alguma alteração pendente de commit
needs_merge (boolean) – se há alguma alteração do upstream para mesclar
needs_push (boolean) – se há alguma alteração local para fazer push
remote_commit (string) – Informações do commit remoto
status (string) – Status do repositório VCS como relatado pelo VCS
merge_failure – Texto descrevendo uma falha de mesclagem ou nulo se houver nenhuma
- POST /api/components/(string: project)/(string: component)/repository/
Executa a operação fornecida em um repositório VCS.
Veja
POST /api/projects/(string:project)/repository/
para a documentação.- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
- Objeto JSON da solicitação
operation (string) – Operação para executar: um de
push
,pull
,commit
,reset
,cleanup
- Objeto JSON de resposta
result (boolean) – resultado da operação
Exemplo de CURL:
curl \ -d operation=pull \ -H "Authorization: Token TOKEN" \ http://example.com/api/components/hello/weblate/repository/
Exemplo de solicitação JSON:
POST /api/components/hello/weblate/repository/ HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json Authorization: Token TOKEN Content-Length: 20 {"operation":"pull"}
Exemplo de resposta 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/
Faz o download do arquivo base para traduções monolíngues.
- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
- GET /api/components/(string: project)/(string: component)/new_template/
Faz o download do arquivo de modelo para novas traduções.
- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
- GET /api/components/(string: project)/(string: component)/translations/
Retorna uma lista de objetos de tradução no componente fornecido.
- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
- Objeto JSON de resposta
results (array) – vetor de objetos de tradução; veja
GET /api/translations/(string:project)/(string:component)/(string:language)/
- POST /api/components/(string: project)/(string: component)/translations/
Cria uma nova tradução no componente fornecido.
- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
- Objeto JSON da solicitação
language_code (string) – código de idioma de tradução; veja
GET /api/languages/(string:language)/
- Objeto JSON de resposta
result (object) – novo objeto de tradução criado
Exemplo de CURL:
curl \ -d language_code=cs \ -H "Authorization: Token TOKEN" \ http://example.com/api/projects/hello/components/
Exemplo de solicitação JSON:
POST /api/projects/hello/components/ HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json Authorization: Token TOKEN Content-Length: 20 {"language_code": "cs"}
Exemplo de resposta 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", "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/
Retorna estatísticas paginadas para todas as traduções dentro do componente.
Novo na versão 2.7.
- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
- Objeto JSON de resposta
results (array) – vetor de objetos de estatísticas de tradução; veja
GET /api/translations/(string:project)/(string:component)/(string:language)/statistics/
- GET /api/components/(string: project)/(string: component)/links/
Retorna projetos vinculados a um componente.
Novo na versão 4.5.
- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
- Objeto JSON de resposta
projects (array) – projetos associados; veja
GET /api/projects/(string:project)/
- POST /api/components/(string: project)/(string: component)/links/
Associa projeto a um componente.
Novo na versão 4.5.
- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
- Parâmetros de formulário
string project_slug – URL amigável do projeto
- DELETE /api/components/(string: project)/(string: component)/links/(string: project_slug)/
Remove associação de um projeto com um componente.
Novo na versão 4.5.
- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
project_slug (string) – Slug do projeto para remover
Traduções
- GET /api/translations/
Retorna uma lista de traduções.
Ver também
Atributos de objeto de tradução estão documentados em
GET /api/translations/(string:project)/(string:component)/(string:language)/
.
- GET /api/translations/(string: project)/(string: component)/(string: language)/
Retorna informações sobre uma tradução.
- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
language (string) – Código de idioma de tradução
- Objeto JSON de resposta
component (object) – objeto do componente; veja
GET /api/components/(string:project)/(string:component)/
failing_checks (int) – número de textos contendo verificações com falha
failing_checks_percent (float) – porcentagem de textos contendo verificações com falha
failing_checks_words (int) – número de palavras contendo verificações com falha
filename (string) – Nome de arquivo da tradução
fuzzy (int) – número de textos aproximados (marcados para edição)
fuzzy_percent (float) – porcentagem de textos aproximados (marcados para edição)
fuzzy_words (int) – número de palavras em textos aproximados (marcados para edição)
have_comment (int) – número de textos com comentário
have_suggestion (int) – número de textos com sugestão
is_template (boolean) – se a tradução tem uma base monolíngue
language (object) – objeto do idioma fonte; veja
GET /api/languages/(string:language)/
language_code (string) – código de idioma usado no repositório; isso pode ser diferente do código de idioma no objeto de linguagem
last_author (string) – nome do último autor
last_change (timestamp) – data e hora da última alteração
revision (string) – hash de revisão para o arquivo
share_url (string) – URL para compartilhar levando à página de engajamento
total (int) – número total de textos
total_words (int) – número total de palavras
translate_url (string) – URL para tradução
translated (int) – número de textos traduzidos
translated_percent (float) – porcentagem de textos traduzidos
translated_words (int) – número de palavras traduzidas
repository_url (string) – URL para status do repositório; veja
GET /api/translations/(string:project)/(string:component)/(string:language)/repository/
file_url (string) – URL para objeto arquivo; veja
GET /api/translations/(string:project)/(string:component)/(string:language)/file/
changes_list_url (string) – URL para lista de alterações; veja
GET /api/translations/(string:project)/(string:component)/(string:language)/changes/
units_list_url (string) – URL para lista de textos; veja
GET /api/translations/(string:project)/(string:component)/(string:language)/units/
Exemplo de dados JSON:
{ "component": { "branch": "main", "file_format": "po", "filemask": "po/*.po", "git_export": "", "license": "", "license_url": "", "name": "Weblate", "new_base": "", "project": { "name": "Hello", "slug": "hello", "source_language": { "code": "en", "direction": "ltr", "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.
Exclui uma tradução.
- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
language (string) – Código de idioma de tradução
- GET /api/translations/(string: project)/(string: component)/(string: language)/changes/
Retorna uma lista de alterações de tradução. Este é essencialmente um
GET /api/changes/
no escopo de tradução aceitando os mesmos parâmetros.- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
language (string) – Código de idioma de tradução
- Objeto JSON de resposta
results (array) – vetor de objetos componentes; veja
GET /api/changes/(int:id)/
- GET /api/translations/(string: project)/(string: component)/(string: language)/units/
Retorna uma lista de unidades de tradução.
- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
language (string) – Código de idioma de tradução
q (string) – Texto de consulta de pesquisa; veja Pesquisando (opcional)
- Objeto JSON de resposta
results (array) – texto de objetos de componente; veja
GET /api/units/(int:id)/
- POST /api/translations/(string: project)/(string: component)/(string: language)/units/
Adiciona uma nova unidade monolíngue.
- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
language (string) – Código de idioma de tradução
- Objeto JSON da solicitação
key (string) – Nome da unidade de tradução
value (array) – O valor da unidade de tradução
Ver também
- POST /api/translations/(string: project)/(string: component)/(string: language)/autotranslate/
Aciona a tradução automática.
- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
language (string) – Código de idioma de tradução
- Objeto JSON da solicitação
mode (string) – Modo de tradução automática
filter_type (string) – Tipo de filtro da tradução automática
auto_source (string) – Fonte da tradução automática –
mt
ouothers
component (string) – Desativa contribuição para a memória de tradução compartilhada do projeto para obter acesso a componentes adicionais.
engines (array) – Mecanismos de tradução de máquina
threshold (string) – Limite de pontuação
- GET /api/translations/(string: project)/(string: component)/(string: language)/file/
Baixa o arquivo de tradução atual como está armazenado no VCS (sem o parâmetro
format
) ou convertido para outro formato (veja Baixando traduções).Nota
Este ponto de extremidade da API usa uma lógica diferente para a saída do resto da API, pois opera no arquivo inteiro em vez de nos dados. O conjunto de parâmetros aceitos no
format
difere e sem tal parâmetro você obtém o arquivo de tradução armazenado no VCS.- Parâmetros de consulta
format – Formato de arquivo para usar; se não especificado nenhuma conversão de formato acontece; formatos de arquivo suportados:
po
,mo
,xliff
,xliff11
,tbx
,csv
,xlsx
,json
,aresource
,strings
- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
language (string) – Código de idioma de tradução
- POST /api/translations/(string: project)/(string: component)/(string: language)/file/
Envia novo arquivo com traduções.
- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
language (string) – Código de idioma de tradução
- Parâmetros de formulário
string conflict – Como lidar com conflitos (
ignore
,replace-translated
oureplace-approved
)file file – Arquivo enviado
string email – E-mail do autor
string author – Nome do autor
string method – Método de envio (
translate
,approve
,suggest
,fuzzy
,replace
,source
,add
), veja Métodos de importaçãostring fuzzy – Processamento de textos aproximados (marcados para edição) (vazio,
process
,approve
)
Exemplo de CURL:
curl -X POST \ -F file=@strings.xml \ -H "Authorization: Token TOKEN" \ http://example.com/api/translations/hello/android/cs/file/
- GET /api/translations/(string: project)/(string: component)/(string: language)/repository/
Retorna informações sobre o status do repositório VCS.
A resposta é a mesma que para
GET /api/components/(string:project)/(string:component)/repository/
.- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
language (string) – Código de idioma de tradução
- POST /api/translations/(string: project)/(string: component)/(string: language)/repository/
Realiza a operação dada no repositório VCS.
Veja
POST /api/projects/(string:project)/repository/
para a documentação.- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
language (string) – Código de idioma de tradução
- Objeto JSON da solicitação
operation (string) – Operação para executar: um de
push
,pull
,commit
,reset
,cleanup
- Objeto JSON de resposta
result (boolean) – resultado da operação
- GET /api/translations/(string: project)/(string: component)/(string: language)/statistics/
Retorna as estatísticas de tradução detalhadas.
Novo na versão 2.7.
- Parâmetros
project (string) – URL amigável do projeto
component (string) – URL amigável do componente
language (string) – Código de idioma de tradução
- Objeto JSON de resposta
code (string) – código de idioma
failing (int) – número de verificações com falha
failing_percent (float) – porcentagem de verificações com falha
fuzzy (int) – número de textos aproximados (marcados para edição)
fuzzy_percent (float) – porcentagem de textos aproximados (marcados para edição)
total_words (int) – número total de palavras
translated_words (int) – número de palavras traduzidas
last_author (string) – nome do último autor
last_change (timestamp) – data da última alteração
name (string) – nome de idioma
total (int) – número total de textos
translated (int) – número de textos traduzidos
translated_percent (float) – porcentagem de textos traduzidos
url (string) – URL para acesso à tradução (URL de engajamento)
url_translate (string) – URL para acesso à tradução (URL real da tradução)
Unidades
Uma unidade é uma única parte de uma tradução que forma o par de um texto fonte com um texto traduzido correspondente e também contém alguns metadados relacionados. O termo é derivado do Translate Toolkit e do XLIFF.
Novo na versão 2.10.
- GET /api/units/
Retorna uma lista de unidades de tradução.
Ver também
Os atributos do objeto da unidade estão documentados em
GET /api/units/(int:id)/
.
- GET /api/units/(int: id)/
Alterado na versão 4.3: O
target
esource
agora são vetores para lidar apropriadamente com textos plurais.Retorna informações sobre a unidade de tradução.
- Parâmetros
id (int) – ID da unidade
- Objeto JSON de resposta
translation (string) – URL de um objeto de tradução relacionado
source (array) – texto fonte
previous_source (string) – texto fonte anterior usado para correspondência aproximada
target (array) – texto alvo
id_hash (string) – identificador único da unidade
content_hash (string) – identificador único do texto fonte
location (string) – local da unidade no código-fonte
context (string) – contexto da unidade de tradução
note (string) – nota da unidade de tradução
flags (string) – marcadores da unidade de tradução
state (int) – estado da unidade, 0 - não traduzida, 10 - necessita tradução, 20 - traduzida, 30 - aprovada, 100 - somente leitura
fuzzy (boolean) – se a unidade está marcada com “fuzzy” ou para revisão
translated (boolean) – se a unidade está traduzida
approved (boolean) – se a tradução está aprovada
position (int) – posição da unidade no arquivo de tradução
has_suggestion (boolean) – se a unidade tem sugestões
has_comment (boolean) – se a unidade tem comentários
has_failing_check (boolean) – se a unidade tem verificações com falha
num_words (int) – número de palavras fonte
priority (int) – prioridade de tradução. 100 é o padrão
id (int) – identificador da unidade
explanation (string) – Expansão de texto, disponível em unidades fonte, veja Informações adicionais sobre textos fonte
extra_flags (string) – Marcadores de textos adicionais, disponíveis nas unidades fonte, veja Personalizando comportamento usando marcadores
web_url (string) – URL onde a unidade pode ser editada
souce_unit (string) – Link da unidade fonte; veja
GET /api/units/(int:id)/
- PATCH /api/units/(int: id)/
Novo na versão 4.3.
Executa atualização parcial na unidade de tradução.
- Parâmetros
id (int) – ID da unidade
- Objeto JSON da solicitação
state (int) – estado da unidade, 0 - não traduzida, 10 - necessita edição, 20 - traduzida, 30 - aprovada (fluxo de trabalho de exigência de revisão habilitado, veja Revisores dedicados)
target (array) – texto alvo
explanation (string) – Expansão de texto, disponível em unidades fonte, veja Informações adicionais sobre textos fonte
extra_flags (string) – Marcadores de textos adicionais, disponíveis nas unidades fonte, veja Personalizando comportamento usando marcadores
- PUT /api/units/(int: id)/
Novo na versão 4.3.
Executa atualização completa na unidade de tradução.
- Parâmetros
id (int) – ID da unidade
- Objeto JSON da solicitação
state (int) – estado da unidade, 0 - não traduzida, 10 - necessita edição, 20 - traduzida, 30 - aprovada (fluxo de trabalho de exigência de revisão habilitado, veja Revisores dedicados)
target (array) – texto alvo
explanation (string) – Expansão de texto, disponível em unidades fonte, veja Informações adicionais sobre textos fonte
extra_flags (string) – Marcadores de textos adicionais, disponíveis nas unidades fonte, veja Personalizando comportamento usando marcadores
- DELETE /api/units/(int: id)/
Novo na versão 4.3.
Exclui uma unidade de tradução.
- Parâmetros
id (int) – ID da unidade
Alterações
Novo na versão 2.10.
- GET /api/changes/
Alterado na versão 4.1: A filtragem de alterações foi introduzida na versão 4.1.
Retorna uma lista de alterações de tradução.
Ver também
Os atributos do objeto de alteração estão documentados em
GET /api/changes/(int:id)/
.- Parâmetros de consulta
user (string) – Nome de usuário do usuário para filtrar
action (int) – Ação para filtrar, pode ser usada várias vezes
timestamp_after (timestamp) – Data e hora no formato ISO 8601 para listar as alterações após
timestamp_before (timestamp) – Data e hora no formato ISO 8601 para listar as alterações antes
- GET /api/changes/(int: id)/
Retorna informações sobre alteração de tradução.
- Parâmetros
id (int) – ID da alteração
- Objeto JSON de resposta
unit (string) – URL de um objeto de unidade relacionado
translation (string) – URL de um objeto de tradução relacionado
component (string) – URL de um objeto de componente relacionado
user (string) – URL de um objeto de usuário relacionado
author (string) – URL de um objeto de autor relacionado
timestamp (timestamp) – data e hora do evento
action (int) – identificação numérica da ação
action_name (string) – descrição de texto da ação
target (string) – texto ou detalhe alterado de evento
id (int) – identificador da alteração
Capturas de tela
Novo na versão 2.14.
- GET /api/screenshots/
Retorna uma lista de informações de texto de capturas de tela.
Ver também
Os atributos do objeto de captura de tela estão documentados em
GET /api/screenshots/(int:id)/
.
- GET /api/screenshots/(int: id)/
Retorna informações sobre dados de captura de tela.
- Parâmetros
id (int) – ID da captura de tela
- Objeto JSON de resposta
name (string) – nome de uma captura de tela
component (string) – URL de um objeto de componente relacionado
file_url (string) – URL para baixar um arquivo; veja
GET /api/screenshots/(int:id)/file/
units (array) – link para associar informações sobre texto fonte; veja
GET /api/units/(int:id)/
- GET /api/screenshots/(int: id)/file/
Baixa a imagem de captura de tela.
- Parâmetros
id (int) – ID da captura de tela
- POST /api/screenshots/(int: id)/file/
Substitui a imagem de captura de tela.
- Parâmetros
id (int) – ID da captura de tela
- Parâmetros de formulário
file image – Arquivo enviado
Exemplo de CURL:
curl -X POST \ -F image=@image.png \ -H "Authorization: Token TOKEN" \ http://example.com/api/screenshots/1/file/
- POST /api/screenshots/(int: id)/units/
Associa texto fonte com uma captura de tela.
- Parâmetros
id (int) – ID da captura de tela
- Parâmetros de formulário
string unit_id – ID da unidade
- Objeto JSON de resposta
name (string) – nome de uma captura de tela
translation (string) – URL de um objeto de tradução relacionado
file_url (string) – URL para baixar um arquivo; veja
GET /api/screenshots/(int:id)/file/
units (array) – link para associar informações sobre texto fonte; veja
GET /api/units/(int:id)/
- DELETE /api/screenshots/(int: id)/units/(int: unit_id)
Remove a associação de texto fonte com captura de tela.
- Parâmetros
id (int) – ID da captura de tela
unit_id – ID de unidade do texto fonte
- POST /api/screenshots/
Cria uma nova captura de tela.
- Parâmetros de formulário
file image – Arquivo enviado
string name – Nome da captura de tela
string project_slug – URL amigável do projeto
string component_slug – URL amigável do componente
string language_code – Código do idioma
- Objeto JSON de resposta
name (string) – nome de uma captura de tela
component (string) – URL de um objeto de componente relacionado
file_url (string) – URL para baixar um arquivo; veja
GET /api/screenshots/(int:id)/file/
units (array) – link para associar informações sobre texto fonte; veja
GET /api/units/(int:id)/
- PATCH /api/screenshots/(int: id)/
Edita informações parciais sobre captura de tela.
- Parâmetros
id (int) – ID da captura de tela
- Objeto JSON de resposta
name (string) – nome de uma captura de tela
component (string) – URL de um objeto de componente relacionado
file_url (string) – URL para baixar um arquivo; veja
GET /api/screenshots/(int:id)/file/
units (array) – link para associar informações sobre texto fonte; veja
GET /api/units/(int:id)/
- PUT /api/screenshots/(int: id)/
Edita informações completas sobre captura de tela.
- Parâmetros
id (int) – ID da captura de tela
- Objeto JSON de resposta
name (string) – nome de uma captura de tela
component (string) – URL de um objeto de componente relacionado
file_url (string) – URL para baixar um arquivo; veja
GET /api/screenshots/(int:id)/file/
units (array) – link para associar informações sobre texto fonte; veja
GET /api/units/(int:id)/
- DELETE /api/screenshots/(int: id)/
Exclui captura de tela.
- Parâmetros
id (int) – ID da captura de tela
Extensões
Novo na versão 4.4.1.
- GET /api/addons/
Retorna uma lista de extensões.
Ver também
Os atributos do objeto de extensão estão documentados em
GET /api/addons/(int:id)/
.
- GET /api/addons/(int: id)/
Retorna informações sobre dados da extensão.
- Parâmetros
id (int) – ID da extensão
- Objeto JSON de resposta
name (string) – nome de uma extensão
component (string) – URL de um objeto de componente relacionado
configuration (object) – Configuração opcional da extensão
Ver também
- POST /api/components/(string: project)/(string: component)/addons/
Cria uma nova extensão.
- Parâmetros
project_slug (string) – URL amigável do projeto
component_slug (string) – URL amigável do componente
- Objeto JSON da solicitação
name (string) – nome de uma extensão
configuration (object) – Configuração opcional da extensão
- PATCH /api/addons/(int: id)/
Edita informações parciais sobre extensão.
- Parâmetros
id (int) – ID da extensão
- Objeto JSON de resposta
configuration (object) – Configuração opcional da extensão
- PUT /api/addons/(int: id)/
Edita informações completas sobre extensão.
- Parâmetros
id (int) – ID da extensão
- Objeto JSON de resposta
configuration (object) – Configuração opcional da extensão
- DELETE /api/addons/(int: id)/
Exclui extensão.
- Parâmetros
id (int) – ID da extensão
Listas dos componentes
Novo na versão 4.0.
- GET /api/component-lists/
Retorna uma lista de listas de componentes.
Ver também
Os atributos do objeto da lista de componentes estão documentados em
GET /api/component-lists/(str:slug)/
.
- GET /api/component-lists/(str: slug)/
Retorna informações sobre a lista de componentes.
- Parâmetros
slug (string) – URL amigável da lista de componentes
- Objeto JSON de resposta
name (string) – nome de uma lista de componentes
slug (string) – URL amigável de uma lista de componentes
show_dashboard (boolean) – se deve mostrar em um painel
components (array) – link para componentes associados; veja
GET /api/components/(string:project)/(string:component)/
auto_assign (array) – regras de atribuição automáticas
- PUT /api/component-lists/(str: slug)/
Altera os parâmetros da lista de componentes.
- Parâmetros
slug (string) – URL amigável da lista de componentes
- Objeto JSON da solicitação
name (string) – nome de uma lista de componentes
slug (string) – URL amigável de uma lista de componentes
show_dashboard (boolean) – se deve mostrar em um painel
- PATCH /api/component-lists/(str: slug)/
Altera os parâmetros da lista de componentes.
- Parâmetros
slug (string) – URL amigável da lista de componentes
- Objeto JSON da solicitação
name (string) – nome de uma lista de componentes
slug (string) – URL amigável de uma lista de componentes
show_dashboard (boolean) – se deve mostrar em um painel
- DELETE /api/component-lists/(str: slug)/
Exclui a lista de componentes.
- Parâmetros
slug (string) – URL amigável da lista de componentes
- POST /api/component-lists/(str: slug)/components/
Associa um componente a uma lista de componentes.
- Parâmetros
slug (string) – URL amigável da lista de componentes
- Parâmetros de formulário
string component_id – ID do componente
- DELETE /api/component-lists/(str: slug)/components/(str: component_slug)
Desassocia um componente da lista de componentes.
- Parâmetros
slug (string) – URL amigável da lista de componentes
component_slug (string) – URL amigável do componente
Glossário
Alterado na versão 4.5: Glossários agora são armazenados como componentes, traduções e textos comuns. Use a respectiva API.
Tarefas
Novo na versão 4.4.
- GET /api/tasks/
A listagem de tarefas não está disponível no momento.
- GET /api/tasks/(str: uuid)/
Retorna informações sobre uma tarefa
- Parâmetros
uuid (string) – UUID da tarefa
- Objeto JSON de resposta
completed (boolean) – Se a tarefa foi concluída
progress (int) – Progresso da tarefa em porcentagem
result (object) – Resultado da tarefa ou detalhes do progresso
log (string) – Registros da tarefa
Métricas
- GET /api/metrics/
Retorna as métricas do servidor.
- Objeto JSON de resposta
units (int) – Número de unidades
units_translated (int) – Número de unidades traduzidas
users (int) – número de usuários
changes (int) – Quantidade de alterações
projects (int) – Número de projetos
components" (int) – Número de componentes
translations" (int) – Número de traduções
languages" (int) – Quantidade de idiomas usados
checks" (int) – Número de verificações de qualidade acionadas
configuration_errors" (int) – Número de erros de configuração
suggestions" (int) – Número de sugestões pendentes
celery_queues (object) – Comprimento das filas de Celery, veja Tarefas de fundo usando Celery
name (string) – Nome do servidor configurado
Ganchos de notificação
Os ganchos de notificação permitem que aplicativos externos notifiquem o Weblate que o repositório VCS foi atualizado.
Você pode usar terminais de repositório para projetos, componentes e traduções para atualizar repositórios individuais; veja POST /api/projects/(string:project)/repository/
para a documentação.
- GET /hooks/update/(string: project)/(string: component)/
Obsoleto desde a versão 2.6: Use
POST /api/components/(string:project)/(string:component)/repository/
em vez disso, que funciona corretamente com autenticação para projetos limitados por ACL.Aciona a atualização de um componente (baixando do VCS e procurando por alterações de tradução).
- GET /hooks/update/(string: project)/
Obsoleto desde a versão 2.6: Use
POST /api/projects/(string:project)/repository/
, que funciona corretamente com autenticação para projetos limitados por ACL.Aciona a atualização de todos os componentes em um projeto (baixando do VCS e procurando por alterações de tradução).
- POST /hooks/github/
Gancho especial para lidar com notificações do GitHub e atualizar automaticamente os componentes correspondentes.
Nota
O GitHub inclui suporte direto para notificar o Weblate: habilite o gancho do serviço Weblate nas configurações do repositório e defina a URL para a URL de sua instalação do Weblate.
Ver também
- Recebendo automaticamente alterações do GitHub
Para instruções sobre como configurar integração com GitHub
- https://docs.github.com/pt/github/extending-github/about-webhooks
Informações genéricas sobre Webhooks do GitHub
ENABLE_HOOKS
Para habilitar ganchos para todo o Weblate
- POST /hooks/gitlab/
Gancho especial para lidar com notificações do GitLab e atualizar automaticamente os componentes correspondentes.
Ver também
- Recebendo automaticamente alterações do GitLab
Para instrução sobre configurar integração com GitLab
- https://docs.gitlab.com/ee/user/project/integrations/webhooks.html
Informações genéricas sobre Webhooks do GitLab
ENABLE_HOOKS
Para habilitar ganchos para todo o Weblate
- POST /hooks/bitbucket/
Gancho especial para lidar com notificações do Bitbucket e atualizar automaticamente os componentes correspondentes.
Ver também
- Recebendo automaticamente alterações do Bitbucket
Para instruções sobre como configurar integração com Bitbucket
- https://support.atlassian.com/bitbucket-cloud/docs/manage-webhooks/
Informações genéricas sobre Webhooks do Bitbucket
ENABLE_HOOKS
Para habilitar ganchos para todo o Weblate
- POST /hooks/pagure/
Novo na versão 3.3.
Gancho especial para lidar com notificações do Pagure e atualizar automaticamente os componentes correspondentes.
Ver também
- Recebendo automaticamente alterações do Pagure
Para instruções sobre como configurar integração com Pagure
- https://docs.pagure.org/pagure/usage/using_webhooks.html
Informações genéricas sobre Webhooks do Pagure
ENABLE_HOOKS
Para habilitar ganchos para todo o Weblate
- POST /hooks/azure/
Novo na versão 3.8.
Gancho especial para lidar com notificações do Azure Repos e atualizar automaticamente os componentes correspondentes.
Ver também
- Recebendo automaticamente alterações do Azure Repos
Para instruções sobre como configurar integração com Azure
- https://docs.microsoft.com/pt-br/azure/devops/service-hooks/services/webhooks?view=azure-devops
Informações genéricas sobre Web Hooks do Azure Repos
ENABLE_HOOKS
Para habilitar ganchos para todo o Weblate
- POST /hooks/gitea/
Novo na versão 3.9.
Gancho especial para lidar com notificações de Webhook do Gitea e atualizar automaticamente os componentes correspondentes.
Ver também
- Recebendo automaticamente alterações do Gitea Repos
Para instruções sobre como configurar integração com Gitea
- https://docs.gitea.io/pt-br/webhooks/
Informações genéricas sobre Webhooks do Gitea
ENABLE_HOOKS
Para habilitar ganchos para todo o Weblate
- POST /hooks/gitee/
Novo na versão 3.9.
Gancho especial para lidar com notificações de Webhook do Gitee e atualizar automaticamente os componentes correspondentes.
Ver também
- Recebendo automaticamente alterações de Gitee Repos
Para instruções sobre como configurar integração com Gitee
- https://gitee.com/help/categories/40
Informações genéricas sobre Webhooks do Gitee
ENABLE_HOOKS
Para habilitar ganchos para todo o Weblate
Exportações
O Weblate fornece várias exportações para permitir que você processe ainda mais os dados.
- GET /exports/stats/(string: project)/(string: component)/
- Parâmetros de consulta
format (string) – Formato de saída:
json
oucsv
Obsoleto desde a versão 2.6: Use
GET /api/components/(string:project)/(string:component)/statistics/
eGET /api/translations/(string:project)/(string:component)/(string:language)/statistics/
em vez disso; ele também permite acesso a projetos controlados por ACL.Recupera estatísticas para determinado componente em determinado formato.
Exemplo de solicitação:
GET /exports/stats/weblate/main/ HTTP/1.1 Host: example.com Accept: application/json, text/javascript
Exemplo de resposta:
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
As alterações nas traduções são exportadas em feeds RSS.
- GET /exports/rss/(string: project)/(string: component)/(string: language)/
Recupera o feed RSS com as alterações recentes de uma tradução.
- GET /exports/rss/(string: project)/(string: component)/
Recupera feed RSS com alterações recentes para um componente.
- GET /exports/rss/(string: project)/
Recupera feed RSS com alterações recentes para um projeto.
- GET /exports/rss/language/(string: language)/
Recupera feed RSS com alterações recentes para um idioma.
- GET /exports/rss/
Recupera feed RSS com alterações recentes para a instância Weblate.
Ver também