UI ロケール
Logto は、標準の OIDC 認証 (Authentication) パラメーター ui_locales をサポートしており、特定のインタラクションにおけるサインイン体験や下流のコミュニケーションの言語を制御できます。
機能概要
- 実行時に Logto ホスト型サインイン体験の UI 言語を決定します。Logto は、
ui_locales内の最初のサポートされている言語タグをテナントの言語ライブラリから選択します。 - インタラクションによってトリガーされるメッセージ(例:認証コードメール)のメールローカライズに影響します。詳細は メールテンプレートのローカライズ を参照してください。
- 元の値をメールテンプレートの変数
uiLocalesとして公開し、必要に応じてメールの件名や内容に含めることができます。 - サインイン体験での電話番号のデフォルト国コードを設定します。例えば、
ui_locales=frの場合、電話番号入力欄はフランス(+33)がデフォルトになります。特定のユーザーグループや地域向けにプログラムでデフォルト国コードを制御したい場合に便利です。
パラメーター形式
- 名前:
ui_locales - 型:
string - 値:BCP 47 言語タグのスペース区切りリスト(例:
fr-CA fr en) - 参考:OpenID Connect Core - ui_locales
解決順序と優先順位
サインイン体験や関連メールの UI 言語を決定する際、Logto は次の順序でエンドユーザーの言語を解決します:
- 現在の認証 (Authentication) リクエストの
ui_locales(最初にサポートされているタグが優先)。 - それ以外の場合、
Accept-Languageヘッダー(体験 API / ユーザーアカウント API)またはmessagePayload.locale(組織招待などの管理 API)。 - それ以外の場合、サインイン体験で設定されたテナントのデフォルト言語。
この動作は言語設定を恒久的に変更するものではなく、現在のインタラクションにのみ適用されます。
SDK での利用方法
Logto SDK を利用している場合、サインイン呼び出しの extraParams 経由で ui_locales を渡すことで、認可 (Authorization) リクエストに転送できます:
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またはテナントのデフォルトにフォールバックします。