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

ภาษาท้องถิ่น

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

ขั้นตอนการปรับแต่งใน Logto Console

ปรับแต่งการตั้งค่าภาษาใน Logto Console ได้อย่างง่ายดายโดยไม่ต้องเขียนโค้ด

  1. ไปที่: Console > ประสบการณ์การลงชื่อเข้าใช้ > เนื้อหา > ภาษา
  2. จัดการภาษา: คลิกปุ่ม “จัดการภาษา” เพื่อเข้าถึงคลังภาษาของคุณ
    • แก้ไขภาษาที่มีอยู่: ปรับแต่งคำแปลของภาษาที่ Logto ให้มา ภาาเหล่านี้ไม่สามารถลบได้ แต่การเปลี่ยนแปลงของคุณจะเขียนทับค่าดั้งเดิม
    • เพิ่มภาษาใหม่: คลิกปุ่ม “เพิ่มภาษา” เลือกแท็กภาษา ใส่คำแปลของคุณ แล้วบันทึกการเปลี่ยนแปลงเพื่อเพิ่มภาษาใหม่
  3. เปิดใช้งานการตรวจจับอัตโนมัติ: เมื่อเปิดใช้งานแล้ว ระบบจะแสดงหน้าลงชื่อเข้าใช้เป็นภาษาที่ผู้ใช้ต้องการโดยอัตโนมัติตามการตั้งค่าของอุปกรณ์
  4. ตั้งค่าภาษาเริ่มต้น: คุณสามารถเลือกภาษาหลักจากคลังภาษาของคุณได้ ภาษานี้จะถูกใช้เมื่อไม่พบภาษาของผู้ใช้ในคลังภาษา

ต่อไปนี้คือคำศัพท์สำคัญที่ควรเข้าใจเมื่อจัดการภาษา:

คำจำกัดความคำอธิบาย
แท็กภาษา (Language tag)แท็กภาษาระบุภาษาของเนื้อหา แท็กภาษาประกอบด้วยรหัสภาษา (เช่น en, fr, zh) และรหัสประเทศ / ภูมิภาค (เช่น US, UK, KR) คั่นด้วยขีดกลาง ตัวอย่างแท็กภาษา: en-US
ภาษาที่ Logto ให้มา (Logto provided language)ภาษาที่ Logto ให้มาเป็นภาษาทางการของ Logto และถูกเก็บไว้ในโค้ดต้นฉบับของ Logto
ภาษาที่เพิ่ม (Added language)ภาษาที่เพิ่มคือภาษาที่ผู้ใช้เพิ่มเข้ามาเอง
ค่าต้นฉบับของ Logto (Logto source values)ค่าต้นฉบับของ Logto คือค่าที่ Logto กำหนดมาโดยยังไม่ได้รับการปรับแต่งจากผู้ใช้
ค่าที่ปรับแต่งเอง (Custom values)ค่าที่ปรับแต่งเองคือค่าที่ผู้ใช้ได้ปรับแต่งแล้ว ค่าต้นฉบับของ Logto จะถูกเขียนทับ

การปรับแต่งผ่าน Management API

คุณสามารถใช้ Management API PUT /api/custom-phrases/{languageTag} เพื่อปรับแต่งคำแปลภาษาได้ โดย body ของ API request จะเป็นอ็อบเจ็กต์ locale แบบบางส่วน เช่น:

{
"input": { "username": "Username", "password": "Password" },
"secondary": {
"social_bind_with": "มีบัญชีอยู่แล้ว? ลงชื่อเข้าใช้เพื่อเชื่อมโยง {{methods, list(type: disjunction;)}} กับบัญชีโซเชียลของคุณ"
},
"action": { "sign_in": "ลงชื่อเข้าใช้" },
"error": {
"general_required": "{{types, list(type: disjunction;)}} จำเป็นต้องระบุ"
},
"list": { "or": "หรือ" },
"user_scopes": {
"descriptions": { "custom_data": "ข้อมูลที่คุณกำหนดเอง" }
}
}

ดู ซอร์สโค้ด เพื่อดูเนื้อหาทั้งหมดที่สามารถปรับแต่งได้

คุณยังสามารถใช้ PATCH /api/sign-in-exp API เพื่อควบคุมนโยบาย การตรวจจับภาษา ได้ด้วย

การเลือกภาษาในขณะรันไทม์

ขณะรันไทม์ ระบบจะเลือกภาษาของประสบการณ์การลงชื่อเข้าใช้ตามลำดับความสำคัญดังนี้:

  1. พารามิเตอร์ ui_locales ของ OIDC จากคำขอการยืนยันตัวตนปัจจุบัน (ใช้แท็กแรกที่รองรับ) ดู ui_locales
  2. หากไม่พบ และเปิดใช้งาน “ตรวจจับอัตโนมัติ” ระบบจะใช้ภาษาของผู้ใช้ที่ตรวจพบ (เช่น จาก HTTP header Accept-Language)
  3. หากยังไม่พบ จะใช้ภาษาหลักของ tenant ในประสบการณ์การลงชื่อเข้าใช้

การเลือกภาษานี้ยังมีผลกับการแปลอีเมลสำหรับข้อความที่เกิดจากการโต้ตอบด้วย ดูเพิ่มเติม: การแปลเทมเพลตอีเมล

กรณีการใช้งาน

ภาษาที่เพิ่มจะปรากฏต่อผู้ใช้ปลายทางอย่างไร?

สมมติว่าคุณมีเว็บไซต์ที่ใช้ภาษาอังกฤษเป็นค่าเริ่มต้นและเปิดใช้งานการตรวจจับอัตโนมัติ ผู้ใช้จากญี่ปุ่นเข้ามาที่เว็บไซต์ของคุณและต้องการสร้างบัญชี หากเขา / เธอใช้ภาษาญี่ปุ่นเป็นภาษาของแอป แต่ Logto ยังไม่รองรับภาษานี้ หน้าลงชื่อเข้าใช้จะปรากฏเป็นภาษาอังกฤษ

ประสบการณ์การลงชื่อเข้าใช้ของ Logto รองรับ i18n ทำให้สามารถปรับแต่งภาษาได้

คลิกแท็กภาษา ja เพื่อเพิ่มคำแปลภาษาญี่ปุ่นของคุณเอง

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

คำถามที่พบบ่อย

ถ้าภาษาที่ฉันเพิ่มกลายเป็นภาษาที่ Logto ให้มาจะเกิดอะไรขึ้น?

ถัดจากแท็กภาษาทางซ้ายจะมีป้ายกำกับว่า “Logto-provided” ปรากฏขึ้น และภาษาที่คุณเพิ่มจะไม่สามารถลบได้อีกต่อไป ค่าที่คุณแก้ไขจะยังคงทำงานและแทนที่ค่าต้นฉบับของ Logto หากต้องการกลับไปใช้ค่าที่ Logto กำหนดมา ให้ลบค่าที่ผู้ใช้ระบุออก

ถ้าฉันเพิ่มแค่ค่าที่ปรับแต่งเองบางส่วนเท่านั้นจะเป็นอย่างไร?

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

การรองรับภาษาอาหรับและการจัดวางภาษาแบบขวาไปซ้าย (RTL) ในแอปพลิเคชันของคุณ