diff options
author | Gareth Rees <gareth@mysociety.org> | 2014-12-12 10:40:54 +0000 |
---|---|---|
committer | Gareth Rees <gareth@mysociety.org> | 2014-12-12 10:40:54 +0000 |
commit | 378d3ca9539e336b96987a8f6114e16241b98891 (patch) | |
tree | 05737396ecbf7956ead90aed398ffc797b4c3370 /lib/tasks/gettext.rake | |
parent | 64e636fee3651f5f6c9d3e34bd1260d546e11ce7 (diff) | |
parent | cef6acf0683da45c37d1669349c56b73d993c8df (diff) |
Merge branch 'gettext_clean_theme' into rails-3-develop
Diffstat (limited to 'lib/tasks/gettext.rake')
-rw-r--r-- | lib/tasks/gettext.rake | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/lib/tasks/gettext.rake b/lib/tasks/gettext.rake index 3f357213f..9bdb6169b 100644 --- a/lib/tasks/gettext.rake +++ b/lib/tasks/gettext.rake @@ -11,11 +11,7 @@ namespace :gettext do desc "Update pot/po files for a theme." task :find_theme => :environment do - theme = ENV['THEME'] - unless theme - puts "Usage: Specify an Alaveteli-theme with THEME=[theme directory name]" - exit(0) - end + theme = find_theme(ENV['THEME']) load_gettext msgmerge = Rails.application.config.gettext_i18n_rails.msgmerge msgmerge ||= %w[--sort-output --no-location --no-wrap] @@ -28,6 +24,25 @@ namespace :gettext do ) end + desc 'Rewrite theme .po files into a consistent msgmerge format' + task :clean_theme do + theme = find_theme(ENV['THEME']) + load_gettext + + Dir.glob("#{ theme_locale_path(theme) }/*/app.po") do |po_file| + GetText::msgmerge(po_file, po_file, 'alaveteli', + :msgmerge => [:sort_output, :no_location, :no_wrap]) + end + end + + def find_theme(theme) + unless theme + puts "Usage: Specify an Alaveteli-theme with THEME=[theme directory name]" + exit(0) + end + theme + end + def theme_files_to_translate(theme) Dir.glob("{lib/themes/#{theme}/lib}/**/*.{rb,erb}") end |