# General Translation Overview: Concepts fondamentaux URL: https://generaltranslation.com/fr/docs/overview/key-concepts.mdx --- title: Concepts fondamentaux description: "Comprendre les concepts fondamentaux de General Translation : internationalisation, localisation, traduction, locales et contexte" --- General Translation adapte votre produit à n’importe quelle langue. Cette page présente les concepts fondamentaux qui sous-tendent ce processus, en termes simples. ## Internationalisation, localisation et traduction [#i18n-l10n] Ces trois termes sont liés, mais distincts. Les distinguer clairement facilite la compréhension de la documentation. ### Internationalization (i18n) L’internationalisation, également appelée **i18n**, consiste à préparer une base de code pour qu’elle puisse prendre en charge plusieurs locales et gérer des éléments adaptés à la locale, comme les dates et les nombres, les pluriels, les devises et la mise en page (par exemple, pour les langues qui se lisent de droite à gauche). Cela se fait à l’aide d’une bibliothèque d’internationalisation telle que [`gt-react`](/docs/react/react-quickstart) pour les applications React ou [`gt-next`](/docs/react/nextjs-quickstart) pour Next.js, qui s’occupe de cela pour vous. L’internationalisation se distingue de la traduction du contenu ou des composants. Elle prépare la base de code à prendre en charge la traduction et la localization. ### Traduction La traduction consiste à convertir un contenu d’une langue ou d’un dialecte dans une autre langue ou un autre dialecte. Chaque langue est identifiée par un [code de langue](#locales). *Exemple : traduire* `es` *(espagnol) en* `en-US` *(anglais américain) réécrit le contenu en espagnol en anglais américain. Traduire la même source en* `en-GB` *produit à la place de l’anglais britannique. Le dialecte compte aussi — traduire* `en-GB` *en* `en-US` *réécrit l’anglais britannique en anglais américain.* ```js gt.translate('Tenemos un ascensor', 'en-US'); // "We have an elevator" gt.translate('Tenemos un ascensor', 'en-GB'); // "We have a lift" gt.translate('We have a lift', 'en-US'); // "We have an elevator" ``` ### Localisation (l10n) La localisation, également écrite **l10n**, est le processus qui consiste à adapter un produit à un paramètre régional donné. Chez General Translation, nous utilisons la localisation comme terme générique pour l’ensemble du workflow : l’internationalisation, la traduction et les outils qui les relient. Nous avons conçu l’ensemble de la stack de localisation pour prendre en charge ce workflow de bout en bout. La localisation peut aussi aller au-delà de la langue. Selon le paramètre régional, cela peut signifier accepter des paiements dans une autre Currency, présenter différemment les dates et les nombres, et se conformer aux réglementations locales. ## Locales et codes de langue [#locales] Une **locale** est une langue ou un dialecte. Un **code de langue** est une façon normalisée de désigner une locale. Dans cette documentation, « locale » désigne généralement le code de langue. *Exemple :* `en-US` *est un code de langue pour l’anglais utilisé aux États-Unis.* Les codes de langue indiquent à General Translation dans quelle langue un fichier source est rédigé, vers quelle langue le traduire, et comment formater des valeurs adaptées à la locale, comme les dates, les nombres et les monnaies. ### Comment fonctionnent les codes de langue General Translation utilise la norme de balises de langue **BCP 47**. Un code de langue combine jusqu’à trois sous-balises séparées par `-` : * **Langue** (obligatoire) : la langue principale, par exemple `en` pour l’anglais ou `zh` pour le chinois. * **Écriture** (facultatif) : le système d’écriture, par exemple `Hant` pour les caractères chinois traditionnels. * **Région** (facultatif) : le pays ou la région, par exemple `US` pour les États-Unis. Les codes peuvent être généraux ou spécifiques : * `zh` désigne le chinois. * `zh-Hant` désigne le chinois écrit en caractères traditionnels. * `zh-Hant-HK` désigne le chinois écrit en caractères traditionnels, tel qu’il est parlé à Hong Kong. Consultez [Comprendre les codes de langue](/docs/platform/core/guides/locale-codes) pour une explication complète et une liste consultable des [paramètres régionaux pris en charge](/docs/platform/dashboard/reference/supported-locales). ### Locales source et cible * La **locale source** est la langue dans laquelle votre contenu est rédigé (aussi appelée locale par défaut). * Une **locale cible** est une langue vers laquelle vous traduisez votre contenu. La plupart des projets ont une locale source et une ou plusieurs locales cibles. ## Contexte de traduction [#context] Le **contexte** indique à l’IA comment interpréter et traduire votre produit. C’est un bon contexte qui permet aux traductions de refléter votre marque, votre produit et votre ton, au lieu de ressembler à un texte générique généré par une machine. Le contexte aide General Translation à : * Préserver les noms de marque et de produit qui ne doivent jamais être traduits. * Lever les ambiguïtés sur certains mots — par exemple, déterminer si « cells » signifie des pièces, des téléphones portables, des bactéries ou des cellules de feuille de calcul. * Maintenir une terminologie et un style cohérents dans l’ensemble de votre organisation et de vos projets. General Translation applique le contexte au moyen de **groupes de contexte**, qui combinent deux éléments : * Le **glossaire** définit les termes clés : noms de produits, noms de fonctionnalités et termes techniques qui doivent être traités de manière cohérente. * Les **Directives** définissent le style et le ton : public, niveau de formalité, conventions et formatage. Consultez [Ajouter un contexte de traduction](/docs/platform/dashboard/guides/adding-translation-context) pour mettre cela en place. ## Contenu statique et dynamique [#content] Comprendre la différence entre le contenu statique et le contenu dynamique vous aide à déterminer ce qui doit être traduit. * **Le contenu statique** ne change jamais : il s’agit du texte brut et des chaînes de caractères qu’un développeur peut lire dans le code source, comme « Welcome to my app! ». En règle générale, tout texte que vous pouvez lire directement dans la source est statique, même les chaînes qui ne s’affichent que sous certaines conditions. Le contenu statique est traduit, sauf s’il s’agit d’un nom propre. * **Le contenu dynamique** peut changer à l’exécution selon l’utilisateur, l’environnement ou les données : le nom, l’e-mail ou le solde du compte d’un utilisateur, par exemple. Il est impossible d’en connaître la valeur en lisant uniquement la source. Lorsque le contenu dynamique correspond à un ensemble fini de cas connus — un nombre au singulier ou au pluriel, ou une valeur comme *active* ou *archived* — General Translation peut créer une branche en fonction de cette valeur et générer une traduction correcte pour chaque cas, à l’aide de composants logiques comme [``](/docs/react/reference/components/plural) et [``](/docs/react/reference/components/branch), ou de [``](/docs/react/reference/components/derive) pour répertorier chaque valeur possible et traduire chaque variante. Voir [Gérer les pluriels et les branches](/docs/react/guides/handling-plurals-and-branches). ### Variables et mise en forme Dans les bibliothèques d’i18n, vous encapsulez les valeurs dynamiques dans le composant [``](/docs/react/reference/components/var) afin qu’elles restent inchangées, quelle que soit la langue : ```jsx import { T, Var } from 'gt-next'; Hello, {name}! ; ``` Cela présente deux avantages : vous générez une seule traduction, comme `¡Hola, {name}!`, au lieu d’une traduction distincte pour chaque nom possible, et le nom lui-même n’est jamais réécrit sous une forme traduite. Pour les valeurs qui doivent être reformatées sans être traduites — comme les prix, les dates et les nombres — utilisez plutôt les composants de Formatting ([``](/docs/react/reference/components/currency), [``](/docs/react/reference/components/datetime) et [``](/docs/react/reference/components/num)). ``, ``, `` et `` sont tous disponibles dans `gt-next`, `gt-react` et `gt-react-native`. ### Informations privées `` sert aussi à empêcher que des informations privées — noms, e-mails, adresses ou numéro de sécurité sociale — se retrouvent dans les traductions. Le contenu placé dans `` est affiché tel quel et n’est jamais envoyé à l’API de General Translation. *Remarque : les exceptions sont un* [``](/docs/react/reference/components/t) *imbriqué dans un* `` *(dont les éléments enfants sont traduits) ou les données que vous envoyez vous-même à l’API depuis un* `` *(par exemple, via un appel fetch). Aucun de ces deux cas ne correspond à l’usage prévu de* ``*.*