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}#{tag}>"
+ end
- assert_equal 'pt_br', self.language
+ def link_to(text, opts)
+ "#{text}"
end
end
--
libgit2 0.21.2