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

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

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) ในแอปของคุณ