cirandas.net

ref: master

app/helpers/language_helper.rb


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
module LanguageHelper
  def language
    locale.to_s
  end

  def tinymce_language
    language
  end

  def html_language
    language.downcase.gsub('_', '-')
  end

  alias :calendar_date_select_language :tinymce_language

  def language_chooser(environment=nil, options = {})
    locales = environment.nil? ? Noosfero.locales : environment.locales
    return if locales.size < 2
    current = language
    separator = options[:separator] || ' &mdash; '

    if options[:element] == 'dropdown'
      select_tag('lang',
        options_for_select(locales.map{|code,name| [name, code]}, current),
        :onchange => "document.location.href= #{url_for(params.merge(:lang => 'LANGUAGE'))}.replace(/LANGUAGE/, this.value) ;",
        :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.')
      )
    else
      languages = locales.map do |code,name|
        if code == current
          content_tag('strong', name)
        else
          link_to(name, params.merge(:lang => code), :rel => 'nofollow')
        end
      end.join(separator).html_safe
      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.'))
    end
  end

end