Pacote Laravel para localização de URLs em projetos i18n: rotas com prefixo de idioma, detecção do idioma do navegador, slugs de rota traduzíveis e helpers para seletores de idioma.
MihaiValentin/lunr-languages
Stemmers e listas de stopwords para Lunr.js que adicionam busca multilíngue em texto completo, em dezenas de idiomas, no navegador ou no Node.js.
- Estrelas
- 459
- Forks
- 168
- Issues abertas
- 16
- Último commit
- há 23 horas
O que é?
Lunr Languages é uma extensão para Lunr.js, uma biblioteca de busca em texto completo executada no cliente. Ela adiciona tokenização específica por idioma, stemming e filtragem de stopwords para que índices criados com Lunr encontrem corretamente diferentes formas das palavras em uma ampla variedade de idiomas, incluindo alemão, francês, espanhol, russo, japonês, árabe e hindi.
Cada idioma é distribuído como um módulo separado que se registra no Lunr, e o modo multilíngue permite combinar vários idiomas em um único índice. A tokenização de chinês usa Intl.Segmenter com bigramas CJK por padrão e, no Node.js, pode usar @node-rs/jieba para segmentação com Jieba. As declarações de tipos estão incluídas, e os módulos podem ser importados com a sintaxe CommonJS ou ES module.
Como é executado inteiramente no navegador ou no Node.js, o projeto é adequado para buscas em sites estáticos e documentação, aplicativos offline e pré-filtragem por palavras-chave antes de uma busca vetorial ou de um reranker em pipelines de recuperação.
Recursos principais
- 01Tokenização específica por idioma, stemming e listas de stopwords para vários idiomas
- 02Modo multilíngue para indexar conteúdo em vários idiomas em um único índice
- 03Segmentação de chinês com Intl.Segmenter e suporte opcional a Jieba no Node.js
- 04Função opcional de pipeline para remover acentos em índices de espanhol
- 05Declarações de tipos para TypeScript e suporte a imports CommonJS e ES module
Casos de uso
- Adicionar busca no cliente a um site estático multilíngue ou a um site de documentação
- Criar uma busca offline ou local, no dispositivo, para uma base de conhecimento no navegador
- Pré-filtrar documentos por palavra-chave antes de gerar embeddings ou aplicar reranking em um pipeline RAG
Início rápido
- 1
Instale o pacote pelo npm
npm install lunr-languages - 2
Carregue o Lunr e o módulo de alemão no Node.js
const lunr = require('lunr'); require('lunr-languages/lunr.stemmer.support')(lunr); require('lunr-languages/lunr.de')(lunr); - 3
Crie um índice com o pipeline de alemão e adicione documentos
Antes de usar
- Sem o pacote opcional, a tokenização do chinês usa bigramas, que são menos precisos que o Jieba.
- O suporte ao chinês nos navegadores requer Intl.Segmenter e não tem alternativa.
Em coleções
Tópicos
Perguntas frequentes
- O que é lunr-languages?
- Stemmers e listas de stopwords para Lunr.js que adicionam busca multilíngue em texto completo, em dezenas de idiomas, no navegador ou no Node.js. Lunr Languages é uma extensão para Lunr.js, uma biblioteca de busca em texto completo executada no cliente. Ela adiciona tokenização específica por idioma, stemming e filtragem de stopwords para que índices criados com Lunr encontrem corretamente diferentes formas das palavras em uma ampla variedade de idiomas, incluindo alemão, francês, espanhol, russo, japonês, árabe e hindi.
- lunr-languages é gratuito? Qual é a licença?
- lunr-languages é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
- lunr-languages ainda é mantido?
- Manutenção ativa. O último commit de lunr-languages foi em 6 de nov. de 2026.
- Para que posso usar lunr-languages?
- Adicionar busca no cliente a um site estático multilíngue ou a um site de documentação Criar uma busca offline ou local, no dispositivo, para uma base de conhecimento no navegador Pré-filtrar documentos por palavra-chave antes de gerar embeddings ou aplicar reranking em um pipeline RAG
- Como instalar lunr-languages?
- Instale o pacote pelo npm: npm install lunr-languages Carregue o Lunr e o módulo de alemão no Node.js: const lunr = require('lunr'); require('lunr-languages/lunr.stemmer.support')(lunr); require('lunr-languages/lunr.de')(lunr); Crie um índice com o pipeline de alemão e adicione documentos
- Onde consigo lunr-languages?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/MihaiValentin/lunr-languages
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Biblioteca de segmentação de texto e NLP em Go para inglês, chinês, japonês e outros idiomas, que implementa a abordagem do jieba.
Plataforma de localização web e self-hosted para traduzir software e conteúdo, com integração direta ao controle de versão.
Biblioteca de internacionalização (i18n) para Next.js, com sintaxe de mensagens ICU, datas e números por localidade e hooks de tradução com segurança de tipos.
Plataforma open source de localização na web para gerenciar traduções de apps com edição em contexto, SDKs e tradução automática.
Plataforma open source e self-hosted de gestão de traduções para equipes, com importação e exportação de formatos comuns de localização e uma REST API.