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 = {
/**
* 翻译
* @param {string} key - 翻译键
* @param {Object} params - 插值参数
* @returns {string} 翻译后的字符串
*/
t(key, params) {
return t(key, params);
},
/**
* 复数翻译
* @param {string} key - 翻译键
* @param {number} count - 数量
* @param {Object} params - 插值参数
* @returns {string} 翻译后的字符串
*/
plural(key, count, params) {
return plural(key, count, params);
},
/**
* 获取当前语言
* @returns {string} 当前语言
*/
getCurrentLocale() {
return getCurrentLocale();
},
/**
* 设置当前语言
* @param {string} locale - 语言代码
*/
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();
},
t,
plural,
getCurrentLocale,
setCurrentLocale,
switchLocale,
getFallbackLocale,
setFallbackLocale,
hasTranslation,
getTranslations,
addTranslations,
removeTranslation,
clearTranslations,
getSupportedLocales,
isLocaleSupported,
getLocaleName,
getLocaleDirection,
getLocaleInfo,
getAllLocaleInfo,
formatNumber,
formatCurrency,
formatPercent,
formatDate,
formatTime,
formatRelativeTime,
formatList,
formatPlural,
addLocaleListener,
removeLocaleListener,
clearLocaleListeners,
initI18n,
saveLocale,
loadLocale,
getDefaultLocale,
};
/**
+27 -208
View File
@@ -427,216 +427,35 @@ export const removeThemeCSS = () => {
};
/**
* 主题工具
* 主题工具 — 代理层,直接引用模块函数
*/
export const themeUtils = {
/**
* 获取系统主题
* @returns {string} 系统主题
*/
getSystemTheme() {
return getSystemTheme();
},
/**
* 解析主题
* @param {string} theme - 主题名称
* @returns {string} 解析后的主题
*/
resolveTheme(theme) {
return resolveTheme(theme);
},
/**
* 获取主题配置
* @param {string} theme - 主题名称
* @returns {Object} 主题配置
*/
getThemeConfig(theme) {
return getThemeConfig(theme);
},
/**
* 应用主题
* @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();
},
getSystemTheme,
resolveTheme,
getThemeConfig,
applyTheme,
getCurrentTheme,
getResolvedTheme,
switchTheme,
toggleTheme,
resetToAuto,
initTheme,
watchSystemTheme,
unwatchSystemTheme,
addThemeListener,
removeThemeListener,
clearThemeListeners,
registerTheme,
unregisterTheme,
getAllThemes,
getThemeNames,
hasTheme,
getThemePreview,
generateThemeCSS,
applyThemeCSS,
removeThemeCSS,
saveTheme,
loadTheme,
};
/**