# react-native: msg URL: https://generaltranslation.com/ru/docs/react-native/api/strings/msg.mdx --- title: msg description: Справочник по API для функции msg() для строк --- {/* АВТОМАТИЧЕСКИ СГЕНЕРИРОВАНО: Не редактируйте напрямую. Вместо этого изменяйте шаблон в content/docs-templates/. */} ## Обзор Функция `msg` помечает и кодирует строки для перевода. ```jsx const encodedString = msg('Hello, world!'); ``` Закодированную строку нужно передать в хук [`useMessages`](/docs/react-native/api/strings/use-messages), чтобы получить переводы. **Кодирование:** `msg` кодирует входную строку, поэтому её нельзя использовать напрямую в JSX или где-либо ещё. Если вам нужно вернуть исходную строку, декодируйте её с помощью [`decodeMsg`](#decodemsg) ## Декодирование [#decodemsg] Чтобы получить исходную строку обратно, нужно декодировать её с помощью [`decodeMsg`](#decodemsg) ```jsx import { msg, decodeMsg } from 'gt-react-native'; const encodedString = msg('Hello, world!'); const decodedString = decodeMsg(encodedString); console.log(decodedString); // "Hello, world!" ``` ## Справочник ### Параметры | Name | Type | Description | | ---------- | ------------------------------------------------------------------------------------- | ------------------------------------------------- | | `content` | `string` | Строковое содержимое, которое нужно закодировать. | | `options?` | [`InlineTranslationOptions`](/docs/react-native/api/types/inline-translation-options) | Параметры перевода для настройки поведения `msg`. | ### Возвращает Закодированную строку, в которой интерполированные переменные (если есть) заменены своими значениями. *** ## Поведение ### Продакшен В процессе CD любой контент внутри функции `msg` будет переведён до развертывания приложения. Это обеспечивает быструю загрузку для всех локалей, но переводить можно только контент, известный на этапе сборки. После генерации переводы либо (1) сохраняются в CDN, либо (2) включаются в результат сборки приложения — в зависимости от вашей конфигурации. Затем переведённый контент отдается пользователям. Если перевод не найден, будет использован исходный контент. Обязательно ознакомьтесь с [руководством по развертыванию](/docs/react-native/tutorials/quickdeploy). ### Разработка Во время разработки функция `msg` будет переводить контент по запросу. Это удобно для прототипирования того, как приложение будет выглядеть на разных языках. Не забудьте добавить Dev API key в переменные окружения, чтобы включить это поведение. При переводе по запросу в режиме разработки будет заметна задержка. В production-сборках этого не происходит, если только контент не переводится по запросу явно. *** ## Пример ### Базовое использование Вы можете использовать `msg`, чтобы помечать строки для перевода. ```jsx copy import { msg, useMessages } from 'gt-react-native'; const encodedString = msg('Hello, world!'); export default function TranslateGreeting() { const m = useMessages(); return (

{m(encodedString)}

); } ``` Примечание: "Hello, world!" будет переведено на язык, предпочитаемый пользователем. ### Использование переменных [#variables] Вы можете передавать переменные в словарные переводы. ```jsx copy import { msg, useMessages } from 'gt-react-native'; const encodedString = msg('Hello, {name}!', { name: 'Alice' }); export default function TranslateGreeting() { const m = useMessages(); return (

{m(encodedString)}

); } ``` Примечание: "Alice" не будет переведено на предпочитаемый пользователем язык, поскольку это переменная. ### Использование формата сообщений ICU `gt-react-native` поддерживает формат сообщений ICU, который также позволяет форматировать переменные. ```jsx copy import { msg, useMessages } from 'gt-react-native'; const encodedString = msg('There are {count, plural, =0 {no items} =1 {one item} other {{count} items}} in the cart', { count: 10 }); export default function TranslateGreeting() { const m = useMessages(); return (

{m(encodedString)}

); } ``` Формат сообщений ICU — это удобный и мощный способ форматирования переменных. Подробнее см. в [документации по формату сообщений ICU](https://unicode-org.github.io/icu/userguide/format_parse/messages/). *** ## Примечания * Функция `msg` помечает строки для перевода. * Перевод строк с `msg` выполняется до времени выполнения, на этапе сборки (кроме режима разработки). ## Следующие шаги * См. [`useMessages`](/docs/react-native/api/strings/use-messages), чтобы переводить строки.