La pseudo-localisation est une technique de test puissante qui transforme votre texte source en une langue fictive pour identifier les problèmes d'internationalisation (i18n) avant que la traduction réelle ne commence. Ce guide vous montre comment automatiser les tests de pseudo-localisation en utilisant le package npm pseudo-l10n.
La pseudo-localisation est le processus de transformation du texte source de votre application en une langue fictive modifiée qui imite le comportement de l'interface utilisateur après traduction. Elle aide les ingénieurs QA et les développeurs à identifier les problèmes d'i18n tôt dans le cycle de développement.

Exemple d'utilisation de la pseudo-localisation pour identifier des problèmes potentiels d'internationalisation. La police et la taille sont identiques des deux côtés, mais le support d'autres scripts nécessite souvent plus d'espace.
La pseudo-localisation vous aide à détecter les problèmes d'i18n tôt :
Voici des stratégies éprouvées pour automatiser les tests d'i18n avec la pseudo-localisation :
Remplacez les lettres latines par des formes accentuées ou des scripts différents pour tester l'encodage des caractères et le support des polices.
Exemple : "Save" → "Šàvē"
Vérification QA : Assurez-vous que tous les caractères s'affichent correctement et que rien ne casse à cause des problèmes d'encodage.
Développez automatiquement chaque chaîne d'environ 30 à 40 % pour imiter les langues longues comme l'allemand ou le finnois. Enveloppez avec des marqueurs visuels pour une détection facile du clipping.
Exemple : "Save" → ⟦Šàvēēēēē⟧
Vérification QA : Utilisez la comparaison automatisée de captures d'écran pour repérer les débordements d'interface utilisateur, le clipping ou le désalignement.
Remplacez les variables d'interpolation (espaces réservés) par des marqueurs visibles pour vérifier qu'ils sont préservés pendant la traduction.
Exemple : "Vous avez {{count}} éléments" → "Vous avez <COUNT> éléments"
Vérification QA : Exécutez des tests de régression ; échouez si un marqueur est manquant ou mal échappé (<COUNT>).
Enveloppez le texte dans des marqueurs de droite à gauche (RTL) en utilisant des caractères de contrôle Unicode pour simuler l'arabe ou l'hébreu.
Vérification QA : Vérifiez que l'alignement, la direction du texte et le miroir sont corrects pour les langues RTL.
Ajoutez la pseudo-localisation à votre pipeline de tests automatisés pour détecter les problèmes d'i18n avant qu'ils n'atteignent la production.
Vérification QA : Bloquez le déploiement si les tests détectent des traductions manquantes, des espaces réservés cassés ou des problèmes de mise en page.
Le package npm pseudo-l10n automatise la pseudo-localisation pour vos fichiers de traduction JSON, facilitant l'intégration des tests d'i18n dans votre flux de travail de développement.
Installez pseudo-l10n globalement pour une utilisation en ligne de commande :
npm install -g pseudo-l10nOu ajoutez-le en tant que dépendance de développement :
npm install --save-dev pseudo-l10nTransformez votre fichier de traduction source en une version pseudo-localisée :
pseudo-l10n input.json output.jsonEntrée (en.json) :
{
"welcome": "Welcome to our application",
"greeting": "Hello, {{name}}!",
"itemCount": "You have {{count}} items"
}Sortie (pseudo-en.json) :
{
"welcome": "⟦Ŵëļçõɱë ţõ õür àƥƥļïçàţïõñēēēēēēēēēēēēēēēēēē⟧",
"greeting": "⟦Ĥëļļõēēēēēē, {{name}}!ēēēēē⟧",
"itemCount": "⟦Ŷõü ĥàṽë {{count}} ïţëɱšēēēēēēēēēēēēēēēē⟧"
}pseudo-l10n en.json pseudo-en.json --expansion=30Simulez les langues de droite à gauche comme l'arabe ou l'hébreu :
pseudo-l10n en.json pseudo-ar.json --rtlRemplacez les espaces réservés par des marqueurs en majuscules pour une détection visuelle plus facile :
pseudo-l10n en.json pseudo-en.json --replace-placeholders
# Input: { "greeting": "Hello, {{name}}!" }
# Output: { "greeting": "⟦Ĥëļļõēēēēēē, <NAME>!ēēēēē⟧" }Le package prend en charge divers formats d'espaces réservés utilisés par différentes bibliothèques i18n :
# For i18next (default)
pseudo-l10n en.json pseudo-en.json --placeholder-format="{{key}}"
# For Angular/React Intl
pseudo-l10n en.json pseudo-en.json --placeholder-format="{key}"
# For sprintf style
pseudo-l10n en.json pseudo-en.json --placeholder-format="%key%"Utilisez pseudo-l10n de manière programmatique dans vos scripts Node.js ou votre processus de construction :
const { generatePseudoLocaleSync, pseudoLocalize } = require('pseudo-l10n');
// Generate a pseudo-localized JSON file
generatePseudoLocaleSync('en.json', 'pseudo-en.json', {
expansion: 40,
rtl: false
});
// Pseudo-localize a single string
const result = pseudoLocalize('Hello, {{name}}!');
console.log(result);
// Output: ⟦Ĥëļļõēēēēēēēēēēēēēē, {{name}}!ēēēēē⟧Ajoutez la génération de pseudo-localisation à vos scripts package.json :
{
"scripts": {
"pseudo": "pseudo-l10n src/locales/en.json src/locales/pseudo-en.json",
"pseudo:rtl": "pseudo-l10n src/locales/en.json src/locales/pseudo-ar.json --rtl"
}
}Générez des pseudo-locales dans le cadre de votre processus de construction :
// build.js
const { generatePseudoLocaleSync } = require('pseudo-l10n');
// Generate pseudo-locales as part of build
generatePseudoLocaleSync(
'./src/locales/en.json',
'./src/locales/pseudo-en.json',
{ expansion: 40 }
);
generatePseudoLocaleSync(
'./src/locales/en.json',
'./src/locales/pseudo-ar.json',
{ rtl: true }
);Intégrez la pseudo-localisation dans votre pipeline d'intégration continue :
# .github/workflows/test.yml
- name: Generate pseudo-locales
run: |
npm install -g pseudo-l10n
pseudo-l10n src/locales/en.json src/locales/pseudo-en.json
- name: Run i18n tests
run: npm run test:i18nUne fois que vous avez validé votre implémentation i18n avec la pseudo-localisation, il est temps de traduire votre application pour de vrais utilisateurs. C'est là que les services de traduction alimentés par l'IA comme l10n.dev entrent en jeu.
Après avoir vérifié que votre application gère correctement l'internationalisation avec la pseudo-localisation, utilisez l10n.dev pour une traduction professionnelle alimentée par l'IA :
Prêt à détecter les problèmes d'i18n tôt et à rationaliser votre flux de travail de localisation ?
Téléchargez vos fichiers i18n et laissez l'IA gérer la traduction avec conscience du contexte et formatage approprié
Découvrez pourquoi la traduction alimentée par l'IA est meilleure pour les fichiers i18n que les méthodes traditionnelles
Intégrez la localisation alimentée par l'IA directement dans votre pipeline CI/CD
Apportez la localisation par IA dans votre flux de travail avec nos extensions et plugins
La pseudo-localisation est une technique de test essentielle qui vous aide à détecter les problèmes d'internationalisation avant qu'ils n'atteignent la production. En automatisant les tests de pseudo-localisation avec le package pseudo-l10n, vous pouvez vous assurer que votre application est vraiment prête pour un public mondial.
Associée à la traduction alimentée par l'IA de l10n.dev, vous pouvez créer des applications multilingues robustes, plus rapidement et avec confiance.