Internationalisation et localisation

Un article de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche
Capture d'écran des logiciels TDE, principalement localisés en chinois (traditionnel).

En informatique, l'internationalisation et la localisation sont des moyens d'adapter des logiciels informatiques dans différentes langues, en prenant en compte les particularités régionales et exigences techniques d'un lieu cible[1]. L'internationalisation est le processus de conception d'une application logicielle afin de l'adapter à différentes langues et régions sans modifications techniques. La localisation est le processus d'adaptation d'un logiciel internationalisé pour une région ou une langue spécifique en traduisant le texte et en ajoutant des composants spécifiques aux paramètres régionaux. La localisation (qui est parfois effectuée plusieurs fois, pour différents paramètres régionaux) utilise l'infrastructure ou la flexibilité fournie par l'internationalisation (qui est idéalement effectuée une seule fois avant la localisation, ou en tant que partie intégrante du développement en cours)[2].

Appellation[modifier | modifier le code]

Les termes sont fréquemment abrégés en numéraux i18n (où 18 représente le nombre de lettres entre le premier i et le dernier n du mot internationalisation, un usage inventé par Digital Equipment Corporation dans les années 1970 ou 1980) [3],[4] et L10n pour la localisation, en raison de la longueur des mots. [5],[6] Certains écrivains ont capitalisé ce dernier acronyme pour aider à distinguer les deux[7].

Certaines entreprises, comme IBM et Oracle, utilisent le terme mondialisation, g11n, pour combiner internationalisation et localisation (du mot globalisazation en anglais). [8] on parle aussi de " glocalisation " (un mot-valise de mondialisation et localisation ).

Microsoft définit l'internationalisation comme une combinaison de préparation au monde et de localisation. La préparation au monde est une tâche de développeur qui permet à un produit d'être utilisé avec plusieurs scripts et cultures (mondialisation) et de séparer les ressources de l'interface utilisateur dans un format localisable (localisabilité, abrégé en L12y)[9],[10].

Hewlett-Packard et HP-UX ont créé un système appelé « National Language Support » ou « Native Language Support » (NLS) pour produire des logiciels localisables. [1]

Portée[modifier | modifier le code]

Le processus d'internationalisation et de localisation
(basé sur un graphique du site LISA )

Selon Software without frontiers, les aspects de conception à prendre en compte lors de l'internationalisation d'un produit sont « l'encodage des données, les données et la documentation, la construction du logiciel, la prise en charge du matériel informatique, l'interaction avec l'utilisateur » ; tandis que les principaux domaines de conception à considérer lors de la fabrication d'un produit entièrement internationalisé à partir de zéro sont « l'interaction avec l'utilisateur, la conception des algorithmes et les formats de données, les services logiciels, la documentation »[1].

