Ricevi notifiche sui prossimi lanci di Intlayer
    Creazione:2025-11-16Ultimo aggiornamento:2025-11-16

    Documentazione: Funzione getPrefix in intlayer

    Descrizione

    La funzione getPrefix determina il prefisso URL per una data locale basandosi sulla configurazione della modalità di routing. Confronta la locale con la locale predefinita e restituisce un oggetto contenente tre diversi formati di prefisso per una costruzione flessibile degli URL.

    Caratteristiche principali:

    • Prende una locale come primo parametro (obbligatorio)
    • Oggetto options opzionale con defaultLocale e mode
    • Restituisce un oggetto con le proprietà prefix e localePrefix
    • Supporta tutte le modalità di routing: prefix-no-default, prefix-all, no-prefix e search-params
    • Utility leggera per determinare quando aggiungere i prefissi di locale

    Firma della funzione

    getPrefix(  locale: Locales,               // Obbligatorio  options?: {                    // Opzionale    defaultLocale?: Locales;    mode?: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params';  }): GetPrefixResulttype GetPrefixResult = {  prefix: string;   // es. 'fr/' o ''  localePrefix?: Locale; // es. 'fr' o undefined}

    Parametri

    • locale: Locales

      • Descrizione: La locale per cui generare il prefisso. Se il valore è falsy (undefined, null, stringa vuota), la funzione restituisce una stringa vuota.
      • Tipo: Locales
      • Obbligatorio: Sì
    • options?: object

      • Descrizione: Oggetto di configurazione per la determinazione del prefisso.
      • Tipo: object
      • Obbligatorio: No (Opzionale)

      • options.defaultLocale?: Locales

        • Descrizione: La locale predefinita per l'applicazione. Se non fornita, utilizza la locale predefinita configurata nel progetto.
        • Tipo: Locales
        • Predefinito: Configurazione del Progetto
      • options.mode?: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'

        • Descrizione: La modalità di routing URL per la gestione della locale. Se non fornita, utilizza la modalità configurata nella configurazione del progetto.
        • Tipo: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'
        • Predefinito: Configurazione del Progetto
        • Modalità:
          • prefix-no-default: Restituisce stringhe vuote quando la locale corrisponde alla locale predefinita
          • prefix-all: Restituisce il prefisso per tutte le località, inclusa quella predefinita
          • no-prefix: Restituisce stringhe vuote (nessun prefisso negli URL)
          • search-params: Restituisce stringhe vuote (locale nei parametri di query)

    Ritorna

    • Tipo: GetPrefixResult
    • Descrizione: Un oggetto contenente tre diversi formati di prefisso:
      • prefix: Il prefisso del percorso con slash finale (es. 'fr/', '')
      • localePrefix: L'identificatore della locale senza slash (es. 'fr', undefined)

    Esempio di Utilizzo

    Utilizzo Base

    import { getPrefix, Locales } from "intlayer";// Controlla il prefisso per la locale inglesegetPrefix(Locales.ENGLISH, {  defaultLocale: Locales.ENGLISH,  mode: "prefix-all",});// Restituisce: { prefix: 'en/', localePrefix: 'en' }// Controlla il prefisso per la locale francesegetPrefix(Locales.FRENCH, {  defaultLocale: Locales.ENGLISH,  mode: "prefix-no-default",});// Restituisce: { prefix: 'fr/', localePrefix: 'fr' }

    Modalità di Routing Differenti

    import { getPrefix, Locales } from "intlayer";// prefix-all: Restituisce sempre il prefissogetPrefix(Locales.ENGLISH, {  mode: "prefix-all",  defaultLocale: Locales.ENGLISH,});// Restituisce: { prefix: '/en', localePrefix: 'en' }// prefix-no-default: Nessun prefisso quando la locale corrisponde a quella di defaultgetPrefix(Locales.ENGLISH, {  mode: "prefix-no-default",  defaultLocale: Locales.ENGLISH,});// Restituisce: { prefix: '', localePrefix: undefined }// prefix-no-default: Restituisce il prefisso quando la locale è diversa da quella predefinitagetPrefix(Locales.FRENCH, {  mode: "prefix-no-default",  defaultLocale: Locales.ENGLISH,});// Restituisce: { prefix: 'fr/', localePrefix: 'fr' }// no-prefix & search-params: Non restituisce mai il prefissogetPrefix(Locales.ENGLISH, { mode: "no-prefix" });// Restituisce: { prefix: '', localePrefix: undefined }getPrefix(Locales.ENGLISH, { mode: "search-params" });// Restituisce: { prefix: '', localePrefix: undefined }

    Esempio Pratico

    import { getPrefix, Locales } from "intlayer";// Costruisci URL con il prefisso appropriato per una specifica localeconst locale = Locales.FRENCH;const { prefix, localePrefix } = getPrefix(locale, {  defaultLocale: Locales.ENGLISH,  mode: "prefix-no-default",});// Utilizzo del prefisso per la costruzione del percorsoconst url1 = `/${prefix}about`.replace(/\/+/g, "/");// Risultato: "/fr/about"// Utilizzo di localePrefix per l'identificazione della localeconsole.log(`Current locale: ${localePrefix}`);// Output: "Current locale: fr"

    Funzioni Correlate


    TypeScript

    type GetPrefixResult = {  prefix: string; // Il prefisso del percorso con slash finale (es. 'fr/' o '')  localePrefix?: Locale; // L'identificatore della locale senza slash (es. 'fr' o undefined)};function getPrefix(  locale: Locales,  options?: {    defaultLocale?: Locales;    mode?: "prefix-no-default" | "prefix-all" | "no-prefix" | "search-params";  }): GetPrefixResult;
    Ricevi notifiche sui prossimi lanci di Intlayer