Components

<Tx>

API-Referenz für die <Tx>-Komponente

Überblick

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

<Tx>
    Today, I went to
    {" the store"}
    <p>
        to <b>buy</b> some <i>groceries</i>.
    </p>
</Tx> 

Die <Tx>-Komponente unterstützt die Übersetzung von einfachem Text sowie komplexen JSX-Strukturen. Zusätzlich bietet sie Funktionen zur Behandlung von Variablen, Pluralformen und kontextspezifischen Übersetzungen. <Tx> ist nur serverseitig verfügbar.

Laufzeit-Übersetzung: <Tx>-Übersetzungen erfolgen zur Laufzeit. Das bedeutet, dass die Übersetzung live durchgeführt wird.


Referenz

Props

PropTypeDefault
children?
any
-
context??
string
undefined
locale??
string
undefined

Beschreibungen

PropBeschreibung
childrenDer Inhalt, der übersetzt werden soll. Dies kann einfachen Text oder JSX-Strukturen umfassen.
contextZusätzlicher Kontext zur Verfeinerung der Übersetzung. Nützlich zur Auflösung mehrdeutiger Ausdrücke.
localeEine optionale Locale, die für die Übersetzung verwendet werden soll. Standardmäßig wird die bevorzugte Locale des Browsers verwendet, die von Ihrer App unterstützt wird.

Verhalten

<Tx> übersetzt JSX zur Laufzeit. Das bedeutet, dass Übersetzungen live durchgeführt werden, sodass Sie Inhalte übersetzen können, die erst zur Laufzeit bekannt sind. Der Kompromiss besteht darin, dass es eine Verzögerung gibt, während auf eine bedarfsgesteuerte Übersetzung gewartet wird, was erheblich langsamer ist.

Während des Ladens gibt <Tx> undefined zurück, es sei denn, die Sprachen sind ähnlich (en-US vs en-GB), obwohl dieses Verhalten mit Rendereinstellungen angepasst werden kann. Wenn ein Fehler auftritt, gibt <Tx> den Originalinhalt zurück.

Unser Rat ist, alles, was Sie können, zur Build-Zeit zu übersetzen, indem Sie <T>, getGT() oder useGT() verwenden, und nur bei Bedarf bedarfsgesteuerte Übersetzungen wie <Tx> und tx() zu verwenden.

Stellen Sie sicher, dass Sie der Bereitstellungsanleitung hier folgen.


Beispiele

Grundlegende Verwendung

Die <Tx>-Komponente übersetzt ihre Kinder zur Laufzeit.

SimpleTranslation.jsx
import { Tx } from 'gt-next';
 
export default function Greeting() {
    return (
        <Tx id="greeting">
            Hello, world!
        </Tx> 
    );
}

Mit Variablen

Sie können die <Var>-Komponente verwenden, um Kinder als Variablen zu markieren. Dies ermöglicht es Ihnen, Inhalte zu kennzeichnen, die nicht übersetzt werden sollen.

DynamicGreeting.jsx
import { Tx, Var } from 'gt-next';
 
export default function DynamicGreeting(user) {
    return (
        <Tx>
            Hello, <Var>{user.name}</Var>
        </Tx>
    );
}

Mit Pluralformen

Die <T>-Komponente unterstützt auch Pluralisierung mit der <Plural>-Komponente.

ItemCount.jsx
import { Tx, Plural } from 'gt-next';
 
export default function ItemCount({ count }) {
    return (
        <Tx>
            <Plural n={count}  
                singular={<>You have an item.</>}  
                plural={<>You have items.</>}  
            />  
        </Tx>
    );
}

Einschränkungen

Die <Tx>-Funktion übersetzt nur ihre Nachkommen.

Example.jsx
import { Tx } from 'gt-next';
 
const ValidTranslation = ({ children }) => (<div><b>{children}</b></div>);
 
const InvalidTranslation = ({ children }) => (<div><b>No translation</b></div>);
 
export default function Example() {
    return (
        <Tx>
            <div><b>This is valid!</b></div> // will be translated 
 
            <ValidTranslation> // will be translated 
                Hello, world!
            </ValidTranslation>
 
            <InvalidTranslation /> // will not be translated
        </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 eine weitere <Tx>-Komponente hinzufügen, um Inhalte zu übersetzen, die nicht übersetzt werden, obwohl das Verschachteln von <Tx>-Komponenten nicht empfohlen wird.


Notizen

  • 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 Variablen und Pluralisierung.

Nächste Schritte

Auf dieser Seite