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

This commit is contained in:
wxiaoguang 2022-02-07 15:43:53 +08:00 committed by GitHub
parent f393bc82cb
commit c2a3e38194
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 20 additions and 0 deletions

View file

@ -39,6 +39,18 @@ func AllLangs() []LangType {
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
func InitLocales() {
i18n.Reset()

View file

@ -2436,6 +2436,7 @@ dashboard.last_gc_pause = Last GC Pause
dashboard.gc_times = GC Times
dashboard.delete_old_actions = Delete all old actions from database
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.new_account = Create User Account

View file

@ -17,6 +17,7 @@ import (
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/process"
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/translation"
)
var (
@ -121,6 +122,12 @@ func GetTask(name string) *Task {
// 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 {
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)
if err != nil {
log.Error("Unable to register cron task with name: %s Error: %v", name, err)