Sha256: f811c50ce1254b2e6b616550449fbd89b59dfab758195fe5de6419e03645af1d

Contents?: true

Size: 916 Bytes

Versions: 33

Compression:

Stored size: 916 Bytes

Contents

require 'i18n'
require 'active_support/core_ext/array/extract_options'
require 'action_view'

module Spree
  class TranslationHelperWrapper
    include ActionView::Helpers::TranslationHelper
  end

  class << self
    # Add spree namespace and delegate to Rails TranslationHelper for some nice
    # extra functionality. e.g return reasonable strings for missing translations
    def translate(key, options = {})
      options[:scope] = [*options[:scope]].unshift(:spree).uniq

      TranslationHelperWrapper.new.translate(key, **options)
    end

    def available_locales
      locales_from_i18n = I18n.available_locales
      locales =
        if defined?(SpreeI18n)
          (SpreeI18n::Locale.all << :en).map(&:to_sym)
        else
          [Rails.application.config.i18n.default_locale, I18n.locale, :en]
        end

      (locales + locales_from_i18n).uniq.compact
    end

    alias t translate
  end
end

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
spree_core-4.10.1 lib/spree/i18n.rb
spree_core-4.10.0 lib/spree/i18n.rb
spree_core-4.9.0 lib/spree/i18n.rb
spree_core-4.8.3 lib/spree/i18n.rb
spree_core-4.8.2 lib/spree/i18n.rb
spree_core-4.7.3 lib/spree/i18n.rb
spree_core-4.6.6 lib/spree/i18n.rb
spree_core-4.5.5 lib/spree/i18n.rb
spree_core-4.3.3 lib/spree/i18n.rb
spree_core-4.4.1 lib/spree/i18n.rb
spree_core-4.5.4 lib/spree/i18n.rb
spree_core-4.6.5 lib/spree/i18n.rb
spree_core-4.7.2 lib/spree/i18n.rb
spree_core-4.7.1 lib/spree/i18n.rb
spree_core-4.6.4 lib/spree/i18n.rb
spree_core-4.7.0 lib/spree/i18n.rb
spree_core-4.6.3 lib/spree/i18n.rb
spree_core-4.6.2 lib/spree/i18n.rb
spree_core-4.6.1 lib/spree/i18n.rb
spree_core-4.6.0 lib/spree/i18n.rb