mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-04 01:34:27 +00:00 
			
		
		
		
	Use i18n.Reset to reload locales (#15073)
This commit is contained in:
		
							
								
								
									
										2
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								go.mod
									
									
									
									
									
								
							@@ -120,7 +120,7 @@ require (
 | 
				
			|||||||
	github.com/tstranex/u2f v1.0.0
 | 
						github.com/tstranex/u2f v1.0.0
 | 
				
			||||||
	github.com/ulikunitz/xz v0.5.10 // indirect
 | 
						github.com/ulikunitz/xz v0.5.10 // indirect
 | 
				
			||||||
	github.com/unknwon/com v1.0.1
 | 
						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/unknwon/paginater v0.0.0-20200328080006-042474bd0eae
 | 
				
			||||||
	github.com/unrolled/render v1.0.3
 | 
						github.com/unrolled/render v1.0.3
 | 
				
			||||||
	github.com/urfave/cli v1.22.5
 | 
						github.com/urfave/cli v1.22.5
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								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 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 h1:3d1LTxD+Lnf3soQiD4Cp/0BRB+Rsa/+RTvz8GMMzIXs=
 | 
				
			||||||
github.com/unknwon/com v1.0.1/go.mod h1:tOOxU81rwgoCLoOVVPHb6T/wt8HZygqH5id+GNnlCXM=
 | 
					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-20210321134014-0ebbf2df1c44 h1:7bSo/vjZKVYUoZfxpYh9Y9JV+9hi1gYJp4WIykhrZag=
 | 
				
			||||||
github.com/unknwon/i18n v0.0.0-20200823051745-09abd91c7f2c/go.mod h1:+5rDk6sDGpl3azws3O+f+GpFSyN9GVr0K8cvQLQM2ZQ=
 | 
					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 h1:ihaXiJkaca54IaCSnEXtE/uSZOmPxKZhDfVLrzZLFDs=
 | 
				
			||||||
github.com/unknwon/paginater v0.0.0-20200328080006-042474bd0eae/go.mod h1:1fdkY6xxl6ExVs2QFv7R0F5IRZHKA8RahhB9fMC9RvM=
 | 
					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=
 | 
					github.com/unrolled/render v1.0.3 h1:baO+NG1bZSF2WR4zwh+0bMWauWky7DVrTOfvE2w+aFo=
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,8 +5,6 @@
 | 
				
			|||||||
package translation
 | 
					package translation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"errors"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	"code.gitea.io/gitea/modules/log"
 | 
						"code.gitea.io/gitea/modules/log"
 | 
				
			||||||
	"code.gitea.io/gitea/modules/options"
 | 
						"code.gitea.io/gitea/modules/options"
 | 
				
			||||||
	"code.gitea.io/gitea/modules/setting"
 | 
						"code.gitea.io/gitea/modules/setting"
 | 
				
			||||||
@@ -38,6 +36,7 @@ func AllLangs() []LangType {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// InitLocales loads the locales
 | 
					// InitLocales loads the locales
 | 
				
			||||||
func InitLocales() {
 | 
					func InitLocales() {
 | 
				
			||||||
 | 
						i18n.Reset()
 | 
				
			||||||
	localeNames, err := options.Dir("locale")
 | 
						localeNames, err := options.Dir("locale")
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		log.Fatal("Failed to list locale files: %v", err)
 | 
							log.Fatal("Failed to list locale files: %v", err)
 | 
				
			||||||
@@ -60,14 +59,9 @@ func InitLocales() {
 | 
				
			|||||||
	for i := range setting.Names {
 | 
						for i := range setting.Names {
 | 
				
			||||||
		key := "locale_" + setting.Langs[i] + ".ini"
 | 
							key := "locale_" + setting.Langs[i] + ".ini"
 | 
				
			||||||
		if err = i18n.SetMessageWithDesc(setting.Langs[i], setting.Names[i], localFiles[key]); err != nil {
 | 
							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")
 | 
						i18n.SetDefaultLang("en-US")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	allLangs = make([]LangType, 0, i18n.Count()-1)
 | 
						allLangs = make([]LangType, 0, i18n.Count()-1)
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										5
									
								
								vendor/github.com/unknwon/i18n/i18n.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								vendor/github.com/unknwon/i18n/i18n.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -174,6 +174,11 @@ func SetMessageWithDesc(lang, langDesc string, localeFile interface{}, otherLoca
 | 
				
			|||||||
	return err
 | 
						return err
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Reset resets locale store.
 | 
				
			||||||
 | 
					func Reset() {
 | 
				
			||||||
 | 
						locales = &localeStore{store: make(map[string]*locale)}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// SetMessage sets the message file for localization.
 | 
					// SetMessage sets the message file for localization.
 | 
				
			||||||
func SetMessage(lang string, localeFile interface{}, otherLocaleFiles ...interface{}) error {
 | 
					func SetMessage(lang string, localeFile interface{}, otherLocaleFiles ...interface{}) error {
 | 
				
			||||||
	return SetMessageWithDesc(lang, lang, localeFile, otherLocaleFiles...)
 | 
						return SetMessageWithDesc(lang, lang, localeFile, otherLocaleFiles...)
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								vendor/modules.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/modules.txt
									
									
									
									
										vendored
									
									
								
							@@ -772,7 +772,7 @@ github.com/ulikunitz/xz/lzma
 | 
				
			|||||||
# github.com/unknwon/com v1.0.1
 | 
					# github.com/unknwon/com v1.0.1
 | 
				
			||||||
## explicit
 | 
					## explicit
 | 
				
			||||||
github.com/unknwon/com
 | 
					github.com/unknwon/com
 | 
				
			||||||
# github.com/unknwon/i18n v0.0.0-20200823051745-09abd91c7f2c
 | 
					# github.com/unknwon/i18n v0.0.0-20210321134014-0ebbf2df1c44
 | 
				
			||||||
## explicit
 | 
					## explicit
 | 
				
			||||||
github.com/unknwon/i18n
 | 
					github.com/unknwon/i18n
 | 
				
			||||||
# github.com/unknwon/paginater v0.0.0-20200328080006-042474bd0eae
 | 
					# github.com/unknwon/paginater v0.0.0-20200328080006-042474bd0eae
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user