はじめに#
この記事は、GPT-4oによって生成された内容です。Next.jsを使用して多言語対応の静的サイトを構築する方法について説明します。特に、メイン言語にはURLプレフィックスを付けず、その他の言語にはプレフィックスを付ける設定に焦点を当てます。GitHub Pagesを使用してデプロイする設定も含まれています。
プロジェクトのセットアップ#
まず、Next.jsのプロジェクトを作成します。create-next-appを使用してプロジェクトを初期化します。
必要なパッケージのインストール#
多言語対応のために、next-intlをインストールします。
プロジェクト構成#
プロジェクトのディレクトリ構成は以下の通りです。
src/app/[locale]/about/page.tsxsrc/app/about/page.tsxsrc/lib/i18n.tssrc/components/I18nProvider.tsxsrc/i18n/ja.jsonsrc/i18n/en.json
多言語対応の実装#
next-intlを使用して、言語ごとのメッセージを管理します。src/lib/i18n.tsでメッセージを取得する関数を定義しています。
I18nProviderコンポーネントを使用して、各ページでメッセージを提供します。
SSGの設定#
generateStaticParams関数を使用して、静的ページを生成する際のパラメータを設定します。メイン言語(日本語)にはプレフィックスを付けず、その他の言語にはプレフィックスを付けます。
GitHub Pagesへのデプロイ#
GitHub Actionsを使用して、GitHub Pagesにデプロイします。.github/workflows/deploy.ymlでデプロイの設定を行います。
リンク#
まとめ#
このブログでは、Next.jsを使用して多言語対応の静的サイトを構築し、メイン言語にはプレフィックスを付けず、その他の言語にはプレフィックスを付ける方法を紹介しました。next-intlを活用することで、簡単に多言語対応が可能になります。ぜひ試してみてください。