class Time
Public Instance Methods
translate(format = :default, options = {})
click to toggle source
# File lib/tml/ext/time.rb, line 34 def translate(format = :default, options = {}) language = Tml.session.target_language label = (format.is_a?(String) ? format.clone : Tml.config.default_date_formats[format].clone) symbols = label.scan(/(%\w)/).flatten.uniq selected_tokens = [] using_tokens = label.index('{') if using_tokens selected_tokens = Tml::Tokens::Data.parse(label).collect{ |token| token.name(:parens => true) } else symbols.each do |symbol| token = Tml.config.strftime_symbol_to_token(symbol) next unless token selected_tokens << token label.gsub!(symbol, token) end end tokens = {} selected_tokens.each do |token| case token when '{days}' then tokens[:days] = options[:with_leading_zero] ? day.with_leading_zero : day.to_s when '{year_days}' then tokens[:year_days] = options[:with_leading_zero] ? yday.with_leading_zero : yday.to_s when '{months}' then tokens[:months] = options[:with_leading_zero] ? month.with_leading_zero : month.to_s when '{week_num}' then tokens[:week_num] = wday when '{week_days}' then tokens[:week_days] = strftime('%w') when '{short_years}' then tokens[:short_years] = strftime('%y') when '{years}' then tokens[:years] = year when '{short_week_day_name}' then tokens[:short_week_day_name] = language.tr(Tml.config.default_abbr_day_name(wday), 'Short name for a day of a week', {}, options) when '{week_day_name}' then tokens[:week_day_name] = language.tr(Tml.config.default_day_name(wday), 'Day of a week', {}, options) when '{short_month_name}' then tokens[:short_month_name] = language.tr(Tml.config.default_abbr_month_name(month - 1), 'Short month name', {}, options) when '{month_name}' then tokens[:month_name] = language.tr(Tml.config.default_month_name(month - 1), 'Month name', {}, options) when '{am_pm}' then tokens[:am_pm] = language.tr(strftime('%p'), 'Meridian indicator', {}, options) when '{full_hours}' then tokens[:full_hours] = hour when '{short_hours}' then tokens[:short_hours] = strftime('%I') when '{trimed_hour}' then tokens[:trimed_hour] = strftime('%l') when '{minutes}' then tokens[:minutes] = strftime('%M') when '{seconds}' then tokens[:seconds] = strftime('%S') when '{since_epoch}' then tokens[:since_epoch] = strftime('%s') when '{day_of_month}' then tokens[:day_of_month] = strftime('%e') else '' end end language.tr(label, nil, tokens, options) end
Also aliased as: tr
trl(format = :default, options = {})
click to toggle source
# File lib/tml/ext/time.rb, line 85 def trl(format = :default, options = {}) tr(format, options.merge!(:skip_decorations => true)) end