Retour
gtderivet-functiondx
BlogJournal des modifications

gt 2.13.0: Dérivation automatique dans t()

Ernest McCarter

Vue d’ensemble

La fonction t() dérive désormais automatiquement le contenu dynamique : plus besoin d’encapsuler les variables dans derive(). Cette fonctionnalité est activée par défaut et fonctionne immédiatement avec la CLI GT.

Il s’agit de la dernière étape d’une série d’améliorations apportées à derive(). D’abord, gt-react@10.15.0 a ajouté la prise en charge de derive() au littéral de gabarit balisé t. Ensuite, gt@2.12.0 a étendu derive() pour résoudre les valeurs d’objets et de tableaux. Désormais, avec gt@2.13.0, il n’est plus du tout nécessaire d’appeler derive() lorsque vous utilisez t().

Avant & après

Auparavant, les valeurs dynamiques dans t() nécessitaient un appel explicite à derive() :

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

Il vous suffit maintenant d’utiliser directement la variable :

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

Le CLI gère automatiquement la dérivation lorsqu'il analyse vos appels à t() — il détecte les variables ayant un ensemble fini de valeurs de chaîne possibles et effectue la dérivation en arrière-plan.

Configuration

La dérivation automatique est activée par défaut. Pour la désactiver, définissez autoDerive sur false dans votre gt.config.json :

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

Remarque : Cela s’applique uniquement à la fonction t(). La macro t littéral de gabarit taggé n’est pas concernée — elle gère déjà la dérivation via la syntaxe de littéral de gabarit introduite dans gt-react@10.15.0.

Liens