• localization
  • internationalization
  • i18n
  • l10n
  • ui_locales
  • locale

ปรับประสบการณ์ลงชื่อเข้าใช้ Logto ของคุณให้เหมาะกับท้องถิ่นด้วย OIDC ui_locales

ทำให้ประสบการณ์การลงชื่อเข้าใช้ของคุณรู้สึกเป็นธรรมชาติสำหรับผู้ใช้ทุกคน ในบทแนะนำนี้ คุณจะได้เรียนรู้วิธีใช้พารามิเตอร์มาตรฐาน OIDC อย่าง ui_locales เพื่อกำหนดภาษาขณะรันไทม์ของ UI ลงชื่อเข้าใช้ของ Logto และอีเมลที่เกี่ยวข้อง

Charles
Charles
Developer

หยุดเสียเวลาเป็นสัปดาห์กับการยืนยันตัวตนผู้ใช้
เปิดตัวแอปที่ปลอดภัยเร็วขึ้นด้วย Logto ผสานการยืนยันตัวตนผู้ใช้ภายในไม่กี่นาทีและมุ่งเน้นที่ผลิตภัณฑ์หลักของคุณ
เริ่มต้นใช้งาน
Product screenshot

ทำไมต้องใช้ 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 จะกำหนดลำดับการเลือกภาษาดังนี้:

  1. ui_locales (tag ที่รองรับตัวแรก)
  2. ถ้ายังไม่พบ ตรวจจับอัตโนมัติผ่าน HTTP header Accept-Language
  3. ถ้ายังไม่พบ ใช้ภาษาตั้งต้นของ tenant

จากนั้น Logto จะพยายามหาแม่แบบอีเมลแบบกำหนดเองที่ตรงกับภาษาและชนิดแม่แบบนั้น ๆ ถ้าไม่พบจะใช้ค่าตั้งต้นของ connector แทน

แม่แบบที่ผู้ให้บริการจัดการ (เช่น Postmark, HTTP Email): Logto จะส่งทั้ง uiLocales และ locale ไปยังผู้ให้บริการของคุณ ถ้ามี ui_locales จะใช้ tag ตัวแรกที่รองรับใน ui_locales เป็นค่า locale

ดูรายละเอียด: การปรับภาษาแม่แบบอีเมล

แหล่งข้อมูลอ้างอิง