Creazione:2026-01-22Ultimo aggiornamento:2026-01-22

    Documentazione: Funzione getCanonicalPath in intlayer

    Descrizione

    La funzione getCanonicalPath risolve un percorso URL localizzato (es., /a-propos) riportandolo al percorso canonico interno dell'applicazione (es., /about). Questo è essenziale affinché i router possano associare la rotta interna corretta indipendentemente dalla lingua dell'URL.

    Caratteristiche principali:

    • Supporta parametri di rotta dinamici usando la sintassi [param].
    • Confronta i percorsi localizzati con regole di riscrittura personalizzate definite nella tua configurazione.
    • Restituisce il percorso originale se non viene trovata alcuna regola di riscrittura corrispondente.

    Firma della funzione

    getCanonicalPath(
      localizedPath: string,         // Obbligatorio
      locale: Locales,               // Obbligatorio
      rewriteRules?: RoutingConfig['rewrite'] // Opzionale
    ): string

    Parametri

    Parametri obbligatori

    • localizedPath: string

      • Descrizione: Il percorso localizzato come visto nel browser (es., /a-propos).
      • Tipo: string
      • Obbligatorio: Sì
    • locale: Locales

      • Descrizione: La locale usata per il percorso da risolvere.
      • Tipo: Locales
      • Obbligatorio: Sì

    Parametri opzionali

    • rewriteRules?: RoutingConfig['rewrite']
      • Descrizione: Un oggetto che definisce regole di riscrittura personalizzate. Se non fornito, assume come valore predefinito la proprietà routing.rewrite dalla configurazione del tuo progetto.
      • Tipo: RoutingConfig['rewrite']
      • Predefinito: configuration.routing.rewrite

    Restituisce

    • Tipo: string
    • Descrizione: Il percorso canonico interno.

    Esempio d'uso

    Uso base (con configurazione)

    Se hai configurato riscritture personalizzate nel tuo intlayer.config.ts:

    import { getCanonicalPath, Locales } from "intlayer";
    
    // Configurazione: { '/about': { en: '/about', fr: '/a-propos' } }
    getCanonicalPath("/a-propos", Locales.FRENCH);
    // Risultato: "/about"
    
    getCanonicalPath("/about", Locales.ENGLISH);
    // Risultato: "/about"

    Utilizzo con rotte dinamiche

    import { getCanonicalPath, Locales } from "intlayer";
    
    // Configurazione: { '/product/[id]': { en: '/product/[id]', fr: '/produit/[id]' } }
    getCanonicalPath("/produit/123", Locales.FRENCH);
    // Risultato: "/product/123"

    Regole di riscrittura manuali

    È inoltre possibile passare regole di riscrittura manuali alla funzione:

    import { getCanonicalPath, Locales } from "intlayer";
    
    const manualRules = {
      "/contact": {
        en: "/contact-us",
        fr: "/contactez-nous",
      },
    };
    
    getCanonicalPath("/contactez-nous", Locales.FRENCH, manualRules);
    // Risultato: "/contact"

    Funzioni correlate

    • getLocalizedPath: Risolve un percorso canonico nella sua equivalente localizzata.
    • getLocalizedUrl: Genera un URL completamente localizzato (incluso protocollo, host e prefisso della locale).