withGTConfig()
withGTConfig() の API リファレンス(旧名:initGT())
概要
withGTConfig()
は、gt-next
ライブラリを設定するための主な方法です。
これは NextConfig
オブジェクトを直接ラップします。
import { withGTConfig } from 'gt-next/config';
const nextConfig = {
// your existing next.config.js
}
export default withGTConfig(nextConfig, {
// Additional configuration options
});
レガシー
initGT()
は、gt-next
ライブラリを設定する従来の方法です。これは関数コールバックを返し、その後 NextConfig
オブジェクトに対して呼び出されます。
両方の関数のプロップスは同じですが、withGTProps
では NextConfig
も渡す必要がある点が異なります。
withGTConfig()
を使用して以下を行います:
- サポートする言語とデフォルトロケール(いわゆるフォールバック言語)の設定
- GTサービスへアクセスするためのAPIキーやプロジェクトIDの設定
- ローディング動作の設定
- タイムアウト設定の構成
- カスタムエンドポイントの設定
- 翻訳動作、キャッシュ、リクエストのバッチ処理のカスタマイズ
翻訳機能を有効にするには、withGTConfig()
を next.config.js
ファイル内で使用する必要があります。
リファレンス
デフォルトでは、withGTConfig()
はnext.config.js
ファイルと同じディレクトリにあるgt.config.json
ファイルを探します。
このjsonファイルが読み込まれ、withGTConfig()
に渡された設定とマージされます。
設定ファイルの詳細については、gt.config.jsonリファレンスを参照してください。
CLIツールはgt.config.json
ファイルからのみ設定を読み取るため、
アプリの信頼できる情報源としてgt.config.json
ファイルを使用することをお勧めします。
gt.config.json
ファイルにない追加の設定オプションは、propsとしてwithGTConfig()
に直接渡すことができます。
必須Props
Prop | Type | Default |
---|---|---|
nextConfig? | NextConfig | - |
推奨Props
Prop | Type | Default |
---|---|---|
description?? | string | undefined |
locales?? | string[] | undefined |
defaultLocale?? | string | locales[0] || 'en' |
Prop | 説明 |
---|---|
defaultLocale | アプリケーションのデフォルトロケール。何も指定されていない場合、英語がフォールバック言語になります。 |
locales | アプリケーションでサポートされるロケールの排他的リスト。サポートされていないリクエストを受信した場合、リスト内のブラウザの次の優先言語にリルートします。一致するものが見つからない場合はdefaultLocale にフォールバックします。 |
description | サイトの自然言語による説明で、翻訳を支援するために使用されます。 |
高度なProps
Prop | Type | Default |
---|---|---|
dictionary?? | string | - |
maxBatchSize?? | number | 25 |
batchInterval?? | number | 50 |
maxConcurrentRequests?? | number | 100 |
renderSettings?? | RenderSettings | - |
cacheExpiryTime?? | number | 60000 |
cacheUrl?? | string | - |
runtimeUrl?? | string | - |
preferredModelProvider?? | "anthropic" | "openai" | - |
devApiKey?? | string | - |
apiKey?? | string | - |
projectId?? | string | - |
Prop | Description |
---|---|
projectId | プロジェクトID。ここに含めるか、環境変数として設定できます。 |
apiKey | 推奨されませんが、APIキー。ここに含めることができます。環境変数として含めることもできます。 |
devApiKey | 推奨されませんが、開発用APIキー。ここに含めることができます。環境変数として含めることもできます。 |
preferredModelProvider | 第一選択のAIモデルプロバイダー。現在はAnthropicまたはOpenAIのみが有効です。これを空白のままにしておけば、翻訳ごとに最適なプロバイダーを判断します。使用量が多い期間やプロバイダーが無効になっている場合、優先プロバイダーが使用される保証はありません。 |
runtimeUrl | GT APIのベースURL。自動翻訳を無効にするには、これを空文字列に設定してください。 |
cacheUrl | キャッシュされた翻訳が保存されるURL。カスタムキャッシュサーバーを指すようにカスタマイズできます。 |
cacheExpiryTime | ローカルにキャッシュされた翻訳が期限切れになるまでの時間(ミリ秒)。 |
renderSettings | ランタイム翻訳の読み込み動作を指定するオブジェクト。 |
maxConcurrentRequests | GT APIに対して許可される同時翻訳リクエストの最大数。 |
maxBatchSize | リクエストを送信する前にまとめてバッチ処理する翻訳の最大数。 |
batchInterval | バッチ処理された翻訳リクエスト間の間隔(ミリ秒)。リクエストが送信される速度を制御するのに役立ちます。 |
dictionary | 辞書のオプション設定ファイルパス。i18n と同様に、カスタムパスを指定する文字列を受け入れます。dictionary.js (または.jsx 、.ts 、.tsx など)という名前の辞書で、ルートまたはsrc フォルダに配置されたものがデフォルトでサポートされます。 |
Returns
指定されたGT設定でNext.js設定オブジェクトを拡張する関数(NextConfig) => NextConfig
。
Exceptions
projectId
が不足していてデフォルトURLが使用されている場合、またはAPIキーが必要で不足している場合にError
をスローします。
レンダリング設定
レンダリング設定は、翻訳が読み込まれている間の挙動を制御します。 これは、実行時に行われる翻訳にのみ適用されます。 翻訳がキャッシュされている場合、応答時間が非常に短いため、読み込み挙動を設定する必要はありません。
Prop | Type | Default |
---|---|---|
timout? | number | 8000 |
method? | "skeleton" | "replace" | "default" | default |
Prop | 説明 |
---|---|
method | ページをレンダリングする際に使用される方法。skeleton 、replace 、default から選択できます。 |
timeout | メソッドがタイムアウトするまでのミリ秒単位の時間。デフォルトは8000ミリ秒です。 |
レンダリング方法
skeleton
: フラグメントをレンダリングします。replace
: 待機中はデフォルト言語のコンテンツをレンダリングします。default
: 同じ言語のロケール(例:en-US
とen-GB
)の場合は replace と同様に動作します。異なる言語のロケール(例:en-US
とfr
)の場合は skeleton と同様に動作します。
タイムアウト
タイムアウトは、実行時翻訳、またはキャッシュされていないためにオンデマンドで実行する必要がある翻訳にのみ適用されます。
タイムアウトはデフォルトで8秒に設定されています。 この設計は、無料プランでサーバーレス関数のデフォルトタイムアウトが10秒である vercel ユーザーを考慮したものです。
例
レンダリング設定
この例では、翻訳の読み込みを待つ間にスケルトンをレンダリングするようにgt-next
を設定します。
翻訳に8秒以上かかる場合、メソッドはタイムアウトしてデフォルト言語のコンテンツをレンダリングします。
{
"defaultLocale": "en-US",
"locales": ["en-US", "es", "fr"],
}
import { withGTConfig } from 'gt-next/config';
const nextConfig = {
// Your other next.js configurations
};
export default withGTConfig(nextConfig, {
renderSettings: {
method: 'skeleton',
timeout: 10000,
},
});
注意事項
withGTConfig()
は GT の翻訳機能を Next.js アプリに統合し、ルートの設定ファイルで使用する必要があります。apiKey
やprojectId
などのパラメータは、設定内で直接指定するか、環境変数として設定できます。renderSettings
や_batchInterval
などの高度なパラメータを使うことで、翻訳の動作やパフォーマンスを細かく制御できます。
次のステップ
このガイドはいかがですか?