1.5 KiB
1.5 KiB
i18n 国际化实施计划
For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (
- [ ]) syntax for tracking.
Goal: 为 A1 Swap Mod Packer 添加中英文国际化支持,用户通过下拉框切换语言,切换即时生效并持久化。
Architecture: 新建 i18n/ 模块,提供 t(key, **kwargs) 翻译函数。GUI 中所有硬编码中文替换为 t("key") 调用。在打包选项区添加语言下拉框,切换时重新加载翻译并刷新 UI。
Tech Stack: Python 标准库 json + PySide6 QComboBox
Global Constraints
- 所有翻译键命名遵循
模块.区域.属性层级 t()在键缺失时返回键名本身作为回退- 语言选择持久化到
settings.json的locale字段,默认zh_CN - 数值格式化(时间、耗材)保持不翻译,仅在 None 时返回翻译后的占位符
文件结构
| 文件 | 操作 | 职责 |
|---|---|---|
a1_swap_mod_packer/i18n/__init__.py |
新建 | 翻译加载器 + t() 函数 |
a1_swap_mod_packer/i18n/zh_CN.json |
新建 | 简体中文翻译表 |
a1_swap_mod_packer/i18n/en.json |
新建 | 英文翻译表 |
a1_swap_mod_packer/gui.py |
修改 | 字符串替换为 t() + 语言下拉框 |
a1_swap_mod_packer/gcode.py |
修改 | format_duration/format_filament 的 None 返回翻译 |
a1_swap_mod_packer/core.py |
修改 | 导出 i18n 模块的 t |