gt-react@10.15.0
Überblick
Diese Version baut auf der Abkehr von React Context in gt-react und dem t-Makro für getaggte Template-Literale auf. derive() funktioniert jetzt auch im getaggten Template-Literal t. Zuvor konnte derive() nur innerhalb von t()-Funktionsaufrufen verwendet werden:
t("The {subject} is playing.", { subject: derive(getSubject(gender)) })Jetzt können Sie es direkt in einem Template-Literal schreiben:
t`The ${derive(getSubject(gender))} is playing.`Wie es funktioniert
derive() weist das CLI-Tool an, alle möglichen Rückgabewerte einer Funktion zu analysieren und für jeden einzelnen einen separaten Übersetzungseintrag zu erstellen. So bleibt die grammatische Kongruenz in verschiedenen Sprachen gewahrt — im Spanischen erfordern zum Beispiel „Der Junge spielt.“ und „Das Mädchen spielt.“ unterschiedliche Artikel (El niño vs. La niña).
Beispiel
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>;
}Dadurch werden zwei Übersetzungseinträge erstellt:
- "Der Junge spielt."
- "Das Mädchen spielt."