ข้ามไปยังเนื้อหาหลัก

ภาษาของ UI

Logto รองรับพารามิเตอร์มาตรฐาน OIDC สำหรับการยืนยันตัวตน ui_locales เพื่อควบคุมภาษาของประสบการณ์การลงชื่อเข้าใช้และการสื่อสารต่อเนื่องสำหรับแต่ละอินเทอร์แอคชัน

สิ่งที่ทำได้

  • กำหนดภาษาของ UI สำหรับประสบการณ์การลงชื่อเข้าใช้ที่โฮสต์โดย Logto ในขณะรันไทม์ Logto จะเลือกแท็กภาษาตัวแรกใน ui_locales ที่รองรับในไลบรารีภาษาของ tenant ของคุณ
  • มีผลกับการแปลอีเมลสำหรับข้อความที่ถูกกระตุ้นโดยอินเทอร์แอคชัน (เช่น อีเมลรหัสยืนยัน) ดู การแปลเทมเพลตอีเมล
  • เปิดเผยค่าต้นฉบับไปยังเทมเพลตอีเมลเป็นตัวแปร uiLocales เพื่อให้คุณสามารถนำไปใช้ในหัวข้อ/เนื้อหาอีเมลได้หากต้องการ

รูปแบบของพารามิเตอร์

  • ชื่อ: ui_locales
  • ชนิด: string
  • ค่า: รายการแท็กภาษาตามมาตรฐาน BCP 47 คั่นด้วยช่องว่าง เช่น fr-CA fr en
  • อ้างอิง: OpenID Connect Core - ui_locales

ลำดับและลำดับความสำคัญในการเลือกภาษา

เมื่อกำหนดภาษาของ UI สำหรับประสบการณ์การลงชื่อเข้าใช้และอีเมลที่เกี่ยวข้อง Logto จะเลือกภาษาของผู้ใช้ปลายทางตามลำดับนี้:

  1. ui_locales จากคำขอการยืนยันตัวตน (authentication request) ปัจจุบัน (แท็กที่รองรับตัวแรกจะถูกเลือก)
  2. หากไม่พบ ใช้ Accept-Language header (Experience APIs / User Account APIs) หรือ messagePayload.locale (Management APIs เช่น การเชิญองค์กร)
  3. หากยังไม่พบ ใช้ภาษาหลักของ tenant ที่ตั้งค่าไว้ใน Sign-in Experience

พฤติกรรมนี้จะไม่เปลี่ยนการตั้งค่าภาษาของคุณถาวร; จะมีผลเฉพาะกับอินเทอร์แอคชันปัจจุบันเท่านั้น

การใช้งาน SDK

หากคุณใช้ Logto SDK ให้ส่ง ui_locales ผ่าน extraParams ของคำสั่ง sign-in เพื่อให้ถูกส่งต่อไปยังคำขอ 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 หรือภาษาหลักของ tenant