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

25 lines
3.2 KiB
Markdown

# 🇹🇭 สัญญาทางเทคนิค: ระบบแปลภาษาไทยและม็อดตัวเกม (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`](../frontend/public/locales/th.json)
* **การเปลี่ยนภาษาแบบทันที:** คอมโพเนนต์ [`LanguageSwitcher`](../frontend/src/components/languageSwitcher/) ช่วยให้ผู้ใช้สามารถสลับระหว่างภาษาไทย (`th`), อังกฤษ (`en`), จีน (`zh`), ญี่ปุ่น (`ja`), เกาหลี (`ko`), และเวียดนาม (`vi`) ได้ทันทีโดยไม่ต้องรีสตาร์ตโปรแกรม
---
## 2. ระบบติดตั้งม็อดภาษาไทยลงในตัวเกม (Game Asset Modding)
ใน [`internal/language-service/thai-patch.go`](../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 ว่าเกมนี้ลงม็อดภาษาไทยแล้วหรือยัง