summaryrefslogtreecommitdiff
path: root/languages/classes/LanguageZh.php
diff options
context:
space:
mode:
Diffstat (limited to 'languages/classes/LanguageZh.php')
-rw-r--r--languages/classes/LanguageZh.php56
1 files changed, 33 insertions, 23 deletions
diff --git a/languages/classes/LanguageZh.php b/languages/classes/LanguageZh.php
index bcdf7dd8..337783a6 100644
--- a/languages/classes/LanguageZh.php
+++ b/languages/classes/LanguageZh.php
@@ -3,24 +3,28 @@
* @addtogroup Language
*/
require_once( dirname(__FILE__).'/../LanguageConverter.php' );
-require_once( dirname(__FILE__).'/LanguageZh_cn.php' );
+require_once( dirname(__FILE__).'/LanguageZh_hans.php' );
class ZhConverter extends LanguageConverter {
function loadDefaultTables() {
require( dirname(__FILE__)."/../../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
+ 'zh-hans' => new ReplacementArray( $zh2Hans ),
+ 'zh-hant' => new ReplacementArray( $zh2Hant ),
+ 'zh-cn' => new ReplacementArray( array_merge($zh2Hans, $zh2CN) ),
+ 'zh-tw' => new ReplacementArray( array_merge($zh2Hant, $zh2TW) ),
+ 'zh-sg' => new ReplacementArray( array_merge($zh2Hans, $zh2SG) ),
+ 'zh-hk' => new ReplacementArray( array_merge($zh2Hant, $zh2HK) ),
+ 'zh' => new ReplacementArray
);
}
function postLoadTables() {
- $this->mTables['zh-sg']->merge( $this->mTables['zh-cn'] );
- $this->mTables['zh-hk']->merge( $this->mTables['zh-tw'] );
- }
+ $this->mTables['zh-cn']->merge( $this->mTables['zh-hans'] );
+ $this->mTables['zh-tw']->merge( $this->mTables['zh-hant'] );
+ $this->mTables['zh-sg']->merge( $this->mTables['zh-hans'] );
+ $this->mTables['zh-hk']->merge( $this->mTables['zh-hant'] );
+ }
/* there shouldn't be any latin text in Chinese conversion, so no need
to mark anything.
@@ -31,26 +35,33 @@ class ZhConverter extends LanguageConverter {
}
function convertCategoryKey( $key ) {
- return $this->autoConvert( $key, 'zh-cn' );
+ return $this->autoConvert( $key, 'zh' );
}
}
/* class that handles both Traditional and Simplified Chinese
- right now it only distinguish zh_cn, zh_tw, zh_sg and zh_hk.
+ right now it only distinguish zh_hans, zh_hant, zh_cn, zh_tw, zh_sg and zh_hk.
*/
-class LanguageZh extends LanguageZh_cn {
+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'));
+
+ $variants = array('zh', 'zh-hans', 'zh-hant', 'zh-cn', 'zh-tw', 'zh-sg', 'zh-hk');
+ $variantfallbacks = array(
+ 'zh' => 'zh-hans',
+ 'zh-hans' => 'zh',
+ 'zh-hant' => 'zh',
+ 'zh-cn' => 'zh-hans',
+ 'zh-sg' => 'zh-hans',
+ 'zh-tw' => 'zh-hant',
+ 'zh-hk' => 'zh-hant',
+ );
+
+ $this->mConverter = new ZhConverter( $this, 'zh', $variants, $variantfallbacks );
+
$wgHooks['ArticleSaveComplete'][] = $this->mConverter;
}
@@ -79,12 +90,12 @@ class LanguageZh extends LanguageZh_cn {
"/([\\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
+ //always convert to zh-hans before indexing. it should be
+ //better to use zh-hans for search, since conversion from
//Traditional to Simplified is less ambiguous than the
//other way around
- $t = $this->mConverter->autoConvert($t, 'zh-cn');
+ $t = $this->mConverter->autoConvert($t, 'zh-hans');
$t = parent::stripForSearch( $t );
wfProfileOut( $fname );
return $t;
@@ -99,4 +110,3 @@ class LanguageZh extends LanguageZh_cn {
}
}
-