Retour

gt-react@10.15.0

Ernest McCarter avatarErnest McCarter
gt-reactderivetagged-templatei18n

Aperçu

Cette version s’appuie sur l’abandon du contexte React dans gt-react et sur la macro t de littéral de gabarit tagué. derive() fonctionne désormais dans le littéral de gabarit tagué t. Auparavant, derive() ne pouvait être utilisé qu’à l’intérieur d’appels de fonction t() :

t("The {subject} is playing.", { subject: derive(getSubject(gender)) })

Vous pouvez maintenant l’écrire directement dans un template literal :

t`The ${derive(getSubject(gender))} is playing.`

Fonctionnement

derive() indique à l’outil CLI d’analyser toutes les valeurs de retour possibles d’une fonction et de créer une entrée de traduction distincte pour chacune. Cela préserve l’accord grammatical d’une langue à l’autre — par exemple, en espagnol, « Le garçon joue » et « La fille joue » nécessitent des articles différents (El niño vs La niña).

Exemple

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

function getSubject(gender) {
  return gender === "male" ? "boy" : "girl";
}

function Component({ gender }) {
  return <p>{t`The ${derive(getSubject(gender))} is playing.`}</p>;
}

Cela crée deux entrées de traduction :

  • "Le garçon joue."
  • "La fille joue."

Liens