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.
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.
/i18n-review src/
/i18n-review src/ --framework=next-intlO 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
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.
/i18n-wrap src/components/
/i18n-wrap src/ --framework=react-i18nextO 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
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.
| 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 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.
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/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.
# 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 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.
# 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
Largue aqui o seu ficheiro de tradução
JSON, YAML, PO, XML, CSV, Markdown, Properties
ou clique para selecionar
Idiomas de destino