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