Helpers

getLocale

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

概要

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

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

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

リファレンス

返り値

ユーザーの現在の locale を表す文字列に解決される Promise。例:'en-US'


フォールバックの挙動

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

たとえば未対応の locale の場合でも、 (1) ユーザーがブラウザの設定で複数の優先 locale を指定しており、 (2) そのうちのいずれかがアプリケーションでサポートされている場合は、 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() を使って対応ロケールの設定方法を学びましょう。

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