Helpers

getLocale

サーバーサイドの getLocale メソッドのAPIリファレンス

概要

getLocale 関数は、サーバーサイドレンダリング中にユーザーの現在の locale を取得します。 返される locale は文字列として表現され(例: 'en-US')ます。

getLocale はサーバーサイドのメソッドであり、サーバーサイドのコンポーネントでのみ使用できます。

クライアントサイドでの利用については、useLocale を参照してください。

リファレンス

戻り値

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


フォールバックの挙動

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

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

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

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

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


基本的な使い方

サーバーサイドレンダリング時にユーザーのlocaleを取得します。

GetUserLocale.jsx
import { getLocale } from 'gt-next/server';

export default async function GetUserLocale() {
    const locale = await getLocale(); 
    return <p>ユーザーのロケール: {locale}</p>;
}

注意事項

  • getLocale 関数は非同期のため、ロケールを取得するには await が必要です。
  • サーバーサイド向けに設計されています。クライアントサイドのコンポーネントには useLocale を参照してください。
  • 返されるロケールは ロケールコード文字列 の形式に準拠します。

次のステップ

  • withGTConfig() を使って対応ロケールの設定方法を学びましょう。

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

getLocale