useLocale
useLocale フックの APIリファレンス
概要
useLocale フックは、<GTProvider> コンテキストからユーザーの現在の locale を取得します。
返される locale は文字列として整形されます(例:'en-US')。
useLocale はクライアントサイドのフックで、クライアントサイドのコンポーネントでのみ使用できます。
アプリ全体を <GTProvider> でラップしていることを確認してください。
サーバーサイドでの locale 管理については、getLocale を参照してください。
参照
戻り値
ユーザーの現在の locale を表す文字列(例: 'en-US')。
フォールバックの挙動
未対応のlocaleがリクエストされた場合、フォールバック用のlocaleが選択されます。
たとえば、未対応のlocaleが指定された場合に、 (1) ユーザーがブラウザー設定で複数の優先localeを設定しており、 かつ (2) そのうちのいずれかがアプリケーションでサポートされている場合、 localeは最適な言語にフォールバックします。
さらに、利用可能なフォールバック先のlocaleがない場合でも、
2つのlocaleが同じ言語を共有している(例: en-US と en-GB)なら、
同じ言語を共有するサポート対象のlocaleにフォールバックします。
いずれの条件も満たせない場合は、デフォルトのlocaleが使用されます。
サポートされるlocaleの設定方法については、gt.config.json のドキュメントを参照してください。
例
基本的な使い方
現在の locale を取得して、コンポーネントに表示します。
"use client";
import { useLocale } from 'gt-next';
export default function CurrentLocale() {
const locale = useLocale();
return <p>現在のlocale: {locale}</p>;
}注意事項
useLocaleフックはコンテキストにアクセスするために<GTProvider>に依存します。アプリのルートレベルでプロバイダーでラップされていることを確認してください。useLocaleはクライアントサイド専用です。- ロケールコード文字列の詳細はこちらをご覧ください。
次のステップ
gt.config.jsonファイルを使って、アプリケーションで対応ロケールを管理・指定する方法を学びましょう。
このガイドはいかがですか?