Atrás
gtderivet-functiondx
BlogRegistro de cambios

gt 2.13.0: Derivación automática en t()

Ernest McCarter

Descripción general

La función t() ahora deriva automáticamente el contenido dinámico, sin necesidad de envolver las variables en derive(). Esta función está habilitada de forma predeterminada y funciona de inmediato con la CLI de GT.

Este es el último paso de una serie de mejoras de derive(). Primero, gt-react@10.15.0 añadió compatibilidad con derive() al literal de plantilla etiquetado t. Después, gt@2.12.0 amplió derive() para resolver valores de objetos y listas. Ahora, gt@2.13.0 elimina por completo la necesidad de llamar a derive() al usar t().

Antes y después

Antes, los valores dinámicos en t() requerían una llamada explícita a derive():

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

Ahora, solo usa la variable directamente:

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

La CLI gestiona la derivación automáticamente cuando analiza tus llamadas a t() — detecta variables con un conjunto finito de posibles cadenas y las deriva internamente.

Configuración

La derivación automática está activada de forma predeterminada. Para desactivarla, establece autoDerive en false en tu gt.config.json:

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

Nota: Esto solo se aplica a la función t(). La macro de plantilla etiquetada t no se ve afectada: ya admite la derivación mediante la sintaxis de literales de plantilla introducida en gt-react@10.15.0.

Enlaces