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. Pode utilizá-la diretamente ou por Cliente Weblate.

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 pode obter no 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 estado 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 estado 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 a usar API

  • web_url (string) – URL para acessar esse recurso a usar navegador web

Códigos de estado

Tokens de autenticação

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

Cada utilizador tem o seu próprio código de acesso que pode ser obtido no perfil de utilizador. Os tokens de utilizadores recém-gerados têm o prefixo wlu_`.

É possível criar tokens com escopo de projeto para acesso API apenas a um determinado projeto. Estes 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 utilizadores anônimos e 5000 solicitações por hora para utilizadores 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 contentor do Docker, isso pode ser configurado usando WEBLATE_API_RATELIMIT_ANON e WEBLATE_API_RATELIMIT_USER.

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

Quantidade de segundos até que a janela de «ratelimit» seja reiniciada

Alterado na versão 4.1: Adicionados cabeçalhos de estado 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/"
}

Utilizadores

Novo na versão 4.0.

GET /api/users/

Retorna uma lista de utilizadores se tiver permissões para ver utilizadores geridos. Se não, então pode ver apenas os seus próprios detalhes.

Veja também

Os atributos do objeto dos utilizadores estão documentados em GET /api/users/(str:username)/.

POST /api/users/

Cria um novo utilizador.

Parâmetros
  • username (string) – Nome de utilizador

  • full_name (string) – Nome completo do utilizador

  • email (string) – E-mail do utilizador

  • is_superuser (boolean) – O utilizador é superutilizador? (opcional)

  • is_active (boolean) – O utilizador está ativo? (opcional)

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

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

Retorna informações sobre os utilizadores.

Parâmetros
  • username (string) – Nome de utilizador do utilizador

Objeto JSON de resposta
  • username (string) – nome de utilizador de um utilizador

  • full_name (string) – nome completo de um utilizador

  • email (string) – email de um utilizador

  • is_superuser (boolean) – se o utilizador é um superutilizador

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

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

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

  • groups (array) – ligações 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 utilizador.

Parâmetros
  • username (string) – Nome de utilizador do utilizador

Objeto JSON de resposta
  • username (string) – nome de utilizador de um utilizador

  • full_name (string) – nome completo de um utilizador

  • email (string) – email de um utilizador

  • is_superuser (boolean) – se o utilizador é um superutilizador

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

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

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

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

Altera os parâmetros do utilizador.

Parâmetros
  • username (string) – Nome de utilizador do utilizador

Objeto JSON de resposta
  • username (string) – nome de utilizador de um utilizador

  • full_name (string) – nome completo de um utilizador

  • email (string) – email de um utilizador

  • is_superuser (boolean) – se o utilizador é um superutilizador

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

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

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

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

Apaga todas as informações do utilizador e marca o utilizador como inativo.

Parâmetros
  • username (string) – Nome de utilizador do utilizador

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

Associa grupos a um utilizador.

Parâmetros
  • username (string) – Nome de utilizador do utilizador

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

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

Parâmetros
  • username (string) – Nome de utilizador do utilizador

Objeto JSON de resposta
  • translated (int) – Quantidade de traduções por utilizador

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

  • uploaded (int) – Quantidade de envios por utilizador

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

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

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

Lista de subscrições de um utilizador.

Parâmetros
  • username (string) – Nome de utilizador do utilizador

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

Associar subscrições a um utilizador.

Parâmetros
  • username (string) – Nome de utilizador do utilizador

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

Parâmetros
  • username (string) – Nome de utilizador do utilizador

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

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

Edita uma assinatura associada a um utilizador.

Parâmetros
  • username (string) – Nome de utilizador do utilizador

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

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

Parâmetros
  • username (string) – Nome de utilizador do utilizador

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

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

Apaga uma assinatura associada a um utilizador.

Parâmetros
  • username (string) – Nome de utilizador do utilizador

  • 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 tiver permissões para ver grupos geridos. Se não, então pode ver apenas os grupos dos quais o utilizador faz parte.

Veja 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

  • defining_project (str) – ligação para o projeto de definição, usado para A gerir controle de acesso por projeto; veja GET /api/projects/(string:project)/

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

Devolve informação 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)/

Apaga o grupo.

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

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

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

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

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

Associar línguas 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)

Eliminar língua 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)

Apaga 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 utilizador. Se o utilizador for superutilizador, então a lista de todas as funções existentes será retornada.

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

Apaga a função.

Parâmetros
  • id (int) – ID da função

Idiomas

GET /api/languages/

Retorna uma lista de todos os idiomas.

Veja também

Os atributos do objeto de idioma estão documentados em GET /api/languages/(string:language)/.

POST /api/languages/

Cria uma nova língua.

Parâmetros
  • code (string) – Nome do idioma

  • name (string) – Nome do idioma

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

  • population (int) – Número de falantes

  • plural (object) – Fórmula e quantidade de plural do idioma

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

Devolve informação sobre uma língua.

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 falantes

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 linguísticos.

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 falantes

  • plural (object) – Detalhes de plural do idioma

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

Altera os parâmetros linguísticos.

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 falantes

  • plural (object) – Detalhes de plural do idioma

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

Apaga o idioma.

Parâmetros
  • language (string) – Código do idioma

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

Devolve estatísticas para uma língua.

Parâmetros
  • language (string) – Código do idioma

Objeto JSON de resposta
  • total (int) – quantidade total de cadeias

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

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

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

  • translated (int) – quantidade de cadeias traduzidas

  • translated_percent (float) – percentagem de cadeia traduzidas

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

  • translated_words_percent (int) – percentagem de palavras traduzidas

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

  • translated_chars_percent (int) – percentagem de caracteres traduzidos

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

  • fuzzy (int) – quantidade de cadeias aproximadas (marcados para edição)

  • fuzzy_percent (int) – percentagem de cadeias aproximadas (marcados para edição)

  • failing (int) – quantidade de cadeias com falha

  • failing – percentagem de cadeias com falha

Projetos

GET /api/projects/

Retorna uma lista de todos os projetos.

Veja 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 da Web do Projeto

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

Devolve informação sobre um projecto.

Parâmetros
  • project (string) – URL semântico 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 semântico do projeto

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

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

Novo na versão 4.3.

Edita um projeto por uma solicitação :http:method:PUT`.

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

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

