Helpers

useLocale

useLocale フックのAPIリファレンス

概要

useLocale フックは、<GTProvider> コンテキストからユーザーの現在の locale を取得します。 返される locale は文字列形式で、例として 'en-US' のようになります。

useLocale はクライアントサイドのフックで、クライアントサイドのコンポーネントでのみ使用できます。 アプリ全体を <GTProvider> でラップしていることを確認してください。

サーバーサイドでの locale 管理については、getLocale を参照してください。

リファレンス

戻り値

ユーザーの現在のlocaleを表す文字列。例: 'en-US'


フォールバックの動作

未対応のlocaleが要求された場合、フォールバック用のlocaleが選択されます。

たとえば、未対応のlocaleであっても、 (1) ユーザーがブラウザー設定で複数の優先localeを設定しており、 (2) そのうちの1つがアプリケーションでサポートされている場合、 localeは最適な言語へフォールバックします。

さらに、利用可能なフォールバックlocaleがない場合でも、 2つのlocaleが同じ言語を共有している(例: en-USen-GB)なら、 localeは同じ言語を共有するサポート対象の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}</p>;
}

注意事項

  • useLocale フックはコンテキストにアクセスするために <GTProvider> に依存します。アプリのルートでプロバイダーでラップされていることを確認してください。
  • useLocale はクライアントサイド専用です。
  • ロケールコード文字列の詳細はこちらをご覧ください。

次のステップ

  • アプリケーションで対応ロケールを管理し、サポートするロケールを指定する方法を、gt.config.json ファイルで学びましょう。

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

useLocale