summaryrefslogtreecommitdiffstats
path: root/routers
diff options
context:
space:
mode:
authorGusted <williamzijl7@hotmail.com>2022-06-26 16:19:22 +0200
committerGitHub <noreply@github.com>2022-06-26 22:19:22 +0800
commit5d3f99c7c6d0f2c304dc13c6fa6aa675daf310cc (patch)
treeb44b05216bef3051123cd6b2fd9495cee1b91ece /routers
parent711cbcce8d6a193f5738c45861d11cb86b412ec7 (diff)
downloadgitea-5d3f99c7c6d0f2c304dc13c6fa6aa675daf310cc.tar.gz
gitea-5d3f99c7c6d0f2c304dc13c6fa6aa675daf310cc.zip
Make better use of i18n (#20096)
* Prototyping * Start work on creating offsets * Modify tests * Start prototyping with actual MPH * Twiddle around * Twiddle around comments * Convert templates * Fix external languages * Fix latest translation * Fix some test * Tidy up code * Use simple map * go mod tidy * Move back to data structure - Uses less memory by creating for each language a map. * Apply suggestions from code review Co-authored-by: delvh <dev.lh@web.de> * Add some comments * Fix tests * Try to fix tests * Use en-US as defacto fallback * Use correct slices * refactor (#4) * Remove TryTr, add log for missing translation key * Refactor i18n - Separate dev and production locale stores. - Allow for live-reloading in dev mode. Co-authored-by: zeripath <art27@cantab.net> * Fix live-reloading & check for errors * Make linter happy * live-reload with periodic check (#5) * Fix tests Co-authored-by: delvh <dev.lh@web.de> Co-authored-by: 6543 <6543@obermui.de> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> Co-authored-by: zeripath <art27@cantab.net>
Diffstat (limited to 'routers')
-rw-r--r--routers/web/admin/admin.go3
-rw-r--r--routers/web/auth/auth.go4
-rw-r--r--routers/web/auth/password.go4
-rw-r--r--routers/web/dev/template.go4
-rw-r--r--routers/web/repo/blame.go2
-rw-r--r--routers/web/repo/issue_content_history.go13
-rw-r--r--routers/web/user/setting/account.go4
-rw-r--r--routers/web/user/setting/profile.go6
8 files changed, 19 insertions, 21 deletions
diff --git a/routers/web/admin/admin.go b/routers/web/admin/admin.go
index 24c07b5c1c..ebe5066d2c 100644
--- a/routers/web/admin/admin.go
+++ b/routers/web/admin/admin.go
@@ -25,6 +25,7 @@ import (
"code.gitea.io/gitea/modules/queue"
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/timeutil"
+ "code.gitea.io/gitea/modules/translation"
"code.gitea.io/gitea/modules/updatechecker"
"code.gitea.io/gitea/modules/util"
"code.gitea.io/gitea/modules/web"
@@ -85,7 +86,7 @@ var sysStatus struct {
}
func updateSystemStatus() {
- sysStatus.Uptime = timeutil.TimeSincePro(setting.AppStartTime, "en")
+ sysStatus.Uptime = timeutil.TimeSincePro(setting.AppStartTime, translation.NewLocale("en-US"))
m := new(runtime.MemStats)
runtime.ReadMemStats(m)
diff --git a/routers/web/auth/auth.go b/routers/web/auth/auth.go
index ea5c7232a8..213b88903d 100644
--- a/routers/web/auth/auth.go
+++ b/routers/web/auth/auth.go
@@ -629,7 +629,7 @@ func handleUserCreated(ctx *context.Context, u *user_model.User, gothUser *goth.
ctx.Data["IsSendRegisterMail"] = true
ctx.Data["Email"] = u.Email
- ctx.Data["ActiveCodeLives"] = timeutil.MinutesToFriendly(setting.Service.ActiveCodeLives, ctx.Locale.Language())
+ ctx.Data["ActiveCodeLives"] = timeutil.MinutesToFriendly(setting.Service.ActiveCodeLives, ctx.Locale)
ctx.HTML(http.StatusOK, TplActivate)
if setting.CacheService.Enabled {
@@ -658,7 +658,7 @@ func Activate(ctx *context.Context) {
if setting.CacheService.Enabled && ctx.Cache.IsExist("MailResendLimit_"+ctx.Doer.LowerName) {
ctx.Data["ResendLimited"] = true
} else {
- ctx.Data["ActiveCodeLives"] = timeutil.MinutesToFriendly(setting.Service.ActiveCodeLives, ctx.Locale.Language())
+ ctx.Data["ActiveCodeLives"] = timeutil.MinutesToFriendly(setting.Service.ActiveCodeLives, ctx.Locale)
mailer.SendActivateAccountMail(ctx.Locale, ctx.Doer)
if setting.CacheService.Enabled {
diff --git a/routers/web/auth/password.go b/routers/web/auth/password.go
index c41c8bd1e5..c21ca9cf69 100644
--- a/routers/web/auth/password.go
+++ b/routers/web/auth/password.go
@@ -63,7 +63,7 @@ func ForgotPasswdPost(ctx *context.Context) {
u, err := user_model.GetUserByEmail(email)
if err != nil {
if user_model.IsErrUserNotExist(err) {
- ctx.Data["ResetPwdCodeLives"] = timeutil.MinutesToFriendly(setting.Service.ResetPwdCodeLives, ctx.Locale.Language())
+ ctx.Data["ResetPwdCodeLives"] = timeutil.MinutesToFriendly(setting.Service.ResetPwdCodeLives, ctx.Locale)
ctx.Data["IsResetSent"] = true
ctx.HTML(http.StatusOK, tplForgotPassword)
return
@@ -93,7 +93,7 @@ func ForgotPasswdPost(ctx *context.Context) {
}
}
- ctx.Data["ResetPwdCodeLives"] = timeutil.MinutesToFriendly(setting.Service.ResetPwdCodeLives, ctx.Locale.Language())
+ ctx.Data["ResetPwdCodeLives"] = timeutil.MinutesToFriendly(setting.Service.ResetPwdCodeLives, ctx.Locale)
ctx.Data["IsResetSent"] = true
ctx.HTML(http.StatusOK, tplForgotPassword)
}
diff --git a/routers/web/dev/template.go b/routers/web/dev/template.go
index 29d6033a7a..afef0d8d16 100644
--- a/routers/web/dev/template.go
+++ b/routers/web/dev/template.go
@@ -21,8 +21,8 @@ func TemplatePreview(ctx *context.Context) {
ctx.Data["AppVer"] = setting.AppVer
ctx.Data["AppUrl"] = setting.AppURL
ctx.Data["Code"] = "2014031910370000009fff6782aadb2162b4a997acb69d4400888e0b9274657374"
- ctx.Data["ActiveCodeLives"] = timeutil.MinutesToFriendly(setting.Service.ActiveCodeLives, ctx.Locale.Language())
- ctx.Data["ResetPwdCodeLives"] = timeutil.MinutesToFriendly(setting.Service.ResetPwdCodeLives, ctx.Locale.Language())
+ ctx.Data["ActiveCodeLives"] = timeutil.MinutesToFriendly(setting.Service.ActiveCodeLives, ctx.Locale)
+ ctx.Data["ResetPwdCodeLives"] = timeutil.MinutesToFriendly(setting.Service.ResetPwdCodeLives, ctx.Locale)
ctx.Data["CurDbValue"] = ""
ctx.HTML(http.StatusOK, base.TplName(ctx.Params("*")))
diff --git a/routers/web/repo/blame.go b/routers/web/repo/blame.go
index e96e2142d2..06c43aec19 100644
--- a/routers/web/repo/blame.go
+++ b/routers/web/repo/blame.go
@@ -255,7 +255,7 @@ func renderBlame(ctx *context.Context, blameParts []git.BlamePart, commitNames m
commitCnt++
// User avatar image
- commitSince := timeutil.TimeSinceUnix(timeutil.TimeStamp(commit.Author.When.Unix()), ctx.Locale.Language())
+ commitSince := timeutil.TimeSinceUnix(timeutil.TimeStamp(commit.Author.When.Unix()), ctx.Locale)
var avatar string
if commit.User != nil {
diff --git a/routers/web/repo/issue_content_history.go b/routers/web/repo/issue_content_history.go
index d8a21c7fd7..a9386d274a 100644
--- a/routers/web/repo/issue_content_history.go
+++ b/routers/web/repo/issue_content_history.go
@@ -17,7 +17,6 @@ import (
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/timeutil"
- "code.gitea.io/gitea/modules/translation/i18n"
"github.com/sergi/go-diff/diffmatchpatch"
)
@@ -29,14 +28,13 @@ func GetContentHistoryOverview(ctx *context.Context) {
return
}
- lang := ctx.Locale.Language()
editedHistoryCountMap, _ := issues_model.QueryIssueContentHistoryEditedCountMap(ctx, issue.ID)
ctx.JSON(http.StatusOK, map[string]interface{}{
"i18n": map[string]interface{}{
- "textEdited": i18n.Tr(lang, "repo.issues.content_history.edited"),
- "textDeleteFromHistory": i18n.Tr(lang, "repo.issues.content_history.delete_from_history"),
- "textDeleteFromHistoryConfirm": i18n.Tr(lang, "repo.issues.content_history.delete_from_history_confirm"),
- "textOptions": i18n.Tr(lang, "repo.issues.content_history.options"),
+ "textEdited": ctx.Tr("repo.issues.content_history.edited"),
+ "textDeleteFromHistory": ctx.Tr("repo.issues.content_history.delete_from_history"),
+ "textDeleteFromHistoryConfirm": ctx.Tr("repo.issues.content_history.delete_from_history_confirm"),
+ "textOptions": ctx.Tr("repo.issues.content_history.options"),
},
"editedHistoryCountMap": editedHistoryCountMap,
})
@@ -55,7 +53,6 @@ func GetContentHistoryList(ctx *context.Context) {
// render history list to HTML for frontend dropdown items: (name, value)
// name is HTML of "avatar + userName + userAction + timeSince"
// value is historyId
- lang := ctx.Locale.Language()
var results []map[string]interface{}
for _, item := range items {
var actionText string
@@ -67,7 +64,7 @@ func GetContentHistoryList(ctx *context.Context) {
} else {
actionText = ctx.Locale.Tr("repo.issues.content_history.edited")
}
- timeSinceText := timeutil.TimeSinceUnix(item.EditedUnix, lang)
+ timeSinceText := timeutil.TimeSinceUnix(item.EditedUnix, ctx.Locale)
username := item.UserName
if setting.UI.DefaultShowFullName && strings.TrimSpace(item.UserFullName) != "" {
diff --git a/routers/web/user/setting/account.go b/routers/web/user/setting/account.go
index 3e96cc7c85..cc59524fd1 100644
--- a/routers/web/user/setting/account.go
+++ b/routers/web/user/setting/account.go
@@ -146,7 +146,7 @@ func EmailPost(ctx *context.Context) {
log.Error("Set cache(MailResendLimit) fail: %v", err)
}
}
- ctx.Flash.Info(ctx.Tr("settings.add_email_confirmation_sent", address, timeutil.MinutesToFriendly(setting.Service.ActiveCodeLives, ctx.Locale.Language())))
+ ctx.Flash.Info(ctx.Tr("settings.add_email_confirmation_sent", address, timeutil.MinutesToFriendly(setting.Service.ActiveCodeLives, ctx.Locale)))
ctx.Redirect(setting.AppSubURL + "/user/settings/account")
return
}
@@ -208,7 +208,7 @@ func EmailPost(ctx *context.Context) {
log.Error("Set cache(MailResendLimit) fail: %v", err)
}
}
- ctx.Flash.Info(ctx.Tr("settings.add_email_confirmation_sent", email.Email, timeutil.MinutesToFriendly(setting.Service.ActiveCodeLives, ctx.Locale.Language())))
+ ctx.Flash.Info(ctx.Tr("settings.add_email_confirmation_sent", email.Email, timeutil.MinutesToFriendly(setting.Service.ActiveCodeLives, ctx.Locale)))
} else {
ctx.Flash.Success(ctx.Tr("settings.add_email_success"))
}
diff --git a/routers/web/user/setting/profile.go b/routers/web/user/setting/profile.go
index 46399338fa..b07813e725 100644
--- a/routers/web/user/setting/profile.go
+++ b/routers/web/user/setting/profile.go
@@ -23,7 +23,7 @@ import (
"code.gitea.io/gitea/modules/context"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/setting"
- "code.gitea.io/gitea/modules/translation/i18n"
+ "code.gitea.io/gitea/modules/translation"
"code.gitea.io/gitea/modules/typesniffer"
"code.gitea.io/gitea/modules/util"
"code.gitea.io/gitea/modules/web"
@@ -136,7 +136,7 @@ func ProfilePost(ctx *context.Context) {
middleware.SetLocaleCookie(ctx.Resp, ctx.Doer.Language, 0)
log.Trace("User settings updated: %s", ctx.Doer.Name)
- ctx.Flash.Success(i18n.Tr(ctx.Doer.Language, "settings.update_profile_success"))
+ ctx.Flash.Success(translation.NewLocale(ctx.Doer.Language).Tr("settings.update_profile_success"))
ctx.Redirect(setting.AppSubURL + "/user/settings")
}
@@ -425,7 +425,7 @@ func UpdateUserLang(ctx *context.Context) {
middleware.SetLocaleCookie(ctx.Resp, ctx.Doer.Language, 0)
log.Trace("User settings updated: %s", ctx.Doer.Name)
- ctx.Flash.Success(i18n.Tr(ctx.Doer.Language, "settings.update_language_success"))
+ ctx.Flash.Success(translation.NewLocale(ctx.Doer.Language).Tr("settings.update_language_success"))
ctx.Redirect(setting.AppSubURL + "/user/settings/appearance")
}