Commit Graph

63 Commits

Author SHA1 Message Date
4thfever
bc3ebc006c Refactor/i18n (#115)
重构i18n,现在game configs的配表,除了姓名这种外,都是统一的配表了。
对应的配表的名称和desc需要去i18n里取,但是其他配置不需要重复配置了。
这大大简化了之后新增i18n的心智负担。
2026-02-01 01:09:24 +08:00
4thfever
e1091fdf5a Feat/i18n (#92)
* feat: add vue-i18n

* feat: add vue-i18n

* feat: add vue-i18n

* feat: add language class

* add: en templates and configs

* add: en names

* refactor: name gender id and sect id

* feat(i18n): add gettext infrastructure for dynamic text translation (#81)

* feat(i18n): add gettext infrastructure for dynamic text translation

- Add src/i18n/ module with t() translation function
- Add .po/.mo files for zh_CN and en_US locales
- Update LanguageManager to reload translations on language change
- Add comprehensive tests (14 tests, all passing)
- Add implementation spec at docs/specs/i18n-dynamic-text.md

Phase 1 of i18n dynamic text implementation.

* feat(i18n): expand .po files with comprehensive translation entries

Add translation messages for:
- Battle result messages (fatal/non-fatal outcomes)
- Fortune event messages (item discovery, cultivation gains)
- Misfortune event messages (losses, damage, regression)
- Death reason messages
- Item exchange messages (equip, sell, discard)
- Single choice context and option labels
- Common labels (weapon, auxiliary, technique, elixir)

Both zh_CN and en_US locales updated with matching entries.

* test: add .po file integrity tests

* feat: i18n for actions

* feat: i18n for effects

* feat: i18n for gathering

* feat: i18n for classes

* feat: i18n for classes

* feat: i18n for classes

* feat: i18n for classes

* fix bugs

* fix bugs

* fix bugs

* fix bugs

* fix bugs

* fix bugs

* fix bugs

* fix bugs

* update csv

* update world info

* update prompt

* update prompt

* fix bug

* fix bug

* fix bug

* fix bug

* fix bug

* fix bug

* fix bug

* fix bug

* fix bug

* update

* update

* update

* update

* update

* update

* update

---------

Co-authored-by: Zihao Xu <xzhseh@gmail.com>
2026-01-24 13:47:23 +08:00
4thfever
6185d314af refactor: remove region_names dict, use regions traversal instead (#40)
The region_names dictionary was a redundant index that needed manual
sync when HistoryManager modified region names. This caused bugs where
resolve_query couldn't find regions by their new (history-modified) names.

Instead of maintaining two data structures (regions[id] and region_names[name]),
we now only use regions[id] as the single source of truth. The _resolve_region
function iterates over regions.values() to find matches by name.

This approach:
- Eliminates the sync bug entirely
- Simplifies the codebase
- Has negligible performance impact (region count is small)

Co-authored-by: Zihao Xu <xzhseh@gmail.com>
2026-01-18 17:13:28 +08:00
bridge
eb2c715069 feat: data reload system 2026-01-18 16:37:08 +08:00
4thfever
95e1f11502 Refactor/history (#25)
add multi process history modification
2026-01-12 23:25:53 +08:00
bridge
5241f70ef3 refactor item ids 2026-01-11 23:12:48 +08:00
bridge
ed7d16b4f3 feature: log print version 2026-01-11 18:27:41 +08:00
bridge
9c21259577 refactor: add store mixin into city regions & refactor buying action 2026-01-08 22:16:33 +08:00
bridge
5793c4d2b9 add lode 2026-01-06 23:04:56 +08:00
bridge
d25a84953b refactor log 2026-01-05 23:58:32 +08:00
bridge
33cf306e58 update frontend 2025-12-06 17:22:17 +08:00
bridge
a5363a07ad fix bug 2025-12-03 00:10:10 +08:00
bridge
31ab56251b refactor map 2025-12-02 23:00:09 +08:00
bridge
ee6a6bab51 update map 2025-12-01 21:42:35 +08:00
bridge
c4ed8044dd update sects 2025-11-29 13:47:23 +08:00
bridge
796f48315f refactor sect in vue 2025-11-27 21:46:42 +08:00
bridge
259d4a3794 update pack 2025-11-21 23:58:36 +08:00
bridge
870037d811 update pack 2025-11-21 23:39:54 +08:00
bridge
0713881b71 fix web bugs 2025-11-20 22:55:56 +08:00
bridge
9b870475bf add save and load func 2025-11-11 19:48:18 +08:00
bridge
ed4174d5ed add flexible front end 2025-11-11 18:42:38 +08:00
bridge
c5c6c640b7 refactor name logic 2025-11-02 21:01:30 +08:00
bridge
bdddecb614 fix bug 2025-10-25 21:54:31 +08:00
bridge
67180b3343 update resolve 2025-10-21 23:17:34 +08:00
bridge
a002d1bd70 add treasures 2025-10-19 01:33:22 +08:00
bridge
64d79fe015 update readme 2025-10-17 00:55:11 +08:00
bridge
41c8782753 update effect str 2025-10-16 23:24:08 +08:00
bridge
7e0d776328 update 2025-10-13 23:16:30 +08:00
bridge
1e7f365391 update imgaes 2025-10-12 22:39:21 +08:00
bridge
e6c1f47263 add sect weight 2025-10-12 22:08:49 +08:00
bridge
c21a4ebaf1 add personas 2025-10-12 21:49:21 +08:00
bridge
4929b52543 update frontend 2025-10-10 22:57:47 +08:00
bridge
335db9dff0 fix bugs 2025-10-10 00:03:57 +08:00
bridge
55145850ca update technique by sect 2025-10-09 23:32:18 +08:00
bridge
2e2b1a0dae update map 2025-10-09 01:05:34 +08:00
bridge
3095f18303 update map 2025-10-09 00:45:20 +08:00
bridge
ad29011193 update csv 2025-10-08 23:33:14 +08:00
bridge
ad163c2af1 add sect regions 2025-10-08 23:26:19 +08:00
bridge
524844bf0f update map 2025-10-08 22:51:49 +08:00
bridge
f109abbb08 add persona conditions 2025-10-04 17:13:35 +08:00
bridge
de225bd3da add alignment info 2025-10-04 16:36:41 +08:00
bridge
2040537414 fix bug 2025-10-03 23:38:20 +08:00
bridge
2ad784dd24 fix bug 2025-10-02 23:04:15 +08:00
bridge
3711987379 add more relations 2025-10-02 21:40:30 +08:00
bridge
939b1102eb add alignment 2025-10-02 21:24:50 +08:00
bridge
2d97edca8f refactor mutual action 2025-10-02 17:31:25 +08:00
bridge
ced6a117e1 update 2025-09-25 21:45:43 +08:00
bridge
e5d8bf9bf4 update (still bug remains) 2025-09-24 01:13:14 +08:00
bridge
d07b6ebb87 fix bug 2025-09-24 00:23:17 +08:00
bridge
b97bce3292 update readme 2025-09-23 00:43:37 +08:00