Início Rápido
Traduza seu primeiro arquivo de localização em 60 segundos.
1. Configure Seus Arquivos de Localização
Crie um arquivo de localização de origem. O Rosetta suporta JSON, TOML e YAML:
{
"hero": {
"title": "Welcome to our platform",
"subtitle": "Build something amazing"
},
"nav": {
"home": "Home",
"about": "About",
"contact": "Contact"
}
}
2. Configure Sua Chave de API
Escolha um provedor e configure a chave:
# Option A: OpenRouter (200+ models, recommended)
export OPENROUTER_API_KEY=sk-or-v1-...
# Option B: Gemini (free tier — zero cost to start)
export GEMINI_API_KEY=AI...
Obtenha uma chave gratuita do Gemini em aistudio.google.com/apikey. Obtenha uma chave do OpenRouter em openrouter.ai.
3. Execute a Sincronização
npx i18n-rosetta sync
:::tip Usando o Gemini?
Se você escolheu a Opção B (Gemini), adicione --method gemini:
npx i18n-rosetta sync --method gemini
:::
O Rosetta irá:
- Detectar automaticamente
locales/en.jsoncomo a origem - Encontrar (ou solicitar) os idiomas de destino
- Traduzir todas as chaves
- Escrever
locales/fr.json,locales/ja.json, etc. - Criar
.i18n-rosetta.lockpara rastrear o que foi traduzido
4. Verifique os Resultados
cat locales/fr.json
{
"hero": {
"title": "Bienvenue sur notre plateforme",
"subtitle": "Construisez quelque chose d'incroyable"
},
"nav": {
"home": "Accueil",
"about": "À propos",
"contact": "Contact"
}
}
O Que Acontece a Seguir?
Quando você altera uma string de origem, o rosetta detecta a alteração através do rastreamento de hash SHA-256 e traduz novamente apenas essa chave na próxima sincronização:
{
"hero": {
"title": "Welcome to Acme Platform", // ← changed
"subtitle": "Build something amazing" // ← unchanged, skipped
}
}
npx i18n-rosetta sync
# Only "hero.title" is re-translated across all locales
Opcional: Crie um Arquivo de Configuração
Para mais controle, gere um arquivo de configuração:
npx i18n-rosetta init # guided wizard
npx i18n-rosetta init --yes --langs fr,de,ja # quick setup with specific targets
O assistente guiado orienta você por cada um dos register presets do idioma — instruções pré-construídas de tom/formalidade ajustadas ao seu sistema linguístico. O francês possui predefinições T-V (vouvoiement vs tutoiement), o coreano possui níveis de fala (해요체 vs 합쇼체 vs 해체), o japonês possui opções de keigo (です/ます vs 丁寧語).
Ou crie uma configuração manualmente com chaves predefinidas:
{
"version": 3,
"inputLocale": "en",
"localesDir": "./locales",
"languages": {
"fr": "casual-tu",
"ko": "polite-haeyo",
"ja": "polite"
},
"model": "google/gemini-2.5-flash"
}
Execute npx i18n-rosetta init para navegar pelos presets disponíveis para cada idioma.
Opcional: Watch Mode
Traduza automaticamente quando seu arquivo de origem for alterado:
npx i18n-rosetta watch
Próximos Passos
- Configuração — Referência completa de configuração
- Métodos de Tradução — Escolha o método certo
- Integração com Frameworks — Hugo, next-intl, react-i18next
- CI/CD — Automatize traduções no seu pipeline