Paquete de Laravel para localizar URLs en aplicaciones i18n: rutas con prefijo de idioma, detección del idioma del navegador, slugs traducibles y helpers para selectores de idioma.
MihaiValentin/lunr-languages
Stemmer y listas de palabras vacías para Lunr.js que incorporan búsqueda de texto completo multilingüe en decenas de idiomas en el navegador o Node.js.
- Estrellas
- 459
- Forks
- 168
- Issues abiertos
- 16
- Último commit
- anteayer
¿Qué es?
Lunr Languages es una extensión para Lunr.js, una biblioteca de búsqueda de texto completo del lado del cliente. Añade tokenización, stemming y filtrado de palabras vacías específicos de cada idioma para que los índices creados con Lunr puedan encontrar correctamente las distintas formas de las palabras en una amplia variedad de idiomas, como alemán, francés, español, ruso, japonés, árabe e hindi.
Cada idioma se distribuye como un módulo independiente que se registra en Lunr, y un modo multilingüe permite combinar varios idiomas en un mismo índice. La tokenización del chino usa Intl.Segmenter con bigramas CJK de forma predeterminada, y puede cambiarse a @node-rs/jieba en Node.js para segmentar con Jieba. Se incluyen declaraciones de tipos, y los módulos se pueden importar con la sintaxis de CommonJS o de módulos ES.
Como se ejecuta íntegramente en el navegador o Node.js, es adecuado para búsquedas en sitios estáticos y de documentación, aplicaciones sin conexión y el filtrado previo por palabras clave antes de una búsqueda vectorial o de aplicar un reranker en flujos de recuperación.
Funciones clave
- 01Tokenización, stemming y listas de palabras vacías específicas para muchos idiomas
- 02Modo multilingüe para indexar contenido en varios idiomas dentro de un mismo índice
- 03Segmentación del chino mediante Intl.Segmenter, con compatibilidad opcional con Jieba en Node.js
- 04Función opcional de la canalización para plegar acentos en índices en español
- 05Declaraciones de tipos de TypeScript e importaciones tanto de CommonJS como de módulos ES
Casos de uso
- Añadir búsqueda del lado del cliente a un sitio web estático multilingüe o a un sitio de documentación
- Crear una búsqueda en una base de conocimiento sin conexión o en el propio dispositivo, dentro del navegador
- Filtrar previamente documentos por palabra clave antes de generar embeddings o aplicar un reranker en un flujo de RAG
Inicio rápido
- 1
Instala el paquete desde npm
npm install lunr-languages - 2
Carga Lunr y el módulo de alemán en Node.js
const lunr = require('lunr'); require('lunr-languages/lunr.stemmer.support')(lunr); require('lunr-languages/lunr.de')(lunr); - 3
Crea un índice con la canalización de alemán y añade documentos
Antes de usarlo
- Sin el paquete opcional, la tokenización del chino usa bigramas, que son menos precisos que Jieba.
- La compatibilidad con el chino en navegadores requiere Intl.Segmenter y no tiene alternativa.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es lunr-languages?
- Stemmer y listas de palabras vacías para Lunr.js que incorporan búsqueda de texto completo multilingüe en decenas de idiomas en el navegador o Node.js. Lunr Languages es una extensión para Lunr.js, una biblioteca de búsqueda de texto completo del lado del cliente. Añade tokenización, stemming y filtrado de palabras vacías específicos de cada idioma para que los índices creados con Lunr puedan encontrar correctamente las distintas formas de las palabras en una amplia variedad de idiomas, como alemán, francés, español, ruso, japonés, árabe e hindi.
- ¿lunr-languages es gratuito? ¿Qué licencia tiene?
- lunr-languages es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿lunr-languages sigue mantenido?
- Mantenimiento activo. El último commit de lunr-languages fue el 6 nov 2026.
- ¿Para qué puedo usar lunr-languages?
- Añadir búsqueda del lado del cliente a un sitio web estático multilingüe o a un sitio de documentación Crear una búsqueda en una base de conocimiento sin conexión o en el propio dispositivo, dentro del navegador Filtrar previamente documentos por palabra clave antes de generar embeddings o aplicar un reranker en un flujo de RAG
- ¿Cómo se instala lunr-languages?
- Instala el paquete desde npm: npm install lunr-languages Carga Lunr y el módulo de alemán en Node.js: const lunr = require('lunr'); require('lunr-languages/lunr.stemmer.support')(lunr); require('lunr-languages/lunr.de')(lunr); Crea un índice con la canalización de alemán y añade documentos
- ¿Dónde consigo lunr-languages?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/MihaiValentin/lunr-languages
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Biblioteca de segmentación de texto y NLP en Go para inglés, chino, japonés y otros idiomas, que implementa el enfoque de jieba.
Plataforma de localización web autohospedada para traducir software y contenido, con una estrecha integración con el control de versiones.
Biblioteca de internacionalización (i18n) para Next.js, con sintaxis de mensajes ICU, fechas y números adaptados a la configuración regional, y hooks de traducción con seguridad de tipos.
Plataforma web de código abierto para gestionar traducciones de aplicaciones con edición en contexto, SDK y traducción automática.
Plataforma de gestión de traducciones de código abierto y autohospedada para equipos, con importación y exportación de formatos de localización comunes y una API REST.