Helpers

useLocale()

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

概要

useLocale フックは、ユーザーの現在のロケールを <GTProvider> コンテキスト から取得します。 返されるロケールは 文字列としてフォーマットされます(例:'en-US')。

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

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

リファレンス

戻り値

ユーザーの現在のロケールを表す文字列(例:'en-US')を返します。


フォールバック動作

サポートされていないロケールがリクエストされた場合、フォールバックロケールが選択されます。

例えば、サポートされていないロケールの場合でも、 (1) ユーザーがブラウザ設定で複数の優先ロケールを設定していて、 (2) その中のいずれかのロケールがアプリケーションでサポートされている場合、 ロケールは最適な言語にフォールバックされます。

さらに、利用可能なフォールバックロケールが存在しない場合でも、 2つのロケールが同じ言語を共有している場合(例: en-USen-GB)、 同じ言語を共有するサポートされているロケールにフォールバックされます。

どちらの条件も満たされない場合は、デフォルトのロケールが使用されます。

サポートされているロケールの設定方法については、gt.config.json ドキュメントをご覧ください。


基本的な使用方法

現在のロケールを取得し、コンポーネント内で表示します。

CurrentLocale.jsx
"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() を参照してください。

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