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

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

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

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

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

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

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

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

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

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

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