Lorsqu’on veut traduire son logiciel, on se retrouve face à toute une foultitude de termes barbares à rallonge. Cette section va tenter d’éclaircir tout ça, histoire de savoir :
- où va le présent texte ;
- ce qu’il ne couvre pas ;
- quelles sont les clés pour rechercher des informations complémentaires.
- L'internationalisation, ou « i18n »
- La régionalisation, ou « l10n »
- Les autres termes
- Quand et quoi internationaliser ?
L'internationalisation, ou « i18n »
En informatique, l’internationalisation est le fait de rendre son logiciel apte à gérer plusieurs langues et cultures. C’est une tâche principalement technique, faite par les équipes de développement – et c’est d’elle qu’il sera question dans ce tutoriel.
On trouve aussi très souvent le terme « i18n » parce qu’il y a 18 lettres entre le i
et le n
dans le mot anglais internationalization.
Le vocable i18n est le mot-clé à retenir pour retrouver les documentations au sujet de l’internationalisation qui s’appliquent à votre technologie préférée !
La régionalisation, ou « l10n »
En informatique, la régionalisation est l’action de traduire et adapter un logiciel pour une langue et une culture données. C’est une tâche principalement linguistique et culturelle, faite normalement par des traducteurs1 ; et c’est ici qu’est gérée toute la problématique d’équilibrage entre traduction et adaptation. La régionalisation d’un programme impose que celui-ci soit internationalisé.
On trouve souvent le terme « l10n », parce qu’il y a 10 lettres entre le l
et le n
dans le mot anglais localization. Les francophones utilisent aussi le terme localisation, mais à tort, car c’est un faux-ami.
Le présent tutoriel ne couvre pas la régionalisation – principalement parce que je n’en ai pas les compétences. Si quelqu’un est motivé par un contenu sur le sujet…
- Et hélas, trop communément effectuée par les développeurs eux-mêmes, ce qui donne rarement de bons résultats… voire des bricolages à base de traduction automatique.↩
Les autres termes
Si les deux vocables présentés sont très courants, on en retrouve d’autres, surtout chez de gros et anciens éditeurs qui ont mis en place ces technologies avant qu’elles ne soient très répandues. Voici quelques points d’entrée à tester si une recherche ne donne pas les résultats escomptés :
- IBM et Sun utilisent le mot globalization, qui regroupe les deux concepts ci-dessus.
- HP parle de NLS.
- Microsoft réunit les deux notions sous le seul terme internationalization.
Quand et quoi internationaliser ?
Internationaliser un programme est une tâche plutôt longue et complexe, en particulier :
Il ne suffit pas de traduire un logiciel pour l’internationaliser ; la traduction n’est que la partie émergée de l’iceberg.
Subséquemment, une application qui permet la traduction de son interface, mais seulement cette traduction, sans considération supplémentaire, ne permet pas une localisation correcte.
D’autre part – et ce sera développé dans la section sur la technique –, l’internationalisation peut avoir des conséquences lourdes sur l’architecture du logiciel. Donc, internationaliser un programme déjà existant est une tâche longue, pénible, et qui peut conduire à des modifications bien plus profondes que simplement ajouter une fonction de traduction à chaque fois qu’on affiche un texte.
Tant que c’est possible, il vaut mieux se demander dès le début du projet si celui-ci doit être internationalisé, et le cas échéant dans quelles limites.
En résumé, ce tutoriel va s’intéresser à ce qu’implique de rendre son logiciel apte à gérer plusieurs langues et cultures, d’un point de vue technique et sans rentrer dans les considérations linguistiques. Voyons maintenant ce que veut dire concrètement « l’i18n ».