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 e api 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

Tokens de autenticação

Alterado na versão 4.10: Tokens com escopo de projeto foram introduzidos na versão 4.10.

Cada usuário possui seu token de acesso pessoal, que pode ser obtido no perfil do usuário. Os tokens de usuário recém-gerados têm o prefixo wlu_.

É possível criar tokens com escopo de projeto para acesso à API apenas para determinado projeto. Esses tokens podem ser identificados pelo prefixo wlp_.

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.

No contêiner do Docker, isso pode ser configurado usando WEBLATE_API_RATELIMIT_ANON e WEBLATE_API_RATELIMIT_USER.

O status de limitação de taxa é relatado nos seguintes cabeçalhos:

X-RateLimit-Limit

Limite de limitação de taxa de solicitações para realizar

X-RateLimit-Remaining

Limite restante de solicitações

X-RateLimit-Reset

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.

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)

  • is_bot (boolean) – O usuário é bot? (opcional) (usado para tokens no escopo do projeto)

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

  • is_bot (boolean) – se o usuário é um bot (usado para tokens no escopo do projeto)

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

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

  • is_bot (boolean) – se o usuário é um bot (usado para tokens no escopo do projeto)

  • 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

  • is_bot (boolean) – se o usuário é um bot (usado para tokens no escopo do projeto)

  • 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

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

Novo na versão 4.13.1.

Remove user from a group.

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
GET /api/groups/(int: id)/

Retorna informações sobre o grupo.

Parâmetros
  • id (int) – ID do grupo

Objeto JSON de resposta

Exemplo de dados JSON:

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

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

  • population (int) – Número de apresentadores

  • 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

Objeto JSON da solicitação
  • population (int) – Número de apresentadores

Exemplo de dados JSON:

{
    "code": "en",
    "direction": "ltr",
    "name": "English",
    "population": 159034349015,
    "plural": {
        "id": 75,
        "source": 0,
        "number": 2,
        "formula": "n != 1",
        "type": 1
    },
    "aliases": [
        "english",
        "en_en",
        "base",
        "source",
        "eng"
    ],
    "url": "http://example.com/api/languages/en/",
    "web_url": "http://example.com/languages/en/",
    "statistics_url": "http://example.com/api/languages/en/statistics/"
}
PUT /api/languages/(string: language)/

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

  • population (int) – Número de apresentadores

  • 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

  • population (int) – Número de apresentadores

  • 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

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
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
POST /api/projects/(string: project)/components/

Novo na versão 3.9.

Alterado na versão 4.3: Os parâmetros zipfile e docfile 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 da solicitação
Objeto JSON de resposta

JSON não pode ser usado ao enviar os arquivos usando os parâmetros zipfile e docfile. 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",
        "name": "Weblate",
        "slug": "weblate",
        "repo": "https://github.com/WeblateOrg/hello.git",
        "template": "",
        "new_base": "po/hello.pot",
        "vcs": "git"
    }' \
    -H "Content-Type: application/json" \
    -H "Authorization: Token TOKEN" \
    http://example.com/api/projects/hello/components/

Solicitação JSON para criar um novo componente a partir do Git:

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

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

Solicitação JSON para criar um novo componente a partir de outro:

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

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

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",
             "population": 159034349015,
            "name": "English",
            "url": "http://example.com/api/languages/en/",
            "web_url": "http://example.com/languages/en/"
        },
        "url": "http://example.com/api/projects/hello/",
        "web": "https://weblate.org/",
        "web_url": "http://example.com/projects/hello/"
    },
    "repo": "file:///home/nijel/work/weblate-hello",
    "template": "",
    "new_base": "",
    "url": "http://example.com/api/components/hello/weblate/",
    "vcs": "git",
    "web_url": "http://example.com/projects/hello/weblate/"
}
GET /api/projects/(string: project)/languages/

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

Dica

