UI ロケール
Logto は、標準の OIDC 認証 (Authentication) パラメーター ui_locales をサポートしており、特定のインタラクションにおけるサインイン体験や下流のコミュニケーションの言語を制御できます。
機能概要
- Logto ホスト型サインイン体験の UI 言語を実行時に決定します。Logto は、
ui_locales内の最初のサポートされている言語タグをテナントの言語ライブラリから選択します。 - インタラクションによってトリガーされるメッセージ(例:認証コードメール)のメールローカライズに影響します。詳細は メールテンプレートのローカライズ を参照してください。
- 元の値をメールテンプレートの変数
uiLocalesとして公開し、必要に応じてメールの件名や内容に含めることができます。
パラメーター形式
- 名前:
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 を渡すことで、認可リクエストに転送されます:
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またはテナントのデフォルトにフォールバックします。