Stratégie de localisation
what is i18n Une définition simple de l’internationalisation

Akio Morita, le co-fondateur de Sony, a formulé un dicton qui est devenu le mantra de nombreuses entreprises visant une plus grande pertinence dans un paysage économique mondial férocement concurrentiel :
« Pensez globalement, agissez localement. »
Les cultures locales concernent bien plus que la langue. Différents pays ont leurs propres idées sur la façon de faire les choses, leurs propres ensembles de règles sur ce qui est acceptable et ce qui ne l’est pas.
C’est pourquoi tout produit logiciel, qu’il s’agisse d’une application web ou mobile, doit s’adapter aux exigences culturelles, linguistiques, légales et autres de ses marchés cibles. Pour ce faire, le logiciel doit être prêt à des changements.
Ce processus est connu sous le nom d’internationalisation (i18n). Voici comment cela fonctionne.
Qu’est-ce que l’internationalisation (i18n) ?
L’internationalisation (i18n) est le processus de conception et de développement d’un produit logiciel afin qu’il puisse être adapté pour des utilisateurs de différentes cultures et langues.
L’internationalisation n’implique pas seulement de permettre différentes langues – elle implique également d’adapter le logiciel pour accepter différentes formes de données et des paramètres pour correspondre aux coutumes locales et les traiter correctement.
Le Groupe W3C définit l’internationalisation comme suit :
L’internationalisation est la conception et le développement d’un produit, d’une application ou d’un contenu de document qui permet une localisation facile pour des publics cibles qui varient en culture, région ou langue.
L’internationalisation inclut généralement :
- Concevoir et développer de manière à éliminer les barrières à la localisation ou au déploiement international. Cela inclut des éléments tels que permettre l’utilisation de l’Unicode, garantir le bon traitement des encodages de caractères anciens lorsque cela est approprié, faire attention à la concaténation des chaînes, éviter la dépendance dans le code des valeurs de chaînes d’interface utilisateur, etc.
- Fournir un support pour des fonctionnalités qui peuvent ne pas être utilisées tant que la localisation n’a pas lieu. Par exemple, ajouter des balises dans votre DTD pour prendre en charge le texte bidirectionnel, ou pour identifier la langue. Ou ajouter au CSS un support pour le texte vertical ou d’autres caractéristiques typographiques non latines.
- Activer le code pour prendre en charge les préférences locales, régionales, linguistiques ou culturellement liées. En général, cela implique d’incorporer des données de localisation prédéfinies et des fonctionnalités dérivées de bibliothèques existantes ou des préférences des utilisateurs. Les exemples incluent les formats de date et d’heure, les calendriers locaux, les formats de nombres et les systèmes numériques, le tri et la présentation des listes, le traitement des noms personnels et des formes d’adresse, etc.
- Séparer les éléments localisables du code source ou du contenu, de sorte que des alternatives localisées puissent être chargées ou sélectionnées en fonction des préférences internationales de l’utilisateur selon les besoins.
Internationalisation vs localisation : La différence expliquée
Bien que similaires à première vue, l’internationalisation et la localisation ne sont pas les mêmes. La localisation est l’acte d’adapter un logiciel—du contenu, de la mise en page de l’interface utilisateur, des couleurs et des images aux unités de mesure, formats de date et devises—pour convenir à un paramètre régional spécifique. Le terme « paramètres régionaux » définit une région géographique avec une langue spécifique (par exemple, fr_CA signifie français du Canada, fr_FR signifie français de France, etc.).
L’internationalisation vient toujours en premier, et c’est ce qui rend la localisation plus facile. De nombreuses manières, l’internationalisation peut être considérée comme la construction de la structure d’un logiciel afin qu’il puisse être ajusté pour différents marchés cibles, et la localisation est le processus de le faire réellement pour un marché spécifique. Les deux sont des parties intégrantes d’une stratégie de localisation.
Le Groupe W3C fait référence à la localisation comme suit :
« La localisation fait référence à l’adaptation d’un produit, d’une application ou du contenu d’un document pour répondre aux exigences linguistiques, culturelles et autres d’un marché cible spécifique (un paramètre régional). La localisation est parfois écrite comme l10n, où 10 est le nombre de lettres entre l et n. Souvent considérée uniquement comme un synonyme de traduction de l’interface utilisateur et de la documentation, la localisation est souvent une question substantiellement plus complexe.
La localisation peut impliquer une personnalisation liée à :
- Formats numériques, de date et d’heure
- Utilisation de la monnaie
- Utilisation du clavier
- Collation et tri
- Symboles, icônes et couleurs
- Texte et graphiques contenant des références à des objets, des actions ou des idées qui, dans une culture donnée, peuvent être sujettes à des interprétations erronées ou considérées comme insensibles
- Exigences légales variées, et bien d’autres choses…
La localisation peut même nécessiter une reconsidération complète de la logique, du design visuel ou de la présentation si la façon de faire des affaires (par exemple, la comptabilité) ou le paradigme accepté pour l’apprentissage (par exemple, l’accent sur l’individu contre le groupe) dans un lieu donné diffère considérablement de la culture d’origine.

