docs: enrich Doc/ with deep-dive technical contracts, traps, and handoff
This commit is contained in:
1 parent
3411e5b058
commit
fc262f8331
9 files changed
+502
-8
No files matched your search
@@ -0,0 +1,24 @@
|
||||
# 🇹🇭 สัญญาทางเทคนิค: ระบบแปลภาษาไทยและม็อดตัวเกม (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 ว่าเกมนี้ลงม็อดภาษาไทยแล้วหรือยัง
|
||||
Reference in new issue
Block a user