A CLI do Lingo.dev traduz os ficheiros de recursos da sua aplicação web — JSON, YAML, XLIFF, PO ou PHP — através de um motor de localização configurado. Configure o i18n no seu framework, aponte a CLI para os seus ficheiros de tradução e execute.
Como funciona#
Todos os frameworks web têm uma biblioteca de i18n que carrega traduções a partir de ficheiros de recursos — JSON para React, XLIFF para Angular, PO para Django, entre outros. A CLI traduz esses ficheiros diretamente, para que o framework use as traduções sem qualquer alteração ao código.
Configure o i18n no seu framework
Use a biblioteca oficial de i18n do seu framework para adicionar routing adaptado ao idioma, uma função de tradução e ficheiros de recursos no idioma de origem. Cada secção abaixo inclui uma ligação para o guia oficial de configuração.
Configure a CLI
Crie um ficheiro i18n.json que indique à CLI onde estão os seus ficheiros de tradução e que idiomas deve visar. O tipo de bucket corresponde ao formato de recursos do seu framework.
Execute as traduções
Execute npx lingo.dev@latest run e a CLI traduz os seus ficheiros de recursos através do motor de localização — as regras do glossário, a voz da marca e a seleção do modelo são aplicadas automaticamente.
Pré-requisitos#
Cada execução da CLI envia conteúdo através de um motor de localização — a configuração que determina que modelo LLM, glossário, voz da marca e instruções se aplicam. Crie um no dashboard do Lingo.dev e gere uma chave de API.
Configuração assistida por IA
O i18n MCP pode criar automaticamente toda a infraestrutura de i18n do seu framework. Ligue-o ao Claude Code, Cursor ou GitHub Copilot e introduza o prompt "Set up i18n" — o agente segue uma checklist de 13 passos para configurar o routing, os ficheiros de tradução e um seletor de idioma.
Frameworks JavaScript#
O react-i18next carrega traduções a partir de ficheiros JSON e fornece um hook useTranslation que mapeia chaves para strings traduzidas em tempo de execução.
{
"$schema": "https://lingo.dev/schema/i18n.json",
"version": "1.15",
"locale": {
"source": "en",
"targets": ["es", "fr", "de", "ja"]
},
"buckets": {
"json": {
"include": ["public/locales/[locale]/translation.json"]
}
}
}Frameworks server-side#
O Laravel inclui localização nativa, que carrega traduções a partir de ficheiros PHP organizados por diretório de idioma.
{
"$schema": "https://lingo.dev/schema/i18n.json",
"version": "1.15",
"locale": {
"source": "en",
"targets": ["es", "fr", "de", "ja"]
},
"buckets": {
"php": {
"include": ["lang/[locale]/messages.php"]
}
}
}Executar traduções#
Com i18n.json configurado, traduza todos os ficheiros de recursos com um único comando:
npx lingo.dev@latest runA CLI lê os ficheiros do idioma de origem, calcula o que mudou desde a última execução com base no lockfile, traduz apenas o delta e escreve os resultados nos ficheiros do idioma de destino. As traduções existentes são preservadas — a CLI limita-se a preencher strings em falta ou atualizadas.
Ao trabalhar apenas sobre uma parte do projeto, pode visar um idioma ou bucket específico:
npx lingo.dev@latest run --target-locale es
npx lingo.dev@latest run --bucket json