/** * 将路由中的 locale 参数映射为标准的语言代码 * @param locale - 路由中的 locale 参数 * @returns 标准的语言代码 ('zh-CN' | 'zh-TW' | 'en') */ export function mapLocale(locale: string): 'zh-CN' | 'zh-TW' | 'en' { if (locale === 'zh' || locale === 'zh-CN') { return 'zh-CN'; } if (locale === 'zh-TW') { return 'zh-TW'; } return 'en'; } /** * 获取语言的显示名称 * @param locale - 语言代码 * @returns 语言的显示名称 */ export function getLanguageDisplayName(locale: string): string { switch (locale) { case 'zh-CN': return '简体中文'; case 'zh-TW': return '繁體中文'; case 'en': return 'English'; default: return '简体中文'; } } /** * 检查是否为有效的语言代码 * @param locale - 要检查的语言代码 * @returns 是否为有效的语言代码 */ export function isValidLocale(locale: string): boolean { return ['zh', 'zh-CN', 'zh-TW', 'en'].includes(locale); }