Ferramenta de pseudotradução
Teste a interface de i18n antes do lançamento. Gere traduções simuladas que submetem o layout, a codificação e a apresentação bidirecional a testes exigentes, sem esperar pelas traduções reais.
O problema
Sua interface parece perfeita em inglês. Depois chega o alemão: strings 40% maiores quebram todos os botões e cortam os cabeçalhos das tabelas. O árabe inverte todo o layout e os ícones apontam para o lado errado. O japonês precisa de outras alturas de linha e os cartões cuidadosamente espaçados se desmoronam. Você descobre tudo isso depois de pagar pelas traduções.
A solução
i18n-pseudo gera traduções simuladas que submetem a interface a testes exigentes sem esperar por tradutores. Aplica 7 estratégias de transformação —acentos, caracteres CJK, expansão de texto, marcadores RTL e outras— preservando os marcadores ICU, a sintaxe de plural e as variáveis de interpolação.
Instalação
i18n-pseudo está disponível como pacote npm e fórmula Homebrew ou pode ser compilado a partir do código-fonte com Cargo.
npm install -g @i18n-agent/i18n-pseudo7 estratégias de transformação
Cada estratégia visa uma classe específica de erro de i18n. Utilize-as individualmente com sinalizadores ou combine-as através de predefinições.
| Strategy | Flag | Input | Output |
|---|---|---|---|
| Accents | --accents | Hello | Ĥéľľó |
| CJK | --cjk | Hello | 你好世界你好 |
| Special Chars | --special | Hello | Hello |
| Expansion | --expansion N | Save | Save~~~~ |
| Brackets | --brackets | Hello | [Hello] |
| RTL | --rtl | Hello | Hello |
| Unicode Stress | --unicode-stress | Hello | H́ȩl̈l̀õ |
Predefinições
As predefinições agrupam estratégias para cenários de teste habituais. Utilize --preset para aplicar várias estratégias de uma só vez.
| Preset | Strategies | Use Case |
|---|---|---|
default | accents + brackets | Quick visual check that all strings are externalized |
layout | expansion (1.4x) + brackets | Catch truncation and overflow before real translations |
charset | CJK + special + brackets | Test font rendering and character encoding |
rtl | RTL markers + brackets | Verify bidirectional layout without switching locale |
full | All strategies combined | Maximum stress test — everything at once |
Exemplos de utilização
Execute i18n-pseudo no arquivo de localidade de origem. Lê JSON, YAML, PO e outros formatos de i18n, aplica as estratégias selecionadas e grava o resultado transformado.
# Default (accents + brackets)
i18n-pseudo en.json -o output/
# Layout testing (text expansion + brackets)
i18n-pseudo en.json --preset layout -o output/
# Specific strategies
i18n-pseudo en.json --accents --expansion 1.5 -o output/
# Kitchen sink
i18n-pseudo en.json --preset full -o output/Antes e depois
Eis o efeito da predefinição padrão —acentos e colchetes— em um arquivo de tradução habitual. Observe que a sintaxe de plural ICU e os marcadores de interpolação são preservados com exatidão.
// Input (en.json):
{
"greeting": "Hello, {name}!",
"save": "Save",
"items": "{count, plural, one {# item} other {# items}}"
}
// Output (default preset — accents + brackets):
{
"greeting": "[Ĥéľľó, {name}!]",
"save": "[Šáṽé]",
"items": "[{count, plural, one {# íťéɱ} other {# íťéɱš}}]"
}Integração com CI
Adicione a pseudotradução ao pipeline de CI para detectar automaticamente regressões de i18n. Gere arquivos pseudotraduzidos e execute os testes de regressão visual sobre eles.
# Generate pseudo-translations and run visual regression
i18n-pseudo locales/en.json --preset layout -o locales/pseudo/
NEXT_PUBLIC_LOCALE=pseudo npx playwright test --project=visualFerramentas e guias 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