Documentazione: Funzione getLocalizedUrl in intlayer

    Descrizione

    La funzione getLocalizedUrl genera un URL localizzato aggiungendo un prefisso all'URL fornito con la lingua specificata. Gestisce sia URL assoluti che relativi, garantendo che venga applicato il prefisso corretto in base alla configurazione.


    Parametri

    • url: string

      • Descrizione: La stringa URL originale a cui aggiungere un prefisso con una lingua.
      • Tipo: string
    • currentLocale: Locales

      • Descrizione: La lingua corrente per cui l'URL viene localizzato.
      • Tipo: Locales
    • locales: Locales[]

      • Descrizione: Array opzionale di lingue supportate. Per impostazione predefinita, vengono fornite le lingue configurate nel progetto.
      • Tipo: Locales[]
      • Default: Configurazione del Progetto
    • defaultLocale: Locales

      • Descrizione: La lingua predefinita per l'applicazione. Per impostazione predefinita, viene fornita la lingua predefinita configurata nel progetto.
      • Tipo: Locales
      • Default: Configurazione del Progetto
    • prefixDefault: boolean

      • Descrizione: Indica se aggiungere un prefisso all'URL per la lingua predefinita. Per impostazione predefinita, viene fornito il valore configurato nel progetto.
      • Tipo: boolean
      • Default: Configurazione del Progetto

    Ritorna

    • Tipo: string
    • Descrizione: L'URL localizzato per la lingua specificata.

    Esempio di Utilizzo

    URL Relativi

    typescript
    import { getLocalizedUrl, Locales } from "intlayer";getLocalizedUrl(  "/about",  Locales.FRENCH,  [Locales.ENGLISH, Locales.FRENCH],  Locales.ENGLISH,  false);// Output: "/fr/about" per la lingua francese// Output: "/about" per la lingua predefinita (inglese)

    URL Assoluti

    typescript
    getLocalizedUrl(  "https://example.com/about",  Locales.FRENCH, // Lingua Corrente  [Locales.ENGLISH, Locales.FRENCH], // Lingue Supportate  Locales.ENGLISH, // Lingua Predefinita  false // Prefisso per la Lingua Predefinita); // Output: "https://example.com/fr/about" per il francesegetLocalizedUrl(  "https://example.com/about",  Locales.ENGLISH, // Lingua Corrente  [Locales.ENGLISH, Locales.FRENCH], // Lingue Supportate  Locales.ENGLISH, // Lingua Predefinita  false // Prefisso per la Lingua Predefinita); // Output: "https://example.com/about" per l'inglesegetLocalizedUrl(  "https://example.com/about",  Locales.ENGLISH, // Lingua Corrente  [Locales.ENGLISH, Locales.FRENCH], // Lingue Supportate  Locales.ENGLISH, // Lingua Predefinita  true // Prefisso per la Lingua Predefinita); // Output: "https://example.com/en/about" per l'inglese

    Lingua Non Supportata

    typescript
    getLocalizedUrl(  "/about",  Locales.ITALIAN, // Lingua Corrente  [Locales.ENGLISH, Locales.FRENCH], // Lingue Supportate  Locales.ENGLISH // Lingua Predefinita); // Output: "/about" (nessun prefisso applicato per la lingua non supportata)

    Casi Limite

    • Nessun Segmento di Lingua:

      • Se l'URL non contiene alcun segmento di lingua, la funzione aggiunge in modo sicuro il prefisso appropriato.
    • Lingua Predefinita:

      • Quando prefixDefault è false, la funzione non aggiunge un prefisso all'URL per la lingua predefinita.
    • Lingue Non Supportate:

      • Per le lingue non elencate in locales, la funzione non applica alcun prefisso.

    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 utilizzare getLocalizedUrl nella configurazione di un'applicazione:

    tsx
    import { Locales, type IntlayerConfig } from "intlayer";// Configurazione per le lingue supportate e la lingua predefinitaexport 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 fallback.

    Utilizzando questa configurazione, la funzione getLocalizedUrl può generare dinamicamente URL localizzati in base alla preferenza linguistica dell'utente:

    typescript
    getLocalizedUrl("/about", Locales.FRENCH); // Output: "/fr/about"getLocalizedUrl("/about", Locales.SPANISH); // Output: "/es/about"getLocalizedUrl("/about", Locales.ENGLISH); // Output: "/about"

    Integrando getLocalizedUrl, gli sviluppatori possono mantenere strutture URL coerenti tra più lingue, migliorando sia l'esperienza 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