diff --git a/lib/noosfero.rb b/lib/noosfero.rb index c3d24c7..58674ee 100644 --- a/lib/noosfero.rb +++ b/lib/noosfero.rb @@ -22,6 +22,11 @@ module Noosfero locales_list end end + def each_locale + locales.keys.sort.each do |key| + yield(key, locales[key]) + end + end end def self.identifier_format diff --git a/lib/tasks/error_messages.rake b/lib/tasks/error_messages.rake index ac225bb..a866d99 100644 --- a/lib/tasks/error_messages.rake +++ b/lib/tasks/error_messages.rake @@ -1,13 +1,21 @@ -namespace :error do - task :messages => :makemo do +templates = Dir.glob(RAILS_ROOT + '/public/*.html.erb') +targets = [] +templates.each do |template| + target = template.gsub(/.erb$/, '') + targets << target + file target => [:makemo, template] do require 'erb' - Dir.glob(RAILS_ROOT + '/public/*.html.erb').each do |template| - puts "Processing #{template}" - target = template.gsub(/.erb$/, '') - erb = ERB.new(File.read(template)) - File.open(target, 'w') do |file| - file.write(erb.result) - end + erb = ERB.new(File.read(template)) + File.open(target, 'w') do |file| + file.write(erb.result) end + puts "#{template} -> #{target}" + end +end + +namespace :noosfero do + namespace 'error-pages' do + desc 'Translates Noosfero error pages' + task :translate => targets end end diff --git a/lib/tasks/gettext.rake b/lib/tasks/gettext.rake index a1b2453..57c221d 100644 --- a/lib/tasks/gettext.rake +++ b/lib/tasks/gettext.rake @@ -4,12 +4,12 @@ require 'noosfero' +makemo_stamp = 'tmp/makemo.stamp' desc "Create mo-files for L10n" -task :makemo do - require 'gettext' - require 'gettext/rails' - require 'gettext/utils' - GetText.create_mofiles(true, "po", "locale") +task :makemo => makemo_stamp +file makemo_stamp do + ruby '-rconfig/boot -rgettext -rgettext/rails -rgettext/utils -e \'GetText.create_mofiles(true, "po", "locale")\' 2>/dev/null' + FileUtils.touch makemo_stamp end desc "Update pot/po files to match new version." diff --git a/lib/tasks/release.rake b/lib/tasks/release.rake index 149b15a..cafa900 100644 --- a/lib/tasks/release.rake +++ b/lib/tasks/release.rake @@ -57,7 +57,7 @@ EOF end desc 'prepares a release tarball' - task :release => [ :check_tag, 'noosfero:doc:translate', :authors, :check_repo ] do + task :release => [ :check_tag, 'noosfero:doc:translate', 'noosfero:error-pages:translate', :authors, :check_repo ] do sh "git tag #{version}" sh 'rake -f Rakefile.pkg' puts "I: please upload the tarball to the website!" diff --git a/public/500.html b/public/500.html index 122d7d6..1e7c0f3 100644 --- a/public/500.html +++ b/public/500.html @@ -10,7 +10,6 @@ -