# node: withGT URL: https://generaltranslation.com/it/docs/node/api/with-gt.mdx --- title: withGT description: Riferimento API per il wrapper delle richieste withGT --- ## Panoramica La funzione `withGT` racchiude una callback per fornire il contesto dell'impostazione regionale alle funzioni di traduzione. In un server Node.js, ogni richiesta in genere viene gestita per un utente diverso con un'impostazione regionale diversa. `withGT` imposta l'impostazione regionale per tutte le funzioni di traduzione chiamate all'interno della callback. ```js import { withGT } from 'gt-node'; app.get('/api/greeting', (req, res) => { withGT(req.locale, () => { // Le funzioni di traduzione qui dentro usano req.locale }); }); ``` **Contesto della richiesta:** `withGT` usa internamente l'archiviazione locale asincrona per associare l'impostazione regionale alla richiesta corrente. Tutte le chiamate a `getGT` e `getMessages` all'interno del callback useranno l'impostazione regionale fornita. ## Riferimento ### Parametri T', optional: false, }, }} /> ### Descrizione | Parametro | Descrizione | | --------- | ------------------------------------------------------------------------------------------------------------------------------------- | | `locale` | Un [codice locale](/docs/core/locales) (ad esempio `'es'`, `'fr-CA'`) da utilizzare per le traduzioni all'interno della callback. | | `fn` | Una funzione di callback da eseguire nel contesto dell'impostazione regionale specificata. Può essere sincrona o asincrona. | ### Restituisce `T` — il valore di ritorno della funzione di callback `fn`. *** ## Esempi ### Middleware per Express ```js title="server.js" import express from 'express'; import { initializeGT, withGT, getGT } from 'gt-node'; initializeGT({ defaultLocale: 'en-US', locales: ['en-US', 'es', 'fr'], projectId: process.env.GT_PROJECT_ID, }); const app = express(); app.use((req, res, next) => { const locale = req.headers['accept-language']?.split(',')[0] || 'en-US'; withGT(locale, () => { next(); }); }); app.get('/api/greeting', async (req, res) => { const gt = await getGT(); res.json({ message: gt('Hello, world!') }); }); ``` ### Incapsulare un handler asincrono ```js title="handler.js" import { withGT, getGT } from 'gt-node'; export async function handleRequest(locale: string) { return withGT(locale, async () => { const gt = await getGT(); return gt('Welcome to our app!'); }); } ``` *** ## Note * `initializeGT` deve essere chiamato prima di utilizzare `withGT`. In caso contrario, verrà generato un errore. * Il contesto dell'impostazione regionale è limitato al callback e non si propaga ad altre richieste concorrenti. * `withGT` funziona sia con callback sincroni che asincroni. ## Passaggi successivi * Consulta [`initializeGT`](/docs/node/api/initialize-gt) per il setup iniziale. * Consulta [`getGT`](/docs/node/api/get-gt) per tradurre le stringhe nel contesto di una richiesta.