# General Translation Platform: setConfig
URL: https://generaltranslation.com/it/docs/platform/core/reference/gt-class/set-config.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Aggiorna la configurazione di un'istanza GT esistente. API Reference di setConfig.

Modifica le credenziali API, le impostazioni regionali e altre impostazioni di un&#39;istanza [GT](/docs/platform/core/reference/gt-class/constructor) dopo la sua creazione, senza crearne una nuova.

## Panoramica [#overview]

Usa `setConfig` per modificare un&#39;istanza in-place. I nuovi valori vengono combinati con la configurazione passata al costruttore e si applicano a ogni successiva chiamata di metodo.

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

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

Firma:

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

*Nota: `setConfig` è sincrona, restituisce `void` e aggiorna l&#39;istanza in-place.*

## Come funziona [#how-it-works]

* **Standardizzazione dell&#39;impostazione regionale, poi validazione.** Ogni codice locale fornito (`sourceLocale`, `targetLocale` e ogni voce in `locales`) viene prima standardizzato nella sua forma canonica BCP 47, quindi validato. I **valori memorizzati sono nelle forme standardizzate/normalizzate**, non le stringhe originali che hai passato. `setConfig` solleva un errore per i codici non validi.
* **La mappatura personalizzata si applica a `sourceLocale`/`targetLocale`, ma non a `locales`.** `sourceLocale` e `targetLocale` vengono validati **con** `customMapping`, quindi per entrambi è accettato un alias personalizzato. Ogni voce di `locales` viene validata **senza** la mappatura, quindi un alias di `customMapping` viene rifiutato se compare all&#39;interno di `locales`.
* **Merge della configurazione.** I nuovi valori vengono uniti alla configurazione passata al costruttore. `customMapping`, tuttavia, sostituisce completamente qualsiasi mappatura esistente invece di essere unita.
* **Nessuna rilettura dell&#39;ambiente.** Le variabili d&#39;ambiente (`GT_API_KEY`, `GT_DEV_API_KEY`, `GT_PROJECT_ID`) non vengono lette di nuovo quando chiami `setConfig`.
* **Non atomico.** Se la validazione fallisce a metà processo (ad esempio, sulla seconda impostazione regionale), le proprietà precedenti potrebbero essere già state impostate.

## Parametri [#parameters]

`setConfig` accetta un oggetto [`GTConstructorParams`](/docs/platform/core/reference/types/gt-constructor-params) obbligatorio con le stesse proprietà del [costruttore](/docs/platform/core/reference/gt-class/constructor):

| Parametro                          | Descrizione                                                           | Tipo                                                                  | Facoltativo | Predefinito |
| ---------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | ----------- | ----------- |
| [`apiKey`](#api-key)               | Chiave API di produzione per il servizio di traduzione.               | `string`                                                              | Sì          | —           |
| [`devApiKey`](#dev-api-key)        | Chiave API di sviluppo.                                               | `string`                                                              | Sì          | —           |
| [`projectId`](#project-id)         | Identificatore del progetto univoco.                                  | `string`                                                              | Sì          | —           |
| [`sourceLocale`](#source-locale)   | Impostazione regionale sorgente predefinita per le traduzioni.        | `string`                                                              | Sì          | —           |
| [`targetLocale`](#target-locale)   | Impostazione regionale di destinazione predefinita per le traduzioni. | `string`                                                              | Sì          | —           |
| [`locales`](#locales)              | Codici locale supportati.                                             | `string[]`                                                            | Sì          | —           |
| [`baseUrl`](#base-url)             | URL base dell'API personalizzato.                                     | `string`                                                              | Sì          | —           |
| [`customMapping`](#custom-mapping) | Mapping personalizzati dei codici locale e sovrascrittura delle proprietà.  | [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) | Sì          | —           |

L&#39;oggetto `params` è obbligatorio, ma tutte le sue proprietà sono facoltative: passa solo le impostazioni che vuoi modificare.

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

**Tipo** `string` · **Facoltativo**

Chiave API di produzione per il servizio di traduzione.

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

**Tipo** `string` · **Facoltativo**

Chiave API di sviluppo. In fase di sviluppo, ha la precedenza su `apiKey`.

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

**Tipo** `string` · **Facoltativo**

Identificatore univoco del progetto.

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

**Tipo** `string` · **Facoltativo**

Impostazione regionale sorgente predefinita per le traduzioni. Viene normalizzata nella sua forma canonica e memorizzata in tale forma, quindi validata **insieme a** eventuali `customMapping` (perciò qui è accettato anche un alias personalizzato).

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

**Type** `string` · **Facoltativo**

Impostazione regionale di destinazione predefinita per le traduzioni. Viene standardizzata nella sua forma canonica e memorizzata in tale forma normalizzata, quindi validata **rispetto a** eventuali `customMapping` (quindi qui è accettato anche un alias personalizzato).

### `locales` [#locales]

**Tipo** `string[]` · **Facoltativo**

Un array di codici locale supportati. Ogni codice viene standardizzato nella sua forma canonica e memorizzato in tale forma normalizzata, quindi validato **senza** `customMapping` — perciò un alias di `customMapping` valido per `sourceLocale`/`targetLocale` viene rifiutato se compare all&#39;interno di `locales`.

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

**Tipo** `string` · **Facoltativo**

URL base personalizzato dell&#39;API.

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

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

Mappature personalizzate dei codici locale e sovrascritture delle proprietà. A differenza delle altre impostazioni, un nuovo `customMapping` sostituisce completamente la mappatura esistente invece di unirsi a essa.

## Valore restituito [#returns]

**Tipo** `void`

Il metodo aggiorna in-place la configurazione dell&#39;istanza e non restituisce alcun valore.

## Esempi [#examples]

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

// Cambia l'impostazione regionale di destinazione dallo spagnolo al francese
gt.setConfig({
  targetLocale: 'fr',
});
```

## Note [#notes]

* Le modifiche alla configurazione hanno effetto immediato sulle chiamate ai metodi successive.
* Ogni codice locale viene standardizzato nella sua forma canonica prima di essere memorizzato (il valore memorizzato è la forma normalizzata), quindi viene validato.
* `sourceLocale` e `targetLocale` vengono validati con `customMapping`; ogni voce di `locales` viene validata senza usarlo.
* Le variabili d&#39;ambiente non vengono rilette quando si chiama `setConfig`.
* I mapping personalizzati sostituiscono completamente i mapping esistenti (non vengono combinati).
* L&#39;aggiornamento **non è atomico** — se la convalida fallisce a metà processo, le proprietà precedenti potrebbero essere già state impostate.
* Il metodo è sincrono e restituisce `void`.

## Sitemap

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