module Tr8nClientSdk::ActionViewExtension

Public Instance Methods

tr8n_block(opts, &block)
tr8n_dir_attribute_tag(lang = tr8n_current_language) click to toggle source
# File lib/tr8n_client_sdk/extensions/action_view_extension.rb, line 177
def tr8n_dir_attribute_tag(lang = tr8n_current_language)
  return "dir='ltr'" if Tr8n.config.disabled?
  "dir='#{lang.dir}'".html_safe
end
tr8n_flashes_tag(opts = {}) click to toggle source
# File lib/tr8n_client_sdk/extensions/action_view_extension.rb, line 100
def tr8n_flashes_tag(opts = {})
  render(:partial => '/tr8n_client_sdk/tags/flashes', :locals => {:opts => opts})    
end
tr8n_lang_attribute_tag(lang = tr8n_current_language) click to toggle source
# File lib/tr8n_client_sdk/extensions/action_view_extension.rb, line 182
def tr8n_lang_attribute_tag(lang = tr8n_current_language)
  return "lang='en-US'" if Tr8n.config.disabled?
  "lang='#{lang.locale}'".html_safe
end
tr8n_language_flag_tag(lang = tr8n_current_language, opts = {}) click to toggle source
# File lib/tr8n_client_sdk/extensions/action_view_extension.rb, line 58
def tr8n_language_flag_tag(lang = tr8n_current_language, opts = {})
  return "" unless tr8n_application.feature_enabled?(:language_flags)
  html = image_tag(lang.flag_url, :style => "vertical-align:middle;", :title => lang.native_name)
  html << "&nbsp;".html_safe 
  html.html_safe
end
tr8n_language_name_tag(lang = tr8n_current_language, opts = {}) click to toggle source
# File lib/tr8n_client_sdk/extensions/action_view_extension.rb, line 65
def tr8n_language_name_tag(lang = tr8n_current_language, opts = {})
  show_flag = opts[:flag].nil? ? true : opts[:flag]
  name_type = opts[:name].nil? ? :full : opts[:name] # :full, :native, :english, :locale
  linked = opts[:linked].nil? ? true : opts[:linked] 

  html = "<span style='white-space: nowrap'>"
  html << tr8n_language_flag_tag(lang, opts) if show_flag
  html << "<span dir='ltr'>"

  name = case name_type
    when :native  then lang.native_name
    when :english then lang.english_name
    when :locale  then lang.locale
    else lang.full_name
  end

  html << name
  html << "</span></span>"
  html.html_safe
end
tr8n_language_selector_tag(type = nil, opts = {}) click to toggle source
# File lib/tr8n_client_sdk/extensions/action_view_extension.rb, line 86
def tr8n_language_selector_tag(type = nil, opts = {})
  return unless Tr8n.config.enabled?
  render(:partial => '/tr8n_client_sdk/tags/language_selector', :locals => {:type => type, :opts => opts})
end
tr8n_language_strip_tag(opts = {}) click to toggle source
# File lib/tr8n_client_sdk/extensions/action_view_extension.rb, line 91
def tr8n_language_strip_tag(opts = {})
  opts[:flag] = opts[:flag].nil? ? false : opts[:flag]
  opts[:name] = opts[:name].nil? ? :native : opts[:name] 
  opts[:linked] = opts[:linked].nil? ? true : opts[:linked] 
  opts[:javascript] = opts[:javascript].nil? ? false : opts[:javascript] 

  render(:partial => '/tr8n_client_sdk/tags/language_strip', :locals => {:opts => opts})    
end
tr8n_options_for_select(options, selected = nil, description = nil, lang = Tr8n.session.current_language) click to toggle source
# File lib/tr8n_client_sdk/extensions/action_view_extension.rb, line 45
def tr8n_options_for_select(options, selected = nil, description = nil, lang = Tr8n.session.current_language)
  options_for_select(options.tro(description), selected)
end
tr8n_scripts_tag(opts = {}) click to toggle source
# File lib/tr8n_client_sdk/extensions/action_view_extension.rb, line 104
def tr8n_scripts_tag(opts = {})
  render(:partial => '/tr8n_client_sdk/tags/scripts', :locals => {:opts => opts})    
