# General Translation React SDKs (gt-react, gt-next): useMessages URL: https://generaltranslation.com/ru/docs/react/reference/hooks/use-messages.mdx --- title: useMessages description: Разрешает строки, зарегистрированные с помощью msg, в активную локаль с General Translation gt-react. Справочник API для useMessages. --- Хук `useMessages` возвращает функцию, которая разрешает закодированные строки, созданные с помощью [`msg`](/docs/react/reference/functions/msg), в активную локаль. Используйте её для перевода строк, зарегистрированных на уровне модуля, вне компонента. *Доступно в `gt-react`, `gt-next`, `gt-tanstack-start` и `gt-react-native`. В примерах используется импорт из `gt-react`; вместо этого импортируйте из пакета вашего фреймворка.* ## Обзор [#overview] Зарегистрируйте строку с помощью `msg`, а затем разрешите её с помощью функции, которую возвращает `useMessages`. ```tsx const m = useMessages();

{m(encodedString)}

; ``` *Примечание: в `gt-react` вызывайте `useMessages` внутри [``](/docs/react/reference/components/gt-provider). В `gt-next` `useMessages` также работает в синхронных серверных компонентах.* ## Как это работает [#how-it-works] * **Разрешает зарегистрированные строки.** Находит перевод строки, ранее закодированной с помощью [`msg`](/docs/react/reference/functions/msg), и возвращает его для активной локали. * **Сквозная передача.** Значения `null` и `undefined` возвращаются без изменений. * **Приоритет переменных.** Если переменные передаются и в `msg`, и в резолвер, приоритет имеют значения, переданные в `msg`. * **Перевод на этапе сборки.** Как и в [`useGT`](/docs/react/reference/hooks/use-gt), перевод выполняется на этапе сборки (или по мере необходимости в процессе разработки), а переменные никогда не переводятся. ## Параметры [#parameters] `useMessages` не принимает параметров. ## Возвращает [#returns] **Тип** `(encodedContent: string, options?: object) => string` Функция, которая разрешает закодированное содержимое из `msg` в активную локаль. | Имя | Описание | Тип | Необязательно | | ---------------- | -------------------------------------------------------------------- | -------- | ------------- | | `encodedContent` | Закодированная строка из `msg`, которую нужно разрешить. | `string` | Нет | | `options` | Переменные интерполяции, которые передаются в закодированную строку. | `object` | Да | ## Примеры [#examples] ```tsx import { msg, useMessages } from 'gt-react'; const encodedGreeting = msg('Hello, Alice!'); export default function TranslateGreeting() { const m = useMessages(); return

{m(encodedGreeting)}

; } ``` ```tsx import { msg, useMessages } from 'gt-react'; const encodedGreeting = msg('Hello, {name}!'); export default function TranslateGreeting() { const m = useMessages(); return

{m(encodedGreeting, { name: 'Bob' })}

; // "Hello, Bob!" } ``` ```tsx import { msg, useMessages } from 'gt-react'; // Переменные, переданные в msg(), имеют приоритет над переданными в m() const encodedGreeting = msg('Hello, {name}!', { name: 'Alice' }); export default function TranslateGreeting() { const m = useMessages(); return

{m(encodedGreeting, { name: 'Bob' })}

; // "Hello, Alice!" } ``` ## Заметки [#notes] * `useMessages` разрешает закодированные строки из [`msg`](/docs/react/reference/functions/msg). * В асинхронном компоненте App Router используйте вместо этого [`getMessages`](/docs/react/nextjs/reference/functions/get-messages). * Перевод выполняется на этапе сборки (или по запросу в режиме разработки).