Skip to content

v0.3.3 · 结构优化与国际化

Choose a tag to compare

@BUGJI BUGJI released this 29 Sep 15:48
· 25 commits to main since this release

0.3.3 · 结构优化与国际化

国际化

  • 语言的唯一数据源改为响应式的 i18n locale:切换语言后,插件菜单、插件名等派生文案即时刷新(修复此前不刷新的问题)
  • 语言偏好持久化为设置项 locale(auto 跟随系统 / zh / en);主进程原生对话框、退出确认与更新通知都跟随所选语言
  • 欢迎窗口完成本地化,并改用轻量的 locale 助手,不再打包 vue-i18n
  • 自动节拍轨道名、便签默认文本等硬编码文案纳入词条表

性能与内部重构

  • 撤销 / 重做快照改为存 JSON 文本:捕获与「无操作」检测各只序列化一次,并按总字节数限制历史体积,大工程不再固定囤 100 份完整文档
  • 时间线的 tempo map、按轨道分组的标记索引、内容长度从模块级缓存改为 Pinia getter,缓存随 store 实例生命周期释放
  • 拆分超大文件(无界面行为变化):主进程入口 index.ts 1081 → 54 行;插件市场 822 行拆为 registry / inventory / installer;工程 store 924 行按 store / queries / tracks / markers / notes / bpm / timeAlign 拆分
  • 设置迁移逻辑集中到 shared/settings.ts,消除主进程与渲染进程的重复

修复

  • 主进程原生对话框统一优先绑定主窗口,窗口不存在时安全返回,不再因 win()! 在窗口关闭期间收到 IPC 而抛错

安装包:Beat-Data-Generator-0.3.3-setup.exe

English summary

  • i18n: a single reactive locale source (switching language now refreshes plugin menus/names); the preference is persisted as the locale setting (auto/zh/en) and applied to native dialogs, the quit prompt and the update notification; the welcome window is localized and no longer bundles vue-i18n.
  • Refactor: split oversized files — main entry 1081 → 54 lines, marketplace 822 lines into registry/inventory/installer, project store 924 lines by domain; settings migration consolidated into shared/settings.ts.
  • Perf: undo/redo snapshots stored as JSON text and size-bounded; timeline-derived data moved to Pinia getters.
  • Fix: main-process dialogs prefer the main window and return safely when none exists (no more win()! crash).