Sha256: 8048cec71cd078f9d35bb9f7c265a6b1e7de760f4555295701127c82538aaf48

Contents?: true

Size: 1.07 KB

Versions: 15

Compression:

Stored size: 1.07 KB

Contents

# frozen_string_literal: true

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

module Spree
  def self.i18n_available_locales
    I18n.available_locales.select do |locale|
      I18n.t('spree.i18n.this_file_language', locale: locale, fallback: false, default: nil)
    end
  end

  class TranslationHelperWrapper # :nodoc:
    include ActionView::Helpers::TranslationHelper
  end

  # This value is used as a count for the pluralization helpers related to I18n
  # ex: Spree::Order.model_name.human(count: Spree::I18N_GENERIC_PLURAL)
  # Related to Solidus issue #1164, this is needed to avoid problems with
  # some pluralization calculators
  I18N_GENERIC_PLURAL = 2.1

  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] = [:spree, *options[:scope]]
      TranslationHelperWrapper.new.translate(key, options)
    end

    alias_method :t, :translate
  end
end

Version data entries

15 entries across 15 versions & 2 rubygems

Version Path
solidus_core-2.6.6 lib/spree/i18n.rb
solidus_core-2.7.4 lib/spree/i18n.rb
solidus_core-2.7.3 lib/spree/i18n.rb
solidus_core-2.6.5 lib/spree/i18n.rb
solidus_core-2.7.2 lib/spree/i18n.rb
solidus_core-2.6.4 lib/spree/i18n.rb
solidus_core-2.6.3 lib/spree/i18n.rb
solidus_core-2.7.1 lib/spree/i18n.rb
solidus_core-2.6.2 lib/spree/i18n.rb
solidus_core_devise_token_auth-2.8.0.alpha.1 lib/spree/i18n.rb
solidus_core_devise_token_auth-2.8.0.alpha.0 lib/spree/i18n.rb
solidus_core-2.7.0 lib/spree/i18n.rb
solidus_core-2.6.1 lib/spree/i18n.rb
solidus_core-2.6.0 lib/spree/i18n.rb
solidus_core-2.6.0.rc1 lib/spree/i18n.rb