ICUメッセージ構文、ロケール対応の日付・数値フォーマット、型安全な翻訳フックを備えたNext.js向け国際化(i18n)ライブラリ。
i18next/next-i18next
i18nextとreact-i18nextをNext.jsのApp Router、Pages Router、middlewareに組み込む翻訳ツールキット。
- スター
- 6,166
- フォーク
- 757
- 未解決の Issue
- 0
- 最終コミット
- 4 日前
これは何?
next-i18nextはi18nextとreact-i18nextの上に構築されたレイヤーで、アプリの翻訳に必要なNext.js固有の処理を担います。proxy/middlewareによる言語検出とロケールへのリダイレクト、サーバーコンポーネントとクライアントコンポーネントの使い分け、サーバーからクライアントへの読み込み済み翻訳の受け渡しに対応します。
App Router(Server Components、Client Components、proxy)、next-i18next/pagesエントリーポイントを通じたPages Router、さらに1つのプロジェクトで両方のルーターを使う構成をサポートします。翻訳ファイルはpublic/localesに配置するか、動的インポートで読み込めるため、サーバーレス環境にも適しています。ロケールはURLパスに含めるほか、デフォルト言語では非表示にしたり、わかりやすいURLのままCookieに保存したりできます。
プラグインによるICU MessageFormatとUnicode MessageFormat 2の任意サポートに加え、HTTP、Locize、キャッシュを連鎖させるバックエンドなど、i18nextのカスタムバックエンドも組み込めます。
主な機能
- 01App Router、Pages Router、および両ルーターを併用するプロジェクトを、1つのコードベースでサポートします。
- 02CookieまたはAccept-Languageから言語を検出し、ロケール付きパスにリダイレクトします。
- 03public内のファイル、またはサーバーレス環境で動作する動的インポートから翻訳を読み込みます。
- 04サーバーコンポーネントからクライアントコンポーネントへ、読み込み済みのリソースをシリアライズして渡します。
- 05オプションのプラグインを通じて、ICUとMF2のメッセージ形式を利用できます。
- 06HTTPやLocizeなど、i18nextのカスタムバックエンドを利用できます。
ユースケース
- 既存のNext.js App Routerサイトに多言語対応を追加する。
- Pages Routerからの移行中に、ローカライズされたルートとされていないルートを併用する。
- 翻訳したNext.jsアプリをVercelなどのサーバーレスホストにデプロイする。
- CDNや翻訳管理サービスから翻訳を読み込む。
クイックスタート
- 1
パッケージをインストールする
npm install next-i18next i18next react-i18next - 2
翻訳用のJSONファイルと、resourceLoaderを使うi18n設定を作成する
- 3
createProxy(i18nConfig)をエクスポートするproxy.tsを追加する
- 4
initServerI18nextとI18nProviderを使ってルートレイアウトを設定する
使う前に知っておきたいこと
- サーバーレスプラットフォームでは、実行時にpublic/内のファイルを利用できないため、resourceLoaderを使って翻訳を読み込む必要があります。
- 開発時にimport()ベースのローダーで翻訳をホットリロードすると停止することがあり、回避策が必要です。
- cacheComponentsを有効にすると、ファイルベースの翻訳読み込みに対してnext devが未キャッシュデータの警告を出します。
トピック
よくある質問
- next-i18next とは?
- i18nextとreact-i18nextをNext.jsのApp Router、Pages Router、middlewareに組み込む翻訳ツールキット。 next-i18nextはi18nextとreact-i18nextの上に構築されたレイヤーで、アプリの翻訳に必要なNext.js固有の処理を担います。proxy/middlewareによる言語検出とロケールへのリダイレクト、サーバーコンポーネントとクライアントコンポーネントの使い分け、サーバーからクライアントへの読み込み済み翻訳の受け渡しに対応します。
- next-i18next は無料で使えますか?ライセンスは?
- next-i18next は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- next-i18next は今もメンテナンスされていますか?
- 活発にメンテナンス中。next-i18next の最終コミットは 2026年11月3日 です。
- next-i18next は何に使えますか?
- 既存のNext.js App Routerサイトに多言語対応を追加する。 Pages Routerからの移行中に、ローカライズされたルートとされていないルートを併用する。 翻訳したNext.jsアプリをVercelなどのサーバーレスホストにデプロイする。 CDNや翻訳管理サービスから翻訳を読み込む。
- next-i18next のインストール方法は?
- パッケージをインストールする: npm install next-i18next i18next react-i18next 翻訳用のJSONファイルと、resourceLoaderを使うi18n設定を作成する createProxy(i18nConfig)をエクスポートするproxy.tsを追加する initServerI18nextとI18nProviderを使ってルートレイアウトを設定する
- next-i18next はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/i18next/next-i18next
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
既存のFastifyサーバーでReactのサーバーサイドレンダリングによるNext.jsページの表示を可能にするFastifyプラグイン。
アプリ翻訳を管理するオープンソースのWebベースローカライゼーションプラットフォーム。文脈内編集、SDK、機械翻訳に対応。
Muxなどのストレージプロバイダーを通じて、動画のアップロード、最適化、CDN配信を自動化するNext.js向けReactコンポーネント。
スキーマ定義やコード生成なしで、サーバーとクライアント間で型を共有できるTypeScript向けのエンドツーエンド型安全API。
チーム向けのオープンソース・セルフホスト型翻訳管理プラットフォーム。一般的なローカライズ形式のインポート/エクスポートとREST APIに対応。