mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-26 12:27:06 +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,12 +59,7 @@ 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) { | 			log.Error("Failed to set messages to %s: %v", setting.Langs[i], err) | ||||||
| 				// 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") | 	i18n.SetDefaultLang("en-US") | ||||||
|   | |||||||
							
								
								
									
										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
	 6543
					6543