Documentación: Función getMultilingualUrls en intlayer
Descripción
La función getMultilingualUrls genera un mapeo de URLs multilingües al prefijar la URL proporcionada con cada localización soportada. Puede manejar tanto URLs absolutas como relativas, aplicando el prefijo de localización apropiado basado en la configuración proporcionada o los valores predeterminados.
Parámetros
url: string
- Descripción: La URL original en formato de cadena que será prefijada con localizaciones.
- Tipo: string
locales: Locales[]
- Descripción: Array opcional de localizaciones soportadas. Por defecto, utiliza las localizaciones configuradas en el proyecto.
- Tipo: Locales[]
- Predeterminado: localesDefault
defaultLocale: Locales
- Descripción: La localización predeterminada para la aplicación. Por defecto, utiliza la localización predeterminada configurada en el proyecto.
- Tipo: Locales
- Predeterminado: defaultLocaleDefault
prefixDefault: boolean
- Descripción: Indica si se debe prefijar la localización predeterminada. Por defecto, utiliza el valor configurado en el proyecto.
- Tipo: boolean
- Predeterminado: prefixDefaultDefault
Retorna
- Tipo: IConfigLocales<string>
- Descripción: Un objeto que mapea cada localización a su correspondiente URL multilingüe.
Ejemplo de Uso
URLs Relativas
import { getMultilingualUrls, Locales } from "intlayer";getMultilingualUrls( "/dashboard", [Locales.ENGLISH, Locales.FRENCH], Locales.ENGLISH, false);// Salida: {// en: "/dashboard",// fr: "/fr/dashboard"// }
URLs Absolutas
getMultilingualUrls( "https://example.com/dashboard", [Locales.ENGLISH, Locales.FRENCH], Locales.ENGLISH, true);// Salida: {// en: "https://example.com/en/dashboard",// fr: "https://example.com/fr/dashboard"// }
Casos Especiales
Sin Segmento de Localización:
- La función elimina cualquier segmento de localización existente de la URL antes de generar los mapeos multilingües.
Localización Predeterminada:
- Cuando prefixDefault es false, la función no prefija la URL para la localización predeterminada.
Localizaciones No Soportadas:
- Solo se consideran las localizaciones proporcionadas en el array locales para generar las URLs.
Uso en Aplicaciones
En una aplicación multilingüe, configurar los ajustes de internacionalización con locales y defaultLocale es crítico para garantizar que se muestre el idioma correcto. A continuación, se muestra un ejemplo de cómo se puede usar getMultilingualUrls en la configuración de una aplicación:
import { Locales, type IntlayerConfig } from "intlayer";// Configuración para localizaciones soportadas y localización predeterminadaexport default { internationalization: { locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH], defaultLocale: Locales.ENGLISH, },} satisfies IntlayerConfig;export default config;
La configuración anterior asegura que la aplicación reconozca ENGLISH, FRENCH y SPANISH como idiomas soportados y utilice ENGLISH como idioma de respaldo.
Usando esta configuración, la función getMultilingualUrls puede generar dinámicamente mapeos de URLs multilingües basados en las localizaciones soportadas por la aplicación:
getMultilingualUrls( "/dashboard", [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH], Locales.ENGLISH);// Salida:// {// en: "/dashboard",// fr: "/fr/dashboard",// es: "/es/dashboard"// }getMultilingualUrls( "https://example.com/dashboard", [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH], Locales.ENGLISH, true);// Salida:// {// en: "https://example.com/en/dashboard",// fr: "https://example.com/fr/dashboard",// es: "https://example.com/es/dashboard"// }
Al integrar getMultilingualUrls, los desarrolladores pueden mantener estructuras de URLs consistentes en múltiples idiomas, mejorando tanto la experiencia del usuario como el SEO.
Si tienes una idea para mejorar esta documentación, no dudes en contribuir enviando una pull request en GitHub.
Enlace de GitHub a la documentación