Skip to main content

Competências de i18n

Comandos de IA para auditar e envolver strings de i18n

O problema

Sua base de código contém 500 strings codificadas diretamente, espalhadas por componentes, modelos e vistas. Envolvê-las manualmente exige dias de tediosas pesquisas e substituições. Mesmo assim, escapam frases divididas que quebram em alemão, lógica de plural que falha em árabe e chaves órfãs que aumentam os arquivos de localidade.

Envolver i18n manualmente é propenso a erros: os desenvolvedores não detectam frases divididas, quebram plurais com operadores ternários e deixam strings codificadas diretamente em casos-limite. Estes erros só surgem após a tradução, quando corrigi-los custa 10 vezes mais.

A solução

Dois comandos com barra baseados em IA tratam de todo o fluxo de i18n. Execute /i18n-review para auditar o código em modo só de leitura e depois /i18n-wrap para corrigir tudo automaticamente. Ambos detectam o framework, compreendem o formato regional e validam as alterações antes do commit.

/i18n-review

Auditoria só de leitura que encontra frases divididas, plurais danificados, strings não envolvidas e chaves não utilizadas. Nunca altera seu código.

/i18n-wrap

Envolve automaticamente as strings codificadas diretamente com a função de tradução correta, gera chaves semânticas, atualiza arquivos de localidade e valida a compilação.

Comando /i18n-review

O comando de revisão executa uma auditoria só de leitura da base de código. Analisa todos os arquivos para detectar problemas de i18n e produz um relatório priorizado com locais exatos e sugestões de correção. O código nunca é alterado.

Terminal
/i18n-review src/
/i18n-review src/ --framework=next-intl

O que verifica

  • Frases divididas: chamadas t() concatenadas que quebram a ordem das palavras em outros idiomas
  • Envolvimento excessivo: strings técnicas, classes CSS, URL e valores enum incorretamente envolvidos com t()
  • Envolvimento insuficiente: strings visíveis na interface, como etiquetas de botões, títulos e mensagens de erro, deixadas diretamente no código
  • Problemas de plural: operadores ternários ou verificações === 1 em vez da sintaxe de plural ICU adequada
  • Chaves não utilizadas: chaves definidas em arquivos de localidade, mas nunca referenciadas no código
  • Valores de formato codificados diretamente: datas, moedas e números que não utilizam formatadores Intl
O comando de revisão é totalmente só de leitura. Execute-o sempre que quiser durante o desenvolvimento ou em pipelines de CI/CD, sem risco de alterações indesejadas.

Comando /i18n-wrap

O comando de envolvimento envolve automaticamente strings codificadas diretamente com a função de tradução correta para seu framework. Detecta a biblioteca de i18n, gera chaves semânticas agrupadas por componente ou funcionalidade, atualiza os arquivos de localidade e valida se a compilação continua passando.

Terminal
/i18n-wrap src/components/
/i18n-wrap src/ --framework=react-i18next

O que faz

  • Detecção do framework: identifica a biblioteca de i18n e a respectiva função de tradução —t, $t, $_, gettext, etc.—
  • Geração de chaves semânticas: cria chaves significativas como nav.signIn e errors.notFound em vez de etiquetas genéricas
  • Atualização dos arquivos de localidade: adiciona novas chaves ao arquivo de origem no formato correto —JSON, YAML, PO, etc.—
  • Validação da compilação: executa os comandos de compilação, verificação e teste após o envolvimento para detectar regressões
O comando de envolvimento valida todas as alterações ao executar a compilação e os testes. Se algo falhar, reverte automaticamente.

Frameworks compatíveis

Ambos os comandos detectam automaticamente o framework através das dependências do projeto. Também pode indicá-lo com o sinalizador --framework. Eis os 10 frameworks compatíveis, com as respectivas funções de tradução e formatos de plural.

FrameworkFunção de traduçãoFormato de plural
react-i18nextt()key_one / key_other
next-intlt()ICU {count, plural, ...}
vue-i18n$t()Pipe syntax | singular | plural
angular i18n$localizeICU {count, plural, ...}
svelte-i18n$_()ICU {count, plural, ...}
flutter intlS.of(context)Intl.plural()
djangogettext / _()ngettext()
rails i18nt()count key
laravel__() / @langtrans_choice()
swiftNSLocalizedString.stringsdict

Instalação

Copie os arquivos de comandos para o diretório .claude/commands/. É tudo: sem dependências nem configuração. São arquivos Markdown simples que qualquer assistente de programação com IA pode executar.

Terminal
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/
São arquivos normais de comandos com barra. Funcionam nativamente no Claude Code e podem ser adaptados a outros assistentes que aceitem comandos personalizados.

Exemplos de utilização

Projeto React

Revise uma aplicação React com react-i18next e depois envolva todas as strings codificadas diretamente. Os comandos detectam react-i18next através de package.json e utilizam a função t() e o formato de plural key_one/key_other corretos.

React Project
# Review a React project for i18n issues
/i18n-review src/ --framework=react-i18next

# Wrap all hardcoded strings automatically
/i18n-wrap src/components/ --framework=react-i18next

# Result: t() calls inserted, keys added to en/translation.json

Projeto Django

Audite os modelos e as vistas do Django para detectar problemas de i18n e depois envolva as strings com gettext. Os comandos detectam Django através de settings.py e utilizam _() nas strings simples e ngettext() nos plurais.

Django Project
# Review Django templates and views
/i18n-review myapp/ --framework=django

# Wrap hardcoded strings with gettext
/i18n-wrap myapp/templates/ --framework=django

# Result: _() calls inserted, .po file updated

Experimente já o i18n Agent

Solte aqui seu arquivo de tradução

JSON, YAML, PO, XML, CSV, Markdown, Properties

ou clique para selecionar

Idiomas de destino

Sem cadastroEstimativa imediata

Perguntas frequentes