Internationalisation

Définition, exemples et bonnes pratiques

À retenir

  • C'est l'étape technique indispensable qui précède la traduction (localisation).
  • Elle est symbolisée par le sigle i18n.
  • Elle concerne autant les formats techniques (dates, nombres) que les textes.

L'internationalisation est une méthode de conception logicielle qui permet à une application de s'adapter facilement à différentes langues et cultures sans avoir à modifier son code informatique de base. C'est comme construire une maison avec des cadres vides que l'on peut remplir avec des tableaux différents selon le pays où elle est située.

Étymologie

Le terme vient du latin inter (entre) et natio (nation). En informatique, on utilise très souvent l'abréviation i18n : le 'i' initial, le 'n' final, et les 18 lettres qui les séparent dans le mot anglais internationalization.

Exemples d'usage

  • L'utilisation de fichiers de traduction séparés (format .json ou .gettext) plutôt que d'écrire le texte directement dans le code.
  • La gestion dynamique de l'affichage pour les langues s'écrivant de droite à gauche comme l'arabe ou l'hébreu.
  • L'adaptation automatique des formats de date (JJ/MM/AAAA en France contre MM/JJ/AAAA aux États-Unis).

Cas d'usage

Ce concept intervient dès le début du développement d'un site web mondial, d'une application mobile ou d'un système d'exploitation. Il permet de gérer les devises, les unités de mesure, les fuseaux horaires et les règles de tri alphabétique propres à chaque région.

Bonnes pratiques

Il est recommandé d'utiliser systématiquement l'encodage UTF-8 pour supporter tous les caractères mondiaux. Il faut éviter de concaténer des morceaux de phrases (car l'ordre des mots change selon la langue) et privilégier des variables de remplacement.

Synonymes

i18n adaptation multilingue

Antonymes

monolinguisme hard-coding

Conseil

Si vous débutez en programmation, prenez l'habitude de ne jamais écrire de texte 'en dur' dans vos fonctions. Utilisez des bibliothèques dédiées à l'i18n dès vos premiers projets pour acquérir les bons réflexes de structure de données.

Questions fréquentes

Quelle est la différence avec la localisation (L10n) ?

L'internationalisation est la préparation technique (le moteur), tandis que la localisation est l'adaptation concrète à un marché précis (la carrosserie et les finitions).

Pourquoi utiliser i18n même pour un projet simple ?

Parce qu'il est extrêmement coûteux et complexe de modifier un logiciel pour le rendre international une fois qu'il est déjà terminé.