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 22 locales_list
23 23 end
24 24 end
  25 + def each_locale
  26 + locales.keys.sort.each do |key|
  27 + yield(key, locales[key])
  28 + end
  29 + end
25 30 end
26 31  
27 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 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 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 20 end
13 21 end
... ...
lib/tasks/gettext.rake
... ... @@ -4,12 +4,12 @@
4 4  
5 5 require 'noosfero'
6 6  
  7 +makemo_stamp = 'tmp/makemo.stamp'
7 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 13 end
14 14  
15 15 desc "Update pot/po files to match new version."
... ...
lib/tasks/release.rake
... ... @@ -57,7 +57,7 @@ EOF
57 57 end
58 58  
59 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 61 sh "git tag #{version}"
62 62 sh 'rake -f Rakefile.pkg'
63 63 puts "I: please upload the tarball to the website!"
... ...
public/500.html
... ... @@ -10,7 +10,6 @@
10 10 <script type='text/javascript' src='/javascripts/errors.js'></script>
11 11 </head>
12 12 <body onload='display_error_message()'>
13   -
14 13 <div id='wrap'>
15 14 <div id='header'>
16 15 <div id='logo'>
... ...
public/500.html.erb
... ... @@ -10,11 +10,6 @@
10 10 <script type='text/javascript' src='/javascripts/errors.js'></script>
11 11 </head>
12 12 <body onload='display_error_message()'>
13   - <%
14   - require 'gettext'
15   - include GetText
16   - bindtextdomain("noosfero")
17   - %>
18 13 <div id='wrap'>
19 14 <div id='header'>
20 15 <div id='logo'>
... ... @@ -22,7 +17,7 @@
22 17 </div>
23 18 </div>
24 19 <% Noosfero.each_locale do |language_code,language_name| %>
25   - <% GetText.locale = language_code %>
  20 + <% FastGettext.set_locale language_code %>
26 21 <div id='<%= language_code %>' style='display: none' class='message'>
27 22 <h1><%= _('Temporary system problem') %></h1>
28 23 <p>
... ...
public/503.html
... ... @@ -11,7 +11,6 @@
11 11 </head>
12 12 <body>
13 13 <body onload='display_error_message()'>
14   -
15 14 <div id='wrap'>
16 15 <div id='header'>
17 16 <div id='logo'>
... ...
public/503.html.erb
... ... @@ -11,11 +11,6 @@
11 11 </head>
12 12 <body>
13 13 <body onload='display_error_message()'>
14   - <%
15   - require 'gettext'
16   - include GetText
17   - bindtextdomain("noosfero")
18   - %>
19 14 <div id='wrap'>
20 15 <div id='header'>
21 16 <div id='logo'>
... ... @@ -23,7 +18,7 @@
23 18 </div>
24 19 </div>
25 20 <% Noosfero.each_locale do |language_code,language_name| %>
26   - <% GetText.locale = language_code %>
  21 + <% FastGettext.set_locale language_code %>
27 22 <div id='<%= language_code %>' style='display: none' class='message'>
28 23 <h1><%= _('System maintainance') %></h1>
29 24 <p>
... ...