Components

Tx

API-Referenz für die Komponente <Tx>

Überblick

Die Komponente <Tx> übersetzt JSX-Inhalte zur Laufzeit.

<Tx>
    Heute bin ich
    {" in den Laden gegangen"}
    <p>
        um <b>einzukaufen</b> und <i>Lebensmittel</i> zu besorgen.
    </p>
</Tx> 

Die Komponente <Tx> unterstützt sowohl die Übersetzung von reinem Text als auch von komplexen JSX-Strukturen. Außerdem bietet sie Funktionen für den Umgang mit Variablen, Pluralformen und kontextspezifischen Übersetzungen. <Tx> ist ausschließlich serverseitig.

Laufzeitübersetzung: <Tx>-Übersetzungen erfolgen zur Laufzeit. Das heißt, die Übersetzung wird in Echtzeit ausgeführt.


Referenzen

Props

Prop

Type

Beschreibungen

PropBeschreibung
childrenDer zu übersetzende Inhalt. Kann aus einfachem Text oder JSX-Strukturen bestehen.
contextZusätzlicher Kontext zur Verfeinerung der Übersetzung. Nützlich, um mehrdeutige Formulierungen aufzulösen.
localeEine optionale locale für die Übersetzung. Standardmäßig wird die vom Browser am höchsten priorisierte und von Ihrer App unterstützte locale verwendet.

Verhalten

<Tx> übersetzt JSX zur Laufzeit. Das bedeutet, Übersetzungen erfolgen live, sodass Sie Inhalte übersetzen können, die erst zur Laufzeit vorliegen. Der Nachteil ist eine Wartezeit, da On-Demand-Übersetzungen beim Laden spürbar langsamer sind.

Während des Ladens gibt <Tx> undefined zurück, es sei denn, die Sprachen sind ähnlich (en-US vs. en-GB); dieses Verhalten lässt sich jedoch über Render-Einstellungen anpassen. Tritt ein Error auf, gibt <Tx> den ursprünglichen Inhalt zurück.

Unsere Empfehlung: Übersetzen Sie so viel wie möglich zur Build-Zeit mit <T>, getGT oder useGT und verwenden Sie On-Demand-Übersetzungen wie <Tx> und tx nur bei Bedarf.

Befolgen Sie außerdem die Deploy-Anleitung hier.


Beispiele

Grundlegende Verwendung

Die Komponente <Tx> übersetzt ihre children zur Laufzeit.

SimpleTranslation.jsx
import { Tx } from 'gt-next';

export default function Greeting() {
    return (
        <Tx id="greeting">
            Hallo, Welt!
        </Tx> 
    );
}

Mit Variablen

Sie können die Komponente <Var> verwenden, um children als Variablen zu kennzeichnen. So markieren Sie Inhalte, die nicht übersetzt werden sollen.

DynamicGreeting.jsx
import { Tx, Var } from 'gt-next';

export default function DynamicGreeting(user) {
    return (
        <Tx>
            Hallo, <Var>{user.name}</Var>
        </Tx>
    );
}

Mit Pluralformen

Die Komponente <T> unterstützt auch die Pluralbildung über die Komponente <Plural>.

ItemCount.jsx
import { Tx, Plural } from 'gt-next';

export default function ItemCount({ count }) {
    return (
        <Tx>
            <Plural n={count}  
                singular={<>Sie haben ein Element.</>}  
                plural={<>Sie haben Elemente.</>}  
            />  
        </Tx>
    );
}

Einschränkungen

Die Funktion <Tx> übersetzt nur ihre untergeordneten Elemente.

Example.jsx
import { Tx } from 'gt-next';

const ValidTranslation = ({ children }) => (<div><b>{children}</b></div>);

const InvalidTranslation = ({ children }) => (<div><b>Keine Übersetzung</b></div>);

export default function Example() {
    return (
        <Tx>
            <div><b>Das ist gültig!</b></div> // wird übersetzt 

            <ValidTranslation> // wird übersetzt 
                Hallo, Welt!
            </ValidTranslation>

            <InvalidTranslation /> // wird nicht übersetzt
        </Tx>
    );
}

Hinweis: Eine gute Faustregel ist, dass jeder Inhalt, der buchstäblich zwischen den beiden <Tx> in der Datei steht, übersetzt wird. Sie können jederzeit ein weiteres <Tx> hinzufügen, um Inhalte zu übersetzen, die nicht erfasst werden; das Verschachteln von <Tx>-Komponenten wird jedoch nicht empfohlen.


Hinweise

  • Die <Tx>-Komponente ist dafür ausgelegt, Inhalte in Ihrer Anwendung zur Laufzeit zu übersetzen.
  • Verwenden Sie die <Tx>-Komponente, um Klartext oder JSX-Strukturen zu übersetzen, einschließlich variables und Pluralbildung.

Nächste Schritte

  • Für Buildtime Translation siehe die <T>-Komponente.
  • Für weiterführende Funktionen siehe die <T>-Referenz.
  • Zum Übersetzen von Strings siehe tx, getGT und useGT.

Wie ist dieser Leitfaden?

Tx