Commit 3e6f018637367c16b7c89ee846eedaf317e63a86

Authored by Antonio Terceiro
1 parent dca8a85d

Translate error pages during release process

Also, fix the translation to work with fast_gettext
lib/noosfero.rb
@@ -22,6 +22,11 @@ module Noosfero @@ -22,6 +22,11 @@ module Noosfero
22 locales_list 22 locales_list
23 end 23 end
24 end 24 end
  25 + def each_locale
  26 + locales.keys.sort.each do |key|
  27 + yield(key, locales[key])
  28 + end
  29 + end
25 end 30 end
26 31
27 def self.identifier_format 32 def self.identifier_format
lib/tasks/error_messages.rake
1 -namespace :error do  
2 - task :messages => :makemo do 1 +templates = Dir.glob(RAILS_ROOT + '/public/*.html.erb')
  2 +targets = []
  3 +templates.each do |template|
  4 + target = template.gsub(/.erb$/, '')
  5 + targets << target
  6 + file target => [:makemo, template] do
3 require 'erb' 7 require 'erb'
4 - Dir.glob(RAILS_ROOT + '/public/*.html.erb').each do |template|  
5 - puts "Processing #{template}"  
6 - target = template.gsub(/.erb$/, '')  
7 - erb = ERB.new(File.read(template))  
8 - File.open(target, 'w') do |file|  
9 - file.write(erb.result)  
10 - end 8 + erb = ERB.new(File.read(template))
  9 + File.open(target, 'w') do |file|
  10 + file.write(erb.result)
11 end 11 end
  12 + puts "#{template} -> #{target}"
  13 + end
  14 +end
  15 +
  16 +namespace :noosfero do
  17 + namespace 'error-pages' do
  18 + desc 'Translates Noosfero error pages'
  19 + task :translate => targets
12 end 20 end
13 end 21 end
lib/tasks/gettext.rake
@@ -4,12 +4,12 @@ @@ -4,12 +4,12 @@
4 4
5 require 'noosfero' 5 require 'noosfero'
6 6
  7 +makemo_stamp = 'tmp/makemo.stamp'
7 desc "Create mo-files for L10n" 8 desc "Create mo-files for L10n"
8 -task :makemo do  
9 - require 'gettext'  
10 - require 'gettext/rails'  
11 - require 'gettext/utils'  
12 - GetText.create_mofiles(true, "po", "locale") 9 +task :makemo => makemo_stamp
  10 +file makemo_stamp do
  11 + ruby '-rconfig/boot -rgettext -rgettext/rails -rgettext/utils -e \'GetText.create_mofiles(true, "po", "locale")\' 2>/dev/null'
  12 + FileUtils.touch makemo_stamp
13 end 13 end
14 14
15 desc "Update pot/po files to match new version." 15 desc "Update pot/po files to match new version."
lib/tasks/release.rake
@@ -57,7 +57,7 @@ EOF @@ -57,7 +57,7 @@ EOF
57 end 57 end
58 58
59 desc 'prepares a release tarball' 59 desc 'prepares a release tarball'
60 - task :release => [ :check_tag, 'noosfero:doc:translate', :authors, :check_repo ] do 60 + task :release => [ :check_tag, 'noosfero:doc:translate', 'noosfero:error-pages:translate', :authors, :check_repo ] do
61 sh "git tag #{version}" 61 sh "git tag #{version}"
62 sh 'rake -f Rakefile.pkg' 62 sh 'rake -f Rakefile.pkg'
63 puts "I: please upload the tarball to the website!" 63 puts "I: please upload the tarball to the website!"
public/500.html
@@ -10,7 +10,6 @@ @@ -10,7 +10,6 @@
10 <script type='text/javascript' src='/javascripts/errors.js'></script> 10 <script type='text/javascript' src='/javascripts/errors.js'></script>
11 </head> 11 </head>
12 <body onload='display_error_message()'> 12 <body onload='display_error_message()'>
13 -  
14 <div id='wrap'> 13 <div id='wrap'>
15 <div id='header'> 14 <div id='header'>
16 <div id='logo'> 15 <div id='logo'>
public/500.html.erb
@@ -10,11 +10,6 @@ @@ -10,11 +10,6 @@
10 <script type='text/javascript' src='/javascripts/errors.js'></script> 10 <script type='text/javascript' src='/javascripts/errors.js'></script>
11 </head> 11 </head>
12 <body onload='display_error_message()'> 12 <body onload='display_error_message()'>
13 - <%  
14 - require 'gettext'  
15 - include GetText  
16 - bindtextdomain("noosfero")  
17 - %>  
18 <div id='wrap'> 13 <div id='wrap'>
19 <div id='header'> 14 <div id='header'>
20 <div id='logo'> 15 <div id='logo'>
@@ -22,7 +17,7 @@ @@ -22,7 +17,7 @@
22 </div> 17 </div>
23 </div> 18 </div>
24 <% Noosfero.each_locale do |language_code,language_name| %> 19 <% Noosfero.each_locale do |language_code,language_name| %>
25 - <% GetText.locale = language_code %> 20 + <% FastGettext.set_locale language_code %>
26 <div id='<%= language_code %>' style='display: none' class='message'> 21 <div id='<%= language_code %>' style='display: none' class='message'>
27 <h1><%= _('Temporary system problem') %></h1> 22 <h1><%= _('Temporary system problem') %></h1>
28 <p> 23 <p>
public/503.html
@@ -11,7 +11,6 @@ @@ -11,7 +11,6 @@
11 </head> 11 </head>
12 <body> 12 <body>
13 <body onload='display_error_message()'> 13 <body onload='display_error_message()'>
14 -  
15 <div id='wrap'> 14 <div id='wrap'>
16 <div id='header'> 15 <div id='header'>
17 <div id='logo'> 16 <div id='logo'>
public/503.html.erb
@@ -11,11 +11,6 @@ @@ -11,11 +11,6 @@
11 </head> 11 </head>
12 <body> 12 <body>
13 <body onload='display_error_message()'> 13 <body onload='display_error_message()'>
14 - <%  
15 - require 'gettext'  
16 - include GetText  
17 - bindtextdomain("noosfero")  
18 - %>  
19 <div id='wrap'> 14 <div id='wrap'>
20 <div id='header'> 15 <div id='header'>
21 <div id='logo'> 16 <div id='logo'>
@@ -23,7 +18,7 @@ @@ -23,7 +18,7 @@
23 </div> 18 </div>
24 </div> 19 </div>
25 <% Noosfero.each_locale do |language_code,language_name| %> 20 <% Noosfero.each_locale do |language_code,language_name| %>
26 - <% GetText.locale = language_code %> 21 + <% FastGettext.set_locale language_code %>
27 <div id='<%= language_code %>' style='display: none' class='message'> 22 <div id='<%= language_code %>' style='display: none' class='message'>
28 <h1><%= _('System maintainance') %></h1> 23 <h1><%= _('System maintainance') %></h1>
29 <p> 24 <p>