# 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" ```