From cf82a0a9c8b1956a4761872f0e51e77e4ac2a542 Mon Sep 17 00:00:00 2001 From: "livefromthemoon@gmail.com" Date: Sun, 31 Oct 2010 21:55:49 +0100 Subject: [PATCH 1/3] Better to set the default locale in an initializer than in a before_filter --- app/controllers/application_controller.rb | 1 - config/initializers/locale.rb | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 3e32d4c27..2ab2838c2 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -35,7 +35,6 @@ class ApplicationController < ActionController::Base end def set_locale - I18n.default_locale = DEFAULT_LANGUAGE if current_user I18n.locale = current_user.language else diff --git a/config/initializers/locale.rb b/config/initializers/locale.rb index 08d3923b0..395a55d68 100644 --- a/config/initializers/locale.rb +++ b/config/initializers/locale.rb @@ -4,4 +4,4 @@ # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. I18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}')] -I18n.default_locale = :en +I18n.default_locale = DEFAULT_LANGUAGE From 9e27797092cb2ff5f886bdea294a625379a3a083 Mon Sep 17 00:00:00 2001 From: "livefromthemoon@gmail.com" Date: Sun, 31 Oct 2010 21:58:00 +0100 Subject: [PATCH 2/3] Fallback to default language when a translation is missing for the current language --- config/initializers/locale.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/config/initializers/locale.rb b/config/initializers/locale.rb index 395a55d68..c6cfa2e51 100644 --- a/config/initializers/locale.rb +++ b/config/initializers/locale.rb @@ -5,3 +5,4 @@ # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. I18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}')] I18n.default_locale = DEFAULT_LANGUAGE +I18n::Backend::Simple.send(:include, I18n::Backend::Fallbacks) From bbd0d350703ca307062da9a1045e844758cd69fa Mon Sep 17 00:00:00 2001 From: "livefromthemoon@gmail.com" Date: Sun, 31 Oct 2010 22:39:00 +0100 Subject: [PATCH 3/3] Fix some bugs for I18n fallbacks --- config/initializers/locale.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/initializers/locale.rb b/config/initializers/locale.rb index c6cfa2e51..5d4a53a61 100644 --- a/config/initializers/locale.rb +++ b/config/initializers/locale.rb @@ -6,3 +6,6 @@ I18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}')] I18n.default_locale = DEFAULT_LANGUAGE I18n::Backend::Simple.send(:include, I18n::Backend::Fallbacks) +AVAILABLE_LANGUAGE_CODES.each do |c| + I18n.fallbacks[c.to_sym] = [c.to_sym, DEFAULT_LANGUAGE.to_sym, :en] +end \ No newline at end of file