メインコンテンツまでスキップ

UI ロケール

Logto は、標準の OIDC 認証 (Authentication) パラメーター ui_locales をサポートしており、特定のインタラクションにおけるサインイン体験や下流のコミュニケーションの言語を制御できます。

機能概要

  • Logto ホスト型サインイン体験の UI 言語を実行時に決定します。Logto は、ui_locales 内の最初のサポートされている言語タグをテナントの言語ライブラリから選択します。
  • インタラクションによってトリガーされるメッセージ(例:認証コードメール)のメールローカライズに影響します。詳細は メールテンプレートのローカライズ を参照してください。
  • 元の値をメールテンプレートの変数 uiLocales として公開し、必要に応じてメールの件名や内容に含めることができます。

パラメーター形式

解決順序と優先順位

サインイン体験や関連メールの UI 言語を決定する際、Logto は次の順序でエンドユーザーの言語を解決します:

  1. 現在の認証 (Authentication) リクエストの ui_locales(最初にサポートされているタグが優先)。
  2. それ以外の場合、Accept-Language ヘッダー(体験 API / ユーザーアカウント API)または messagePayload.locale(組織招待などの管理 API)。
  3. それ以外の場合、サインイン体験で設定されたテナントのデフォルト言語。

この動作は言語設定を恒久的に変更するものではなく、現在のインタラクションにのみ適用されます。

SDK での利用方法

Logto SDK を利用している場合、サインイン呼び出しの extraParams 経由で ui_locales を渡すことで、認可リクエストに転送されます:

await logtoClient.signIn({
redirectUri: 'https://your.app/callback',
extraParams: {
ui_locales: 'fr-CA fr en',
},
});

使用例

  • ui_locales=fr-CA fr en → 言語ライブラリに fr-CA が存在すれば、サインイン UI はフランス語(カナダ)で表示されます。なければ fr、次に en へフォールバックします。
  • ui_locales=ja だが日本語が有効でない場合 → Accept-Language またはテナントのデフォルトにフォールバックします。