Haz tu pregunta y obtén un resumen del documento referenciando esta página y el proveedor AI de tu elección
Al integrar el servidor MCP Intlayer a tu asistente de IA, puedes recuperar todos los documentos directamente desde ChatGPT, DeepSeek, Cursor, VSCode, etc.
Ver la documentación del servidor MCPHistorial de versiones
- Documentación inicialv7.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ésSi tienes una idea para mejorar esta documentación, no dudes en contribuir enviando una pull request en GitHub.
Enlace de GitHub a la documentaciónCopiar el Markdown del documento a la portapapeles
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 options opcional con defaultLocale y mode
- Devuelve un objeto con las propiedades prefix y localePrefix
- Soporta todos los modos de enrutamiento: prefix-no-default, prefix-all, no-prefix y search-params
- Utilidad ligera para determinar cuándo agregar prefijos de locale
Firma de la función
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 defecto
- prefix-all: Devuelve prefijo para todos los locales incluyendo el por defecto
- no-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
import { getPrefix, Locales } from "intlayer";// Verificar prefijo para el locale inglésgetPrefix(Locales.ENGLISH, { defaultLocale: Locales.ENGLISH, mode: "prefix-all",});// Devuelve: { prefix: 'en/', localePrefix: 'en' }// Verificar prefijo para el locale francésgetPrefix(Locales.FRENCH, { defaultLocale: Locales.ENGLISH, mode: "prefix-no-default",});// Devuelve: { prefix: 'fr/', localePrefix: 'fr' }Modos Diferentes de Enrutamiento
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
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ífico
- getMultilingualUrls: Genera URLs para todos los locales configurados
TypeScript
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;