Novo na versão 3.9.

Apaga um projeto.

Parâmetros
  • project (string) – URL semântico 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 a aceitar os mesmos parâmetros.

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

Objeto JSON de resposta
GET /api/projects/(string: project)/repository/

Retorna informações sobre o estado do repositório VCS. Este contém apenas um resumo geral de todos os repositórios para o projeto. Para obter um estado mais detalhado, use http:get:/api/components/(string:project)/(string:component)/repository/.

Parâmetros
  • project (string) – URL semântico 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 semântico 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 semântico 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 Ficheiros locais.

Alterado na versão 4.6: Os repositórios clonados agora são automaticamente compartilhados dentro de um projeto a usar 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 semântico do projeto

Parâmetros de formulário
  • file zipfile – Ficheiro ZIP para enviar ao Weblate para inicialização de traduções

  • file docfile – Documento para traduzir

  • boolean disable_autoshare – Desativa 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 ficheiros a usar 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 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 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 num projeto.

Novo na versão 3.8.

Parâmetros
  • project (string) – URL semântico 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) – quantidade total de cadeias

  • translated (int) – quantidade de cadeias traduzidas

  • translated_percent (float) – percentagem de cadeia traduzidas

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

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

  • words_percent (float) – percentagem de palavras traduzidas

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

Retorna estatísticas para um projeto.

Novo na versão 3.8.

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

Objeto JSON de resposta
  • total (int) – quantidade total de cadeias

  • translated (int) – quantidade de cadeias traduzidas

  • translated_percent (float) – percentagem de cadeia traduzidas

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

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

  • words_percent (float) – percentagem 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.

Veja 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 semântico do projeto

  • component (string) – URL semântico 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 semântico do projeto

  • component (string) – URL semântico 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 semântico do projeto

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

Objeto JSON da solicitação
  • branch (string) – Ramo do repositório VCS

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

  • filemask (string) – máscara dos ficheiros 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) – ficheiro base para traduções monolíngues

  • new_base (string) – ficheiro 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.

