ข้ามไปที่เนื้อหา

ข้อความและคำแปล

MRBS แยกคำศัพท์ของแอปพลิเคชัน ข้อความเฉพาะไซต์ หน้าความช่วยเหลือ และคู่มือ MkDocs นี้ออกจากกัน ควรแก้ไขในส่วนที่เหมาะสมเพื่อให้การอัปเกรดยังคงจัดการได้ง่าย

งาน ตำแหน่งที่ถูกต้อง
เปลี่ยนชื่อป้ายกำกับสำหรับการติดตั้งครั้งเดียว $vocab_override ใน config.inc.php
เพิ่มหรือปรับปรุงภาษา UI MRBS web/lang/lang.<language>
แปลหรือปรับแต่งหน้าความช่วยเหลือในแอปพลิเคชัน web/site_faq/site_faq_<language>.html
แปลคู่มือนี้ ไฟล์คำต่อท้ายภาษาด้านล่าง docs/

แทนที่ถ้อยคำสำหรับไซต์หนึ่ง

ห้ามแก้ไขไฟล์ภาษาที่จัดส่งเพียงเพื่อเปลี่ยนชื่อ “ห้อง” หรือเปลี่ยนชื่อเว็บไซต์ ค้นหาโทเค็นใน web/lang/lang.en จากนั้นแทนที่:

$vocab_override['en']['mrbs'] = 'Resource Booking';
$vocab_override['de']['mrbs'] = 'Ressourcenbuchung';
$vocab_override['fr']['mrbs'] = 'Réservation de ressources';
$vocab_override['es']['mrbs'] = 'Reserva de recursos';

ลำดับดัชนีเป็นภาษาเสมอ จากนั้นโทเค็น: $vocab_override[LANG][TOKEN]

โทเค็นที่กำหนดโดยไซต์ที่เป็นประโยชน์ ได้แก่:

$vocab_override['en']['room.coffee_machine'] = 'Coffee machine';
$vocab_override['en']['entry.catering'] = 'Catering';
$vocab_override['en']['entry.description.placeholder'] =
    'Add information for the room team';
$vocab_override['en']['users.zip_code.oninvalid'] =
    'Enter a valid ZIP code';
$vocab_override['en']['type.C'] = 'Customer booking';

โทเค็นฟิลด์ที่กำหนดเองอธิบายไว้ใน ฟิลด์ที่กำหนดเอง คำอธิบายประเภทการจองใช้ type.X โดยที่ X คือรหัสประเภทที่กำหนดค่าไว้

การแทนที่จะคงอยู่ในการอัพเกรดเนื่องจากอยู่ในการกำหนดค่าไซต์ ตรวจสอบความหมายอีกครั้งหากการเผยแพร่เปลี่ยนโทเค็นดั้งเดิมหรือบริบทของโทเค็น

เก็บรักษาเครื่องหมายทดแทน

สตริงภาษาสามารถมีเครื่องหมาย printf เช่น %s, %d หรือรูปแบบตำแหน่ง เช่น %1$d เก็บรักษาเครื่องหมายและประเภทของเครื่องหมายทุกชิ้น การแปลอาจจัดลำดับข้อโต้แย้งใหม่เฉพาะในรูปแบบตำแหน่งเท่านั้น

ยังรักษาส่วนย่อย HTML ความหมายเครื่องหมายวรรคตอน และช่องว่างโดยรอบที่ตั้งใจไว้ด้วย ทดสอบสตริงที่มีการนับศูนย์ หนึ่ง และหลายเมื่อเกี่ยวข้อง

เลือกภาษาของส่วนติดต่อ

ตามค่าเริ่มต้น MRBS จะเลือกภาษาจากเบราว์เซอร์:

$disable_automatic_language_changing = false;

หากต้องการบังคับใช้หนึ่งภาษา:

$disable_automatic_language_changing = true;
$default_language_tokens = 'de';

โทเค็นต้องตรงกับไฟล์ web/lang/lang.* ที่มีอยู่ การเลือกสถานที่สำหรับวันที่และเวลาสามารถแทนที่แยกกันได้:

$override_locale = 'de-DE';
$cli_language = 'de';

$override_locale ต้องได้รับการสนับสนุนโดยระบบปฏิบัติการเซิร์ฟเวอร์ด้วย $cli_language ควบคุมคำสั่งที่ทำงานนอกเบราว์เซอร์ สำหรับการวินิจฉัย $language_debug = true เขียนข้อมูลภาษาและสถานที่ลงในบันทึกข้อผิดพลาด ปิดการใช้งานอีกครั้งหลังจากการแก้ไขปัญหา

เพิ่มหรือรักษาภาษาของแอปพลิเคชัน

ไฟล์ภาษาอังกฤษเป็นข้อมูลอ้างอิงและทางเลือก วิธีสร้างภาษาที่โทเค็นตรวจพบคือ xx:

cp web/lang/lang.en web/lang/lang.xx

แล้ว:

  1. เก็บบรรทัดเปิด PHP และคีย์ $vocab ทุกอันไว้
  2. แปลค่าสตริง ไม่ใช่ชื่อโทเค็น
  3. บันทึกไฟล์เป็น UTF-8
  4. อย่าใช้เอนทิตี HTML ยกเว้น &nbsp;; เขียนอักขระ UTF-8 โดยตรง
  5. รักษาเครื่องหมายทดแทนและมาร์กอัปโดยเจตนา
  6. ตรวจสอบความถูกต้องของไวยากรณ์ PHP
