lib/shimmer/utils/localizable.rb in shimmer-0.0.6 vs lib/shimmer/utils/localizable.rb in shimmer-0.0.7
- old
+ new
@@ -27,33 +27,32 @@
end
def url_locale
params[:locale]
end
- end
- end
-end
-module I18n
- UNTRANSLATED_SCOPES = ["number", "transliterate", "date", "datetime", "errors", "helpers", "support", "time", "faker"].map { |k| "#{k}." }
+ I18n.class_eval do
+ thread_mattr_accessor :debug
- thread_mattr_accessor :debug
+ class << self
+ alias_method :old_translate, :translate
+ def translate(key, options = {})
+ untranslated_scopes = ["number", "transliterate", "date", "datetime", "errors", "helpers", "support", "time", "faker"].map { |k| "#{k}." }
+ key = key.to_s.downcase
+ untranslated = untranslated_scopes.any? { |e| key.include? e }
+ key_name = [options[:scope], key].flatten.compact.join(".")
+ option_names = options.except(:count, :default, :raise, :scope).map { |k, v| "#{k}=#{v}" }.join(", ")
+ return "#{key_name} #{option_names}" if I18n.debug && !untranslated
- class << self
- alias_method :old_translate, :translate
- def translate(key, options = {})
- key = key.to_s.downcase
- untranslated = UNTRANSLATED_SCOPES.any? { |e| key.include? e }
- key_name = [options[:scope], key].flatten.compact.join(".")
- option_names = options.except(:count, :default, :raise, :scope).map { |k, v| "#{k}=#{v}" }.join(", ")
- return "#{key_name} #{option_names}" if I18n.debug && !untranslated
+ options.reverse_merge!(default: old_translate(key, **options.merge(locale: :de))) if untranslated
+ old_translate(key, **options)
+ end
+ alias_method :t, :translate
- options.reverse_merge!(default: old_translate(key, **options.merge(locale: :de))) if untranslated
- old_translate(key, **options)
- end
- alias_method :t, :translate
-
- def debug?
- debug
+ def debug?
+ debug
+ end
+ end
+ end
end
end
end