Sha256: b618bb39c6091d0e916e2e8eca79e7af7407250342da568d729a3f3dd23a31fa

Contents?: true

Size: 847 Bytes

Versions: 37

Compression:

Stored size: 847 Bytes

Contents

# Transalte with array of translation
#
#   => UiBibz::Utils::Internationalization.new("ui_bibz.table.actions.#{ @store.model.to_s.underscore }.show", default: defaults).translate
module UiBibz::Utils
  class Internationalization

    def initialize translation, options = {}
      @translation = translation
      @options     = options
    end

    def translate
      I18n.t(@translation, options_with_default)
    end

  private

    def options_with_default
      @options[:default] = translate_default unless @options[:default].nil?
      @options
    end

    # To know if translation missing
    def i18n_set? key
      I18n.t key, :raise => true rescue false
    end

    def translate_default
      I18n.t([*@options[:default]].select{ |translation| i18n_set? translation }.first, default: [*@options[:default]].last)
    end

  end
end

Version data entries

37 entries across 37 versions & 1 rubygems

Version Path
ui_bibz-2.4.0 lib/ui_bibz/utils/internationalization.rb
ui_bibz-2.3.15 lib/ui_bibz/utils/internationalization.rb
ui_bibz-2.3.14 lib/ui_bibz/utils/internationalization.rb
ui_bibz-2.3.13 lib/ui_bibz/utils/internationalization.rb
ui_bibz-2.3.12 lib/ui_bibz/utils/internationalization.rb
ui_bibz-2.3.11 lib/ui_bibz/utils/internationalization.rb
ui_bibz-2.3.10 lib/ui_bibz/utils/internationalization.rb
ui_bibz-2.3.9 lib/ui_bibz/utils/internationalization.rb
ui_bibz-2.3.8 lib/ui_bibz/utils/internationalization.rb
ui_bibz-2.3.7 lib/ui_bibz/utils/internationalization.rb
ui_bibz-2.3.6 lib/ui_bibz/utils/internationalization.rb
ui_bibz-2.3.5 lib/ui_bibz/utils/internationalization.rb
ui_bibz-2.3.4 lib/ui_bibz/utils/internationalization.rb
ui_bibz-2.3.3 lib/ui_bibz/utils/internationalization.rb
ui_bibz-2.3.2 lib/ui_bibz/utils/internationalization.rb
ui_bibz-2.3.1 lib/ui_bibz/utils/internationalization.rb
ui_bibz-2.3.0 lib/ui_bibz/utils/internationalization.rb
ui_bibz-2.2.2 lib/ui_bibz/utils/internationalization.rb
ui_bibz-2.2.1 lib/ui_bibz/utils/internationalization.rb
ui_bibz-2.2.0 lib/ui_bibz/utils/internationalization.rb