Ingénierie//10 min de lecture

Tests de Localisation : Guide Complet pour Vérifier les Logiciels Multilingues

Eray Gündoğmuş
Partager

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èmeExemple
Troncature de texteÉtiquette de bouton « Enregistrer les modifications » coupée à « Enregistrer les modi... »
Débordement de texteUne longue étiquette allemande pousse d'autres éléments hors de l'écran
Mise en page casséeLe texte RTL provoque des colonnes mal alignées
Rendu des policesGlyphes manquants pour les caractères CJK ou Devanagari
Chevauchement d'imagesTexte chevauchant des images ou des icônes codées en dur
Design responsiveLe 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 lang est 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

  1. Pseudo-localisation activée dans les builds de développement
  2. Les développeurs voient le texte étendu/accentué et corrigent immédiatement les problèmes de mise en page
  3. Pas de dépendance envers les traducteurs ou les traductions prêtes

Dans CI/CD

  1. La validation des placeholders s'exécute à chaque PR
  2. La complétude des traductions est vérifiée pour tous les locales cibles
  3. La validation du format assure que les fichiers de traduction sont syntaxiquement corrects
  4. Les tests de régression visuelle détectent les problèmes de mise en page dans les locales clés

Avant la Sortie

  1. Révision linguistique complète par des locuteurs natifs pour le contenu nouveau ou modifié
  2. Révision en contexte dans l'environnement de staging
  3. Tests fonctionnels des fonctionnalités spécifiques aux locales
  4. Vérification de la mise en page RTL pour l'arabe/l'hébreu
  5. 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.

Comments

Loading comments...