VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/Idiomas

Traduções da interface

Lê, grava e apaga os textos da interface (chaves de tradução) de um idioma da loja.

Os textos da interface (botões, menus, mensagens) vivem em chaves com pontos, como cart.checkout. A plataforma traz um pacote padrão em inglês, e cada loja guarda por cima dele as suas próprias linhas por idioma. Estas rotas editam essas linhas. Exigem o privilégio manage_settings e um idioma já registrado na loja (senão, 404).

Ler traduções

GET/api/v1/admin/languages/{code}/translationsAdmin

Lê as traduções de um idioma, inteiras ou paginadas

A rota tem dois modos. Sem page nem per_page, devolve só o mapa das linhas que a loja gravou (pode ser pequeno). Com page ou per_page, devolve as linhas do editor: a união das linhas da loja com todas as chaves do pacote em inglês (dezenas de milhares), já paginadas e com a comparação lado a lado.

Parâmetros de caminho

codestringobrigatório
Código do idioma.

Parâmetros de consulta

pageintegerpadrão: 1
Página. Informar este ou per_page liga o modo paginado.
per_pageintegerpadrão: 100
Itens por página, no máximo 200.
searchstring
Filtra (sem diferenciar maiúsculas) por texto na chave, no valor da loja, no texto do pacote do idioma ou no inglês. Só no modo paginado.
missingstring
1true
Só as chaves que a loja não gravou e que o pacote do idioma também não traz.
problemsstring
1true
Só as linhas com algum defeito apontado (veja abaixo).

Exemplo de requisição

bash
curl "$BASE_URL/api/v1/admin/languages/es/translations?page=1&per_page=50&missing=1" \
  -H "Authorization: Bearer $TOKEN"
200Modo paginado
json
{
  "items": [
    {
      "key": "account.addresses.cancelEdit",
      "value": "Cancelar edición",
      "en": "Cancel Edit",
      "bundled": "Cancelar edición"
    },
    {
      "key": "cart.empty",
      "value": "Your cart is empty",
      "en": "Your cart is empty",
      "bundled": "Su carrito está vacío",
      "problemas": ["igual_ao_ingles"]
    }
  ],
  "total": 47040,
  "page": 1,
  "per_page": 50,
  "key_count": 47040,
  "filled": 47038,
  "faltando": 2,
  "com_problema": 1
}

Campos da resposta (modo paginado)

items[].keystring
Chave da tradução.
items[].valuestring
Texto gravado pela loja neste idioma. Vazio quando a loja não gravou nada.
items[].enstring
Texto original em inglês.
items[].bundledstring
Texto que o pacote do idioma entrega para a chave. É o que a vitrine mostra quando a loja não gravou valor próprio.
items[].problemasarray
Defeitos mecânicos da linha: igual_ao_ingles, vazio, placeholder_faltando ou placeholder_sobrando ({{x}} presente no inglês e ausente na tradução, ou o contrário). Ausente quando não há defeito.
totalinteger
Linhas que atendem ao filtro.
pageinteger
Página devolvida.
per_pageinteger
Itens por página aplicados.
key_countinteger
Total de chaves do idioma, sem considerar o filtro.
filledinteger
Chaves que o cliente vê traduzidas (valor da loja ou texto do pacote do idioma), sem considerar o filtro.
faltandointeger
Chaves que não resolvem em lugar nenhum: sem valor da loja e sem texto no pacote do idioma.
com_problemainteger
Chaves com algum defeito apontado.
200Modo simples
json
{
  "translations": {
    "cart.checkout": "Finalizar compra",
    "cart.empty": "Seu carrinho está vazio"
  }
}

Gravar traduções

PUT/api/v1/admin/languages/{code}/translationsAdmin

Grava várias traduções de uma vez

Cria ou substitui (upsert) as linhas enviadas. Chaves que você não enviar permanecem como estão. Um mapa vazio não faz nada e devolve updated: 0.

Parâmetros de caminho

codestringobrigatório
Código do idioma.

Corpo da requisição

translationsobjectobrigatório
Mapa de chave para texto. Todos os valores são strings.
200Traduções gravadas
json
{ "updated": 1 }

Campos da resposta

updatedinteger
Quantidade de linhas criadas ou atualizadas.

Apagar uma tradução

DELETE/api/v1/admin/languages/{code}/translations/{key}Admin

Apaga a tradução gravada de uma chave

Remove a linha da loja para a chave. A vitrine volta a usar o texto do pacote do idioma. É idempotente: apagar uma chave que a loja nunca gravou também retorna 204.

Parâmetros de caminho

codestringobrigatório
Código do idioma.
keystringobrigatório
Chave, por exemplo cart.checkout.

A resposta é 204 No Content.

Erros

StatusQuandoCorpo
400Corpo inválido (gravar){"error":"invalid request body","detail":"..."}
401Sem token ou token expirado{"error":"missing authorization header"}
403Sem o privilégio manage_settings{"error":"insufficient privileges","required":"manage_settings"}
404Idioma sem registro na loja{"error":"language not found"}
500Falha interna ao ler ou gravar{"error":"failed to upsert translations","detail":"..."}
Cópia do inglês conta como defeito

Gravar o mesmo texto do inglês numa chave tira a chave de faltando, mas ela continua em inglês para o cliente. Por isso o campo problemas marca igual_ao_ingles: use o filtro problems=1 para achar esses casos.

Veja também

  • Habilitar idioma
  • Cobertura e revisão
Anterior
Alterar, padrão e remover
Próxima
Traduzir o catálogo
Nesta página
  • Ler traduções
  • Exemplo de requisição
  • Gravar traduções
  • Apagar uma tradução
  • Erros
  • Veja também