Components

GTProvider

<GTProvider> コンポーネントのAPIリファレンス

概要

<GTProvider> コンポーネントは、子要素に General Translation (GT) のコンテキストを提供し、翻訳済みコンテンツへアクセスできるようにします。 アプリケーションでクライアントサイドの翻訳を行う場合は必須です。

使うタイミング

  • クライアント側の翻訳を有効にするには、アプリケーション全体を <GTProvider> でラップします。
  • dictionaries を扱う際は、必要に応じて id を指定してクライアントへ送る dictionary データを限定し、大規模な dictionaries におけるパフォーマンスを最適化します。
  • <GTProvider> コンポーネントは、インラインの <T>dictionaries の両方で使用されます。

リファレンス

Props

Prop

Type

説明

Prop説明
childrenクライアント側で翻訳を行う、または翻訳情報へアクセスする必要がある任意のコンポーネント、もしくはその親コンポーネント。<T>useGT、その他の翻訳ユーティリティを使用するコンポーネントを含めてください。
id?クライアントに送信するデータを絞り込むための、ネストされた dictionary の id。dictionary が巨大な大規模プロジェクトで有用です。

戻り値

このコンポーネントに渡された children を含む JSX.Element | undefined

基本的な使い方

アプリ全体を <GTProvider> でラップして、翻訳用のコンテキストを提供します。

layout.js
import { GTProvider } from 'gt-next';

export default function RootLayout({ children }) {
    return (
        <html lang="en">
            <body>
                <GTProvider> // [!code highlight]
                    {children}
                </GTProvider> // [!code highlight]
            </body>
        </html>
    );
}

サブセットに id プロップを使う

パフォーマンスを最適化するため、クライアントには dictionary の必要なサブセットのみを送るように、id プロップを指定します。

layout.js
import { GTProvider } from 'gt-next';

export default function RootLayout({ children }) {
    return (
        <html lang="en">
            <body>
                <GTProvider id="nested.dictionary.key"> // [!code highlight]
                    {children}
                </GTProvider>
            </body>
        </html>
    );
}

注意事項

  • <GTProvider> は、クライアントコンポーネント内にあるすべての <T> コンポーネントおよび翻訳関連コンポーネントを必ず包む(ラップする)必要があります。詳しくはこちらをご覧ください。
  • サーバーサイドの翻訳では <GTProvider> は必須ではありませんが、使用することもできます。

次のステップ

このガイドはどうでしたか?

GTProvider