Usa POST /api/projects/(string:project)/repository/ para criar novos 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

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",
             "population": 159034349015,
            "name": "English",
            "url": "http://example.com/api/languages/en/",
            "web_url": "http://example.com/languages/en/"
        },
        "url": "http://example.com/api/projects/hello/",
        "web": "https://weblate.org/",
        "web_url": "http://example.com/projects/hello/"
    },
    "source_language": {
        "code": "en",
        "direction": "ltr",
        "population": 159034349015,
        "name": "English",
        "url": "http://example.com/api/languages/en/",
        "web_url": "http://example.com/languages/en/"
    },
    "repo": "file:///home/nijel/work/weblate-hello",
    "template": "",
    "new_base": "",
    "url": "http://example.com/api/components/hello/weblate/",
    "vcs": "git",
    "web_url": "http://example.com/projects/hello/weblate/"
}
PATCH /api/components/(string: project)/(string: component)/

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",
            "population": 159034349015,
            "name": "English",
            "url": "http://example.com/api/languages/en/",
            "web_url": "http://example.com/languages/en/"
        },
        "url": "http://example.com/api/projects/hello/",
        "web": "https://weblate.org/",
        "web_url": "http://example.com/projects/hello/"
    },
    "repo": "file:///home/nijel/work/weblate-hello",
    "template": "",
    "new_base": "",
    "url": "http://example.com/api/components/hello/weblate/",
    "vcs": "git",
    "web_url": "http://example.com/projects/hello/weblate/"
}
PUT /api/components/(string: project)/(string: component)/

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
GET /api/components/(string: project)/(string: component)/file/

Novo na versão 4.9.

Baixa odas as traduções disponíveis associadas ao componente como um arquivo usando o formato solicitado.

Parâmetros
  • project (string) – URL amigável do projeto

  • component (string) – URL amigável do componente

Parâmetros de consulta
  • format (string) – O formato de arquivo a ser usado; Se não for especificado, o padrão é zip; Formatos suportados: 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
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
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
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",
        "population": 1303174280
        "name": "Czech",
        "url": "http://example.com/api/languages/cs/",
        "web_url": "http://example.com/languages/cs/"
    },
    "language_code": "cs",
    "id": 125,
    "last_author": null,
    "last_change": null,
    "share_url": "http://example.com/engage/hello/cs/",
    "total": 4,
    "total_words": 15,
    "translate_url": "http://example.com/translate/hello/weblate/cs/",
    "translated": 0,
    "translated_percent": 0.0,
    "translated_words": 0,
    "url": "http://example.com/api/translations/hello/weblate/cs/",
    "web_url": "http://example.com/projects/hello/weblate/cs/"
}
GET /api/components/(string: project)/(string: component)/statistics/

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

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

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

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
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
POST /api/translations/(string: project)/(string: component)/(string: language)/units/

Adiciona nova unidade.

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 (usada como chave ou contexto)

  • value (array) – Textos fonte (use um único texto se não estiver criando plural)

Objeto JSON de resposta
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 ou others

  • 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

  • q (string) – Filtra os textos baixados, veja Página de Busca.

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 ou replace-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ção

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

Memória

Novo na versão 4.14.

GET /api/memory/

Returns a list of memory results.

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

Deletes a memory object

Parâmetros
  • memory_object_id – Memory Object ID

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.

Parâmetros
  • q (string) – Texto de consulta de pesquisa; veja Pesquisando (opcional)

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 e source 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

  • source_unit (string) – Link da unidade fonte; veja GET /api/units/(int:id)/

  • pending (boolean) – se a unidade está pendente para escrita

  • timestamp (timestamp) – idade do texto

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

Extensões

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/get-started/customizing-your-github-workflow/exploring-integrations/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 DevOps e atualizar automaticamente os componentes correspondentes.

Nota

Certifique-se de que Resource details to send esteja definido como All, caso contrário o Weblate não poderá corresponder ao seu repositório do Azure.

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 DevOps

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 ou csv

Obsoleto desde a versão 2.6: Use GET /api/components/(string:project)/(string:component)/statistics/ e GET /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

RSS on Wikipedia