Internationalisation et localisationEn 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]. AppellationLes 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 globalization 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éeSelon 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 :
Données locales standardLes 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 :
Conventions nationalesDiffé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 logicielsAfin 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 des 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 toutes 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énierieTant 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. ProcessusUne 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 commercialesDans 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
Notes et références
Liens externes |
Portal di Ensiklopedia Dunia