Strumento di pseudotraduzione
Testi l'interfaccia i18n prima del lancio. Generi traduzioni fittizie che mettono alla prova layout, codifica e rendering bidirezionale, senza attendere le traduzioni reali.
Il problema
L'interfaccia sembra perfetta in inglese. Poi arriva il tedesco: stringhe più lunghe del 40% rompono ogni pulsante e troncano tutte le intestazioni delle tabelle. L'arabo inverte l'intero layout e le icone puntano nella direzione sbagliata. Il giapponese richiede interlinee diverse e le schede disposte con cura si deformano. E tutto questo emerge dopo aver pagato le traduzioni.
La soluzione
i18n-pseudo genera traduzioni fittizie che mettono alla prova l'interfaccia senza attendere i traduttori. Applica 7 strategie di trasformazione, tra cui accenti, caratteri CJK, espansione del testo e marcatori RTL, preservando segnaposto ICU, sintassi dei plurali e variabili di interpolazione.
Installazione
i18n-pseudo è disponibile come pacchetto npm o formula Homebrew; in alternativa, può compilarlo dal codice sorgente con Cargo.
npm install -g @i18n-agent/i18n-pseudo7 strategie di trasformazione
Ogni strategia è mirata a una specifica categoria di errori i18n. Le usi singolarmente con i flag oppure le combini tramite le preimpostazioni.
| 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̀õ |
Preimpostazioni
Le preimpostazioni raggruppano strategie per scenari di test comuni. Usi --preset per applicare contemporaneamente un gruppo di strategie.
| 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 |
Esempi di utilizzo
Esegua i18n-pseudo sul file della lingua di origine. Legge JSON, YAML, PO e altri formati i18n, applica le strategie selezionate e scrive l'output trasformato.
# 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/Prima e dopo
Ecco come la preimpostazione predefinita (accenti + parentesi) trasforma un tipico file di traduzione. La sintassi dei plurali ICU e i segnaposto di interpolazione vengono preservati esattamente.
// 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 {# íťéɱš}}]"
}Integrazione con la CI
Aggiunga la pseudotraduzione alla pipeline CI per rilevare automaticamente le regressioni i18n. Generi i file pseudotradotti, quindi esegua su di essi i test di regressione visiva.
# 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=visualStrumenti e guide correlati
Provi subito i18n Agent
Trascinare qui il file di traduzione
JSON, YAML, PO, XML, CSV, Markdown, Properties
oppure fare clic per selezionarlo
Lingue di destinazione