x

บทหลัก

  1. LimeSurvey Cloud เทียบกับ LimeSurvey CE
  2. คู่มือเริ่มต้นใช้งานฉบับย่อ - LimeSurvey 3.0+
  3. การติดตั้ง - LimeSurvey CE
  4. วิธีออกแบบแบบสำรวจที่ดี (คู่มือ)
  5. เริ่มต้นใช้งาน
  6. การดูแลระบบ LimeSurvey
  7. แบบสำรวจ - บทนำ
  8. การตั้งค่าแบบสอบถาม
  9. เมนูสำรวจ
  10. โครงสร้างการสำรวจ
  11. คำถาม - บทนำ
  12. กลุ่มคำถาม - บทนำ
  13. แบบสำรวจ - การจัดการ
  14. ตัวเลือกแถบเครื่องมือแบบสำรวจ
  15. แบบสำรวจหลายภาษา
  16. ExpressionScript Engine - คู่มือเริ่มต้นอย่างรวดเร็ว
  17. ฟีเจอร์ขั้นสูงและฟีเจอร์ที่ไม่ได้จัดหมวดหมู่
  18. คำถามที่พบบ่อยทั่วไป
  19. การแก้ไขปัญหา
  20. วิธีแก้ปัญหาชั่วคราว (Workarounds)
  21. สัญญาอนุญาต
  22. บันทึกการเปลี่ยนแปลงของเวอร์ชัน
  23. ปลั๊กอิน
 Actions

การแปลแบบกำหนดเอง

From LimeSurvey Manual

หน้านี้อาจแปลด้วยเครื่องและอาจมีข้อผิดพลาด ดูต้นฉบับภาษาอังกฤษ · ปรับปรุงคำแปลนี้
This page is a translated version of the page Custom translation and the translation is 100% complete.

บทนำ

ตั้งแต่ LimeSurvey 5.4.0 คุณสามารถกำหนดคำแปลของคุณเองสำหรับสตริงทั้งหมดในทุกภาษาที่รองรับ โดยเข้าถึงฐานข้อมูลของคุณโดยตรง

สามารถใช้ระบบนี้ได้หากคำแปลที่มีอยู่ไม่เหมาะสมกับความต้องการทางธุรกิจของคุณ

ควรใช้เฉพาะในกรณีที่จำเป็นเท่านั้น เนื่องจากการแก้ไขข้อความในส่วนหลักของ LimeSurvey จะต้องมีการแก้ไขฐานข้อมูลของคุณอีกครั้ง

นอกจากนี้ คุณยังสามารถใช้วิธีนี้เพื่อแปลสตริงที่เฉพาะเจาะจงกับธีมแบบสำรวจได้อีกด้วย

การแปลผ่านฐานข้อมูลทำงานอย่างไร

สำหรับการแปลผ่านฐานข้อมูล LimeSurvey ใช้วิธีการที่ได้รับแรงบันดาลใจจาก CDbMessageSource ของเฟรมเวิร์ก Yii

  1. ค้นหาสตริงในตาราง SourceMessage lime_source_message->message แล้วนำ id มาใช้ : lime_source_message->id
  2. หากพบ ให้ค้นหาคำแปลที่เกี่ยวข้องในตาราง Message lime_message->translation สำหรับภาษาปัจจุบัน lime_message->language ด้วย id ปัจจุบัน lime_message->id

LimeSurvey สร้างอาร์เรย์ของคำแปลจากไฟล์ po (ดู การแปล LimeSurvey สำหรับข้อมูลเกี่ยวกับวิธีอัปเดตไฟล์นี้) จากนั้นจึงรวมเข้ากับคำแปลทั้งหมดจากฐานข้อมูล

หลังจากนั้น หากมีคำแปลในฐานข้อมูล ระบบจะส่งคืนคำแปลจากฐานข้อมูลเสมอ

ตัวอย่างปุ่ม “ส่ง” ในภาษาอังกฤษและภาษาฝรั่งเศส

คุณต้องการให้ปุ่มส่งแสดงคำว่า _Validate_ แทน _Submit_ ในทุกแบบสำรวจของคุณ (ที่ใช้ธีมเฉพาะ) หากคุณเพียงแก้ไขธีมและแทนที่ gT('Submit') ด้วย gT('Validate') ระบบจะแสดงคำว่า _Validate_ ในทุกภาษาเสมอ

สำหรับการสำรวจทั้งหมดที่ใช้ธีมทั้งหมด

  1. สร้างข้อความต้นฉบับ INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Submit');
  2. ตรวจสอบ ID (หากเป็นรายการแรก ID จะเป็น 1) และนำไปใช้ในคำสั่งถัดไป
  3. สร้างคำแปลที่เกี่ยวข้อง : INSERT INTO lime_message (id, language, translation) VALUES ('1', 'en', 'Validate'), ('1', 'fr', 'Valider');

อย่าแทนที่สตริงด้วยสตริงว่าง มิฉะนั้นคำแปลจะย้อนกลับไปใช้ประโยคภาษาอังกฤษต้นฉบับ คุณต้องใส่ช่องว่างอย่างน้อยหนึ่งช่อง

การใช้ธีมของคุณเอง (วิธีที่แนะนำ)

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

  1. ใน ตัวแก้ไขธีม ให้เลือกส่วนการนำทาง
  2. ค้นหา Template:GT("Submit") (ในไฟล์ navigator.twig)
  3. แทนที่ด้วย Template:GT("Validate")
  4. สร้างข้อความต้นฉบับ INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Validate');
  5. ตรวจสอบ ID (หากเป็นรายการแรก ID จะเป็น 1) และนำไปใช้ในคำสั่งถัดไป
  6. สร้างคำแปลที่เกี่ยวข้อง : INSERT INTO lime_message (id, language, translation) VALUES ('1', 'fr', 'Valider');

โปรดทราบ

ฟิลด์ category ใน lime_source_message ต้องเป็นสตริงว่าง ('') ไม่ใช่ NULL หากหมวดหมู่ไม่ตรงกันทุกประการ gT() จะไม่พบข้อความต้นฉบับ และคำแปลของคุณจะไม่ถูกนำไปใช้ ซึ่งสำคัญเป็นพิเศษเมื่อเพิ่มคำแปลสำหรับสตริงที่เฉพาะเจาะจงกับธีม