# gt-node: General Translation Node.js SDK: Перевод строк URL: https://generaltranslation.com/ru/docs/node/guides/translating-strings.mdx --- title: Перевод строк description: Как переводить строки в обработчиках, зарегистрированные сообщения и динамический контент с помощью General Translation в gt-node. related: links: - /docs/node/guides/detecting-locale - /docs/node/guides/storing-translations - /docs/node/guides/configuring --- `gt-node` предлагает три способа перевода строки. Какой из них использовать, зависит от того, где находится строка и известна ли она заранее. *Примечание: все три выполняются в области [`withGT`](/docs/node/guides/detecting-locale), чтобы иметь доступ к локали запроса.* ## Переводите строки в обработчике с помощью `getGT` [#get-gt] Если строки записаны прямо в обработчике, используйте `await` для [`getGT`](/docs/node/reference/functions/get-gt), чтобы получить функцию перевода, а затем вызовите её. Подставляйте значения через ICU-плейсхолдеры. ```ts import { getGT } from 'gt-node'; app.get('/api/greeting', async (req, res) => { const gt = await getGT(); res.json({ message: gt('Hello, world!'), welcome: gt('Welcome, {name}!', { name: 'Alice' }), }); }); ``` Это вариант по умолчанию для одноразовых строк. Добавьте `$context`, чтобы устранить неоднозначность термина. ## Повторно используйте зарегистрированные сообщения с `msg` [#msg] Для строк, определённых вне обработчика — общих констант, сообщений об ошибках, перечислений, — зарегистрируйте их с помощью [`msg`](/docs/node/reference/functions/msg) на уровне модуля, а затем получайте через [`getMessages`](/docs/node/reference/functions/get-messages). ```ts import { msg, getMessages } from 'gt-node'; const NOT_FOUND = msg('Resource not found.'); app.use(async (req, res) => { const m = await getMessages(); res.status(404).json({ error: m(NOT_FOUND) }); }); ``` ## Переводите динамический контент с помощью `tx` [#tx] Для контента, который нельзя определить заранее и который не был предварительно сгенерирован, используйте [`tx`](/docs/node/reference/functions/tx) для перевода во время выполнения. Если значения нет в кэше, `tx` выполняет сетевой запрос, поэтому используйте его только для действительно динамических строк. ```ts import { tx } from 'gt-node'; const translated = await tx(`Status: ${status}`); ``` *Примечание: `tx` не использует плейсхолдеры ICU — подставляйте значения через шаблонный литерал перед вызовом.* ## Выберите подход [#choose] * Разовые строки в обработчике → `getGT`. * Общие константы и ошибки → `msg` с `getMessages`. * Динамический, непредсказуемый контент → `tx`. * Централизованный текст по ключам → словарь с [`getTranslations`](/docs/node/reference/functions/get-translations). ## Next steps - /docs/node/guides/detecting-locale - /docs/node/guides/storing-translations - /docs/node/guides/configuring