diff --git a/docs/FIREFLY_ENDGAME.md b/docs/FIREFLY_ENDGAME.md index 81e7684..e14856e 100644 --- a/docs/FIREFLY_ENDGAME.md +++ b/docs/FIREFLY_ENDGAME.md @@ -341,8 +341,8 @@ battle_config = { | ไฟล์ | เวอร์ชันใหม่ | | :--- | :--- | | `css/styles.css` | `2.36` | -| `js/app.js` | `3.32` | -| `js/i18n.js` | `2.26` (ทุก importer ต้องตรงกัน) | +| `js/app.js` | `3.33` | +| `js/i18n.js` | `2.27` (ทุก importer ต้องตรงกัน) | | `js/endgame.js` | `1` (ไฟล์ใหม่) | Importer ของ `i18n.js` ที่ถูกแก้: `index.html` (ทาง `app.js`), `js/app.js`, `js/avatars-data.js`, `js/equipment-data.js`, `js/item-catalog.js`, `js/unstuck.js` @@ -358,6 +358,7 @@ Importer ของ `i18n.js` ที่ถูกแก้: `index.html` (ทา | `scripts/build-firefly-endgame-data.cjs` | สร้างแคตตาล็อกจาก API ต้นฉบับ | | `assets/firefly-endgame.json` | แคตตาล็อกพร้อมใช้ (~604 KB) | | `tests/endgame.test.cjs` | unit tests ของ endgame helpers (8 tests) | +| `tests/i18n-coverage.test.cjs` | ตรวจว่า `data-i18n*` ทุกคีย์ resolve ได้ทั้ง th/en | ### แก้ไข | ไฟล์ | สิ่งที่แก้ | @@ -368,7 +369,7 @@ Importer ของ `i18n.js` ที่ถูกแก้: `index.html` (ทา | `js/firefly.js` | normalize `blessings` / `monsters` ให้ตรง zod | | `js/i18n.js` | เพิ่ม 46 คีย์ th/en, bump version | | `css/styles.css` | สไตล์ `.ff-endgame-*` + responsive | -| `js/avatars-data.js`, `js/equipment-data.js`, `js/item-catalog.js`, `js/unstuck.js` | bump `i18n.js?v=2.26` (และ bump version ของ module ปลายทางใน `app.js`) | +| `js/avatars-data.js`, `js/equipment-data.js`, `js/item-catalog.js`, `js/unstuck.js` | bump `i18n.js?v=2.27` (และ bump version ของ module ปลายทางใน `app.js`) | | `tests/firefly-payload.test.cjs` | อัปเดต expected shape + เพิ่ม test normalize | | `tests/mode-capabilities.test.cjs` | เพิ่ม `fireflyEndgame`, คีย์ i18n, DOM hooks | @@ -423,8 +424,8 @@ Importer ของ `i18n.js` ที่ถูกแก้: `index.html` (ทา ### 5.6 Tests ``` node --test tests/*.test.cjs -ℹ tests 44 -ℹ pass 44 +ℹ tests 47 +ℹ pass 47 ℹ fail 0 ``` @@ -433,6 +434,7 @@ node --test tests/*.test.cjs - การ normalize `blessings` / `monsters` (รวม `dynamic_key`) - capability matrix + i18n keys + DOM hooks - endgame helpers: default/resolve/build/challenge/find-by-stage/custom +- **i18n coverage:** ทุก `data-i18n*` ใน `index.html` ต้อง resolve ได้ทั้ง th/en --- @@ -456,6 +458,18 @@ node --test tests/*.test.cjs **แก้โดย:** เพิ่ม `applyFireflyEndgameStatus()` ที่อ่าน `state.fireflyEndgame.statusKey/statusState/statusVars` แล้วเรียกที่ท้าย `renderFireflyEndgame()` ทั้งสอง branch (ทั้งตอน catalog ยังไม่โหลดและตอนเรนเดอร์ปกติ) — ตอนนี้สถานะถูกต้องหลังสลับภาษา +### 6.1.2 🐞 บั๊ก i18n ที่พบเพิ่มเติมและแก้แล้ว +ตรวจทั้งโปรเจกต์ด้วยสคริปต์ (เทียบ `data-i18n*` ใน `index.html` + คีย์จาก `t()` ทุกไฟล์ กับ `TRANSLATIONS.th/en`) พบว่า: + +1. **ชื่อธาตุ/สายไม่เคยถูกแปล** — `