Posez votre question et obtenez un résumé du document en referencant cette page et le Provider AI de votre choix
Ce document n'est pas à jour, la version de base a été mise à jour le 16 novembre 2025.
Aller à la doc anglaiseHistorique des versions
- "Historique initial"v5.5.1029/06/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 getLocalizedUrl dans 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 URLs absolues et relatives, en s'assurant que le bon préfixe de locale est appliqué en fonction de la configuration.
Caractéristiques principales :
- Seulement 2 paramètres sont requis :
urletcurrentLocale - Objet
optionsoptionnel aveclocales,defaultLocale, etmode - Utilise la configuration d'internationalisation de votre projet comme valeurs par défaut
- Peut être utilisé avec des paramètres minimaux pour les cas simples ou entièrement personnalisé pour les scénarios complexes
- Supporte plusieurs modes de routage :
prefix-no-default,prefix-all,no-prefix, etsearch-params
Signature de fonction
Copier le code dans le presse-papiers
getLocalizedUrl( url: string, // Requis currentLocale: Locales, // Requis options?: { // Optionnel locales?: Locales[]; defaultLocale?: Locales; mode?: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'; }): stringParamètres
Paramètres obligatoires
url: string- Description: La chaîne d'URL originale à préfixer avec une locale.
- Type:
string - Required: Yes
currentLocale: Locales- Description: La locale actuelle pour laquelle l'URL est localisée.
- Type:
Locales - Required: Yes
Paramètres Optionnels
options?: object- Description: Objet de configuration pour le comportement de localisation des URL.
- Type:
object Required: Non (Optionnel)
options.locales?: Locales[]- Description: Tableau des locales supportées. Si non fourni, utilise les locales configurées dans la configuration de votre projet.
- Type:
Locales[] - Default:
Project Configuration
options.defaultLocale?: Locales- Description: La locale par défaut pour l'application. Si non fournie, utilise la locale par défaut configurée dans la configuration de votre projet.
- Type:
Locales - Default:
Project Configuration
options.mode?: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'- Description: Le mode de routage des 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' - Default:
Project Configuration - Modes:
prefix-no-default: Aucun préfixe pour la locale par défaut, préfixe pour toutes les autresprefix-all: Préfixe pour toutes les locales, y compris la locale par défautno-prefix: Aucun préfixe de locale dans l'URLsearch-params: Utiliser les paramètres de requête pour la locale (par ex.,?locale=fr)
Retour
- Type :
string - Description : L'URL localisée pour la locale spécifiée.
Exemple d'utilisation
Utilisation basique (Paramètres obligatoires uniquement)
Lorsque vous avez configuré votre projet avec les paramètres d'internationalisation, vous pouvez utiliser la fonction avec juste les paramètres obligatoires :
Copier le code dans le presse-papiers
import { getLocalizedUrl, Locales } from "intlayer";
// Utilise la configuration de votre projet pour les locales, defaultLocale et mode
getLocalizedUrl("/about", Locales.FRENCH);
// Output: "/fr/about" (en supposant que le français est supporté et que le mode est 'prefix-no-default')
getLocalizedUrl("/about", Locales.ENGLISH);
// Output: "/about" ou "/en/about" (en fonction de votre paramètre de mode)Utilisation avancée (avec paramètres optionnels)
Vous pouvez remplacer la configuration par défaut en fournissant le paramètre optionnel options :
URLs relatives
Copier le code dans le presse-papiers
import { getLocalizedUrl, Locales } from "intlayer";
getLocalizedUrl(
"/about",
Locales.FRENCH,
[Locales.ENGLISH, Locales.FRENCH],
Locales.ENGLISH,
false
);
// Résultat : "/fr/about" pour la locale française
// Résultat : "/about" pour la locale par défaut (anglais)Remplacement Partiel de la Configuration
Vous pouvez également fournir uniquement certains paramètres optionnels. La fonction utilisera la configuration de votre projet pour tous les paramètres que vous ne spécifiez pas :
Copier le code dans le presse-papiers
import { getLocalizedUrl, Locales } from "intlayer";// Remplacer uniquement les locales, utiliser la config du projet pour defaultLocale et modegetLocalizedUrl("/about", Locales.SPANISH, { locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],});// Remplacer uniquement le mode, utiliser la config du projet pour locales et defaultLocalegetLocalizedUrl("/about", Locales.ENGLISH, { mode: "prefix-all", // Forcer le préfixe pour toutes les locales y compris la locale par défaut});// Remplacer plusieurs optionsgetLocalizedUrl("/about", Locales.FRENCH, { defaultLocale: Locales.ENGLISH, mode: "search-params", // Utiliser les paramètres de requête : /about?locale=fr});URLs absolues
Copier le code dans le presse-papiers
getLocalizedUrl( "https://example.com/about", Locales.FRENCH, // Locale actuelle [Locales.ENGLISH, Locales.FRENCH], // Locales supportées Locales.ENGLISH, // Locale par défaut false // Préfixer la locale par défaut); // Résultat : "https://example.com/fr/about" pour le françaisgetLocalizedUrl( "https://example.com/about", Locales.ENGLISH, // Locale actuelle [Locales.ENGLISH, Locales.FRENCH], // Locales supportées Locales.ENGLISH, // Locale par défaut false // Préfixer la locale par défaut); // Résultat : "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éfixer la locale par défaut); // Résultat : "https://example.com/en/about" pour l'anglaisLocale non prise en charge
Copier le code dans le presse-papiers
getLocalizedUrl( "/about", Locales.ITALIAN, // Locale actuelle [Locales.ENGLISH, Locales.FRENCH], // Locales supportées Locales.ENGLISH // Locale par défaut); // Résultat : "/about" (aucun préfixe appliqué pour une locale non supportée)Cas particuliers
Pas de 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
prefixDefaultestfalse, la fonction ne préfixe pas l'URL pour la locale par défaut.
- Lorsque
Locales non supportées :
- Pour les locales non listées dans
locales, la fonction n'applique aucun préfixe.
- Pour les locales non listées dans
Utilisation dans les applications
Dans une application multilingue, configurer les paramètres d'internationalisation avec locales et defaultLocale est essentiel pour garantir que la langue correcte soit affichée. Voici un exemple de la manière dont getLocalizedUrl peut être utilisé dans la configuration d'une application :
Copier le code dans le presse-papiers
import { Locales, type IntlayerConfig } from "intlayer";
// Configuration des locales supportées et de la locale par défaut
export 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 repli.
En utilisant cette configuration, la fonction getLocalizedUrl peut générer dynamiquement des URLs localisées en fonction de la préférence linguistique de l'utilisateur :
Copier le code dans le presse-papiers
getLocalizedUrl("/about", Locales.FRENCH); // Résultat : "/fr/about"getLocalizedUrl("/about", Locales.SPANISH); // Résultat : "/es/about"getLocalizedUrl("/about", Locales.ENGLISH); // Résultat : "/about"En intégrant getLocalizedUrl, les développeurs peuvent maintenir des structures d'URL cohérentes à travers plusieurs langues, améliorant ainsi l'expérience utilisateur et le référencement SEO.