*/
require_once __DIR__ . '/../LanguageConverter.php';
-require_once __DIR__ . '/LanguageSr_ec.php';
-require_once __DIR__ . '/LanguageSr_el.php';
/**
* There are two levels of conversion for Serbian: the script level
* update: delete all rule parsing because it's not used
* currently, and just produces a couple of bugs
*
- * @param $rule string
- * @param $flags array
+ * @param string $rule
+ * @param array $flags
* @return array
*/
function parseManualRule( $rule, $flags = array() ) {
* names as they were
* - do not try to find variants for usernames
*
- * @param $link string
- * @param $nt Title
- * @param $ignoreOtherCond bool
+ * @param string &$link
+ * @param Title &$nt
+ * @param bool $ignoreOtherCond
*/
function findVariantLink( &$link, &$nt, $ignoreOtherCond = false ) {
// check for user namespace
}
}
- /**
- * An ugly function wrapper for parsing Image titles
- * (to prevent image name conversion)
- *
- * @param $text string
- * @param $toVariant bool
- *
- * @return string
- */
- function autoConvert( $text, $toVariant = false ) {
- global $wgTitle;
- if ( is_object( $wgTitle ) && $wgTitle->getNamespace() == NS_FILE ) {
- $imagename = $wgTitle->getNsText();
- if ( preg_match( "/^$imagename:/", $text ) ) {
- return $text;
- }
- }
- return parent::autoConvert( $text, $toVariant );
- }
-
/**
* It translates text into variant, specials:
* - ommiting roman numbers
*
- * @param $text string
- * @param $toVariant string
+ * @param string $text
+ * @param string $toVariant
*
* @throws MWException
* @return string
// regexp for roman numbers
$roman = 'M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})';
- $reg = '/^' . $roman . '$|^' . $roman . $breaks . '|' . $breaks . $roman . '$|' . $breaks . $roman . $breaks . '/';
+ $reg = '/^' . $roman . '$|^' . $roman . $breaks . '|' . $breaks
+ . $roman . '$|' . $breaks . $roman . $breaks . '/';
$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 ) ) );
+ throw new MWException( "Broken variant table: "
+ . implode( ',', array_keys( $this->mTables ) ) );
}
$ret = $this->mTables[$toVariant]->replace( $m[0] );
$mstart = $m[1] + strlen( $m[0] );
* Guess if a text is written in Cyrillic or Latin.
* Overrides LanguageConverter::guessVariant()
*
- * @param string $text The text to be checked
- * @param string $variant Language code of the variant to be checked for
- * @return bool true if $text appears to be written in $variant
+ * @param string $text The text to be checked
+ * @param string $variant Language code of the variant to be checked for
+ * @return bool True if $text appears to be written in $variant
*
* @author Nikola Smolenski <smolensk@eunet.rs>
* @since 1.19
*
* @ingroup Language
*/
-class LanguageSr extends LanguageSr_ec {
+class LanguageSr extends Language {
function __construct() {
global $wgHooks;
$this->mConverter = new SrConverter( $this, 'sr', $variants, $variantfallbacks, $flags );
$wgHooks['PageContentSaveComplete'][] = $this->mConverter;
}
-
- /**
- * @param $count int
- * @param $forms array
- *
- * @return string
- */
- function convertPlural( $count, $forms ) {
- $forms = $this->handleExplicitPluralForms( $count, $forms );
- if ( is_string( $forms ) ) {
- return $forms;
- }
- if ( !count( $forms ) ) {
- return '';
- }
-
- // 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];
- }
-
- // @todo FIXME: CLDR defines 4 plural forms. Form with decimals missing.
- // See http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html#ru
- $forms = $this->preConvertPlural( $forms, 3 );
-
- if ( $count > 10 && floor( ( $count % 100 ) / 10 ) == 1 ) {
- return $forms[2];
- } else {
- switch ( $count % 10 ) {
- case 1: return $forms[0];
- case 2:
- case 3:
- case 4: return $forms[1];
- default: return $forms[2];
- }
- }
- }
}