UI 語系 (UI locales)
Logto 支援標準 OIDC 驗證 (Authentication) 參數 ui_locales,用於控制特定互動流程中的登入體驗 (Sign-in experience) 及後續溝通語言。
功能說明
- 決定 Logto 託管登入體驗 (Sign-in experience) 的 UI 語言。Logto 會從
ui_locales中選擇租戶語言庫支援的第一個語言標籤。 - 影響互動過程中觸發的電子郵件本地化(例如驗證碼郵件)。詳見 電子郵件範本本地化。
- 將原始值以變數
uiLocales暴露給電子郵件範本,若有需要可在郵件主旨/內容中引用。 - 設定登入體驗 (Sign-in experience) 中電話號碼預設國碼。例如
ui_locales=fr時,電話欄位預設為法國(+33)。這對於需針對特定用戶群或地區程式化控制預設國碼時特別有用。
參數格式
- 名稱:
ui_locales - 類型:
string - 值:以空格分隔的 BCP 47 語言標籤清單,例如
fr-CA fr en。 - 參考:OpenID Connect Core - ui_locales
決議順序與優先權
Logto 決定登入體驗 (Sign-in experience) 及相關郵件的 UI 語言時,會依下列順序解析終端使用者語言:
- 當前驗證請求 (Authentication request) 的
ui_locales(第一個支援的標籤優先)。 - 若無,則使用
Accept-Language標頭(使用體驗 (Experience) API/使用者帳號 (Account) API)或messagePayload.locale(如組織邀請等 Management API)。 - 若仍無,則採用登入體驗 (Sign-in experience) 設定的租戶預設語言。
此行為僅適用於當前互動,不會永久變更你的語言設定。
SDK 使用方式
若你使用 Logto SDK,請於登入呼叫的 extraParams 傳入 ui_locales,以便轉發至授權請求 (Authorization request):
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或租戶預設語言。