跳至主要內容

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)。這對於需針對特定用戶群或地區程式化控制預設國碼時特別有用。

參數格式

決議順序與優先權

Logto 決定登入體驗 (Sign-in experience) 及相關郵件的 UI 語言時,會依下列順序解析終端使用者語言:

  1. 當前驗證請求 (Authentication request) 的 ui_locales(第一個支援的標籤優先)。
  2. 若無,則使用 Accept-Language 標頭(使用體驗 (Experience) API/使用者帳號 (Account) API)或 messagePayload.locale(如組織邀請等 Management API)。
  3. 若仍無,則採用登入體驗 (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 將以法語(加拿大)顯示;否則依序退回 fren
  • ui_locales=ja 但未啟用日文 → 退回至 Accept-Language 或租戶預設語言。