Aller au contenu principal

Principes de base de l'internationalisation

Traduction Bêta Non Officielle

Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

Qu'est-ce que l'internationalisation et pourquoi est-ce important ?

Un logiciel internationalisé prend en charge les langues et les coutumes culturelles des personnes à travers le monde. Le Web touche toutes les régions du globe. Les applications web internationalisées offrent une excellente expérience utilisateur partout dans le monde.

Un logiciel localisé s'adapte à une langue et une culture spécifiques en traduisant le texte dans la langue de l'utilisateur et en formattant les données selon ses attentes. Une application est généralement localisée pour un petit ensemble de locales.

La spécification ECMA-402 pour l'internationalisation JavaScript propose un excellent aperçu.

Locales : Langue et région

Une "locale" représente les attentes linguistiques et culturelles d'une région. Elle est représentée par un "code de locale" défini dans UTS LDML.

Ce code se compose de plusieurs parties séparées par des traits d'union (-). La première partie est une chaîne courte représentant la langue. La deuxième partie, optionnelle, est une chaîne courte représentant la région. De plus, diverses extensions et variantes peuvent être spécifiées.

Pour des conseils sur le choix des composants de locale appropriés, consultez l'article du W3C sur la sélection des balises de langue.

Typiquement, les applications web sont localisées pour une simple langue ou une combinaison langue-région. Voici des exemples de tels codes de locale :

  • en pour l'anglais

  • en-US pour l'anglais tel que parlé aux États-Unis

  • en-GB pour l'anglais tel que parlé au Royaume-Uni

  • es-AR pour l'espagnol tel que parlé en Argentine

  • ar-001 pour l'arabe tel que parlé dans le monde entier

  • ar-AE pour l'arabe tel que parlé aux Émirats arabes unis

La plupart des applications internationalisées ne prennent en charge qu'une petite liste de locales.

Traduction des chaînes de caractères

Votre application contient probablement du texte dans une langue naturelle comme l'anglais ou le japonais. Pour prendre en charge d'autres locales, vous devrez traduire ces chaînes.

FormatJS fournit un mécanisme permettant d'écrire le "logiciel" central de votre application sans code spécifique pour différentes traductions. Les considérations pour chaque locale sont encapsulées dans vos chaînes traduites et nos bibliothèques.

const messages = {
en: {
GREETING: 'Hello {name}',
},
fr: {
GREETING: 'Bonjour {name}',
},
}

Nous utilisons la syntaxe de message ICU également employée dans Java, C, PHP et diverses autres plateformes.

Organisation des chaînes traduites

Il est courant d'organiser vos traductions principalement par locale, car vous n'avez besoin que des traductions pour la locale actuelle de l'utilisateur. Nos intégrations de moteurs de template et de bibliothèques de composants sont conçues pour fonctionner avec les traductions d'une seule locale. Si votre application est complexe, vous pouvez subdiviser davantage vos traductions, par exemple par page ou section du site.

Structure du code

Le formatage et la présentation des données et des chaînes traduites suivent généralement ces étapes :

  1. Déterminez la locale de l'utilisateur, comme décrit dans le guide Environnements d'exécution.

  2. Configurez l'une des intégrations de FormatJS avec les données suivantes :

    • la locale actuelle de l'utilisateur
    • les chaînes traduites pour cette locale
    • optionnellement, tout format personnalisé
  3. Appelez le moteur de template en lui passant les données nécessitant un formatage.