',
optional: true,
default: 'undefined',
},
}}
/>
### Описание
| Prop | Описание |
| ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `variables` | Объект, в котором ключи определяют, с какими местами в строке сопоставляются значения. |
| `$context` | При необходимости добавьте `$context` как переменную в объект `variables`, чтобы указать контекст содержимого (используется для перевода). |
| `$id` | При необходимости добавьте `$id` как переменную в объект `variables`, чтобы указать идентификатор для редактора переводов. |
| `$maxChars` | При необходимости добавьте `$maxChars` как переменную, чтобы ограничить число символов в переводе. Библиотека строго соблюдает это ограничение с помощью логики `formatCutoff()`. |
***
## Примеры
### Контекст
Чтобы добавить строке контекст, используйте проп `$context`.
```jsx title="Component.tsx"
// [!code word:$context]
import { useGT } from 'gt-react-native';
const Component = () => {
const gt = useGT();
return {gt('Hello, world!', { $context: 'официальное приветствие' })}
;
};
```
### Передача переменных
Чтобы добавить переменную в строку, используйте синтаксис `{variable-name}`, где имя переменной заключено в фигурные скобки.
```jsx title="Component.tsx"
// [!code word:username]
import { useGT } from 'gt-react-native';
const Component = () => {
const gt = useGT();
return {gt('Hello, {username}! How is your day?', { username: 'Brian123' })}
;
};
```
### Использование формата сообщений ICU
`gt-react-native` поддерживает формат сообщений ICU, который также позволяет форматировать значения переменных.
```jsx title="Component.tsx"
// [!code word:account-balance]
import { useGT } from 'gt-react-native';
const Component = () => {
const gt = useGT();
return
{ gt(
'Your account balance: {dollars, number, ::currency/USD}!',
{
"dollars" : 1000000,
}
) }
;
};
```
Подробнее о формате сообщений ICU см. в [документации по формату сообщений ICU](https://unicode-org.github.io/icu/userguide/format_parse/messages/).
### Ограничения по числу символов
Используйте `$maxChars`, чтобы ограничить длину перевода:
```jsx title="Component.tsx"
// [!code word:$maxChars]
import { useGT } from 'gt-react-native';
const Component = () => {
const gt = useGT();
return {gt('Welcome to our application', { $maxChars: 15 })}
;
// Output: "Bienvenue à no\u202F…"
};
```
***
## Примечания
* `InlineTranslationOptions` используется для встроенного перевода строк.
* Объект `variables` передаёт значения в текст.
* Объект `variablesOptions` задаёт поведение переменных.
## Следующие шаги
* См. [`useGT`](/docs/react-native/api/strings/use-gt), чтобы подробнее узнать о встроенном переводе строк.
* См. [`формат сообщений ICU`](https://unicode-org.github.io/icu/userguide/format_parse/messages/), чтобы подробнее узнать о возможностях форматирования.