php -l web/lang/lang.xx

MRBS โหลดการอ้างอิงภาษาอังกฤษก่อน จากนั้นจึงโหลดภาษาที่เลือก ดังนั้นโทเค็นที่หายไปจึงกลับไปเป็นภาษาอังกฤษ

ตรวจสอบความสมบูรณ์

checklang.php เปรียบเทียบไฟล์ภาษากับ lang.en สำหรับอินสแตนซ์การพัฒนา ให้วางหรือเก็บไว้ในไดเร็กทอรีเว็บ MRBS แล้วเปิด:

https://example.invalid/mrbs/checklang.php?lang[]=xx

หากไม่มีการเลือกภาษา ระบบจะนำเสนอไฟล์ภาษาที่ติดตั้งทั้งหมด ฟังก์ชันอัพเดตเสริมจะเขียนไฟล์ ดังนั้นจึงต้องมีสิทธิ์ในการเขียน หลีกเลี่ยงสิ่งนั้นในการผลิตและตรวจสอบการเปลี่ยนแปลงที่สร้างขึ้น จำกัดหรือลบยูทิลิตี้การพัฒนานี้ออกจากการใช้งานสาธารณะเมื่อการตรวจสอบเสร็จสิ้น

การตรวจสอบไวยากรณ์และ checklang.php พบปัญหาที่แตกต่างกัน: ใช้ทั้งสองอย่าง

แปลหน้าความช่วยเหลือในแอปพลิเคชัน

ข้อความช่วยเหลือไม่ได้มาจาก $vocab มันถูกจัดเก็บแยกต่างหาก:

web/site_faq/site_faq.html
web/site_faq/site_faq_de.html
web/site_faq/site_faq_fr.html
web/site_faq/site_faq_es.html

เลือกส่วนต่อท้ายที่ไม่มีขีดล่าง:

$faqfilelang = 'de';

ค่าเก่าๆ เช่น '_de' ยอมรับในเรื่องความเข้ากันได้แต่เลิกใช้งานแล้ว การตั้งค่าไม่ขึ้นอยู่กับภาษาของเบราว์เซอร์ ดังนั้นให้ทดสอบว่าคำถามที่พบบ่อยที่เลือกนั้นตรงกับผู้ชมที่ต้องการ การแก้ไขไฟล์ FAQ ที่จัดส่งในเครื่องจะต้องถูกบันทึกและนำไปใช้ใหม่หรือรวมเข้าด้วยกันในระหว่างการอัปเกรด

แปลคู่มือนี้

เว็บไซต์เอกสารใช้ไฟล์ส่วนต่อท้าย:

docs/admin-guide/custom-fields.md
docs/admin-guide/custom-fields.de.md
docs/admin-guide/custom-fields.fr.md
docs/admin-guide/custom-fields.es.md

ภาษาอังกฤษเป็นทางเลือกของเอกสารประกอบ ไฟล์เหล่านี้ไม่มีผลกระทบต่อ UI แอปพลิเคชัน MRBS หรือหน้าวิธีใช้

อัปเกรดเวิร์กโฟลว์ที่ปลอดภัย

  1. ใส่ข้อความเฉพาะเว็บไซต์ใน $vocab_override
  2. เก็บรายการภาษาและไฟล์คำถามที่พบบ่อยที่ดูแลในท้องถิ่น
  3. เปรียบเทียบ lang.en ใหม่กับเวอร์ชันก่อนหน้าสำหรับโทเค็นที่เพิ่มหรือเปลี่ยนแปลง
  4. เรียกใช้ php -l กับทุกไฟล์ภาษาที่เปลี่ยนแปลง
  5. เรียกใช้ checklang.php บนอินสแตนซ์การพัฒนาแบบจำกัด
  6. ตรวจสอบการเปลี่ยนแปลงคำถามที่พบบ่อยแยกกัน
  7. ทดสอบภาษาที่ใช้งานทั้งหมดก่อนที่จะปรับใช้

รายการตรวจสอบการยืนยัน

  • การตรวจหาเบราว์เซอร์และค่าเริ่มต้นที่บังคับใช้จะเลือกภาษาที่ต้องการ
  • โทเค็นที่หายไปกลับไปเป็นภาษาอังกฤษที่เข้าใจได้
  • การนำทาง แบบฟอร์ม ข้อผิดพลาด การอนุมัติ และหน้าการจัดการแสดงอย่างถูกต้อง
  • %s, %d และเครื่องหมายตำแหน่งจะได้รับค่าที่ถูกต้อง
  • วันที่ เวลา วันธรรมดา และโซนเวลาใช้สถานที่ที่ต้องการ
  • หัวเรื่องและเนื้อหาอีเมล รายงาน การส่งออก และงานบรรทัดคำสั่งใช้ภาษาที่ต้องการ
  • ช่องที่กำหนดเอง ประเภทการจอง ตัวยึดตำแหน่ง และข้อความตรวจสอบได้รับการแปล
  • หน้าความช่วยเหลือใช้ไฟล์ site_faq ที่คาดหวัง
  • บันทึกไม่มีการแก้ไขภาษาแบบถาวรหรือค่าฟอร์มที่ละเอียดอ่อน