]> source.dussan.org Git - gitea.git/commitdiff
Use i18n.Reset to reload locales (#15073)
author6543 <6543@obermui.de>
Sun, 21 Mar 2021 15:11:36 +0000 (16:11 +0100)
committerGitHub <noreply@github.com>
Sun, 21 Mar 2021 15:11:36 +0000 (16:11 +0100)
go.mod
go.sum
modules/translation/translation.go
vendor/github.com/unknwon/i18n/i18n.go
vendor/modules.txt

diff --git a/go.mod b/go.mod
index 165c8f6933f7f4bb771b65538eb0fcb3919d71b9..33586e67feec59f54629c995cd98a1920dcc89aa 100644 (file)
--- a/go.mod
+++ b/go.mod
@@ -120,7 +120,7 @@ require (
        github.com/tstranex/u2f v1.0.0
        github.com/ulikunitz/xz v0.5.10 // indirect
        github.com/unknwon/com v1.0.1
-       github.com/unknwon/i18n v0.0.0-20200823051745-09abd91c7f2c
+       github.com/unknwon/i18n v0.0.0-20210321134014-0ebbf2df1c44
        github.com/unknwon/paginater v0.0.0-20200328080006-042474bd0eae
        github.com/unrolled/render v1.0.3
        github.com/urfave/cli v1.22.5
diff --git a/go.sum b/go.sum
index 09dc22e8f00cf9a518c53de782e0d3e63a5ae008..cf7148fbbeadc83b9881a70509541360d1dcc599 100644 (file)
--- a/go.sum
+++ b/go.sum
@@ -1111,8 +1111,8 @@ github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0o
 github.com/unknwon/com v0.0.0-20190804042917-757f69c95f3e/go.mod h1:tOOxU81rwgoCLoOVVPHb6T/wt8HZygqH5id+GNnlCXM=
 github.com/unknwon/com v1.0.1 h1:3d1LTxD+Lnf3soQiD4Cp/0BRB+Rsa/+RTvz8GMMzIXs=
 github.com/unknwon/com v1.0.1/go.mod h1:tOOxU81rwgoCLoOVVPHb6T/wt8HZygqH5id+GNnlCXM=
-github.com/unknwon/i18n v0.0.0-20200823051745-09abd91c7f2c h1:679/gJXwrsHC3RATr0YYjZvDMJPYN7W9FGSGNoLmKxM=
-github.com/unknwon/i18n v0.0.0-20200823051745-09abd91c7f2c/go.mod h1:+5rDk6sDGpl3azws3O+f+GpFSyN9GVr0K8cvQLQM2ZQ=
+github.com/unknwon/i18n v0.0.0-20210321134014-0ebbf2df1c44 h1:7bSo/vjZKVYUoZfxpYh9Y9JV+9hi1gYJp4WIykhrZag=
+github.com/unknwon/i18n v0.0.0-20210321134014-0ebbf2df1c44/go.mod h1:+5rDk6sDGpl3azws3O+f+GpFSyN9GVr0K8cvQLQM2ZQ=
 github.com/unknwon/paginater v0.0.0-20200328080006-042474bd0eae h1:ihaXiJkaca54IaCSnEXtE/uSZOmPxKZhDfVLrzZLFDs=
 github.com/unknwon/paginater v0.0.0-20200328080006-042474bd0eae/go.mod h1:1fdkY6xxl6ExVs2QFv7R0F5IRZHKA8RahhB9fMC9RvM=
 github.com/unrolled/render v1.0.3 h1:baO+NG1bZSF2WR4zwh+0bMWauWky7DVrTOfvE2w+aFo=
index b7276e53c014945be9481f64cc5657d476dd78c6..dec48c7a657b27ee4b13676fa789e17f62febaef 100644 (file)
@@ -5,8 +5,6 @@
 package translation
 
 import (
-       "errors"
-
        "code.gitea.io/gitea/modules/log"
        "code.gitea.io/gitea/modules/options"
        "code.gitea.io/gitea/modules/setting"
@@ -38,6 +36,7 @@ func AllLangs() []LangType {
 
 // InitLocales loads the locales
 func InitLocales() {
+       i18n.Reset()
        localeNames, err := options.Dir("locale")
        if err != nil {
                log.Fatal("Failed to list locale files: %v", err)
@@ -60,12 +59,7 @@ func InitLocales() {
        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 {
-                       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)
-                       }
+                       log.Error("Failed to set messages to %s: %v", setting.Langs[i], err)
                }
        }
        i18n.SetDefaultLang("en-US")
index cfe982f5f7df9057ba3de09b3e5d31736e483382..bdb8ee7923cccd0ae7ad08cba03492c8ee8a6f8e 100644 (file)
@@ -174,6 +174,11 @@ func SetMessageWithDesc(lang, langDesc string, localeFile interface{}, otherLoca
        return err
 }
 
+// Reset resets locale store.
+func Reset() {
+       locales = &localeStore{store: make(map[string]*locale)}
+}
+
 // SetMessage sets the message file for localization.
 func SetMessage(lang string, localeFile interface{}, otherLocaleFiles ...interface{}) error {
        return SetMessageWithDesc(lang, lang, localeFile, otherLocaleFiles...)
index 7069aaffef27c43fd8d7167a214406c4cace8a8d..96ac0b77d9a054c261075707e3d58364da8e10a7 100644 (file)
@@ -772,7 +772,7 @@ github.com/ulikunitz/xz/lzma
 # github.com/unknwon/com v1.0.1
 ## explicit
 github.com/unknwon/com
-# github.com/unknwon/i18n v0.0.0-20200823051745-09abd91c7f2c
+# github.com/unknwon/i18n v0.0.0-20210321134014-0ebbf2df1c44
 ## explicit
 github.com/unknwon/i18n
 # github.com/unknwon/paginater v0.0.0-20200328080006-042474bd0eae