# General Translation React SDKs (gt-react, gt-next, gt-react-native): useMessages
URL: https://generaltranslation.com/ru/docs/react/reference/hooks/use-messages.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Разрешает строки, зарегистрированные с помощью msg, в активную локаль. Справочник API для useMessages.

Хук `useMessages` возвращает функцию, которая разрешает закодированные строки, созданные с помощью [`msg`](/docs/react/reference/functions/msg), в активную локаль. Используйте её для перевода строк, зарегистрированных на уровне модуля, вне компонента.

*Доступно в `gt-react`, `gt-next`, `gt-tanstack-start` и `gt-react-native`.*

## Обзор [#overview]

Зарегистрируйте строку с помощью [`msg`](/docs/react/reference/functions/msg), а затем разрешите её с помощью функции, которую возвращает `useMessages`.

```tsx
const m = useMessages();

<p>{m(encodedString)}</p>;
```

*Примечание: в `gt-react` вызывайте `useMessages` внутри [`<GTProvider>`](/docs/react/reference/components/gt-provider). В `gt-next` `useMessages` также работает в синхронных серверных компонентах.*

## Как это работает [#how-it-works]

* **Разрешает зарегистрированные строки.** Находит перевод строки, ранее закодированной с помощью [`msg`](/docs/react/reference/functions/msg), и возвращает его для активной локали.
* **Сквозная передача.** Значения `null` и `undefined` возвращаются без изменений.
* **Приоритет переменных.** Если переменные передаются и в [`msg`](/docs/react/reference/functions/msg), и в резолвер, приоритет имеют значения, переданные в [`msg`](/docs/react/reference/functions/msg).
* **Перевод на этапе сборки.** Как и в [`useGT`](/docs/react/reference/hooks/use-gt), перевод выполняется на этапе сборки (или по мере необходимости в процессе разработки), а переменные никогда не переводятся.

## Параметры [#parameters]

`useMessages` не принимает параметров.

## Возвращает [#returns]

**Тип** `(encodedContent: string, options?: object) => string`

Функция, которая разрешает закодированное содержимое из [`msg`](/docs/react/reference/functions/msg) в активную локаль.

| Имя              | Описание                                                                                        | Тип      | Необязательно |
| ---------------- | ----------------------------------------------------------------------------------------------- | -------- | ------------- |
| `encodedContent` | Закодированная строка из [`msg`](/docs/react/reference/functions/msg), которую нужно разрешить. | `string` | Нет           |
| `options`        | Переменные интерполяции, которые передаются в закодированную строку.                            | `object` | Да            |

## Примеры [#examples]

*В примерах показан импорт из `gt-react`; вместо этого импортируйте из пакета вашего фреймворка.*

```tsx
import { msg, useMessages } from 'gt-react';

const encodedGreeting = msg('Hello, Alice!');

export default function TranslateGreeting() {
  const m = useMessages();
  return <p>{m(encodedGreeting)}</p>;
}
```

```tsx
import { msg, useMessages } from 'gt-react';

const encodedGreeting = msg('Hello, {name}!');

export default function TranslateGreeting() {
  const m = useMessages();
  return <p>{m(encodedGreeting, { name: 'Bob' })}</p>; // "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 <p>{m(encodedGreeting, { name: 'Bob' })}</p>; // "Hello, Alice!"
}
```

## Заметки [#notes]

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

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
