Haz tu pregunta y obtén un resumen del documento referenciando esta página y el proveedor AI de tu elección
Historial de versiones
- "Documentación inicial"v7.1.016/11/2025
El contenido de esta página ha sido traducido con una IA.
Ver la última versión del contenido original en inglésIf 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
Documentación: Función getPrefix en intlayer
Descripción
La función getPrefix determina el prefijo de URL para un locale dado basado en la configuración del modo de enrutamiento. Compara el locale con el locale por defecto y devuelve un objeto que contiene tres formatos diferentes de prefijo para una construcción flexible de URLs.
Características clave:
- Toma un locale como primer parámetro (requerido)
- Objeto
optionsopcional condefaultLocaleymode - Devuelve un objeto con las propiedades
prefixylocalePrefix - Soporta todos los modos de enrutamiento:
prefix-no-default,prefix-all,no-prefixysearch-params - Utilidad ligera para determinar cuándo agregar prefijos de locale
Firma de la función
Copiar el código al portapapeles
getPrefix( locale: Locales, // Requerido options?: { // Opcional defaultLocale?: Locales; mode?: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'; }): GetPrefixResulttype GetPrefixResult = { prefix: string; // p. ej., 'fr/' o '' localePrefix?: Locale; // p. ej., 'fr' o undefined}Parámetros
locale: Locales- Descripción: El locale para el cual se generará el prefijo. Si el valor es falsy (undefined, null, cadena vacía), la función devuelve una cadena vacía.
- Tipo:
Locales - Requerido: Sí
options?: object- Descripción: Objeto de configuración para la determinación del prefijo.
- Tipo:
object Requerido: No (Opcional)
options.defaultLocale?: Locales- Descripción: El locale por defecto para la aplicación. Si no se proporciona, se usa el locale por defecto configurado en la configuración de tu proyecto.
- Tipo:
Locales - Por defecto:
Configuración del Proyecto
options.mode?: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'- Descripción: El modo de enrutamiento de URL para el manejo del locale. Si no se proporciona, usa el modo configurado en la configuración de tu proyecto.
- Tipo:
'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params' - Por defecto:
Configuración del Proyecto - Modos:
prefix-no-default: Devuelve cadenas vacías cuando el locale coincide con el locale por defectoprefix-all: Devuelve prefijo para todos los locales incluyendo el por defectono-prefix: Devuelve cadenas vacías (sin prefijo en las URLs)search-params: Devuelve cadenas vacías (locale en parámetros de consulta)
Retorna
- Tipo:
GetPrefixResult - Descripción: Un objeto que contiene tres formatos diferentes de prefijo:
prefix: El prefijo de la ruta con barra diagonal al final (por ejemplo,'fr/','')localePrefix: El identificador del locale sin barras diagonales (por ejemplo,'fr',undefined)
Ejemplo de Uso
Uso Básico
Copiar el código al portapapeles
import { getPrefix, Locales } from "intlayer";
// Verificar prefijo para el locale inglés
getPrefix(Locales.ENGLISH, {
defaultLocale: Locales.ENGLISH,
mode: "prefix-all",
});
// Devuelve: { prefix: 'en/', localePrefix: 'en' }
// Verificar prefijo para el locale francés
getPrefix(Locales.FRENCH, {
defaultLocale: Locales.ENGLISH,
mode: "prefix-no-default",
});
// Devuelve: { prefix: 'fr/', localePrefix: 'fr' }Modos Diferentes de Enrutamiento
Copiar el código al portapapeles
import { getPrefix, Locales } from "intlayer";// prefix-all: Siempre devuelve el prefijogetPrefix(Locales.ENGLISH, { mode: "prefix-all", defaultLocale: Locales.ENGLISH,});// Devuelve: { prefix: '/en', localePrefix: 'en' }// prefix-no-default: No hay prefijo cuando el locale coincide con el predeterminadogetPrefix(Locales.ENGLISH, { mode: "prefix-no-default", defaultLocale: Locales.ENGLISH,});// Devuelve: { prefix: '', localePrefix: undefined }// prefix-no-default: Devuelve el prefijo cuando el locale difiere del predeterminadogetPrefix(Locales.FRENCH, { mode: "prefix-no-default", defaultLocale: Locales.ENGLISH,});// Devuelve: { prefix: 'fr/', localePrefix: 'fr' }// no-prefix & search-params: Nunca devuelve prefijogetPrefix(Locales.ENGLISH, { mode: "no-prefix" });// Devuelve: { prefix: '', localePrefix: undefined }getPrefix(Locales.ENGLISH, { mode: "search-params" });// Devuelve: { prefix: '', localePrefix: undefined }Ejemplo Práctico
Copiar el código al portapapeles
import { getPrefix, Locales } from "intlayer";// Construir URLs con el prefijo apropiado para un locale específicoconst locale = Locales.FRENCH;const { prefix, localePrefix } = getPrefix(locale, { defaultLocale: Locales.ENGLISH, mode: "prefix-no-default",});// Usando prefix para la construcción de rutasconst url1 = `/${prefix}about`.replace(/\/+/g, "/");// Resultado: "/fr/about"// Usando localePrefix para la identificación del localeconsole.log(`Current locale: ${localePrefix}`);// Salida: "Current locale: fr"Funciones Relacionadas
getLocalizedUrl: Genera una URL localizada para un locale específicogetMultilingualUrls: Genera URLs para todos los locales configurados
TypeScript
Copiar el código al portapapeles
type GetPrefixResult = { prefix: string; // El prefijo de la ruta con barra final (ej., 'fr/' o '') localePrefix?: Locale; // El identificador de locale sin barras (por ejemplo, 'fr' o indefinido)};function getPrefix( locale: Locales, options?: { defaultLocale?: Locales; mode?: "prefix-no-default" | "prefix-all" | "no-prefix" | "search-params"; }): GetPrefixResult;