module I18n
Public Class Methods
exists?(key, locale = config.locale)
click to toggle source
# File lib/mova-i18n.rb, line 66 def exists?(key, locale = config.locale) locale_with_fallbacks = fallbacks[locale] result = mova.translator.get([key], locale_with_fallbacks, default: "") Mova.presence(result) end
fallbacks()
click to toggle source
# File lib/mova-i18n.rb, line 15 def self.fallbacks @fallbacks ||= Hash.new { |h,k| h[k] = [k] } end
mova()
click to toggle source
# File lib/mova-i18n.rb, line 8 def self.mova Mova::I18nConfig end
reload!()
click to toggle source
Calls superclass method
# File lib/mova-i18n.rb, line 72 def reload! super mova.transfer_translations! end
translate(key, options = nil)
click to toggle source
# File lib/mova-i18n.rb, line 21 def translate(key, options = nil) options = options && options.dup || {} locale = options[:locale] || config.locale locale_with_fallbacks = if options[:fallback] # suppress locale fallbacks (inverted due to I18n fallbacks implementation) [locale] else fallbacks[locale] end if (default = options[:default]) && !default.is_a?(Hash) defaults = Array(default) options[:default] = defaults.last.is_a?(String) ? defaults.pop : nil key = Array(key).concat(defaults) end if (count = options[:count]) zero_plural_key = :zero if count == 0 plural_key = mova.pluralizer(locale).call(count) key = Array(key).each_with_object([]) do |key, memo| memo << Mova::Scope.join(key, zero_plural_key) if zero_plural_key memo << Mova::Scope.join(key, plural_key) memo << key end end if (scope = options[:scope]) scope = Array(scope) key = Array(key).map do |key| Mova::Scope.join(scope + [key]) end end result = mova.translator.get(key, locale_with_fallbacks, options) if result.is_a?(String) && !(interpolation_keys = options.keys - RESERVED_KEYS).empty? mova.interpolator.call(result, options) else result end end
Also aliased as: t