loadTranslations
Riferimento API per la funzione loadTranslations().
Panoramica
Usa loadTranslations per specificare il comportamento di caricamento delle traduzioni.
Per impostazione predefinita, l’app caricherà le traduzioni dal CDN di GT in produzione.
Puoi fornire una funzione loadTranslations per caricare le traduzioni da un’altra origine, ad esempio:
- Dal bundle della tua app (la più comune)
- Da un database
- Da un’API
- Da un altro CDN
Abbiamo integrato il supporto per il caricamento delle traduzioni da file locali inclusi nel bundle della tua app. Segui questa guida per configurare le traduzioni locali nella tua app Next.js.
Se vuoi definire manualmente le tue traduzioni, consulta la guida alle traduzioni personalizzate
e la funzione loadDictionary.
Riferimenti
Parametri
Prop
Type
Descrizione
| Tipo | Descrizione |
|---|---|
locale | Il locale per cui caricare le traduzioni. |
Restituisce
Una Promise<any> che si risolve in un dizionario che associa gli ID alle traduzioni per la locale specificata.
Configurazione
Definisci loadTranslations come export predefinito in un file chiamato loadTranslations.js o loadTranslations.ts, posizionato nella directory src/ o nella root.
Assicurati che la funzione restituisca una Promise che risolva in un oggetto contenente le traduzioni per la locale indicata.
export default async function loadTranslations(locale) {
const translations = await import(`../public/locales/${locale}.json`);
return translations.default;
};Se vuoi usare un nome o un percorso diversi, passa il percorso relativo tramite il parametro loadTranslationsPath in withGTConfig.
Esempi
Recuperare le traduzioni dal bundle
export default async function loadTranslations(locale) {
const translations = await import(`../public/locales/${locale}.json`);
return translations.default;
};Quando è configurato per usare le traduzioni locali, il comando gtx-cli translate
salverà le traduzioni nella struttura di file del tuo progetto.
npx gtx-cli translateCaricare le traduzioni da una CDN
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 {};
}
};Carica le traduzioni dal tuo database
export default async function loadTranslations(locale) {
try {
const translations = await prisma.translation.findUnique({
where: {
locale: locale,
},
});
return translations;
} catch (e) {
console.error(e);
return {};
}
};Domanda: Qual è la differenza tra loadTranslations e loadDictionary?
loadTranslationsserve a definire il comportamento personalizzato di caricamento per recuperare le traduzioni dell’app. Questo può voler dire prelevare le traduzioni da un CDN, da un database o dal bundle dell’app. In genere sono traduzioni generate automaticamente, gestite dallo strumento CLI, e non sono molto pratiche da modificare manualmente.loadDictionaryè pensato per usaregt-nextcome libreria autonoma. Gli utenti portano le proprie traduzioni e non viene utilizzata alcuna infrastruttura di traduzione.
Note
loadTranslationsti consente di personalizzare il modo in cui le traduzioni vengono caricate nella tua app in produzione.- Il caso d’uso più comune è l’aggiunta di traduzioni locali
Prossimi passi
- Scopri perché potresti voler usare le traduzioni locali
- Aggiungi le tue traduzioni con la guida alle traduzioni personalizzate
Come valuti questa guida?