# General Translation Platform: Costruttore URL: https://generaltranslation.com/it/docs/platform/core/reference/gt-class/constructor.mdx --- title: Costruttore 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'istanza in tutta l'applicazione. ## Panoramica [#overview] Crea un'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'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'ambiente `GT_API_KEY`, `GT_DEV_API_KEY` e `GT_PROJECT_ID` quando sono impostate.* ## Come funziona [#how-it-works] * **Fallback dalle variabili d'ambiente.** Quando `apiKey`, `devApiKey` o `projectId` non vengono passati, il costruttore li cerca nelle variabili d'ambiente `GT_API_KEY`, `GT_DEV_API_KEY` e `GT_PROJECT_ID`. * **Standardizzazione dell'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 le forme standardizzate/normalizzate**, non le stringhe originali che hai passato. Il costruttore genera 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`](/docs/platform/core/reference/types/custom-mapping), quindi per essi viene accettato un alias personalizzato. Ogni voce di `locales` viene validata **senza** la mappatura, quindi un alias `customMapping` viene rifiutato se compare all'interno di `locales`. * **Precedenza della mappatura personalizzata.** 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'impostazione regionale (nome, emoji e così via). Le mappature personalizzate 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 è `{}``) con le seguenti proprietà: | Parametro | Descrizione | Tipo | Facoltativo | Predefinito | | ---------------------------------- | ---------------------------------------------------------------------- | --------------------------------------------------------------------- | ----------- | ------------------------------ | | [`apiKey`](#api-key) | Chiave API di produzione per il servizio di traduzione. | `string` | Sì | variabile env `GT_API_KEY` | | [`devApiKey`](#dev-api-key) | Chiave API di sviluppo, che ha la precedenza in ambiente di sviluppo. | `string` | Sì | variabile env `GT_DEV_API_KEY` | | [`projectId`](#project-id) | ID progetto univoco. | `string` | Sì | variabile env `GT_PROJECT_ID` | | [`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 per distribuzioni enterprise. | `string` | Sì | — | | [`customMapping`](#custom-mapping) | Mappature personalizzate 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 di produzione per il servizio di traduzione. Se non viene fornita, viene letta dalla variabile d'ambiente `GT_API_KEY`. Obbligatoria per qualsiasi operazione API. ### `devApiKey` [#dev-api-key] **Tipo** `stringa` · **Facoltativo** · **Predefinito** `GT_DEV_API_KEY` env Chiave API di sviluppo. In sviluppo ha la precedenza su `apiKey`. Se non viene fornita, viene letta dalla variabile d'ambiente `GT_DEV_API_KEY`. ### `projectId` [#project-id] **Type** `stringa` · **Facoltativo** · **Predefinito** variabile d'ambiente `GT_PROJECT_ID` ID progetto univoco. Se non viene fornito, viene letto dalla variabile d'ambiente `GT_PROJECT_ID`. Obbligatorio per qualsiasi operazione API. ### `sourceLocale` [#source-locale] **Tipo** `string` · **Facoltativo** Impostazione regionale sorgente predefinita per le traduzioni, ad esempio `en`. Viene standardizzata nella sua forma canonica e memorizzata in tale forma normalizzata, quindi validata **con** eventuali `customMapping` (quindi qui è accettato un alias personalizzato). ### `targetLocale` [#target-locale] **Tipo** `string` · **Facoltativo** Impostazione regionale di destinazione predefinita per le traduzioni, ad esempio `es`. Viene standardizzata nella forma canonica e memorizzata in tale forma normalizzata, quindi convalidata **con** eventuali `customMapping` (quindi qui viene accettato un alias personalizzato). ### `locales` [#locales] **Tipo** `string[]` · **Facoltativo** Array di codici locale supportati. Ogni codice viene standardizzato nella sua forma canonica e memorizzato in tale forma normalizzata, quindi validato **senza** il `customMapping` — perciò un alias di `customMapping` valido per `sourceLocale`/`targetLocale` viene rifiutato se compare all'interno di `locales`. ### `baseUrl` [#base-url] **Tipo** `string` · **Facoltativo** URL di base personalizzato dell'API, usato per distribuzioni enterprise che puntano a un endpoint self-hosted o specifico per una regione. ### `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'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'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 dell'API richiedono `apiKey` (o `devApiKey`) e `projectId`. * Il costruttore standardizza ogni codice locale nella sua forma canonica (il valore memorizzato è quello normalizzato), quindi lo valida e genera un errore se il codice non è valido. * `sourceLocale` e `targetLocale` vengono validati con `customMapping`; ogni voce di `locales` viene validata senza di esso. * Le mappature personalizzate hanno la precedenza sulla validazione BCP 47 standard e sulle relative proprietà. *Nota: la classe `GT` estende `GTRuntime`. Nella versione 9.0, gli helper per traduzione, formattazione e impostazione regionale si trovano in `GTRuntime`, mentre i metodi relativi al workflow dei file (uploads, enqueue, downloads e così via) si trovano in `GT`. Sia il costruttore sia [`setConfig`](/docs/platform/core/reference/gt-class/set-config) sono definiti in `GTRuntime`, quindi l'utilizzo non cambia grazie all'ereditarietà.*