Outil de pseudo-traduction
Testez votre interface i18n avant le lancement. Générez de fausses traductions qui mettent à l'épreuve la mise en page, l'encodage et le rendu bidirectionnel — sans attendre les vraies traductions.
Le problème
Votre interface est parfaite en anglais. Puis vient l'allemand — des chaînes 40 % plus longues cassent chaque bouton et tronquent chaque en-tête de tableau. L'arabe inverse toute la mise en page et vos icônes pointent dans le mauvais sens. Le japonais nécessite des hauteurs de ligne différentes, et vos cartes soigneusement espacées s'effondrent. Vous découvrez tout cela après avoir payé pour les traductions.
La solution
i18n-pseudo génère de fausses traductions qui mettent votre interface à l'épreuve sans attendre de vrais traducteurs. Il applique 7 stratégies de transformation — accents, caractères CJK, expansion de texte, marqueurs RTL et bien plus — tout en préservant les espaces réservés ICU, la syntaxe des pluriels et les variables d'interpolation.
Installation
i18n-pseudo est disponible sous forme de paquet npm, de formule Homebrew, ou vous pouvez le compiler depuis les sources avec Cargo.
npm install -g @i18n-agent/i18n-pseudo7 stratégies de transformation
Chaque stratégie cible une catégorie spécifique de bug i18n. Utilisez-les individuellement avec des options, ou combinez-les grâce aux préréglages.
| 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̀õ |
Préréglages
Les préréglages regroupent des stratégies pour les scénarios de test courants. Utilisez --preset pour appliquer un groupe de stratégies en une seule fois.
| 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 |
Exemples d'utilisation
Exécutez i18n-pseudo sur votre fichier de locale source. Il lit les formats JSON, YAML, PO et d'autres formats i18n, applique les stratégies sélectionnées, et écrit le résultat transformé.
# 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/Avant / Après
Voici ce que le préréglage par défaut (accents + crochets) fait à un fichier de traduction type. Notez que la syntaxe des pluriels ICU et les espaces réservés d'interpolation sont préservés à l'identique.
// 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 {# íťéɱš}}]"
}Intégration CI
Ajoutez la pseudo-traduction à votre pipeline CI pour détecter automatiquement les régressions i18n. Générez des fichiers pseudo-traduits, puis exécutez vos tests de régression visuelle dessus.
# 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=visualOutils et guides associés
Essayez i18n Agent maintenant
Déposez votre fichier de traduction ici
JSON, YAML, PO, XML, CSV, Markdown, Properties
ou cliquez pour parcourir
Langues cibles