Sha256: ca884301f2bbe6205c5304bfbcf0389ec3bc0d5a024e169c66b6a3e0366287da

Contents?: true

Size: 1.08 KB

Versions: 15

Compression:

Stored size: 1.08 KB

Contents

# frozen_string_literal: true

module Decidim
  module TermCustomizer
    class TranslationDirectory
      attr_reader :locale

      def initialize(locale)
        @locale = locale.to_sym
      end

      def backend
        @backend ||= original_backend
      end

      def translations
        @translations ||= TranslationStore.new(backend_translations)
      end

      def translations_search(search)
        translations_by_key(search).merge(translations_by_term(search))
      end

      def translations_by_key(search)
        translations.by_key(search)
      end

      def translations_by_term(search, case_sensitive: false)
        translations.by_term(search, case_sensitive: case_sensitive)
      end

      private

      def original_backend
        if I18n.backend.class == I18n::Backend::Chain
          return I18n.backend.backends.find do |be|
            be.class == I18n::Backend::Simple
          end
        end

        I18n.backend
      end

      def backend_translations
        list = backend.translations(do_init: true)
        list[locale]
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
decidim-term_customizer-0.23.0 lib/decidim/term_customizer/translation_directory.rb
decidim-term_customizer-0.22.0 lib/decidim/term_customizer/translation_directory.rb
decidim-term_customizer-0.21.0 lib/decidim/term_customizer/translation_directory.rb
decidim-term_customizer-0.20.0 lib/decidim/term_customizer/translation_directory.rb
decidim-term_customizer-0.19.1 lib/decidim/term_customizer/translation_directory.rb
decidim-term_customizer-0.19.0 lib/decidim/term_customizer/translation_directory.rb
decidim-term_customizer-0.18.0 lib/decidim/term_customizer/translation_directory.rb
decidim-term_customizer-0.17.1 lib/decidim/term_customizer/translation_directory.rb
decidim-term_customizer-0.17.0 lib/decidim/term_customizer/translation_directory.rb
decidim-term_customizer-0.16.6 lib/decidim/term_customizer/translation_directory.rb
decidim-term_customizer-0.16.5 lib/decidim/term_customizer/translation_directory.rb
decidim-term_customizer-0.16.3 lib/decidim/term_customizer/translation_directory.rb
decidim-term_customizer-0.16.2 lib/decidim/term_customizer/translation_directory.rb
decidim-term_customizer-0.16.1 lib/decidim/term_customizer/translation_directory.rb
decidim-term_customizer-0.16.0 lib/decidim/term_customizer/translation_directory.rb