# General Translation Platform: Costruttore
URL: https://generaltranslation.com/it/docs/platform/core/reference/gt-class/constructor.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Inizializza un'istanza di GT con chiavi API, impostazioni del progetto, impostazioni regionali predefinite e mappature delle impostazioni regionali. Riferimento API per il Costruttore.

Crea una nuova istanza di `GT`, il punto di ingresso per tutte le funzionalità di traduzione, formattazione e gestione delle impostazioni regionali di General Translation. Chiamala una volta e riutilizza l&#39;istanza in tutta l&#39;applicazione.

## Panoramica [#overview]

Crea un&#39;istanza `GT` con un oggetto di configurazione facoltativo. Le credenziali e le impostazioni regionali definite qui diventano i valori predefiniti per ogni chiamata di metodo su quell&#39;istanza.

```typescript
import { GT } from 'generaltranslation';

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

Firma:

```typescript
new GT(params?: GTConstructorParams): GT
```

*Nota: puoi omettere `apiKey`, `devApiKey` e `projectId` — il costruttore li recupera dalle variabili d&#39;ambiente `GT_API_KEY`, `GT_DEV_API_KEY` e `GT_PROJECT_ID` quando sono impostate.*

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

* **Fallback dalle variabili d&#39;ambiente.** Quando `apiKey`, `devApiKey` o `projectId` non vengono passati, il costruttore li cerca nelle variabili d&#39;ambiente `GT_API_KEY`, `GT_DEV_API_KEY` e `GT_PROJECT_ID`.
* **Identità configurate.** Usa codici standard come `en-US`; i codici configurati vengono mantenuti esattamente come li hai scritti. Per accettare una grafia diversa, come `en-us`, mappala con [`customMapping`](/docs/platform/core/reference/types/custom-mapping): `{ 'en-us': { code: 'en-US' } }`. `sourceLocale`, `targetLocale` e ogni voce in `locales` vengono validati rispetto al mapping effettivo, alias personalizzati inclusi. I codici non validi generano un errore.
* **Codici locale restituiti.** Le risposte relative a progetti e file usano, ove possibile, le grafie e gli alias che hai configurato. Se più codici configurati identificano la stessa impostazione regionale, viene usata la prima corrispondenza, a meno che la richiesta non li distingua. Non vengono sostituiti con altri dialetti. I risultati della traduzione runtime usano i codici locale dell&#39;API.
* **Precedenza del mapping personalizzato.** Un [`customMapping`](/docs/platform/core/reference/types/custom-mapping) ti consente di definire alias di impostazioni regionali, ignorare la validazione standard BCP 47 e sovrascrivere le proprietà standard dell&#39;impostazione regionale (nome, emoji e così via). I mapping personalizzati hanno la precedenza sui dati standard BCP 47.

## Parametri [#parameters]

Il costruttore accetta un singolo oggetto facoltativo [`GTConstructorParams`](/docs/platform/core/reference/types/gt-constructor-params) (il valore predefinito è &#96;{}&#96;&#96;) con le seguenti proprietà:

| Parametro                          | Descrizione                                                                 | Tipo                                                                  | Facoltativo | Predefinito                    |
| ---------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------- | ----------- | ------------------------------ |
| [`apiKey`](#api-key)               | Chiave API del progetto per il servizio di traduzione.                      | `stringa`                                                             | Sì          | variabile env `GT_API_KEY`     |
| [`devApiKey`](#dev-api-key)        | Chiave API del progetto alternativa, usata quando `apiKey` non è impostata. | `stringa`                                                             | Sì          | variabile env `GT_DEV_API_KEY` |
| [`projectId`](#project-id)         | Identificatore del progetto.                                                | `stringa`                                                             | Sì          | variabile env `GT_PROJECT_ID`  |
| [`sourceLocale`](#source-locale)   | Impostazione regionale sorgente predefinita per le traduzioni.              | `stringa`                                                             | Sì          | —                              |
| [`targetLocale`](#target-locale)   | Impostazione regionale di destinazione predefinita per le traduzioni.       | `stringa`                                                             | Sì          | —                              |
| [`locales`](#locales)              | Codici locale supportati.                                                   | `stringa[]`                                                           | Sì          | —                              |
| [`baseUrl`](#base-url)             | URL base dell&#39;API.                                                      | `stringa`                                                             | Sì          | `https://api.gtx.dev`          |
| [`customMapping`](#custom-mapping) | mapping personalizzati dei codici locale e override delle proprietà.        | [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) | Sì          | —                              |

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

**Tipo** `string` · **Facoltativo** · **Predefinito** `GT_API_KEY` env

Chiave API del progetto per il servizio di traduzione. Se non viene fornita, viene letta da `GT_API_KEY`. Le operazioni API richiedono una chiave API (incluso l&#39;alias deprecato `devApiKey`), oltre a un ID progetto e all&#39;autorizzazione necessaria per l&#39;operazione.

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

**Tipo** `string` · **Facoltativo** · **Predefinito** `GT_DEV_API_KEY` env

Alias deprecato di `apiKey`, mantenuto per compatibilità: non è un tipo di chiave distinto, specifico per un ambiente. Viene usato quando `apiKey` non è impostata. Se non viene fornito, viene letto da `GT_DEV_API_KEY`.

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

**tipo** `string` · **Facoltativo** · **Predefinito** variabile d&#39;ambiente `GT_PROJECT_ID`

Identificatore del progetto. Se non viene fornito, viene letto da `GT_PROJECT_ID`. Le operazioni API richiedono questo ID oltre alle credenziali.

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

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

Impostazione regionale sorgente predefinita per le traduzioni, ad esempio `en`. La grafia configurata viene mantenuta invariata e convalidata con eventuali `customMapping`, pertanto sono accettati alias personalizzati.

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

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

Impostazione regionale di destinazione predefinita per le traduzioni, ad esempio `es`. La grafia configurata viene mantenuta invariata e convalidata con eventuali `customMapping`, per cui vengono accettati anche alias personalizzati.

### `locales` [#locales]

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

Array di identità locale supportate. Ogni codice viene mantenuto invariato e convalidato con il `customMapping` effettivo; qui sono accettati anche gli alias personalizzati.

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

**Tipo** `stringa` · **Facoltativo** · **Predefinito** `https://api.gtx.dev`

URL base dell'API. Sovrascrivilo solo se la tua distribuzione usa un endpoint diverso.

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

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

Mapping personalizzati dei codici locale e override delle proprietà. Usalo per (1) definire alias per i codici locale, (2) bypassare la convalida standard BCP 47 e (3) sovrascrivere le proprietà standard BCP 47 dell&#39;impostazione regionale, come nome ed emoji.

## Restituisce [#returns]

**Tipo** `GT`

Una nuova istanza di `GT` con tutti i metodi disponibili per la traduzione, la formattazione e l&#39;impostazione regionale.

## Esempi [#examples]

```typescript
import { GT } from 'generaltranslation';

// Setup minimale — legge le credenziali dalle variabili d'ambiente
const gt = new GT();
```

```typescript
// Con credenziali API
const gt = new GT({
  projectId: 'my-project-id',
  apiKey: 'my-api-key',
  targetLocale: 'fr',
});
```

```typescript
// Con un alias di impostazione regionale personalizzato: usa `cn` come alias per `zh`.
// La General Translation API non supporta `cn`, quindi è necessaria una mappatura personalizzata.
const gt = new GT({
  projectId: 'my-project-id',
  apiKey: 'my-api-key',
  targetLocale: 'es',
  customMapping: {
    cn: { code: 'zh' },
  },
});
```

```typescript
// Le mappature personalizzate possono anche sovrascrivere nomi, emoji e altre proprietà dell'impostazione regionale
const gt = new GT({
  projectId: 'my-project-id',
  apiKey: 'my-api-key',
  targetLocale: 'es',
  customMapping: { 'en-US': { name: 'Mandarin', emoji: '🇫🇷' } },
});
```

## Note [#notes]

* Tutti i parametri sono facoltativi, ma le operazioni API richiedono una chiave API e un `projectId`.
* Le grafie e gli alias delle impostazioni regionali configurate vengono mantenuti invariati; i codici restituiti seguono le regole indicate sopra.
* Tutti i campi relativi alle impostazioni regionali vengono validati rispetto al mapping personalizzato in vigore.
* I mapping personalizzati hanno la precedenza sulla validazione e sulle proprietà standard BCP 47.
* Per riconfigurare un&#39;istanza, usa [`setConfig`](/docs/platform/core/reference/gt-class/set-config) anziché assegnare direttamente le proprietà.

*Nota: `GT` estende [`GTRuntime`](/docs/platform/core/reference/runtime), che fornisce traduzione runtime, formattazione e impostazioni regionali. La gestione di file e progetti rimane a carico di `GT`.*

## Sitemap

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