Class: AddOns::FieldTranslationService
- Inherits:
-
Object
- Object
- AddOns::FieldTranslationService
- Includes:
- ElasticAPM::SpanHelpers
- Defined in:
- app/services/add_ons/field_translation_service.rb
Constant Summary collapse
- SUPPORTED_LANGUAGES =
{ 'en' => 'English', 'th' => 'Thai', 'zh' => 'Chinese Simplified (zh-Hans)', 'cn' => 'Chinese Traditional (zh-Hant)', 'ru' => 'Russian', 'ko' => 'Korean', 'ja' => 'Japanese', 'ms' => 'Malay', 'fr' => 'French', 'de' => 'German', 'es' => 'Spanish', 'id' => 'Indonesian', 'vi' => 'Vietnamese', }.freeze
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(field_name:, source_text:, source_language:, target_languages:, add_on_id: nil) ⇒ FieldTranslationService
constructor
A new instance of FieldTranslationService.
Constructor Details
#initialize(field_name:, source_text:, source_language:, target_languages:, add_on_id: nil) ⇒ FieldTranslationService
Returns a new instance of FieldTranslationService.
23 24 25 26 27 28 29 |
# File 'app/services/add_ons/field_translation_service.rb', line 23 def initialize(field_name:, source_text:, source_language:, target_languages:, add_on_id: nil) @add_on_id = add_on_id @field_name = field_name @source_text = source_text @source_language = source_language @target_languages = target_languages end |
Instance Method Details
#call ⇒ Object
31 32 33 34 35 36 37 38 39 40 |
# File 'app/services/add_ons/field_translation_service.rb', line 31 def call return failure_result('Source text is required') if @source_text.blank? return failure_result('Target languages are required') if @target_languages.blank? translations = translate_field success_result(translations) rescue StandardError => e APMErrorHandler.report(e, context: { add_on_id: @add_on_id, field_name: @field_name }) failure_result(e.) end |