From b12a906a74ddbfb72f6aa37018cfb43d35aee2c0 Mon Sep 17 00:00:00 2001 From: wvengen Date: Tue, 5 Feb 2013 12:54:55 +0100 Subject: [PATCH] finish login i18n + controller --- app/controllers/login_controller.rb | 14 ++++---- app/views/login/accept_invitation.html.haml | 18 ++-------- app/views/login/forgot_password.html.haml | 13 +++---- app/views/login/new_password.html.haml | 6 ++-- config/locales/de/de.defaults.yml | 1 + config/locales/de/de.login.yml | 40 +++++++++++++++++++++ 6 files changed, 58 insertions(+), 34 deletions(-) create mode 100644 config/locales/de/de.login.yml diff --git a/app/controllers/login_controller.rb b/app/controllers/login_controller.rb index 9f847569..0e768475 100644 --- a/app/controllers/login_controller.rb +++ b/app/controllers/login_controller.rb @@ -18,7 +18,7 @@ class LoginController < ApplicationController logger.debug("Sent password reset email to #{user.email}.") end end - redirect_to login_url, :notice => "Wenn Deine E-Mail hier registiert ist bekommst Du jetzt eine Nachricht mit einem Passwort-Zurücksetzen-Link." + redirect_to login_url, :notice => I18n.t('login.reset_password.notice') end # Set a new password with a token from the password reminder email. @@ -34,7 +34,7 @@ class LoginController < ApplicationController @user.reset_password_token = nil @user.reset_password_expires = nil @user.save - redirect_to login_url, :notice => "Dein Passwort wurde aktualisiert. Du kannst Dich jetzt anmelden." + redirect_to login_url, :notice => I18n.t('login.update_password.notice') else render :new_password end @@ -44,10 +44,10 @@ class LoginController < ApplicationController def accept_invitation @invite = Invite.find_by_token(params[:token]) if (@invite.nil? || @invite.expires_at < Time.now) - flash[:error] = "Deine Einladung ist nicht (mehr) gültig." + flash[:error] = I18n.t('login.errors.invite_invalid') render :action => 'login' elsif @invite.group.nil? - flash[:error] = "Die Gruppe, in die Du eingeladen wurdest, existiert leider nicht mehr." + flash[:error] = I18n.t('login.errors.group_invalid') render :action => 'login' elsif (request.post?) User.transaction do @@ -56,14 +56,14 @@ class LoginController < ApplicationController if @user.save Membership.new(:user => @user, :group => @invite.group).save! @invite.destroy - redirect_to login_url, notice: "Herzlichen Glückwunsch, Dein Account wurde erstellt. Du kannst Dich nun einloggen." + redirect_to login_url, notice: I18n.t('login.accept_invitation.notice') end end else @user = User.new(:email => @invite.email) end rescue - flash[:error] = "Ein Fehler ist aufgetreten. Bitte erneut versuchen." + flash[:error] = I18n.t('errors.general_again') end protected @@ -71,7 +71,7 @@ class LoginController < ApplicationController def validate_token @user = User.find_by_id_and_reset_password_token(params[:id], params[:token]) if (@user.nil? || @user.reset_password_expires < Time.now) - flash.now.error = "Ungültiger oder abgelaufener Token. Bitte versuch es erneut." + flash[:error] = I18n.t('login.errors.token_invalid') render :action => 'forgot_password' end end diff --git a/app/views/login/accept_invitation.html.haml b/app/views/login/accept_invitation.html.haml index ec069ee2..07489ebc 100644 --- a/app/views/login/accept_invitation.html.haml +++ b/app/views/login/accept_invitation.html.haml @@ -2,22 +2,10 @@ :javascript $('user_nick').focus(); -- title "Einladung in die #{FoodsoftConfig[:name]}" -%p - Du bist eingeladen worden als Mitglied der Gruppe - %b= @invite.group.name - in der Foodcoop - = FoodsoftConfig[:name] - mitzumachen. -%p - Wenn Du mitmachen möchtest, dann fülle bitte dieses Formular aus. -%p - Deine Daten werden selbstverständlich nicht an Dritte, aus was auch immer für - Gründen, weitergeben. Du kannst auch entscheiden, wieviel deiner persönlichen - Daten für alle einsehbar sein sollen. 'Alle' bedeutet hier alle Foodcoop-Mitglieder. - Die Administratoren haben aber jederzeit Zugriff auf deine Daten. +- title t('.title', name: FoodsoftConfig[:name]) += t('.body', group: h(@invite.group.name), foodcoop: h(FoodsoftConfig[:name])).html_safe = simple_form_for @user, url: accept_invitation_path do |form| = render partial: 'shared/user_form_fields', locals: {f: form} .form-actions - = submit_tag "Foodsoft Account erstellen", class: 'btn' + = submit_tag t('.submit'), class: 'btn' diff --git a/app/views/login/forgot_password.html.haml b/app/views/login/forgot_password.html.haml index cd884ba7..492ce763 100644 --- a/app/views/login/forgot_password.html.haml +++ b/app/views/login/forgot_password.html.haml @@ -1,12 +1,7 @@ -- title "Passwort vergessen?" -%p - Kein Problem, Du kannst dir einfach ein neues Passwort zulegen. -%p - Dazu musst hier die E-Mail-Adresse eingeben, mit der Du in der FoodSoft angemeldet bist. - Du erhälst dann eine E-Mail mit weiteren Instruktionen. - +- title t('.title') += t('.body').html_safe = simple_form_for User.new, url: {action: 'reset_password'} do |form| = form.input :email .form-actions - = form.submit "Neues Passwort anfordern", class: 'btn' - = link_to "oder abbrechen", :back \ No newline at end of file + = form.submit t('.submit'), class: 'btn' + = link_to t('.cancel'), :back diff --git a/app/views/login/new_password.html.haml b/app/views/login/new_password.html.haml index d8ddc5f7..d3f2c58c 100644 --- a/app/views/login/new_password.html.haml +++ b/app/views/login/new_password.html.haml @@ -1,7 +1,7 @@ -- title "Neues Passwort" -%p=h "Bitte neues Passwort für #{@user.nick} eingeben." +- title t('.title') += t('.body', user: h(@user.nick)).html_safe = simple_form_for @user, :url => {:action => 'update_password', :id => @user.id, :token => @user.reset_password_token} do |form| = form.input :password = form.input :password_confirmation .form-actions - = form.submit 'Neues Passwort speichern', class: 'btn' \ No newline at end of file + = form.submit t('.submit'), class: 'btn' diff --git a/config/locales/de/de.defaults.yml b/config/locales/de/de.defaults.yml index 8471a46d..9da33386 100644 --- a/config/locales/de/de.defaults.yml +++ b/config/locales/de/de.defaults.yml @@ -120,6 +120,7 @@ de: year: Jahr errors: &errors general: 'Ein Problem ist aufgetreten.' + general_again: 'Ein Fehler ist aufgetreten. Bitte erneut versuchen.' format: ! '%{attribute} %{message}' messages: accepted: muss akzeptiert werden diff --git a/config/locales/de/de.login.yml b/config/locales/de/de.login.yml new file mode 100644 index 00000000..b6d632fb --- /dev/null +++ b/config/locales/de/de.login.yml @@ -0,0 +1,40 @@ +de: + login: + accept_invitation: + title: 'Einlading in die %{name}' + body: +

