gt@2.13.0
Обзор
Функция 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() — он распознаёт переменные с конечным набором возможных строковых значений и выводит производные варианты в фоновом режиме.
Конфигурация
Автодеривация включена по умолчанию. Чтобы отключить эту функцию, установите autoDerive в false в файле gt.config.json:
{
"files": {
"gt": {
"parsingFlags": {
"autoDerive": false
}
}
}
}Примечание: Это относится только к функции
t(). На макрос тегированного шаблонаtэто не влияет — он уже поддерживает деривацию через синтаксис шаблонных литералов, представленный в gt-react@10.15.0.