Apaga um componente.

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

  • component (string) – URL semântico 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/ a aceitar os mesmos parâmetros.

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

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

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

Novo na versão 4.9.

Descarrega odas as traduções disponíveis associadas ao componente como um ficheiro a usar o formato solicitado.

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

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

Parâmetros de consulta
  • format (string) – O formato de ficheiro 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 ecrã do componente.

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

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

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

Retorna o estado do bloqueio do componente.

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

  • component (string) – URL semântico 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 estado de bloqueio do componente.

A resposta é a mesma que GET /api/components/(string:project)/(string:component)/lock/.

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

  • component (string) – URL semântico 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 estado do repositório VCS.

A resposta é a mesma para GET /api/projects/(string:project)/repository/.

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

  • component (string) – URL semântico 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) – Estado do repositório VCS como relatado pelo VCS

  • merge_failure – Texto a descrever uma falha de mesclagem ou nulo se houver nenhuma

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

Executa a operação fornecida num repositório VCS.

Veja POST /api/projects/(string:project)/repository/ para a documentação.

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

  • component (string) – URL semântico 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/

Descarrega o ficheiro base para traduções monolíngues.

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

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

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

Descarrega o ficheiro de modelo para novas traduções.

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

  • component (string) – URL semântico 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 semântico do projeto

  • component (string) – URL semântico 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 semântico do projeto

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

Objeto JSON da solicitação
Objeto JSON de resposta
  • result (object) – novo objecto 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 semântico do projeto

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

Objeto JSON de resposta

Retorna projetos vinculados a um componente.

Novo na versão 4.5.

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

  • component (string) – URL semântico 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 semântico do projeto

  • component (string) – URL semântico 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 semântico do projeto

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

  • project_slug (string) – Slug do projeto para remover

Traduções

GET /api/translations/

Devolve uma lista de traduções.

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

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

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

  • component (string) – URL semântico 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) – quantidade de cadeias com verificações falhadas

  • failing_checks_percent (float) – Cadeias traduzidas com quaisquer verificações falhadas

  • failing_checks_words (int) – quantidade de verificações falhadas

  • filename (string) – Nome do ficheiro da tradução

  • fuzzy (int) – quantidade de cadeias aproximadas (marcados para edição)

  • fuzzy_percent (float) – percentagem de cadeias aproximadas (marcados para edição)

  • fuzzy_words (int) – quantidade de palavras em cadeias aproximadas (marcados para edição)

  • have_comment (int) – quantidade de cadeias com comentário

  • have_suggestion (int) – quantidade de cadeias com sugestão

  • is_template (boolean) – se a tradução tem uma base monolingue

  • 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 úlitmo autor

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

  • revision (string) – hash de revisão para o ficheiro

  • share_url (string) – URL para compartilhar a levar à página de engajamento

  • total (int) – quantidade total de cadeias

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

  • translate_url (string) – URL para tradução

  • translated (int) – quantidade de cadeias traduzidas

  • translated_percent (float) – percentagem de cadeia traduzidas

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

  • repository_url (string) – URL para estado do repositório; veja GET /api/translations/(string:project)/(string:component)/(string:language)/repository/

  • file_url (string) – URL para objeto ficheiro; 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 cadeias; 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.

Apaga uma tradução.

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

  • component (string) – URL semântico 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 a aceitar os mesmos parâmetros.

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

  • component (string) – URL semântico 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 semântico do projeto

  • component (string) – URL semântico 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 semântico do projeto

  • component (string) – URL semântico 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 semântico do projeto

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

  • language (string) – Código de idioma de tradução

Objeto JSON da solicitação
  • mode (string) – Modo de tradução automático

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

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

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

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

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

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

