1 Star 0 Fork 0

yet_another_etcix/mstrans

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
lang.go 1.15 KB
一键复制 编辑 原始数据 按行查看 历史
yet_another_etcix 提交于 2026-01-24 23:06 +08:00 . init project
package mstrans
import (
_ "embed"
"encoding/json"
"strings"
)
//go:embed all:lang.json
var langJSON []byte
// LangMap maps language codes to names (e.g., "zh-Hans": "Chinese Simplified")
var LangMap map[string]string
func init() {
// Load language map from embedded JSON (runs once at package init)
if err := json.Unmarshal(langJSON, &LangMap); err != nil {
panic("failed to load language map: " + err.Error())
}
}
// GetLangCode normalizes language input (e.g., "zh" → "zh-Hans", "english" → "en")
func GetLangCode(lang string) string {
if lang == "" || lang == "auto-detect" {
return "" // Auto-detect maps to empty from parameter
}
// Exact match (e.g., "zh-Hans" → "zh-Hans")
if _, ok := LangMap[lang]; ok {
return lang
}
// Case-insensitive match (e.g., "ZH" → "zh-Hans", "english" → "en")
lowerLang := strings.ToLower(lang)
for code, name := range LangMap {
if strings.ToLower(code) == lowerLang || strings.ToLower(name) == lowerLang {
return code
}
}
return "" // Unsupported language
}
// IsLangSupported checks if a language code/name is supported
func IsLangSupported(lang string) bool {
return GetLangCode(lang) != ""
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/EEPPEE_admin/mstrans.git
git@gitee.com:EEPPEE_admin/mstrans.git
EEPPEE_admin
mstrans
mstrans
eef31938f79f

搜索帮助