AwsLinker/lib/locale-utils.ts
2025-09-16 17:19:58 +08:00

41 lines
1.1 KiB
TypeScript

/**
* 将路由中的 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);
}