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.
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.
/i18n-review src/
/i18n-review src/ --framework=next-intlO 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
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.
/i18n-wrap src/components/
/i18n-wrap src/ --framework=react-i18nextO 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
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.
| Framework | Função de tradução | Formato de plural |
|---|---|---|
| react-i18next | t() | key_one / key_other |
| next-intl | t() | ICU {count, plural, ...} |
| vue-i18n | $t() | Pipe syntax | singular | plural |
| angular i18n | $localize | ICU {count, plural, ...} |
| svelte-i18n | $_() | ICU {count, plural, ...} |
| flutter intl | S.of(context) | Intl.plural() |
| django | gettext / _() | ngettext() |
| rails i18n | t() | count key |
| laravel | __() / @lang | trans_choice() |
| swift | NSLocalizedString | .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.
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/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.
# 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.jsonProjeto 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.
# 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 updatedGuias de frameworks relacionados
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