Free download
Best practices for developing effective localization strategies
Explore how to tackle localization management efficiently and engage customers across the globe in their native languages and local experiences.
Pourquoi l’i18n est-il important ?
L’internationalisation joue un rôle crucial dans le succès de tout produit logiciel car elle impacte considérablement l’expérience client.
Par exemple, dans un certain nombre de pays asiatiques, le nom de famille vient en premier, suivi du prénom. En Espagne, les gens ont deux noms de famille, un du père et un de la mère ; en Allemagne, vous pouvez même hyphéniser votre nom de famille. Votre logiciel doit être capable de comprendre ces conventions très différentes et de présenter les informations en conséquence.
Un autre exemple est les formats de code postal, qui peuvent différer considérablement d’un pays à l’autre :
- Au Canada, par exemple, un code postal prend la forme X0X 0X0, où X est une lettre et 0 est un chiffre.
- Au Royaume-Uni, cependant, un code postal peut prendre la forme X00 0XX, XX00 0XX, XX0, 0XX ou X0 0XX.
- Au Brésil, les codes postaux prennent la forme 00000-000.
Lorsqu’elle est mise en œuvre correctement, l’internationalisation peut créer un logiciel capable de gérer plusieurs entrées. Encore mieux, c’est lorsque le logiciel vérifie automatiquement ces entrées pour s’assurer que le bon format est utilisé pour le bon pays.
Tous ces aspects sont importants pour développer un logiciel auquel les consommateurs peuvent s’identifier et utiliser de manière appropriée. Une entreprise qui ne peut pas accepter de commandes via son logiciel parce que ce logiciel ne peut pas correctement rendre les codes postaux risque de ne pas durer longtemps sur le marché international.
Le cas de Baidu et Google
Baidu, le moteur de recherche numéro un en Chine, prospère parce qu’il résonne plus efficacement avec les gens en Chine que Google. Il est capable de faire mieux que Google en raison de son ciblage spécifique et de sa compréhension des cultures locales, des restrictions et, peut-être le plus important, des exigences gouvernementales, telles que l’accès aux informations des utilisateurs et, apparemment, la censure.
Cependant, quelle que soit la qualité de la stratégie de localisation de Baidu, elle n’est pas particulièrement bien internationalisée et n’a pas réussi à pénétrer des marchés en dehors de la Chine. Bien que cela soit peu susceptible d’être un problème dans un pays comptant plus d’un milliard d’utilisateurs potentiels, cela limite la croissance future potentielle.
Google, en revanche, a cherché à pénétrer la plupart des marchés grâce à son logiciel internationalisé. Parce qu’il est facilement adaptable à une grande variété de paramètres régionaux, il peut présenter des informations intéressantes qui répondent aux exigences du chercheur, que cette personne soit en Afrique du Sud, aux États-Unis ou en Russie.
De même, son système d’exploitation Android, son navigateur Google Chrome et de nombreux autres produits sont tous efficacement internationalisés, de sorte qu’ils peuvent être facilement convertis pour répondre aux exigences culturelles et personnelles de l’utilisateur.
Comment l’i18n affecte-t-il les développeurs ?
En approfondissant un peu le code, il existe plusieurs bonnes pratiques qui entrent dans une internationalisation fiable et digne de confiance.
À des fins d’illustration, jetons un bref coup d’œil à WordPress. Environ un tiers de tous les téléchargements de WordPress concernent des versions localisées non anglaises, donc les développeurs qui construisent les différents plugins WordPress doivent le faire en gardant la localisation à l’esprit, en s’assurant qu’ils sont entièrement internationalisés.
Cela signifie, par exemple, qu’ils ne devraient pas utiliser de variables PHP à l’intérieur des chaînes d’une fonction de traduction, car les logiciels de traduction scannent généralement toutes les chaînes et extraient les parties qui doivent être traduites, désignées par __().
Si vous avez une variable PHP à l’intérieur de cela, le logiciel de traduction pourrait essayer de l’extraire en tant que contenu traduisible, ce qui pourrait entraîner une suppression accidentelle par un traducteur. Cela, à son tour, peut rendre toute la ligne de code sans valeur – une erreur qui peut être difficile à retracer.
Ceci n’est qu’un exemple de la façon dont l’internationalisation peut affecter un développeur, mais il existe de nombreuses autres situations où l’application incorrecte de l’internationalisation peut provoquer un dysfonctionnement du logiciel ou produire des résultats inattendus.
D’autres pratiques qui ont été standardisées dans le cadre de l’internationalisation incluent :
- Garder les composants logiciels externes au code source (par exemple, contrôles d’interface utilisateur, messages utilisateur, méthodes de saisie utilisateur, etc.)
- Utiliser Unicode
- Éviter le code dépendant de la langue autant que possible
- Déplacer le code dans des fichiers de ressources séparés pour chaque paramètre régional avant qu’il ne soit déployé
- Considérer les différentes longueurs de texte entre les langues
- Prise en charge de toutes les directions de langue (de gauche à droite, de droite à gauche, etc.)
- Éviter le codage en dur des éléments sensibles à la culture (formats de date et d’heure, formats de nombre, etc.)
- Éviter la concaténation de chaînes
Par exemple, si vous aviez une application Android, une chaîne codée en dur dans votre code ressemblerait à ceci :
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Je suis une chaîne codée en dur"
/>
Langage du code : Java (java)
Ce que vous aimeriez faire à la place, c’est définir une référence à une chaîne au lieu d’une chaîne réelle afin que la valeur de la chaîne puisse changer dynamiquement lorsque l’utilisateur choisit une autre langue. Donc, dans notre exemple, nous aurions :
nameTextView.text = getString(R.string.reference)
Langage du code : Java (java)
Tout aussi important, assurez-vous que toutes vos chaînes sont situées dans des dossiers pour chaque langue séparément. De cette façon, l’ajout et la modification de chaînes deviennent beaucoup plus faciles. Ce faisant, vous n’aurez pas besoin de rechercher chaque chaîne spécifique à chaque emplacement dans le code. Cela permet également d’utiliser une version traduite sans avoir à recompiler le code de votre application.
Beaucoup de ces pratiques sont suffisamment simples pour être immédiatement applicables, tandis que d’autres peuvent nécessiter un peu plus de temps pour être considérées. Cependant, toutes aideront à garantir que votre logiciel est aussi efficace et convivial que possible.
Internationalisation (i18n) mal faite
Une mauvaise internationalisation (i18n) signifie généralement une mauvaise localisation. Un exemple classique est lorsque seuls les prix sont localisés sur un site de commerce électronique, tandis que les descriptions de produits, les poids et les mesures restent dans la langue d’origine.
La liste des pièges potentiels continue – examinons certains des plus courants.
Unités de mesure incorrectes
Pour beaucoup, les livres, pieds, pouces et onces ne sont pas facilement convertibles, ce qui décourage le client du site Web car il ne comprend pas ce qui lui est proposé.
Prenons les détaillants de vêtements : Le même nombre peut signifier des tailles très différentes dans différents pays. Une taille 10 au Royaume-Uni serait une 38 en Europe. Une taille 38 aux États-Unis, cependant, serait très différente – la taille européenne 38 est en fait une taille 6.
Un bon codage permettrait une conversion automatique des données afin qu’elles apparaissent dans la langue cible et le contexte culturel – du moins pour les principaux marchés du site Web – et un bon codage doit commencer dès le début du processus de développement.
Formats de date et de nombre incorrects
De plus, différentes parties du monde utilisent différents formats de date. Aux États-Unis, le 2 janvier serait écrit 1/2. Au Royaume-Uni, cela signifierait le 1er février. Cela peut faire une grande différence pour les dates de livraison et pourrait être un facteur important quant à savoir si votre client souhaite acheter chez vous.
La localisation des nombres est un autre défi. Certains pays utilisent des virgules tandis que d’autres utilisent des points pour les décimales, et certaines langues nécessitent un espace entre les séparateurs de milliers et de millions. Si vous vous trompez, vous pouvez produire des résultats vraiment étranges et déroutants que vos clients pourraient attribuer à un manque de soin pour les détails.
Contrôles de l’interface utilisateur qui ne fonctionnent pas dans toutes les langues
Et pendant que nous y sommes, considérons les contrôles d’interface utilisateur dépendants de la langue. Que se passe-t-il lorsque le clavier de l’utilisateur n’inclut pas le bouton qu’il utilise pour désigner une certaine partie de son interface ? Il est probable qu’ils passent simplement à autre chose et trouvent un autre site Web ou application – un qui fonctionne pour eux.
Utiliser des contrôles indépendants de la langue est beaucoup plus convivial et donnera de bien meilleurs résultats.
Traductions incomplètes
Les traductions partielles sont souvent le résultat d’une mauvaise internationalisation également. Dans certains cas, les menus peuvent être non traduits, ou peut-être que des informations de contact essentielles ne sont disponibles qu’en anglais.
Mise en page et design
Différentes mises en page sont également requises pour différentes cultures. Typiquement, une mise en page minimaliste convient à de nombreux pays, mais dans certains, comme le Japon, une mise en page beaucoup plus dense est plus courante.

