# General Translation Platform: setConfig
URL: https://generaltranslation.com/fr/docs/platform/core/reference/gt-class/set-config.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Met à jour la configuration d'une instance GT existante. Référence de l'API pour setConfig.

Modifiez les identifiants d&#39;API, les locales et d&#39;autres paramètres d&#39;une instance [GT](/docs/platform/core/reference/gt-class/constructor) après sa création, sans en créer une nouvelle.

## Vue d’ensemble [#overview]

Appelez `setConfig` pour modifier une instance sur place. Les nouvelles valeurs sont fusionnées avec la configuration fournie au constructeur et s’appliquent à tous les appels de méthode ultérieurs.

```typescript
const gt = new GT();

gt.setConfig({
  apiKey: 'your-new-api-key',
  projectId: 'your-project-id',
  sourceLocale: 'en',
  targetLocale: 'es',
});
```

Signature :

```typescript
setConfig(params: GTConstructorParams): void
```

*Remarque : `setConfig` est synchrone et renvoie `void` ; il modifie l’instance sur place.*

## Fonctionnement [#how-it-works]

* **Standardisation puis validation des codes de langue.** 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 standardisées/normalisées**, et non les chaînes brutes que vous avez fournies. `setConfig` lève une exception en cas de code invalide.
* **`customMapping` s’applique à `sourceLocale`/`targetLocale`, mais pas à `locales`.** `sourceLocale` et `targetLocale` sont validés **avec** `customMapping`, donc un alias personnalisé est accepté pour ces valeurs. Chaque entrée de `locales` est validée **sans** ce mapping ; un alias de `customMapping` est donc rejeté s’il apparaît dans `locales`.
* **Fusion de la configuration.** Les nouvelles valeurs sont fusionnées avec la configuration transmise au constructeur. En revanche, `customMapping` remplace entièrement tout mapping existant au lieu d’être fusionné.
* **Aucune relecture de l’environnement.** Les variables d’environnement (`GT_API_KEY`, `GT_DEV_API_KEY`, `GT_PROJECT_ID`) ne sont pas relues lors de l’appel à `setConfig`.
* **Non atomique.** Si la validation échoue en cours de route (par exemple, au deuxième code de langue), certaines propriétés précédentes peuvent déjà avoir été définies.

## Paramètres [#parameters]

`setConfig` accepte un objet [`GTConstructorParams`](/docs/platform/core/reference/types/gt-constructor-params) obligatoire, avec les mêmes propriétés que le [constructeur](/docs/platform/core/reference/gt-class/constructor) :

| Paramètre                          | Description                                                                | Type                                                                  | Facultatif | Par défaut |
| ---------------------------------- | -------------------------------------------------------------------------- | --------------------------------------------------------------------- | ---------- | ---------- |
| [`apiKey`](#api-key)               | Clé API de production pour le service de traduction.                       | `string`                                                              | Oui        | —          |
| [`devApiKey`](#dev-api-key)        | Clé API de développement.                                                  | `string`                                                              | Oui        | —          |
| [`projectId`](#project-id)         | Identifiant unique du projet.                                              | `string`                                                              | Oui        | —          |
| [`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’API personnalisée.                                        | `string`                                                              | Oui        | —          |
| [`customMapping`](#custom-mapping) | Mappings personnalisés des codes de langue et remplacements de propriétés. | [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) | Oui        | —          |

L’objet `params` est lui-même requis, mais toutes ses propriétés sont facultatives — ne fournissez que les paramètres que vous souhaitez modifier.

### `apiKey` [#api-key]

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

Clé API de production pour le service de traduction.

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

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

Clé API de développement. Prend le pas sur `apiKey` en développement.

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

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

Identifiant unique du projet.

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

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

Paramètre régional source par défaut des traductions. Il est normalisé dans sa forme canonique et stocké sous cette forme, puis validé **avec** tout `customMapping` (un alias personnalisé est donc accepté ici).

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

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

Paramètre régional cible par défaut pour les traductions. Standardisé sous sa forme canonique et stocké sous cette forme normalisée, puis validé **en tenant compte de** tout `customMapping` (de sorte qu’un alias personnalisé soit accepté ici).

### `locales` [#locales]

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

Tableau des codes de langue pris en charge. Chaque code est normalisé vers sa forme canonique et stocké sous cette forme, puis validé **sans** tenir compte du `customMapping` — ainsi, un alias défini dans `customMapping` et valide pour `sourceLocale`/`targetLocale` est rejeté s’il apparaît dans `locales`.

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

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

URL de base personnalisée pour l’API.

### `customMapping` [#custom-mapping]

**Type** [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) · **Facultatif**

Mappings personnalisés des codes de langue et remplacements de propriétés. Contrairement aux autres paramètres, un nouveau `customMapping` remplace entièrement le mapping existant au lieu de le fusionner.

## Renvoie [#returns]

**Type** `void`

La méthode met à jour la configuration de l’instance sur place et ne renvoie rien.

## Exemples [#examples]

```typescript
const gt = new GT({
  sourceLocale: 'en',
  targetLocale: 'es',
});

// Changer le paramètre régional cible de l'espagnol vers le français
gt.setConfig({
  targetLocale: 'fr',
});
```

## Notes [#notes]

* Les modifications de configuration prennent effet immédiatement pour les appels de méthode suivants.
* Chaque code de langue est standardisé sous sa forme canonique avant d’être stocké (la valeur stockée est la forme normalisée), puis validé.
* `sourceLocale` et `targetLocale` sont validés avec `customMapping` ; chaque entrée de `locales` est validée sans celui-ci.
* Les variables d’environnement ne sont pas relues lors de l’appel à `setConfig`.
* Les custom mappings remplacent entièrement les mappings existants (ils ne sont pas fusionnés).
* La mise à jour n’est **pas atomique** — si la validation échoue en cours de processus, certaines propriétés précédentes peuvent déjà avoir été définies.
* La méthode est synchrone et renvoie `void`.

## Sitemap

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