Three settings were only half-wired:
- autoPickByLanguage was saved but never read anywhere: delete it.
- showUnstableTail had a checkbox and a setter, but nothing ever called
the setter, so the checkbox did nothing: apply it in applyAppearance
and re-render from the cached text instead of blanking the caption.
- the language dropdown was hard-coded to auto/zh/en/ja while the registry
declares up to 16 languages per model: build it from the selected
model's own language list, with an ISO-code to display-name mapping
(plus a unit test covering every code in the registry). The caption
window's language pill now follows the setting too, instead of keeping
whatever it showed at startup.
windowPos is not dead -- it stores the dragged window position -- so it stays.
三个「半死」设置:autoPickByLanguage 存了但从没被读取,直接删掉;showUnstableTail
有复选框也有 setter,但从来没人调用 setter(复选框点了没用),改为在 applyAppearance
里生效并用缓存文本重画;「识别语言」下拉原来硬编码 自动/中/英/日,而注册表里每个模型
声明了最多 16 种语言,改为按所选模型的语言动态生成,并补 ISO 码→显示名映射与单元测试。
字幕窗的语言标签也跟着设置走了(原来只在启动时读一次)。windowPos 不是死设置(它存的
是拖动后的位置),保留。