# react-native: useGT
URL: https://generaltranslation.com/ru/docs/react-native/api/strings/use-gt.mdx
---
title: useGT
description: Справка по API для функции useGT для перевода строк
---
{/* СГЕНЕРИРОВАНО АВТОМАТИЧЕСКИ: не редактируйте напрямую. Вместо этого изменяйте template в content/docs-templates/. */}
## Обзор
`useGT` — Hook для перевода строк на этапе сборки.
```jsx
const gt = useGT();
{gt('This text will be translated')}
;
```
**Перевод на этапе сборки:** переводы через `useGT` выполняются на этапе сборки, до
развертывания приложения. Хотя в переводимую строку можно передавать переменные,
переводить можно только содержимое, известное на этапе сборки.
## Справка
### Параметры
Отсутствуют
### Возвращает
Функцию обратного вызова `gt`, которая переводит переданный контент.
```jsx
(content: string, options?: InlineTranslationOptions) => string
```
| Название | Тип | Описание |
| ---------- | ------------------------------------------------------------------------------------- | --------------------------------------------- |
| `content` | `string` | Строковое содержимое для перевода. |
| `options?` | [`InlineTranslationOptions`](/docs/react-native/api/types/inline-translation-options) | Параметры перевода для настройки работы `gt`. |
***
## Поведение
### Продакшен
В процессе CD всё содержимое внутри функции `gt` переводится до развертывания приложения.
Это обеспечивает быструю загрузку для всех локалей, но позволяет переводить только контент, известный на этапе сборки.
После генерации переводы либо (1) сохраняются в CDN, либо (2) попадают в артефакты сборки приложения — в зависимости от вашей конфигурации.
Затем переведенный контент доставляется пользователям.
Если перевод не найден, используется исходный контент.
Обязательно воспользуйтесь [этим руководством по развертыванию](/docs/react-native/tutorials/quickdeploy).
### Разработка
Во время разработки функция `gt` будет переводить содержимое on-demand.
Это полезно для прототипирования того, как ваше приложение будет выглядеть на разных языках.
Не забудьте добавить Dev API key в переменные окружения, чтобы включить это поведение.
При on-demand переводе в процессе разработки будет возникать задержка.
В production-сборках этого не будет, если только содержимое явно не переводится on-demand.
***
## Пример
### Базовое использование
Вы можете использовать `useGT` для перевода строк.
```jsx copy
import { useGT } from 'gt-react-native';
export default function TranslateGreeting() {
const gt = useGT();
return {gt('Hello, Alice!')}
;
}
```
Примечание: "Alice" будет переведено на язык, выбранный пользователем.
### Использование переменных [#variables]
Вы можете передавать переменные в переводы из словаря.
```jsx copy
import { useGT } from 'gt-react-native';
export default function TranslateGreeting() {
const gt = useGT();
return {gt('Hello, {name}!', { name: 'Alice' })}
;
}
```
Примечание: "Alice" не будет переведено на язык, выбранный пользователем, поскольку это переменная.
### Использование формата сообщений ICU
`gt-react-native` поддерживает формат сообщений ICU, который также позволяет форматировать значения переменных.
```jsx copy
import { useGT } from 'gt-react-native';
export default function TranslateGreeting() {
const gt = useGT();
return (
{gt(
'There are {count, plural, =0 {no items} =1 {one item} other {{count} items}} in the cart',
{ count: 10 }
)}
);
}
```
Формат сообщений ICU — мощный инструмент для форматирования переменных. Более
подробную информацию см. в [документации по формату сообщений
ICU](https://unicode-org.github.io/icu/userguide/format_parse/messages/).
### Импорт из `gt-react-native`
Если вы используете директиву `"use client"`, импортируйте из `gt-react-native`, а не из `gt-react-native`.
```jsx copy
'use client';
import { useGT } from 'gt-react-native';
export default function TranslateGreeting() {
const gt = useGT();
return {gt('Hello, Alice!')}
;
}
```
***
## Примечания
* `useGT` — это Hook для перевода строк.
* Перевод строк с помощью `useGT` выполняется до времени выполнения, на этапе сборки (кроме режима разработки).