Une bonne internationalisation signifie que vous pouvez présenter différents produits, mises en page et même couleurs pour différents publics, tandis qu’une mauvaise internationalisation signifie que vous devez utiliser exactement la même mise en page pour tout le monde. Une mauvaise traduction est souvent un exemple de mauvaise localisation plutôt qu’une internationalisation, mais il est tout de même important de savoir que ces deux sujets sont fortement interconnectés.
Plongez plus profondément
Définition de fait (DoD) pour l’internationalisation des logiciels
Apprenez à préparer sans effort votre logiciel pour répondre à une base d’utilisateurs mondiale et définissez votre propre « fait » pour l’internationalisation des logiciels.
Avantages de l’internationalisation de votre logiciel, application ou site web
L’internationalisation offre une gamme d’avantages qui rendent les utilisateurs plus heureux, facilitent le travail des développeurs et aident les traducteurs à réaliser la localisation de manière plus efficace et efficiente.
Passons en revue les principaux avantages de l’internationalisation :
Localisation plus facile, plus rapide et moins coûteuse
Parce que l’internationalisation garantit que le logiciel est développé en tenant compte de la localisation, lorsque vient le temps de traduire le logiciel, l’effort de localisation est considérablement réduit. Par exemple, tenir compte des variations de longueur de texte entre les langues empêche le texte de déborder de son espace prévu, ce qui nécessiterait beaucoup de temps, d’argent et d’efforts pour corriger.
Amélioration de l’expérience utilisateur
Les gens du monde entier s’attendront à ce que votre logiciel soit utilisable dans leur propre langue. C’est exactement ce que l’internationalisation offre : En anticipant et en planifiant les exigences de localisation, les développeurs peuvent éviter des problèmes de mauvaise localisation qui entraîneraient de mauvaises expériences utilisateur, comme du texte non traduit, des formats de date incorrects, etc.
Maintenance plus facile
À chaque itération de votre produit, vous serez inévitablement confronté à des corrections de bogues et des améliorations.
Lorsque l’internationalisation a été correctement réalisée, celles-ci deviennent beaucoup plus faciles à mettre en œuvre car le contenu traduisible du programme est clairement séparé de son code. De cette manière, les traducteurs peuvent faire leur tâche en parallèle au développement logiciel—un processus connu sous le nom de localisation continue—afin que le logiciel puisse être mis à jour plus rapidement après chaque version.
Délai de mise sur le marché plus court
Pour chaque nouveau marché dans lequel vous souhaitez introduire votre entreprise, vous avez besoin d’une version localisée du logiciel. Avec le temps et les économies d’efforts que propose une bonne internationalisation, il est beaucoup plus facile de développer rapidement des versions localisées de votre logiciel. Gestion de la localisation rationalisée est un bon moyen de réduire le délai de mise sur le marché, d’augmenter vos revenus et de vous développer à l’international avec aisance.
Conseils pour une internationalisation réussie
Chaque mise en œuvre réussie commence par un plan, et l’internationalisation ne fait pas exception. Voici quelques éléments à prendre en compte lors de la planification de l’internationalisation :
- Obtenez l’adhésion de la direction : En montrant comment l’internationalisation s’inscrit dans la vision globale des stratégies de développement et d’expansion de votre entreprise, vous pouvez obtenir le soutien pour vos efforts et garantir le succès.
- Motiver l’équipe de développement à créer un produit global dès le départ : Éduquez vos développeurs sur le pourquoi de la localisation et recherchez des partenariats avec au moins un membre de chaque équipe de développement pour garantir que de bonnes pratiques d’internationalisation s’intègrent dans les processus de l’équipe.
- Documentez, documentez, documentez : L’information peut être difficile à obtenir en période de crise ou de pression. Assurez-vous que vous avez documenté toutes les décisions prises concernant les efforts de localisation et d’internationalisation.
- Validez vos efforts d’internationalisation : Bien qu’il ne soit pas possible de tester entièrement chaque ligne de code de votre logiciel pour toutes les langues du monde, vous pouvez créer des fichiers pseudo-localisés avant que les localisateurs ne s’impliquent—une pseudolangue est utilisée pour substituer tous les éléments d’interface utilisateur localisables et vérifier le comportement du logiciel dans diverses langues.
- Gardez un œil sur les meilleures pratiques d’internationalisation : Il n’est pas nécessaire de réinventer la roue ; assurez-vous que l’équipe de développement est au courant des meilleures pratiques approuvées par l’industrie pour l’internationalisation afin de éviter les erreurs courantes de localisation logicielle plus tard.
- Acceptez le fait que la perfection est inatteignable : Il est pratiquement impossible de garantir une internationalisation sans faille, mais il est facile de s’en rapprocher. Une bonne internationalisation qui fonctionne pour vos clients est mieux que pas d’internationalisation du tout.
- Enfin, impliquez des spécialistes de la localisation le plus tôt possible : De nombreux problèmes d’internationalisation seront détectés avant même d’atteindre les traducteurs si des personnes ayant de l’expérience en localisation participent aux phases de conception et de mise en œuvre.
Ce que signifie une bonne internationalisation (i18n)
En fin de compte, l’internationalisation garantit que votre logiciel ou site web fonctionne à travers les géographies et les cultures. Cela signifie que chaque morceau de texte doit être traduisible, et qu’il ne devrait pas y avoir de code qui repose sur le texte étant saisi dans une langue ou un alphabet spécifique. Lorsque l’internationalisation est correctement réalisée, votre logiciel sera capable d’afficher les prix dans la devise correspondante et d’afficher les dates dans un format qui a du sens pour l’utilisateur de votre marché cible.
Plus important encore, une internationalisation réalisée avec le bon logiciel signifie que vous pouvez remettre votre produit logiciel à votre équipe de traducteurs en sachant qu’ils peuvent commencer à traduire immédiatement et vous le renvoyer sans qu’aucun changement de code ne soit nécessaire. Cela rend le développement logiciel beaucoup plus facile, la résolution de bugs plus simple, et les mises à jour encore plus rapides—si vous n’avez besoin que de mettre à jour le code source et non la traduction, cela vous fera économiser un temps et de l’argent significatifs pour votre entreprise à long terme.