feat(localization): added zh_TW (#2913)
* feat(localization): added zh_TW * fixed based on @coderabbitai * updated false translation for zh_TW * new workflow * revert * fixed a lot of translations * turned most zh to zh-CN * fallbacklang * bruh * eliminate ALL _ * fix: paths and other miscs thanks @Calcium-Ion * fixed translation and temp fix for preferencessettings.js * fixed translation error * fixed issue about legacy support * reverted stupid coderabbit's suggestion
This commit is contained in:
14
i18n/i18n.go
14
i18n/i18n.go
@@ -16,7 +16,8 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
LangZh = "zh"
|
||||
LangZhCN = "zh-CN"
|
||||
LangZhTW = "zh-TW"
|
||||
LangEn = "en"
|
||||
DefaultLang = LangEn // Fallback to English if language not supported
|
||||
)
|
||||
@@ -39,7 +40,7 @@ func Init() error {
|
||||
bundle.RegisterUnmarshalFunc("yaml", yaml.Unmarshal)
|
||||
|
||||
// Load embedded translation files
|
||||
files := []string{"locales/zh.yaml", "locales/en.yaml"}
|
||||
files := []string{"locales/zh-CN.yaml", "locales/zh-TW.yaml", "locales/en.yaml"}
|
||||
for _, file := range files {
|
||||
_, err := bundle.LoadMessageFileFS(localeFS, file)
|
||||
if err != nil {
|
||||
@@ -49,7 +50,8 @@ func Init() error {
|
||||
}
|
||||
|
||||
// Pre-create localizers for supported languages
|
||||
localizers[LangZh] = i18n.NewLocalizer(bundle, LangZh)
|
||||
localizers[LangZhCN] = i18n.NewLocalizer(bundle, LangZhCN)
|
||||
localizers[LangZhTW] = i18n.NewLocalizer(bundle, LangZhTW)
|
||||
localizers[LangEn] = i18n.NewLocalizer(bundle, LangEn)
|
||||
|
||||
// Set the TranslateMessage function in common package
|
||||
@@ -201,8 +203,10 @@ func normalizeLang(lang string) string {
|
||||
|
||||
// Handle common variations
|
||||
switch {
|
||||
case strings.HasPrefix(lang, "zh-tw"):
|
||||
return LangZhTW
|
||||
case strings.HasPrefix(lang, "zh"):
|
||||
return LangZh
|
||||
return LangZhCN
|
||||
case strings.HasPrefix(lang, "en"):
|
||||
return LangEn
|
||||
default:
|
||||
@@ -212,7 +216,7 @@ func normalizeLang(lang string) string {
|
||||
|
||||
// SupportedLanguages returns a list of supported language codes
|
||||
func SupportedLanguages() []string {
|
||||
return []string{LangZh, LangEn}
|
||||
return []string{LangZhCN, LangZhTW, LangEn}
|
||||
}
|
||||
|
||||
// IsSupported checks if a language code is supported
|
||||
|
||||
Reference in New Issue
Block a user