You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.7 KiB
42 lines
1.7 KiB
// BCP-47 语言全集(与后端 modules/echomeet/core.go 的转写/翻译口径一致,
|
|
// 避免在第三方服务里配出运行时并不支持的语言)。
|
|
// code 为存储值(第三方服务 languages 字段里逗号分隔、default_lang 存单个);name 仅前端展示。
|
|
export interface LangOption {
|
|
code: string
|
|
name: string
|
|
}
|
|
|
|
export const LANG_OPTIONS: LangOption[] = [
|
|
{ code: 'zh-CN', name: '中文(简体)' },
|
|
{ code: 'zh-TW', name: '中文(繁体)' },
|
|
{ code: 'zh-HK', name: '中文(香港)' },
|
|
{ code: 'yue-HK', name: '粤语' },
|
|
{ code: 'en-US', name: '英语(美国)' },
|
|
{ code: 'en-GB', name: '英语(英国)' },
|
|
{ code: 'ja-JP', name: '日语' },
|
|
{ code: 'ko-KR', name: '韩语' },
|
|
{ code: 'id-ID', name: '印尼语' },
|
|
{ code: 'es-ES', name: '西班牙语(西)' },
|
|
{ code: 'es-MX', name: '西班牙语(墨)' },
|
|
{ code: 'pt-BR', name: '葡萄牙语(巴西)' },
|
|
{ code: 'pt-PT', name: '葡萄牙语(葡)' },
|
|
{ code: 'de-DE', name: '德语' },
|
|
{ code: 'fr-FR', name: '法语' },
|
|
{ code: 'it-IT', name: '意大利语' },
|
|
{ code: 'nl-NL', name: '荷兰语' },
|
|
{ code: 'pl-PL', name: '波兰语' },
|
|
{ code: 'ru-RU', name: '俄语' },
|
|
{ code: 'uk-UA', name: '乌克兰语' },
|
|
{ code: 'tr-TR', name: '土耳其语' },
|
|
{ code: 'vi-VN', name: '越南语' },
|
|
{ code: 'th-TH', name: '泰语' },
|
|
{ code: 'ms-MY', name: '马来语' },
|
|
{ code: 'fil-PH', name: '菲律宾语' },
|
|
{ code: 'ar-SA', name: '阿拉伯语' },
|
|
]
|
|
|
|
// langName 按 BCP-47 码查中文名,未知码原样返回。
|
|
export function langName(code: string): string {
|
|
const o = LANG_OPTIONS.find((x) => x.code === code)
|
|
return o ? o.name : code
|
|
}
|
|
|