ภาษาท้องถิ่น
Logto รองรับภาษาที่กำหนดไว้ล่วงหน้าหลากหลายภาษา และมีแท็กภาษาเพิ่มเติมอีก 113 แท็ก เครื่องมืออันทรงพลังนี้ช่วยให้คุณปรับแต่งประสบการณ์การลงชื่อเข้าใช้ได้โดยการสร้างและจัดการตัวเลือกภาษาและคำแปลของคุณเอง
ขั้นตอนการปรับแต่งใน Logto Console
ปรับแต่งการตั้งค่าภาษาใน Logto Console ได้อย่างง่ายดายโดยไม่ต้องเขียนโค้ด
- ไปที่: Console > ประสบการณ์การลงชื่อเข้าใช้ > เนื้อหา > ภาษา
- จัดการภาษา: คลิกปุ่ม “จัดการภาษา” เพื่อเข้าถึงคลังภาษาของคุณ
- แก้ไขภาษาที่มีอยู่: ปรับแต่งคำแปลของภาษาที่ Logto ให้มา ภาาเหล่านี้ไม่สามารถลบได้ แต่การเปลี่ยนแปลงของคุณจะเขียนทับค่าดั้งเดิม
- เพิ่มภาษาใหม่: คลิกปุ่ม “เพิ่มภาษา” เลือกแท็กภาษา ใส่คำแปลของคุณ แล้วบันทึกการเปลี่ยนแปลงเพื่อเพิ่มภาษาใหม่
- เปิดใช้งานการตรวจจับอัตโนมัติ: เมื่อเปิดใช้งานแล้ว ระบบจะแสดงหน้าลงชื่อเข้าใช้เป็นภาษาที่ผู้ใช้ต้องการโดยอัตโนมัติตามการตั้งค่าของอุปกรณ์
- ตั้งค่าภาษาเริ่มต้น: คุณสามารถเลือกภาษาหลักจากคลังภาษาของคุณได้ ภาษานี้จะถูกใช้เมื่อไม่พบภาษาของผู้ใช้ในคลังภาษา
ต่อไปนี้คือคำศัพท์สำคัญที่ควรเข้าใจเมื่อจัดการภาษา:
คำจำกัดความ | คำอธิบาย |
---|---|
แท็กภาษา (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 เพื่อควบคุมนโยบาย การตรวจจับภาษา ได้ด้วย
การเลือกภาษาในขณะรันไทม์
ขณะรันไทม์ ระบบจะเลือกภาษาของประสบการณ์การลงชื่อเข้าใช้ตามลำดับความสำคัญดังนี้:
- พารามิเตอร์
ui_locales
ของ OIDC จากคำขอการยืนยันตัวตนปัจจุบัน (ใช้แท็กแรกที่รองรับ) ดู ui_locales - หากไม่พบ และเปิดใช้งาน “ตรวจจับอัตโนมัติ” ระบบจะใช้ภาษาของผู้ใช้ที่ตรวจพบ (เช่น จาก HTTP header
Accept-Language
) - หากยังไม่พบ จะใช้ภาษาหลักของ tenant ในประสบการณ์การลงชื่อเข้าใช้
การเลือกภาษานี้ยังมีผลกับการแปลอีเมลสำหรับข้อความที่เกิดจากการโต้ตอบด้วย ดูเพิ่มเติม: การแปลเทมเพลตอีเมล
กรณีการใช้งาน
ภาษาที่เพิ่มจะปรากฏต่อผู้ใช้ปลายทางอย่างไร?
สมมติว่าคุณมีเว็บไซต์ที่ใช้ภาษาอังกฤษเป็นค่าเริ่มต้นและเปิดใช้งานการตรวจจับอัตโนมัติ ผู้ใช้จากญี่ปุ่นเข้ามาที่เว็บไซต์ของคุณและต้องการสร้างบัญชี หากเขา / เธอใช้ภาษาญี่ปุ่นเป็นภาษาของแอป แต่ Logto ยังไม่รองรับภาษานี้ หน้าลงชื่อเข้าใช้จะปรากฏเป็นภาษาอังกฤษ
ประสบการณ์การลงชื่อเข้าใช้ของ Logto รองรับ i18n ทำให้สามารถปรับแต่งภาษาได้
คลิกแท็กภาษา ja
เพื่อเพิ่มคำแปลภาษาญี่ปุ่นของคุณเอง
ด้วยวิธีนี้ ผู้ใช้ที่เข้าถึงเว็บไซต์ของคุณจากญี่ปุ่นจะสามารถอ่านเนื้อหาเป็นภาษาญี่ปุ่นที่คุณเพิ่งแปลจากภาษาอังกฤษ
คำถามที่พบบ่อย
ถ้าภาษาที่ฉันเพิ่มกลายเป็นภาษาที่ Logto ให้มาจะเกิดอะไรขึ้น?
ถัดจากแท็กภาษาทางซ้ายจะมีป้ายกำกับว่า “Logto-provided” ปรากฏขึ้น และภาษาที่คุณเพิ่มจะไม่สามารถลบได้อีกต่อไป ค่าที่คุณแก้ไขจะยังคงทำงานและแทนที่ค่าต้นฉบับของ Logto หากต้องการกลับไปใช้ค่าที่ Logto กำหนดมา ให้ลบค่าที่ผู้ใช้ระบุออก
ถ้าฉันเพิ่มแค่ค่าที่ปรับแต่งเองบางส่วนเท่านั้นจะเป็นอย่างไร?
สิ่งที่ผู้ใช้ปลายทางเห็นคือผลลัพธ์ของการรวมสองคอลัมน์ สมมติว่าคุณต้องการปรับแต่งเฉพาะบางส่วนของเนื้อหาต้นฉบับที่ Logto ให้มา หน้าสมัครสมาชิกของคุณจะแตกต่างจากของ Logto เฉพาะในคีย์ที่คุณแก้ไข ส่วนที่เหลือจะเหมือนเดิม
แหล่งข้อมูลที่เกี่ยวข้อง
การรองรับภาษาอาหรับและการจัดวางภาษาแบบขวาไปซ้าย (RTL) ในแอปพลิเคชันของคุณ