diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index f7a6b8b..1df4566 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -157,8 +157,7 @@ module ApplicationHelper def footer # FIXME: add some information from the environment [ - content_tag('div', 'Copyright © 2007, Noosfero - Change Me!'), - content_tag('div', _('%s, version %s' % [ link_to('developers', 'http://www.colivre.coop.br/Noosfero'), Noosfero::VERSION])), + content_tag('div', _('This is %s, version %s' % [ link_to(Noosfero::PROJECT, 'http://www.colivre.coop.br/Noosfero'), Noosfero::VERSION])), ].join("\n") end diff --git a/app/helpers/language_helper.rb b/app/helpers/language_helper.rb index 26e867b..8ae1f1a 100644 --- a/app/helpers/language_helper.rb +++ b/app/helpers/language_helper.rb @@ -1,6 +1,21 @@ module LanguageHelper def language - code = GetText.locale.to_s.downcase - (code == 'en_us') ? 'en' : code + code = GetText.locale.to_s end + + def tinymce_language + language.downcase + end + + def language_chooser + current = language + Noosfero.locales.map do |code,name| + if code == current + content_tag('strong', name) + else + link_to(name, :lang => code) + end + end.join(' — ') + end + end diff --git a/app/views/shared/language_chooser.rhtml b/app/views/shared/language_chooser.rhtml index 7deb8d1..4243240 100644 --- a/app/views/shared/language_chooser.rhtml +++ b/app/views/shared/language_chooser.rhtml @@ -1,7 +1,3 @@ -<% Noosfero.locales.each do |locale_code,locale_name| %> - <% if GetText.locale.to_s == locale_code %> - <%= locale_name %> - <% else %> - <%= link_to locale_name, { :lang => locale_code }%> - <% end %> -<% end %> +<%= language_chooser %> + +<%= 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')) %> diff --git a/app/views/shared/tiny_mce.rhtml b/app/views/shared/tiny_mce.rhtml index 416c994..2876dc4 100644 --- a/app/views/shared/tiny_mce.rhtml +++ b/app/views/shared/tiny_mce.rhtml @@ -10,6 +10,6 @@ tinyMCE.init({ theme_advanced_buttons2 : "bold,italic,underline,strikethrough,separator,bullist,numlist,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,link,unlink,image,table,separator,cleanup,code", theme_advanced_buttons3 : "", apply_source_formatting : true, - language: <%= language.inspect %>, + language: <%= tinymce_language.inspect %>, }); diff --git a/test/unit/language_helper_test.rb b/test/unit/language_helper_test.rb index 3b95198..6440726 100644 --- a/test/unit/language_helper_test.rb +++ b/test/unit/language_helper_test.rb @@ -4,20 +4,46 @@ class LanguageHelperTest < Test::Unit::TestCase include LanguageHelper - def test_english + should 'return current language' do locale = mock - locale.expects(:to_s).returns('en_us') + locale.expects(:to_s).returns('pt_BR') GetText.stubs(:locale).returns(locale) - - assert_equal 'en', self.language + + assert_equal 'pt_BR', self.language end - def test_other_languages - locale = mock - locale.expects(:to_s).returns('pt_BR') - GetText.stubs(:locale).returns(locale) + should 'downcase language for tinymce' do + self.expects(:language).returns('pt_BR') + assert_equal 'pt_br', tinymce_language + end + + should 'generate language chooser correcly' do + Noosfero.expects(:locales).returns({ 'en' => 'English', 'pt_BR' => 'Português Brasileiro', 'fr' => 'Français', 'it' => 'Italiano' }).at_least_once + + self.expects(:language).returns('pt_BR') + result = self.language_chooser + assert_match /Português Brasileiro<\/strong>/, result + assert_no_match /English<\/strong>/, result + assert_no_match /Français<\/strong>/, result + assert_no_match /Italiano<\/strong>/, result + + self.expects(:language).returns('fr') + result = self.language_chooser + assert_no_match /Português Brasileiro<\/strong>/, result + assert_no_match /English<\/strong>/, result + assert_match /Français<\/strong>/, result + assert_no_match /Italiano<\/strong>/, result + + end + + protected + + def content_tag(tag, text) + "<#{tag}>#{text}" + end - assert_equal 'pt_br', self.language + def link_to(text, opts) + "#{text}" end end -- libgit2 0.21.2