Class: Tolq::Parsers::Xliff::Parser

Inherits:
Object
  • Object
show all
Defined in:
lib/xliff/parser.rb

Instance Method Summary collapse

Constructor Details

#initialize(quality:, source_language_code: nil, target_language_code: nil) ⇒ Tolq::Parsers::Xliff::Parser

Creates a new Xliff parser

Parameters:

  • quality (Symbol)

    the Tolq quality to order in, one of ‘:basic`, `:standard`, `:professional` or `:expert`



8
9
10
11
12
# File 'lib/xliff/parser.rb', line 8

def initialize(quality:, source_language_code: nil, target_language_code: nil)
  @quality = quality
  @source_language_code = source_language_code
  @target_language_code = target_language_code
end

Instance Method Details

#parse(xliff_text) ⇒ Hash

Parses an Xliff text

Parameters:

  • xliff_text (String)

    the xlif format text to parse

Returns:

  • (Hash)

    A hash suitable to be converted to json for the Tolq Api



18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/xliff/parser.rb', line 18

def parse(xliff_text)
  xliff = XLIFFer::XLIFF.new(xliff_text)
  file = xliff.files.first
  request_data = extract_request_data_from_file(file)

  {
    "request" => request_data,
    "source_language_code" => @source_language_code || strip_region_language(file.source_language),
    "target_language_code" => @target_language_code || strip_region_language(file.target_language),
    "quality" => @quality.to_s
  }
end