# General Translation Platform: Constructor
URL: https://generaltranslation.com/fr/docs/platform/core/reference/gt-class/constructor.mdx
Docs index: https://generaltranslation.com/llms.txt
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`.
* **Identités configurées.** Utilisez des codes standard tels que `en-US`; les codes configurés sont conservés tels quels. Pour accepter une autre graphie, comme `en-us`, associez-la au code voulu avec [`customMapping`](/docs/platform/core/reference/types/custom-mapping) : `{ 'en-us': { code: 'en-US' } }`. `sourceLocale`, `targetLocale` et chaque entrée de `locales` sont validés par rapport au mapping effectif, alias personnalisés compris. Les codes non valides lèvent une erreur.
* **Codes de langue renvoyés.** Les réponses relatives aux projets et aux fichiers utilisent, dans la mesure du possible, les graphies et alias que vous avez configurés. Si plusieurs codes configurés désignent le même paramètre régional, la première correspondance est retenue, sauf si votre requête permet de les distinguer. Aucun autre dialecte n’est utilisé en remplacement. Les résultats de la traduction à l’exécution utilisent les codes de langue de l’API.
* **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 (valeur par défaut `{}`), avec les propriétés suivantes :

| Paramètre                          | Description                                                                           | Type                                                                  | Facultatif | valeur par défaut                                    |
| ---------------------------------- | ------------------------------------------------------------------------------------- | --------------------------------------------------------------------- | ---------- | --------------------------------------------- |
| [`apiKey`](#api-key)               | Clé API de projet pour le service de traduction.                                      | `string`                                                              | Oui        | variable d&#39;environnement `GT_API_KEY`     |
| [`devApiKey`](#dev-api-key)        | Autre clé API de projet, utilisée lorsque `apiKey` n&#39;est pas définie.             | `string`                                                              | Oui        | variable d&#39;environnement `GT_DEV_API_KEY` |
| [`projectId`](#project-id)         | Identifiant unique du projet.                                                         | `string`                                                              | Oui        | variable d&#39;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 de l&#39;API.                                                             | `string`                                                              | Oui        | `https://api.gtx.dev`                         |
| [`customMapping`](#custom-mapping) | correspondance personnalisée pour les 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** · **valeur par défaut** `GT_API_KEY` env

Clé API de projet pour le service de traduction. Elle est lue depuis `GT_API_KEY` lorsqu’elle n’est pas fournie. Les opérations de l’API nécessitent une clé API (y compris l’alias déprécié `devApiKey`), ainsi qu’un ID de projet et la permission correspondant à l’opération.

### `devApiKey` [#dev-api-key]

**Type** `string` · **Facultatif** · **valeur par défaut** `GT_DEV_API_KEY` env

Alias de compatibilité déprécié de `apiKey`, et non un type de clé distinct propre à un environnement. Utilisé lorsque `apiKey` n’est pas définie. Si elle n’est pas fournie, la valeur est lue depuis `GT_DEV_API_KEY`.

### `projectId` [#project-id]

**Type** `string` · **Facultatif** · **valeur par défaut** variable d’environnement `GT_PROJECT_ID`

Identifiant unique du projet. Lu depuis `GT_PROJECT_ID` lorsqu’il n’est pas fourni. Les opérations de l’API nécessitent cet ID en plus des identifiants.

### `sourceLocale` [#source-locale]

**Type** `string` · **Facultatif**

Paramètre régional source par défaut des traductions, par exemple `en`. Son orthographe telle que configurée est préservée et validée avec tout `customMapping` éventuel ; les alias personnalisés sont donc acceptés.

### `targetLocale` [#target-locale]

**Type** `string` · **Facultatif**

Paramètre régional cible par défaut pour les traductions, par exemple `es`. Son orthographe telle que configurée est préservée et validée avec tout `customMapping` ; les alias personnalisés sont donc acceptés.

### `locales` [#locales]

**Type** `string[]` · **Facultatif**

Tableau d&#39;identifiants de paramètres régionaux pris en charge. Chaque code est préservé et validé à l&#39;aide du `customMapping` effectif ; les alias personnalisés sont également acceptés ici.

### `baseUrl` [#base-url]

**Type** `string` · **Facultatif** · **Default** `https://api.gtx.dev`

URL de base de l’API. Ne la remplacez que si votre déploiement utilise un endpoint différent.

### `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 une clé API et un `projectId`.
* Les graphies et les alias de paramètres régionaux configurés sont préservés ; les codes renvoyés suivent les règles ci-dessus.
* Tous les champs de paramètre régional sont validés par rapport au mapping personnalisé en vigueur.
* Les mappings personnalisés priment sur la validation et les propriétés BCP 47 standard.
* Pour reconfigurer une instance, utilisez [`setConfig`](/docs/platform/core/reference/gt-class/set-config) plutôt que d’assigner directement des propriétés.

*Remarque : `GT` étend [`GTRuntime`](/docs/platform/core/reference/runtime), qui fournit la traduction à l’exécution, le formatage et les paramètres régionaux. La gestion des fichiers et des projets reste assurée par `GT`.*

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
