diff options
Diffstat (limited to 'services/cron')
-rw-r--r-- | services/cron/cron.go | 3 | ||||
-rw-r--r-- | services/cron/setting.go | 12 | ||||
-rw-r--r-- | services/cron/tasks.go | 8 |
3 files changed, 12 insertions, 11 deletions
diff --git a/services/cron/cron.go b/services/cron/cron.go index ebbcd75b6d..8e19e04416 100644 --- a/services/cron/cron.go +++ b/services/cron/cron.go @@ -13,6 +13,7 @@ import ( "code.gitea.io/gitea/modules/graceful" "code.gitea.io/gitea/modules/process" "code.gitea.io/gitea/modules/sync" + "code.gitea.io/gitea/modules/translation" "github.com/gogs/cron" ) @@ -63,7 +64,7 @@ type TaskTableRow struct { task *Task } -func (t *TaskTableRow) FormatLastMessage(locale string) string { +func (t *TaskTableRow) FormatLastMessage(locale translation.Locale) string { if t.Status == "finished" { return t.task.GetConfig().FormatMessage(locale, t.Name, t.Status, t.LastDoer) } diff --git a/services/cron/setting.go b/services/cron/setting.go index 9b59a562f7..eb13242e94 100644 --- a/services/cron/setting.go +++ b/services/cron/setting.go @@ -7,7 +7,7 @@ package cron import ( "time" - "code.gitea.io/gitea/modules/translation/i18n" + "code.gitea.io/gitea/modules/translation" ) // Config represents a basic configuration interface that cron task @@ -15,7 +15,7 @@ type Config interface { IsEnabled() bool DoRunAtStart() bool GetSchedule() string - FormatMessage(locale, name, status, doer string, args ...interface{}) string + FormatMessage(locale translation.Locale, name, status, doer string, args ...interface{}) string DoNoticeOnSuccess() bool } @@ -69,9 +69,9 @@ func (b *BaseConfig) DoNoticeOnSuccess() bool { // FormatMessage returns a message for the task // Please note the `status` string will be concatenated with `admin.dashboard.cron.` and `admin.dashboard.task.` to provide locale messages. Similarly `name` will be composed with `admin.dashboard.` to provide the locale name for the task. -func (b *BaseConfig) FormatMessage(locale, name, status, doer string, args ...interface{}) string { +func (b *BaseConfig) FormatMessage(locale translation.Locale, name, status, doer string, args ...interface{}) string { realArgs := make([]interface{}, 0, len(args)+2) - realArgs = append(realArgs, i18n.Tr(locale, "admin.dashboard."+name)) + realArgs = append(realArgs, locale.Tr("admin.dashboard."+name)) if doer == "" { realArgs = append(realArgs, "(Cron)") } else { @@ -81,7 +81,7 @@ func (b *BaseConfig) FormatMessage(locale, name, status, doer string, args ...in realArgs = append(realArgs, args...) } if doer == "" { - return i18n.Tr(locale, "admin.dashboard.cron."+status, realArgs...) + return locale.Tr("admin.dashboard.cron."+status, realArgs...) } - return i18n.Tr(locale, "admin.dashboard.task."+status, realArgs...) + return locale.Tr("admin.dashboard.task."+status, realArgs...) } diff --git a/services/cron/tasks.go b/services/cron/tasks.go index 2252ad21e2..c26e47e0ce 100644 --- a/services/cron/tasks.go +++ b/services/cron/tasks.go @@ -94,7 +94,7 @@ func (t *Task) RunWithUser(doer *user_model.User, config Config) { doerName = doer.Name } - ctx, _, finished := pm.AddContext(baseCtx, config.FormatMessage("en-US", t.Name, "process", doerName)) + ctx, _, finished := pm.AddContext(baseCtx, config.FormatMessage(translation.NewLocale("en-US"), t.Name, "process", doerName)) defer finished() if err := t.fun(ctx, doer, config); err != nil { @@ -114,7 +114,7 @@ func (t *Task) RunWithUser(doer *user_model.User, config Config) { t.LastDoer = doerName t.lock.Unlock() - if err := admin_model.CreateNotice(ctx, admin_model.NoticeTask, config.FormatMessage("en-US", t.Name, "cancelled", doerName, message)); err != nil { + if err := admin_model.CreateNotice(ctx, admin_model.NoticeTask, config.FormatMessage(translation.NewLocale("en-US"), t.Name, "cancelled", doerName, message)); err != nil { log.Error("CreateNotice: %v", err) } return @@ -127,7 +127,7 @@ func (t *Task) RunWithUser(doer *user_model.User, config Config) { t.lock.Unlock() if config.DoNoticeOnSuccess() { - if err := admin_model.CreateNotice(ctx, admin_model.NoticeTask, config.FormatMessage("en-US", t.Name, "finished", doerName)); err != nil { + if err := admin_model.CreateNotice(ctx, admin_model.NoticeTask, config.FormatMessage(translation.NewLocale("en-US"), t.Name, "finished", doerName)); err != nil { log.Error("CreateNotice: %v", err) } } @@ -148,7 +148,7 @@ func RegisterTask(name string, config Config, fun func(context.Context, *user_mo log.Debug("Registering task: %s", name) i18nKey := "admin.dashboard." + name - if _, ok := translation.TryTr("en-US", i18nKey); !ok { + if value := translation.NewLocale("en-US").Tr(i18nKey); value == i18nKey { return fmt.Errorf("translation is missing for task %q, please add translation for %q", name, i18nKey) } |