class Date
Public Instance Methods
translate(format = :default, options = {})
click to toggle source
The translation of the date can use one of the formats:
Using the Symbol to pull the default format defined in the config:
date.translate(:verbose)
Using a string with format with native Date
elements
date.translate("%m/%d/%Y")
Or using a string with tokens:
date.translate("{month_name} {days::ord}")
The last allows you to use language cases to get something like “on March 1st”.
# File lib/tr8n_core/ext/date.rb, line 50 def translate(format = :default, options = {}) language = Tr8n.session.target_language label = (format.is_a?(String) ? format.clone : Tr8n.config.default_date_formats[format].clone) selected_tokens = [] using_tokens = label.index('{') if using_tokens selected_tokens = Tr8n::Tokens::Data.parse(label).collect{ |token| token.name(:parens => true) } else symbols = label.scan(/(%\w)/).flatten.uniq symbols.each do |symbol| token = Tr8n.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(Tr8n.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(Tr8n.config.default_day_name(wday), "Day of a week", {}, options) when "{short_month_name}" then tokens[:short_month_name] = language.tr(Tr8n.config.default_abbr_month_name(month - 1), "Short month name", {}, options) when "{month_name}" then tokens[:month_name] = language.tr(Tr8n.config.default_month_name(month - 1), "Month name", {}, options) when "{day_of_month}" then tokens[:day_of_month] = strftime("%e") end end language.tr(label, nil, tokens, options) end
Also aliased as: tr
trl(format = :default, options = {})
click to toggle source
# File lib/tr8n_core/ext/date.rb, line 94 def trl(format = :default, options = {}) tr(format, options.merge!(:skip_decorations => true)) end