Pseudovertaaltool
Test je i18n-interface vóór de lancering. Genereer nepvertalingen die de lay-out, tekencodering en bidirectionele weergave zwaar op de proef stellen — zonder op echte vertalingen te wachten.
Het probleem
Je interface ziet er in het Engels perfect uit. Dan komt het Duits — 40% langere tekenreeksen breken elke knop en kappen elke tabelkop af. Arabisch draait de hele lay-out om en je pictogrammen wijzen de verkeerde kant op. Japans vereist andere regelhoogten, waardoor je zorgvuldig ingedeelde kaarten instorten. Je ontdekt dit allemaal pas nadat je voor vertalingen hebt betaald.
De oplossing
i18n-pseudo genereert nepvertalingen die je interface zwaar op de proef stellen zonder dat je op echte vertalers hoeft te wachten. De tool past 7 transformatiestrategieën toe — accenten, CJK-tekens, tekstuitbreiding, RTL-markeringen en meer — terwijl ICU-placeholders, meervoudssyntaxis en interpolatievariabelen behouden blijven.
Installatie
i18n-pseudo is beschikbaar als npm-pakket en Homebrew-formule, maar je kunt de tool ook vanuit de broncode bouwen met Cargo.
npm install -g @i18n-agent/i18n-pseudo7 transformatiestrategieën
Elke strategie is gericht op een specifieke categorie i18n-bugs. Gebruik ze afzonderlijk met flags of combineer ze in presets.
| 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̀õ |
Voorinstellingen
Presets bundelen strategieën voor veelvoorkomende testscenario's. Gebruik --preset om een groep strategieën tegelijk toe te passen.
| 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 |
Gebruiksvoorbeelden
Voer i18n-pseudo uit op je brontaalbestand. De tool leest JSON, YAML, PO en andere i18n-indelingen, past de geselecteerde strategieën toe en schrijft de getransformeerde uitvoer weg.
# 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/Voor en na
Hier zie je wat de standaardpreset (accenten + haakjes) met een doorsnee vertaalbestand doet. De ICU-meervoudssyntaxis en interpolatieplaceholders blijven exact behouden.
// 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 {# íťéɱš}}]"
}CI-integratie
Voeg pseudovertaling toe aan je CI-pipeline om i18n-regressies automatisch te onderscheppen. Genereer bestanden met pseudovertalingen en voer daarop je visuele regressietests uit.
# 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=visualGerelateerde tools en handleidingen
Probeer i18n Agent nu
Zet je vertaalbestand hier neer
JSON, YAML, PO, XML, CSV, Markdown, Properties
of klik om een bestand te selecteren
Doeltalen