X-Git-Url: https://git.cyclocoop.org/?a=blobdiff_plain;f=languages%2Fclasses%2FLanguageGan.php;h=4fd41cf978e49fb92d1bded7681f73904b113c94;hb=f2e6488dd8f00e9549e352f91bc02bd1be50ad11;hp=ff5b76a8da0aa3552f46a26c48bc42e4f54e9fb4;hpb=5c8e60f959f58a5d233b49cfe48b8bea07300d15;p=lhc%2Fweb%2Fwiklou.git diff --git a/languages/classes/LanguageGan.php b/languages/classes/LanguageGan.php index ff5b76a8da..4fd41cf978 100644 --- a/languages/classes/LanguageGan.php +++ b/languages/classes/LanguageGan.php @@ -1,78 +1,64 @@ mDescCodeSep = ':'; $this->mDescVarSep = ';'; - parent::__construct($langobj, $maincode, + parent::__construct( $langobj, $maincode, $variants, $variantfallbacks, - $markup, $flags, - $manualLevel); + $manualLevel ); $names = array( 'gan' => '原文', 'gan-hans' => '简体', 'gan-hant' => '繁體', ); - $this->mVariantNames = array_merge($this->mVariantNames,$names); - $this->loadNamespaceTables(); - } - - function loadNamespaceTables() { - global $wgMetaNamespace; - $nsproject = $wgMetaNamespace; - $projecttable = array( - 'Wikipedia' => '维基百科', - 'Wikisource' => '维基文库', - 'Wikinews' => '维基新闻', - 'Wiktionary' => '维基词典', - 'Wikibooks' => '维基教科书', - 'Wikiquote' => '维基语录', - ); - $this->mNamespaceTables['gan-hans'] = array( - 'Media' => '媒体', - 'Special' => '特殊', - 'Talk' => '談詑', - 'User' => '用户', - 'User talk' => '用户談詑', - $nsproject - => isset($projecttable[$nsproject]) ? - $projecttable[$nsproject] : $nsproject, - $nsproject . ' talk' - => isset($projecttable[$nsproject]) ? - $projecttable[$nsproject] . '談詑' : $nsproject . '談詑', - 'File' => '文件', - 'File talk' => '文件談詑', - 'MediaWiki' => 'MediaWiki', - 'MediaWiki talk' => 'MediaWiki談詑', - 'Template' => '模板', - 'Template talk' => '模板談詑', - 'Help' => '帮助', - 'Help talk' => '帮助談詑', - 'Category' => '分类', - 'Category talk' => '分类談詑', - ); - $this->mNamespaceTables['gan-hant'] = array_merge($this->mNamespaceTables['gan-hans']); - $this->mNamespaceTables['gan-hant']['File'] = '檔案'; - $this->mNamespaceTables['gan-hant']['File talk'] = '檔案談詑'; - $this->mNamespaceTables['gan'] = array_merge($this->mNamespaceTables['gan-hans']); + $this->mVariantNames = array_merge( $this->mVariantNames, $names ); } function loadDefaultTables() { - require( dirname(__FILE__)."/../../includes/ZhConversion.php" ); + require( dirname( __FILE__ ) . "/../../includes/ZhConversion.php" ); $this->mTables = array( 'gan-hans' => new ReplacementArray( $zh2Hans ), 'gan-hant' => new ReplacementArray( $zh2Hant ), @@ -80,14 +66,24 @@ class GanConverter extends LanguageConverter { ); } - /* there shouldn't be any latin text in Chinese conversion, so no need - to mark anything. - $noParse is there for compatibility with LanguageConvert::markNoConversion + /** + * there shouldn't be any latin text in Chinese conversion, so no need + * to mark anything. + * $noParse is there for compatibility with LanguageConvert::markNoConversion + * + * @param $text string + * @param $noParse bool + * + * @return string */ - function markNoConversion($text, $noParse = false) { + function markNoConversion( $text, $noParse = false ) { return $text; } + /** + * @param $key string + * @return String + */ function convertCategoryKey( $key ) { return $this->autoConvert( $key, 'gan' ); } @@ -105,48 +101,67 @@ class LanguageGan extends LanguageZh { global $wgHooks; parent::__construct(); - $variants = array('gan','gan-hans','gan-hant'); + $variants = array( 'gan', 'gan-hans', 'gan-hant' ); $variantfallbacks = array( - 'gan' => array('gan-hans','gan-hant'), - 'gan-hans' => array('gan'), - 'gan-hant' => array('gan'), + 'gan' => array( 'gan-hans', 'gan-hant' ), + 'gan-hans' => array( 'gan' ), + 'gan-hant' => array( 'gan' ), ); - $ml=array( + $ml = array( 'gan' => 'disable', ); $this->mConverter = new GanConverter( $this, 'gan', $variants, $variantfallbacks, - array(),array(), - $ml); + array(), + $ml ); $wgHooks['ArticleSaveComplete'][] = $this->mConverter; } - # this should give much better diff info + /** + * this should give much better diff info + * + * @param $text string + * @return string + */ function segmentForDiff( $text ) { return preg_replace( "/([\\xc0-\\xff][\\x80-\\xbf]*)/e", - "' ' .\"$1\"", $text); + "' ' .\"$1\"", $text ); } + /** + * @param $text string + * @return string + */ function unsegmentForDiff( $text ) { return preg_replace( "/ ([\\xc0-\\xff][\\x80-\\xbf]*)/e", - "\"$1\"", $text); + "\"$1\"", $text ); } - // word segmentation - function stripForSearch( $string, $doStrip = true, $autoVariant = 'gan-hans' ) { - // LanguageZh::stripForSearch - return parent::stripForSearch( $string, $doStrip, $autoVariant ); + /** + * word segmentation + * + * @param $string string + * @param $autoVariant string + * @return String + */ + function normalizeForSearch( $string, $autoVariant = 'gan-hans' ) { + // LanguageZh::normalizeForSearch + return parent::normalizeForSearch( $string, $autoVariant ); } + /** + * @param $termsArray array + * @return array + */ function convertForSearchResult( $termsArray ) { $terms = implode( '|', $termsArray ); $terms = self::convertDoubleWidth( $terms ); $terms = implode( '|', $this->mConverter->autoConvertToAllVariants( $terms ) ); - $ret = array_unique( explode('|', $terms) ); + $ret = array_unique( explode( '|', $terms ) ); return $ret; } -} \ No newline at end of file +}