Dynamische Inhalte

Ein kurzer Überblick über die Arbeit mit Dynamischen Inhalten in GT.

Überblick

Dynamische Inhalte sind im Allgemeinen alle Inhalte, die sich je nach Nutzer, Kontext, Umgebung usw. ändern können. Dies steht im Gegensatz zu statischen Inhalten, die unabhängig von Nutzer, Kontext, Umgebung usw. gleich bleiben.

„Tx oder nicht Tx“

Manchmal möchten wir dynamische Inhalte übersetzen, in anderen Fällen sollen sie jedoch unverändert bleiben.

Ein gutes Beispiel wäre die E‑Mail‑Adresse oder der Name eines Nutzers. Ein weiteres Beispiel könnte ein Kontostand oder die Sozialversicherungsnummer eines Nutzers sein. Solche Elemente (1) müssen in der Regel nicht übersetzt werden, wenn Ihre App in einer anderen Sprache gerendert wird, und (2) können variieren (in diesem Fall von Nutzer zu Nutzer).

Beispiel

Greeting.jsx
import { T, Var } from 'gt-next'

export default function Greeting(name) {
    return (
        <T id='greeting'>
            Hallo, <Var>{name}</Var>!
        </T>
    );
}

Was die Übersetzung betrifft, hat dies zwei Vorteile:

  1. Sie müssen nicht für jeden möglichen Namen eine Übersetzung erstellen.
    • Mit <Var> erzeugen wir nur eine einzige Übersetzung, die im Wesentlichen so aussehen würde:
      • ¡Hola, $&#123;name&#125;!
    • Wenn wir <Var> nicht verwenden, müssten wir für jeden eindeutigen Namen eine On-Demand-Übersetzung durchführen:
      • „¡Hola, Alice!“, „¡Hola, Bob!“, „¡Hola, Charlie!“, „¡Hola, David!“, ...
  2. Sie müssen sich auch keine Sorgen machen, dass sich die Namen selbst in eine übersetzte Form ihres Namens ändern (z. B. „¡Hola, Alicia!“, „¡Hola, Roberto!“, ...).

Wie Sie sehen, sollte die <Var>-Komponente verwendet werden, um Inhalte zu umschließen, die unabhängig von der locale gleich bleiben sollen. Auf diese Weise vermeiden wir die Notwendigkeit, Übersetzungen für jeden möglichen value des dynamischen Inhalts zu erstellen.

Wenn Sie private Informationen in eine <Var>-Komponente einschließen, können Sie sicherstellen, dass die Informationen nicht an die General Translation API gesendet werden.

Ausnahmen

Die Ausnahmen zur obigen Aussage sind (1) im Fall einer verschachtelten <T>-Komponente innerhalb einer <Var>-Komponente (d. h. die children der verschachtelten <T>-Komponente werden übersetzt) oder (2) wenn Daten absichtlich über andere Mittel innerhalb eines child der <Var>-Komponente an unsere API übergeben werden (z. B. ein fetch-Aufruf). Dies ist jedoch weder die beabsichtigte Verwendung der <Var>-Komponente noch der General Translation API, und dies kann Ladezeiten und Leistung beeinträchtigen.

Wie ist dieser Leitfaden?

Dynamische Inhalte