Skip to main content

Competências de i18n

Comandos de IA para auditar e envolver cadeias de i18n

O problema

A sua base de código contém 500 cadeias 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 ficheiros regionais.

Envolver i18n manualmente é propenso a erros: os programadores não detetam frases divididas, quebram plurais com operadores ternários e deixam cadeias 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 detetam 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, cadeias não envolvidas e chaves não utilizadas. Nunca altera o seu código.

/i18n-wrap

Envolve automaticamente as cadeias codificadas diretamente com a função de tradução correta, gera chaves semânticas, atualiza ficheiros regionais 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 ficheiros para detetar 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 noutros idiomas
  • Envolvimento excessivo: cadeias técnicas, classes CSS, URL e valores enum incorretamente envolvidos com t()
  • Envolvimento insuficiente: cadeias 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 ficheiros regionais, 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 cadeias codificadas diretamente com a função de tradução correta para o seu framework. Deteta a biblioteca de i18n, gera chaves semânticas agrupadas por componente ou funcionalidade, atualiza os ficheiros regionais e valida se a compilação continua a passar.

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

O que faz

  • Deteção do framework: identifica a biblioteca de i18n e a respetiva 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 ficheiros regionais: adiciona novas chaves ao ficheiro 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 detetar 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 detetam 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 respetivas 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 ficheiros de comandos para o diretório .claude/commands/. É tudo: sem dependências nem configuração. São ficheiros 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 ficheiros normais de comandos com barra. Funcionam de origem no Claude Code e podem ser adaptados a outros assistentes que aceitem comandos personalizados.

Exemplos de utilização

Projeto React

Reveja uma aplicação React com react-i18next e depois envolva todas as cadeias codificadas diretamente. Os comandos detetam 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 detetar problemas de i18n e depois envolva as cadeias com gettext. Os comandos detetam Django através de settings.py e utilizam _() nas cadeias 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

Largue aqui o seu ficheiro de tradução

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

ou clique para selecionar

Idiomas de destino

Sem registoEstimativa imediata

Perguntas frequentes