Recevez des notifications en avant-première sur les prochains lancements de Intlayer
    Création:2025-11-16Dernière mise à jour:2025-11-16

    Documentation : Fonction getPrefix dans intlayer

    Description

    La fonction getPrefix détermine le préfixe d’URL pour une locale donnée en fonction de la configuration du mode de routage. Elle compare la locale avec la locale par défaut et retourne un objet contenant trois formats de préfixe différents pour une construction flexible des URL.

    Fonctionnalités clés :

    • Prend une locale en premier paramètre (obligatoire)
    • Objet options optionnel avec defaultLocale et mode
    • Retourne un objet avec les propriétés prefix et localePrefix
    • Supporte tous les modes de routage : prefix-no-default, prefix-all, no-prefix et search-params
    • Utilitaire léger pour déterminer quand ajouter les préfixes de locale

    Signature de la fonction

    getPrefix(  locale: Locales,               // Obligatoire  options?: {                    // Optionnel    defaultLocale?: Locales;    mode?: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params';  }): GetPrefixResulttype GetPrefixResult = {  prefix: string;   // ex. : 'fr/' ou ''  localePrefix?: Locale; // ex. : 'fr' ou undefined}

    Paramètres

    • locale: Locales

      • Description : La locale pour laquelle générer le préfixe. Si la valeur est falsy (undefined, null, chaîne vide), la fonction retourne une chaîne vide.
      • Type : Locales
      • Obligatoire : Oui
    • options?: object

      • Description : Objet de configuration pour la détermination du préfixe.
      • Type : object
      • Obligatoire : Non (Optionnel)

      • options.defaultLocale?: Locales

        • Description : La locale par défaut de l'application. Si non fournie, utilise la locale par défaut configurée dans la configuration de votre projet.
        • Type : Locales
        • Défaut : Configuration du projet
      • options.mode?: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'

        • Description : Le mode de routage URL pour la gestion des locales. Si non fourni, utilise le mode configuré dans la configuration de votre projet.
        • Type : 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'
        • Défaut : Configuration du projet
        • Modes :
          • prefix-no-default : Retourne des chaînes vides lorsque la locale correspond à la locale par défaut
          • prefix-all : Retourne un préfixe pour toutes les locales, y compris la locale par défaut
          • no-prefix : Retourne des chaînes vides (pas de préfixe dans les URLs)
          • search-params : Retourne des chaînes vides (locale dans les paramètres de requête)

    Retourne

    • Type : GetPrefixResult
    • Description : Un objet contenant trois formats de préfixes différents :
      • prefix : Le préfixe de chemin avec une barre oblique finale (par exemple, 'fr/', '')
      • localePrefix : L'identifiant de la locale sans barres obliques (par exemple, 'fr', undefined)

    Exemple d'utilisation

    Utilisation basique

    import { getPrefix, Locales } from "intlayer";// Vérifier le préfixe pour la locale anglaisegetPrefix(Locales.ENGLISH, {  defaultLocale: Locales.ENGLISH,  mode: "prefix-all",});// Retourne : { prefix: 'en/', localePrefix: 'en' }// Vérifier le préfixe pour la locale françaisegetPrefix(Locales.FRENCH, {  defaultLocale: Locales.ENGLISH,  mode: "prefix-no-default",});// Retourne : { prefix: 'fr/', localePrefix: 'fr' }

    Différents modes de routage

    import { getPrefix, Locales } from "intlayer";// prefix-all : Retourne toujours un préfixegetPrefix(Locales.ENGLISH, {  mode: "prefix-all",  defaultLocale: Locales.ENGLISH,});// Retourne : { prefix: '/en', localePrefix: 'en' }// prefix-no-default : Pas de préfixe lorsque la locale correspond à la locale par défautgetPrefix(Locales.ENGLISH, {  mode: "prefix-no-default",  defaultLocale: Locales.ENGLISH,});// Retourne : { prefix: '', localePrefix: undefined }// prefix-no-default : Retourne un préfixe lorsque la locale diffère de la locale par défautgetPrefix(Locales.FRENCH, {  mode: "prefix-no-default",  defaultLocale: Locales.ENGLISH,});// Retourne : { prefix: 'fr/', localePrefix: 'fr' }// no-prefix & search-params : Ne retourne jamais de préfixegetPrefix(Locales.ENGLISH, { mode: "no-prefix" });// Retourne : { prefix: '', localePrefix: undefined }getPrefix(Locales.ENGLISH, { mode: "search-params" });// Retourne : { prefix: '', localePrefix: undefined }

    Exemple pratique

    import { getPrefix, Locales } from "intlayer";// Construire des URLs avec le préfixe approprié pour une locale spécifiqueconst locale = Locales.FRENCH;const { prefix, localePrefix } = getPrefix(locale, {  defaultLocale: Locales.ENGLISH,  mode: "prefix-no-default",});// // Utilisation du préfixe pour la construction du cheminconst url1 = `/${prefix}about`.replace(/\/+/g, "/");// Résultat : "/fr/about"// Utilisation de localePrefix pour l'identification de la localeconsole.log(`Locale actuelle : ${localePrefix}`);// Sortie : "Locale actuelle : fr"

    Fonctions associées


    TypeScript

    type GetPrefixResult = {  prefix: string; // Le préfixe de chemin avec une barre oblique finale (ex. : 'fr/' ou '')  localePrefix?: Locale; // L'identifiant de la locale sans slash (par exemple, 'fr' ou undefined)};function getPrefix(  locale: Locales,  options?: {    defaultLocale?: Locales;    mode?: "prefix-no-default" | "prefix-all" | "no-prefix" | "search-params";  }): GetPrefixResult;
    Recevez des notifications en avant-première sur les prochains lancements de Intlayer