Files
G-Launcher/Doc/thai-localization-mod.md
T

3.2 KiB

🇹🇭 สัญญาทางเทคนิค: ระบบแปลภาษาไทยและม็อดตัวเกม (Thai Localization & Game Modding)

เอกสารนี้ระบุรายละเอียดของระบบแปลภาษาไทย 2 ระดับใน G-Launcher:

  1. Launcher UI Localization: การแปลภาษาบนหน้าจอและปุ่มควบคุมของตัว Launcher
  2. Game Asset Modding: ระบบติดตั้งและถอนการติดตั้งแพตช์ภาษาไทยลงในไฟล์ข้อมูลของตัวเกม

1. การแปลภาษาบนหน้าต่าง Launcher (UI Localization)

  • เครื่องมือ: i18next + react-i18next
  • ไฟล์ข้อมูลคำแปลภาษาไทย: frontend/public/locales/th.json
  • การเปลี่ยนภาษาแบบทันที: คอมโพเนนต์ LanguageSwitcher ช่วยให้ผู้ใช้สามารถสลับระหว่างภาษาไทย (th), อังกฤษ (en), จีน (zh), ญี่ปุ่น (ja), เกาหลี (ko), และเวียดนาม (vi) ได้ทันทีโดยไม่ต้องรีสตาร์ตโปรแกรม

2. ระบบติดตั้งม็อดภาษาไทยลงในตัวเกม (Game Asset Modding)

ใน internal/language-service/thai-patch.go บริการ LanguageService จัดการการแก้ไขไฟล์ไบนารี ExcelData ของเกม:

กฎความปลอดภัยในการแก้ไขไฟล์เกม (Mandatory Safety Rules):

  1. การสำรองไฟล์เดิม (Safe Backup): ก่อนจะเริ่มเขียนหรือแก้ไขไบต์ในไฟล์ข้อมูลเกม ระบบจะทำการคัดลอกไฟล์ต้นฉบับเก็บไว้เป็นนามสกุล .backup เสมอ
  2. การกู้คืนอัตโนมัติ (Atomic Restore): หากการเขียนไบต์ล้มเหลว หรือผู้ใช้กดปุ่ม "ถอนการติดตั้งม็อด" ระบบจะนำไฟล์ .backup กลับมาทับไฟล์เดิมทันที ทำให้ไฟล์ตัวเกมกลับสู่สถานะของแท้ 100%
  3. การตรวจสอบสถานะ (Status Probe): ตรวจสอบว่ามีไฟล์ .backup หรือมาร์กเกอร์ของม็อดอยู่หรือไม่ เพื่อแสดงสถานะบน UI ว่าเกมนี้ลงม็อดภาษาไทยแล้วหรือยัง