class UiBibz::Utils::Internationalization

Internalizations methods to translate can be used outside of Ui Bibz

Public Class Methods

new(translation, options = {}) click to toggle source
# File lib/ui_bibz/utils/internationalization.rb, line 9
def initialize(translation, options = {})
  @translation = translation
  @options     = options
end

Public Instance Methods

translate() click to toggle source
# File lib/ui_bibz/utils/internationalization.rb, line 14
def translate
  I18n.t(@translation, **options_with_default)
end

Private Instance Methods

i18n_set?(key) click to toggle source

To know if translation missing

# File lib/ui_bibz/utils/internationalization.rb, line 26
def i18n_set?(key)
  I18n.t key, raise: true
rescue StandardError
  false
end
options_with_default() click to toggle source
# File lib/ui_bibz/utils/internationalization.rb, line 20
def options_with_default
  @options[:default] = translate_default unless @options[:default].nil?
  @options
end
translate_default() click to toggle source
# File lib/ui_bibz/utils/internationalization.rb, line 32
def translate_default
  I18n.t(Array(@options[:default]).find { |translation| i18n_set? translation }, default: Array(@options[:default]).last)
end