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-US と en-GB)なら、
locale は同一言語を共有するサポート対象の locale にフォールバックします。
いずれの条件も満たさない場合は、デフォルトの locale が使用されます。
対応ロケールの設定については、gt.config.json のドキュメントを参照してください。
例
基本的な使い方
サーバーサイドレンダリング中にユーザーのlocaleを取得します。
import { getLocale } from 'gt-next/server';
export default async function GetUserLocale() {
const locale = await getLocale();
return <p>ユーザーのロケール: {locale}</p>;
}注意事項
getLocale関数は非同期のため、ロケールを取得するには必ず await する必要があります。- サーバーサイド専用に設計されています。クライアントサイドのコンポーネントには
useLocaleを使用してください。 - 返されるロケールは ロケールコード文字列 の形式に準拠します。
次のステップ
- withGTConfig() を使って対応ロケールの設定方法を学びましょう。
このガイドはいかがですか?