Config

loadTranslations

API-Referenz für die Funktion loadTranslations().

Übersicht

Verwenden Sie loadTranslations, um das Ladeverhalten für Übersetzungen festzulegen. Standardmäßig lädt Ihre App in der Produktion Übersetzungen über das GT‑CDN (Content Delivery Network). Sie können eine loadTranslations‑Funktion angeben, um Übersetzungen aus einer anderen Quelle zu laden, zum Beispiel:

  • aus dem Bundle Ihrer App (am häufigsten)
  • aus einer Datenbank
  • aus einer API
  • aus einem anderen CDN

Wir bieten integrierte Unterstützung für das Laden von Übersetzungen aus lokalen files im Bundle Ihrer App. Folgen Sie dieser Anleitung, um lokale Übersetzungen in Ihrer Next.js‑App einzurichten.

Wenn Sie Ihre eigenen Übersetzungen manuell definieren möchten, sehen Sie sich die Anleitung für benutzerdefinierte Übersetzungen sowie die Funktion loadDictionary an.

Referenz

Parameter

Prop

Type

Beschreibung

TypBeschreibung
localeDie Locale, für die Übersetzungen geladen werden sollen.

Rückgabewert

Ein Promise<any>, das zu einem Wörterbuch aufgelöst wird, das ids den Übersetzungen für die angegebene locale zuordnet.


Setup

Definieren Sie loadTranslations als Standardexport für eine Datei mit dem Namen loadTranslations.js oder loadTranslations.ts, entweder im Verzeichnis src/ oder im Projektwurzelverzeichnis. Stellen Sie sicher, dass die Funktion ein Promise zurückgibt, das zu einem Objekt mit Übersetzungen für die angegebene locale aufgelöst wird.

src/loadTranslations.js
export default async function loadTranslations(locale) {
  const translations = await import(`../public/locales/${locale}.json`);
  return translations.default;
};

Wenn Sie einen anderen Namen oder Pfad verwenden möchten, übergeben Sie den relativen Pfad über den Parameter loadTranslationsPath in withGTConfig.


Beispiele

Übersetzungen aus deinem Bundle abrufen

src/loadTranslations.js
export default async function loadTranslations(locale) {
  const translations = await import(`../public/locales/${locale}.json`);
  return translations.default;
};

Wenn sie für die Verwendung von lokalen Übersetzungen konfiguriert sind, speichert der Befehl gtx-cli translate die Übersetzungen im Dateibaum Ihres Projekts.

npx gtx-cli translate

Übersetzungen aus einem Content Delivery Network (CDN) laden

loadTranslations.js
export default async function loadTranslations(locale) {
  try {
    const translations = await fetch(`https://your-cdn.com/translations/${locale}.json`);
    const data = await translations.json();
    return data;
  } catch (e) {
    console.error(e);
    return {};
  }
};

Übersetzungen aus der eigenen Datenbank laden

loadTranslations.js
export default async function loadTranslations(locale) {
  try {
    const translations = await prisma.translation.findUnique({
      where: {
        locale: locale,
      },
    });
    return translations;
  } catch (e) {
    console.error(e);
    return {};
  }
};

Frage: Was ist der Unterschied zwischen loadTranslations und loadDictionary?

  • loadTranslations wird verwendet, um benutzerdefiniertes Ladeverhalten für das Abrufen von Übersetzungen in Ihrer App zu definieren. Das kann das Laden von Übersetzungen aus einem CDN (Content Delivery Network), aus einer Datenbank oder aus dem Bundle Ihrer App sein. Dabei handelt es sich in der Regel um maschinell erzeugte Übersetzungen, die vom CLI-Tool (Command-Line Interface) verwaltet werden und sich nicht besonders benutzerfreundlich bearbeiten lassen.
  • loadDictionary ist für Implementierungen von gt-next als eigenständige Bibliothek gedacht. Nutzer bringen ihre eigenen Übersetzungen mit, es wird keine Übersetzungsinfrastruktur verwendet.

Hinweise

  • loadTranslations ermöglicht es Ihnen, das Laden von Übersetzungen in Ihrer App für die Produktion anzupassen.
  • Der häufigste Anwendungsfall ist das Hinzufügen von local translations

Nächste Schritte

Wie ist diese Anleitung?