Du bist eingeladen worden als Mitglied der Gruppe %{group} + in der Foodcoop %{foodcoop} mitzumachen.

+

Wenn Du mitmachen möchtest, dann fülle bitte dieses Formular aus.

+

Deine Daten werden selbstverständlich nicht an Dritte, aus was auch immer für + Gründen, weitergeben. Du kannst auch entscheiden, wieviel deiner persönlichen + Daten für alle einsehbar sein sollen. 'Alle' bedeutet hier alle Foodcoop-Mitglieder. + Die Administratoren haben aber jederzeit Zugriff auf deine Daten.

+ submit: 'Foodsoft Account erstellen' + forgot_password: + title: 'Passwort vergessen?' + body: +

Kein Problem, Du kannst dir einfach ein neues Passwort zulegen.

+

Dazu musst hier die E-Mail-Adresse eingeben, mit der Du in der Foodsoft angemeldet bist. + Du erhälst dann eine E-Mail mit weiteren Instruktionen.

+ submit: 'Neues Passwort anfordern' + cancel: 'oder abbrechen' + new_password: + title: 'Neues Passwort' + body: +

Bitte neues Passwort für %{user} eingeben.

+ submit: 'Neues passwort speichern' + + # used by controller + reset_password: + notice: 'Wenn Deine E-Mail hier registiert ist bekommst Du jetzt eine Nachricht mit einem Passwort-Zurücksetzen-Link.' + update_password: + notice: 'Dein Passwort wurde aktualisiert. Du kannst Dich jetzt anmelden.' + accept_invitation: + notice: 'Herzlichen Glückwunsch, Dein Account wurde erstellt. Du kannst Dich nun einloggen.' + errors: + invite_invalid: 'Deine Einladung ist nicht (mehr) gültig.' + group_invalid: 'Die Gruppe, in die Du eingeladen wurdest, existiert leider nicht mehr."' + token_invalid: 'Ungültiger oder abgelaufener Token. Bitte versuch es erneut.' + +