Browse Source
* feat(locales): support runtime dynamic language list - 将 SupportedLanguagesType 从硬编码的 'en-US' | 'zh-CN' 联合类型放宽为 string,支持应用在运行时注册自定义语言 - @vben/constants 新增 setSupportLanguages / onSupportLanguagesChange / getSupportLanguages,以发布订阅方式动态管理语言列表(订阅时立即回调当前值) - language-toggle 与 user-dropdown 组件改为订阅动态列表,不再直接引入静态 SUPPORT_LANGUAGES - use-simple-locale 对未知语言回退到 en-US - vxe-table 集成对未打包的自定义语言回退到 en-US 语言包 向后兼容:不调用 setSupportLanguages 时,行为与之前完全一致。 * fix(constants): 语言列表注册表返回独立快照 getSupportLanguages 与监听器回调改为返回克隆快照,存储时也做克隆,避免外部直接修改数组或元素对象污染注册表内部状态、绕过 setSupportLanguages 导致其他订阅者不同步。 * fix(constants): 偏好设置面板语言列表改为订阅动态注册表 - general.vue 不再直接引入静态 SUPPORT_LANGUAGES,改为通过 onSupportLanguagesChange 订阅,运行时替换语言列表后设置面板同步刷新 - setSupportLanguages 通知时迭代监听器快照,避免监听器在回调中取消订阅导致跳过后续监听器 * fix(constants): 固化本次更新快照后再通知监听器 监听器回调中嵌套调用 setSupportLanguages 时,后续监听器仍收到本次更新的列表,而不是嵌套调用的新列表。pull/8273/head
committed by
GitHub
8 changed files with 94 additions and 19 deletions
Loading…
Reference in new issue