Module: Tr8nClientSdk::ActionViewExtension
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/tr8n_client_sdk/extensions/action_view_extension.rb
Instance Method Summary collapse
- #tr8n_dir_attribute_tag(lang = tr8n_current_language) ⇒ Object
- #tr8n_flashes_tag(opts = {}) ⇒ Object
- #tr8n_lang_attribute_tag(lang = tr8n_current_language) ⇒ Object
- #tr8n_language_flag_tag(lang = tr8n_current_language, opts = {}) ⇒ Object
- #tr8n_language_name_tag(lang = tr8n_current_language, opts = {}) ⇒ Object
- #tr8n_language_selector_tag(opts = {}) ⇒ Object
- #tr8n_language_strip_tag(opts = {}) ⇒ Object
- #tr8n_options_for_select(options, selected = nil, description = nil, lang = Tr8n.session.current_language) ⇒ Object
- #tr8n_phrases_link_tag(search = "", phrase_type = :without, phrase_status = :any) ⇒ Object
- #tr8n_scripts_tag(opts = {}) ⇒ Object
- #tr8n_select_month(date, options = {}, html_options = {}) ⇒ Object
-
#tr8n_style_attribute_tag(attr_name = 'float', default = 'right', lang = tr8n_current_language) ⇒ Object
Language Direction Support.
- #tr8n_style_directional_attribute_tag(attr_name = 'padding', default = 'right', value = '5px', lang = tr8n_current_language) ⇒ Object
- #tr8n_url_tag(path) ⇒ Object
- #tr8n_when_string_tag(time, opts = {}) ⇒ Object
- #tr8n_with_options_tag(opts, &block) ⇒ Object (also: #tr8n_block)
- #trh(tokens = {}, options = {}, &block) ⇒ Object
Instance Method Details
#tr8n_dir_attribute_tag(lang = tr8n_current_language) ⇒ Object
177 178 179 180 |
# 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 = {}) ⇒ Object
100 101 102 |
# 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) ⇒ Object
182 183 184 185 |
# 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 = {}) ⇒ Object
58 59 60 61 62 63 |
# 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 << " ".html_safe html.html_safe end |
#tr8n_language_name_tag(lang = tr8n_current_language, opts = {}) ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# 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(opts = {}) ⇒ Object
86 87 88 89 |
# File 'lib/tr8n_client_sdk/extensions/action_view_extension.rb', line 86 def tr8n_language_selector_tag(opts = {}) return unless Tr8n.config.enabled? render(:partial => '/tr8n_client_sdk/tags/language_selector', :locals => {:opts => opts}) end |
#tr8n_language_strip_tag(opts = {}) ⇒ Object
91 92 93 94 95 96 97 98 |
# 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) ⇒ Object
45 46 47 |
# File 'lib/tr8n_client_sdk/extensions/action_view_extension.rb', line 45 def (, selected = nil, description = nil, lang = Tr8n.session.current_language) (.tro(description), selected) end |
#tr8n_phrases_link_tag(search = "", phrase_type = :without, phrase_status = :any) ⇒ Object
49 50 51 52 53 54 55 56 |
# File 'lib/tr8n_client_sdk/extensions/action_view_extension.rb', line 49 def tr8n_phrases_link_tag(search = "", phrase_type = :without, phrase_status = :any) return unless Tr8n.config.enabled? return if tr8n_current_language.default? return unless tr8n_current_translator.inline? link_to(image_tag(tr8n_application.url_for("/assets/tr8n/translate_icn.gif"), :style => "vertical-align:middle; border: 0px;", :title => search), tr8n_application.url_for("/tr8n/app/phrases/index?search=#{search}")).html_safe end |
#tr8n_scripts_tag(opts = {}) ⇒ Object
104 105 106 |
# 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 = {}) ⇒ Object
108 109 110 111 112 113 |
# File 'lib/tr8n_client_sdk/extensions/action_view_extension.rb', line 108 def tr8n_select_month(date, = {}, = {}) month_names = [:use_short_month] ? Tr8n.config.default_abbr_month_names : Tr8n.config.default_month_names select_month(date, .merge( :use_month_names => month_names.collect{|month_name| tr8n_current_language.translate(month_name, [:description] || "Month name")} ), ) end |
#tr8n_style_attribute_tag(attr_name = 'float', default = 'right', lang = tr8n_current_language) ⇒ Object
Language Direction Support
167 168 169 170 |
# 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) ⇒ Object
172 173 174 175 |
# 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) ⇒ Object
159 160 161 |
# 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 = {}) ⇒ Object
132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 |
# 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) ⇒ Object Also known as: tr8n_block
115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
# File 'lib/tr8n_client_sdk/extensions/action_view_extension.rb', line 115 def (opts, &block) if Tr8n.config.disabled? return capture(&block) if block_given? return "" end Tr8n.session.(opts) if block_given? ret = capture(&block) end Tr8n.session. ret end |
#trh(tokens = {}, options = {}, &block) ⇒ Object
36 37 38 39 40 41 42 43 |
# File 'lib/tr8n_client_sdk/extensions/action_view_extension.rb', line 36 def trh(tokens = {}, = {}, &block) return '' unless block_given? label = capture(&block) tokenizer = Tr8n::Tokenizers::Dom.new(tokens, ) tokenizer.translate(label).html_safe end |