/**
* Class for working with PO files
*
- * @version $Id: po.php 123 2009-05-13 19:35:43Z nbachiyski $
+ * @version $Id: po.php 589 2010-12-18 01:40:57Z nbachiyski $
* @package pomo
* @subpackage po
*/
/**
* Routines for working with PO files
*/
+if ( !class_exists( 'PO' ) ):
class PO extends Gettext_Translations {
+ var $comments_before_headers = '';
/**
* Exports headers to a PO entry
$header_string.= "$header: $value\n";
}
$poified = PO::poify($header_string);
- return rtrim("msgid \"\"\nmsgstr $poified");
+ if ($this->comments_before_headers)
+ $before_headers = $this->prepend_each_line(rtrim($this->comments_before_headers)."\n", '# ');
+ else
+ $before_headers = '';
+ return rtrim("{$before_headers}msgid \"\"\nmsgstr $poified");
}
/**
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 ) {
+ $this->comments_before_headers = $text;
+ }
/**
* Formats a string in PO-style
return false;
}
}
- if (array() == array_filter($entry->translations)) $entry->translations = array();
+ if (array() == array_filter($entry->translations, create_function('$t', 'return $t || "0" === $t;'))) {
+ $entry->translations = array();
+ }
return array('entry' => $entry, 'lineno' => $lineno);
}
return $s;
}
}
-?>
+endif;
\ No newline at end of file