Table des matières
Tests de Localisation : Guide Complet pour Vérifier les Logiciels Multilingues
Points Clés
- Les tests de localisation vérifient que votre logiciel fonctionne correctement dans tous les locales cibles — pas seulement que les traductions sont exactes
- Les catégories de tests comprennent : linguistiques, cosmétiques/UI, fonctionnelles, spécifiques aux locales et d'accessibilité
- La pseudo-localisation détecte les problèmes d'i18n tôt en simulant l'expansion de texte, les caractères spéciaux et le RTL sans traductions réelles
- Les tests automatisés peuvent vérifier les placeholders, la longueur des chaînes, l'exactitude des formats et la mise en page UI, mais la précision linguistique nécessite une révision humaine
- Les tests doivent être effectués en continu en parallèle avec le développement, pas comme une phase finale avant la sortie
Qu'est-ce que les Tests de Localisation ?
Les tests de localisation vérifient qu'un produit localisé fonctionne correctement pour son public cible. Cela va au-delà de la vérification de l'exactitude des traductions pour s'assurer que toute l'expérience utilisateur — mise en page UI, formatage, fonctionnalité et adéquation culturelle — est correcte pour chaque locale.
Une idée reçue courante est que les tests de localisation consistent uniquement à relire les traductions. En réalité, de nombreux bugs de localisation sont techniques : texte tronqué, mises en page cassées, formats de date incorrects, liens non fonctionnels ou erreurs d'encodage qui n'ont rien à voir avec la qualité de la traduction.
Catégories de Tests
Tests Linguistiques
Vérifiez que les traductions sont exactes, naturelles et appropriées pour le public cible.
Ce qu'il faut vérifier :
- Exactitude de la traduction (transmet-elle le bon sens ?)
- Naturel (sonne-t-elle comme une langue maternelle, pas comme un texte traduit ?)
- Cohérence terminologique (« Dashboard » est-il traduit de la même manière partout ?)
- Ton et formalité (correspond-il à la voix du produit pour ce marché ?)
- Grammaire et orthographe (correctes pour le locale — anglais britannique vs. américain, portugais brésilien vs. européen)
Qui le fait : Des locuteurs natifs de la langue cible, idéalement avec une connaissance du domaine.
Tests Cosmétiques / UI
Vérifiez que le contenu traduit s'affiche correctement dans l'interface utilisateur.
Ce qu'il faut vérifier :
| Problème | Exemple |
|---|---|
| Troncature de texte | Étiquette de bouton « Enregistrer les modifications » coupée à « Enregistrer les modi... » |
| Débordement de texte | Une longue étiquette allemande pousse d'autres éléments hors de l'écran |
| Mise en page cassée | Le texte RTL provoque des colonnes mal alignées |
| Rendu des polices | Glyphes manquants pour les caractères CJK ou Devanagari |
| Chevauchement d'images | Texte chevauchant des images ou des icônes codées en dur |
| Design responsive | Le contenu localisé casse les mises en page mobiles |
Comment tester : Inspection visuelle de chaque écran dans chaque langue cible. Les outils de comparaison de captures d'écran (Percy, Chromatic) peuvent automatiser la détection des changements de mise en page.
Tests Fonctionnels
Vérifiez que l'application fonctionne correctement dans tous les locales.
Ce qu'il faut vérifier :
- Le changement de locale fonctionne correctement (changer de langue ne perd pas l'état)
- Les formulaires acceptent les entrées spécifiques au locale (noms avec diacritiques, adresses dans différents formats)
- La recherche fonctionne avec des caractères accentués (rechercher « café » trouve « cafe » et vice versa)
- Le tri suit les règles spécifiques au locale (l'ordre alphabétique suédois diffère de l'anglais)
- Les liens et la navigation fonctionnent dans toutes les versions linguistiques
- Les entrées de devise, de date et de nombre acceptent des formats appropriés au locale
Tests Spécifiques aux Locales
Vérifiez que les fonctionnalités conscientes des locales fonctionnent correctement pour chaque locale cible.
Ce qu'il faut vérifier :
| Fonctionnalité | Exemple |
|---|---|
| Format de date | États-Unis : 03/02/2026, Allemagne : 02.03.2026, Japon : 2026/03/02 |
| Format de nombre | États-Unis : 1 234,56, Allemagne : 1.234,56, France : 1 234,56 |
| Format de devise | États-Unis : $1 234, Japon : ¥1 234, Allemagne : 1 234 € |
| Format d'heure | États-Unis : 3:30 PM, Allemagne : 15:30 |
| Format d'adresse | États-Unis : Ville, État CP, Allemagne : CP Ville |
| Format de numéro de téléphone | États-Unis : (555) 123-4567, Royaume-Uni : 020 1234 5678 |
Tests d'Accessibilité
Vérifiez que le contenu localisé reste accessible.
Ce qu'il faut vérifier :
- Les lecteurs d'écran lisent correctement le contenu traduit
- L'attribut
langest correctement défini sur l'élément HTML et sur les changements de langues en ligne - Le contenu RTL est correctement marqué avec
dir="rtl" - Le contraste des couleurs est maintenu avec le texte traduit (une longueur différente peut affecter la mise en page)
- La navigation au clavier fonctionne dans tous les locales
Pseudo-Localisation
La pseudo-localisation est une technique pour trouver des bugs d'internationalisation avant que les traductions réelles soient disponibles. Elle transforme les chaînes source de manières qui simulent les défis de localisation :
Types de Pseudo-Localisation
Caractères accentués : Remplacer les caractères ASCII par des équivalents accentués.
- « Settings » → « Šéttîñgš »
- Tests : Gestion Unicode, rendu des polices, encodage des caractères
Expansion de texte : Rembourrer les chaînes pour simuler l'expansion de 30 à 40 % courante dans les langues européennes.
- « Save » → « [Šåvé xxxxxxxxx] »
- Tests : Flexibilité de la mise en page, troncature de texte, design responsive
Crochets/marqueurs : Envelopper les chaînes dans des marqueurs visibles pour identifier le texte non traduit ou codé en dur.
- « Settings » → « [Šéttîñgš] »
- Tests : Complétude de l'externalisation des chaînes — tout texte sans crochets est codé en dur
Simulation RTL : Inverser la direction du texte pour tester le miroir de la mise en page.
- Tests : Miroir UI, gestion du texte bidirectionnel, CSS logical properties
Quand Utiliser la Pseudo-Localisation
- Pendant le développement : Activer la pseudo-localisation dans les builds de développement pour détecter les problèmes dès leur introduction
- Avant la traduction : Vérifier que toutes les chaînes sont externalisées et que l'UI gère l'expansion avant d'investir dans de vraies traductions
- Dans CI/CD : Ajouter une étape de build de pseudo-localisation qui échoue si des chaînes codées en dur sont détectées
// Exemple : configuration de pseudo-localisation
{
"pseudoLocale": {
"enabled": true,
"strategy": "accented",
"expansion": 1.35,
"brackets": true
}
}
Approches de Tests Automatisés
Validation des Placeholders
Vérifiez que tous les placeholders des chaînes source existent dans les traductions :
// Test : Chaque {placeholder} dans la source existe dans la traduction
function validatePlaceholders(source, translation) {
const sourcePlaceholders = source.match(/\{[^}]+\}/g) || [];
const translationPlaceholders = translation.match(/\{[^}]+\}/g) || [];
for (const placeholder of sourcePlaceholders) {
if (!translationPlaceholders.includes(placeholder)) {
throw new Error(`Placeholder manquant ${placeholder} dans la traduction`);
}
}
}
Tests de Régression Visuelle
Utilisez des outils comme Playwright ou Cypress pour capturer des captures d'écran dans chaque locale et les comparer aux baselines :
// Playwright : Capturer des captures d'écran pour chaque locale
for (const locale of ['en', 'de', 'ja', 'ar']) {
await page.goto(`https://app.example.com/${locale}/dashboard`);
await page.screenshot({
path: `screenshots/${locale}-dashboard.png`,
fullPage: true,
});
}
Vérification de la Complétude des Traductions
// Vérifier que toutes les clés source ont des traductions
function checkCompleteness(sourceKeys, translationKeys, locale) {
const missing = sourceKeys.filter(key => !translationKeys.includes(key));
if (missing.length > 0) {
console.warn(`${locale}: ${missing.length} traductions manquantes`);
console.warn('Clés manquantes :', missing.slice(0, 10));
}
}
Validation du Format
Vérifiez que les fichiers de traduction sont valides :
- Les fichiers JSON sont analysés sans erreurs
- Les fichiers XLIFF sont du XML bien formé
- Les fichiers PO ont des paires msgid/msgstr correspondantes
- Pas de clés en double dans un fichier
Intégration dans le Flux de Travail de Tests
Pendant le Développement
- Pseudo-localisation activée dans les builds de développement
- Les développeurs voient le texte étendu/accentué et corrigent immédiatement les problèmes de mise en page
- Pas de dépendance envers les traducteurs ou les traductions prêtes
Dans CI/CD
- La validation des placeholders s'exécute à chaque PR
- La complétude des traductions est vérifiée pour tous les locales cibles
- La validation du format assure que les fichiers de traduction sont syntaxiquement corrects
- Les tests de régression visuelle détectent les problèmes de mise en page dans les locales clés
Avant la Sortie
- Révision linguistique complète par des locuteurs natifs pour le contenu nouveau ou modifié
- Révision en contexte dans l'environnement de staging
- Tests fonctionnels des fonctionnalités spécifiques aux locales
- Vérification de la mise en page RTL pour l'arabe/l'hébreu
- Audit d'accessibilité pour tous les locales
FAQ
Combien de temps dois-je budgétiser pour les tests de localisation ?
Prévoyez 2 à 4 heures de révision linguistique par 1 000 mots par langue pour la révision humaine. Les tests fonctionnels et UI dépendent de la complexité de l'application — budgétisez 1 à 2 jours par locale cible pour un passage complet. Les vérifications automatisées (placeholders, format, complétude) s'exécutent en quelques minutes dans le cadre de CI/CD.
Puis-je automatiser les tests linguistiques ?
Partiellement. Les outils automatisés peuvent vérifier la grammaire et l'orthographe, signaler une terminologie incohérente et détecter des modèles courants (ponctuation manquante, formalité incorrecte). Cependant, vérifier l'exactitude de la traduction, le naturel et l'adéquation culturelle nécessite des locuteurs natifs humains. Automatisez les vérifications mécaniques et investissez du temps humain dans la révision nuancée.
Quels sont les bugs de localisation les plus courants ?
Sur la base de l'expérience commune de l'industrie : (1) troncature de texte due à des traductions plus longues, (2) chaînes codées en dur qui ont été manquées lors de l'externalisation, (3) formatage incorrect des dates/nombres, (4) mises en page cassées dans les langues RTL, (5) placeholders supprimés ou dupliqués dans les traductions, (6) problèmes d'encodage avec des caractères spéciaux.