From 9db190c7e736ec8d063187d4241b59feaf7dc2d1 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Wed, 22 Jun 2011 11:28:20 +0200 Subject: update to MediaWiki 1.17.0 --- languages/classes/LanguageBe_tarask.php | 45 ++++++++++++++++++++++++++++----- 1 file changed, 39 insertions(+), 6 deletions(-) (limited to 'languages/classes/LanguageBe_tarask.php') diff --git a/languages/classes/LanguageBe_tarask.php b/languages/classes/LanguageBe_tarask.php index 96ad9467..b29d8770 100644 --- a/languages/classes/LanguageBe_tarask.php +++ b/languages/classes/LanguageBe_tarask.php @@ -4,7 +4,7 @@ * @ingroup Language * * @author Ævar Arnfjörð Bjarmason - * @link http://be.wikipedia.org/wiki/Talk:LanguageBe.php + * @link http://be-x-old.wikipedia.org/wiki/Project_talk:LanguageBe_tarask.php * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License * @license http://www.gnu.org/copyleft/fdl.html GNU Free Documentation License */ @@ -19,19 +19,19 @@ class LanguageBe_tarask extends Language { */ function convertPlural( $count, $forms ) { - if ( !count($forms) ) { return ''; } + if ( !count( $forms ) ) { return ''; } - //if no number with word, then use $form[0] for singular and $form[1] for plural or zero - if( count($forms) === 2 ) return $count == 1 ? $forms[0] : $forms[1]; + // if no number with word, then use $form[0] for singular and $form[1] for plural or zero + if ( count( $forms ) === 2 ) return $count == 1 ? $forms[0] : $forms[1]; // FIXME: CLDR defines 4 plural forms instead of 3 // http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html $forms = $this->preConvertPlural( $forms, 3 ); - if ($count > 10 && floor(($count % 100) / 10) == 1) { + if ( $count > 10 && floor( ( $count % 100 ) / 10 ) == 1 ) { return $forms[2]; } else { - switch ($count % 10) { + switch ( $count % 10 ) { case 1: return $forms[0]; case 2: case 3: @@ -40,4 +40,37 @@ class LanguageBe_tarask extends Language { } } } + + /* + * The Belarusian language uses apostrophe sign, + * but the characters used for this could be both U+0027 and U+2019. + * This function unifies apostrophe sign in search index values + * to enable seach using both apostrophe signs. + */ + function normalizeForSearch( $string ) { + wfProfileIn( __METHOD__ ); + + # MySQL fulltext index doesn't grok utf-8, so we + # need to fold cases and convert to hex + + # Replacing apostrophe sign U+2019 with U+0027 + $s = preg_replace( '/\xe2\x80\x99/', '\'', $string ); + + $s = parent::normalizeForSearch( $s ); + + wfProfileOut( __METHOD__ ); + return $s; + } + + /* + * Four-digit number should be without group commas (spaces) + * So "1 234 567", "12 345" but "1234" + */ + function commafy( $_ ) { + if ( preg_match( '/^-?\d{1,4}(\.\d*)?$/', $_ ) ) { + return $_; + } else { + return strrev( (string)preg_replace( '/(\d{3})(?=\d)(?!\d*\.)/', '$1,', strrev( $_ ) ) ); + } + } } -- cgit v1.2.2