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

    typescript
    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

    typescript
    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

    typescript
    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 :

    tsx
    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 :

    typescript
    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