Fix the missing i18n key for update checker (#18646)

tokarchuk/v1.17
wxiaoguang 3 years ago committed by GitHub
parent f393bc82cb
commit c2a3e38194
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 12
      modules/translation/translation.go
  2. 1
      options/locale/locale_en-US.ini
  3. 7
      services/cron/tasks.go

@ -39,6 +39,18 @@ func AllLangs() []LangType {
return allLangs return allLangs
} }
// TryTr tries to do the translation, if no translation, it returns (format, false)
func TryTr(lang, format string, args ...interface{}) (string, bool) {
s := i18n.Tr(lang, format, args...)
// now the i18n library is not good enough and we can only use this hacky method to detect whether the transaction exists
idx := strings.IndexByte(format, '.')
defaultText := format
if idx > 0 {
defaultText = format[idx+1:]
}
return s, s != defaultText
}
// InitLocales loads the locales // InitLocales loads the locales
func InitLocales() { func InitLocales() {
i18n.Reset() i18n.Reset()

@ -2436,6 +2436,7 @@ dashboard.last_gc_pause = Last GC Pause
dashboard.gc_times = GC Times dashboard.gc_times = GC Times
dashboard.delete_old_actions = Delete all old actions from database dashboard.delete_old_actions = Delete all old actions from database
dashboard.delete_old_actions.started = Delete all old actions from database started. dashboard.delete_old_actions.started = Delete all old actions from database started.
dashboard.update_checker = Update checker
users.user_manage_panel = User Account Management users.user_manage_panel = User Account Management
users.new_account = Create User Account users.new_account = Create User Account

@ -17,6 +17,7 @@ import (
"code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/process" "code.gitea.io/gitea/modules/process"
"code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/translation"
) )
var ( var (
@ -121,6 +122,12 @@ func GetTask(name string) *Task {
// RegisterTask allows a task to be registered with the cron service // RegisterTask allows a task to be registered with the cron service
func RegisterTask(name string, config Config, fun func(context.Context, *user_model.User, Config) error) error { func RegisterTask(name string, config Config, fun func(context.Context, *user_model.User, Config) error) error {
log.Debug("Registering task: %s", name) log.Debug("Registering task: %s", name)
i18nKey := "admin.dashboard." + name
if _, ok := translation.TryTr("en-US", i18nKey); !ok {
return fmt.Errorf("translation is missing for task %q, please add translation for %q", name, i18nKey)
}
_, err := setting.GetCronSettings(name, config) _, err := setting.GetCronSettings(name, config)
if err != nil { if err != nil {
log.Error("Unable to register cron task with name: %s Error: %v", name, err) log.Error("Unable to register cron task with name: %s Error: %v", name, err)

Loading…
Cancel
Save