Documentazione: getMultilingualUrls Funzione in intlayer
Descrizione:
La funzione getMultilingualUrls genera una mappatura di URL multilingue prefissando l'URL fornito con ciascuna lingua supportata. Può gestire URL sia assoluti che relativi, applicando il prefisso di lingua appropriato in base alla configurazione fornita o ai valori predefiniti.
Parametri:
url: string
- Descrizione: строка URL originale da prefissare con le lingue.
- Tipo: string
locales: Locales[]
- Descrizione: Array opzionale di lingue supportate. Imposta per impostazione predefinita le lingue configurate nel progetto.
- Tipo: Locales[]
- Predefinito: localesDefault
defaultLocale: Locales
- Descrizione: La lingua predefinita per l'applicazione. Imposta per impostazione predefinita la lingua predefinita configurata nel progetto.
- Tipo: Locales
- Predefinito: defaultLocaleDefault
prefixDefault: boolean
- Descrizione: Se aggiungere il prefisso per la lingua predefinita. Imposta per impostazione predefinita il valore configurato nel progetto.
- Tipo: boolean
- Predefinito: prefixDefaultDefault
Restituisce:
- Tipo: IConfigLocales<string>
- Descrizione: Un oggetto che mappa ciascuna lingua al suo corrispondente URL multilingue.
Esempio di Utilizzo:
URL Relativi:
import { getMultilingualUrls, Locales } from "intlayer";
getMultilingualUrls(
"/dashboard",
[Locales.ENGLISH, Locales.FRENCH],
Locales.ENGLISH,
false
);
// Output: {
// en: "/dashboard",
// fr: "/fr/dashboard"
// }
URL Assoluti:
getMultilingualUrls(
"https://example.com/dashboard",
[Locales.ENGLISH, Locales.FRENCH],
Locales.ENGLISH,
true
);
// Output: {
// en: "https://example.com/en/dashboard",
// fr: "https://example.com/fr/dashboard"
// }
Casi Limite:
Nessun Segmento di Lingua:
- La funzione rimuove eventuali segmenti di lingua esistenti dall'URL prima di generare le mappature multilingue.
Lingua Predefinita:
- Quando prefixDefault è false, la funzione non aggiunge il prefisso all'URL per la lingua predefinita.
Lingue Non Supportate:
- Solo le lingue fornite nell'array locales sono considerate per la generazione degli URL.
Utilizzo nelle Applicazioni:
In un'applicazione multilingue, configurare le impostazioni di internazionalizzazione con locales e defaultLocale è fondamentale per garantire che venga visualizzata la lingua corretta. Di seguito è riportato un esempio di come getMultilingualUrls può essere utilizzato in una configurazione di applicazione:
import { Locales, type IntlayerConfig } from "intlayer";
// Configurazione per le lingue supportate e la lingua predefinita
export default {
internationalization: {
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
defaultLocale: Locales.ENGLISH,
},
} satisfies IntlayerConfig;
export default config;
La configurazione sopra garantisce che l'applicazione riconosca ENGLISH, FRENCH e SPANISH come lingue supportate e utilizzi ENGLISH come lingua di riserva.
Utilizzando questa configurazione, la funzione getMultilingualUrls può generare dinamicamente mappature di URL multilingue in base alle lingue supportate dall'applicazione:
getMultilingualUrls(
"/dashboard",
[Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
Locales.ENGLISH
);
// Output:
// {
// en: "/dashboard",
// fr: "/fr/dashboard",
// es: "/es/dashboard"
// }
getMultilingualUrls(
"https://example.com/dashboard",
[Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
Locales.ENGLISH,
true
);
// Output:
// {
// en: "https://example.com/en/dashboard",
// fr: "https://example.com/fr/dashboard",
// es: "https://example.com/es/dashboard"
// }
Integrando getMultilingualUrls, gli sviluppatori possono mantenere strutture di URL coerenti tra più lingue, migliorando sia l'esperienza dell'utente che la SEO.
Se hai un’idea per migliorare questa documentazione, non esitare a contribuire inviando una pull request su GitHub.
Collegamento GitHub alla documentazione