Creation:2026-01-22Last update:2026-01-22

    Documentación: función getCanonicalPath en intlayer

    Descripción

    La función getCanonicalPath resuelve una ruta URL localizada (p. ej., /a-propos) hacia su ruta canónica interna de la aplicación (p. ej., /about). Esto es esencial para que los routers emparejen la ruta interna correcta independientemente del idioma de la URL.

    Características clave:

    • Admite parámetros de rutas dinámicas usando la sintaxis [param].
    • Hace coincidir rutas localizadas con las reglas de reescritura personalizadas definidas en tu configuración.
    • Devuelve la ruta original si no se encuentra ninguna regla de reescritura que coincida.

    Firma de la función

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

    Parámetros

    Parámetros requeridos

    • localizedPath: string

      • Descripción: La ruta localizada tal como se ve en el navegador (p. ej., /a-propos).
      • Tipo: string
      • Obligatorio: Sí
    • locale: Locales

      • Descripción: La locale utilizada para la ruta que se está resolviendo.
      • Tipo: Locales
      • Obligatorio: Sí

    Parámetros Opcionales

    • rewriteRules?: RoutingConfig['rewrite']
      • Descripción: Un objeto que define reglas de reescritura personalizadas. Si no se proporciona, por defecto utiliza la propiedad routing.rewrite de la configuración de tu proyecto.
      • Tipo: RoutingConfig['rewrite']
      • Predeterminado: configuration.routing.rewrite

    Devuelve

    • Tipo: string
    • Descripción: La ruta canónica interna.

    Ejemplo de uso

    Uso básico (con configuración)

    Si has configurado reescrituras personalizadas en tu intlayer.config.ts:

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

    Uso con rutas dinámicas

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

    Reglas de reescritura manuales

    Puedes también pasar reglas de reescritura manuales a la función:

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

    Funciones relacionadas

    • getLocalizedPath: Resuelve una ruta canónica en su equivalente localizado.
    • getLocalizedUrl: Genera una URL completamente localizada (incluye protocolo, host y prefijo de locale).