# gt-node: General Translation Node.js SDK: withGT URL: https://generaltranslation.com/es/docs/node/reference/functions/with-gt.mdx --- title: withGT description: Asocia una configuración regional durante el ciclo de vida de una solicitud para que las funciones de General Translation usen esa configuración regional. Referencia de la API para withGT. --- Envuelve una función callback para proporcionar contexto de configuración regional a las funciones de traducción. En un servidor Node.js, cada solicitud suele corresponder a un usuario distinto con una configuración regional diferente, y `withGT` establece la configuración regional para cada función de General Translation que se llame dentro de la callback. ## Resumen general [#overview] Llama a `withGT` con una configuración regional y una función. Todas las llamadas a [`getGT`](/docs/node/reference/functions/get-gt), [`getMessages`](/docs/node/reference/functions/get-messages), [`getTranslations`](/docs/node/reference/functions/get-translations), [`tx`](/docs/node/reference/functions/tx) y [`getLocale`](/docs/node/reference/functions/get-locale) dentro de la función de callback se resuelven según esa configuración regional. ```ts import { withGT } from 'gt-node'; app.get('/api/greeting', (req, res) => { withGT(req.locale, () => { // Las funciones de traducción dentro de aquí usan req.locale }); }); ``` Firma: ```ts withGT(locale: string, fn: () => T): T ``` *Nota: `withGT` usa almacenamiento local asíncrono internamente para limitar la configuración regional a la solicitud actual. El contexto no se propaga a otras solicitudes concurrentes.* ## Cómo funciona [#how-it-works] * **Configuración regional delimitada.** La configuración regional se aplica solo durante la ejecución de `fn`. Las solicitudes simultáneas mantienen cada una su propia configuración regional. * **Resolución de la configuración regional.** La configuración regional proporcionada se resuelve según tus `locales` configuradas; si el valor no es compatible, se usa `defaultLocale`. * **Síncrono o asíncrono.** `fn` puede ser síncrona o asíncrona, y `withGT` devuelve lo mismo que `fn`. * **Requiere inicialización.** [`initializeGT`](/docs/node/reference/functions/initialize-gt) debe ejecutarse antes de `withGT`; de lo contrario, se producirá un error. ## Parámetros [#parameters] | Parámetro | Descripción | Tipo | Opcional | Predeterminado | | ------------------- | --------------------------------------------------------------------------- | --------- | -------- | -------------- | | [`locale`](#locale) | La configuración regional que se vinculará al callback. | `string` | No | — | | [`fn`](#fn) | La función que se ejecutará dentro del ámbito de la configuración regional. | `() => T` | No | — | ### `locale` [#locale] **Type** `string` · **Requerido** Un [código de configuración regional](/docs/platform/core/reference/utility-functions/locales/is-valid-locale) (por ejemplo, `'es'`, `'fr-CA'`) que se usará en las traducciones dentro del callback. ### `fn` [#fn] **Type** `() => T` · **Obligatorio** Una función callback que se ejecuta con el contexto de configuración regional indicado. Puede ser síncrona o asíncrona. ## Devuelve [#returns] **Tipo** `T` El valor que devuelve la función callback `fn`. ## Ejemplos [#examples] ```ts title="server.js" // Middleware de Express import express from 'express'; import { initializeGT, withGT, getGT } from 'gt-node'; initializeGT({ defaultLocale: 'en', locales: ['en', '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'; withGT(locale, () => { next(); }); }); app.get('/api/greeting', async (req, res) => { const gt = await getGT(); res.json({ message: gt('Hello, world!') }); }); ``` ```ts title="handler.js" // Envolviendo un manejador de solicitud asíncrono import { withGT, getGT } from 'gt-node'; export async function handleRequest(locale) { return withGT(locale, async () => { const gt = await getGT(); return gt('Welcome to our app!'); }); } ``` ## Notas [#notes] * Se debe llamar a [`initializeGT`](/docs/node/reference/functions/initialize-gt) antes de usar `withGT`; de lo contrario, se producirá un error. * El contexto de la configuración regional se limita al callback y no se propaga a otras solicitudes concurrentes. * `withGT` funciona tanto con callbacks síncronos como asíncronos.