# gt-node: General Translation Node.js SDK: Quickstart URL: https://generaltranslation.com/it/docs/node/quickstart.mdx --- title: Quickstart description: Installa la libreria `gt-node` di General Translation e traduci il tuo primo servizio Node.js. related: links: - /docs/node/guides/translating-strings - /docs/node/guides/detecting-locale - /docs/node/guides/configuring - /docs/node/guides/storing-translations --- `gt-node` traduce le stringhe nei server e nei servizi Node.js. Lo inizializzi una sola volta, associ l'impostazione regionale a ogni richiesta in arrivo e traduci le stringhe nei tuoi handler. Usa `gt-node` per servizi backend come le API Express o Fastify. Per le app React usa [`gt-react`](/docs/react/react-quickstart); per Next.js usa [`gt-next`](/docs/react/nextjs-quickstart). *Nota: `gt-node` richiede Node.js 18 o versioni successive. L'associazione dell'impostazione regionale per richiesta usa `AsyncLocalStorage` di `node:async_hooks`.* ## Cosa fa gt-node [#what-it-does] `gt-node` ti offre: * **Traduzione delle stringhe** con [`getGT`](/docs/node/reference/functions/get-gt), per stringhe locali all'handler. * **Messaggi registrati** con [`msg`](/docs/node/reference/functions/msg) e [`getMessages`](/docs/node/reference/functions/get-messages), per costanti ed errori condivisi. * **Traduzione a runtime** con [`tx`](/docs/node/reference/functions/tx), per contenuto dinamico. * **Associazione dell'impostazione regionale per richiesta** con [`withGT`](/docs/node/reference/functions/with-gt), oltre ad helper per rilevare l'impostazione regionale della richiesta. ## Quickstart [#quickstart] Installa la libreria, inizializzala, associa un'impostazione regionale a ogni richiesta e traduci una stringa. ### 1. Installa `gt-node` Installa `gt-node` ed Express come dipendenze e la [CLI `gt`](/docs/cli/quickstart) come dipendenza di sviluppo. ```bash npm install gt-node express && npm install gt --save-dev ``` ```bash yarn add gt-node express && yarn add --dev gt ``` ```bash bun add gt-node express && bun add --dev gt ``` ```bash pnpm add gt-node express && pnpm add --save-dev gt ``` *Nota: il codice del server qui sotto usa la sintassi `import` dei moduli ES. Imposta `"type": "module"` nel tuo `package.json` affinché Node.js possa eseguirlo.* ### 2. Inizializza la libreria Chiama [`initializeGT`](/docs/node/reference/functions/initialize-gt) una volta all'avvio, prima di gestire le richieste. Passa direttamente le impostazioni regionali. Quando i campi delle credenziali vengono omessi, `gt-node` legge `GT_PROJECT_ID`, `GT_API_KEY` e `GT_DEV_API_KEY` dalle variabili d'ambiente. ```ts title="server.js" import { initializeGT } from 'gt-node'; initializeGT({ defaultLocale: 'en', locales: ['en', 'es', 'fr'], }); ``` ### 3. Associa l’impostazione regionale della richiesta Racchiudi ogni richiesta in [`withGT`](/docs/node/reference/functions/with-gt) in modo che le funzioni di traduzione conoscano l’impostazione regionale di destinazione. Usa [`getRequestLocale`](/docs/node/reference/functions/get-request-locale) per rilevarla dall’header `Accept-Language`. ```js title="server.js" import express from 'express'; import { withGT, getRequestLocale } from 'gt-node'; const app = express(); app.use((req, res, next) => withGT(getRequestLocale(req), () => next())); ``` ### 4. Traduci una stringa All'interno di un handler, usa [`await getGT`](/docs/node/reference/functions/get-gt) per ottenere una funzione di traduzione per l'impostazione regionale della richiesta, quindi traduci le stringhe. Interpola i valori con i segnaposto ICU. ```js title="server.js" import { getGT } from 'gt-node'; app.get('/api/greeting', async (req, res) => { const gt = await getGT(); res.json({ message: gt('Hello, {name}!', { name: 'Alice' }) }); }); app.listen(3000, () => console.log('Listening on http://localhost:3000')); ``` ### 5. Esegui e verifica Combina gli snippet dei passaggi 2–4 in un unico file `server.js`, quindi avvia il server. Prima di generare le traduzioni, l'handler restituisce la stringa sorgente, confermando che il servizio è configurato correttamente. ```bash node server.js ``` In un altro terminale, invia una richiesta: ```bash curl http://localhost:3000/api/greeting ``` ```json title="Output" {"message":"Hello, Alice!"} ``` ### 6. Genera le traduzioni Esegui la CLI prima di distribuire in produzione, così le traduzioni saranno disponibili a runtime. ```bash npx gt translate ``` *Nota: [`gt translate`](/docs/cli/reference/commands/translate) legge un `gt.config.json` e richiede un ID progetto e una chiave API. Esegui prima [`npx gt init`](/docs/cli/reference/commands/init) per crearli.* Consulta [Traduzione delle stringhe](/docs/node/guides/translating-strings) per capire quando usare [`getGT`](/docs/node/reference/functions/get-gt), [`msg`](/docs/node/reference/functions/msg) e [`tx`](/docs/node/reference/functions/tx), e [Configurare gt-node](/docs/node/guides/configuring) per credenziali e consegna. ## Next steps - /docs/node/guides/translating-strings - /docs/node/guides/detecting-locale - /docs/node/guides/configuring - /docs/node/guides/storing-translations