web-dev-qa-db-fra.com

Localisation et internationalisation, quelle est la différence?

J'allais poser une question sur la préparation d'une application de bureau prenant en charge plusieurs langues sur l'interface utilisateur.

Dans ma recherche de questions existantes sur le sujet, je pensais au mot "International", alors j'ai sélectionné la balise Internationalization et lu quelques questions correspondantes.

Finalement, j'ai réalisé que je devrais plutôt regarder sous les questions marquées Localisation. Cependant, il semble que je ne sois pas le seul à confondre ces deux termes.

Alors, quelles sont les différences clés entre la localisation et l'internationalisation?

En outre, une distinction claire entre eux est-elle vraiment importante?

198
Ash
Internationalisation (i18n)
le processus de modification de votre logiciel afin qu’il ne soit pas câblé à une langue/région/culture.
Localisation (l10n)
le processus d’ajout des ressources appropriées à votre logiciel afin de prendre en charge une langue/des paramètres régionaux particuliers. Sa portée est plus grande que juste cette entrée dans Wikipedia , mais c'est un bon début.


L’intérêt de les distinguer est que (théoriquement), une fois que votre programme a suivi le processus i18n, vous pouvez itérer de nombreux processus l10n selon vos besoins; aussi, c'est bien d'être précis avec la langue.

222
Hank Gay

Selon Apple :

L'internationalisation est le processus de conception et de création d'une application facilitant la localisation. Localisation correspond à son tour à l'adaptation culturelle et linguistique d'une application internationalisée à deux ou plusieurs marchés culturellement distincts.

70
mouviciel

Internationalisation prépare votre application pour la localisation. Par exemple, vous pourriez coder les caractères stockés dans votre base de données en Unicode (utf8mb4 au lieu de latin1), déplacement de chaînes de caractères dans des fichiers de ressources, permettant l’utilisation des formats de date, heure et devise, etc.

Lorsque vous souhaitez vendre, par exemple, une version chinoise de votre application, localisez-la en faisant appel à un traducteur pour créer les fichiers de ressources zh-CN et utilisez un nouveau format de date/heure/devise.

31
Mark Brackett

L10n peut parfois indiquer où votre i18n a échoué - par exemple, lorsque vos dictionnaires ont une seule entrée pour un mot utilisé comme nom et un verbe en anglais ne traduisant pas le même mot dans une autre langue ou des éléments de l'interface utilisateur/design ne convient pas à une culture (orientation gauche/droite).

Ainsi, l10n se produit "généralement" après i18n, mais peut alimenter votre i18n et nécessiter une refonte supplémentaire. Vous ne pouvez donc pas considérer votre application complètement internationalisée tant que vous n'avez pas effectué quelques localisations.

13
Cade Roux

Selon Wikipedia

L'internationalisation est le processus de conception d'une application logicielle permettant son adaptation potentielle à diverses langues et régions. without engineering changes.

Localisation est le processus de adapting internationalized software pour une région ou une langue spécifique en ajoutant des composants spécifiques aux paramètres régionaux et en traduisant le texte.

Également , la localisation (qui est potentiellement effectuée plusieurs fois, pour différents paramètres régionaux) utilise le infrastructure or flexibility provided by internationalization (idéalement effectué une seule fois ou faisant partie intégrante du développement en cours).

11
Asik

Mondialisation (G11n): processus de développement et de commercialisation de produits logiciels multilingues sur le marché mondial.

Le développement d'un logiciel multilingue passe actuellement par deux phases: la première phase est l'internationalisation et la deuxième phase est la localisation.

Internationalisation (I18n): processus consistant à généraliser un produit afin qu’il puisse gérer plusieurs langues et conventions culturelles sans nécessiter de re-conception (c’est-à-dire neutre du point de vue de la langue et de la culture).

Localisation (L10n): processus consistant à prendre un produit et à le rendre approprié du point de vue linguistique et culturel à la région cible (pays/région et langue) où il sera utilisé et vendu (c.-à-d. Spécifique à la langue et à la culture).

7
Abufardeh

Beaucoup de réponses, beaucoup d'informations correctes, mais ma réponse est un tout petit peu un autre point de vue.

Internationalisation - c'est lorsque le développeur n'a pas dans le code les messages directs/les messages d'erreur/les noms de boutons/les libellés d'étiquettes/etc dans certaines langues mais un clé qui est passé à la traduction fonction, et fonction de traduction en fonction de la localisation de l'utilisateur actuel retournera le texte final en anglais/france/etc ...
La fonction de traduction fonctionne avec le stockage (db/files/associative array/etc).
Le stockage contient keys qui est utilisé dans coode, et values, qui sont des textes dans certaines langues prises en charge par l’application.

Localisation - il s’agit d’ajouter de nouvelles valeurs dans une nouvelle langue (par exemple, espagne) qui convient à clés sans que le développeur soit impliqué dans ce processus.

Par exemple, nous avons un stockage:

key   | english    | italian           |
------+------------+-------------------+
title | Welcome    | Benvenuto         |
agree | I agree    | Sono d'accordo    |
thank | Thank you  | Grazie            |

L'internationalisation utilise dans le code quelque chose comme confirm(t(agree)); au lieu de confirm("I agree"); ou confirm("Sono d'accordo");
Localisation - il s'agit d'ajouter de nouveaux paramètres régionaux à notre stockage, comme:

