mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-07-03 14:09:06 +02:00
71 lines
2.1 KiB
Go
71 lines
2.1 KiB
Go
// SiYuan - Refactor your thinking
|
|
// Copyright (c) 2020-present, b3log.org
|
|
//
|
|
// This program is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU Affero General Public License as published by
|
|
// the Free Software Foundation, either version 3 of the License, or
|
|
// (at your option) any later version.
|
|
//
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU Affero General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU Affero General Public License
|
|
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
package util
|
|
|
|
// langLegacyToBCP47 从历史下划线标识映射到 BCP 47 标准语言代码。
|
|
var LangLegacyToBCP47 = map[string]string{
|
|
"zh_CN": "zh-CN",
|
|
"zh_CHT": "zh-TW",
|
|
"en_US": "en",
|
|
"de_DE": "de",
|
|
"fr_FR": "fr",
|
|
"es_ES": "es",
|
|
"pt_BR": "pt-BR",
|
|
"it_IT": "it",
|
|
"ja_JP": "ja",
|
|
"ko_KR": "ko",
|
|
"ru_RU": "ru",
|
|
"uk_UA": "uk",
|
|
"pl_PL": "pl",
|
|
"nl_NL": "nl",
|
|
"ar_SA": "ar",
|
|
"he_IL": "he",
|
|
"hi_IN": "hi",
|
|
"id_ID": "id",
|
|
"th_TH": "th",
|
|
"tr_TR": "tr",
|
|
"sk_SK": "sk",
|
|
}
|
|
|
|
// langBCP47ToLegacy 从 BCP 47 标准语言代码映射到历史下划线标识。
|
|
var langBCP47ToLegacy map[string]string
|
|
|
|
func init() {
|
|
langBCP47ToLegacy = make(map[string]string, len(LangLegacyToBCP47))
|
|
for legacy, bcp47 := range LangLegacyToBCP47 {
|
|
langBCP47ToLegacy[bcp47] = legacy
|
|
}
|
|
}
|
|
|
|
// LangToBCP47 把历史下划线标识映射为 BCP 47 标准语言代码(如 zh_CN → zh-CN)。
|
|
// 不是历史下划线标识时原样返回。
|
|
func LangToBCP47(lang string) string {
|
|
if v, ok := LangLegacyToBCP47[lang]; ok {
|
|
return v
|
|
}
|
|
return lang
|
|
}
|
|
|
|
// LangToLegacy 把 BCP 47 标准语言代码映射为历史下划线标识(如 zh-CN → zh_CN)。
|
|
// 不是 BCP 47 标准语言代码时原样返回。
|
|
func LangToLegacy(lang string) string {
|
|
if legacy, ok := langBCP47ToLegacy[lang]; ok {
|
|
return legacy
|
|
}
|
|
return lang
|
|
}
|