X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=languages%2Fclasses%2FLanguageSr.php;h=55aec32ea288027f556f6756866f517533a251cd;hb=a6edf8a20c8a8f341b5f004d3f411dd13c559b1a;hp=28651b3df76a0df2d1ddd24acb0b6ae9ee5f1fe8;hpb=5bd492d51c9d3ec0c60c8c10c39b0441accd3baf;p=lhc%2Fweb%2Fwiklou.git diff --git a/languages/classes/LanguageSr.php b/languages/classes/LanguageSr.php index 28651b3df7..55aec32ea2 100644 --- a/languages/classes/LanguageSr.php +++ b/languages/classes/LanguageSr.php @@ -1,8 +1,29 @@ 'a', 'б' => 'b', 'в' => 'v', 'г' => 'g', 'д' => 'd', 'ђ' => 'đ', 'е' => 'e', 'ж' => 'ž', 'з' => 'z', 'и' => 'i', 'ј' => 'j', 'к' => 'k', 'л' => 'l', 'љ' => 'lj', 'м' => 'm', @@ -30,7 +51,7 @@ class SrConverter extends LanguageConverter { 'Х' => 'H', 'Ц' => 'C', 'Ч' => 'Č', 'Џ' => 'Dž', 'Ш' => 'Š', ); - var $mToCyrillics = array( + public $mToCyrillics = array( 'a' => 'а', 'b' => 'б', 'c' => 'ц', 'č' => 'ч', 'ć' => 'ћ', 'd' => 'д', 'dž' => 'џ', 'đ' => 'ђ', 'e' => 'е', 'f' => 'ф', 'g' => 'г', 'h' => 'х', 'i' => 'и', 'j' => 'ј', 'k' => 'к', @@ -107,21 +128,6 @@ class SrConverter extends LanguageConverter { $link = $oldlink; } - /** - * We want our external link captions to be converted in variants, - * so we return the original text instead -{$text}-, except for URLs - * - * @param $text string - * @param $noParse bool - * - * @return string - */ - 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) @@ -147,6 +153,7 @@ class SrConverter extends LanguageConverter { * @param $text string * @param $toVariant string * + * @throws MWException * @return string */ function translate( $text, $toVariant ) { @@ -160,6 +167,7 @@ class SrConverter extends LanguageConverter { $matches = preg_split( $reg, $text, -1, PREG_SPLIT_OFFSET_CAPTURE ); $m = array_shift( $matches ); + $this->loadTables(); if ( !isset( $this->mTables[$toVariant] ) ) { throw new MWException( "Broken variant table: " . implode( ',', array_keys( $this->mTables ) ) ); } @@ -224,7 +232,7 @@ class LanguageSr extends LanguageSr_ec { 'W' => 'W', 'реч' => 'W', 'reč' => 'W', 'ријеч' => 'W', 'riječ' => 'W' ); $this->mConverter = new SrConverter( $this, 'sr', $variants, $variantfallbacks, $flags ); - $wgHooks['ArticleSaveComplete'][] = $this->mConverter; + $wgHooks['PageContentSaveComplete'][] = $this->mConverter; } /** @@ -238,7 +246,10 @@ class LanguageSr extends LanguageSr_ec { return ''; } - // if no number with word, then use $form[0] for singular and $form[1] for plural or zero + // If the actual number is not mentioned in the expression, then just two forms are enough: + // singular for $count == 1 + // plural for $count != 1 + // For example, "This user belongs to {{PLURAL:$1|one group|several groups}}." if ( count( $forms ) === 2 ) { return $count == 1 ? $forms[0] : $forms[1]; }