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

Methods inherited from Api::Types::BaseObject

allowed_to?, authorized?, determine_subject_name, local_admin_context, local_context, permission_chain

Instance Method Details

#localesObject



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

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

#translation(locale: "") ⇒ Object



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

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

#translations(locales: []) ⇒ Object



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

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