vignette|350x350px| 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. 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).
Appellation 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) et L10n pour la localisation, en raison de la longueur des mots. Certains écrivains ont capitalisé ce dernier acronyme pour aider à distinguer les deux.
Certaines entreprises, comme IBM et Oracle, utilisent le terme mondialisation, g11n, pour combiner internationalisation et localisation (du mot globalization en anglais). 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).
Hewlett-Packard et HP-UX ont créé un système appelé « National Language Support » ou « Native Language Support » (NLS) pour produire des logiciels localisables.
Portée droite|vignette|400x400px| 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 ».
La traduction est généralement la composante la plus longue de la localisation linguistique. 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. 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 : Le formatage des nombres (en particulier séparateur décimal et l'espace entre les chiffres). Le format de date et d'heure, nécessitant éventuellement l'utilisation de différents calendriers.
Données locales standard Les logiciels 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. 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. 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 Différents pays ont des conventions économiques différentes, y compris des variations dans : Tailles de papier Systèmes de diffusion télévisuelle et stockage d'informations populaires Formats des numéros de téléphone Formats d'adresse postale, codes postaux et choix des services de livraison Monnaie (symboles, positions des marqueurs monétaires et montants raisonnables en raison de différents historiques d'inflation ) - les codes ISO 4217 sont souvent utilisés pour l'internationalisation Système d'unité Formats des piles Normes de tension et de courant.
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 conformité réglementaire peut nécessiter une personnalisation pour une juridiction particulière, ou une modification du produit dans son ensemble, comme : Conformité à la loi sur la confidentialité Clauses de non-responsabilité supplémentaires sur un site internet ou un emballage Différentes exigences d'étiquetage des consommateurs Conformité aux restrictions à l'exportation et aux réglementations sur le chiffrement Respect d'un régime de censure sur Internet ou de procédures d'assignation Conditions d'accessibilité Collecte de différentes taxes, telles que la taxe sur la vente, la taxe sur la valeur ajoutée ou les droits de douane Sensibilité aux différentes questions politiques, comme les conflits de dénomination géographique et les frontières contestées figurant sur les cartes Les numéros attribués par le gouvernement ont différents formats (tels que passeports, numéros de sécurité sociale et autres numéros d'identification nationaux).
La localisation peut également prendre en compte des différences de culture, telles que : Les jours fériés locaux Les conventions relatives aux noms et titres personnels L'esthétique La compréhensibilité et la pertinence culturelle des images et du symbolisme des couleurs L'ethnicité, les vêtements et statut socio-économique des personnes et architecture des lieux représentés Les coutumes et conventions locales, telles que les tabous sociaux, les religions locales populaires ou les superstitions telles que les groupes sanguins dans la culture japonaise par rapport aux signes astrologiques dans d'autres cultures.
Processus opérationnel pour l'internationalisation des logiciels Afin d' internationaliser un produit, il est important d'examiner l'ensemble des marchés sur lesquels le produit entrera vraisemblablement.
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.
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) individuelsJ.M. Pawlowski, Culture Profiles: Facilitating Global Learning and Knowledge Sharing, Proc. of ICCE 2008, Taïwan, novembre 2008. Draft Version.
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.
Ingénierie 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. 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. 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 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 .