# node: getMessages URL: https://generaltranslation.com/ru/docs/node/api/get-messages.mdx --- title: getMessages description: Справка по функции getMessages --- ## Обзор Функция `getMessages` — это асинхронная функция, которая возвращает резолвер для ранее зарегистрированных сообщений. Используйте её вместе с [`msg`](/docs/node/api/strings/msg) (импортируется из `gt-node`), чтобы регистрировать строки на этапе сборки и получать их переводы во время выполнения. ```js import { msg, getMessages } from 'gt-node'; // Регистрация на этапе сборки (или на уровне модуля) const greeting = msg('Hello, world!'); // Разрешение во время выполнения const m = await getMessages(); const translated = m(greeting); ``` **Требуется контекст запроса:** `getMessages` необходимо вызывать внутри колбэка [`withGT`](/docs/node/api/with-gt), чтобы функция знала, какую локаль использовать. ## Справка ### Параметры Отсутствуют. ### Возвращает Промис, который возвращает функцию разрешения сообщений `m`: ```ts Promise<(encodedMsg: string | null | undefined, options?: InlineResolveOptions) => string | null | undefined> ``` | Имя | Тип | Описание | | ------------ | ----------------------------- | ----------------------------------------------------------------------------------------------------------------------- | | `encodedMsg` | `string \| null \| undefined` | Закодированная строка сообщения, возвращаемая `msg()`. Возвращает `null`/`undefined`, если переданы `null`/`undefined`. | | `options?` | `InlineResolveOptions` | Необязательные значения переменных для подстановки в результирующее сообщение. | *** ## Примеры ### Основное использование ```js title="messages.js" import { msg } from 'gt-node'; // Регистрация сообщений на уровне модуля export const GREETING = msg('Hello, world!'); export const WELCOME = msg('Welcome, {name}!'); ``` ```js title="handler.js" import { withGT, getMessages } from 'gt-node'; import { GREETING, WELCOME } from './messages'; function handleRequest(locale: string) { return withGT(locale, async () => { const m = await getMessages(); return { greeting: m(GREETING), welcome: m(WELCOME, { name: 'Alice' }), }; }); } ``` ### С переменными Передайте переменные вторым аргументом, чтобы подставить их значения: ```js title="handler.js" import { msg, getMessages, withGT } from 'gt-node'; const ORDER_STATUS = msg('Order {orderId} is {status}.'); function getOrderMessage(locale: string, orderId: string, status: string) { return withGT(locale, async () => { const m = await getMessages(); return m(ORDER_STATUS, { orderId, status }); }); } ``` *** ## Примечания * `msg` регистрирует строку для перевода на этапе сборки. `getMessages` получает её во время выполнения. * Такой подход полезен для строк, определённых на уровне модуля (констант, перечислений, сообщений об ошибках), которые нужно переводить per-request. * Если в `m` передаётся `null` или `undefined`, он возвращает соответственно `null` или `undefined`. ## Что дальше * См. [`getGT`](/docs/node/api/get-gt), чтобы переводить встроенные строки напрямую. * См. [`withGT`](/docs/node/api/with-gt), чтобы настроить контекст локали.