refactor(i18n): 完善多语言适配与缓存隔离逻辑
1. 扩展支持多语种并对齐后端白名单配置 2. 实现租户/应用/语言三维缓存隔离 3. 加固语言包合并的原型链安全防护 4. 优化语言列表加载逻辑与调试日志 5. 调整uniacid切换与语言更新的事件处理
This commit is contained in:
@@ -3,8 +3,9 @@
|
||||
|
||||
// 语言包配置
|
||||
export const langConfig = {
|
||||
// 语言列表
|
||||
langList: ['zh-cn', 'en-us'],
|
||||
// 语言列表 — 与后端 Lang.php::overrides() 白名单对齐
|
||||
// 增删需要后端同步改 LangOverrideModel::normalizeAppType 旁的 $allow_lang
|
||||
langList: ['zh-cn', 'en-us', 'zh-tw', 'ja-jp', 'ko-kr', 'th-th', 'vi-vn', 'id-id', 'es-es', 'fr-fr', 'de-de', 'ru-ru', 'ar-sa', 'pt-pt', 'it-it', 'tr-tr'],
|
||||
// 默认语言
|
||||
defaultLang: 'zh-cn',
|
||||
// 语言包加载方式:'lazy'(按需加载)或 'preload'(预加载)
|
||||
@@ -22,7 +23,8 @@ export const langConfig = {
|
||||
bootTimeout: 2000,
|
||||
// 单次请求超时(ms)
|
||||
requestTimeout: 4000,
|
||||
// 本地缓存 key 前缀: <prefix><uniacid>_<lang>
|
||||
// 本地缓存 key 前缀: <prefix><uniacid>_<appType>_<lang>
|
||||
// 三维隔离,与 lang.js::getOverrideStorageKey / getOverrideMemKey 保持一致
|
||||
storagePrefix: 'LANG_OVR_',
|
||||
// 切租户/uniacid 时强制重拉
|
||||
refreshOnUniacidChange: true,
|
||||
|
||||
Reference in New Issue
Block a user