# General Translation Platform: Constructor URL: https://generaltranslation.com/fr/docs/platform/core/reference/gt-class/constructor.mdx --- title: Constructor description: Initialisez une instance GT avec des clés API, les paramètres du projet, les paramètres régionaux par défaut et les mappages de paramètres régionaux. Référence de l’API pour Constructor. --- Crée une nouvelle instance `GT`, le point d’entrée de toutes les fonctionnalités de traduction, de formatage et de paramètres régionaux de General Translation. Appelez-la une seule fois et réutilisez cette instance dans toute votre application. ## Vue d’ensemble [#overview] Créez une instance `GT` avec un objet de configuration facultatif. Les informations d’identification et les paramètres régionaux que vous définissez ici deviennent les valeurs par défaut de chaque appel de méthode sur cette instance. ```typescript import { GT } from 'generaltranslation'; const gt = new GT({ apiKey: 'your-api-key', projectId: 'your-project-id', sourceLocale: 'en', targetLocale: 'es', }); ``` Signature : ```typescript new GT(params?: GTConstructorParams): GT ``` *Remarque : vous pouvez omettre `apiKey`, `devApiKey` et `projectId` — le constructeur les récupère depuis les variables d’environnement `GT_API_KEY`, `GT_DEV_API_KEY` et `GT_PROJECT_ID` lorsqu’elles sont définies.* ## Fonctionnement [#how-it-works] * **Recours aux variables d’environnement.** Lorsque `apiKey`, `devApiKey` ou `projectId` ne sont pas fournis, le constructeur les récupère depuis les variables d’environnement `GT_API_KEY`, `GT_DEV_API_KEY` et `GT_PROJECT_ID`. * **Normalisation du paramètre régional, puis validation.** Chaque code de langue fourni (`sourceLocale`, `targetLocale` et chaque entrée de `locales`) est d’abord normalisé vers sa forme canonique BCP 47, puis validé. Les **valeurs stockées sont les formes normalisées/standardisées**, et non les chaînes brutes que vous avez fournies. Le constructeur lève une erreur pour les codes non valides. * **Le mapping personnalisé s’applique à `sourceLocale`/`targetLocale`, mais pas à `locales`.** `sourceLocale` et `targetLocale` sont validés **avec** le [`customMapping`](/docs/platform/core/reference/types/custom-mapping), donc un alias personnalisé est accepté pour eux. Chaque entrée de `locales` est validée **sans** le mapping, donc un alias de `customMapping` est rejeté s’il apparaît dans `locales`. * **Priorité du mapping personnalisé.** Un [`customMapping`](/docs/platform/core/reference/types/custom-mapping) vous permet de définir des alias de paramètres régionaux, de remplacer la validation BCP 47 standard et de redéfinir les propriétés standard du paramètre régional (nom, emoji, etc.). Les mappings personnalisés priment sur les données BCP 47 standard. ## Paramètres [#parameters] Le constructeur accepte un unique objet [`GTConstructorParams`](/docs/platform/core/reference/types/gt-constructor-params) facultatif (par défaut `{}`), avec les propriétés suivantes : | Paramètre | Description | Type | Facultatif | Par défaut | | ---------------------------------- | -------------------------------------------------------------------------- | --------------------------------------------------------------------- | ---------- | --------------------------------------------- | | [`apiKey`](#api-key) | Clé API de production pour le service de traduction. | `string` | Oui | variable d'environnement `GT_API_KEY` | | [`devApiKey`](#dev-api-key) | Clé API de développement, prioritaire en développement. | `string` | Oui | variable d'environnement `GT_DEV_API_KEY` | | [`projectId`](#project-id) | Identifiant unique du projet. | `string` | Oui | variable d'environnement `GT_PROJECT_ID` | | [`sourceLocale`](#source-locale) | Paramètre régional source par défaut pour les traductions. | `string` | Oui | — | | [`targetLocale`](#target-locale) | Paramètre régional cible par défaut pour les traductions. | `string` | Oui | — | | [`locales`](#locales) | Codes de langue pris en charge. | `string[]` | Oui | — | | [`baseUrl`](#base-url) | URL de base personnalisée de l'API pour les déploiements d’entreprise. | `string` | Oui | — | | [`customMapping`](#custom-mapping) | Mappages personnalisés de codes de langue et redéfinitions de propriétés. | [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) | Oui | — | ### `apiKey` [#api-key] **Type** `string` · **Facultatif** · **Par défaut** `GT_API_KEY` env Clé API de production pour le service de traduction. Elle est lue depuis la variable d’environnement `GT_API_KEY` lorsqu’elle n’est pas fournie. Requise pour toute opération API. ### `devApiKey` [#dev-api-key] **Type** `string` · **Facultatif** · **Par défaut** `GT_DEV_API_KEY` env Clé API de développement. Prévaut sur `apiKey` en développement. Si elle n’est pas fournie, elle est lue depuis la variable d’environnement `GT_DEV_API_KEY`. ### `projectId` [#project-id] **Type** `string` · **Facultatif** · **Par défaut** variable d’environnement `GT_PROJECT_ID` Identifiant unique du projet. Lu depuis la variable d’environnement `GT_PROJECT_ID` lorsqu’il n’est pas fourni. Obligatoire pour toute opération d’API. ### `sourceLocale` [#source-locale] **Type** `string` · **Facultatif** Paramètre régional source par défaut des traductions, par exemple `en`. Il est normalisé vers sa forme canonique et stocké sous cette forme normalisée, puis validé **avec** tout `customMapping` éventuel (un alias personnalisé est donc accepté ici). ### `targetLocale` [#target-locale] **Type** `string` · **Facultatif** Paramètre régional cible par défaut pour les traductions, par exemple `es`. Il est standardisé dans sa forme canonique et stocké sous cette forme normalisée, puis validé **avec** tout `customMapping` (un alias personnalisé est donc accepté ici). ### `locales` [#locales] **Type** `string[]` · **Facultatif** Tableau de codes de langue pris en charge. Chaque code est converti dans sa forme canonique et stocké sous cette forme normalisée, puis validé **sans** le `customMapping` — un alias `customMapping` valide pour `sourceLocale`/`targetLocale` sera donc rejeté s'il apparaît dans `locales`. ### `baseUrl` [#base-url] **Type** `string` · **Facultatif** URL de base personnalisée de l’API, utilisée pour les déploiements d’entreprise pointant vers un endpoint auto-hébergé ou propre à une région. ### `customMapping` [#custom-mapping] **Type** [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) · **Facultatif** Correspondances personnalisées pour les codes de langue et redéfinition de propriétés. Utilisez-le pour (1) définir des alias pour les codes de langue, (2) outrepasser la validation BCP 47 standard et (3) redéfinir les propriétés BCP 47 standard du paramètre régional, comme le nom et l’emoji. ## Valeur de retour [#returns] **Type** `GT` Une nouvelle instance de `GT`, avec toutes les méthodes de traduction, de formatage et de gestion des paramètres régionaux disponibles. ## Exemples [#examples] ```typescript import { GT } from 'generaltranslation'; // Configuration minimale — lit les identifiants depuis les variables d'environnement const gt = new GT(); ``` ```typescript // Avec des identifiants API const gt = new GT({ projectId: 'my-project-id', apiKey: 'my-api-key', targetLocale: 'fr', }); ``` ```typescript // Avec un alias de paramètre régional personnalisé : utiliser `cn` comme alias pour `zh`. // L'API General Translation ne prend pas en charge `cn`, un custom mapping est donc requis. const gt = new GT({ projectId: 'my-project-id', apiKey: 'my-api-key', targetLocale: 'es', customMapping: { cn: { code: 'zh' }, }, }); ``` ```typescript // Les mappings personnalisés peuvent aussi remplacer les noms, les emojis et d'autres propriétés de paramètre régional const gt = new GT({ projectId: 'my-project-id', apiKey: 'my-api-key', targetLocale: 'es', customMapping: { 'en-US': { name: 'Mandarin', emoji: '🇫🇷' } }, }); ``` ## Remarques [#notes] * Tous les paramètres sont facultatifs, mais les opérations de l’API nécessitent `apiKey` (ou `devApiKey`) et `projectId`. * Le constructeur normalise chaque code de langue vers sa forme canonique (la valeur stockée est la forme normalisée), puis le valide et lève une erreur si le code est invalide. * `sourceLocale` et `targetLocale` sont validés avec le `customMapping` ; chaque entrée de `locales` est validée sans celui-ci. * Les mappings personnalisés priment sur la validation BCP 47 standard et sur ses propriétés. *Remarque : la classe `GT` étend `GTRuntime`. Dans la version 9.0, les fonctions utilitaires de traduction, de formatage et de paramètre régional se trouvent sur `GTRuntime`, tandis que les méthodes du workflow de fichiers (`uploads`, `enqueue`, `downloads`, etc.) se trouvent sur `GT`. Le constructeur ainsi que [`setConfig`](/docs/platform/core/reference/gt-class/set-config) sont définis sur `GTRuntime`, donc l’utilisation reste inchangée grâce à l’héritage.*