# vue: msg URL: https://generaltranslation.com/ru/docs/vue/reference/functions/msg.mdx --- title: msg description: Регистрирует статические строки на уровне модуля для последующего разрешения. Справочник API для msg. --- `msg` помечает исходные строки для извлечения, не обращаясь к состоянию локали и не переводя их. Разрешайте зарегистрированные значения внутри компонента с помощью [`useMessages()`](/docs/vue/reference/composables/use-messages). ## Обзор [#overview] ```ts function msg(message: T): T; function msg( message: T, options?: GTStringOptions ): T extends string ? string : string[]; ``` Объявляйте зарегистрированные строки на уровне модуля: ```ts title="src/messages.ts" import { msg } from 'gt-vue'; export const saved = msg('Your preferences are saved.', { $context: 'status message', }); ``` Этот вызов безопасно использовать в клиентских и серверных модулях, поскольку он не использует плагин или глобальную среду выполнения браузера. ## Параметры [#parameters] | Параметр | Описание | Тип | Необязательный | По умолчанию | | --------- | ----------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | -------------- | ------------ | | `message` | Статическая исходная строка или массив статических исходных строк, доступный только для чтения. | `string \| readonly string[]` | Нет | — | | `options` | Контекст, закодированный в каждой исходной строке. | [`GTStringOptions`](/docs/vue/reference/types/gt-string-options) | Да | Нет | `$context` — единственный поддерживаемый параметр. Каждый вызов и каждый элемент массива должны быть статически определяемы CLI. ## Как это работает [#how-it-works] Без `options` `msg` возвращает исходную строку или массив без изменений. Экстрактор всё равно регистрирует статический вызов, а [`useMessages()`](/docs/vue/reference/composables/use-messages) может разрешить возвращённую исходную строку. При передаче объекта параметров `msg` вычисляет обычный хеш `STRING` и добавляет непрозрачные метаданные с исходным текстом и `$context`. [`useMessages()`](/docs/vue/reference/composables/use-messages) декодирует эти метаданные и отдаёт им приоритет над параметрами, переданными в месте разрешения. Для массива с параметрами каждый элемент кодируется независимо, и возвращается новый `string[]`. `msg` не выполняет поиск по каталогу, интерполяцию или обработку ICU. Фигурные скобки остаются обычным текстом. ## Возвращаемое значение [#returns] | Входные данные | Тип возвращаемого значения | Поведение | | --------------------- | ----------------------------- | ------------------------------------------------------------------ | | Строка без параметров | Выведенный тип входных данных | Возвращает ту же исходную строку. | | Массив без параметров | Выведенный тип входных данных | Возвращает тот же массив, доступный только для чтения. | | Строка с параметрами | `string` | Возвращает исходную строку с непрозрачными метаданными для поиска. | | Массив с параметрами | `string[]` | Возвращает новый массив закодированных строк. | Не отображайте закодированное значение напрямую. Передайте его функции [`MessagesFunction`](/docs/vue/reference/types/messages-function), возвращаемой [`useMessages()`](/docs/vue/reference/composables/use-messages). ## Примеры [#examples] Выведите зарегистрированное сообщение в шаблоне Vue: ```vue title="src/StatusMessage.vue" ``` Зарегистрируйте несколько независимых сообщений одновременно: ```ts const labels = msg(['Save', 'Cancel', 'Delete'] as const); ``` Интерполяция не применяется ни в одном из этих случаев. Для значений времени выполнения в форматированном содержимом используйте [``](/docs/vue/reference/components/t) и [``](/docs/vue/reference/components/var).