Coroid traduz seu produto com o mesmo mecanismo que usa para suas treze línguas. Seus catálogos permanecem como arquivos no seu repositório. Qualquer alteração neles chega como uma tarefa normal e pull request, sendo enviadas ao modelo apenas as strings novas, modificadas ou com erros.
As traduções ficam em Controle de Qualidade → Traduções. A lista exibe cada projeto, se as traduções estão configuradas e a última varredura realizada. Abra um projeto para acessar sua estação de trabalho.
- Loja virtual
- Site de documentação
- Aplicativo móvel
| Localidade | Faltando | Desatualizado |
|---|---|---|
| de | 0 | 2 |
| fr | 14 | 0 |
| ja | 14 | 1 |
| ar | 14 | 0 |
- TraduçõesQA de tarefas e pull requests · apenas strings alteradasPublicado
- Auditoria de traduçãoAgendada · todas as páginas de catálogo e localidadeRascunho
Controle de qualidade → Traduções para um projeto: a última verificação de tradução por localidade e os controles de Auditoria de tradução e Traduções. Dados ilustrativos.
O que seu repositório precisa
Coroid lê catálogos nesses formatos:
| Formato | Use para |
|---|---|
| ICU JSON | Arquivos de mensagens com pluralização e seleção ICU |
| i18next JSON | Catálogos i18next e react-i18next, incluindo sufixos de plural |
| Vue i18n JSON | Mensagens vue-i18n, incluindo mensagens vinculadas e pluralização via pipe |
| YAML do Rails | config/locales/*.yml, com %{name} interpolação e chaves de plural |
| PO do gettext | .po arquivos e um .pot modelo, com Plural-Forms por idioma |
| Markdown e MDX | Páginas de documentação dentro de uma pasta de idioma (docs/en/…): texto, descrições de imagens e campos de frontmatter selecionados; código e marcação permanecem como estão. |
| Personalizado | Qualquer outro formato, por meio de um pequeno comando adaptador no seu repositório. |
Você ainda não precisa de traduções. Se seu projeto não tem i18n, Coroid pode introduzi-lo.
Configurar
A Configuração aba orienta você em três etapas.
- Detectar. Coroid prepara uma tarefa de descoberta. Ele executa o mecanismo de tradução definido no seu repositório e registra a pilha tecnológica, os catálogos, qual idioma é a fonte e tudo aquilo que gerar dúvidas.
- Escolher. Selecione Adotar i18n existente para manter sua estrutura e catálogos e adicionar as verificações e o mecanismo de deltas do Coroid. Escolha Introduzir i18n para que o Coroid configure sua estrutura, extraia as strings representativas e adicione roteamento de idiomas, fallbacks e suporte a escrita da direita para a esquerda.
- Criar. Coroid cria a tarefa de configuração com uma Especificação e critérios de aceitação. O resultado final é um pull request que você revisa como qualquer outra tarefa.
- Loja virtual
- Site de documentação
- Aplicativo móvel
- Detectar
- 2Escolher
- 3Criar
Mantenha sua estrutura e catálogos atuais e adicione as verificações de tradução e o mecanismo de deltas do Coroid.
Conecte sua estrutura, extraia strings representativas e adicione roteamento de localidade, fallback e comportamento RTL.
- Localidade de origem
- en
- Localidades de destino
- de, fr, ja, ar
A aba Configuração após a detecção: adote o i18n existente ou introduza-o, com as localidades de origem e destino. Dados ilustrativos.
A configuração fica pronta assim que esse pull request for mesclado ao branch padrão Coroid sincroniza. Até então, nada mais na estação de trabalho considerará essa configuração.
O arquivo do repositório
A Configuração grava .coroid/i18n.json. Ele descreve seu repositório, portanto fica no seu repositório e é alterado por meio de pull requests:
{
"version": 1,
"cli": { "version": "1.7.0", "sha256": "…" },
"sourceLocale": "en",
"targetLocales": ["de", "fr", "ja", "ar"],
"catalogs": [
{
"id": "ui",
"format": "i18next-json",
"source": "messages/{locale}.json"
}
],
"localeTier": { "ja": "escalation" }
}clifixa a versão exata do mecanismo e seu checksum. O Coroid baixa e verifica essa versão antes de cada execução, garantindo que uma atualização nunca altere seu resultado de forma inesperada.sourceLocalepode ser qualquer idioma. Uma fonte em sueco traduzida para inglês e alemão funciona da mesma maneira.localeTiersolicita o nível de qualidade de tradução para um idioma. Você escolhe um nível, nunca um modelo.
O arquivo também pode conter um glossário, termos protegidos, contexto do produto e instruções específicas por idioma.
Para alterá-lo, edite a proposta na Configuração aba e selecione Propor alteração. O Coroid abre uma tarefa que aplica exatamente esse arquivo e corrige quaisquer traduções afetadas pela alteração.
A mesma aba contém as configurações pertencentes ao Coroid e não ao seu repositório: quais sites podem abrir o seletor de sugestões, se as sugestões são revisadas por padrão e o limite de gastos com traduções do projeto.
Verifique cada alteração
As traduções passam a fazer parte da verificação por meio de dois controles de qualidade. Adicione-as na Visão geral aba.
- Traduções opera na verificação de tarefas e nos pull requests. Ele analisa apenas as strings afetadas pela alteração.
- Auditoria de tradução é executada periodicamente. Ela verifica todos os catálogos e idiomas e pode incluir um teste de navegador nas páginas do idioma, para verificar layout da direita para a esquerda, excesso de conteúdo e textos não traduzidos na página.
Ao adicionar um controle, uma minuta de política é preparada. Revise-a e publique-a em Políticas de qualidade para ativá-la.
Cada problema se torna uma ocorrência com um código de issue:
| Código | Significado | Bloqueia por padrão |
|---|---|---|
missing | A string não tem tradução | Sim |
invalid_syntax | A tradução não é válida, por exemplo, ICU corrompido | Sim |
placeholder_mismatch | Os placeholders diferem da fonte | Sim |
plural_categories | Falta uma forma plural necessária para esta localidade | Sim |
stale | O código-fonte foi alterado após a tradução da string | Não |
Você escolhe quais códigos serão bloqueados nas configurações do controle. O glossário, as regras de comprimento e de termos proibidos informam seus próprios códigos quando o arquivo os configura.
missingui · checkout.total · frNão traduzidostaleui · nav.deals · deOrigem alterada desde a traduçãoplaceholder_mismatchui · cart.items · jaOs placeholders diferem da origemplural_categoriesui · cart.count · arFormas plurais ausentes para esta localidade
Achados de qualidade da verificação de traduções, um código de problema por achado. Dados ilustrativos.
Quando um bloqueio de tradução impede uma tarefa, o agente desenvolvedor corrige o problema da mesma forma sempre: ele abre uma sessão de tradução para a tarefa e executa o mecanismo nas strings alteradas. Ele nunca edita catálogos de destino manualmente.
O modelo Tradutor
A tradução possui sua própria função nos perfis do AI, Tradutor, ao lado de Arquiteto, Desenvolvedor, QA e Revisor. Por padrão, ele utiliza o Hy-MT2, um modelo de tradução, com GPT-6 Luna como alternativa, quando a política da sua organização permitir. Altere o mapeamento em um perfil do AI como faria com qualquer outra função.
O mecanismo também agrupa as strings por tamanho, valida cada resposta conforme seus placeholders e regras de plural e tenta novamente ou encaminha uma string que falhar.
Custos
As traduções estão disponíveis em todos os planos. As chamadas de tradução passam pelo gateway de tradução do Coroid e são cobradas como uso de modelo para a sua organização, da mesma forma que as execuções de agentes. As tarefas de configuração contam para as horas de agente do seu plano como qualquer outra tarefa.
Com a rota de Tradutor padrão, a tradução custa cerca de dois centavos por 1.000 strings por idioma. Traduzir um catálogo de 2.000 strings para dez idiomas custou aproximadamente US$ 0,33 em nossos testes.
- Só as alterações geram custos. O mecanismo mantém um cache indexado pelo texto original, para que strings inalteradas nunca sejam enviadas novamente.
- Cada tarefa tem um limite de tradução. Uma sessão é interrompida no limite de gastos da tarefa, que é de US$ 1 por padrão. Um projeto pode definir um limite menor em Configuração → Acesso e gastos.
- As Verificações não fazem chamadas a modelos. O controle de Traduções e a auditoria leem seus catálogos; eles não traduzem.
Traduzindo fora do Coroid
O mecanismo é uma ferramenta de linha de comando, coroid-i18n. Seu próprio CI pode executar a mesma
versão fixada com sua própria chave OpenRouter. Dentro do Coroid, as tarefas sempre usam o
gateway de tradução, de modo que os gastos e limites fiquem em um só lugar.