# General Translation Changelog: gt-react 10.13.0: t как тегированный шаблонный литерал
URL: https://generaltranslation.com/ru/blog/gt-react_v10_13_0.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 
Authors: Ernest McCarter
Published: 2026-03-18

## Обзор

В рамках наших [продолжающихся экспериментов по отказу от контекста React](/devlog/gt-react_v10_12_0) `gt-react` теперь поддерживает использование [`t`](/docs/react/reference/functions/t-function) в виде тегированного шаблонного литерала:

```jsx
import { t } from "gt-react/browser";

const greeting = t`Hello, ${name}!`;
```

Это альтернативный синтаксис для существующего вызова функции [`t()`](/docs/react/reference/functions/t-function). Вместо заполнителей в стиле ICU и передачи объекта параметров здесь используется обычный шаблонный литерал JavaScript, а интерполяция переменных выполняется автоматически.

## До и после

```jsx
// До — ICU-заполнители + объект параметров
t("Hello, {name}! You have {count} items.", { name, count })

// После — тегированный шаблонный литерал
t`Hello, ${name}! You have ${count} items.`
```

Форма с тегированным шаблоном избавляет от необходимости задавать имена заполнителям или дублировать переменные. Вы записываете строку так же, как записали бы любой шаблонный литерал JavaScript.


## Контекст React не нужен

Как и функция [`t()`](/docs/react/reference/functions/t-function), представленная в [gt-react@10.12.0](/devlog/gt-react_v10_12_0), вариант с тегированным шаблонным литералом не зависит от контекста React. Он работает где угодно в браузерном коде:

* **Обработчики событий**: ``onClick={() => alert(t`Saved!`)}``
* **Вспомогательные функции**: ``function formatError(code) { return t`Error: ${code}` }``
* **Константы и конфигурация**: ``const LABELS = { save: t`Save`, cancel: t`Cancel` }``
* **Даже вне React-компонентов**

## Глобальная регистрация

Если вы не хотите импортировать [`t`](/docs/react/reference/functions/t-function) в каждом файле, можно зарегистрировать его глобально:

```js
// В точке входа вашего приложения (например, layout.tsx)
import "gt-react/macros";
```

Это задаёт `globalThis.t`, благодаря чему тегированный шаблонный литерал становится доступен везде без явного импорта.

## Пример

```jsx
import { t } from "gt-react/browser";

export function Greeting({ name }) {
  return <p>{t`Hello, ${name}!`}</p>;
}

export function SaveButton() {
  return (
    <button onClick={() => alert(t`Changes saved!`)}>
      {t`Save`}
    </button>
  );
}
```

Или при глобальной регистрации:

```jsx
// Импорт не нужен — t доступен через globalThis
const LABELS = {
  save: t`Save`,
  cancel: t`Cancel`,
  delete: t`Delete`,
};
```


## Ссылки

* [Предыдущий девлог: отказ от контекста React (gt-react@10.12.0)](/devlog/gt-react_v10_12_0)
* [Справочник по API `t()`](/docs/react/reference/functions/t-function)
* [PR #1118](https://github.com/generaltranslation/gt/pull/1118)

## Sitemap

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