Commit 089cccb050d76864c6efdbe6c0ba8daa037d5cca
1 parent
756e91de
Exists in
master
and in
29 other branches
ActionItem137: final adjustements in language_chooser
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@1301 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
5 changed files
with
57 additions
and
21 deletions
Show diff stats
app/helpers/application_helper.rb
@@ -157,8 +157,7 @@ module ApplicationHelper | @@ -157,8 +157,7 @@ module ApplicationHelper | ||
157 | def footer | 157 | def footer |
158 | # FIXME: add some information from the environment | 158 | # FIXME: add some information from the environment |
159 | [ | 159 | [ |
160 | - content_tag('div', 'Copyright © 2007, Noosfero - Change Me!'), | ||
161 | - content_tag('div', _('%s, version %s' % [ link_to('developers', 'http://www.colivre.coop.br/Noosfero'), Noosfero::VERSION])), | 160 | + content_tag('div', _('This is %s, version %s' % [ link_to(Noosfero::PROJECT, 'http://www.colivre.coop.br/Noosfero'), Noosfero::VERSION])), |
162 | ].join("\n") | 161 | ].join("\n") |
163 | end | 162 | end |
164 | 163 |
app/helpers/language_helper.rb
1 | module LanguageHelper | 1 | module LanguageHelper |
2 | def language | 2 | def language |
3 | - code = GetText.locale.to_s.downcase | ||
4 | - (code == 'en_us') ? 'en' : code | 3 | + code = GetText.locale.to_s |
5 | end | 4 | end |
5 | + | ||
6 | + def tinymce_language | ||
7 | + language.downcase | ||
8 | + end | ||
9 | + | ||
10 | + def language_chooser | ||
11 | + current = language | ||
12 | + Noosfero.locales.map do |code,name| | ||
13 | + if code == current | ||
14 | + content_tag('strong', name) | ||
15 | + else | ||
16 | + link_to(name, :lang => code) | ||
17 | + end | ||
18 | + end.join(' — ') | ||
19 | + end | ||
20 | + | ||
6 | end | 21 | end |
app/views/shared/language_chooser.rhtml
1 | -<% Noosfero.locales.each do |locale_code,locale_name| %> | ||
2 | - <% if GetText.locale.to_s == locale_code %> | ||
3 | - <strong><%= locale_name %></strong> | ||
4 | - <% else %> | ||
5 | - <%= link_to locale_name, { :lang => locale_code }%> | ||
6 | - <% end %> | ||
7 | -<% end %> | 1 | +<%= language_chooser %> |
2 | + | ||
3 | +<%= help(_('The language you choose here if the language used for options, buttons, etc. It does not affect the language of the content created by other users.'), _('Help on languages')) %> |
app/views/shared/tiny_mce.rhtml
@@ -10,6 +10,6 @@ tinyMCE.init({ | @@ -10,6 +10,6 @@ tinyMCE.init({ | ||
10 | theme_advanced_buttons2 : "bold,italic,underline,strikethrough,separator,bullist,numlist,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,link,unlink,image,table,separator,cleanup,code", | 10 | theme_advanced_buttons2 : "bold,italic,underline,strikethrough,separator,bullist,numlist,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,link,unlink,image,table,separator,cleanup,code", |
11 | theme_advanced_buttons3 : "", | 11 | theme_advanced_buttons3 : "", |
12 | apply_source_formatting : true, | 12 | apply_source_formatting : true, |
13 | - language: <%= language.inspect %>, | 13 | + language: <%= tinymce_language.inspect %>, |
14 | }); | 14 | }); |
15 | </script> | 15 | </script> |
test/unit/language_helper_test.rb
@@ -4,20 +4,46 @@ class LanguageHelperTest < Test::Unit::TestCase | @@ -4,20 +4,46 @@ class LanguageHelperTest < Test::Unit::TestCase | ||
4 | 4 | ||
5 | include LanguageHelper | 5 | include LanguageHelper |
6 | 6 | ||
7 | - def test_english | 7 | + should 'return current language' do |
8 | locale = mock | 8 | locale = mock |
9 | - locale.expects(:to_s).returns('en_us') | 9 | + locale.expects(:to_s).returns('pt_BR') |
10 | GetText.stubs(:locale).returns(locale) | 10 | GetText.stubs(:locale).returns(locale) |
11 | - | ||
12 | - assert_equal 'en', self.language | 11 | + |
12 | + assert_equal 'pt_BR', self.language | ||
13 | end | 13 | end |
14 | 14 | ||
15 | - def test_other_languages | ||
16 | - locale = mock | ||
17 | - locale.expects(:to_s).returns('pt_BR') | ||
18 | - GetText.stubs(:locale).returns(locale) | 15 | + should 'downcase language for tinymce' do |
16 | + self.expects(:language).returns('pt_BR') | ||
17 | + assert_equal 'pt_br', tinymce_language | ||
18 | + end | ||
19 | + | ||
20 | + should 'generate language chooser correcly' do | ||
21 | + Noosfero.expects(:locales).returns({ 'en' => 'English', 'pt_BR' => 'Português Brasileiro', 'fr' => 'Français', 'it' => 'Italiano' }).at_least_once | ||
22 | + | ||
23 | + self.expects(:language).returns('pt_BR') | ||
24 | + result = self.language_chooser | ||
25 | + assert_match /<strong>Português Brasileiro<\/strong>/, result | ||
26 | + assert_no_match /<strong>English<\/strong>/, result | ||
27 | + assert_no_match /<strong>Français<\/strong>/, result | ||
28 | + assert_no_match /<strong>Italiano<\/strong>/, result | ||
29 | + | ||
30 | + self.expects(:language).returns('fr') | ||
31 | + result = self.language_chooser | ||
32 | + assert_no_match /<strong>Português Brasileiro<\/strong>/, result | ||
33 | + assert_no_match /<strong>English<\/strong>/, result | ||
34 | + assert_match /<strong>Français<\/strong>/, result | ||
35 | + assert_no_match /<strong>Italiano<\/strong>/, result | ||
36 | + | ||
37 | + end | ||
38 | + | ||
39 | + protected | ||
40 | + | ||
41 | + def content_tag(tag, text) | ||
42 | + "<#{tag}>#{text}</#{tag}>" | ||
43 | + end | ||
19 | 44 | ||
20 | - assert_equal 'pt_br', self.language | 45 | + def link_to(text, opts) |
46 | + "<a href='?lang=#{opts[:lang]}'>#{text}</a>" | ||
21 | end | 47 | end |
22 | 48 | ||
23 | end | 49 | end |