ปรับประสบการณ์ลงชื่อเข้าใช้ Logto ของคุณให้เหมาะกับท้องถิ่นด้วย OIDC ui_locales
ทำให้ประสบการณ์การลงชื่อเข้าใช้ของคุณรู้สึกเป็นธรรมชาติสำหรับผู้ใช้ทุกคน ในบทแนะนำนี้ คุณจะได้เรียนรู้วิธีใช้พารามิเตอร์มาตรฐาน OIDC อย่าง ui_locales เพื่อกำหนดภาษาขณะรันไทม์ของ UI ลงชื่อเข้าใช้ของ Logto และอีเมลที่เกี่ยวข้อง
ทำไมต้องใช้ ui_locales?
Logto รองรับเนื้อหาหลายภาษาและการตรวจจับอัตโนมัติอยู่แล้ว แต่บางครั้งคุณอาจต้องการเลือกภาษาสำหรับสถานการณ์เฉพาะโดยตรง:
- ผลิตภัณฑ์แบบหลายองค์กรที่แต่ละองค์กรมีภาษาที่ต้องการต่างกัน
- ลิงก์ลึกจากแคมเปญที่ใช้ภาษาหน ึ่งโดยเฉพาะ
- หน้าสินค้าที่มีปุ่ม CTA สำหรับภาษาท้องถิ่นและเริ่มต้นการลงชื่อเข้าใช้ด้วยภาษาเดียวกัน
- ทดสอบ A/B สำหรับ onboarding ที่ปรับท้องถิ่น
นอกจากนี้ ui_locales
ยังเป็นพารามิเตอร์มาตรฐานที่ผู้ให้บริการระบุตัวตนและ SDK จำนวนมากรองรับอยู่แล้ว
ui_locales มีผลทำอะไรบ้าง
- ตั้งค่าภาษาของ UI ลงชื่อเข้าใช้สำหรั บปฏิสัมพันธ์ในขณะนั้น (รับ tag ที่รองรับตัวแรก)
- มีผลต่อการปรับข้อความอีเมลสำหรับข้อความที่ถูกกระตุ้นจากปฏิสัมพันธ์นี้
- เปิดเผยค่าดั้งเดิมให้ email template ในรูปของตัวแปร
uiLocales
(เช่น "ภาษาที่ร้องขอ:{{uiLocales}}
")
ดูรายละเอียดเพิ่มเติมที่คู่มืออ้างอิง: UI locales docs
ข้อกำหนดเบื้องต้น
- มี Logto tenant (Cloud หรือ OSS)
- มีแอปพลิเคชั่นที่ผสานรวมกับ Logto (Quick-starts)
- เปิดใช้งานภาษาเพิ่มเติมในประสบการณ์ลงชื่อเข้าใช้แล้วอย่างน้อย 1 ภาษา (ภาษาท้องถิ่น)
ตัวเลือกเสริมแต่มีประโยชน์:
- เปิดใช้งานแม่แบบอีเมลแบบกำหนดเองหรือใช้แม่แบบที่ผู้ให้บริการจัดการ เพื่อลองดูการเปลี่ยนภาษาของอีเมล (แม่แบบอีเมล)
วิธีที่ 1: ใช้ ui_locales ผ่าน SDK extraParams
Logto SDK อนุญาตให้คุณส่งพารามิเตอร์ OIDC เพิ่มเติมขณะลงชื่อเข้าใช้ เพิ่ม ui_locales ลงใน extraParams
:
หมายเหตุ:
- ใช้รายการ tag BCP 47 แยกด้วยช่องว่าง Logto จะเลือก tag แรกที่มีในไลบรารีภาษาของ tenant (เช่น
fr-CA
ถ้าไม่มีจะเป็นfr
ต่อด้วยen
) - ใช้ครั้งต่อครั้ง—ไม่ได้เปลี่ยนค่าภาษาเริ่มต้นของ tenant
- สามารถใช้
ui_locales
ร่วมกับพารามิเตอร์มาตรฐาน/กำหนดเองอื่น ๆ ได้ (เช่นlogin_hint
,organization_id
หรือ directive สำหรับหน้าจอแรก)
วิธีที่ 2: เพิ่ม ui_locales ลงใน authorize URL ของคุณ
หากคุณเขียนคำขออนุญาต OIDC ด้วยตัวเอง (หรือผ่าน OIDC client ทั่วไป) ให้เพิ่ม ui_locales
ลงไปโดยตรง:
วิธีปรับภาษาในอีเมล
เมื่อมี ปฏิสัมพันธ์ที่ทำให้อีเมลถูกส่ง (เช่น รหัสยืนยัน) Logto จะกำหนดลำดับการเลือกภาษาดังนี้:
ui_locales
(tag ที่รองรับตัวแรก)- ถ้ายังไม่พบ ตรวจจับอัตโนมัติผ่าน HTTP header
Accept-Language
- ถ้ายังไม่พบ ใช้ภาษาตั้งต้นของ tenant
จากนั้น Logto จะพยายามหาแม่แบบอีเมลแบบกำหนดเองที่ตรงกับภาษาและชนิดแม่แบบนั้น ๆ ถ้าไม่พบจะใช้ค่าตั้งต้นของ connector แทน
แม่แบบที่ผู้ให้บริการจัดการ (เช่น Postmark, HTTP Email): Logto จะส่งทั้ง uiLocales
และ locale
ไปยังผู้ให้บริการของคุณ ถ้ามี ui_locales
จะใช้ tag ตัวแรกที่รองรับใน ui_locales
เป็นค่า locale
ดูรายละเอียด: การปรับภาษาแม่แบบอีเมล