Documentation: getLocalizedUrl Function in intlayer
Description
La fonction getLocalizedUrl génère une URL localisée en préfixant l'URL donnée avec la locale spécifiée. Elle gère à la fois les URL absolues et relatives, en veillant à ce que le préfixe de locale correct soit appliqué en fonction de la configuration.
Parameters
url: string
- Description: La chaîne d'URL d'origine à préfixer avec une locale.
- Type: string
currentLocale: Locales
- Description: La locale actuelle pour laquelle l'URL est localisée.
- Type: Locales
locales: Locales[]
- Description: Tableau optionnel de locales supportées. Par défaut, les locales configurées dans le projet sont fournies.
- Type: Locales[]
- Default: Project Configuration
defaultLocale: Locales
- Description: La locale par défaut pour l'application. Par défaut, la locale par défaut configurée dans le projet est fournie.
- Type: Locales
- Default: Project Configuration
prefixDefault: boolean
- Description: Indique s'il faut préfixer l'URL pour la locale par défaut. Par défaut, la valeur configurée dans le projet est fournie.
- Type: boolean
- Default: Project Configuration
Returns
- Type: string
- Description: L'URL localisée pour la locale spécifiée.
Example Usage
Relative URLs
import { getLocalizedUrl, Locales } from "intlayer";getLocalizedUrl( "/about", Locales.FRENCH, [Locales.ENGLISH, Locales.FRENCH], Locales.ENGLISH, false);// Sortie: "/fr/about" pour la locale française// Sortie: "/about" pour la locale par défaut (anglais)
Absolute URLs
getLocalizedUrl( "https://example.com/about", Locales.FRENCH, // Locale actuelle [Locales.ENGLISH, Locales.FRENCH], // Locales supportées Locales.ENGLISH, // Locale par défaut false // Préfixe pour la locale par défaut); // Sortie: "https://example.com/fr/about" pour la françaisegetLocalizedUrl( "https://example.com/about", Locales.ENGLISH, // Locale actuelle [Locales.ENGLISH, Locales.FRENCH], // Locales supportées Locales.ENGLISH, // Locale par défaut false // Préfixe pour la locale par défaut); // Sortie: "https://example.com/about" pour l'anglaisgetLocalizedUrl( "https://example.com/about", Locales.ENGLISH, // Locale actuelle [Locales.ENGLISH, Locales.FRENCH], // Locales supportées Locales.ENGLISH, // Locale par défaut true // Préfixe pour la locale par défaut); // Sortie: "https://example.com/en/about" pour l'anglais
Unsupported Locale
getLocalizedUrl( "/about", Locales.ITALIAN, // Locale actuelle [Locales.ENGLISH, Locales.FRENCH], // Locales supportées Locales.ENGLISH // Locale par défaut); // Sortie: "/about" (aucun préfixe appliqué pour la locale non supportée)
Edge Cases
Aucun segment de locale:
- Si l'URL ne contient aucun segment de locale, la fonction préfixe en toute sécurité la locale appropriée.
Locale par défaut:
- Lorsque prefixDefault est false, la fonction ne préfixe pas l'URL pour la locale par défaut.
Locales non supportées:
- Pour les locales non listées dans locales, la fonction n'applique aucun préfixe.
Usage in Applications
Dans une application multilingue, configurer les paramètres de l'internationalisation avec locales et defaultLocale est essentiel pour s'assurer que la bonne langue est affichée. Ci-dessous un exemple de la façon dont getLocalizedUrl peut être utilisé dans une configuration d'application :
import { Locales, type IntlayerConfig } from "intlayer";// Configuration pour les locales supportées et la locale par défautexport default { internationalization: { locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH], defaultLocale: Locales.ENGLISH, },} satisfies IntlayerConfig;export default config;
La configuration ci-dessus garantit que l'application reconnaît ENGLISH, FRENCH, et SPANISH comme langues supportées et utilise ENGLISH comme langue de secours.
En utilisant cette configuration, la fonction getLocalizedUrl peut générer dynamiquement des URL localisées en fonction de la préférence linguistique de l'utilisateur :
getLocalizedUrl("/about", Locales.FRENCH); // Sortie: "/fr/about"getLocalizedUrl("/about", Locales.SPANISH); // Sortie: "/es/about"getLocalizedUrl("/about", Locales.ENGLISH); // Sortie: "/about"
En intégrant getLocalizedUrl, les développeurs peuvent maintenir des structures d'URL cohérentes à travers plusieurs langues, améliorant à la fois l'expérience utilisateur et le SEO.
Si vous avez une idée d’amélioration pour améliorer cette documentation, n’hésitez pas à contribuer en submitant une pull request sur GitHub.
Lien GitHub de la documentation