From 25c2feaec91aad00999afff804a11b4ab84402b8 Mon Sep 17 00:00:00 2001 From: Andy Allan Date: Wed, 6 Jun 2018 13:24:01 +0800 Subject: [PATCH 1/2] Fix lazy i18n lookups for browse error pages `I18n.t` doesn't support lazy lookups, whereas the equivalent rails `t` helper does. The code can also be simplified to avoid the lookup table. Fixes 1877 --- app/views/browse/not_found.html.erb | 14 +++----------- app/views/browse/timeout.html.erb | 10 +--------- 2 files changed, 4 insertions(+), 20 deletions(-) diff --git a/app/views/browse/not_found.html.erb b/app/views/browse/not_found.html.erb index 5fe22a68a..3c4e8a4c8 100644 --- a/app/views/browse/not_found.html.erb +++ b/app/views/browse/not_found.html.erb @@ -1,12 +1,4 @@ -<% - browse_not_found_type = { - 'node' => I18n.t('.type.node'), - 'way' => I18n.t('.type.way'), - 'relation' => I18n.t('.type.relation'), - 'changeset' => I18n.t('.type.changeset'), - }; -%> -

- - <%= t '.sorry', :type=> browse_not_found_type[@type] , :id => params[:id] %>

+ + <%= t ".sorry", :type => t(".type.#{@type}"), :id => params[:id] %> + diff --git a/app/views/browse/timeout.html.erb b/app/views/browse/timeout.html.erb index de102e60f..e6dd7b68d 100644 --- a/app/views/browse/timeout.html.erb +++ b/app/views/browse/timeout.html.erb @@ -1,12 +1,4 @@ -<% - browse_timeout_type = { - 'node' => I18n.t('.type.node'), - 'way' => I18n.t('.type.way'), - 'relation' => I18n.t('.type.relation'), - 'changeset' => I18n.t('.type.changeset'), - }; -%>
- <%= t '.sorry', :type=> browse_timeout_type[@type] , :id => params[:id] %> + <%= t '.sorry', :type => t(".type.#{@type}"), :id => params[:id] %>
From e276bea2ff7495b24eedbf3d2594552ba6a4e740 Mon Sep 17 00:00:00 2001 From: Andy Allan Date: Wed, 6 Jun 2018 13:34:34 +0800 Subject: [PATCH 2/2] Prefer the helper in controllers This avoids future gotchas with conversion to lazy lookups. --- app/controllers/diary_entry_controller.rb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/app/controllers/diary_entry_controller.rb b/app/controllers/diary_entry_controller.rb index c0b974c5e..f2c11fc74 100644 --- a/app/controllers/diary_entry_controller.rb +++ b/app/controllers/diary_entry_controller.rb @@ -155,8 +155,8 @@ class DiaryEntryController < ApplicationController if user @entries = user.diary_entries - @title = I18n.t("diary_entry.feed.user.title", :user => user.display_name) - @description = I18n.t("diary_entry.feed.user.description", :user => user.display_name) + @title = t("diary_entry.feed.user.title", :user => user.display_name) + @description = t("diary_entry.feed.user.description", :user => user.display_name) @link = url_for :controller => "diary_entry", :action => "list", :display_name => user.display_name, :host => SERVER_URL, :protocol => SERVER_PROTOCOL else head :not_found @@ -167,12 +167,12 @@ class DiaryEntryController < ApplicationController if params[:language] @entries = @entries.where(:language_code => params[:language]) - @title = I18n.t("diary_entry.feed.language.title", :language_name => Language.find(params[:language]).english_name) - @description = I18n.t("diary_entry.feed.language.description", :language_name => Language.find(params[:language]).english_name) + @title = t("diary_entry.feed.language.title", :language_name => Language.find(params[:language]).english_name) + @description = t("diary_entry.feed.language.description", :language_name => Language.find(params[:language]).english_name) @link = url_for :controller => "diary_entry", :action => "list", :language => params[:language], :host => SERVER_URL, :protocol => SERVER_PROTOCOL else - @title = I18n.t("diary_entry.feed.all.title") - @description = I18n.t("diary_entry.feed.all.description") + @title = t("diary_entry.feed.all.title") + @description = t("diary_entry.feed.all.description") @link = url_for :controller => "diary_entry", :action => "list", :host => SERVER_URL, :protocol => SERVER_PROTOCOL end end