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 Übersetzungen im Produktionsbetrieb vom GT CDN.
Sie können eine eigene loadTranslations()
-Funktion angeben, um Übersetzungen aus einer anderen Quelle zu laden, zum Beispiel:
- Aus dem Bundle Ihrer App (am häufigsten)
- Aus einer Datenbank
- Über eine API
- Von einem anderen CDN
Wir haben die Unterstützung für das Laden von Übersetzungen aus lokalen Dateien im Bundle Ihrer App integriert. Folgen Sie dieser Anleitung, um lokale Übersetzungen in Ihrer Next.js-App einzurichten.
Wenn Sie eigene Übersetzungen manuell definieren möchten, sehen Sie sich den Leitfaden für benutzerdefinierte Übersetzungen
und die loadDictionary()
-Funktion an.
Referenz
Parameter
Prop | Type | Default |
---|---|---|
locale? | string | - |
Beschreibung
Typ | Beschreibung |
---|---|
locale | Das Gebietsschema, für das Übersetzungen geladen werden sollen. |
Rückgabewert
Ein Promise<any>
, das auf ein Wörterbuch aufgelöst wird, das IDs den Übersetzungen für das angegebene Gebietsschema zuordnet.
Einrichtung
Definieren Sie Ihre loadTranslations()
als den Standardexport für eine Datei mit dem Namen loadTranslations.js
oder loadTranslations.ts
entweder im Verzeichnis src/
oder im Root-Verzeichnis.
Stellen Sie sicher, dass die Funktion ein Promise zurückgibt, das zu einem Objekt mit Übersetzungen für die angegebene Sprache aufgelöst wird.
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 Ihrem Bundle abrufen
export default async function loadTranslations(locale) {
const translations = await import(`../public/locales/${locale}.json`);
return translations.default;
};
Wenn es für die Verwendung von lokalen Übersetzungen konfiguriert ist, speichert der gtx-cli translate
Befehl
Übersetzungen im Dateibaum Ihres Projekts.
npx gtx-cli translate
Übersetzungen von einem CDN laden
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 Ihrer eigenen Datenbank laden
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 für Ihre App zu definieren. Dies könnte das Abrufen von Übersetzungen von einem CDN, einer Datenbank oder dem Bundle Ihrer App sein. Diese sind normalerweise maschinell generierte Übersetzungen, die vom CLI-Tool verwaltet werden und nicht sehr benutzerfreundlich zu bearbeiten sind.loadDictionary()
ist für Implementierungen vongt-next
als eigenständige Bibliothek gedacht. Benutzer bringen ihre eigenen Übersetzungen mit und es wird keine Übersetzungsinfrastruktur verwendet.
Hinweise
loadTranslations()
gibt Ihnen die Möglichkeit, anzupassen, wie Übersetzungen in Ihrer App in der Produktion geladen werden.- Der häufigste Anwendungsfall ist das Hinzufügen von lokalen Übersetzungen
Nächste Schritte
- Erfahren Sie, warum Sie möglicherweise lokale Übersetzungen verwenden möchten
- Fügen Sie Ihre eigenen Übersetzungen mit der Anleitung für benutzerdefinierte Übersetzungen hinzu
Wie ist dieser Leitfaden?