Создание:2026-01-22Последнее обновление:2026-01-22

    Документация: функция getLocalizedPath в intlayer

    Описание

    Функция getLocalizedPath преобразует канонический путь (внутренний путь приложения) в его локализованный эквивалент на основе указанной локали и правил перезаписи. Она особенно полезна для генерации SEO-дружественных URL, которые различаются по языку.

    Ключевые возможности:

    • Поддерживает динамические параметры маршрута, использующие синтаксис [param].
    • Разрешает пути в соответствии с пользовательскими правилами перезаписи, определёнными в вашей конфигурации.
    • Автоматически выполняет откат к каноническому пути, если для указанной локали не найдено правило перезаписи.

    Сигнатура функции

    getLocalizedPath(
      canonicalPath: string,         // Обязательно
      locale: Locales,               // Обязательно
      rewriteRules?: RoutingConfig['rewrite'] // Необязательно
    ): string

    Параметры

    Обязательные параметры

    • canonicalPath: string

      • Описание: Внутренний путь приложения (например, /about, /product/[id]).
      • Тип: string
      • Обязательный: Да
    • locale: Locales

      • Описание: Целевая локаль, для которой должен быть локализован путь.
      • Тип: Locales
      • Обязательный: Да

    Необязательные параметры

    • rewriteRules?: RoutingConfig['rewrite']
      • Описание: Объект, определяющий пользовательские правила перезаписи. Если не указан, по умолчанию используется свойство routing.rewrite из конфигурации проекта.
      • Тип: RoutingConfig['rewrite']
      • По умолчанию: configuration.routing.rewrite

    Возвращаемое значение

    • Тип: string
    • Описание: Локализованный путь для указанной локали.

    Пример использования

    Базовое использование (с конфигурацией)

    Если вы настроили пользовательские правила перезаписи в intlayer.config.ts:

    import { getLocalizedPath, Locales } from "intlayer";
    
    // Configuration: { '/about': { en: '/about', fr: '/a-propos' } }
    getLocalizedPath("/about", Locales.FRENCH);
    // Output: "/a-propos"
    
    getLocalizedPath("/about", Locales.ENGLISH);
    // Output: "/about"

    Использование с динамическими маршрутами

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

    Ручные правила перезаписи

    Вы также можете передать ручные правила перезаписи в функцию:

    import { getLocalizedPath, Locales } from "intlayer";
    
    const manualRules = {
      "/contact": {
        en: "/contact-us",
        fr: "/contactez-nous",
      },
    };
    
    getLocalizedPath("/contact", Locales.FRENCH, manualRules);
    // Вывод: "/contactez-nous"

    Связанные функции

    • getCanonicalPath: Преобразует локализованный путь обратно во внутренний канонический путь.
    • getLocalizedUrl: Генерирует полностью локализованный URL (включая протокол, хост и префикс локали).