ภาษาท้องถิ่น
Logto รองรับภาษาที่กำหนดไว้ล่วงหน้าหลากหลายภาษา และมีแท็กภาษาเพิ่มเติมอีก 113 แท็ก เครื่องมือนี้ช่วยให้คุณปรับแต่งประสบการณ์การลงชื่อเข้าใช้ด้วยการสร้างและจัดการตัวเลือกภาษาและคำแปลของคุณเอง
ขั้นตอนการปรับแต่งใน Logto Console
ปรับแต่งการตั้งค่าภาษาใน Logto Console ได้อย่างง่ายดายโดยไม่ต้องเขียนโค้ด
- ไปที่: Console > Sign-in & account > Content > Languages
- จัดการภาษา: คลิกปุ่ม “Manage language” เพื่อเข้าสู่ไลบรารีภาษา
- แก้ไขภาษาที่มีอยู่: ปรับแต่งคำแปลของภาษาที่ Logto ให้มา ภาาเหล่านี้ไม่สามารถลบได้ แต่การเปลี่ยนแปลงของคุณจะเขียนทับค่าดีฟอลต์
- เพิ่มภาษาใหม่: คลิกปุ่ม “Add language” เลือกแท็กภาษา ใส่คำแปลของคุณ แล้วบันทึกเพื่อเพิ่มภาษาใหม่
- เปิดใช้งานการตรวจจับอัตโนมัติ: เมื่อเปิดใช้งาน หน้าลงชื่อเข้าใช้จะแสดงเป็นภาษาที่ผู้ใช้ต้องการโดยอัตโนมัติตามการตั้งค่าของอุปกรณ์
- ตั้งค่าภาษาดีฟอลต์: คุณสามารถเลือกภาษาดีฟอลต์จากไลบรารีภาษา ซึ่งจะถูกใช้เมื่อไม่พบภาษาของผู้ใช้ในไลบรารีภาษา
ต่อไปนี้คือคำศัพท์สำคัญที่ควรเข้าใจเมื่อจัดการภาษา:
| คำจำกัดความ | คำอธิบาย |
|---|---|
| Language tag | แท็กภาษาคือรหัสที่ระบุภาษาของเนื้อหา ประกอบด้วยรหัสภาษา (เช่น en, fr, zh) และรหัสประเทศ / ภูมิภาค (เช่น US, UK, KR) คั่นด้วยขีดกลาง ตัวอย่างเช่น: en-US |
| Logto provided language | ภาษาที่ Logto ให้มาคือภาษาทางการของ Logto และถูกเก็บไว้ในโค้ดต้นฉบับของ Logto |
| Added language | Added language คือภาษาที่ผู้ใช้เพิ่มเข้าไปเอง |
| Logto source values | Logto source values คือค่าที่ Logto ให้มาโดยยังไม่ได้รับการปรับแต่งจากผู้ใช้ |
| Custom values | 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": "Already had an account? Sign in to link {{methods, list(type: disjunction;)}} with your social identity."
},
"action": { "sign_in": "Sign in" },
"error": {
"general_required": "{{types, list(type: disjunction;)}} is required"
},
"list": { "or": "or" },
"user_scopes": {
"descriptions": { "custom_data": "Your custom data" }
}
}
ดู ซอร์สโค้ด เพื่อดูเนื้อหาทั้งหมดที่สามารถปรับแต่งได้
คุณยังสามารถใช้ PATCH /api/sign-in-exp API เพื่อควบคุมนโยบาย การตรวจจับภาษา
การเลือกภาษาในขณะรันไทม์
ขณะรันไทม์ ภาษาในประสบการณ์การลงชื่อเข้าใช้จะถูกเลือกตามลำดับความสำคัญดังนี้:
- พารามิเตอร์
ui_localesของ OIDC จากคำขอการยืนยันตัวตนปัจจุบัน (ใช้แท็กแรกที่รองรับ) ดู ui_locales - หากไม่พบ และเปิดใช้งาน “auto-detect” จะใช้ภาษาของไคลเอนต์ผู้ใช้ที่ตรวจจับได้ (เช่น จาก HTTP
Accept-Languageheader) - หากไม่พบอีก จะใช้ภาษาดีฟอลต์ของ tenant ใน Sign-in Experience
การเลือกภาษานี้ยังมีผลกับการแปลอีเมลสำหรับข้อความที่เกิดจากการโต้ตอบด้วย ดูเพิ่มเติม: การแปลเทมเพลตอีเมล
กรณีการใช้งาน
ภาษาเพิ่มเติมที่คุณเพิ่มจะปรากฏต่อผู้ใช้ปลายทางอย่างไร?
สมมติว่าคุณมีเว็บไซต์ที่ใช้ภาษาอังกฤษเป็นดีฟอลต์และเปิดใช้งาน auto-detect ผู้ใช้จากญี่ปุ่นเข้ามาที่เว็บไซต์และต้องการสร้างบัญชี หากเขา / เธอใช้ภาษาญี่ปุ่นเป็นภาษาแอป แต่ Logto ยังไม่รองรับภาษานี้ หน้าลงชื่อเข้าใช้จะปรากฏเป็นภาษาอังกฤษ
ประสบการณ์การลงชื่อเข้าใช้ของ Logto รองรับ i18n ทำให้สามารถปรับแต่งภาษาได้
คลิกแท็กภาษา ja เพื่อเพิ่มคำแปลภาษาญี่ปุ่นของคุณเอง
ด้วยวิธีนี้ ผู้ใช้ที่เข้าถึงเว็บไซต์ของคุณจากญี่ปุ่นจะสามารถอ่านเนื้อหาเป็นภาษาญี่ปุ่นที่คุณเพิ่งแปลจากภาษาอังกฤษ
คำถามที่พบบ่อย
ถ้าภาษาที่ฉันเพิ่มกลายเป็นภาษาที่ Logto ให้มาจะเกิดอะไรขึ้น?
ถัดจากแท็กภาษาทางซ้ายจะมีแท็ก Logto-provided ปรากฏขึ้น และภาษาที่คุณเพิ่มจะไม่สามารถลบได้อีกต่อไป ค่าที่คุณแก้ไขจะยังคงใช้งานและแทนที่ค่าต้นฉบับของ Logto หากต้องการกลับไปใช้ค่าที่ Logto กำหนดไว้ ให้ลบค่าที่ผู้ใช้ระบุออก
ถ้าฉันเพิ่มแค่บางค่าที่ปรับแต่งเองจะเป็นอย่างไร?
สิ่งที่ผู้ใช้ปลายทางเห็นคือผลลัพธ์ของการรวมสองคอลัมน์ สมมติว่าคุณต้องการปรับแต่งเฉพาะบางส่วนของเนื้อหาต้นฉบับที่ Logto ให้มา ความแตกต่างระหว่างหน้าสมัครของคุณกับของ Logto จะมีแค่คีย์ที่คุณแก้ไขเท่านั้น ส่วนที่เหลือจะเหมือนเดิม
จะตั้งค่ารหัสประเทศเบอร์โทรศัพท์ดีฟอลต์สำหรับประสบการณ์การลงชื่อเข้าใช้ได้อย่างไร?
รหัสประเทศเบอร์โทรศัพท์ใน ประสบการณ์การลงชื่อเข้าใช้ จะตั้งค่าตาม locale ของเบราว์เซอร์ผู้ใช้โดยอัตโนมัติ เช่น ถ้าภาษาเบราว์เซอร์ของผู้ใช้ตั้งเป็น fr รหัสประเทศจะเป็นฝรั่งเศส (+33)
หากต้องการควบคุมรหัสประเทศดีฟอลต์แบบโปรแกรมสำหรับผู้ใช้หรือภูมิภาคเฉพาะ สามารถใช้พารามิเตอร์ ui_locales ในการยืนยันตัวตน เช่น ตั้งค่า ui_locales=ja จะทำให้รหัสประเทศดีฟอลต์เป็นญี่ปุ่น (+81)
แหล่งข้อมูลที่เกี่ยวข้อง
การรองรับภาษาอาหรับและการจัดวางภาษาแบบขวาไปซ้าย (RTL) ในแอปของคุณ