Class: Decidim::Core::TranslatedFieldType

Inherits:
Api::Types::BaseObject show all
Defined in:
decidim-core/lib/decidim/api/types/translated_field_type.rb

Overview

This type represents a translated field in multiple languages.

Instance Method Summary collapse

Instance Method Details

#localesObject



19
20
21
# File 'decidim-core/lib/decidim/api/types/translated_field_type.rb', line 19

def locales
  (defined_translations.keys + machine_translations.keys).uniq
end

#translation(locale: "") ⇒ Object



23
24
25
# File 'decidim-core/lib/decidim/api/types/translated_field_type.rb', line 23

def translation(locale: "")
  display_translations[locale]
end

#translations(locales: []) ⇒ Object



27
28
29
30
31
32
# File 'decidim-core/lib/decidim/api/types/translated_field_type.rb', line 27

def translations(locales: [])
  translations = display_translations
  translations = translations.slice(*locales) unless locales.empty?

  translations.map { |locale, text| OpenStruct.new(locale:, text:, machine_translated: defined_translations[locale].blank?) }
end