useMessages
API-Referenz für die String-Übersetzungsfunktion useMessages()
Übersicht
Die Funktion useMessages ist ein Hook, der encoded strings von msg zur Build‑Zeit übersetzt.
const m = useMessages();
<p>{  m(encodedString)  }</p>;Buildtime Translation:
Übersetzungen mit useMessages erfolgen zur Build-Zeit, bevor Ihre App bereitgestellt wird.
Sie können encoded strings aus msg übergeben; diese werden dann in die bevorzugte Sprache der Nutzer:innen übersetzt.
Referenzen
Parameter
Keine
Rückgabewert
Eine Callback-Funktion m, die den bereitgestellten codierten Inhalt aus msg übersetzt.
(encodedContent: string, options?: Record<string, any>) => string| Name | Type | Beschreibung | 
|---|---|---|
| encodedContent | string | Der Inhalt der encoded string aus msg, der übersetzt werden soll. | 
| options? | Record<string, any> | Optionale Parameter zum Überschreiben von variables in der encoded string. | 
Verhalten
Produktion
Während des CD-Prozesses (Continuous Delivery/Deployment) wird sämtlicher Inhalt innerhalb einer msg-Funktion übersetzt, bevor Ihre Anwendung bereitgestellt wird.
Dies sorgt für schnelle Ladezeiten für alle locales, kann jedoch nur Inhalte übersetzen, die zur Build-Zeit bekannt sind.
Nach der Generierung werden Übersetzungen je nach Konfiguration entweder (1) im CDN (Content Delivery/Distribution Network) gespeichert oder (2) im Build-Output Ihrer App abgelegt. Von dort wird der übersetzte Inhalt an Ihre Benutzer ausgeliefert. Wenn keine Übersetzung gefunden wird, wird auf den ursprünglichen Inhalt als Standardwert zurückgegriffen.
Befolgen Sie die Bereitstellungsanleitung hier.
Entwicklung
Während der Entwicklung übersetzt die Funktion m Inhalte bei Bedarf.
Das ist hilfreich, um zu prototypen, wie deine App in verschiedenen Sprachen aussehen wird.
Denke daran, deiner Umgebung einen Dev-API-Schlüssel hinzuzufügen, um dieses Verhalten zu aktivieren.
Bei bedarfsbasierter Übersetzung in der Entwicklung kann es zu einer Verzögerung kommen.
Dies tritt in Produktions-Builds nicht auf, es sei denn, Inhalte werden explizit bei Bedarf übersetzt,
also mit tx oder <Tx>.
Beispiel
Grundlegende Verwendung
Sie können useMessages verwenden, um encoded strings aus msg zu übersetzen.
import { msg, useMessages } from 'gt-react';
const encodedGreeting = msg('Hallo, Alice!');
export default function TranslateGreeting() {
  const m = useMessages();
  return (
    <p>
      {m(encodedGreeting)}
    </p>
  );
}Hinweis: „Alice“ wird in die bevorzugte Sprache des Nutzers übersetzt.
Verwendung von variables
Sie können variables in encoded strings überschreiben.
import { msg, useMessages } from 'gt-react';
const encodedGreeting = msg('Hallo, {name}!', { name: 'Alice' });
export default function TranslateGreeting() {
  const m = useMessages();
  return (
    <p>
      {m(encodedGreeting, { name: 'Bob' })}
    </p>
  );
}Hinweis: Dadurch wird „Hello, Bob!“ angezeigt – die Variable wird zur Laufzeit beim Rendern überschrieben.
Verwendung des ICU Message Format
gt-react unterstützt das ICU Message Format, mit dem Sie auch Ihre variables formatieren können.
import { msg, useMessages } from 'gt-react';
const encodedMessage = msg('Im Warenkorb {count, plural, =0 {sind keine Artikel} =1 {ist ein Artikel} other {sind {count} Artikel}}', { count: 10 });
export default function TranslateGreeting() {
  const m = useMessages();
  return (
    <p>
      {m(encodedMessage)}
    </p>
  );
}Das ICU message format ist eine leistungsstarke Methode, um deine Variablen zu formatieren. Weitere Informationen findest du in der Dokumentation zum ICU message format.
Hinweise
- Die Funktion useMessagesist ein Hook, der vonmsgstammende encoded strings übersetzt.
- Übersetzungen mit useMessageserfolgen nicht zur Laufzeit, sondern bereits während des Build-Prozesses (außer in der Entwicklung).
Nächste Schritte
- Siehe getMessagesfür asynchrone Übersetzungen von encoded strings zur Build‑Zeit.
- Siehe msgzum Encodieren von Strings für die Übersetzung.
- Für Übersetzungen zur Laufzeit siehe txund<Tx>.
Wie ist dieser Leitfaden?

