Skip to content

v2.1.0 — i18n Internationalization & Bug Fixes

Latest

Choose a tag to compare

@jerrydong1988 jerrydong1988 released this 01 Jun 07:29

v2.1.0

🌐 国际化 (i18n)

  • 基于 JSON 的翻译系统,自动检测系统语言
  • 100% 中文 UI 字符串已包裹 _() 调用
  • 392 条英文翻译条目(en_US.json)
  • Header 栏语言切换按钮,偏好持久化到 configs/locale.json
  • 语言切换通过 subprocess.Popen 干净重启
  • 系统中文环境自动加载中文,其他环境加载英文

🐛 Bug 修复

  • 修复 _instance_add 字典创建缩进在 if 块内的 Bug(点击添加实例无反应)
  • 修复 PyInstaller 缺少 PIL._imagingtk hidden import(ttkbootstrap 滚动条主题崩溃)
  • 修复 _ 变量遮蔽导致的 UnboundLocalError(列表解包中 _ 覆盖 i18n 函数)

🏗 架构优化

  • gguf_reader.py:独立 GGUF 二进制解析器(205 行)
  • config_store.py:原子 JSON 配置存储(87 行)
  • _sync_instance_ui():统一刷新/同步/保存三连调用
  • _kill_instance_process() + _clear_instance_run_state():统一进程查杀逻辑

📦 构建

  • Windows 单文件 exe,--windowed 模式编译
  • locales/ 目录通过 --add-data 打包

🌐 Internationalization (i18n)

  • JSON-based translation system with auto language detection
  • 100% Chinese UI strings wrapped in _() calls
  • 392-entry English locale (en_US.json)
  • Language toggle button in header bar, preference persisted to file
  • Clean restart via subprocess.Popen when switching languages

🐛 Bug Fixes

  • Fix _instance_add dict creation indented inside if block (Add Instance button crash)
  • Fix PIL._imagingtk missing from PyInstaller hidden imports (ttkbootstrap crash)
  • Fix _ variable shadowing UnboundLocalError (list unpacking _ overrides i18n)

🏗 Architecture

  • gguf_reader.py: independent GGUF binary parser (205 lines)
  • config_store.py: atomic JSON config storage (87 lines)
  • _sync_instance_ui(): consolidates triple refresh/sync/save pattern
  • _kill_instance_process() + _clear_instance_run_state(): unified kill logic

📦 Build

  • Single-file Windows exe compiled with --windowed mode
  • locales/ directory bundled via --add-data