Wikipedia:用戶介面翻譯/LanguageZh.php

各用戶在編輯此原始碼時的注意事項:

  1. 位於<pre></pre>之外的文字會被忽略;
  2. 請以英文版的原始碼翻譯,以確保翻譯無誤;
  3. 建議對一小部份的原始碼作出修改,以確保原始碼的語法正確無誤;
  4. 擴展部件信息只會節錄英文同中文各版部份,其它的語言將不會列示。
  5. 根據MediaWiki軟件的讀我檔案,除非有特別的指明,否則以下所有的文字皆會以GPL v2 或以上版本發佈。

<?php
/**
  * @addtogroup Language
  */
require_once( dirname(__FILE__).'/../LanguageConverter.php' );
require_once( dirname(__FILE__).'/LanguageZh_hans.php' );

class ZhConverter extends LanguageConverter {
        function loadDefaultTables() {
                require( dirname(__FILE__)."http://zh.wikipedia.org/../../includes/ZhConversion.php" );
                $this->mTables = array(
                        'zh-cn' => new ReplacementArray( $zh2CN ),
                        'zh-tw' => new ReplacementArray( $zh2TW ),
                        'zh-sg' => new ReplacementArray( array_merge($zh2CN, $zh2SG) ),
                        'zh-hk' => new ReplacementArray( array_merge($zh2TW, $zh2HK) ),
                        'zh' => new ReplacementArray
                );
        }

        function postLoadTables() {
                $this->mTables['zh-sg']->merge( $this->mTables['zh-cn'] );
                $this->mTables['zh-hk']->merge( $this->mTables['zh-tw'] );
    }

        /* there shouldn't be any latin text in Chinese conversion, so no need
           to mark anything.
           $noParse is there for compatibility with LanguageConvert::markNoConversion
    */
        function markNoConversion($text, $noParse = false) {
                return $text;
        }

        function convertCategoryKey( $key ) {
                return $this->autoConvert( $key, 'zh-cn' );
        }
}


/* class that handles both Traditional and Simplified Chinese
   right now it only distinguish zh_cn, zh_tw, zh_sg and zh_hk.
*/
class LanguageZh extends LanguageZh_hans {

        function __construct() {
                global $wgHooks;
                parent::__construct();
                $this->mConverter = new ZhConverter($this, 'zh',
                                            array('zh', 'zh-cn', 'zh-tw', 'zh-sg', 'zh-hk'),
                                                                                        array('zh'=>'zh-cn',
                                                                                                  'zh-cn'=>'zh-sg',
                                                                                                  'zh-sg'=>'zh-cn',
                                                                                                  'zh-tw'=>'zh-hk',
                                                                                                  'zh-hk'=>'zh-tw'));
                $wgHooks['ArticleSaveComplete'][] = $this->mConverter;
        }


        # this should give much better diff info
        function segmentForDiff( $text ) {
                return preg_replace(
                        "http://zh.wikipedia.org/([\\xc0-\\xff][\\x80-\\xbf]*)/e",
                        "' ' .\"$1\"", $text);
        }

        function unsegmentForDiff( $text ) {
                return preg_replace(
                        "http://zh.wikipedia.org/ ([\\xc0-\\xff][\\x80-\\xbf]*)/e",
                        "\"$1\"", $text);
        }

        // word segmentation
        function stripForSearch( $string ) {
                $fname="LanguageZh::stripForSearch";
                wfProfileIn( $fname );

                // eventually this should be a word segmentation
                // for now just treat each character as a word
                $t = preg_replace(
                                "http://zh.wikipedia.org/([\\xc0-\\xff][\\x80-\\xbf]*)/e",
                                "' ' .\"$1\"", $string);

        //always convert to zh-cn before indexing. it should be
                //better to use zh-cn for search, since conversion from
                //Traditional to Simplified is less ambiguous than the
                //other way around

                $t = $this->mConverter->autoConvert($t, 'zh-cn');
                $t = parent::stripForSearch( $t );
                wfProfileOut( $fname );
                return $t;

        }

        function convertForSearchResult( $termsArray ) {
                $terms = implode( '|', $termsArray );
                $terms = implode( '|', $this->mConverter->autoConvertToAllVariants( $terms ) );
                $ret = array_unique( explode('|', $terms) );
                return $ret;
        }

}


Teledyski Książki wizualizacje kierownik budowy Projekty garaży nocleg wrocław Wzory cv sennik polskie darmowe programy Bezsenność forum Daewoo Hosting www api sms Pozycjonowanie Stron WWW Specjalizacje lekarskie kick koparki Bułgaria wczasy Karaoke tani kredyt hipoteczny COOLsurf