# gt-next: General Translation Next.js SDK: 本番環境と開発環境 URL: https://generaltranslation.com/ja/docs/next/concepts/environments.mdx --- title: 本番環境と開発環境 description: 本番環境と開発環境の違い --- ## 概要 `gt-next` の挙動は、Next.js アプリケーションの実行環境によって異なります。 実行環境は、`NODE_ENV` 環境変数を確認して判別します。 ## 本番環境での挙動 ### 環境変数 本番環境では、`gt-next` は `GT_PROJECT_ID` と `GT_API_KEY` の環境変数だけを参照します。 API キーには、`gtx-api-` で始まる本番用 API キーを使用する必要があります。 開発用 API キーを使用している場合、`gt-next` はエラーを返します。 ### 翻訳の読み込み動作 本番環境では、デフォルトで `gt-next` が General Translation CDN から翻訳を読み込みます。 `loadTranslations` 関数で、ローカル翻訳などのカスタムの翻訳読み込み方法を設定している場合は、`gt-next` は代わりにそちらを使用します。 本番環境では、翻訳のホットリロードは無効です。 `` コンポーネントまたは `tx` 関数を使った動的コンテンツの on-demand 翻訳は有効ですが、サーバーコンポーネントでのみ利用できます。 ## 開発時の挙動 ### 環境変数 `gt-next` は、環境変数 `GT_PROJECT_ID` と `GT_API_KEY` を受け付けます。 API キーには、`gtx-api-` で始まる本番用 API キー、または `gtx-dev-` で始まる開発用 API キーを使用できます。 開発環境で本番用 API キーを指定すると、`gt-next` は本番環境で動作しているものとして振る舞います。 つまり、翻訳のホットリロードは無効になり、翻訳がないコンポーネントは元の内容を表示します。 ### 翻訳の読み込み動作 開発環境では、`gt-next` はまず本番環境と同じ方法で翻訳の読み込みを試みます。 これらの翻訳はメモリ上に読み込まれます。 デフォルト以外の言語で (`useGT`、``、または `useTranslations` を使用する) コンポーネントをレンダリングする場合、`gt-next` は次の処理を行います。 1. 指定されたコンテンツに対して有効な保存済み翻訳が見つかった場合は、その翻訳をレンダリングします。 2. 翻訳が見つからない場合は、General Translation API を通じてコンテンツの動的翻訳を試みます。 3. 翻訳が完了すると、その翻訳をレンダリングし、今後利用できるようメモリに保存します。 4. 翻訳がタイムアウトした場合は、フォールバックして元のコンテンツをレンダリングします。 API 側でも開発用翻訳を短時間内部キャッシュしているため、同じ翻訳が再度リクエストされた場合はキャッシュから返されます。 これらの翻訳はプロジェクト単位で分離されているため、他のプロジェクトの翻訳と混在することはありません。 また、このキャッシュは開発セッションごとに固有のため、キャッシュされた翻訳が本番環境で使われることはありません。 `gt-next` は、`useGT`、``、または `useTranslations` を使用するコンポーネントの変更を検出し、API を通じて変更後のコンテンツを動的に翻訳します。 ## 本番用 API キーと開発用 API キー [#api-keys] `gt-next` の本番環境と開発環境での挙動を区別するため、「本番用 API キー」と「開発用 API キー」という概念を設けています。 ### 本番用 API キー 本番用 API キーとは、`gtx-api-` で始まる API キーです。 本番用 API キーを指定すると、`gt-next` は [本番環境での挙動](#production-behavior) セクションで説明されているとおりに動作します。 つまり、Next.js アプリケーションを開発モードで実行していても、本番用 API キーを指定した場合、`gt-next` は本番環境で動作しているかのように振る舞います。 翻訳のホットリロードは無効になり、翻訳が存在しないコンポーネントは元の内容をレンダリングします。 この挙動を除き、`gt-next` が本番用 API キーを利用することはありません。 CLI ツールは `GT_API_KEY` 環境変数を読み取り、本番用 API キーのみを受け付けます。 CLI ツールは "production" カテゴリとして課金とレート制限を適用します。 ### 開発用 API キー 開発用 API キーとは、`gtx-dev-` で始まる API キーです。 開発用 API キーが指定されている場合、`gt-next` は [開発時の挙動](#development-behavior) セクションで説明されているとおりに動作します。 開発用 API キーを使用する場合、請求とレート制限には「development」カテゴリが適用されます。 開発用 API キーで作成された翻訳は保存されず、本番環境では使用できません。 開発用翻訳の目的は、本番環境にリリースする前にアプリケーションをテストできるようにすることです。