Otrzymuj powiadomienia o nadchodzących wydaniach Intlayera
    Data utworzenia:2025-11-16Ostatnia aktualizacja:2025-11-16

    Dokumentacja: funkcja getPrefix w intlayer

    Opis

    Funkcja getPrefix określa prefiks URL dla podanego locale na podstawie konfiguracji trybu routingu. Porównuje locale z domyślnym locale i zwraca obiekt zawierający trzy różne formaty prefiksów dla elastycznego budowania URL.

    Kluczowe cechy:

    • Przyjmuje locale jako pierwszy parametr (wymagany)
    • Opcjonalny obiekt options z defaultLocale i mode
    • Zwraca obiekt z właściwościami prefix i localePrefix
    • Obsługuje wszystkie tryby routingu: prefix-no-default, prefix-all, no-prefix oraz search-params
    • Lekka funkcja pomocnicza do określania, kiedy dodać prefiksy locale

    Sygnatura funkcji

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

    Parametry

    • locale: Locales

      • Opis: Locale, dla którego generowany jest prefiks. Jeśli wartość jest fałszywa (undefined, null, pusty ciąg znaków), funkcja zwraca pusty ciąg znaków.
      • Typ: Locales
      • Wymagany: Tak
    • options?: object

      • Opis: Obiekt konfiguracyjny do określania prefiksu.
      • Typ: object
      • Wymagany: Nie (Opcjonalny)

      • options.defaultLocale?: Locales

        • Opis: Domyślne locale aplikacji. Jeśli nie zostanie podane, używane jest domyślne locale skonfigurowane w Twoim projekcie.
        • Typ: Locales
        • Domyślnie: Konfiguracja projektu
      • options.mode?: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'

        • Opis: Tryb routingu URL dla obsługi locale. Jeśli nie zostanie podany, używany jest tryb skonfigurowany w Twoim projekcie.
        • Typ: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'
        • Domyślnie: Konfiguracja projektu
        • Tryby:
          • prefix-no-default: Zwraca pusty ciąg, gdy locale odpowiada domyślnemu locale
          • prefix-all: Zwraca prefiks dla wszystkich locale, w tym domyślnego
          • no-prefix: Zwraca pusty ciąg (brak prefiksu w URL)
          • search-params: Zwraca pusty ciąg (locale w parametrach zapytania)

    Zwraca

    • Typ: GetPrefixResult
    • Opis: Obiekt zawierający trzy różne formaty prefiksu:
      • prefix: Prefiks ścieżki z ukośnikiem na końcu (np. 'fr/', '')
      • localePrefix: Identyfikator locale bez ukośników (np. 'fr', undefined)

    Przykład użycia

    Podstawowe użycie

    import { getPrefix, Locales } from "intlayer";// Sprawdź prefiks dla locale angielskiegogetPrefix(Locales.ENGLISH, {  defaultLocale: Locales.ENGLISH,  mode: "prefix-all",});// Zwraca: { prefix: 'en/', localePrefix: 'en' }// Sprawdź prefiks dla locale francuskiegogetPrefix(Locales.FRENCH, {  defaultLocale: Locales.ENGLISH,  mode: "prefix-no-default",});// Zwraca: { prefix: 'fr/', localePrefix: 'fr' }

    Różne tryby routingu

    import { getPrefix, Locales } from "intlayer";// prefix-all: Zawsze zwraca prefiksgetPrefix(Locales.ENGLISH, {  mode: "prefix-all",  defaultLocale: Locales.ENGLISH,});// Zwraca: { prefix: '/en', localePrefix: 'en' }// prefix-no-default: Brak prefiksu, gdy locale jest zgodne z domyślnymgetPrefix(Locales.ENGLISH, {  mode: "prefix-no-default",  defaultLocale: Locales.ENGLISH,});// Zwraca: { prefix: '', localePrefix: undefined }// prefix-no-default: Zwraca prefiks, gdy locale różni się od domyślnegogetPrefix(Locales.FRENCH, {  mode: "prefix-no-default",  defaultLocale: Locales.ENGLISH,});// Zwraca: { prefix: 'fr/', localePrefix: 'fr' }// no-prefix & search-params: Nigdy nie zwraca prefiksugetPrefix(Locales.ENGLISH, { mode: "no-prefix" });// Zwraca: { prefix: '', localePrefix: undefined }getPrefix(Locales.ENGLISH, { mode: "search-params" });// Zwraca: { prefix: '', localePrefix: undefined }

    Praktyczny przykład

    import { getPrefix, Locales } from "intlayer";// Budowanie URL z odpowiednim prefiksem dla konkretnego localeconst locale = Locales.FRENCH;const { prefix, localePrefix } = getPrefix(locale, {  defaultLocale: Locales.ENGLISH,  mode: "prefix-no-default",});// Używanie prefiksu do konstrukcji ścieżkiconst url1 = `/${prefix}about`.replace(/\/+/g, "/");// Wynik: "/fr/about"// Używanie localePrefix do identyfikacji localeconsole.log(`Aktualne locale: ${localePrefix}`);// Wyjście: "Aktualne locale: fr"

    Powiązane funkcje


    TypeScript

    type GetPrefixResult = {  prefix: string; // Prefiks ścieżki z końcowym ukośnikiem (np. 'fr/' lub '')  localePrefix?: Locale; // Identyfikator locale bez ukośników (np. 'fr' lub undefined)};function getPrefix(  locale: Locales,  options?: {    defaultLocale?: Locales;    mode?: "prefix-no-default" | "prefix-all" | "no-prefix" | "search-params";  }): GetPrefixResult;
    Otrzymuj powiadomienia o nadchodzących wydaniach Intlayera