perf(#21): 简化 themes.js/i18n.js 代理样板 — 290+296行→17+22行
This commit is contained in:
+34
-293
@@ -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
@@ -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();
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user