Posez votre question et obtenez un résumé du document en referencant cette page et le Provider AI de votre choix
Historique des versions
- "Documentation initiale"v7.1.016/11/2025
Le contenu de cette page a été traduit à l'aide d'une IA.
Voir la dernière version du contenu original en anglaisIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
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
optionsoptionnel avecdefaultLocaleetmode - Retourne un objet avec les propriétés
prefixetlocalePrefix - Supporte tous les modes de routage :
prefix-no-default,prefix-all,no-prefixetsearch-params - Utilitaire léger pour déterminer quand ajouter les préfixes de locale
Signature de la fonction
Copier le code dans le presse-papiers
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éfautprefix-all: Retourne un préfixe pour toutes les locales, y compris la locale par défautno-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
Copier le code dans le presse-papiers
import { getPrefix, Locales } from "intlayer";
// Vérifier le préfixe pour la locale anglaise
getPrefix(Locales.ENGLISH, {
defaultLocale: Locales.ENGLISH,
mode: "prefix-all",
});
// Retourne : { prefix: 'en/', localePrefix: 'en' }
// Vérifier le préfixe pour la locale française
getPrefix(Locales.FRENCH, {
defaultLocale: Locales.ENGLISH,
mode: "prefix-no-default",
});
// Retourne : { prefix: 'fr/', localePrefix: 'fr' }Différents modes de routage
Copier le code dans le presse-papiers
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
Copier le code dans le presse-papiers
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
getLocalizedUrl: Génère une URL localisée pour une locale spécifiquegetMultilingualUrls: Génère des URLs pour toutes les locales configurées
TypeScript
Copier le code dans le presse-papiers
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;