Lunr.jsに多言語のステマーとストップワードリストを追加し、ブラウザやNode.jsで数十言語の全文検索を実現します。
mcamara/laravel-localization
Laravel向けのi18n URLローカライズパッケージ。ロケール付きルート、ブラウザー言語の検出、翻訳可能なルートスラッグ、言語セレクター用ヘルパーを提供します。
- スター
- 3,558
- フォーク
- 505
- 未解決の Issue
- 11
- 最終コミット
- 3 か月前
これは何?
Laravel Localizationは、Laravelアプリケーションに多言語URLの処理を追加します。ルートはロケールプレフィックス付きのグループ内で一度だけ定義でき、URLのセグメントに応じてアプリケーションのロケールが設定されます。そのため、/en/aboutと/es/acercaは同じコントローラーに解決され、App::getLocale()には現在の言語が反映されます。
ブラウザーのAccept-Languageヘッダーから訪問者の言語を検出し、選択したロケールをセッションまたはCookieに保存して、ローカライズされたURLへリダイレクトできます。また、URLでデフォルトロケールを省略したり、langファイルを使ってルートセグメントを翻訳したりできます。言語セレクターやロケールに応じたリンクの作成には、localizeUrl、getSupportedLocales、getCurrentLocaleDirectionなどのヘルパーを利用できます。
ルートはリクエストごとに生成されるため、デフォルトではphp artisan route:cacheはサポートされません。キャッシュにはLoadsTranslatedCachedRoutes traitとroute:trans:cacheコマンドが用意されています。またREADMEでは、ネイティブのルートキャッシュが必要な新規プロジェクト向けに、後継パッケージのniels-numbers/laravel-localizerを推奨しています。
主な機能
- 01すべての言語のルートを一度だけ定義できる、ロケールプレフィックス付きルートグループ。
- 02Accept-Languageヘッダーによるブラウザー言語の検出。
- 03セッションやCookieを利用したロケールリダイレクトミドルウェア。
- 04lang/**/routes.phpファイルで定義する、翻訳可能なルートセグメント。
- 05ローカライズされたURL、ロケール名、各言語での名称、文字方向、文字体系に対応するヘルパー。
- 06URLでのデフォルトロケールの省略と、ロケールごとのカスタムURLマッピングに対応。
ユースケース
- 言語ごとに異なるURLプレフィックスを使い、複数言語のコンテンツを配信するLaravelサイトの構築。
- 各ページの他ロケール版にリンクする言語セレクターの追加。
- SEOに適した多言語サイトで、/en/article/...や/es/articulo/...のような翻訳済みスラッグを提供。
クイックスタート
- 1
Composer でパッケージをインストールします
composer require mcamara/laravel-localization - 2
設定ファイルを公開します
php artisan vendor:publish --provider="Mcamara\LaravelLocalization\LaravelLocalizationServiceProvider" - 3
routes/web.php でローカライズされたルートを LaravelLocalization::setLocale() のルートグループで囲みます
使う前に知っておきたいこと
- ルートはリクエストごとに生成されるため、php artisan route:cache は標準ではサポートされていません。
- Laravel と PHP のバージョンサポートは、互換性テーブルに記載されている特定のパッケージバージョンに依存します。
トピック
よくある質問
- laravel-localization とは?
- Laravel向けのi18n URLローカライズパッケージ。ロケール付きルート、ブラウザー言語の検出、翻訳可能なルートスラッグ、言語セレクター用ヘルパーを提供します。 Laravel Localizationは、Laravelアプリケーションに多言語URLの処理を追加します。ルートはロケールプレフィックス付きのグループ内で一度だけ定義でき、URLのセグメントに応じてアプリケーションのロケールが設定されます。そのため、/en/aboutと/es/acercaは同じコントローラーに解決され、App::getLocale()には現在の言語が反映されます。
- laravel-localization は無料で使えますか?ライセンスは?
- laravel-localization は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- laravel-localization は今もメンテナンスされていますか?
- 半年以内に更新あり。laravel-localization の最終コミットは 2026年8月24日 です。
- laravel-localization は何に使えますか?
- 言語ごとに異なるURLプレフィックスを使い、複数言語のコンテンツを配信するLaravelサイトの構築。 各ページの他ロケール版にリンクする言語セレクターの追加。 SEOに適した多言語サイトで、/en/article/...や/es/articulo/...のような翻訳済みスラッグを提供。
- laravel-localization のインストール方法は?
- Composer でパッケージをインストールします: composer require mcamara/laravel-localization 設定ファイルを公開します: php artisan vendor:publish --provider="Mcamara\LaravelLocalization\LaravelLocalizationServiceProvider" routes/web.php でローカライズされたルートを LaravelLocalization::setLocale() のルートグループで囲みます
- laravel-localization はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/mcamara/laravel-localization
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
投稿や固定ページに多言語コンテンツを追加し、1つの投稿にまとめて保存できる、コミュニティ運営のWordPressプラグイン。
コレクションやクエリ、BladeビューをExcelまたはCSVにエクスポートし、スプレッドシートをEloquentモデルにインポートできる、PhpSpreadsheetのLaravelラッパーです。
Telegram Bot APIを利用したボット開発向けのPHP SDK。Laravelを標準サポート。
Laravelアプリにダイレクトメッセージ、グループ、添付ファイル、同梱のメッセンジャーUIを追加するリアルタイムチャットパッケージ。
外部検索サーバーを使わず、TNTSearch PHPエンジンでEloquentモデルに全文検索を追加するLaravel Scoutドライバー。