# vue: useGT
URL: https://generaltranslation.com/ru/docs/vue/reference/composables/use-gt.mdx
---
title: useGT
description: Получение функции для встроенного перевода строк. Справочник API useGT.
---
Композиционная функция `useGT` выполняет синхронный поиск в каталоге и возвращает обычную строку. Используйте её для labels, placeholders и других автономных строк внутри компонента Vue.
## Обзор [#overview]
Вызовите `useGT` при настройке компонента, а затем — возвращённую функцию из шаблона или другого реактивного эффекта:
```vue
```
Вместо этого используйте [``](/docs/vue/reference/components/t), если текст и вложенная разметка должны составлять единый форматированный перевод. Используйте [`t()`](/docs/vue/reference/functions/t) для строк уровня модуля в SPA, работающем только в браузере.
## Принцип работы [#how-it-works]
* **Синхронный поиск.** Возвращаемая функция хеширует исходную строку и необязательный контекст, а затем считывает загруженный каталог активного плагина.
* **Возврат исходного текста.** При отсутствии записи или неверной структуре каталога возвращается исходная строка.
* **Только простые строки.** Фигурные скобки остаются буквальными символами. Функция не поддерживает синтаксис ICU, переменные интерполяции, `$id`, `$maxChars` и `$format`.
* **Область действия плагина.** Вызывайте композиционную функцию из компонента, находящегося внутри плагина, возвращённого [`createGT()`](/docs/vue/reference/functions/create-gt) или [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa). Вызов без установленного плагина выбрасывает исключение. Плагин [`createGT()`](/docs/vue/reference/functions/create-gt) с областью действия запроса также поддерживает компоненты, отрисовываемые на сервере.
Экстрактор требует статически анализируемую строку, например строковый литерал, шаблонный литерал без выражений или неизменяемый идентификатор, разрешаемый в такую строку. Контекст также должен быть статическим, чтобы сгенерированный каталог и хеш времени выполнения совпадали.
## Параметры [#parameters]
`useGT` не принимает параметров.
## Возвращает [#returns]
**Тип** `(message: string, options?: GTStringOptions) => string`
Синхронная функция со следующими параметрами:
| Параметр | Описание | Тип | Необязательный | По умолчанию |
| --------------------- | --------------------------------------------------------- | ---------------------------------------------------------------- | -------------- | ------------ |
| [`message`](#message) | Статическая исходная строка для перевода. | `string` | Нет | — |
| [`options`](#options) | Контекст для устранения неоднозначности исходного текста. | [`GTStringOptions`](/docs/vue/reference/types/gt-string-options) | Да | `{}` |
### `message`
**Тип** `string` · **Обязательно**
Статическая исходная строка, зарегистрированная экстрактором и находящаяся во время выполнения.
### `options`
**Тип** [`GTStringOptions`](/docs/vue/reference/types/gt-string-options) · **Необязательный** · **По умолчанию** `{}`
Единственное поддерживаемое поле — `$context?: string`. Оно изменяет идентификатор каталога, поэтому для одинаковых исходных строк могут использоваться разные переводы.
```vue
```
## Реактивность [#reactivity]
Возвращаемая функция при вызове считывает реактивное состояние каталога и локали. Выражение в шаблоне автоматически выполняется повторно:
```vue
{{ gt('Hello World') }}
```
Для значения, созданного в `setup`, оберните вызов в `computed`:
```ts
import { computed } from 'vue';
const gt = useGT();
const message = computed(() => gt('Hello World'));
```
Однократный вызов создаёт снимок простой строки:
```ts
const gt = useGT();
const message = gt('Hello World');
```
При использовании плагина [`createGT()`](/docs/vue/reference/functions/create-gt) этот снимок не обновляется после завершения начальной загрузки каталога или при смене локали. Браузерное SPA, инициализированное с помощью [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa), выполняет предварительную загрузку до запуска компонентов и перезагружает страницу при смене локали, поэтому снимки, созданные на этапе настройки, повторно создаются для загруженной локали.
## Пример [#example]
```vue title="SearchForm.vue"
```