class-wpml-tm-string-xliff-reader.php
927 Bytes
<?php
class WPML_TM_String_Xliff_Reader extends WPML_TM_Xliff_Reader {
/**
* Retrieve the string translations from a XLIFF
*
* @param string $content The XLIFF representing a set of strings
*
* @return WP_Error|array The string translation representation or WP_Error
* on failure
*/
public function get_data( $content ) {
$xliff = $this->load_xliff( $content );
$data = array();
if ( $xliff && ! $xliff instanceof WP_Error ) {
/** @var SimpleXMLElement $node */
foreach ( $xliff->{'file'}->{'body'}->children() as $node ) {
$target = $this->get_xliff_node_target( $node );
if ( ! $target && $target !== '0' ) {
return $this->invalid_xliff_error();
}
$target = $this->replace_xliff_new_line_tag_with_new_line( $target );
$attr = $node->attributes();
$data[ (string) $attr['id'] ] = $target;
}
}
return $data;
}
}