* $wgBlockAllowsUTEdit is now set to true by default. This allows
blocked users to edit their talk pages unless explicitly disabled
when they are being blocked.
+ * CLDRPluralRule* classes have been replaced with wikimedia/cldr-plural-rule-parser.
=== New features in 1.26 ===
* (T51506) Now action=info gives estimates of actual watchers for a page.
* Upgrade jQuery Client from v1.0.0 to v2.0.0.
* Added mediawiki/at-ease 1.0.0.
* Update QUnit from v1.17.1 to v1.18.0.
+ * Added wikimedia/cldr-plural-rule-parser 1.0.0
=== Bug fixes in 1.26 ===
* (T53283) load.php sometimes sends 304 response without full headers
** dty (डोटेली/Doteli), thanks to translators जनक राज भट्ट, बिप्लब आनन्द,
मेश सिंह बोहरा, and राम प्रसाद जोशी
** luz (لئری دوٙمینی / Southern Luri)
+** olo (Livvinкarjala / Livvi-Karelian), thanks to translators Denö, Hiloin Natoi,
+ Ilja.mos, and Mashoi7
=== Other changes in 1.26 ===
* ChangeTags::tagDescription() will return false if the interface message
'BmpHandler' => __DIR__ . '/includes/media/BMP.php',
'BrokenRedirectsPage' => __DIR__ . '/includes/specials/SpecialBrokenRedirects.php',
'BufferingStatsdDataFactory' => __DIR__ . '/includes/libs/BufferingStatsdDataFactory.php',
- 'CLDRPluralRuleConverter' => __DIR__ . '/languages/utils/CLDRPluralRuleConverter.php',
- 'CLDRPluralRuleConverterExpression' => __DIR__ . '/languages/utils/CLDRPluralRuleConverterExpression.php',
- 'CLDRPluralRuleConverterFragment' => __DIR__ . '/languages/utils/CLDRPluralRuleConverterFragment.php',
- 'CLDRPluralRuleConverterOperator' => __DIR__ . '/languages/utils/CLDRPluralRuleConverterOperator.php',
- 'CLDRPluralRuleError' => __DIR__ . '/languages/utils/CLDRPluralRuleError.php',
- 'CLDRPluralRuleEvaluator' => __DIR__ . '/languages/utils/CLDRPluralRuleEvaluator.php',
- 'CLDRPluralRuleEvaluatorRange' => __DIR__ . '/languages/utils/CLDRPluralRuleEvaluatorRange.php',
'CLIParser' => __DIR__ . '/maintenance/parse.php',
'CSSMin' => __DIR__ . '/includes/libs/CSSMin.php',
'CacheDependency' => __DIR__ . '/includes/cache/CacheDependency.php',
'CsvStatsOutput' => __DIR__ . '/maintenance/language/StatOutputs.php',
'CurlHttpRequest' => __DIR__ . '/includes/HttpFunctions.php',
'DBAccessBase' => __DIR__ . '/includes/dao/DBAccessBase.php',
- 'DBAccessError' => __DIR__ . '/includes/db/LBFactory.php',
+ 'DBAccessError' => __DIR__ . '/includes/db/loadbalancer/LBFactory.php',
'DBAccessObjectUtils' => __DIR__ . '/includes/dao/DBAccessObjectUtils.php',
'DBConnRef' => __DIR__ . '/includes/db/DBConnRef.php',
'DBConnectionError' => __DIR__ . '/includes/db/DatabaseError.php',
'JsonContentHandler' => __DIR__ . '/includes/content/JsonContentHandler.php',
'KkConverter' => __DIR__ . '/languages/classes/LanguageKk.php',
'KuConverter' => __DIR__ . '/languages/classes/LanguageKu.php',
- 'LBFactory' => __DIR__ . '/includes/db/LBFactory.php',
- 'LBFactoryFake' => __DIR__ . '/includes/db/LBFactory.php',
- 'LBFactoryMulti' => __DIR__ . '/includes/db/LBFactoryMulti.php',
- 'LBFactorySimple' => __DIR__ . '/includes/db/LBFactory.php',
- 'LBFactorySingle' => __DIR__ . '/includes/db/LBFactorySingle.php',
+ 'LBFactory' => __DIR__ . '/includes/db/loadbalancer/LBFactory.php',
+ 'LBFactoryFake' => __DIR__ . '/includes/db/loadbalancer/LBFactoryFake.php',
+ 'LBFactoryMulti' => __DIR__ . '/includes/db/loadbalancer/LBFactoryMulti.php',
+ 'LBFactorySimple' => __DIR__ . '/includes/db/loadbalancer/LBFactorySimple.php',
+ 'LBFactorySingle' => __DIR__ . '/includes/db/loadbalancer/LBFactorySingle.php',
'LCStore' => __DIR__ . '/includes/cache/LocalisationCache.php',
'LCStoreCDB' => __DIR__ . '/includes/cache/LocalisationCache.php',
'LCStoreDB' => __DIR__ . '/includes/cache/LocalisationCache.php',
'ListDuplicatedFilesPage' => __DIR__ . '/includes/specials/SpecialListDuplicatedFiles.php',
'ListVariants' => __DIR__ . '/maintenance/language/listVariants.php',
'ListredirectsPage' => __DIR__ . '/includes/specials/SpecialListredirects.php',
- 'LoadBalancer' => __DIR__ . '/includes/db/LoadBalancer.php',
- 'LoadBalancerSingle' => __DIR__ . '/includes/db/LBFactorySingle.php',
- 'LoadMonitor' => __DIR__ . '/includes/db/LoadMonitor.php',
- 'LoadMonitorMySQL' => __DIR__ . '/includes/db/LoadMonitorMySQL.php',
- 'LoadMonitorNull' => __DIR__ . '/includes/db/LoadMonitor.php',
+ 'LoadBalancer' => __DIR__ . '/includes/db/loadbalancer/LoadBalancer.php',
+ 'LoadBalancerSingle' => __DIR__ . '/includes/db/loadbalancer/LBFactorySingle.php',
+ 'LoadMonitor' => __DIR__ . '/includes/db/loadbalancer/LoadMonitor.php',
+ 'LoadMonitorMySQL' => __DIR__ . '/includes/db/loadbalancer/LoadMonitorMySQL.php',
+ 'LoadMonitorNull' => __DIR__ . '/includes/db/loadbalancer/LoadMonitor.php',
'LocalFile' => __DIR__ . '/includes/filerepo/file/LocalFile.php',
'LocalFileDeleteBatch' => __DIR__ . '/includes/filerepo/file/LocalFile.php',
'LocalFileMoveBatch' => __DIR__ . '/includes/filerepo/file/LocalFile.php',
"cssjanus/cssjanus": "1.1.1",
"ext-iconv": "*",
"liuggio/statsd-php-client": "1.0.16",
- "oyejorge/less.php": "1.7.0.5",
+ "oyejorge/less.php": "1.7.0.8",
"mediawiki/at-ease": "1.1.0",
"oojs/oojs-ui": "0.12.9",
"php": ">=5.3.3",
"psr/log": "1.0.0",
"wikimedia/assert": "0.2.2",
"wikimedia/cdb": "1.3.0",
+ "wikimedia/cldr-plural-rule-parser": "1.0.0",
"wikimedia/composer-merge-plugin": "1.2.1",
"wikimedia/ip-set": "1.0.1",
"wikimedia/utfnormal": "1.0.3",
mb_internal_encoding( 'UTF-8' );
}
+ use CLDRPluralRuleParser\Evaluator;
+
/**
* Internationalisation code
* @ingroup Language
# Even with //IGNORE iconv can whine about illegal characters in
# *input* string. We just ignore those too.
# REF: http://bugs.php.net/bug.php?id=37166
- # REF: https://bugzilla.wikimedia.org/show_bug.cgi?id=16885
+ # REF: https://phabricator.wikimedia.org/T18885
MediaWiki\suppressWarnings();
$text = iconv( $in, $out . '//IGNORE', $string );
MediaWiki\restoreWarnings();
*/
public function getPluralRuleIndexNumber( $number ) {
$pluralRules = $this->getCompiledPluralRules();
- $form = CLDRPluralRuleEvaluator::evaluateCompiled( $number, $pluralRules );
+ $form = Evaluator::evaluateCompiled( $number, $pluralRules );
return $form;
}