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 ultra-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 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 la prise en charge de différentes langues. Elle implique également d’adapter le logiciel pour accepter différentes formes de données et de paramètres pour s’adapter aux usages en vigueur localement et les traiter correctement.
Le 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 et localisation : 2 processus différents
Bien que similaires à première vue, l’internationalisation et la localisation correspondent à deux processus distincts. La localisation est l’acte d’adapter un logiciel (du contenu, de la mise en page de l’IU, des couleurs et des images aux unités de mesure, aux formats de date et aux devises) afin qu’il corresponde à des paramètres régionaux spécifiques. 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 elle facilite la localisation. De bien des façons, l’internationalisation peut être définie comme le fait de concevoir de la structure d’un logiciel afin qu’il puisse être ajusté pour différents marchés cibles et la localisation comme le processus consistant à l’ajuster réellement pour un marché spécifique. Les deux font partie intégrante d’une stratégie de localisation.
Le 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 (paramètres régionaux). Le terme localisation est parfois abrégé en l10n, où 10 est le nombre de lettres entre l et n. Souvent comprise à tort comme se limitant à la traduction de l’interface utilisateur et de la documentation, la localisation est généralement une question substantiellement plus complexe.
La localisation peut impliquer une personnalisation liée aux aspects suivants :
- Formats numériques, de date et d’heure
- Utilisation d’une devise
- Utilisation du clavier
- Collecte et tri des données
- 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 non pertinentes
- Exigences légales variées, etc.
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-elle si importante ?
L’internationalisation joue un rôle crucial dans le succès de tout produit logiciel, car elle impacte de manière significative 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 mettre un trait d’union à 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 codes postaux, 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 un chiffre.
- Au Royaume-Uni, en revanche, 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 permet de créer un logiciel capable de gérer plusieurs entrées. C’est encore mieux si 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 qu’ils peuvent utiliser de manière appropriée. Une entreprise qui ne peut pas accepter de commandes via son logiciel parce que ce dernier ne prend pas correctement en charge les codes postaux risque de ne pas durer longtemps sur le marché international.
Les cas de Baidu et Google
Baidu, le moteur de recherche numéro un en Chine, prospère parce qu’il parle plus aux 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, chose importante, des exigences gouvernementales, telles que l’accès aux informations des utilisateurs et, selon certaines sources, 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 permis de 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 en misant sur un 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 répondant aux exigences de l’utilisateur, qu’il se trouve 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-elle les développeurs ?
En approfondissant un peu le code, il existe plusieurs bonnes pratiques qui entrent dans une internationalisation fiable et digne de confiance.
Pour mieux comprendre, intéressons-nous à WordPress. Environ un tiers de tous les téléchargements de WordPress concernent des versions localisées non anglaises, donc les développeurs qui conçoivent 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 __().
S’il y a une variable PHP à l’intérieur, 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 peut rendre toute la ligne de code inutilisable, une erreur qui peut être difficile à repérer.
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érences de longueurs de texte d’une langue à l’autre
- Prendre en charge tous les sens de lecture (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="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)
Assurez-vous également que toutes vos chaînes sont situées dans des dossiers séparés pour chaque langue. De cette façon, il est beaucoup plus facile d’ajouter et de modifier des chaînes. 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 mises en œuvre. Cependant, toutes contribueront à garantir que votre logiciel est aussi efficace et convivial que possible.
Conséquences d’une mauvaise internationalisation (i18n)
Mauvaise internationalisation (i18n) rime généralement avec 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 écueils est longue. Voici quelques-uns 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 le cas du commerce de vêtements : Le même nombre peut signifier des tailles très différentes selon les pays. Une taille 10 au Royaume-Uni correspond à un 38 en Europe. Une taille 38 aux États-Unis, cependant, serait très différente, puisque la taille européenne 38 correspond à 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 (au moins pour les principaux marchés du site Web) et un bon codage doit commencer dès l’amont 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 constitue 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 d’attention aux détails.
Commandes de l’IU ne fonctionnant pas dans toutes les langues
Et pendant que nous y sommes, arrêtons-nous sur les commandes de l’IU qui dépendent de la langue. Que se passe-t-il lorsque le clavier de l’utilisateur n’inclut pas la touche qu’il utilise pour désigner une certaine partie de l’interface ? Il est probable qu’il passe simplement à autre chose et trouve un autre site Web ou application fonctionnant mieux pour lui.
Il est beaucoup plus convivial d’utiliser des commandes non liées à la langue et cela donnera de bien meilleurs résultats.
Traductions incomplètes
Les traductions partielles sont aussi souvent le résultat d’une mauvaise internationalisation. Dans certains cas, les menus peuvent être non traduits ou des informations de contact essentielles peuvent n’être 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 le fait d’une mauvaise localisation plutôt que d’une mauvaise internationalisation, mais il est tout de même important de garder à l’esprit que les deux sont fortement interconnectés.
Aller plus loin
Internationalisation des logiciels : établir la Definition of Done (DoD)
Apprenez à préparer sans effort votre logiciel pour répondre à une base d’utilisateurs mondiale et à définir ce que signifie Terminé pour l’internationalisation des logiciels.
Pourquoi internationaliser votre logiciel, votre application ou votre site web ?
L’internationalisation présente différents avantages en améliorant la satisfaction des utilisateurs, en facilitant le travail des développeurs et en aidant 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
L’internationalisation garantissant que le logiciel est développé en tenant compte de la localisation, au moment 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 à corriger.
Meilleure 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, ces dernières sont 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 du développement logiciel (on parle alors 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 votre 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 en garantir le succès.
- Motiver l’équipe de développement à créer un produit global dès l’amont : Éduquez vos développeurs sur les objectifs derrière 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.
- Informez-vous 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 le secteur en matière d’internationalisation afin d’éviter les écueils courants de la localisation logicielle.
- 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.
Qu’est-ce qu’une bonne internationalisation (i18n) ?
L’internationalisation est là pour garantir que votre logiciel ou votre site web fonctionnent pour différentes zones géographiques et différentes cultures. Cela signifie que chaque morceau de texte doit être traduisible et qu’il ne devrait pas y avoir de code reposant sur le texte qui soit 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 de mettre à jour que le code source et pas la traduction, cela vous permettra de réduire significativement les délais et les coûts pour votre entreprise à long terme.