Descarrega o ficheiro de tradução atual como está armazenado no VCS (sem o parâmetro format) ou convertido para outro formato (veja Descarregar 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 ficheiro inteiro em vez de nos dados. O conjunto de parâmetros aceitos no format difere e sem tal parâmetro obtém o ficheiro de tradução armazenado no VCS.

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

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

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

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

  • language (string) – Código de idioma de tradução

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

Envia um novo ficheiro com traduções.

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

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

  • language (string) – Código de idioma de tradução

Parâmetros de formulário
  • string conflicts – Como lidar com conflitos (ignore, replace-translated ou replace-approved)

  • file file – Ficheiro 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 cadeia aproximadas (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 estado do repositório VCS.

A resposta é a mesma que para GET /api/components/(string:project)/(string:component)/repository/.

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

  • component (string) – URL semântico 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 semântico do projeto

  • component (string) – URL semântico 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/

Devolve estatísticas detalhadas da tradução.

Novo na versão 2.7.

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

  • component (string) – URL semântico 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 falhadas

  • failing_percent (float) – percentagem de verificações com falha

  • fuzzy (int) – quantidade de cadeias aproximadas (marcados para edição)

  • fuzzy_percent (float) – percentagem de cadeias aproximadas (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 úlitmo autor

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

  • name (string) – nome de idioma

  • total (int) – quantidade total de cadeias

  • translated (int) – quantidade de cadeias traduzidas

  • translated_percent (float) – percentagem de cadeia traduzidas

  • 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 uma cadeia traduzida 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)

Veja 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 cadeias plurais.

Devolve informação 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) – cadeia fonte

  • previous_source (string) – cadeia fonte anterior usado para correspondência aproximada

  • target (array) – cadeia alvo

  • id_hash (string) – identificador único da unidade

  • content_hash (string) – identificador único da cadeia 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á confusa ou marcada para revisão

  • translated (boolean) – Percentagem traduzido

  • approved (boolean) – Tradução aprovada

  • position (int) – posição da unidade no ficheiro de tradução

  • has_suggestion (boolean) – Cadeia tem sugestão

  • has_comment (boolean) – Cadeia tem comentário

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

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

  • priority (int) – prioridade de tradução. 100 é o padrão

  • id (int) – identificador da unidade

  • explanation (string) – Explicação de cadeia, disponível em unidades fonte, veja Informações adicionais sobre cadeias fonte

  • extra_flags (string) – Sinalizadores de cadeias adicionais, disponíveis nas unidades de fonte, veja Personalizando comportamento a usar marcadores

  • web_url (string) – URL onde a unidade pode ser editada

  • source_unit (string) – Ligação 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.

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

Realiza a atualização completa da 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.

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

Veja 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 utilizador do utilizador para filtros

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

Devolve informação sobre mudanças na 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 utilizador 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 textual da ação

  • target (string) – texto ou detalhe alterado de evento

  • id (int) – identificador da alteração

Capturas de ecrã

Novo na versão 2.14.

GET /api/screenshots/

Retorna uma lista de informações de cadeias de capturas de ecrã.

Veja também

Os atributos do objeto de captura de ecrã estão documentados em GET /api/screenshots/(int:id)/.

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

Retorna informações sobre dados de captura de ecrã.

Parâmetros
  • id (int) – ID da captura de ecrã

Objeto JSON de resposta
  • name (string) – nome de um screenshot

  • component (string) – URL de um objeto de componente relacionado

  • file_url (string) – URL para descarregar um ficheiro; veja GET /api/screenshots/(int:id)/file/

  • units (array) – ligação para associar informações sobre cadeia fonte; veja GET /api/units/(int:id)/

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

Descarrega a imagem de captura de ecrã.

Parâmetros
  • id (int) – ID da captura de ecrã

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

Substitui a imagem de captura de ecrã.

Parâmetros
  • id (int) – ID da captura de ecrã

Parâmetros de formulário
  • file image – Ficheiro 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 cadeias fonte com uma captura de ecrã.

Parâmetros
  • id (int) – ID da captura de ecrã

Parâmetros de formulário
  • string unit_id – ID da unidade

Objeto JSON de resposta
  • name (string) – nome de um screenshot

  • translation (string) – URL de um objeto de tradução relacionado

  • file_url (string) – URL para descarregar um ficheiro; veja GET /api/screenshots/(int:id)/file/

  • units (array) – ligação para associar informações sobre cadeia fonte; veja GET /api/units/(int:id)/

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

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

Parâmetros
  • id (int) – ID da captura de ecrã

  • unit_id – ID da unidade da cadeia fonte

POST /api/screenshots/

Cria uma nova captura de ecrã.

Parâmetros de formulário
  • file image – Ficheiro enviado

  • string name – Nome da captura do ecrã

  • 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 um screenshot

  • component (string) – URL de um objeto de componente relacionado

  • file_url (string) – URL para descarregar um ficheiro; veja GET /api/screenshots/(int:id)/file/

  • units (array) – ligação para associar informações sobre cadeia fonte; veja GET /api/units/(int:id)/

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

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

Parâmetros
  • id (int) – ID da captura de ecrã

Objeto JSON de resposta
  • name (string) – nome de um screenshot

  • component (string) – URL de um objeto de componente relacionado

  • file_url (string) – URL para descarregar um ficheiro; veja GET /api/screenshots/(int:id)/file/

  • units (array) – ligação para associar informações sobre cadeia fonte; veja GET /api/units/(int:id)/

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

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

Parâmetros
  • id (int) – ID da captura de ecrã

Objeto JSON de resposta
  • name (string) – nome de um screenshot

  • component (string) – URL de um objeto de componente relacionado

  • file_url (string) – URL para descarregar um ficheiro; veja GET /api/screenshots/(int:id)/file/

  • units (array) – ligação para associar informações sobre cadeia fonte; veja GET /api/units/(int:id)/

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

Apagar captura de ecrã.

Parâmetros
  • id (int) – ID da captura de ecrã

Extensões

Novo na versão 4.4.1.

GET /api/addons/

Retorna uma lista de extensões.

Veja 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

Veja 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 de componentes

Novo na versão 4.0.

GET /api/component-lists/

Retorna uma lista de listas de componentes.

Veja 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 num painel

  • components (array) – ligação 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 num 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 num painel

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

Apaga 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 cadeias comuns. Use a respetiva 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 percentagem

  • result (object) – Resultado da tarefa ou detalhes do progresso

  • log (string) – Registos da tarefa

Métricas

GET /api/metrics/

Retorna as métricas do servidor.

Objeto JSON de resposta
  • units (int) – Quantidade de unidades

  • units_translated (int) – Quantidade de unidades traduzidas

  • users (int) – Quantidade de utilizadores

  • changes (int) – Quantidade de alterações

  • projects (int) – Quantidade de projetos

  • components (int) – Quantidade de componentes

  • translations (int) – Quantidade de traduções

  • languages (int) – Quantidade de idiomas usados

  • checks (int) – Quantidade de verificações de qualidade acionadas

  • configuration_errors (int) – Quantidade de erros de configuração

  • suggestions (int) – Quantidade de sugestões pendentes

  • celery_queues (object) – Comprimento das filas de Celery, veja Tarefas de fundo a usar o Celery

  • name (string) – Nome do servidor configurado

Hooks de notificação

Os ganchos de notificação permitem que aplicações externos notifiquem o Weblate que o repositório VCS foi atualizado.

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 (a buscar do VCS e a procurar 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 num projeto (a descarregar do VCS e a procurar 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: ative o gancho do serviço Weblate nas configurações do repositório e defina a URL para a URL da sua instalação do Weblate.

Veja também

Receber alterações do GitHub automaticamente

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 ativar ganchos para todo o Weblate

POST /hooks/gitlab/

Gancho especial para lidar com notificações do GitLab e atualizar automaticamente os componentes correspondentes.

Veja também

Receber alterações do GitLab automaticamente

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 ativar ganchos para todo o Weblate

POST /hooks/bitbucket/

Gancho especial para lidar com notificações do Bitbucket e atualizar automaticamente os componentes correspondentes.

Veja também

Receber alterações do Bitbucket automaticamente

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

Veja também

Receber alterações do Pagure automaticamente

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

Veja também

Receber alterações dos Azure Repos automaticamente

Para instruções sobre como configurar integração com Azure

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

Informações genéricas sobre Web Hooks do Azure DevOps

ENABLE_HOOKS

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

Veja também

Receber alterações dos Gitea Repos automaticamente

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

Veja também

Receber alterações de Gitee Repos automaticamente

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 ativar ganchos para todo o Weblate

Exportações

O Weblate fornece várias exportações para permitir que 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.

Veja também

RSS on Wikipedia