diff --git a/pkg/i18n/lang/en.json b/pkg/i18n/lang/en.json index d6887ce42..039f1a7d8 100644 --- a/pkg/i18n/lang/en.json +++ b/pkg/i18n/lang/en.json @@ -143,7 +143,8 @@ "go_to_settings": "Go to settings", "confirm_email": "Confirm your email address", "abort_deletion": "Abort the deletion", - "confirm_account_deletion": "Confirm the deletion of my account" + "confirm_account_deletion": "Confirm the deletion of my account", + "change_notification_settings_link": "You can change your notification settings [here](%[1]s)." } } }, diff --git a/pkg/models/notifications.go b/pkg/models/notifications.go index 17dc00a5b..08732ce4f 100644 --- a/pkg/models/notifications.go +++ b/pkg/models/notifications.go @@ -38,7 +38,7 @@ type ReminderDueNotification struct { // ToMail returns the mail notification for ReminderDueNotification func (n *ReminderDueNotification) ToMail(lang string) *notifications.Mail { return notifications.NewMail(). - IncludeLinkToSettings(). + IncludeLinkToSettings(lang). To(n.User.Email). Subject(i18n.T(lang, "notifications.task.reminder.subject", n.Task.Title, n.Project.Title)). Greeting(i18n.T(lang, "notifications.greeting", n.User.GetName())). @@ -228,7 +228,7 @@ type UndoneTaskOverdueNotification struct { func (n *UndoneTaskOverdueNotification) ToMail(lang string) *notifications.Mail { until := time.Until(n.Task.DueDate).Round(1*time.Hour) * -1 return notifications.NewMail(). - IncludeLinkToSettings(). + IncludeLinkToSettings(lang). Subject(i18n.T(lang, "notifications.task.overdue.subject", n.Task.Title, n.Project.Title)). Greeting(i18n.T(lang, "notifications.greeting", n.User.GetName())). Line(i18n.T(lang, "notifications.task.overdue.message", n.Task.Title, n.Project.Title, getOverdueSinceString(until, n.User.Language))). @@ -272,7 +272,7 @@ func (n *UndoneTasksOverdueNotification) ToMail(lang string) *notifications.Mail } return notifications.NewMail(). - IncludeLinkToSettings(). + IncludeLinkToSettings(lang). Subject(i18n.T(lang, "notifications.task.overdue.multiple_subject")). Greeting(i18n.T(lang, "notifications.greeting", n.User.GetName())). Line(i18n.T(lang, "notifications.task.overdue.multiple_message")). diff --git a/pkg/notifications/mail.go b/pkg/notifications/mail.go index 3b29412bc..0b578466d 100644 --- a/pkg/notifications/mail.go +++ b/pkg/notifications/mail.go @@ -17,7 +17,10 @@ package notifications import ( + "fmt" + "code.vikunja.io/api/pkg/config" + "code.vikunja.io/api/pkg/i18n" "code.vikunja.io/api/pkg/mail" ) @@ -87,8 +90,9 @@ func (m *Mail) FooterLine(line string) *Mail { return m } -func (m *Mail) IncludeLinkToSettings() *Mail { - m.FooterLine("You can change your notification settings [here](" + config.ServicePublicURL.GetString() + "user/settings/general).") +func (m *Mail) IncludeLinkToSettings(lang string) *Mail { + link := config.ServicePublicURL.GetString() + "user/settings/general" + m.FooterLine(fmt.Sprintf(i18n.T(lang, "notifications.common.actions.change_notification_settings_link"), link)) return m }