Class: Lokale::Exporter

Inherits:
Object
  • Object
show all
Defined in:
lib/lokale/agent.rb

Defined Under Namespace

Classes: Diff

Instance Method Summary collapse

Instance Method Details

#export(diffs) ⇒ Object



309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
# File 'lib/lokale/agent.rb', line 309

def export(diffs)
  # puts "Exporting stuff"
  diffs.each do |d|
    missing_count = d.missing_strings.values.map { |e| e.size }.reduce(:+)
    puts "Writing xliff for `#{d.lang}` language. Missing strings count: #{missing_count}"

    xliffle = Xliffle.new
    d.missing_strings.each do |lfile, strings|
      xfile = xliffle.file(lfile, Config.get.main_lang, d.lang)
      strings.each do |lstr|
        xfile.string(lstr.key, lstr.source, nil).note(lstr.note, 0)
      end
    end

    file_name = xliff_name(d.lang)
    File.write(file_name, xliffle.to_xliff)
  end
end

#xliff_name(lang) ⇒ Object



328
329
330
331
# File 'lib/lokale/agent.rb', line 328

def xliff_name(lang)
  date = Time.now.strftime("%d.%m.%y")
  "export.#{date}.#{lang}.xliff"
end