From 88f5008401ac0456306bf957aa0df325684e51cf Mon Sep 17 00:00:00 2001 From: Mark Longair Date: Sun, 15 Sep 2013 17:09:05 +0100 Subject: Only set up FastGettext on initialization, even in development mode Even on a very fast computer, there is a significant delay (a couple of seconds) in processing every request in development mode. This is because the configuration of FastGettext's paths for finding translations is done in a block passed to Rails.configuration.to_prepare, which causes the block to be run before every request by the Rails Reloader in developmetn mode. It seems to be work fine just running the FastGettext calls on initialization in development mode, however - customizations in the theme's locale-theme directory still have effect in development mode even after the reloader has reloaded classes before handling subsequent requests. So, I think this change should be safe. This commit introduces that change, having the effect that development mode is much more responsive. --- lib/alavetelitheme.rb | 13 +++++++++++-- lib/gettext_setup.rb | 13 ------------- 2 files changed, 11 insertions(+), 15 deletions(-) delete mode 100644 lib/gettext_setup.rb diff --git a/lib/alavetelitheme.rb b/lib/alavetelitheme.rb index 77b20de..2930ba6 100644 --- a/lib/alavetelitheme.rb +++ b/lib/alavetelitheme.rb @@ -24,11 +24,20 @@ end # Monkey patch app code for patch in ['controller_patches.rb', 'model_patches.rb', - 'patch_mailer_paths.rb', - 'gettext_setup.rb'] + 'patch_mailer_paths.rb'] require File.expand_path "../#{patch}", __FILE__ end # Note you should rename the file at "config/custom-routes.rb" to # something unique (e.g. yourtheme-custom-routes.rb": $alaveteli_route_extensions << 'custom-routes.rb' + +# Tell FastGettext about the theme's translations: look in the theme's +# locale-theme directory for a translation in the first place, and if +# it isn't found, look in the Alaveteli locale directory next: +repos = [ + FastGettext::TranslationRepository.build('app', :path=>File.join(File.dirname(__FILE__), '..', 'locale-theme'), :type => :po), + FastGettext::TranslationRepository.build('app', :path=>'locale', :type => :po) +] +FastGettext.add_text_domain 'app', :type=>:chain, :chain=>repos +FastGettext.default_text_domain = 'app' diff --git a/lib/gettext_setup.rb b/lib/gettext_setup.rb deleted file mode 100644 index 879bf57..0000000 --- a/lib/gettext_setup.rb +++ /dev/null @@ -1,13 +0,0 @@ -# Add a callback - to be executed before each request in development, -# and at startup in production - to plug in theme locale strings. -Rails.configuration.to_prepare do - repos = [ - FastGettext::TranslationRepository.build('app', :path=>File.join(File.dirname(__FILE__), '..', 'locale-theme'), :type => :po), - FastGettext::TranslationRepository.build('app', :path=>'locale', :type => :po) - ] - FastGettext.add_text_domain 'app', :type=>:chain, :chain=>repos - FastGettext.default_text_domain = 'app' -end - - - -- cgit v1.2.3