class Lokale::Importer::Diff
Attributes
lang[RW]
lstrings[RW]
name[RW]
Public Class Methods
from_file(xliff_path)
click to toggle source
# File lib/lokale/agent.rb, line 338 def self.from_file(xliff_path) begin xliff = XLIFFer::XLIFF.new(File.open(xliff_path)) rescue Exception => e puts "Failed to parse `#{xliff_path}` file." end diffs = [] xliff.files.each do |f| next if f.target_language == Config.get.main_lang next if f.source_language != Config.get.main_lang diff = Diff.new diff.name = f.original diff.lang = f.target_language diff.lstrings = f.strings .map { |s| LString.from_xliff_string(s, f.target_language) } .delete_if { |ls| ls.target.nil? } next if diff.lstrings.empty? diffs << diff end diffs end