From beb7a0cfcb6a5a76d680707a4c458eee51d87c07 Mon Sep 17 00:00:00 2001 From: Frédéric Guillot Date: Fri, 21 Sep 2018 18:53:29 -0700 Subject: Use unique translation IDs instead of English text as key --- ui/category_save.go | 4 ++-- ui/category_update.go | 4 ++-- ui/feed_update.go | 2 +- ui/form/auth.go | 2 +- ui/form/category.go | 2 +- ui/form/feed.go | 2 +- ui/form/settings.go | 6 +++--- ui/form/subscription.go | 2 +- ui/form/user.go | 12 ++++++------ ui/integration_pocket.go | 6 +++--- ui/integration_update.go | 4 ++-- ui/login_check.go | 2 +- ui/oauth2_callback.go | 4 ++-- ui/oauth2_unlink.go | 4 ++-- ui/opml_upload.go | 2 +- ui/settings_update.go | 6 +++--- ui/subscription_submit.go | 2 +- ui/user_save.go | 4 ++-- ui/user_update.go | 4 ++-- 19 files changed, 37 insertions(+), 37 deletions(-) (limited to 'ui') diff --git a/ui/category_save.go b/ui/category_save.go index 2ae4383..ec85cd3 100644 --- a/ui/category_save.go +++ b/ui/category_save.go @@ -49,7 +49,7 @@ func (c *Controller) SaveCategory(w http.ResponseWriter, r *http.Request) { } if duplicateCategory != nil { - view.Set("errorMessage", "This category already exists.") + view.Set("errorMessage", "error.category_already_exists") html.OK(w, r, view.Render("create_category")) return } @@ -61,7 +61,7 @@ func (c *Controller) SaveCategory(w http.ResponseWriter, r *http.Request) { if err = c.store.CreateCategory(&category); err != nil { logger.Error("[Controller:CreateCategory] %v", err) - view.Set("errorMessage", "Unable to create this category.") + view.Set("errorMessage", "error.unable_to_create_category") html.OK(w, r, view.Render("create_category")) return } diff --git a/ui/category_update.go b/ui/category_update.go index 0553d97..480b4fb 100644 --- a/ui/category_update.go +++ b/ui/category_update.go @@ -60,7 +60,7 @@ func (c *Controller) UpdateCategory(w http.ResponseWriter, r *http.Request) { } if c.store.AnotherCategoryExists(user.ID, category.ID, categoryForm.Title) { - view.Set("errorMessage", "This category already exists.") + view.Set("errorMessage", "error.category_already_exists") html.OK(w, r, view.Render("edit_category")) return } @@ -68,7 +68,7 @@ func (c *Controller) UpdateCategory(w http.ResponseWriter, r *http.Request) { err = c.store.UpdateCategory(categoryForm.Merge(category)) if err != nil { logger.Error("[Controller:UpdateCategory] %v", err) - view.Set("errorMessage", "Unable to update this category.") + view.Set("errorMessage", "error.unable_to_update_category") html.OK(w, r, view.Render("edit_category")) return } diff --git a/ui/feed_update.go b/ui/feed_update.go index 402daa2..a6fbcbf 100644 --- a/ui/feed_update.go +++ b/ui/feed_update.go @@ -71,7 +71,7 @@ func (c *Controller) UpdateFeed(w http.ResponseWriter, r *http.Request) { err = c.store.UpdateFeed(feedForm.Merge(feed)) if err != nil { logger.Error("[Controller:EditFeed] %v", err) - view.Set("errorMessage", "Unable to update this feed.") + view.Set("errorMessage", "error.unable_to_update_feed") html.OK(w, r, view.Render("edit_feed")) return } diff --git a/ui/form/auth.go b/ui/form/auth.go index 7635efe..eed0ef5 100644 --- a/ui/form/auth.go +++ b/ui/form/auth.go @@ -19,7 +19,7 @@ type AuthForm struct { // Validate makes sure the form values are valid. func (a AuthForm) Validate() error { if a.Username == "" || a.Password == "" { - return errors.NewLocalizedError("All fields are mandatory.") + return errors.NewLocalizedError("error.fields_mandatory") } return nil diff --git a/ui/form/category.go b/ui/form/category.go index f255cb4..b1bed2e 100644 --- a/ui/form/category.go +++ b/ui/form/category.go @@ -19,7 +19,7 @@ type CategoryForm struct { // Validate makes sure the form values are valid. func (c CategoryForm) Validate() error { if c.Title == "" { - return errors.NewLocalizedError("The title is mandatory.") + return errors.NewLocalizedError("error.title_required") } return nil } diff --git a/ui/form/feed.go b/ui/form/feed.go index 3645664..0151ea6 100644 --- a/ui/form/feed.go +++ b/ui/form/feed.go @@ -29,7 +29,7 @@ type FeedForm struct { // ValidateModification validates FeedForm fields func (f FeedForm) ValidateModification() error { if f.FeedURL == "" || f.SiteURL == "" || f.Title == "" || f.CategoryID == 0 { - return errors.NewLocalizedError("All fields are mandatory.") + return errors.NewLocalizedError("error.fields_mandatory") } return nil } diff --git a/ui/form/settings.go b/ui/form/settings.go index 86f2d15..97c8f6e 100644 --- a/ui/form/settings.go +++ b/ui/form/settings.go @@ -40,16 +40,16 @@ func (s *SettingsForm) Merge(user *model.User) *model.User { // Validate makes sure the form values are valid. func (s *SettingsForm) Validate() error { if s.Username == "" || s.Theme == "" || s.Language == "" || s.Timezone == "" || s.EntryDirection == "" { - return errors.NewLocalizedError("The username, theme, language and timezone fields are mandatory.") + return errors.NewLocalizedError("error.settings_mandatory_fields") } if s.Password != "" { if s.Password != s.Confirmation { - return errors.NewLocalizedError("Passwords are not the same.") + return errors.NewLocalizedError("error.different_passwords") } if len(s.Password) < 6 { - return errors.NewLocalizedError("You must use at least 6 characters") + return errors.NewLocalizedError("error.password_min_length") } } diff --git a/ui/form/subscription.go b/ui/form/subscription.go index 9bb14fd..16a2bf9 100644 --- a/ui/form/subscription.go +++ b/ui/form/subscription.go @@ -24,7 +24,7 @@ type SubscriptionForm struct { // Validate makes sure the form values are valid. func (s *SubscriptionForm) Validate() error { if s.URL == "" || s.CategoryID == 0 { - return errors.NewLocalizedError("The URL and the category are mandatory.") + return errors.NewLocalizedError("error.feed_mandatory_fields") } return nil diff --git a/ui/form/user.go b/ui/form/user.go index 404f9c7..e250462 100644 --- a/ui/form/user.go +++ b/ui/form/user.go @@ -22,15 +22,15 @@ type UserForm struct { // ValidateCreation validates user creation. func (u UserForm) ValidateCreation() error { if u.Username == "" || u.Password == "" || u.Confirmation == "" { - return errors.NewLocalizedError("All fields are mandatory.") + return errors.NewLocalizedError("error.fields_mandatory") } if u.Password != u.Confirmation { - return errors.NewLocalizedError("Passwords are not the same.") + return errors.NewLocalizedError("error.different_passwords") } if len(u.Password) < 6 { - return errors.NewLocalizedError("You must use at least 6 characters.") + return errors.NewLocalizedError("error.password_min_length") } return nil @@ -39,16 +39,16 @@ func (u UserForm) ValidateCreation() error { // ValidateModification validates user modification. func (u UserForm) ValidateModification() error { if u.Username == "" { - return errors.NewLocalizedError("The username is mandatory.") + return errors.NewLocalizedError("error.user_mandatory_fields") } if u.Password != "" { if u.Password != u.Confirmation { - return errors.NewLocalizedError("Passwords are not the same.") + return errors.NewLocalizedError("error.different_passwords") } if len(u.Password) < 6 { - return errors.NewLocalizedError("You must use at least 6 characters.") + return errors.NewLocalizedError("error.password_min_length") } } diff --git a/ui/integration_pocket.go b/ui/integration_pocket.go index cce83b3..432069a 100644 --- a/ui/integration_pocket.go +++ b/ui/integration_pocket.go @@ -36,7 +36,7 @@ func (c *Controller) PocketAuthorize(w http.ResponseWriter, r *http.Request) { requestToken, err := connector.RequestToken(redirectURL) if err != nil { logger.Error("[Pocket:Authorize] %v", err) - sess.NewFlashErrorMessage(c.translator.GetLanguage(request.UserLanguage(r)).Get("Unable to fetch request token from Pocket!")) + sess.NewFlashErrorMessage(c.translator.GetLanguage(request.UserLanguage(r)).Get("error.pocket_request_token")) response.Redirect(w, r, route.Path(c.router, "integrations")) return } @@ -65,7 +65,7 @@ func (c *Controller) PocketCallback(w http.ResponseWriter, r *http.Request) { accessToken, err := connector.AccessToken(request.PocketRequestToken(r)) if err != nil { logger.Error("[Pocket:Callback] %v", err) - sess.NewFlashErrorMessage(c.translator.GetLanguage(request.UserLanguage(r)).Get("Unable to fetch access token from Pocket!")) + sess.NewFlashErrorMessage(c.translator.GetLanguage(request.UserLanguage(r)).Get("error.pocket_access_token")) response.Redirect(w, r, route.Path(c.router, "integrations")) return } @@ -79,6 +79,6 @@ func (c *Controller) PocketCallback(w http.ResponseWriter, r *http.Request) { return } - sess.NewFlashMessage(c.translator.GetLanguage(request.UserLanguage(r)).Get("Your Pocket account is now linked!")) + sess.NewFlashMessage(c.translator.GetLanguage(request.UserLanguage(r)).Get("alert.pocket_linked")) response.Redirect(w, r, route.Path(c.router, "integrations")) } diff --git a/ui/integration_update.go b/ui/integration_update.go index e6d4a67..2d10413 100644 --- a/ui/integration_update.go +++ b/ui/integration_update.go @@ -36,7 +36,7 @@ func (c *Controller) UpdateIntegration(w http.ResponseWriter, r *http.Request) { integrationForm.Merge(integration) if integration.FeverUsername != "" && c.store.HasDuplicateFeverUsername(user.ID, integration.FeverUsername) { - sess.NewFlashErrorMessage(c.translator.GetLanguage(request.UserLanguage(r)).Get("There is already someone else with the same Fever username!")) + sess.NewFlashErrorMessage(c.translator.GetLanguage(request.UserLanguage(r)).Get("error.duplicate_fever_username")) response.Redirect(w, r, route.Path(c.router, "integrations")) return } @@ -53,6 +53,6 @@ func (c *Controller) UpdateIntegration(w http.ResponseWriter, r *http.Request) { return } - sess.NewFlashMessage(c.translator.GetLanguage(request.UserLanguage(r)).Get("Preferences saved!")) + sess.NewFlashMessage(c.translator.GetLanguage(request.UserLanguage(r)).Get("alert.prefs_saved")) response.Redirect(w, r, route.Path(c.router, "integrations")) } diff --git a/ui/login_check.go b/ui/login_check.go index 2c5398a..98d2c4e 100644 --- a/ui/login_check.go +++ b/ui/login_check.go @@ -21,7 +21,7 @@ func (c *Controller) CheckLogin(w http.ResponseWriter, r *http.Request) { authForm := form.NewAuthForm(r) view := view.New(c.tpl, r, sess) - view.Set("errorMessage", "Invalid username or password.") + view.Set("errorMessage", "error.bad_credentials") view.Set("form", authForm) if err := authForm.Validate(); err != nil { diff --git a/ui/oauth2_callback.go b/ui/oauth2_callback.go index 00112b0..546158f 100644 --- a/ui/oauth2_callback.go +++ b/ui/oauth2_callback.go @@ -65,7 +65,7 @@ func (c *Controller) OAuth2Callback(w http.ResponseWriter, r *http.Request) { if user != nil { logger.Error("[OAuth2] User #%d cannot be associated because %s is already associated", request.UserID(r), user.Username) - sess.NewFlashErrorMessage(c.translator.GetLanguage(request.UserLanguage(r)).Get("There is already someone associated with this provider!")) + sess.NewFlashErrorMessage(c.translator.GetLanguage(request.UserLanguage(r)).Get("error.duplicate_linked_account")) response.Redirect(w, r, route.Path(c.router, "settings")) return } @@ -75,7 +75,7 @@ func (c *Controller) OAuth2Callback(w http.ResponseWriter, r *http.Request) { return } - sess.NewFlashMessage(c.translator.GetLanguage(request.UserLanguage(r)).Get("Your external account is now linked!")) + sess.NewFlashMessage(c.translator.GetLanguage(request.UserLanguage(r)).Get("alert.account_linked")) response.Redirect(w, r, route.Path(c.router, "settings")) return } diff --git a/ui/oauth2_unlink.go b/ui/oauth2_unlink.go index bf76f05..191d78d 100644 --- a/ui/oauth2_unlink.go +++ b/ui/oauth2_unlink.go @@ -40,7 +40,7 @@ func (c *Controller) OAuth2Unlink(w http.ResponseWriter, r *http.Request) { } if !hasPassword { - sess.NewFlashErrorMessage(c.translator.GetLanguage(request.UserLanguage(r)).Get("You must define a password otherwise you won't be able to login again.")) + sess.NewFlashErrorMessage(c.translator.GetLanguage(request.UserLanguage(r)).Get("error.unlink_account_without_password")) response.Redirect(w, r, route.Path(c.router, "settings")) return } @@ -50,6 +50,6 @@ func (c *Controller) OAuth2Unlink(w http.ResponseWriter, r *http.Request) { return } - sess.NewFlashMessage(c.translator.GetLanguage(request.UserLanguage(r)).Get("Your external account is now dissociated!")) + sess.NewFlashMessage(c.translator.GetLanguage(request.UserLanguage(r)).Get("alert.account_unlinked")) response.Redirect(w, r, route.Path(c.router, "settings")) } diff --git a/ui/opml_upload.go b/ui/opml_upload.go index 86150fd..603b660 100644 --- a/ui/opml_upload.go +++ b/ui/opml_upload.go @@ -48,7 +48,7 @@ func (c *Controller) UploadOPML(w http.ResponseWriter, r *http.Request) { view.Set("countErrorFeeds", c.store.CountErrorFeeds(user.ID)) if fileHeader.Size == 0 { - view.Set("errorMessage", "This file is empty") + view.Set("errorMessage", "error.empty_file") html.OK(w, r, view.Render("import")) return } diff --git a/ui/settings_update.go b/ui/settings_update.go index e57f3b0..6daf28c 100644 --- a/ui/settings_update.go +++ b/ui/settings_update.go @@ -54,7 +54,7 @@ func (c *Controller) UpdateSettings(w http.ResponseWriter, r *http.Request) { } if c.store.AnotherUserExists(user.ID, settingsForm.Username) { - view.Set("errorMessage", "This user already exists.") + view.Set("errorMessage", "error.user_already_exists") html.OK(w, r, view.Render("settings")) return } @@ -62,13 +62,13 @@ func (c *Controller) UpdateSettings(w http.ResponseWriter, r *http.Request) { err = c.store.UpdateUser(settingsForm.Merge(user)) if err != nil { logger.Error("[Controller:UpdateSettings] %v", err) - view.Set("errorMessage", "Unable to update this user.") + view.Set("errorMessage", "error.unable_to_update_user") html.OK(w, r, view.Render("settings")) return } sess.SetLanguage(user.Language) sess.SetTheme(user.Theme) - sess.NewFlashMessage(c.translator.GetLanguage(request.UserLanguage(r)).Get("Preferences saved!")) + sess.NewFlashMessage(c.translator.GetLanguage(request.UserLanguage(r)).Get("alert.prefs_saved")) response.Redirect(w, r, route.Path(c.router, "settings")) } diff --git a/ui/subscription_submit.go b/ui/subscription_submit.go index c2c1298..d1cefbd 100644 --- a/ui/subscription_submit.go +++ b/ui/subscription_submit.go @@ -71,7 +71,7 @@ func (c *Controller) SubmitSubscription(w http.ResponseWriter, r *http.Request) switch { case n == 0: v.Set("form", subscriptionForm) - v.Set("errorMessage", "Unable to find any subscription.") + v.Set("errorMessage", "error.subscription_not_found") html.OK(w, r, v.Render("add_subscription")) case n == 1: feed, err := c.feedHandler.CreateFeed( diff --git a/ui/user_save.go b/ui/user_save.go index a871dab..7c3685b 100644 --- a/ui/user_save.go +++ b/ui/user_save.go @@ -47,7 +47,7 @@ func (c *Controller) SaveUser(w http.ResponseWriter, r *http.Request) { } if c.store.UserExists(userForm.Username) { - view.Set("errorMessage", "This user already exists.") + view.Set("errorMessage", "error.user_already_exists") html.OK(w, r, view.Render("create_user")) return } @@ -55,7 +55,7 @@ func (c *Controller) SaveUser(w http.ResponseWriter, r *http.Request) { newUser := userForm.ToUser() if err := c.store.CreateUser(newUser); err != nil { logger.Error("[Controller:SaveUser] %v", err) - view.Set("errorMessage", "Unable to create this user.") + view.Set("errorMessage", "error.unable_to_create_user") html.OK(w, r, view.Render("create_user")) return } diff --git a/ui/user_update.go b/ui/user_update.go index 4882b47..da28e39 100644 --- a/ui/user_update.go +++ b/ui/user_update.go @@ -65,7 +65,7 @@ func (c *Controller) UpdateUser(w http.ResponseWriter, r *http.Request) { } if c.store.AnotherUserExists(selectedUser.ID, userForm.Username) { - view.Set("errorMessage", "This user already exists.") + view.Set("errorMessage", "error.user_already_exists") html.OK(w, r, view.Render("edit_user")) return } @@ -73,7 +73,7 @@ func (c *Controller) UpdateUser(w http.ResponseWriter, r *http.Request) { userForm.Merge(selectedUser) if err := c.store.UpdateUser(selectedUser); err != nil { logger.Error("[Controller:UpdateUser] %v", err) - view.Set("errorMessage", "Unable to update this user.") + view.Set("errorMessage", "error.unable_to_update_user") html.OK(w, r, view.Render("edit_user")) return } -- cgit v1.2.3