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