[ Index ]

PHP Cross Reference of MediaWiki-1.24.0

title

Body

[close]

/languages/classes/ -> LanguageZh_hans.php (source)

   1  <?php
   2  /**
   3   * Simplified Chinese specific code.
   4   *
   5   * This program is free software; you can redistribute it and/or modify
   6   * it under the terms of the GNU General Public License as published by
   7   * the Free Software Foundation; either version 2 of the License, or
   8   * (at your option) any later version.
   9   *
  10   * This program is distributed in the hope that it will be useful,
  11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13   * GNU General Public License for more details.
  14   *
  15   * You should have received a copy of the GNU General Public License along
  16   * with this program; if not, write to the Free Software Foundation, Inc.,
  17   * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  18   * http://www.gnu.org/copyleft/gpl.html
  19   *
  20   * @file
  21   * @ingroup Language
  22   */
  23  
  24  /**
  25   * Simplified Chinese
  26   *
  27   * @ingroup Language
  28   */
  29  // @codingStandardsIgnoreStart Ignore class name is not in camel caps format error
  30  class LanguageZh_hans extends Language {
  31      // @codingStandardsIgnoreEnd
  32      /**
  33       * @return bool
  34       */
  35  	function hasWordBreaks() {
  36          return false;
  37      }
  38  
  39      /**
  40       * Eventually this should be a word segmentation;
  41       * for now just treat each character as a word.
  42       * @todo FIXME: Only do this for Han characters...
  43       *
  44       * @param string $string
  45       *
  46       * @return string
  47       */
  48  	function segmentByWord( $string ) {
  49          $reg = "/([\\xc0-\\xff][\\x80-\\xbf]*)/";
  50          $s = self::insertSpace( $string, $reg );
  51          return $s;
  52      }
  53  
  54      /**
  55       * @param string $s
  56       * @return string
  57       */
  58  	function normalizeForSearch( $s ) {
  59          wfProfileIn( __METHOD__ );
  60  
  61          // Double-width roman characters
  62          $s = parent::normalizeForSearch( $s );
  63          $s = trim( $s );
  64          $s = $this->segmentByWord( $s );
  65  
  66          wfProfileOut( __METHOD__ );
  67          return $s;
  68      }
  69  
  70      /**
  71       * Takes a number of seconds and turns it into a text using values such as hours and minutes.
  72       *
  73       * @since 1.21
  74       *
  75       * @param int $seconds The amount of seconds.
  76       * @param array $chosenIntervals The intervals to enable.
  77       *
  78       * @return string
  79       */
  80  	public function formatDuration( $seconds, array $chosenIntervals = array() ) {
  81          if ( empty( $chosenIntervals ) ) {
  82              $chosenIntervals = array( 'centuries', 'years', 'days', 'hours', 'minutes', 'seconds' );
  83          }
  84  
  85          $intervals = $this->getDurationIntervals( $seconds, $chosenIntervals );
  86  
  87          $segments = array();
  88  
  89          foreach ( $intervals as $intervalName => $intervalValue ) {
  90              // Messages: duration-seconds, duration-minutes, duration-hours, duration-days, duration-weeks,
  91              // duration-years, duration-decades, duration-centuries, duration-millennia
  92              $message = wfMessage( 'duration-' . $intervalName )->numParams( $intervalValue );
  93              $segments[] = $message->inLanguage( $this )->escaped();
  94          }
  95  
  96          return implode( '', $segments );
  97      }
  98  }


Generated: Fri Nov 28 14:03:12 2014 Cross-referenced by PHPXref 0.7.1