# gt-node: General Translation Node.js SDK: getMessages URL: https://generaltranslation.com/ru/docs/node/reference/functions/get-messages.mdx --- title: getMessages description: Получить резолвер General Translation для сообщений, зарегистрированных с помощью msg для локали текущего запроса. Справочник API для getMessages. --- Асинхронная функция, которая возвращает резолвер для предварительно зарегистрированных сообщений. Используйте её вместе с [`msg`](/docs/node/reference/functions/msg), чтобы регистрировать строки на этапе сборки и разрешать их переводы во время выполнения. ## Обзор [#overview] Зарегистрируйте строки с помощью `msg` на уровне модуля, затем внутри области [`withGT`](/docs/node/reference/functions/with-gt) дождитесь `getMessages`, чтобы получить синхронный резолвер `m(encodedMsg, options?)`. ```ts import { msg, getMessages } from 'gt-node'; // Регистрация на этапе сборки (или в области модуля) const greeting = msg('Hello, world!'); // Разрешение во время выполнения const m = await getMessages(); const translated = m(greeting); ``` Сигнатура: ```ts getMessages(): Promise type MFunctionType = ( encodedMsg: T, options?: GTTranslationOptions ) => T extends string ? string : T; ``` *Примечание: `getMessages` нужно вызывать внутри колбэка [`withGT`](/docs/node/reference/functions/with-gt), чтобы функция знала, какую локаль использовать.* ## Как это работает [#how-it-works] * **Двухэтапная схема.** [`msg`](/docs/node/reference/functions/msg) регистрирует строку для перевода на этапе сборки; `getMessages` разрешает её во время выполнения для активной локали. * **Строки на уровне модуля.** Эта схема подходит для строк, определённых на уровне модуля, — констант, перечислений и сообщений об ошибках, — которые должны переводиться для каждого запроса. * **Сквозная передача `null`.** Если в `m` передаётся `null` или `undefined`, он возвращает соответственно `null` или `undefined`. ## Параметры [#parameters] `getMessages` не принимает параметров. Возвращаемый резолвер `m` принимает: | Параметр | Описание | Type | Необязательный | По умолчанию | | ---------------------------- | ------------------------------------------------------------------------------ | ----------------------------- | -------------- | ------------ | | [`encodedMsg`](#encoded-msg) | Закодированная строка сообщения, возвращаемая `msg()`. | `string \| null \| undefined` | Нет | — | | [`options`](#options) | Значения переменных и параметры перевода для подстановки в итоговое сообщение. | `GTTranslationOptions` | Да | `{}` | ### `encodedMsg` [#encoded-msg] **Тип** `string | null | undefined` · **Обязательно** Закодированная строка сообщения, возвращаемая функцией [`msg`](/docs/node/reference/functions/msg). Если передано `null`/`undefined`, возвращается `null`/`undefined`. ### `options` [#options] **Type** `GTTranslationOptions` · **Необязательно** Значения переменных для интерполяции в итоговое сообщение с использованием синтаксиса `{key}`, а также параметры перевода, такие как `$context`, `$id`, `$locale` и `$maxChars`. Если закодированное сообщение уже содержит параметры интерполяции (из `msg('...', { ... })`), используются они, а этот аргумент игнорируется. ## Возвращает [#returns] **Тип** `Promise` Промис разрешается в функцию-резолвер сообщений `m`. `m(encodedMsg, options?)` возвращает декодированный перевод с подстановкой значений, сохраняя входные значения `null`/`undefined`. ## Примеры [#examples] ```ts title="messages.js" // Регистрация сообщений на уровне модуля import { msg } from 'gt-node'; export const GREETING = msg('Hello, world!'); export const WELCOME = msg('Welcome, {name}!'); ``` ```ts title="handler.js" // Получить сообщения для локали запроса import { withGT, getMessages } from 'gt-node'; import { GREETING, WELCOME } from './messages'; function handleRequest(locale) { return withGT(locale, async () => { const m = await getMessages(); return { greeting: m(GREETING), welcome: m(WELCOME, { name: 'Alice' }), }; }); } ``` ```ts title="handler.js" // С переменными — передайте значения вторым аргументом import { msg, getMessages, withGT } from 'gt-node'; const ORDER_STATUS = msg('Order {orderId} is {status}.'); function getOrderMessage(locale, orderId, status) { return withGT(locale, async () => { const m = await getMessages(); return m(ORDER_STATUS, { orderId, status }); }); } ``` ## Заметки [#notes] * [`msg`](/docs/node/reference/functions/msg) регистрирует строку для перевода на этапе сборки; `getMessages` разрешает её во время выполнения. * Этот шаблон полезен для строк, определённых на уровне модуля (константы, перечисления, сообщения об ошибках), которые нужно переводить отдельно для каждого запроса. * Если в `m` передаётся `null` или `undefined`, функция возвращает соответственно `null` или `undefined`.