Bonjour Guillaume
i10n (avec un I comme Isidore) çà n’existe pas

l10n (avec un L comme Ludovic) en revanche çà existe.
Nous parlons de l10n et i18n
l10n et i18n sont des sigles, ou plutôt des abréviations dactylographiques.
l10n veut dire "localization" et i18n veut dire "internationalization"
Pourquoi le 10 et pourquoi le 18 ? Car il y a 10 lettres entre le L et le N du mot localization, et 18 entre le I et le N d’internationalization.
Ce sont des mots longs à écrire donc ..
Une bonne définition globale est donnée sur le site de mozilla, sur la page du MLP, le
Mozilla Localization Project localization[i] (shortened to l10n), [...] is the task of software enabling to a specific language and culture. Localization often uses the underlying [i]internationalization (i18n) work, that is the software infrastructure to support different culture interaction and communication between the user and a program
Il s’agit donc de permettre à une application, un script, un programme.. d’être indépendant de la notion de language, d’alphabet, de temps, de devises monétaires etc.
Sur le web l’internationalisation est souvent associée, quant aux problèmes d’alphabet, au besoin d’encodage et principalement à la norme Unicode (UTF-7, UTF-8, UTF-16).
Concrètement pour une application web telle qu’un CMS, le travail de localisation et d’internationalisation (à effectuer dès le commencement du projet sous peine de grosse pagaille par la suite) consiste à:
* Ne pas coder "en dur" du texte destiné à être lu mais plutôt à l’injecter dans une variable de langue.
C’est déjà le cas dans beaucoup de systèmes de publications. Pas tous malheureusement.
* Gérer l’alphabet: pouvoir être accessible à des polonais qui vont réclamer leur "L barré", aux danois pour leur "A-rond", aux tchèques pour leurs multiples lettres aux accents circonflexes inversés, aux français avec leurs foutus accents (qui ne sont pas dans la table ASCII on l’oublie assez souvent), aux alphabets non-latins tels que l’arabe, le grec, le japonais, le chinois, le lao etc..
C’est d’ailleurs pour cela que la norme Unicode est souvent associée à l’i18n: cette norme est à ce jour une des plus complètes dans le sens où elle gère beaucoup de caractères que ses concurrentes. Elle est donc plus pratique à manier lors d’une démarche internationalisatrice.
* Gérer les devises: ici c’est l’e-commerce qui est la première cible. Un euro n’est pas un dollar. D’ailleurs qu’est-ce qu’un dollar puisque un dollar canadien n’est pas un dollar américain. Un franc suisse n’est pas un franc CFA qui n’est
pas plus un franc français.
Bref le but est de gérer tout cela en variables également (et de s’amuser comme un fou avec les cours de la bourse, sans parler des taxes)
* Gérer les date et heure: lorsque j’enverrais ce message il sera daté du mardi 23 mai 2006, l’heure sera proche de 24h. En France métropolitaine

Car sur d’autres fuseaux horaires il en sera différemment. Lorsque je cliquerais sur le bouton magique qui enverra ce message, une nouvelle ligne sera créée dans la base de données. Avec le texte de mon message, mon IP, mon pseudo .. et .. très probablement un timestamp UNIX, et non un format figé tel que "Mar-23-05-06_23-xy".
(Je dis "probablement" car je ne sais pas comment SMF gère cet aspect)
La liste n’est pas (du tout) exhaustive ..
Pour plus d’informations tu as notamment ces pages sur le site du w3c:
W3C Internationalization Activity
W3C Web Internationalization Articles
Très ironiquement ces pages sont en anglais et à ma connaissance elles ne sont pas traduites
Il y a eu également une discussion à ce sujet sur le forum Webmaster-Hub:
Internationalization i18n
Discussion intéressante car animée par quelques éminents professionnels du web (tels que Denis Boudreau, Normand Lamoureux, Laurent Denis ou encore Eric Daspet..) mais relativement ’vieille’ (presque 2 ans) et donc un peu incomplète.
L’i18n de MODx gèrera-t-elle le martien ?

Réponse au prochain épisode.
<edit /> J’avais oublié un point important souvent oublié: la nécessité d’un design inversable droite-gauche. Pour les langues où l’écriture se fait de droite à gauche.