Helpers

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-USen-GB)なら、 同じ言語を共有するサポート対象のlocaleにフォールバックします。

いずれの条件も満たせない場合は、デフォルトのlocaleが使用されます。

サポートされるlocaleの設定方法については、gt.config.json のドキュメントを参照してください。


基本的な使い方

現在の locale を取得して、コンポーネントに表示します。

CurrentLocale.jsx
"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 ファイルを使って、アプリケーションで対応ロケールを管理・指定する方法を学びましょう。

このガイドはいかがですか?