]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-includes/pomo/po.php
Wordpress 3.1
[autoinstalls/wordpress.git] / wp-includes / pomo / po.php
index 6c40c5a4eee44ea7e9c9324ee32a4a2ab79d6a20..8e3eb611512bdea6af9a28cf1fe3df36f172ac2b 100644 (file)
@@ -2,7 +2,7 @@
 /**
  * Class for working with PO files
  *
- * @version $Id: po.php 123 2009-05-13 19:35:43Z nbachiyski $
+ * @version $Id: po.php 406 2010-02-07 11:10:24Z nbachiyski $
  * @package pomo
  * @subpackage po
  */
@@ -16,8 +16,9 @@ ini_set('auto_detect_line_endings', 1);
 /**
  * Routines for working with PO files
  */
+if ( !class_exists( 'PO' ) ):
 class PO extends Gettext_Translations {
-       
+
 
        /**
         * Exports headers to a PO entry
@@ -105,10 +106,10 @@ class PO extends Gettext_Translations {
                $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
@@ -138,7 +139,7 @@ class PO extends Gettext_Translations {
        }
 
        /**
-        * 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
@@ -216,7 +217,7 @@ class PO extends Gettext_Translations {
                PO::read_line($f, 'clear');
                return $res !== false;
        }
-       
+
        function read_entry($f, $lineno = 0) {
                $entry = new Translation_Entry();
                // where were we in the last step
@@ -253,7 +254,7 @@ class PO extends Gettext_Translations {
                                        return false;
                                }
                                // add comment
-                               $this->add_comment_to_entry($entry, $line);;
+                               $this->add_comment_to_entry($entry, $line);
                        } elseif (preg_match('/^msgctxt\s+(".*")/', $line, $m)) {
                                if ($is_final($context)) {
                                        PO::read_line($f, 'put-back');
@@ -316,10 +317,12 @@ class PO extends Gettext_Translations {
                                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);
        }
-       
+
        function read_line($f, $action = 'read') {
                static $last_line = '';
                static $use_last_line = false;
@@ -336,7 +339,7 @@ class PO extends Gettext_Translations {
                $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));
@@ -350,11 +353,11 @@ class PO extends Gettext_Translations {
                        $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;