Назад

gt@2.13.0

Ernest McCarter avatarErnest McCarter
gtderivet-functiondx

Обзор

Функция t() теперь автоматически определяет динамическое содержимое — больше не нужно оборачивать переменные в derive(). Это включено по умолчанию и работает без дополнительной настройки с GT Интерфейс командной строки (CLI).

Это последний шаг в серии улучшений derive(). Сначала gt-react@10.15.0 добавил поддержку derive() для тегированного шаблонного литерала t. Затем gt@2.12.0 расширил derive(), чтобы извлекать значения из объектов и массивов. Теперь gt@2.13.0 полностью устраняет необходимость вызывать derive() при использовании t().

До и после

Ранее динамические значения в t() требовали явного вызова derive():

const noun = cond ? "boy" : "girl"
const result = t("The " + derive(noun))

Теперь просто используйте переменную напрямую:

const noun = cond ? "boy" : "girl"
const result = t("The " + noun)

CLI автоматически выполняет выведение, когда анализирует ваши вызовы t() — он обнаруживает переменные с конечным набором возможных строковых значений и выводит их за кулисами.

Конфигурация

Функция auto-derive включена по умолчанию. Чтобы отключить её, установите autoDerive в false в файле gt.config.json:

{
  "files": {
    "gt": {
      "parsingFlags": {
        "autoDerive": false
      }
    }
  }
}

Примечание: Это касается только функции t(). Макрос тегированного шаблона t это не затрагивает — он уже поддерживает выведение через синтаксис шаблонных литералов, введённый в gt-react@10.15.0.

Ссылки