end
tr8n_select_month(date, options = {}, html_options = {}) click to toggle source
# File lib/tr8n_client_sdk/extensions/action_view_extension.rb, line 108
def tr8n_select_month(date, options = {}, html_options = {})
  month_names = options[:use_short_month] ? Tr8n.config.default_abbr_month_names : Tr8n.config.default_month_names
  select_month(date, options.merge(
    :use_month_names => month_names.collect{|month_name| tr8n_current_language.translate(month_name, options[:description] || "Month name")}
  ), html_options)
end
tr8n_style_attribute_tag(attr_name = 'float', default = 'right', lang = tr8n_current_language) click to toggle source

Language Direction Support

# File lib/tr8n_client_sdk/extensions/action_view_extension.rb, line 167
def tr8n_style_attribute_tag(attr_name = 'float', default = 'right', lang = tr8n_current_language)
  return "#{attr_name}:#{default}".html_safe if Tr8n.config.disabled?
  "#{attr_name}:#{lang.align(default)}".html_safe
end
tr8n_style_directional_attribute_tag(attr_name = 'padding', default = 'right', value = '5px', lang = tr8n_current_language) click to toggle source
# File lib/tr8n_client_sdk/extensions/action_view_extension.rb, line 172
def tr8n_style_directional_attribute_tag(attr_name = 'padding', default = 'right', value = '5px', lang = tr8n_current_language)
  return "#{attr_name}-#{default}:#{value}".html_safe if Tr8n.config.disabled?
  "#{attr_name}-#{lang.align(default)}:#{value}".html_safe
end
tr8n_url_tag(path) click to toggle source
# File lib/tr8n_client_sdk/extensions/action_view_extension.rb, line 159
def tr8n_url_tag(path)
  tr8n_application.url_for(path)
end
tr8n_when_string_tag(time, opts = {}) click to toggle source
# File lib/tr8n_client_sdk/extensions/action_view_extension.rb, line 132
def tr8n_when_string_tag(time, opts = {})
  elapsed_seconds = Time.now - time
  if elapsed_seconds < 0
    tr('In the future, Marty!', 'Time reference')
  elsif elapsed_seconds < 2.minutes
    tr('a moment ago', 'Time reference')
  elsif elapsed_seconds < 55.minutes
    elapsed_minutes = (elapsed_seconds / 1.minute).to_i
    tr('{minutes || minute} ago', 'Time reference', :minutes => elapsed_minutes)
  elsif elapsed_seconds < 1.75.hours
    tr('about an hour ago', 'Time reference')
  elsif elapsed_seconds < 12.hours
    elapsed_hours = (elapsed_seconds / 1.hour).to_i
    tr('{hours || hour} ago', 'Time reference', :hours => elapsed_hours)
  elsif time.today_in_time_zone?
    display_time(time, :time_am_pm)
  elsif time.yesterday_in_time_zone?
    tr("Yesterday at {time}", 'Time reference', :time => time.tr(:time_am_pm).gsub('/ ', '/').sub(/^[0:]*/,""))
  elsif elapsed_seconds < 5.days
    time.tr(:day_time).gsub('/ ', '/').sub(/^[0:]*/,"")
  elsif time.same_year_in_time_zone?
    time.tr(:monthname_abbr_time).gsub('/ ', '/').sub(/^[0:]*/, '')
  else
    time.tr(:monthname_abbr_year_time).gsub('/ ', '/').sub(/^[0:]*/, '')
  end
end
tr8n_with_options_tag(opts, &block) click to toggle source
# File lib/tr8n_client_sdk/extensions/action_view_extension.rb, line 115
def tr8n_with_options_tag(opts, &block)
  if Tr8n.config.disabled?
    return capture(&block) if block_given?
    return ""
  end

  Tr8n.session.push_block_options(opts)

  if block_given?
    ret = capture(&block)
  end

  Tr8n.session.pop_block_options
  ret
end
Also aliased as: tr8n_block
trh(tokens = {}, options = {}, &block) click to toggle source
# File lib/tr8n_client_sdk/extensions/action_view_extension.rb, line 36
def trh(tokens = {}, options = {}, &block)
  return '' unless block_given?

  label = capture(&block)

  tokenizer = Tr8n::Tokenizers::Dom.new(tokens, options)
  tokenizer.translate(label).html_safe
end