Config

withGTConfig()

withGTConfig() の API リファレンス、以前は initGT()

概要

withGTConfig()は、gt-nextライブラリを設定するための主要な方法です。 これは、NextConfigオブジェクトを直接ラップします。

next.config.mjs
import { withGTConfig } from 'gt-next/config';
 
const nextConfig = {
    // 既存のnext.config.js
}
 
export default withGTConfig(nextConfig, {
  defaultLocale: 'en-US',
  locales: ['en-US', 'es', 'fr'],
});

レガシー

initGT()は、gt-nextライブラリを設定するためのレガシーな方法です。これは、NextConfigオブジェクトで呼び出される関数コールバックを返します。 両方の関数のプロップは同じですが、withGTPropsNextConfigも渡す必要がある点が異なります。

翻訳機能を有効にするためにwithGTConfig()を使用する必要はありませんが、ニーズに合わせてライブラリを設定することをお勧めします。

withGTConfig()を使用して以下を行います:

  • サポートされている言語とデフォルトのロケール(フォールバック言語とも呼ばれます)を設定します。
  • GTサービスにアクセスするためのAPIキーとプロジェクトIDを設定します。
  • ローディングの動作を設定します。
  • タイムアウト設定を構成します。
  • カスタムエンドポイントを設定します。
  • 翻訳の動作、キャッシング、およびリクエストのバッチ処理をカスタマイズします。

翻訳機能を有効にするには、withGTConfig()next.config.jsファイルで使用する必要があります。

リファレンス

必須プロップ

PropTypeDefault
nextConfig?
NextConfig
-

推奨プロップ

PropTypeDefault
defaultLocale??
string
locales[0] || 'en'
locales??
string[]
undefined
description??
string
undefined
プロップ説明
defaultLocaleアプリケーションのデフォルトロケール。指定がない場合、英語がフォールバック言語になります。
localesアプリケーションでサポートされているロケールの排他的リスト。サポートされていないリクエストが受信された場合、リスト内のブラウザの次の優先言語にリルートされます。マッチが見つからない場合は defaultLocale にフォールバックします。
descriptionサイトの自然言語による説明で、翻訳を支援するために使用されます。

高度なプロップ

PropTypeDefault
projectId??
string
-
apiKey??
string
-
devApiKey??
string
-
preferredModelProvider??
"anthropic" | "openai"
-
runtimeUrl??
string
-
cacheUrl??
string
-
cacheExpiryTime??
number
60000
renderSettings??
RenderSettings
-
maxConcurrentRequests??
number
100
batchInterval??
number
50
maxBatchSize??
number
25
i18n??
string
-
dictionary??
string
-
Prop説明
projectIdプロジェクトID。ここに含めるか、環境変数として含めることができます。
apiKey推奨されませんが、APIキーをここに含めることができます。また、環境変数として含めることもできます。
devApiKey推奨されませんが、開発用APIキーをここに含めることができます。また、環境変数として含めることもできます。
preferredModelProvider第一選択のAIモデルプロバイダー。現在はAnthropicまたはOpenAIのみが有効です。これを空白のままにしておくと、翻訳ごとに最適なプロバイダーを見つけます。使用量が多い時期やプロバイダーが無効になっている場合、希望するプロバイダーが使用されることを保証できません。
runtimeUrlGT APIのベースURL。自動翻訳を無効にするには、これを空の文字列に設定します。
cacheUrlキャッシュされた翻訳が保存されるURL。カスタムキャッシュサーバーを指すようにカスタマイズできます。
cacheExpiryTimeローカルにキャッシュされた翻訳が期限切れになるまでの時間(ミリ秒)。
renderSettingsランタイム翻訳の読み込み動作を指定するオブジェクト。
maxConcurrentRequestsGT APIへの同時翻訳リクエストの最大数。
maxBatchSizeリクエストを送信する前にバッチ処理する翻訳の最大数。
batchIntervalバッチ翻訳リクエスト間の間隔(ミリ秒)。リクエストが送信される速度を制御するのに役立ちます。
i18nカスタムgetLocale()関数のためのオプションの設定ファイルパス。文字列として提供された場合、それはパスとして解決されます。それ以外の場合、デフォルトが使用されます(推奨)。
dictionary辞書のためのオプションの設定ファイルパス。i18nと同様に、カスタムパスを指定するために文字列を受け入れます。dictionary.js(または.jsx.ts.tsxなど)と呼ばれる辞書は、ルートまたはsrcフォルダに配置されている場合、デフォルトでサポートされます。

