# 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), чтобы переводить строки.