Files

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.jsonlocale 字段,默认 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