戻り値

指定されたGT設定でNext.jsの設定オブジェクトを強化する関数(NextConfig) => NextConfig

例外

projectIdが欠落しており、デフォルトのURLが使用されている場合、またはAPIキーが必要で欠落している場合、Errorをスローします。


レンダー設定

レンダー設定は、翻訳が読み込まれている間の動作を制御します。 これは、実行時に発生する翻訳にのみ適用されます。 翻訳がキャッシュされている場合、応答時間が短すぎて読み込み動作を正当化できません。

PropTypeDefault
method?
"skeleton" | "replace" | "default"
default
timout?
number
8000
Prop説明
methodページをレンダリングするために使用されるメソッド。オプションは skeletonreplacedefault です。
timeoutメソッドがタイムアウトするまでの時間(ミリ秒)。デフォルトは8000 msです。

レンダーメソッド

  • skeleton: フラグメントをレンダリングします。
  • replace: 待機中にデフォルト言語でコンテンツをレンダリングします。
  • default: 同じ言語のロケール(例:en-USen-GB)の場合、replaceのように動作します。異なる言語のロケール(例:en-USfr)の場合、skeletonのように動作します。

タイムアウト

タイムアウトは、実行時翻訳、またはキャッシュされていないためにオンデマンドで実行する必要がある翻訳にのみ適用されます。

タイムアウトはデフォルトで8秒に設定されています。 この設計上の決定は、無料プランでサーバーレス関数のデフォルトの10秒タイムアウトを持つvercelユーザーを支援するためです。


サポートされているロケール

この例では、gt-next をデフォルトのロケールとして英語 (en-US) で設定しています。 スペイン語 (es) とフランス語 (fr) の翻訳のみをサポートし、文脈に応じた翻訳のための説明を提供します。

ロケールが一致しない場合、サイトは最適な言語にフォールバックします。 一致する言語(例:en-USen-GB)や、ユーザーがブラウザで設定した他の優先言語を探します。 すべてが失敗した場合、デフォルトの言語にフォールバックします。

すべての言語をサポートしたい場合は、locales を空白のままにしてください。 さらに、ロケールはダッシュボードで設定できます。

next.config.mjs
import { withGTConfig } from 'gt-next/config';
 
const nextConfig = {
  // Your other next.js configurations
}
 
export default withGTConfig(nextConfig, {
  defaultLocale: 'en-US',
  locales: ['en-US', 'es', 'fr'],
  description: 'A personal blog about technology and travel',
});

レンダー設定

この例では、翻訳の読み込みを待つ間にスケルトンをレンダリングするように gt-next を設定しています。 翻訳に8秒以上かかる場合、メソッドはタイムアウトし、デフォルトの言語コンテンツをレンダリングします。

next.config.mjs
import { withGTConfig } from 'gt-next/config';
 
const nextConfig = {
  // Your other next.js configurations
};
 
// locales field is left empty, so this configuration supports all 100+ languages
export default withGTConfig(nextConfig, {
  defaultLocale: 'en-US',
  renderSettings: {
    method: 'skeleton',
    timeout: 10000,
  },
});

メモ

  • withGTConfig()はGT翻訳機能をNext.jsアプリに統合し、ルート設定ファイルで使用する必要があります。
  • apiKeyprojectIdのようなパラメータは、設定内で直接設定するか、環境変数として設定できます。
  • renderSettings_batchIntervalのような高度なパラメータは、翻訳の動作やパフォーマンスを詳細に制御することができます。

次のステップ

このページについて