# gt-next: General Translation Next.js SDK: キャッシュコンポーネント URL: https://generaltranslation.com/ja/docs/next/guides/cache-components.mdx --- title: キャッシュコンポーネント description: gt-next で キャッシュコンポーネント を設定する --- このガイドでは、gt-next を Next.js の キャッシュコンポーネント と組み合わせて使用し、国際化アプリケーションを最適化する方法を説明します。 *** ## セットアップ まだ設定していない場合は、[Next.js Cache Components ガイド](https://nextjs.org/docs/app/getting-started/cache-components)に従って、プロジェクトでキャッシュコンポーネントを有効にしてください。 ### gt-next の設定でキャッシュコンポーネントのサポートを有効にする: ```js title="next.config.js" const nextConfig = { cacheComponents: true, }; export default withGTConfig(nextConfig, { experimentalLocaleResolution: true, }); ``` ### ミドルウェアを有効にする ミドルウェアの完全なガイドは[こちら](/docs/next/guides/middleware)を参照してください。 ```ts import { createNextMiddleware } from 'gt-next/middleware'; export default createNextMiddleware(); export const config = { // API ルート、静的ファイル、Next.js の内部パスを除くすべてのパスにマッチ matcher: ['/((?!api|static|.*\\..*|_next).*)'] }; ``` ### 翻訳可能なコンテンツを含むキャッシュコンポーネントに `locale` パラメータを追加する 翻訳可能なコンテンツを含むキャッシュコンポーネントを使用する場合は、`locale` をパラメータとして渡す必要があります。これにより、各ロケールごとに個別のキャッシュエントリが作成されます。 ```tsx import { getLocale } from "gt-next/server" async function CachedContent({locale}: {locale: string}) { "use cache" return Hello World } export default async function Page() { const locale = await getLocale() return } ``` ## 設定上の注意 * カスタム `getLocale` 関数は上書きされます * `getRegion` 関数と `getDomain` 関数は無効化されます * 解決時に使用するロケールパラメータ名は、`experimentalLocaleResolutionParam` でカスタマイズできます (デフォルトは `'locale'`) ```js title="next.config.js" export default withGTConfig(nextConfig, { experimentalLocaleResolution: true, experimentalLocaleResolutionParam: 'lang', // オプション(カスタマイズ可能) }); ``` *** ## 次のステップ * 詳しくは、この機能のリリースノート [gt-next@6.10.0](/devlog/gt-next_v6_10_0) を参照してください。