Data utworzenia:2026-01-22Ostatnia aktualizacja:2026-01-22

    Dokumentacja: funkcja getCanonicalPath w intlayer

    Opis

    Funkcja getCanonicalPath zamienia zlokalizowaną ścieżkę URL (np. /a-propos) na jej wewnętrzną kanoniczną ścieżkę aplikacji (np. /about). Jest to niezbędne, aby routery mogły dopasować poprawną wewnętrzną trasę niezależnie od języka w URL.

    Kluczowe cechy:

    • Obsługuje dynamiczne parametry trasy przy użyciu składni [param].
    • Porównuje zlokalizowane ścieżki z niestandardowymi regułami przepisywania (rewrite) zdefiniowanymi w Twojej konfiguracji.
    • Zwraca oryginalną ścieżkę, jeśli nie znaleziono pasującej reguły przepisywania.

    Sygnatura funkcji

    typescript
    getCanonicalPath(  localizedPath: string,         // Wymagane  locale: Locales,               // Wymagane  rewriteRules?: RoutingConfig['rewrite'] // Opcjonalne): string

    Parametry

    Wymagane parametry

    • localizedPath: string

      • Opis: Zlokalizowana ścieżka widoczna w przeglądarce (np. /a-propos).
      • Typ: string
      • Wymagane: Tak
    • locale: Locales

      • Opis: Locale używany dla rozwiązywanej ścieżki.
      • Typ: Locales
      • Wymagane: Tak

    Parametry opcjonalne

    • rewriteRules?: RoutingConfig['rewrite']
      • Opis: Obiekt definiujący niestandardowe reguły przepisywania. Jeśli nie zostanie podany, domyślnie używana jest właściwość routing.rewrite z konfiguracji Twojego projektu.
      • Typ: RoutingConfig['rewrite']
      • Domyślnie: configuration.routing.rewrite

    Zwraca

    • Typ: string
    • Opis: Wewnętrzna kanoniczna ścieżka.

    Przykład użycia

    Podstawowe użycie (z konfiguracją)

    Jeśli skonfigurowałeś niestandardowe reguły rewrite w swoim intlayer.config.ts:

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

    Użycie tras dynamicznych

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

    Ręczne reguły przepisywania

    Możesz również przekazać ręczne reguły przepisywania do funkcji:

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

    Powiązane funkcje

    • getLocalizedPath: Mapuje kanoniczną ścieżkę na jej zlokalizowany odpowiednik.
    • getLocalizedUrl: Generuje w pełni zlokalizowany URL (łącznie z protokołem, hostem i prefiksem lokalizacji).