La traduction est généralement la composante la plus longue de la localisation linguistique. [1] Cela peut inclure :

  • Pour le film, une vidéo et une bande-son, la traduction de paroles ou de paroles de musique, souvent à l'aide de doublages ou de sous-titrages
  • La traduction de textes pour les documents imprimés, les supports numériques (y compris éventuellement les messages d'erreur et la documentation)
  • La modification éventuelle d'images et de logos contenant du texte pour contenir des traductions ou des icônes génériques [1]
  • Les longueurs de traduction différentes et les différences de tailles de caractères (par exemple entre les lettres de l'alphabet latin et les caractères chinois) peuvent causer des problèmes de mise-en-page dans une langue, là où elle sera parfaite dans une autre
  • La prise en compte des différences de dialecte, de registre ou de variété
  • Les conventions d'écriture comme :

Données locales standard[modifier | modifier le code]

Les logiciels informatiques peuvent rencontrer des différences au-delà de la simple traduction de mots et de phrases car les programmes informatiques peuvent générer du contenu de manière dynamique. Ces différences peuvent devoir être prises en compte par le processus d'internationalisation lors de la préparation de la traduction. Beaucoup de ces différences sont si régulières qu'une conversion entre les langues peut être facilement automatisée. Le référentiel de données Common Locale par Unicode fournit une collection de ces différences. Ses données sont utilisées par les principaux systèmes d'exploitation, notamment Microsoft Windows, MacOS et Debian, ainsi que par de grandes sociétés Internet ou des projets tels que Google et la Wikimedia Foundation. Des exemples de telles différences comprennent :

  • Les différents scripts dans différents systèmes d'écriture utilisent différents caractères - un ensemble différent de lettres, de syllogrammes, de logogrammes ou de symboles. Les systèmes modernes utilisent la norme Unicode pour représenter de nombreuses langues différentes avec un seul codage de caractères.
  • La direction d'écriture est de gauche à droite dans la plupart des langues européennes, de droite à gauche en hébreu et en arabe, ou les deux dans les scripts boustrophédons, et éventuellement verticale dans certaines langues asiatiques. [1]
  • La disposition de texte complexe, pour les langues où les caractères changent de forme en fonction du contexte
  • La capitalisation existe dans certains scripts et pas dans d'autres
  • Les différentes langues et systèmes d'écriture ont des règles de collation différentes
  • Les différentes langues ont des systèmes numériques différents, qui pourraient avoir besoin d'être pris en charge si les chiffres arabes ne sont pas utilisés
  • Les différentes langues ont des règles de pluralisation différentes, ce qui peut compliquer les programmes qui affichent dynamiquement du contenu numérique. [11] D'autres règles de grammaire peuvent également varier, par exemple le génitif.
  • Les différentes langues utilisent des signes de ponctuation différents (par exemple, citation de texte à l'aide de double-quotes (" ") en anglais, ou guillemets (« ») en français)
  • Les raccourcis clavier ne peuvent utiliser que les boutons de la disposition du clavier pour laquelle la localisation est effectuée. Si un raccourci correspond à un mot dans une langue particulière (par ex. Ctrl-S pour « enregistrer » en anglais, to save), il peut être nécessaire de le modifier.

Conventions nationales[modifier | modifier le code]

Différents pays ont des conventions économiques différentes, y compris des variations dans :

En particulier, les États-Unis et l'Europe diffèrent dans la plupart de ces cas.

Des services tiers spécifiques, tels que des cartes en ligne, des bulletins météorologiques ou des fournisseurs de services de paiement, peuvent ne pas être disponibles dans le monde entier auprès des mêmes opérateurs, voire pas du tout.

Les fuseaux horaires varient à travers le monde, et cela doit être pris en compte si un produit n'interagissait à l'origine qu'avec des personnes sur un même fuseau horaire. Pour l'internationalisation, le temps universel coordonné est souvent utilisé en interne, puis converti en fuseau horaire local pour l'affichage.

Différents pays ont des exigences légales différentes, ce qui signifie par exemple :

La localisation peut également prendre en compte des différences de culture, telles que :

Processus opérationnel pour l'internationalisation des logiciels[modifier | modifier le code]

Afin d'internationaliser un produit, il est important d'examiner l'ensemble des marchés sur lesquels le produit entrera vraisemblablement[1].

Des détails tels que la longueur du champ pour les adresses, le format unique de l'adresse, la possibilité de rendre le champ de code postal facultatif pour adresser les pays qui n'ont pas de code postal ou le champ d'état pour les pays qui n'ont pas un système étatique, ne sont que quelques exemples qui font de l'internationalisation un projet complexe[7],[12].

Une approche plus large prend en compte les facteurs culturels concernant par exemple l'adaptation de la méthodes commerciales ou l'inclusion des aspects culturels (comportementaux) individuels. [1],[13]

Déjà dans les années 1990, des entreprises comme Bull utilisaient la traduction automatique (Systran) à grande échelle, pour toute leurs activités de traduction : les traducteurs humains s'occupaient de la pré-édition (rendant l'entrée lisible par la machine) et de la post-édition[1].

Ingénierie[modifier | modifier le code]

Tant dans la réinvention d'un logiciel existant que dans la conception d'un nouveau logiciel internationalisé, la première étape de l'internationalisation consiste à diviser chaque partie potentiellement dépendante des paramètres régionaux (que ce soit du code, du texte ou des données) en un module distinct. [1] Chaque module peut alors soit s'appuyer sur une bibliothèque / dépendance standard, soit être remplacé indépendamment selon les besoins pour chaque paramètre régional.

La norme actuelle est que les applications placent du texte dans des chaînes de ressources qui sont chargées pendant l'exécution du programme selon les besoins. [1] Ces chaînes, stockées dans des fichiers de ressources, sont relativement faciles à traduire. Les programmes sont souvent conçus pour référencer les bibliothèques de ressources en fonction des données locales sélectionnées.

Le stockage des chaînes traduisibles et traduites est parfois appelé un catalogue de messages [1] car les chaînes sont appelées messages. Le catalogue comprend généralement un ensemble de fichiers dans un format de localisation spécifique et une bibliothèque standard pour gérer ce format. Une bibliothèque de logiciels et un format qui facilitent cela est gettext .

Ainsi, pour qu'une application prenne en charge plusieurs langues, il faudrait concevoir l'application pour sélectionner le fichier de ressources linguistiques approprié lors de son exécution. Le code requis pour gérer la vérification de la saisie des données et de nombreux autres types de données sensibles aux paramètres régionaux doivent également prendre en charge des exigences locales différentes. Les systèmes de développement et les systèmes d'exploitation modernes incluent des bibliothèques sophistiquées pour la prise en charge internationale de ces types, voir également les données locales standard ci-dessus.

De nombreux problèmes de localisation (par exemple, direction d'écriture, tri de texte) nécessitent des changements plus profonds dans le logiciel que la traduction de texte. Par exemple, OpenOffice.org y parvient avec des commutateurs de compilation.

Processus[modifier | modifier le code]

Une méthode de mondialisation comprend, après la planification, trois étapes de mise en œuvre : l'internationalisation, la localisation et l'assurance qualité[1].

Dans une certaine mesure (par exemple pour l'assurance qualité), les équipes de développement comprennent une personne qui gère les étapes de base/centrales du processus, qui permettent ensuite toutes les autres. [1] Ces personnes comprennent généralement des langues et des cultures étrangères et ont des connaissances techniques. Des rédacteurs techniques spécialisés sont nécessaires pour construire une syntaxe culturellement appropriée pour les concepts éventuellement compliqués, couplée à des ressources d'ingénierie pour déployer et tester les éléments de localisation.

Une fois correctement internationalisés, les logiciels peuvent s'appuyer sur des modèles de localisation plus décentralisés : les logiciels libres et open source reposent généralement sur l'auto-localisation par les utilisateurs finaux et les bénévoles, parfois organisés en équipes. [14] Le projet KDE3, par exemple, a été traduit dans plus de 100 langues ; [15] MediaWiki en 270 langues, dont 100 pour la plupart terminées en 2016[16].

Lors de la traduction de textes existants dans d'autres langues, il est difficile de conserver les versions parallèles de textes tout au long de la vie du produit[17]. Par exemple, si un message affiché à l'utilisateur est modifié, toutes les versions traduites doivent être modifiées.

Considérations commerciales[modifier | modifier le code]

Dans un contexte commercial, l'avantage de la localisation est l'accès à davantage de marchés. Au début des années 1980, Lotus 1-2-3 a pris deux ans pour séparer le code du programme et le texte et a perdu la première place du marché en Europe au profit de Microsoft Multiplan[1]. MicroPro a constaté que l'utilisation d'un traducteur autrichien pour le marché ouest-allemand avait pour conséquence que sa documentation WordStar "n'avait pas le ton qu'elle aurait dû"[18].

Cependant, il y a des coûts considérables qui vont bien au-delà de l'ingénierie. De plus, les opérations commerciales doivent s'adapter pour gérer la production, le stockage et la distribution de plusieurs produits localisés discrets, qui sont souvent vendus dans des devises, des environnements réglementaires et des régimes fiscaux complètement différents.

Enfin, les ventes, le marketing et le support technique doivent également faciliter leurs propres opérations dans les nouvelles langues, afin d'accompagner les clients pour les produits localisés. En particulier pour les populations linguistiques relativement petites, il peut ne jamais être économiquement viable d'offrir un produit localisé. Même lorsque de grandes populations linguistiques peuvent justifier la localisation d'un produit donné et que la structure interne d'un produit permet déjà la localisation, un développeur ou un éditeur de logiciel donné peut ne pas avoir la taille et les capacités nécessaires pour gérer les fonctions auxiliaires associées à l'exploitation dans plusieurs environnements locaux.

Voir aussi[modifier | modifier le code]

Références[modifier | modifier le code]

  1. a b c d e f g h i j k l m n et o Software Without Frontiers: A multi-platform, multi-cultural, multi-nation approach, Wiley, (ISBN 978-0-471-96974-7)
  2. Bert Esselink, The Evolution of Localization, Multilingual Computing and Technology, coll. « Guide to Localization », (lire en ligne) :

    « In a nutshell, localization revolves around combining language and technology to produce a product that can cross cultural and language barriers. No more, no less. »

  3. « Glossary of W3C Jargon », World Wide Web Consortium (consulté le 13 octobre 2008)
  4. « Origin of the Abbreviation I18n »
  5. « Localization vs. Internationalization », World Wide Web Consortium
  6. « GNU gettext utilities: Concepts » [archive du ], GNU Project (consulté le 29 octobre 2019) : « Two long words appear all the time when we discuss support of native language in programs, and these words have a precise meaning, worth being explained here, once and for all in this document. The words are internationalization and localization. Many people, tired of writing these long words over and over again, took the habit of writing i18n and l10n instead, quoting the first and last letter of each word, and replacing the run of intermediate letters by a number merely telling how many such letters there are. »
  7. a et b (en-US) alan, « What is Internationalization (i18n), Localization (L10n) and Globalization (g11n) » [archive du ],  : « The capital L in L10n helps to distinguish it from the lowercase i in i18n. »
  8. « IBM Globalization » [archive du ],
  9. « Globalization Step-by-Step » [archive du ]
  10. « Globalization Step-by-Step: Understanding Internationalization » [archive du ]
  11. « GNU gettext utilities: Plural forms »
  12. « International Address Formats », Microsoft Developer Network, Microsoft (consulté le 10 décembre 2013)
  13. Pawlowski, J.M. (2008): Culture Profiles: Facilitating Global Learning and Knowledge Sharing. Proc. of ICCE 2008, Taiwan, Nov. 2008. Draft Version
  14. (en) Laura Arjona Reina, Gregorio Robles et Jesús M. González-Barahona, A Preliminary Analysis of Localization in Free Software: How Translations Are Performed, Springer Berlin Heidelberg, coll. « IFIP Advances in Information and Communication Technology », , 153–167 p. (ISBN 978-3-642-38927-6, DOI 10.1007/978-3-642-38928-3_11)
  15. For the current list see KDE.org
  16. « Translating:Group statistics – translatewiki.net »
  17. « How to translate a game into 20 languages and avoid going to hell »
  18. (en-US) Michael Schrage, « IBM Wins Dominance in European Computer Market », The Washington Post,‎ (lire en ligne, consulté le 29 août 2018)

Lectures complémentaires[modifier | modifier le code]

Liens externes[modifier | modifier le code]