ภาษาของ UI
Logto รองรับพารามิเตอร์มาตรฐาน OIDC สำหรับการยืนยันตัวตน ui_locales เพื่อควบคุมภาษาของประสบการณ์การลงชื่อเข้าใช้และการสื่อสารต่อเนื่องสำหรับแต่ละอินเทอร์แอคชัน
สิ่งที่ทำได้
- กำหนดภาษาของ UI ในประสบการณ์การลงชื่อเข้าใช้ที่โฮสต์โดย Logto ขณะรันไทม์ Logto จะเลือกแท็กภาษาตัวแรกใน
ui_localesที่รองรับในไลบรารีภาษาใน tenant ของคุณ - มีผลกับการแปลอีเมลสำหรับข้อความที่ถูกทริกเกอร์โดยอินเทอร์แอคชัน (เช่น อีเมลรหัสยืนยัน) ดู การแปลเทมเพลตอีเมล
- เปิดเผยค่าต้นฉบับให้กับเทมเพลตอีเมลเป็นตัวแปร
uiLocalesเพื่อให้คุณสามารถนำไปใช้ในหัวข้อ/เนื้อหาอีเมลได้หากต้องการ - กำหนดรหัสประเทศเริ่มต้นของหมายเลขโทรศัพท์ในประสบการณ์การลงชื่อเข้าใช้ เช่น หาก
ui_locales=frช่องกรอกหมายเลขโทรศัพท์จะตั้งค่าเริ่มต้นเป็นฝรั่งเศส (+33) ฟีเจอร์นี้มีประโยชน์เมื่อคุณต้องการควบคุมรหัสประเทศเริ่มต้นแบบโปรแกรมสำหรับกลุ่มผู้ใช้หรือภูมิภาคเฉพาะ
รูปแบบของพารามิเตอร์
- ชื่อ:
ui_locales - ชนิด:
string - ค่า: รายการแท็กภาษาตาม BCP 47 คั่นด้วยช่องว่าง เช่น
fr-CA fr en - อ้างอิง: OpenID Connect Core - ui_locales
ลำดับและลำดับความสำคัญในการเลือกภาษา
เมื่อกำหนดภาษาของ UI สำหรับประสบการณ์การลงชื่อเข้าใช้และอีเมลที่เกี่ยวข้อง Logto จะเลือกภาษาของผู้ใช้ปลายทางตามลำดับนี้:
ui_localesจากคำขอการยืนยันตัวตนปัจจุบัน (แท็กที่รองรับตัวแรกจะถูกเลือก)- หากไม่พบ ใช้
Accept-Languageheader (Experience API / Account API) หรือmessagePayload.locale(Management API เช่น คำเชิญองค์กร) - หากยังไม่พบ ใช้ภาษาหลักของ 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แล้วจึงเป็นenui_locales=jaแต่ไม่ได้เปิดใช้งานภาษาญี่ปุ่น → จะย้อนกลับไปที่Accept-Languageหรือค่าหลักของ tenant