mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Refactor i18n, use Locale to provide i18n/translation related functions (#18648)
* remove unnecessary web context data fields, and unify the i18n/translation related functions to `Locale` * in development, show an error if a translation key is missing * remove the unnecessary loops `for _, lang := range translation.AllLangs()` for every request, which improves the performance slightly * use `ctx.Locale.Language()` instead of `ctx.Data["Lang"].(string)` * add more comments about how the Locale/LangType fields are used
This commit is contained in:
		@@ -38,7 +38,6 @@ import (
 | 
			
		||||
	"gitea.com/go-chi/session"
 | 
			
		||||
	chi "github.com/go-chi/chi/v5"
 | 
			
		||||
	"github.com/unknwon/com"
 | 
			
		||||
	"github.com/unknwon/i18n"
 | 
			
		||||
	"github.com/unrolled/render"
 | 
			
		||||
	"golang.org/x/crypto/pbkdf2"
 | 
			
		||||
)
 | 
			
		||||
@@ -738,15 +737,7 @@ func Contexter() func(next http.Handler) http.Handler {
 | 
			
		||||
			ctx.Data["UnitProjectsGlobalDisabled"] = unit.TypeProjects.UnitGlobalDisabled()
 | 
			
		||||
 | 
			
		||||
			ctx.Data["i18n"] = locale
 | 
			
		||||
			ctx.Data["Tr"] = i18n.Tr
 | 
			
		||||
			ctx.Data["Lang"] = locale.Language()
 | 
			
		||||
			ctx.Data["AllLangs"] = translation.AllLangs()
 | 
			
		||||
			for _, lang := range translation.AllLangs() {
 | 
			
		||||
				if lang.Lang == locale.Language() {
 | 
			
		||||
					ctx.Data["LangName"] = lang.Name
 | 
			
		||||
					break
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			next.ServeHTTP(ctx.Resp, ctx.Req)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user