key   | english    | italian           | spanish          |
------+------------+-------------------+------------------+
title | Welcome    | Benvenuto         | Bienvenido       |
agree | I agree    | Sono d'accordo    | Estoy de acuerdo |
thank | Thank you  | Grazie            | Gracias          |

et ici le développeur n'a pas besoin de code de mise à jour, la fonction de traduction transportera correctement les textes appropriés.

5
Vladimir Kovpak

C'est très simple si vous passez par les définitions ci-dessous,

i18n (internationalisation) est le

processus de conception d'une application de sorte qu'il ait le fonctionnalité permettant de changer de langue sans recourir à une modification programmatique de l'application.

l10n (localisation) est le

processus de création le textes et formatages spécifiques à une langue.

5
Prateek Joshi

Il y a quelques très bonnes réponses ici, donc je ne vais pas les recycler. Cependant, à un moment donné, généralement entre le test d'internationalisation et le test linguistique de localisation, l'internationalisation et la localisation ont tendance à se chevaucher. Une personne a mentionné le retour à l'internationalisation, mais si vous effectuez des tests de qualité, et créez un contenu pseudo-localisé, itérer sur les problèmes de développement pendant la localisation devrait être l'exception et non la règle. Le redimensionnement des interfaces, et en particulier l’adaptation des pages pour la prise en charge de langues bidirectionnelles telles que l’arabe et l’hébreu, tend également à mélanger les problèmes de localisation et les techniques d’internationalisation.

Inutile de dire que l’internationalisation implique d’apporter des modifications à la source pour prendre en charge tous les paramètres régionaux en fonction des besoins. Si l'internationalisation est bien faite ...

... La localisation implique l’adaptation du contenu et de certains niveaux de présentation (une étiquette en gras, par exemple) de manière à répondre au mieux aux besoins de marchés spécifiques (paramètres régionaux).

Beaucoup d'articles et de livres blancs pour référence ici: http://www.lingoport.com/software-internationalization-articles

3
Adam

Internationalisation - i18n - Abstraction d'une application dans une langue ou une culture particulière.

Localisation - l10n - Connecter le support concret d’une langue/culture/région particulière au framework i18n ci-dessus.

Fondamentalement, en faisant d'abord, vous faites beaucoup moins d'un PITA.

En revanche, si vous créez d'abord une application dans des paramètres régionaux concrets, puis tentez de l'internationaliser, il s'agira d'un PITA massif. Ce n'est pas une simple question d'échanger une chaîne anglaise concrète, telle que "Hello World" sur Resource.Global.HelloWorld.

Différentes langues auront différentes exigences d'espace, de mise en page, d'emphase, de couleurs, etc.

Vous avez besoin du framework i18n en place pour prendre en charge facilement cette commutation entre les paramètres régionaux pour les différences ci-dessus si même pensez vous devrez peut-être prendre en charge plusieurs paramètres régionaux.

La reconfigurer ultérieurement dans l'application est vraiment difficile. Vous devrez revoir toute une série de considérations architecturales et de contraintes que vous (ou quelqu'un d'autre) avez imposées la première fois.

3
rism

Permet de comprendre locale premier

locale - ensemble de paramètres définissant la langue, la région et les préférences de variante spécifiques que l'utilisateur souhaite voir dans son interface utilisateur. Généralement, un identificateur de paramètres régionaux comprend au moins un identificateur de langue et un identificateur de région.

i18n - Conception et développement de logiciels prenant en charge plusieurs environnements locaux.

l10n - Cela n’est possible que si votre logiciel prend en charge i18n. Mais l10n s'assure que la langue, le format de date, les formats de devise, etc. sont affichés en contexte pour une langue spécifique.

Par exemple,

#1. Le 3 juin 1977 sera traduit en espagnol le 3 juin 1977.

# 2. Dans certains pays, les devises sont séparées par "." contre ','

# 3. Afficher le symbole monétaire correspondant en fonction du pays

Les n ° 1, n ° 2 et n ° 3 sont des cas d'utilisation pour la localisation.

Si le logiciel est conçu pour prendre en charge # 1 OU # 2 OU # 3 sur les paramètres régionaux de l'utilisateur, le produit est activé l10n.

S'il prend en charge plusieurs paramètres régionaux, son i18n est activé.

2
Faiz Mohamed Haneef

pov analogique: Imaginez une étagère sur votre bibliothèque qui ne peut contenir qu'un livre de format 4x4 pouces. L’internationalisation consisterait à construire une étagère avec toutes sortes de compartiments permettant de gérer toutes les tailles et formes de livres. Et la localisation mettrait tous les livres sur les bonnes sections. Pensez à votre base de données, à votre logique métier et à votre interface utilisateur en tant qu'étagère et aux différentes langues, devises et orientation du texte en tant que livres.

2
Izz

Je pense que la localisation peut aller sans internationalisation mais .. l'internationalisation avec localisation ne devrait pas être faite ...

2
Paresh

Simplement,

Internationalisation (I18N) est le processus permettant à votre logiciel de s’adapter à différentes langues, régions et cultures.

Localisation (L10N) est le processus de traduction de votre logiciel en plusieurs langues. Mais avant de pouvoir localiser votre logiciel, vous l'internationalisez.

0
Sagar Thummar