def merge(other)
return self unless other
unless mergeable?(other)
message = "Translation targets do not match: \n" +
" self: #{self.inspect}\n other: '#{other.inspect}'"
raise ParseError, message
end
if other.msgid_plural && !msgid_plural
res = other
unless res.references.include?(references[0])
res.references += references
res.add_comment(extracted_comment)
end
else
res = self
unless res.references.include?(other.references[0])
res.references += other.references
res.add_comment(other.extracted_comment)
end
end
res
end