# General Translation Changelog: gt-next 6.9.0: 静的レンダリングのサポート
URL: https://generaltranslation.com/ja/blog/gt-next_v6_9_0.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 
Authors: Ernest McCarter
Published: 2025-11-18

## 概要

**この動作は現在非推奨です。新しい動作については、[gt-next@6.10.0](/devlog/gt-next_v6_10_0)を参照してください。**

静的レンダリングは Next.js フレームワークの中核機能であり、ビルド時にページを事前レンダリングすることで、最適なパフォーマンスと SEO を実現します。
そのため、Next.js ネイティブなライブラリであれば、このレンダリングモデル内でシームレスに動作する必要があります。
**gt-next 6.9.0** では静的レンダリングのサポートが導入され、国際化アプリケーションで、ロケール検出や翻訳機能を損なうことなく Next.js の静的生成機能を最大限に活用できるようになりました。

## 静的レンダリングとは？

静的レンダリングでは、リクエストごとではなく、ビルド時にHTMLを生成します。
この方式は非常に高いパフォーマンスを実現する一方で、通常はユーザーのロケールを判断するためにリクエストヘッダー、Cookie、またはミドルウェアに依存するi18nライブラリにとっては難しさがあります。
静的レンダリング中は、こうしたリクエスト時の情報を利用できないため、ロケールの検出には別のアプローチが必要になります。

***

## 静的レンダリングの設定

gt-next を設定する前に、[generateStaticParams ドキュメント](https://nextjs.org/docs/app/api-reference/functions/generate-static-params) に従って、Next.js アプリケーションが静的生成用に設定されていることを確認してください。

設定には、3 つの主要なコンポーネントがあります:

### 1. 設定で静的レンダリングを有効にする

```js
export default withGTConfig(nextConfig, {
  experimentalEnableSSG: true,
})
```


### 2. ミドルウェアを設定する

動的リクエスト用にミドルウェアを設定します：

```ts
// proxy.ts (Next.js 16+) または middleware.ts (Next.js 15 以下)
import { createNextMiddleware } from 'gt-next/middleware'

export default createNextMiddleware();

export const config = {
  matcher: [
    "/((?!api|static|.*\\..*|_next).*)",
  ],
}
```


### 3. 静的なロケール検出を定義する

静的レンダリング時にロケールを判定する `getStaticLocale` 関数を作成します。この関数が実行されるのは静的生成時のみで、SSR 時にはデフォルトの動作 (ヘッダーや Cookie の読み取りなど) が使われます。

#### Next.js 15.5+

```ts
// getStaticLocale.ts
import { locale } from "next/root-params";

export default async function getStaticLocale() {
  return await locale();
}
```


#### Next.js 15.1-15.4

```ts
// getStaticLocale.ts  
import { unstable_rootParams } from "next/server";

export default async function getStaticLocale() {
  return (await unstable_rootParams())?.locale;
}
```

*静的レンダリング時のリージョン検出をカスタマイズするには、`getStaticRegion`を呼び出せます。*

***


## 利点

**Next.js ネイティブ**: 静的レンダリングとの互換性を確保するため、Next.js に組み込まれた root params システムを活用します。

***

## 追加機能

このリリースでは、静的生成に加え、SSR と静的レンダリング環境の両方で設定可能なカスタムの [`getLocale()`](/docs/react/nextjs/reference/functions/get-locale) および [`getRegion()`](/docs/react/nextjs/reference/functions/get-region) 関数もサポートされます。

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
