# gt-node: General Translation Node.js SDK: getGT
URL: https://generaltranslation.com/it/docs/node/reference/functions/get-gt.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Ottieni una funzione di General Translation per l'impostazione regionale della richiesta corrente, per tradurre stringhe inline. Riferimento API per getGT.

Una funzione asincrona che restituisce una funzione di traduzione per l&#39;impostazione regionale della richiesta corrente. Recupera le traduzioni registrate in fase di build-time dal compiler di General Translation e, se non ne trova alcuna, usa la stringa sorgente.

## Panoramica [#overview]

Usa `await` con `getGT` all&#39;interno di un contesto [`withGT`](/docs/node/reference/functions/with-gt) per ottenere una funzione sincrona `gt(message, options?)`, quindi usala per tradurre le stringhe.

```ts
import { getGT } from 'gt-node';

const gt = await getGT();
const greeting = gt('Hello, world!');
```

Firma:

```ts
getGT(): Promise<GTFunctionType>

type GTFunctionType = (message: string, options?: GTTranslationOptions) => string;
```

*Nota: `getGT` deve essere chiamato all&#39;interno di un callback di [`withGT`](/docs/node/reference/functions/with-gt), così da sapere quale impostazione regionale usare. Accetta anche un argomento interno `_messages`, usato dal compiler per l&#39;hot reload durante lo sviluppo; non devi passarlo direttamente.*

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

* **Traduzioni build-time.** `getGT` restituisce una funzione di traduzione build-time. Le stringhe vengono tradotte durante il processo di CD prima della distribuzione, quindi in produzione le richieste usano traduzioni memorizzate nella cache senza dover effettuare un round trip di rete.
* **Sviluppo.** In sviluppo, le traduzioni avvengono su richiesta e richiedono una chiave API di sviluppo.
* **Fallback.** Se non viene trovata alcuna traduzione, viene restituita la stringa sorgente originale (interpolata).
* **Interpolazione.** Usa i segnaposto `{variableName}` nella stringa e passa i valori nell&#39;oggetto options. `gt-node` supporta [ICU message format](https://unicode-org.github.io/icu/userguide/format_parse/messages/) per la formattazione avanzata.

## Parametri [#parameters]

`getGT` non accetta parametri. La funzione `gt` restituita accetta:

| Parametro             | Descrizione                                          | Tipo                   | Facoltativo | Predefinito |
| --------------------- | ---------------------------------------------------- | ---------------------- | ----------- | ----------- |
| [`message`](#message) | La stringa da tradurre.                              | `string`               | No          | —           |
| [`options`](#options) | Variabili di interpolazione e opzioni di traduzione. | `GTTranslationOptions` | Sì          | `{}`        |

### `message` [#message]

**Tipo** `string` · **Obbligatorio**

La stringa da tradurre. Può contenere segnaposto `{variable}` per l’interpolazione ICU.

### `options` [#options]

**Tipo** `GTTranslationOptions` · **Facoltativo**

Opzioni di traduzione e variabili di interpolazione:

* `$context?: string` — contesto aggiuntivo per aiutare a disambiguare le traduzioni.
* `$id?: string` — un ID personalizzato per l&#39;entry di traduzione.
* `$locale?: string` — sovrascrive l&#39;impostazione regionale della richiesta per questa chiamata.
* `$format?: string` — il formato del messaggio. Il valore predefinito è `'ICU'`.
* `$maxChars?: number` — numero intero positivo massimo richiesto allo strumento di traduzione. Se necessario, una traduzione caricata viene troncata a questa lunghezza.
* `$requiresReview?: boolean` — indica se la traduzione deve essere approvata prima dell&#39;uso.
* Qualsiasi altra key viene trattata come un valore da interpolare nella stringa usando la sintassi `{key}`.

## Restituisce [#returns]

**Tipo** `Promise<GTFunctionType>`

Restituisce la funzione di traduzione `gt`. La chiamata a `gt(message, options?)` restituisce la stringa tradotta oppure, se non viene trovata alcuna traduzione, la stringa originale (interpolata).

## Esempi [#examples]

```ts title="handler.js"
// Traduzione semplice
import { withGT, getGT } from 'gt-node';

function handleRequest(locale) {
  return withGT(locale, async () => {
    const gt = await getGT();
    return gt('Hello, world!');
  });
}
```

```ts title="handler.js"
// Con variabili — usa {name} nella stringa e passa i valori nell'oggetto options
import { withGT, getGT } from 'gt-node';

function handleGreeting(locale, name) {
  return withGT(locale, async () => {
    const gt = await getGT();
    return gt('Hello, {name}!', { name });
  });
}
```

```ts title="handler.js"
// Con il formato ICU message format
const gt = await getGT();
const balance = gt(
  'Your balance: {amount, number, ::currency/USD}',
  { amount: 1234.56 }
);
```

## Note [#notes]

* `getGT` restituisce una funzione di traduzione build-time; le stringhe vengono tradotte durante il processo di CD prima della distribuzione.
* In sviluppo, le traduzioni avvengono on demand e richiedono una chiave API di sviluppo.
* Se non viene trovata alcuna traduzione, come fallback viene restituita la stringa originale.
* Per le stringhe note solo a runtime, usa [`tx`](/docs/node/reference/functions/tx); per le stringhe registrate a livello di modulo, usa [`msg`](/docs/node/reference/functions/msg) con [`getMessages`](/docs/node/reference/functions/get-messages).

## Sitemap

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