summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--modules/translation/translation.go11
1 files changed, 9 insertions, 2 deletions
diff --git a/modules/translation/translation.go b/modules/translation/translation.go
index 28ff6a5db1..b7276e53c0 100644
--- a/modules/translation/translation.go
+++ b/modules/translation/translation.go
@@ -5,6 +5,8 @@
package translation
import (
+ "errors"
+
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/options"
"code.gitea.io/gitea/modules/setting"
@@ -57,8 +59,13 @@ func InitLocales() {
matcher = language.NewMatcher(tags)
for i := range setting.Names {
key := "locale_" + setting.Langs[i] + ".ini"
- if err := i18n.SetMessageWithDesc(setting.Langs[i], setting.Names[i], localFiles[key]); err != nil {
- log.Fatal("Failed to set messages to %s: %v", setting.Langs[i], err)
+ if err = i18n.SetMessageWithDesc(setting.Langs[i], setting.Names[i], localFiles[key]); err != nil {
+ if errors.Is(err, i18n.ErrLangAlreadyExist) {
+ // just log if lang is already loaded since we can not reload it
+ log.Warn("Can not load language '%s' since already loaded", setting.Langs[i])
+ } else {
+ log.Error("Failed to set messages to %s: %v", setting.Langs[i], err)
+ }
}
}
i18n.SetDefaultLang("en-US")