]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-includes/pomo/translations.php
WordPress 4.6.3-scripts
[autoinstalls/wordpress.git] / wp-includes / pomo / translations.php
index 951583ace60a29ab876c467324326dea551abe25..66971d95954a9b178516642da055c5c901f27cd3 100644 (file)
@@ -2,14 +2,14 @@
 /**
  * Class for a set of entries for translation and their associated headers
  *
- * @version $Id: translations.php 590 2010-12-20 19:58:37Z nbachiyski $
+ * @version $Id: translations.php 1157 2015-11-20 04:30:11Z dd32 $
  * @package pomo
  * @subpackage translations
  */
 
 require_once dirname(__FILE__) . '/entry.php';
 
-if ( !class_exists( 'Translations' ) ):
+if ( ! class_exists( 'Translations', false ) ):
 class Translations {
        var $entries = array();
        var $headers = array();
@@ -17,7 +17,7 @@ class Translations {
        /**
         * Add entry to the PO structure
         *
-        * @param object &$entry
+        * @param array|Translation_Entry &$entry
         * @return bool true on success, false if the entry doesn't have a key
         */
        function add_entry($entry) {
@@ -29,7 +29,11 @@ class Translations {
                $this->entries[$key] = &$entry;
                return true;
        }
-       
+
+       /**
+        * @param array|Translation_Entry $entry
+        * @return bool
+        */
        function add_entry_or_merge($entry) {
                if (is_array($entry)) {
                        $entry = new Translation_Entry($entry);
@@ -57,21 +61,35 @@ class Translations {
                $this->headers[$header] = $value;
        }
 
-       function set_headers(&$headers) {
+       /**
+        * @param array $headers
+        */
+       function set_headers($headers) {
                foreach($headers as $header => $value) {
                        $this->set_header($header, $value);
                }
        }
 
+       /**
+        * @param string $header
+        */
        function get_header($header) {
                return isset($this->headers[$header])? $this->headers[$header] : false;
        }
 
+       /**
+        * @param Translation_Entry $entry
+        */
        function translate_entry(&$entry) {
                $key = $entry->key();
                return isset($this->entries[$key])? $this->entries[$key] : false;
        }
 
+       /**
+        * @param string $singular
+        * @param string $context
+        * @return string
+        */
        function translate($singular, $context=null) {
                $entry = new Translation_Entry(array('singular' => $singular, 'context' => $context));
                $translated = $this->translate_entry($entry);
@@ -93,10 +111,19 @@ class Translations {
                return 1 == $count? 0 : 1;
        }
 
+       /**
+        * @return int
+        */
        function get_plural_forms_count() {
                return 2;
        }
 
+       /**
+        * @param string $singular
+        * @param string $plural
+        * @param int    $count
+        * @param string $context
+        */
        function translate_plural($singular, $plural, $count, $context = null) {
                $entry = new Translation_Entry(array('singular' => $singular, 'plural' => $plural, 'context' => $context));
                $translated = $this->translate_entry($entry);
@@ -121,7 +148,10 @@ class Translations {
                        $this->entries[$entry->key()] = $entry;
                }
        }
-       
+
+       /**
+        * @param object $other
+        */
        function merge_originals_with(&$other) {
                foreach( $other->entries as $entry ) {
                        if ( !isset( $this->entries[$entry->key()] ) )
@@ -134,11 +164,12 @@ class Translations {
 
 class Gettext_Translations extends Translations {
        /**
-        * The gettext implmentation of select_plural_form.
+        * The gettext implementation of select_plural_form.
         *
         * It lives in this class, because there are more than one descendand, which will use it and
         * they can't share it effectively.
         *
+        * @param int $count
         */
        function gettext_select_plural_form($count) {
                if (!isset($this->_gettext_select_plural_form) || is_null($this->_gettext_select_plural_form)) {
@@ -148,7 +179,11 @@ class Gettext_Translations extends Translations {
                }
                return call_user_func($this->_gettext_select_plural_form, $count);
        }
-       
+
+       /**
+        * @param string $header
+        * @return array
+        */
        function nplurals_and_expression_from_header($header) {
                if (preg_match('/^\s*nplurals\s*=\s*(\d+)\s*;\s+plural\s*=\s*(.+)$/', $header, $matches)) {
                        $nplurals = (int)$matches[1];
@@ -162,6 +197,8 @@ class Gettext_Translations extends Translations {
        /**
         * Makes a function, which will return the right translation index, according to the
         * plural forms header
+        * @param int    $nplurals
+        * @param string $expression
         */
        function make_plural_form_function($nplurals, $expression) {
                $expression = str_replace('n', '$n', $expression);
@@ -172,9 +209,9 @@ class Gettext_Translations extends Translations {
        }
 
        /**
-        * Adds parantheses to the inner parts of ternary operators in
+        * Adds parentheses to the inner parts of ternary operators in
         * plural expressions, because PHP evaluates ternary oerators from left to right
-        * 
+        *
         * @param string $expression the expression without parentheses
         * @return string the expression with parentheses added
         */
@@ -202,7 +239,11 @@ class Gettext_Translations extends Translations {
                }
                return rtrim($res, ';');
        }
-       
+
+       /**
+        * @param string $translation
+        * @return array
+        */
        function make_headers($translation) {
                $headers = array();
                // sometimes \ns are used instead of real new lines
@@ -215,7 +256,11 @@ class Gettext_Translations extends Translations {
                }
                return $headers;
        }
-       
+
+       /**
+        * @param string $header
+        * @param string $value
+        */
        function set_header($header, $value) {
                parent::set_header($header, $value);
                if ('Plural-Forms' == $header) {
@@ -227,48 +272,86 @@ class Gettext_Translations extends Translations {
 }
 endif;
 
-if ( !class_exists( 'NOOP_Translations' ) ):
+if ( ! class_exists( 'NOOP_Translations', false ) ):
 /**
  * Provides the same interface as Translations, but doesn't do anything
  */
 class NOOP_Translations {
        var $entries = array();
        var $headers = array();
-       
+
        function add_entry($entry) {
                return true;
        }
 
+       /**
+        *
+        * @param string $header
+        * @param string $value
+        */
        function set_header($header, $value) {
        }
 
-       function set_headers(&$headers) {
+       /**
+        *
+        * @param array $headers
+        */
+       function set_headers($headers) {
        }
 
+       /**
+        * @param string $header
+        * @return false
+        */
        function get_header($header) {
                return false;
        }
 
+       /**
+        * @param Translation_Entry $entry
+        * @return false
+        */
        function translate_entry(&$entry) {
                return false;
        }
 
+       /**
+        * @param string $singular
+        * @param string $context
+        */
        function translate($singular, $context=null) {
                return $singular;
        }
 
+       /**
+        *
+        * @param int $count
+        * @return bool
+        */
        function select_plural_form($count) {
                return 1 == $count? 0 : 1;
        }
 
+       /**
+        * @return int
+        */
        function get_plural_forms_count() {
                return 2;
        }
 
+       /**
+        * @param string $singular
+        * @param string $plural
+        * @param int    $count
+        * @param string $context
+        */
        function translate_plural($singular, $plural, $count, $context = null) {
                        return 1 == $count? $singular : $plural;
        }
 
+       /**
+        * @param object $other
+        */
        function merge_with(&$other) {
        }
 }