Sha256: 6bda6ab07b969bd7657b3b9cf313c751d54658d76a45ffd4135db5ac8b98e2e1
Contents?: true
Size: 1.42 KB
Versions: 3
Compression:
Stored size: 1.42 KB
Contents
# frozen_string_literal: true module Decidim # Helper that provides convenient methods to deal with translated attributes. module TranslationsHelper # Public: Returns the translation of an attribute using the current locale, # if available. Checks for the organization default locale as fallback. # # attribute - A Hash where keys (strings) are locales, and their values are # the translation for each locale. # # Returns a String with the translation. def translated_attribute(attribute) return "" if attribute.nil? return attribute unless attribute.is_a?(Hash) attribute[I18n.locale.to_s].presence || attribute[current_organization.default_locale].presence || attribute[attribute.keys.first].presence || "" end # Public: Creates a translation for each available language in the list # given a translation key. # # key - The key to translate. # locales - A list of locales to scope the translations to. Picks up all the # available locales by default. # # Returns a Hash with the locales as keys and the translations as values. def multi_translation(key, locales = Decidim.available_locales) locales.each_with_object({}) do |locale, result| I18n.with_locale(locale) do result[locale.to_sym] = I18n.t(key) end end end module_function :multi_translation end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
decidim-core-0.9.2 | app/helpers/decidim/translations_helper.rb |
decidim-core-0.9.1 | app/helpers/decidim/translations_helper.rb |
decidim-core-0.9.0 | app/helpers/decidim/translations_helper.rb |