gt-react@10.15.0
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."