perf(#21): 简化 themes.js/i18n.js 代理样板 — 290+296行→17+22行

This commit is contained in:
tianhao
2026-06-16 12:53:05 +08:00
parent 093dcdebd8
commit 34417d0057
2 changed files with 61 additions and 501 deletions
+34 -293
View File
@@ -693,301 +693,42 @@ export const numberFormats = {
}; };
/** /**
* 国际化工具 * 国际化工具 — 代理层,直接引用模块函数
*/ */
export const i18nUtils = { export const i18nUtils = {
/** t,
* 翻译 plural,
* @param {string} key - 翻译键 getCurrentLocale,
* @param {Object} params - 插值参数 setCurrentLocale,
* @returns {string} 翻译后的字符串 switchLocale,
*/ getFallbackLocale,
t(key, params) { setFallbackLocale,
return t(key, params); hasTranslation,
}, getTranslations,
addTranslations,
/** removeTranslation,
* 复数翻译 clearTranslations,
* @param {string} key - 翻译键 getSupportedLocales,
* @param {number} count - 数量 isLocaleSupported,
* @param {Object} params - 插值参数 getLocaleName,
* @returns {string} 翻译后的字符串 getLocaleDirection,
*/ getLocaleInfo,
plural(key, count, params) { getAllLocaleInfo,
return plural(key, count, params); formatNumber,
}, formatCurrency,
formatPercent,
/** formatDate,
* 获取当前语言 formatTime,
* @returns {string} 当前语言 formatRelativeTime,
*/ formatList,
getCurrentLocale() { formatPlural,
return getCurrentLocale(); addLocaleListener,
}, removeLocaleListener,
clearLocaleListeners,
/** initI18n,
* 设置当前语言 saveLocale,
* @param {string} locale - 语言代码 loadLocale,
*/ getDefaultLocale,
setCurrentLocale(locale) {
setCurrentLocale(locale);
},
/**
* 切换语言
* @param {string} locale - 新语言
*/
switchLocale(locale) {
switchLocale(locale);
},
/**
* 获取回退语言
* @returns {string} 回退语言
*/
getFallbackLocale() {
return getFallbackLocale();
},
/**
* 设置回退语言
* @param {string} locale - 语言代码
*/
setFallbackLocale(locale) {
setFallbackLocale(locale);
},
/**
* 检查翻译是否存在
* @param {string} key - 翻译键
* @returns {boolean} 是否存在
*/
hasTranslation(key) {
return hasTranslation(key);
},
/**
* 获取所有翻译
* @param {string} locale - 语言代码
* @returns {Object} 翻译对象
*/
getTranslations(locale) {
return getTranslations(locale);
},
/**
* 添加翻译
* @param {string} locale - 语言代码
* @param {Object} translations - 翻译对象
*/
addTranslations(locale, translations) {
addTranslations(locale, translations);
},
/**
* 移除翻译
* @param {string} locale - 语言代码
* @param {string} key - 翻译键
*/
removeTranslation(locale, key) {
removeTranslation(locale, key);
},
/**
* 清除翻译
* @param {string} locale - 语言代码
*/
clearTranslations(locale) {
clearTranslations(locale);
},
/**
* 获取支持的语言列表
* @returns {Array} 语言代码数组
*/
getSupportedLocales() {
return getSupportedLocales();
},
/**
* 检查语言是否支持
* @param {string} locale - 语言代码
* @returns {boolean} 是否支持
*/
isLocaleSupported(locale) {
return isLocaleSupported(locale);
},
/**
* 获取语言名称
* @param {string} locale - 语言代码
* @returns {string} 语言名称
*/
getLocaleName(locale) {
return getLocaleName(locale);
},
/**
* 获取语言方向
* @param {string} locale - 语言代码
* @returns {string} 语言方向
*/
getLocaleDirection(locale) {
return getLocaleDirection(locale);
},
/**
* 获取语言信息
* @param {string} locale - 语言代码
* @returns {Object} 语言信息
*/
getLocaleInfo(locale) {
return getLocaleInfo(locale);
},
/**
* 获取所有语言信息
* @returns {Array} 语言信息数组
*/
getAllLocaleInfo() {
return getAllLocaleInfo();
},
/**
* 格式化数字
* @param {number} number - 数字
* @param {Object} options - 格式化选项
* @returns {string} 格式化后的字符串
*/
formatNumber(number, options) {
return formatNumber(number, options);
},
/**
* 格式化货币
* @param {number} amount - 金额
* @param {string} currency - 货币代码
* @param {Object} options - 格式化选项
* @returns {string} 格式化后的字符串
*/
formatCurrency(amount, currency, options) {
return formatCurrency(amount, currency, options);
},
/**
* 格式化百分比
* @param {number} value - 值
* @param {Object} options - 格式化选项
* @returns {string} 格式化后的字符串
*/
formatPercent(value, options) {
return formatPercent(value, options);
},
/**
* 格式化日期
* @param {Date|number|string} date - 日期
* @param {Object} options - 格式化选项
* @returns {string} 格式化后的字符串
*/
formatDate(date, options) {
return formatDate(date, options);
},
/**
* 格式化时间
* @param {Date|number|string} date - 日期
* @param {Object} options - 格式化选项
* @returns {string} 格式化后的字符串
*/
formatTime(date, options) {
return formatTime(date, options);
},
/**
* 格式化相对时间
* @param {Date|number|string} date - 日期
* @param {Object} options - 格式化选项
* @returns {string} 格式化后的字符串
*/
formatRelativeTime(date, options) {
return formatRelativeTime(date, options);
},
/**
* 格式化列表
* @param {Array} list - 列表
* @param {Object} options - 格式化选项
* @returns {string} 格式化后的字符串
*/
formatList(list, options) {
return formatList(list, options);
},
/**
* 格式化复数
* @param {number} count - 数量
* @param {Object} options - 格式化选项
* @returns {string} 格式化后的字符串
*/
formatPlural(count, options) {
return formatPlural(count, options);
},
/**
* 添加语言监听器
* @param {Function} listener - 监听器函数
* @returns {Function} 移除监听器函数
*/
addLocaleListener(listener) {
return addLocaleListener(listener);
},
/**
* 移除语言监听器
* @param {Function} listener - 监听器函数
*/
removeLocaleListener(listener) {
removeLocaleListener(listener);
},
/**
* 清除所有语言监听器
*/
clearLocaleListeners() {
clearLocaleListeners();
},
/**
* 初始化国际化系统
*/
initI18n() {
initI18n();
},
/**
* 保存语言
* @param {string} locale - 语言代码
*/
saveLocale(locale) {
saveLocale(locale);
},
/**
* 加载语言
* @returns {string} 语言代码
*/
loadLocale() {
return loadLocale();
},
/**
* 获取默认语言
* @returns {string} 语言代码
*/
getDefaultLocale() {
return getDefaultLocale();
},
}; };
/** /**
+27 -208
View File
@@ -427,216 +427,35 @@ export const removeThemeCSS = () => {
}; };
/** /**
* 主题工具 * 主题工具 — 代理层,直接引用模块函数
*/ */
export const themeUtils = { export const themeUtils = {
/** getSystemTheme,
* 获取系统主题 resolveTheme,
* @returns {string} 系统主题 getThemeConfig,
*/ applyTheme,
getSystemTheme() { getCurrentTheme,
return getSystemTheme(); getResolvedTheme,
}, switchTheme,
toggleTheme,
/** resetToAuto,
* 解析主题 initTheme,
* @param {string} theme - 主题名称 watchSystemTheme,
* @returns {string} 解析后的主题 unwatchSystemTheme,
*/ addThemeListener,
resolveTheme(theme) { removeThemeListener,
return resolveTheme(theme); clearThemeListeners,
}, registerTheme,
unregisterTheme,
/** getAllThemes,
* 获取主题配置 getThemeNames,
* @param {string} theme - 主题名称 hasTheme,
* @returns {Object} 主题配置 getThemePreview,
*/ generateThemeCSS,
getThemeConfig(theme) { applyThemeCSS,
return getThemeConfig(theme); removeThemeCSS,
}, saveTheme,
loadTheme,
/**
* 应用主题
* @param {string} theme - 主题名称
*/
applyTheme(theme) {
applyTheme(theme);
},
/**
* 获取当前主题
* @returns {string} 当前主题
*/
getCurrentTheme() {
return getCurrentTheme();
},
/**
* 获取解析后的主题
* @returns {string} 解析后的主题
*/
getResolvedTheme() {
return getResolvedTheme();
},
/**
* 切换主题
* @param {string} theme - 新主题
*/
switchTheme(theme) {
switchTheme(theme);
},
/**
* 切换亮色/暗色主题
*/
toggleTheme() {
toggleTheme();
},
/**
* 重置为自动主题
*/
resetToAuto() {
resetToAuto();
},
/**
* 初始化主题系统
*/
initTheme() {
initTheme();
},
/**
* 监听系统主题变化
*/
watchSystemTheme() {
watchSystemTheme();
},
/**
* 停止监听系统主题变化
*/
unwatchSystemTheme() {
unwatchSystemTheme();
},
/**
* 添加主题监听器
* @param {Function} listener - 监听器函数
* @returns {Function} 移除监听器函数
*/
addThemeListener(listener) {
return addThemeListener(listener);
},
/**
* 移除主题监听器
* @param {Function} listener - 监听器函数
*/
removeThemeListener(listener) {
removeThemeListener(listener);
},
/**
* 清除所有主题监听器
*/
clearThemeListeners() {
clearThemeListeners();
},
/**
* 注册自定义主题
* @param {string} name - 主题名称
* @param {Object} config - 主题配置
*/
registerTheme(name, config) {
registerTheme(name, config);
},
/**
* 注销自定义主题
* @param {string} name - 主题名称
*/
unregisterTheme(name) {
unregisterTheme(name);
},
/**
* 获取所有主题
* @returns {Object} 主题映射
*/
getAllThemes() {
return getAllThemes();
},
/**
* 获取主题名称列表
* @returns {Array} 主题名称数组
*/
getThemeNames() {
return getThemeNames();
},
/**
* 检查主题是否存在
* @param {string} name - 主题名称
* @returns {boolean} 是否存在
*/
hasTheme(name) {
return hasTheme(name);
},
/**
* 获取主题预览
* @param {string} theme - 主题名称
* @returns {Object} 主题预览
*/
getThemePreview(theme) {
return getThemePreview(theme);
},
/**
* 生成主题CSS
* @param {string} theme - 主题名称
* @returns {string} CSS字符串
*/
generateThemeCSS(theme) {
return generateThemeCSS(theme);
},
/**
* 应用主题CSS
* @param {string} theme - 主题名称
*/
applyThemeCSS(theme) {
applyThemeCSS(theme);
},
/**
* 移除主题CSS
*/
removeThemeCSS() {
removeThemeCSS();
},
/**
* 保存主题
* @param {string} theme - 主题名称
*/
saveTheme(theme) {
saveTheme(theme);
},
/**
* 加载主题
* @returns {string} 主题名称
*/
loadTheme() {
return loadTheme();
},
}; };
/** /**