/**
* Class for working with PO files
*
- * @version $Id: po.php 589 2010-12-18 01:40:57Z nbachiyski $
+ * @version $Id: po.php 718 2012-10-31 00:32:02Z nbachiyski $
* @package pomo
* @subpackage po
*/
*/
if ( !class_exists( 'PO' ) ):
class PO extends Gettext_Translations {
-
+
var $comments_before_headers = '';
/**
if (false === $res) return false;
return fclose($fh);
}
-
+
/**
* Text to include as a comment before the start of the PO contents
- *
+ *
* Doesn't need to include # in the beginning of lines, these are added automatically
*/
function set_comment_before_headers( $text ) {
$po = str_replace("$newline$quote$quote", '', $po);
return $po;
}
-
+
/**
* Gives back the original string from a PO-formatted string
- *
+ *
* @static
* @param string $string PO-formatted string
* @return string enascaped string
}
/**
- * Inserts $with in the beginning of every new line of $string and
+ * Inserts $with in the beginning of every new line of $string and
* returns the modified string
*
* @static
}
}
PO::read_line($f, 'clear');
- return $res !== false;
+ if ( false === $res ) {
+ return false;
+ }
+ if ( ! $this->headers && ! $this->entries ) {
+ return false;
+ }
+ return true;
}
-
+
function read_entry($f, $lineno = 0) {
$entry = new Translation_Entry();
// where were we in the last step
}
return array('entry' => $entry, 'lineno' => $lineno);
}
-
+
function read_line($f, $action = 'read') {
static $last_line = '';
static $use_last_line = false;
return true;
}
$line = $use_last_line? $last_line : fgets($f);
+ $line = ( "\r\n" == substr( $line, -2 ) ) ? rtrim( $line, "\r\n" ) . "\n" : $line;
$last_line = $line;
$use_last_line = false;
return $line;
}
-
+
function add_comment_to_entry(&$entry, $po_comment_line) {
$first_two = substr($po_comment_line, 0, 2);
$comment = trim(substr($po_comment_line, 2));
$entry->translator_comments = trim($entry->translator_comments . "\n" . $comment);
}
}
-
+
function trim_quotes($s) {
if ( substr($s, 0, 1) == '"') $s = substr($s, 1);
if ( substr($s, -1, 1) == '"') $s = substr($s, 0, -1);
return $s;
}
}
-endif;
\ No newline at end of file
+endif;