Commit 87fc860b89f393e8190ccde1275592cd36c8e47e
1 parent
a062f148
Exists in
master
and in
28 other branches
ActionItem373: add dropdown to language choose
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@1923 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
2 changed files
with
21 additions
and
9 deletions
Show diff stats
app/helpers/language_helper.rb
@@ -9,17 +9,25 @@ module LanguageHelper | @@ -9,17 +9,25 @@ module LanguageHelper | ||
9 | 9 | ||
10 | alias :calendar_date_select_language :tinymce_language | 10 | alias :calendar_date_select_language :tinymce_language |
11 | 11 | ||
12 | - def language_chooser | 12 | + def language_chooser(options = {}) |
13 | current = language | 13 | current = language |
14 | - languages = Noosfero.locales.map do |code,name| | ||
15 | - if code == current | ||
16 | - content_tag('strong', name) | ||
17 | - else | ||
18 | - link_to(name, :lang => code) | ||
19 | - end | ||
20 | - end.join(' — ') | 14 | + if options[:element] == 'dropdown' |
15 | + select_tag('lang', | ||
16 | + options_for_select(Noosfero.locales.map{|code,name| [name, code]}, current), | ||
17 | + :onchange => remote_function(:update => 'wrap', :url => { :action => :index }, :with => "'lang='+value"), | ||
18 | + :help => _('The language you choose here is the language used for options, buttons, etc. It does not affect the language of the content created by other users.') | ||
19 | + ) | ||
20 | + else | ||
21 | + languages = Noosfero.locales.map do |code,name| | ||
22 | + if code == current | ||
23 | + content_tag('strong', name) | ||
24 | + else | ||
25 | + link_to(name, :lang => code) | ||
26 | + end | ||
27 | + end.join(' — ') | ||
28 | + content_tag('div', languages, :id => 'language-chooser', :help => _('The language you choose here is the language used for options, buttons, etc. It does not affect the language of the content created by other users.')) | ||
29 | + end | ||
21 | 30 | ||
22 | - content_tag('div', languages, :id => 'language-chooser', :help => _('The language you choose here is the language used for options, buttons, etc. It does not affect the language of the content created by other users.')) | ||
23 | end | 31 | end |
24 | 32 | ||
25 | end | 33 | end |
app/views/layouts/application.rhtml
@@ -98,6 +98,10 @@ | @@ -98,6 +98,10 @@ | ||
98 | prepareMenu('navigation_bar', { timeout: 1000 }); | 98 | prepareMenu('navigation_bar', { timeout: 1000 }); |
99 | </script> | 99 | </script> |
100 | 100 | ||
101 | + <div id='language-selector'> | ||
102 | + <%= language_chooser(:element => 'dropdown') %> | ||
103 | + </div> | ||
104 | + | ||
101 | <div id='user_box'> | 105 | <div id='user_box'> |
102 | <%= render :file => 'shared/user_menu' %> | 106 | <%= render :file => 'shared/user_menu' %> |
103 | <%= theme_opt_menu_search %> | 107 | <%= theme_opt_menu_search %> |