getMessages
API-Referenz für die Übersetzungsfunktion getMessages()
Überblick
Die Funktion getMessages ist eine asynchrone Funktion, die encoded strings von msg zur Build‑Zeit übersetzt.
const m = await getMessages();
<p>{  m(codierteZeichenkette)  }</p>;Buildtime Translation:
getMessages-Übersetzungen erfolgen zur Build-Zeit, bevor Ihre App bereitgestellt wird.
Sie können encoded strings von msg übergeben; diese werden dann in die bevorzugte Sprache des Nutzers übersetzt.
Referenzen
Parameter
Keine
Rückgabe
Ein Promise, das eine Callback-Funktion m liefert, die den bereitgestellten, kodierten Inhalt aus msg übersetzt.
Promise<(encodedContent: string, options?: Record<string, any>) => string>| Name | Type | Description | 
|---|---|---|
| encodedContent | string | Der encoded string-Inhalt 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.
Das gewährleistet schnelle Ladezeiten für alle locales, kann jedoch nur Inhalte übersetzen, die zur Build-Zeit bekannt sind.
Nach der Generierung werden die Übersetzungen je nach Konfiguration entweder (1) im CDN (Content Delivery Network) gespeichert oder (2) im Build-Output Ihrer App abgelegt. Von dort aus wird der übersetzte Inhalt an Ihre Nutzer ausgeliefert. Wenn keine Übersetzung gefunden wird, wird auf den ursprünglichen Inhalt zurückgegriffen.
Stellen Sie sicher, dass Sie der Bereitstellungsanleitung hier folgen.
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.
Während der On‑Demand-Übersetzung in der Entwicklung kann es zu einer Verzögerung kommen.
Dies tritt in Produktions-Builds nicht auf, es sei denn, Inhalte werden ausdrücklich bei Bedarf übersetzt,
d. h. mithilfe von tx oder <Tx>.
Beispiel
Grundlegende Verwendung
Sie können getMessages verwenden, um encoded strings aus msg zu übersetzen.
import { msg, getMessages } from 'gt-next/server';
const encodedGreeting = msg('Hallo, Alice!');
export default async function TranslateGreeting() {
  const m = await getMessages();
  return (
    <p>
      {m(encodedGreeting)}
    </p>
  );
}Hinweis: "Alice" wird in die bevorzugte Sprache des/der Nutzers/Nutzerin übersetzt.
Verwendung von variables
Sie können variables in encoded strings überschreiben.
import { msg, getMessages } from 'gt-next/server';
const encodedGreeting = msg('Hallo, {name}!', { name: 'Alice' });
export default async function TranslateGreeting() {
  const m = await getMessages();
  return (
    <p>
      {m(encodedGreeting, { name: 'Bob' })}
    </p>
  );
}Hinweis: Dadurch wird "Hallo, Bob!" angezeigt – die Variable wird zur Laufzeit beim Rendern überschrieben.
Verwendung des ICU Message Format
gt-next unterstützt das ICU Message Format, mit dem Sie auch Ihre Variablen formatieren können.
import { msg, getMessages } from 'gt-next/server';
const encodedMessage = msg('Im Warenkorb {count, plural, =0 {sind keine Artikel} =1 {ist ein Artikel} other {sind {count} Artikel}}', { count: 10 });
export default async function TranslateGreeting() {
  const m = await getMessages();
  return (
    <p>
      {m(encodedMessage)}
    </p>
  );
}Das ICU message format ist eine leistungsstarke Methode, um Ihre variables zu formatieren. Weitere Informationen finden Sie in der Dokumentation zum ICU message format.
Hinweise
- Die Funktion getMessagesist eine serverseitige Funktion, die vonmsgerzeugte encoded strings übersetzt.
- Übersetzungen mit getMessageserfolgen nicht zur Laufzeit, sondern bereits während des Build-Prozesses (außer in der Entwicklung).
Nächste Schritte
- Siehe useMessagesfür clientseitige Übersetzungen von Strings aus encoded strings zur Build‑Zeit.
- Siehe msgzum Enkodieren von Strings für die Übersetzung.
- Für Übersetzungen zur Laufzeit siehe txund<Tx>.
Wie ist dieser Leitfaden?

