Sha256: b7cffda80269f937c60943760d87fa8a59577ed5884eac0d28f5ec2b36f7005f

Contents?: true

Size: 1.24 KB

Versions: 18

Compression:

Stored size: 1.24 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 = {})
      Spree::Deprecation.warn <<-WARN.squish
        Spree.t & Spree.translate have been deprecated.
        Instead use I18n.t('spree.your_translation_key')
      WARN
      options[:scope] = [:spree, *options[:scope]]
      TranslationHelperWrapper.new.translate(key, **options)
    end

    alias_method :t, :translate
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
solidus_core-2.11.17 lib/spree/i18n.rb
solidus_core-2.11.16 lib/spree/i18n.rb
solidus_core-2.11.15 lib/spree/i18n.rb
solidus_core-2.11.14 lib/spree/i18n.rb
solidus_core-2.11.13 lib/spree/i18n.rb
solidus_core-2.11.12 lib/spree/i18n.rb
solidus_core-2.11.11 lib/spree/i18n.rb
solidus_core-2.11.10 lib/spree/i18n.rb
solidus_core-2.11.9 lib/spree/i18n.rb
solidus_core-2.11.8 lib/spree/i18n.rb
solidus_core-2.11.7 lib/spree/i18n.rb
solidus_core-2.11.6 lib/spree/i18n.rb
solidus_core-2.11.5 lib/spree/i18n.rb
solidus_core-2.11.4 lib/spree/i18n.rb
solidus_core-2.11.3 lib/spree/i18n.rb
solidus_core-2.11.2 lib/spree/i18n.rb
solidus_core-2.11.1 lib/spree/i18n.rb
solidus_core-2.11.0 lib/spree/i18n.rb