Laravel向けのi18n URLローカライズパッケージ。ロケール付きルート、ブラウザー言語の検出、翻訳可能なルートスラッグ、言語セレクター用ヘルパーを提供します。
MihaiValentin/lunr-languages
Lunr.jsに多言語のステマーとストップワードリストを追加し、ブラウザやNode.jsで数十言語の全文検索を実現します。
- スター
- 459
- フォーク
- 168
- 未解決の Issue
- 16
- 最終コミット
- 13 時間前
これは何?
Lunr Languagesは、クライアントサイドの全文検索ライブラリLunr.jsの拡張機能です。言語ごとのトークン化、ステミング、ストップワードの除去を追加し、Lunrで構築したインデックスが、ドイツ語、フランス語、スペイン語、ロシア語、日本語、アラビア語、ヒンディー語など、幅広い言語の語形を正しく検索できるようにします。
各言語はLunrに登録する独立したモジュールとして提供され、複数の言語を1つのインデックスで扱える多言語モードも用意されています。中国語のトークン化では、デフォルトでIntl.SegmenterとCJKのバイグラムを使用し、Node.jsでは@node-rs/jiebaに切り替えてJiebaによる分かち書きを行えます。型宣言が含まれており、CommonJSまたはES module構文でインポートできます。
ブラウザまたはNode.js上で完結して動作するため、静的サイトやドキュメントの検索、オフラインアプリ、検索パイプラインでのベクトル検索やリランカー実行前のキーワードによる絞り込みに適しています。
主な機能
- 01多くの言語に対応した言語別のトークン化、ステミング、ストップワードリスト
- 021つのインデックスで複数言語のコンテンツを扱える多言語モード
- 03Intl.Segmenterによる中国語の分かち書きと、Node.jsでのJieba対応
- 04スペイン語のインデックス向けに、任意で追加できるアクセント除去パイプライン関数
- 05TypeScriptの型宣言と、CommonJSおよびES moduleのインポートに対応
ユースケース
- 多言語の静的サイトやドキュメントサイトにクライアントサイド検索を追加する
- ブラウザ上でオフラインまたはデバイス内のナレッジベース検索を構築する
- RAGパイプラインで、埋め込み生成やリランキングの前にキーワードで文書を絞り込む
クイックスタート
- 1
npm からパッケージをインストールする
npm install lunr-languages - 2
Node.js で Lunr とドイツ語モジュールを読み込む
const lunr = require('lunr'); require('lunr-languages/lunr.stemmer.support')(lunr); require('lunr-languages/lunr.de')(lunr); - 3
ドイツ語のパイプラインでインデックスを作成し、ドキュメントを追加する
使う前に知っておきたいこと
- オプションのパッケージを使わない場合、中国語のトークン化にはバイグラムが使われるため、Jieba より精度が低くなります。
- ブラウザーで中国語をサポートするには Intl.Segmenter が必要で、フォールバックはありません。
収録されている特集
トピック
よくある質問
- lunr-languages とは?
- Lunr.jsに多言語のステマーとストップワードリストを追加し、ブラウザやNode.jsで数十言語の全文検索を実現します。 Lunr Languagesは、クライアントサイドの全文検索ライブラリLunr.jsの拡張機能です。言語ごとのトークン化、ステミング、ストップワードの除去を追加し、Lunrで構築したインデックスが、ドイツ語、フランス語、スペイン語、ロシア語、日本語、アラビア語、ヒンディー語など、幅広い言語の語形を正しく検索できるようにします。
- lunr-languages は無料で使えますか?ライセンスは?
- lunr-languages は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- lunr-languages は今もメンテナンスされていますか?
- 活発にメンテナンス中。lunr-languages の最終コミットは 2026年11月6日 です。
- lunr-languages は何に使えますか?
- 多言語の静的サイトやドキュメントサイトにクライアントサイド検索を追加する ブラウザ上でオフラインまたはデバイス内のナレッジベース検索を構築する RAGパイプラインで、埋め込み生成やリランキングの前にキーワードで文書を絞り込む
- lunr-languages のインストール方法は?
- npm からパッケージをインストールする: npm install lunr-languages Node.js で Lunr とドイツ語モジュールを読み込む: const lunr = require('lunr'); require('lunr-languages/lunr.stemmer.support')(lunr); require('lunr-languages/lunr.de')(lunr); ドイツ語のパイプラインでインデックスを作成し、ドキュメントを追加する
- lunr-languages はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/MihaiValentin/lunr-languages
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
ソフトウェアやコンテンツの翻訳に使えるセルフホスト型のWebローカライズプラットフォーム。バージョン管理との連携も強力です。
ICUメッセージ構文、ロケール対応の日付・数値フォーマット、型安全な翻訳フックを備えたNext.js向け国際化(i18n)ライブラリ。
アプリ翻訳を管理するオープンソースのWebベースローカライゼーションプラットフォーム。文脈内編集、SDK、機械翻訳に対応。
チーム向けのオープンソース・セルフホスト型翻訳管理プラットフォーム。一般的なローカライズ形式のインポート/エクスポートとREST APIに対応。