これは、i18nを用いた静的サイト生成をデモするためにGeneral Translationで構築されたサンプルアプリです。実際のブログではありません。

静的サイト生成

このサイトの全ページは、generateStaticParams を使用してビルド時にサポート対象ロケールごとに事前レンダリングされます。実行時の翻訳フェッチもローディング状態も不要で、完全に翻訳済みの HTML がエッジから即座に配信されます。

仕組み

このサイトでは、generateStaticParams を使用して、ビルド時にロケールとページスラッグのすべての組み合わせを列挙します。Next.js は、各組み合わせを静的HTMLファイルとして事前レンダリングします。

翻訳は GT CLI によって事前に生成され、JSONファイルとしてバンドルされます。ビルド時に各ロケールが翻訳を読み込み、完全に翻訳されたHTMLをレンダリングします。その結果、すべての言語のすべてのページが静的ファイルとなり、CDNから即座に配信できる状態になります。

generateMetadata と組み合わせることで、各ロケールパスに翻訳済みのページタイトル、説明文、および Open Graph タグが付与され、多言語SEO の最適化が図られます。