# Vue: t
URL: https://generaltranslation.com/ru/docs/vue/reference/functions/t.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Синхронно переводит обычную строку из инициализированной среды выполнения SPA в браузере. Справочник API для t.

Используйте `t` для констант и других строк, вычисляемых вне компонентов Vue в одностраничном приложении, работающем только в браузере. В коде компонентов вместо этого обычно используется реактивный callback [`useGT()`](/docs/vue/reference/composables/use-gt).

## Обзор [#overview]

```ts
const t: GTFunction;
```

Функция получает каталог, предварительно загруженный с помощью [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa):

```ts title="src/navigation.ts"
import { t } from 'gt-vue';

export const navigation = [
  t('Documentation', { $context: 'primary navigation' }),
  t('Account settings'),
];
```

Используйте литеральные исходные строки и литеральный `$context`, чтобы CLI мог извлечь ту же запись каталога, для которой Runtime вычисляет хеш.

## Параметры [#parameters]

| Параметр  | Описание                                                                              | Тип                                                              | Необязательный | По умолчанию |
| --------- | ------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | -------------- | ------------ |
| `message` | Статическая исходная строка для перевода. Фигурные скобки интерпретируются буквально. | `string`                                                         | Нет            | —            |
| `options` | Контекст для устранения неоднозначности хеша каталога.                                | [`GTStringOptions`](/docs/vue/reference/types/gt-string-options) | Да             | `{}`         |

`$context` — единственный поддерживаемый параметр. `t` не поддерживает переменные интерполяции, `$format`, `$maxChars` и `$requiresReview`.

## Как это работает [#how-it-works]

`t` вычисляет хеш каталога обычных строк `STRING` на основе `message` и `$context`, затем синхронно считывает активный каталог SPA. Если хеш отсутствует или значение в каталоге не является строкой, возвращается исходная строка.

Результат — это снимок, созданный в момент вызова. Константа на уровне модуля не участвует в реактивности Vue. Поэтому при смене локали SPA документ перезагружается, загрузочный модуль запускается заново, предварительно загружается новый каталог, а модуль вычисляется повторно.

Этот API выполняет только литеральный поиск строк:

* Фигурные скобки, например `{name}`, считаются обычными символами.
* Синтаксис ICU не разбирается и не форматируется.
* Значения времени выполнения не интерполируются.
* Синтаксис тегированных шаблонов, например `` t`Hello` ``, не поддерживается.

Для переводимого содержимого со значениями времени выполнения используйте [`<T>`](/docs/vue/reference/components/t) вместе с [`<Var>`](/docs/vue/reference/components/var).

## Возвращаемое значение [#returns]

**Тип** `string`

Возвращает соответствующий перевод строки или `message`, если перевод строки отсутствует.

## Сбои [#failures]

`t` выбрасывает исключение в следующих случаях:

* Он запускается на сервере, где глобальное состояние перевода в браузере может утечь между запросами.
* Он запускается в браузере до завершения [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa).

Дождитесь завершения инициализации в загрузочном модуле, затем динамически импортируйте модули, вызывающие `t`. Для серверного рендеринга настройте состояние [`createGT({ locale })`](/docs/vue/reference/functions/create-gt#server-rendering) в области запроса и выполняйте перевод из компонента с помощью [`useGT()`](/docs/vue/reference/composables/use-gt).

## Пример [#example]

```ts title="src/status.ts"
import { t } from 'gt-vue';

export const STATUS_LABELS = {
  draft: t('Draft', { $context: 'document status' }),
  published: t('Published', { $context: 'document status' }),
};
```

Экстрактор регистрирует оба вызова. Если активный каталог недоступен или не содержит ни одной из этих записей, используются значения `"Draft"` и `"Published"`.

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
