- Internationalisation et localisation
-
Pour les articles homonymes, voir Internationalisation (homonymie).
L'internationalisation d'un logiciel consiste à préparer son adaptation à des langues et des cultures différentes. Contrairement à la régionalisation, qui nécessite surtout des compétences en langues, l'internationalisation est un travail essentiellement technique, mené par des programmeurs.
Par exemple, un programme C ainsi rédigé :
printf("Fatal error: %s\n", msg);
n'est pas internationalisé. Pour traduire le message, il faudra éditer le code source. Au contraire,
printf(gettext("Fatal error: %s\n"), msg);
est internationalisé (grâce à la bibliothèque gettext) : le programme va chercher dans ses fichiers de régionalisation (localization) une chaîne de caractères correspondant à 'Fatal error: %s', et ce pour la langue de l'utilisateur.
gettext utilise comme clé, comme index dans les fichiers de localisation, la version par défaut du message. D'autres environnements de programmation peuvent utiliser, par exemple, un numéro (ce que faisait Mac OS).
L'internationalisation ne nécessite pas qu'un travail sur les messages. Il faut aussi souvent permettre de changer les couleurs (dont la signification peut changer selon les cultures), les graphiques (dont les noms des icônes, certaines icônes pouvant de plus contenir du texte écrit à traduire), le format des dates ou des nombres, la direction de l'écriture (de droite à gauche en arabe), la taille des éléments graphiques (un texte en allemand est plus long qu'en anglais, etc.).
Il peut être judicieux de concevoir un programme pour fonctionner avec une forme d'unicode en particulier UTF-8/UTF-16, afin de le rendre plus facilement internationalisable.
On abrège souvent internationalization en i18n car, en anglais, comme en français, dix-huit lettres séparent la première lettre du mot (i) de la dernière (n). De même pour localization avec l10n. Ces deux mots sont donc composés respectivement de vingt lettres et de douze lettres.
Articles connexes
Lien externe
- (en) Introduction to i18n
Catégories :- Développement logiciel
- Internationalisation en informatique
Wikimedia Foundation. 2010.