Helpers

getLocale()

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

概要

getLocale() 関数は、サーバーサイドレンダリング中にユーザーの現在のロケールを取得します。 返されるロケールは文字列としてフォーマットされており、例:'en-US' のようになります。

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

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

リファレンス

戻り値

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


フォールバック動作

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

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

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

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

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


基本的な使用方法

サーバーサイドレンダリング中にユーザーのロケールを取得します。

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

export default async function GetUserLocale() {
    const locale = await getLocale(); 
    return <p>User locale: {locale}</p>;
}

注意

  • getLocale() 関数は非同期であり、ロケールを取得するには await する必要があります。
  • これはサーバーサイドでの使用を目的としています。クライアントサイドのコンポーネントには useLocale() を参照してください。
  • 返されるロケールは ロケール文字列 の形式に準拠しています。

次のステップ

  • サポートされているロケールの設定方法については、withGTConfig() をご覧ください。
  • フォールバックロケールの管理については、getDefaultLocale() を参照してください。

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