Удзельнік:Alexander Gouk/Канвертар/files/LanguageBe.php: розьніца паміж вэрсіямі

Змесціва выдалена Змесціва дададзена
д Новая старонка: <?php →‎* * @package MediaWiki * @subpackage Language: // Language Conversion require_once( dirname(__FILE__).'/../LanguageConverter.php' ); require_once( dirn...
(Розьніцы няма)

Вэрсія ад 07:33, 19 сакавіка 2007

<?php /**

 * @package MediaWiki
 * @subpackage Language
 */

// Language Conversion

require_once( dirname(__FILE__).'/../LanguageConverter.php' ); require_once( dirname(__FILE__).'/LanguageBe_of.php' ); require_once( dirname(__FILE__).'/LanguageBe_tr.php' );

class BeConverter extends LanguageConverter {

       var $mToAlternative = array(
               'іласоф'  => 'ілязоф',
               'Лондан' => 'Лёндан',
               'сць'  => 'сьць',
               'сля'  => 'сьля',
               'ненн'  => 'неньн',
       );
       var $mToOfficial = array(
               'ілязоф' => 'іласоф',
               'Лёндан' => 'Лондан',
               'сьць'  => 'сць',
               'сьля'   => 'сля',
               'еньн'  => 'енн',
               'аньн'  => 'анн',
               'менск' => 'мінск',
               'сьвя'  => 'свя',
               'Сьвя'  => 'Свя',
       );

function loadDefaultTables() { $this->mTables = array( 'be-of' => new ReplacementArray( $this->mToOfficial ), 'be-tr' => new ReplacementArray( $this->mToAlternative), 'be' => new ReplacementArray( $this->mToOfficial ), ); }

/* rules should be defined as -{афіцыйная | тарашкевіца-} -or- -{code:text | code:text | ...}- update: delete all rule parsing because it's not used currently, and just produces a couple of bugs */ function parseManualRule($rule, $flags=array()) { if(in_array('T',$flags)){ return parent::parseManualRule($rule, $flags); }

// otherwise ignore all formatting foreach($this->mVariants as $v) { $carray[$v] = $rule; }

return $carray; }

// Do not convert content on talk pages function parserConvert( $text, &$parser ){ if(is_object($parser->mTitle) && $parser->mTitle->isTalkPage()) $this->mDoContentConvert=false; else $this->mDoContentConvert=true;

return parent::parserConvert($text, $parser ); }

/* * A function wrapper: * - if there is no selected variant, leave the link * names as they were * - do not try to find variants for usernames */ function findVariantLink( &$link, &$nt ) { // check for user namespace if(is_object($nt)){ $ns = $nt->getNamespace(); if($ns==NS_USER || $ns==NS_USER_TALK) return; }

$oldlink=$link; parent::findVariantLink($link,$nt); if($this->getPreferredVariant()==$this->mMainLanguageCode) $link=$oldlink; }

/* * We want our external link captions to be converted in variants, * so we return the original text instead -{$text}-, except for URLs */ function markNoConversion($text, $noParse=false) { if($noParse || preg_match("/^https?:\/\/|ftp:\/\/|irc:\/\//",$text)) return parent::markNoConversion($text); return $text; }

/* * An ugly function wrapper for parsing Image titles * (to prevent image name conversion) */ function autoConvert($text, $toVariant=false) { global $wgTitle; if(is_object($wgTitle) && $wgTitle->getNameSpace()==NS_IMAGE){ $imagename = $wgTitle->getNsText(); if(preg_match("/^$imagename:/",$text)) return $text; } return parent::autoConvert($text,$toVariant); }


}

class LanguageBe extends LanguageBe_of { function __construct() { global $wgHooks;

parent::__construct();

// load Variants: $variants = array('be-of', 'be-tr'); $variantfallbacks = array( 'be' => 'be-of', 'be-of' => 'be', 'be-tr' => 'be', );

$marker = array();//don't mess with these, leave them as they are $flags = array( 'S' => 'S', 'пісьмо' => 'S', 'пісьмо' => 'S', 'W' => 'W', 'в. мова' => 'W', 'в. мова' => 'W', 'в. мова' => 'W', 'в. мова' => 'W' ); $this->mConverter = new BeConverter($this, 'be', $variants, $variantfallbacks, $marker, $flags); $wgHooks['ArticleSaveComplete'][] = $this->mConverter; } } ?>