summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Schmitz <pierre@archlinux.de>2015-08-16 08:22:05 +0200
committerPierre Schmitz <pierre@archlinux.de>2015-08-16 08:22:05 +0200
commit1a365e77dfb8825136626202b1df462731b42060 (patch)
tree1dc4468eaabf070e051e790a9e67a9a9a2c63d99
parenta72fd280f7acb4d2a1ba579a0f1b2b2ae8958530 (diff)
Update to MediaWiki 1.25.2
-rw-r--r--RELEASE-NOTES-1.2530
-rw-r--r--docs/hooks.txt5
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/ApiFancyCaptchaReload.php (renamed from extensions/ConfirmEdit/ApiFancyCaptchaReload.php)0
-rw-r--r--extensions/ConfirmEdit/FancyCaptcha/extension.json4
-rw-r--r--extensions/ConfirmEdit/ReCaptcha/extension.json2
-rw-r--r--extensions/ConfirmEdit/includes/ConfirmEditHooks.php27
-rw-r--r--extensions/SyntaxHighlight_GeSHi/geshi/contrib/aliased.php122
-rw-r--r--extensions/SyntaxHighlight_GeSHi/geshi/contrib/cssgen.php464
-rw-r--r--extensions/SyntaxHighlight_GeSHi/geshi/contrib/cssgen2.php59
-rw-r--r--extensions/SyntaxHighlight_GeSHi/geshi/contrib/example.php217
-rw-r--r--extensions/SyntaxHighlight_GeSHi/geshi/contrib/langcheck.php778
-rw-r--r--extensions/SyntaxHighlight_GeSHi/geshi/contrib/langwiz.php1153
-rw-r--r--includes/DefaultSettings.php2
-rw-r--r--includes/GlobalFunctions.php2
-rw-r--r--includes/Setup.php4
-rw-r--r--includes/User.php37
-rw-r--r--includes/api/ApiBase.php2
-rw-r--r--includes/api/ApiOpenSearch.php14
-rw-r--r--includes/api/ApiQueryImageInfo.php5
-rw-r--r--includes/exception/MWExceptionHandler.php7
-rw-r--r--includes/filerepo/ForeignAPIRepo.php1
-rw-r--r--includes/installer/DatabaseUpdater.php23
-rw-r--r--includes/registration/ExtensionProcessor.php1
-rw-r--r--includes/registration/ExtensionRegistry.php20
-rw-r--r--includes/specials/SpecialDeletedContributions.php2
-rw-r--r--includes/specials/SpecialVersion.php4
-rw-r--r--languages/i18n/af.json2
-rw-r--r--languages/i18n/am.json2
-rw-r--r--languages/i18n/an.json2
-rw-r--r--languages/i18n/ar.json2
-rw-r--r--languages/i18n/arc.json2
-rw-r--r--languages/i18n/arn.json2
-rw-r--r--languages/i18n/ary.json2
-rw-r--r--languages/i18n/arz.json2
-rw-r--r--languages/i18n/as.json2
-rw-r--r--languages/i18n/ast.json2
-rw-r--r--languages/i18n/avk.json2
-rw-r--r--languages/i18n/awa.json2
-rw-r--r--languages/i18n/az.json2
-rw-r--r--languages/i18n/azb.json2
-rw-r--r--languages/i18n/ba.json2
-rw-r--r--languages/i18n/bar.json2
-rw-r--r--languages/i18n/bcc.json2
-rw-r--r--languages/i18n/bcl.json2
-rw-r--r--languages/i18n/be-tarask.json2
-rw-r--r--languages/i18n/be.json2
-rw-r--r--languages/i18n/bg.json2
-rw-r--r--languages/i18n/bgn.json2
-rw-r--r--languages/i18n/bjn.json2
-rw-r--r--languages/i18n/bn.json2
-rw-r--r--languages/i18n/br.json2
-rw-r--r--languages/i18n/bs.json2
-rw-r--r--languages/i18n/ca.json2
-rw-r--r--languages/i18n/ce.json2
-rw-r--r--languages/i18n/ckb.json2
-rw-r--r--languages/i18n/crh-cyrl.json2
-rw-r--r--languages/i18n/crh-latn.json2
-rw-r--r--languages/i18n/cs.json2
-rw-r--r--languages/i18n/cv.json2
-rw-r--r--languages/i18n/cy.json2
-rw-r--r--languages/i18n/da.json2
-rw-r--r--languages/i18n/de.json2
-rw-r--r--languages/i18n/diq.json2
-rw-r--r--languages/i18n/dsb.json2
-rw-r--r--languages/i18n/el.json2
-rw-r--r--languages/i18n/en.json2
-rw-r--r--languages/i18n/eo.json2
-rw-r--r--languages/i18n/es.json2
-rw-r--r--languages/i18n/et.json2
-rw-r--r--languages/i18n/eu.json2
-rw-r--r--languages/i18n/ext.json2
-rw-r--r--languages/i18n/fa.json2
-rw-r--r--languages/i18n/fi.json2
-rw-r--r--languages/i18n/fo.json2
-rw-r--r--languages/i18n/fr.json2
-rw-r--r--languages/i18n/frp.json2
-rw-r--r--languages/i18n/frr.json2
-rw-r--r--languages/i18n/fur.json2
-rw-r--r--languages/i18n/fy.json2
-rw-r--r--languages/i18n/ga.json2
-rw-r--r--languages/i18n/gan-hans.json2
-rw-r--r--languages/i18n/gan-hant.json2
-rw-r--r--languages/i18n/gd.json2
-rw-r--r--languages/i18n/gl.json2
-rw-r--r--languages/i18n/gn.json2
-rw-r--r--languages/i18n/grc.json2
-rw-r--r--languages/i18n/gsw.json2
-rw-r--r--languages/i18n/gu.json2
-rw-r--r--languages/i18n/hak.json2
-rw-r--r--languages/i18n/he.json2
-rw-r--r--languages/i18n/hi.json2
-rw-r--r--languages/i18n/hif-latn.json2
-rw-r--r--languages/i18n/hr.json2
-rw-r--r--languages/i18n/hrx.json2
-rw-r--r--languages/i18n/hsb.json2
-rw-r--r--languages/i18n/hu.json2
-rw-r--r--languages/i18n/hy.json2
-rw-r--r--languages/i18n/ia.json2
-rw-r--r--languages/i18n/id.json2
-rw-r--r--languages/i18n/ig.json2
-rw-r--r--languages/i18n/ilo.json2
-rw-r--r--languages/i18n/io.json2
-rw-r--r--languages/i18n/is.json2
-rw-r--r--languages/i18n/it.json2
-rw-r--r--languages/i18n/ja.json2
-rw-r--r--languages/i18n/jv.json2
-rw-r--r--languages/i18n/ka.json2
-rw-r--r--languages/i18n/kaa.json2
-rw-r--r--languages/i18n/kab.json2
-rw-r--r--languages/i18n/kiu.json2
-rw-r--r--languages/i18n/kk-arab.json2
-rw-r--r--languages/i18n/kk-cyrl.json2
-rw-r--r--languages/i18n/kk-latn.json2
-rw-r--r--languages/i18n/km.json2
-rw-r--r--languages/i18n/kn.json2
-rw-r--r--languages/i18n/ko.json2
-rw-r--r--languages/i18n/krc.json2
-rw-r--r--languages/i18n/ksh.json2
-rw-r--r--languages/i18n/ku-latn.json2
-rw-r--r--languages/i18n/la.json2
-rw-r--r--languages/i18n/lb.json2
-rw-r--r--languages/i18n/li.json2
-rw-r--r--languages/i18n/lmo.json2
-rw-r--r--languages/i18n/loz.json2
-rw-r--r--languages/i18n/lrc.json2
-rw-r--r--languages/i18n/lt.json2
-rw-r--r--languages/i18n/lus.json2
-rw-r--r--languages/i18n/lv.json2
-rw-r--r--languages/i18n/lzh.json2
-rw-r--r--languages/i18n/mai.json2
-rw-r--r--languages/i18n/map-bms.json2
-rw-r--r--languages/i18n/mdf.json2
-rw-r--r--languages/i18n/mg.json2
-rw-r--r--languages/i18n/mhr.json2
-rw-r--r--languages/i18n/min.json2
-rw-r--r--languages/i18n/mk.json2
-rw-r--r--languages/i18n/ml.json2
-rw-r--r--languages/i18n/mn.json2
-rw-r--r--languages/i18n/mr.json2
-rw-r--r--languages/i18n/ms.json2
-rw-r--r--languages/i18n/mt.json2
-rw-r--r--languages/i18n/myv.json2
-rw-r--r--languages/i18n/nap.json2
-rw-r--r--languages/i18n/nb.json2
-rw-r--r--languages/i18n/nds-nl.json2
-rw-r--r--languages/i18n/nds.json2
-rw-r--r--languages/i18n/ne.json2
-rw-r--r--languages/i18n/nl.json2
-rw-r--r--languages/i18n/nn.json2
-rw-r--r--languages/i18n/oc.json2
-rw-r--r--languages/i18n/or.json2
-rw-r--r--languages/i18n/os.json2
-rw-r--r--languages/i18n/pa.json2
-rw-r--r--languages/i18n/pam.json2
-rw-r--r--languages/i18n/pl.json2
-rw-r--r--languages/i18n/pms.json2
-rw-r--r--languages/i18n/pnb.json2
-rw-r--r--languages/i18n/prg.json2
-rw-r--r--languages/i18n/ps.json2
-rw-r--r--languages/i18n/pt-br.json2
-rw-r--r--languages/i18n/pt.json2
-rw-r--r--languages/i18n/qqq.json1
-rw-r--r--languages/i18n/qu.json2
-rw-r--r--languages/i18n/rm.json2
-rw-r--r--languages/i18n/ro.json2
-rw-r--r--languages/i18n/roa-tara.json2
-rw-r--r--languages/i18n/ru.json2
-rw-r--r--languages/i18n/rue.json2
-rw-r--r--languages/i18n/sa.json2
-rw-r--r--languages/i18n/sah.json2
-rw-r--r--languages/i18n/sc.json2
-rw-r--r--languages/i18n/scn.json2
-rw-r--r--languages/i18n/sco.json2
-rw-r--r--languages/i18n/sdc.json2
-rw-r--r--languages/i18n/se.json2
-rw-r--r--languages/i18n/sei.json2
-rw-r--r--languages/i18n/ses.json2
-rw-r--r--languages/i18n/sgs.json2
-rw-r--r--languages/i18n/sh.json2
-rw-r--r--languages/i18n/shi.json2
-rw-r--r--languages/i18n/si.json2
-rw-r--r--languages/i18n/sk.json2
-rw-r--r--languages/i18n/sl.json2
-rw-r--r--languages/i18n/sli.json2
-rw-r--r--languages/i18n/sma.json2
-rw-r--r--languages/i18n/sq.json2
-rw-r--r--languages/i18n/sr-ec.json2
-rw-r--r--languages/i18n/sr-el.json2
-rw-r--r--languages/i18n/srn.json2
-rw-r--r--languages/i18n/stq.json2
-rw-r--r--languages/i18n/su.json2
-rw-r--r--languages/i18n/sv.json2
-rw-r--r--languages/i18n/sw.json2
-rw-r--r--languages/i18n/szl.json2
-rw-r--r--languages/i18n/ta.json2
-rw-r--r--languages/i18n/te.json2
-rw-r--r--languages/i18n/tg-cyrl.json2
-rw-r--r--languages/i18n/tg-latn.json2
-rw-r--r--languages/i18n/th.json2
-rw-r--r--languages/i18n/tk.json2
-rw-r--r--languages/i18n/tl.json2
-rw-r--r--languages/i18n/tr.json2
-rw-r--r--languages/i18n/tyv.json2
-rw-r--r--languages/i18n/tzm.json2
-rw-r--r--languages/i18n/ug-arab.json2
-rw-r--r--languages/i18n/uk.json2
-rw-r--r--languages/i18n/vec.json2
-rw-r--r--languages/i18n/vep.json2
-rw-r--r--languages/i18n/vi.json2
-rw-r--r--languages/i18n/vo.json2
-rw-r--r--languages/i18n/vro.json2
-rw-r--r--languages/i18n/wa.json2
-rw-r--r--languages/i18n/war.json2
-rw-r--r--languages/i18n/wo.json2
-rw-r--r--languages/i18n/yi.json2
-rw-r--r--languages/i18n/yo.json2
-rw-r--r--languages/i18n/yue.json2
-rw-r--r--languages/i18n/zh-hans.json2
-rw-r--r--languages/i18n/zh-hant.json2
-rw-r--r--languages/i18n/zh-tw.json1
-rw-r--r--languages/messages/MessagesAce.php2
-rw-r--r--languages/messages/MessagesAf.php2
-rw-r--r--languages/messages/MessagesAln.php2
-rw-r--r--languages/messages/MessagesAn.php2
-rw-r--r--languages/messages/MessagesAr.php2
-rw-r--r--languages/messages/MessagesArc.php2
-rw-r--r--languages/messages/MessagesArz.php2
-rw-r--r--languages/messages/MessagesAs.php2
-rw-r--r--languages/messages/MessagesAv.php2
-rw-r--r--languages/messages/MessagesAvk.php2
-rw-r--r--languages/messages/MessagesBa.php2
-rw-r--r--languages/messages/MessagesBcc.php2
-rw-r--r--languages/messages/MessagesBe_tarask.php2
-rw-r--r--languages/messages/MessagesBg.php2
-rw-r--r--languages/messages/MessagesBjn.php2
-rw-r--r--languages/messages/MessagesBr.php2
-rw-r--r--languages/messages/MessagesBs.php2
-rw-r--r--languages/messages/MessagesBxr.php2
-rw-r--r--languages/messages/MessagesCa.php2
-rw-r--r--languages/messages/MessagesCdo.php2
-rw-r--r--languages/messages/MessagesCe.php2
-rw-r--r--languages/messages/MessagesCkb.php2
-rw-r--r--languages/messages/MessagesCs.php2
-rw-r--r--languages/messages/MessagesDa.php2
-rw-r--r--languages/messages/MessagesDe.php2
-rw-r--r--languages/messages/MessagesDiq.php2
-rw-r--r--languages/messages/MessagesDsb.php2
-rw-r--r--languages/messages/MessagesEl.php2
-rw-r--r--languages/messages/MessagesEn.php1
-rw-r--r--languages/messages/MessagesEo.php2
-rw-r--r--languages/messages/MessagesEs.php2
-rw-r--r--languages/messages/MessagesEt.php2
-rw-r--r--languages/messages/MessagesFa.php2
-rw-r--r--languages/messages/MessagesFi.php2
-rw-r--r--languages/messages/MessagesFr.php2
-rw-r--r--languages/messages/MessagesFrp.php2
-rw-r--r--languages/messages/MessagesFur.php2
-rw-r--r--languages/messages/MessagesFy.php2
-rw-r--r--languages/messages/MessagesGag.php2
-rw-r--r--languages/messages/MessagesGl.php2
-rw-r--r--languages/messages/MessagesGsw.php2
-rw-r--r--languages/messages/MessagesGu.php2
-rw-r--r--languages/messages/MessagesHe.php2
-rw-r--r--languages/messages/MessagesHr.php2
-rw-r--r--languages/messages/MessagesHsb.php2
-rw-r--r--languages/messages/MessagesHt.php2
-rw-r--r--languages/messages/MessagesHu.php2
-rw-r--r--languages/messages/MessagesHy.php2
-rw-r--r--languages/messages/MessagesIa.php2
-rw-r--r--languages/messages/MessagesId.php2
-rw-r--r--languages/messages/MessagesIe.php2
-rw-r--r--languages/messages/MessagesIs.php2
-rw-r--r--languages/messages/MessagesIt.php2
-rw-r--r--languages/messages/MessagesJa.php2
-rw-r--r--languages/messages/MessagesKa.php2
-rw-r--r--languages/messages/MessagesKaa.php2
-rw-r--r--languages/messages/MessagesKk_arab.php2
-rw-r--r--languages/messages/MessagesKk_cyrl.php2
-rw-r--r--languages/messages/MessagesKk_latn.php2
-rw-r--r--languages/messages/MessagesKm.php2
-rw-r--r--languages/messages/MessagesKo.php2
-rw-r--r--languages/messages/MessagesKrc.php2
-rw-r--r--languages/messages/MessagesKsh.php2
-rw-r--r--languages/messages/MessagesKw.php2
-rw-r--r--languages/messages/MessagesLa.php2
-rw-r--r--languages/messages/MessagesLad.php2
-rw-r--r--languages/messages/MessagesLb.php2
-rw-r--r--languages/messages/MessagesLi.php2
-rw-r--r--languages/messages/MessagesLij.php2
-rw-r--r--languages/messages/MessagesLrc.php2
-rw-r--r--languages/messages/MessagesLt.php2
-rw-r--r--languages/messages/MessagesMdf.php2
-rw-r--r--languages/messages/MessagesMg.php2
-rw-r--r--languages/messages/MessagesMin.php2
-rw-r--r--languages/messages/MessagesMk.php2
-rw-r--r--languages/messages/MessagesMl.php2
-rw-r--r--languages/messages/MessagesMr.php2
-rw-r--r--languages/messages/MessagesMs.php2
-rw-r--r--languages/messages/MessagesMt.php2
-rw-r--r--languages/messages/MessagesMyv.php2
-rw-r--r--languages/messages/MessagesNb.php2
-rw-r--r--languages/messages/MessagesNds.php2
-rw-r--r--languages/messages/MessagesNds_nl.php2
-rw-r--r--languages/messages/MessagesNl.php2
-rw-r--r--languages/messages/MessagesNn.php2
-rw-r--r--languages/messages/MessagesOc.php2
-rw-r--r--languages/messages/MessagesOr.php2
-rw-r--r--languages/messages/MessagesOs.php2
-rw-r--r--languages/messages/MessagesPa.php2
-rw-r--r--languages/messages/MessagesPl.php2
-rw-r--r--languages/messages/MessagesPs.php2
-rw-r--r--languages/messages/MessagesPt.php2
-rw-r--r--languages/messages/MessagesPt_br.php2
-rw-r--r--languages/messages/MessagesQu.php2
-rw-r--r--languages/messages/MessagesRo.php2
-rw-r--r--languages/messages/MessagesRu.php2
-rw-r--r--languages/messages/MessagesRue.php2
-rw-r--r--languages/messages/MessagesSa.php2
-rw-r--r--languages/messages/MessagesScn.php2
-rw-r--r--languages/messages/MessagesSd.php2
-rw-r--r--languages/messages/MessagesSdc.php2
-rw-r--r--languages/messages/MessagesSe.php2
-rw-r--r--languages/messages/MessagesSh.php2
-rw-r--r--languages/messages/MessagesSi.php2
-rw-r--r--languages/messages/MessagesSk.php2
-rw-r--r--languages/messages/MessagesSl.php2
-rw-r--r--languages/messages/MessagesSq.php2
-rw-r--r--languages/messages/MessagesSr_ec.php2
-rw-r--r--languages/messages/MessagesSu.php2
-rw-r--r--languages/messages/MessagesSv.php2
-rw-r--r--languages/messages/MessagesSw.php2
-rw-r--r--languages/messages/MessagesTe.php2
-rw-r--r--languages/messages/MessagesTh.php2
-rw-r--r--languages/messages/MessagesTl.php2
-rw-r--r--languages/messages/MessagesTr.php2
-rw-r--r--languages/messages/MessagesTt_cyrl.php2
-rw-r--r--languages/messages/MessagesUk.php2
-rw-r--r--languages/messages/MessagesUr.php2
-rw-r--r--languages/messages/MessagesVec.php2
-rw-r--r--languages/messages/MessagesVi.php2
-rw-r--r--languages/messages/MessagesYi.php2
-rw-r--r--languages/messages/MessagesYue.php2
-rw-r--r--languages/messages/MessagesZh.php2
-rw-r--r--languages/messages/MessagesZh_hans.php1
-rw-r--r--languages/messages/MessagesZh_hant.php1
-rw-r--r--maintenance/Maintenance.php2
-rw-r--r--maintenance/dictionary/mediawiki.dic1
-rw-r--r--resources/Resources.php2
-rw-r--r--resources/assets/file-type-icons/fileicon-djvu.xcfbin0 -> 83394 bytes
-rw-r--r--resources/assets/file-type-icons/fileicon-ogg.xcfbin0 -> 40236 bytes
-rw-r--r--tests/parser/preprocess/All_system_messages.expected14
-rw-r--r--tests/parser/preprocess/All_system_messages.txt14
-rw-r--r--tests/phpunit/data/media/80x60-2layers.xcfbin0 -> 1162 bytes
-rw-r--r--tests/phpunit/data/media/80x60-Greyscale.xcfbin0 -> 667 bytes
-rw-r--r--tests/phpunit/data/media/80x60-RGB.xcfbin0 -> 677 bytes
-rw-r--r--tests/phpunit/includes/registration/ExtensionRegistryTest.php14
-rw-r--r--thumb.php26
-rw-r--r--vendor/README.md28
-rw-r--r--vendor/autoload.php2
-rw-r--r--vendor/composer.json25
-rw-r--r--vendor/composer.lock (renamed from composer.lock)140
-rw-r--r--vendor/composer/ClassLoader.php8
-rw-r--r--vendor/composer/autoload_classmap.php260
-rw-r--r--vendor/composer/autoload_namespaces.php5
-rw-r--r--vendor/composer/autoload_psr4.php3
-rw-r--r--vendor/composer/autoload_real.php9
-rw-r--r--vendor/composer/installed.json381
-rw-r--r--vendor/monolog/monolog/CHANGELOG.mdown202
-rw-r--r--vendor/monolog/monolog/LICENSE19
-rw-r--r--vendor/monolog/monolog/README.mdown283
-rw-r--r--vendor/monolog/monolog/composer.json50
-rw-r--r--vendor/monolog/monolog/doc/extending.md76
-rw-r--r--vendor/monolog/monolog/doc/sockets.md37
-rw-r--r--vendor/monolog/monolog/doc/usage.md162
-rw-r--r--vendor/monolog/monolog/phpunit.xml.dist15
-rw-r--r--vendor/monolog/monolog/src/Monolog/ErrorHandler.php208
-rw-r--r--vendor/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php79
-rw-r--r--vendor/monolog/monolog/src/Monolog/Formatter/ElasticaFormatter.php87
-rw-r--r--vendor/monolog/monolog/src/Monolog/Formatter/FlowdockFormatter.php104
-rw-r--r--vendor/monolog/monolog/src/Monolog/Formatter/FormatterInterface.php36
-rw-r--r--vendor/monolog/monolog/src/Monolog/Formatter/GelfMessageFormatter.php101
-rw-r--r--vendor/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php140
-rw-r--r--vendor/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php116
-rw-r--r--vendor/monolog/monolog/src/Monolog/Formatter/LineFormatter.php159
-rw-r--r--vendor/monolog/monolog/src/Monolog/Formatter/LogglyFormatter.php47
-rw-r--r--vendor/monolog/monolog/src/Monolog/Formatter/LogstashFormatter.php165
-rw-r--r--vendor/monolog/monolog/src/Monolog/Formatter/MongoDBFormatter.php105
-rw-r--r--vendor/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php141
-rw-r--r--vendor/monolog/monolog/src/Monolog/Formatter/ScalarFormatter.php48
-rw-r--r--vendor/monolog/monolog/src/Monolog/Formatter/WildfireFormatter.php113
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/AbstractHandler.php184
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php66
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php92
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/AmqpHandler.php98
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/BrowserConsoleHandler.php184
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/BufferHandler.php117
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/ChromePHPHandler.php204
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/CouchDBHandler.php72
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/CubeHandler.php145
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php45
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php89
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/ElasticSearchHandler.php128
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php82
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php140
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php28
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ChannelLevelActivationStrategy.php59
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ErrorLevelActivationStrategy.php34
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php150
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php195
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/FleepHookHandler.php126
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/FlowdockHandler.php103
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/GelfHandler.php72
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/GroupHandler.php80
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/HandlerInterface.php90
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/HipChatHandler.php300
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php55
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/LogglyHandler.php98
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/MailHandler.php55
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/MandrillHandler.php69
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/MissingExtensionException.php21
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/MongoDBHandler.php55
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/NativeMailerHandler.php155
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/NewRelicHandler.php174
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/NullHandler.php45
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/PsrHandler.php56
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/PushoverHandler.php172
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/RavenHandler.php181
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/RedisHandler.php58
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/RollbarHandler.php73
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php153
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/SamplingHandler.php83
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/SlackHandler.php234
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/SocketHandler.php284
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php104
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php56
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/SyslogHandler.php67
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php46
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php80
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/TestHandler.php140
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php57
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php95
-rw-r--r--vendor/monolog/monolog/src/Monolog/Logger.php615
-rw-r--r--vendor/monolog/monolog/src/Monolog/Processor/GitProcessor.php64
-rw-r--r--vendor/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php82
-rw-r--r--vendor/monolog/monolog/src/Monolog/Processor/MemoryPeakUsageProcessor.php40
-rw-r--r--vendor/monolog/monolog/src/Monolog/Processor/MemoryProcessor.php63
-rw-r--r--vendor/monolog/monolog/src/Monolog/Processor/MemoryUsageProcessor.php40
-rw-r--r--vendor/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php31
-rw-r--r--vendor/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php48
-rw-r--r--vendor/monolog/monolog/src/Monolog/Processor/TagProcessor.php34
-rw-r--r--vendor/monolog/monolog/src/Monolog/Processor/UidProcessor.php38
-rw-r--r--vendor/monolog/monolog/src/Monolog/Processor/WebProcessor.php105
-rw-r--r--vendor/monolog/monolog/src/Monolog/Registry.php118
-rw-r--r--vendor/monolog/monolog/tests/Monolog/ErrorHandlerTest.php31
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Formatter/ChromePHPFormatterTest.php158
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Formatter/ElasticaFormatterTest.php79
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Formatter/FlowdockFormatterTest.php55
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Formatter/GelfMessageFormatterTest.php189
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Formatter/JsonFormatterTest.php78
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Formatter/LineFormatterTest.php208
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Formatter/LogglyFormatterTest.php40
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Formatter/LogstashFormatterTest.php289
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Formatter/MongoDBFormatterTest.php253
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Formatter/NormalizerFormatterTest.php247
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Formatter/ScalarFormatterTest.php98
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Formatter/WildfireFormatterTest.php142
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Functional/Handler/FirePHPHandlerTest.php32
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/AbstractHandlerTest.php115
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/AbstractProcessingHandlerTest.php80
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/AmqpHandlerTest.php137
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/BrowserConsoleHandlerTest.php130
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/BufferHandlerTest.php158
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/ChromePHPHandlerTest.php141
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/CouchDBHandlerTest.php41
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/DoctrineCouchDBHandlerTest.php52
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/DynamoDbHandlerTest.php73
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/ElasticSearchHandlerTest.php239
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/ErrorLogHandlerTest.php66
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/FilterHandlerTest.php170
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/FingersCrossedHandlerTest.php240
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/FirePHPHandlerTest.php96
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/FleepHookHandlerTest.php85
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/FlowdockHandlerTest.php88
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/GelfHandlerLegacyTest.php93
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/GelfHandlerTest.php117
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/GroupHandlerTest.php89
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/HipChatHandlerTest.php166
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/LogEntriesHandlerTest.php84
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/MailHandlerTest.php75
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/MockRavenClient.php26
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/MongoDBHandlerTest.php65
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/NativeMailerHandlerTest.php61
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/NewRelicHandlerTest.php192
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/NullHandlerTest.php33
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/PsrHandlerTest.php50
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/PushoverHandlerTest.php141
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/RavenHandlerTest.php150
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/RedisHandlerTest.php71
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/RotatingFileHandlerTest.php99
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/SamplingHandlerTest.php33
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/SlackHandlerTest.php133
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/SocketHandlerTest.php282
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/StreamHandlerTest.php118
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/SyslogHandlerTest.php44
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/SyslogUdpHandlerTest.php49
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/TestHandlerTest.php56
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/UdpSocketTest.php46
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/WhatFailureGroupHandlerTest.php121
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/ZendMonitorHandlerTest.php69
-rw-r--r--vendor/monolog/monolog/tests/Monolog/LoggerTest.php409
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Processor/GitProcessorTest.php29
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Processor/IntrospectionProcessorTest.php123
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Processor/MemoryPeakUsageProcessorTest.php42
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Processor/MemoryUsageProcessorTest.php42
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Processor/ProcessIdProcessorTest.php30
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Processor/PsrLogMessageProcessorTest.php43
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Processor/TagProcessorTest.php29
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Processor/UidProcessorTest.php27
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Processor/WebProcessorTest.php98
-rw-r--r--vendor/monolog/monolog/tests/Monolog/PsrLogCompatTest.php47
-rw-r--r--vendor/monolog/monolog/tests/Monolog/TestCase.php58
-rw-r--r--vendor/monolog/monolog/tests/bootstrap.php15
-rw-r--r--vendor/oojs/oojs-ui/.mailmap18
-rw-r--r--vendor/psr/log/Psr/Log/LoggerAwareTrait.php22
-rw-r--r--vendor/psr/log/Psr/Log/LoggerTrait.php131
-rw-r--r--vendor/ruflin/elastica/LICENSE.txt21
-rw-r--r--vendor/ruflin/elastica/README.markdown29
-rw-r--r--vendor/ruflin/elastica/Vagrantfile14
-rw-r--r--vendor/ruflin/elastica/build.xml232
-rw-r--r--vendor/ruflin/elastica/changes.txt797
-rw-r--r--vendor/ruflin/elastica/composer.json40
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/AbstractUpdateAction.php544
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/AbstractAggregation.php88
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/AbstractSimpleAggregation.php33
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/Avg.php14
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/Cardinality.php14
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/DateHistogram.php82
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/DateRange.php21
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/ExtendedStats.php13
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/Filter.php41
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/GeoDistance.php90
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/GeohashGrid.php61
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/GlobalAggregation.php13
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/Histogram.php55
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/IpRange.php66
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/Max.php13
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/Min.php13
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/Missing.php31
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/Nested.php31
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/Range.php45
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/ReverseNested.php50
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/Stats.php13
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/Sum.php13
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/Terms.php97
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/ValueCount.php31
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Bulk.php423
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Bulk/Action.php219
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Bulk/Action/AbstractDocument.php162
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Bulk/Action/CreateDocument.php11
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Bulk/Action/DeleteDocument.php33
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Bulk/Action/IndexDocument.php52
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Bulk/Action/UpdateDocument.php69
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Bulk/Response.php47
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Bulk/ResponseSet.php142
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Client.php691
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Cluster.php181
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Cluster/Health.php189
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Cluster/Health/Index.php142
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Cluster/Health/Shard.php107
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Cluster/Settings.php197
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Connection.php274
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Document.php334
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/Bulk/Response/ActionException.php66
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/Bulk/ResponseException.php103
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/Bulk/UdpException.php9
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/BulkException.php7
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/ClientException.php14
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/Connection/GuzzleException.php51
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/Connection/HttpException.php88
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/Connection/ThriftException.php51
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/ConnectionException.php65
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/ElasticsearchException.php99
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/ExceptionInterface.php14
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/InvalidException.php14
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/JSONParseException.php12
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/NotFoundException.php14
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/NotImplementedException.php16
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/PartialShardFailureException.php33
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/ResponseException.php76
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/RuntimeException.php14
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Facet/AbstractFacet.php141
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Facet/DateHistogram.php44
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Facet/Filter.php27
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Facet/GeoCluster.php54
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Facet/GeoDistance.php66
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Facet/Histogram.php90
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Facet/Query.php27
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Facet/Range.php138
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Facet/Statistical.php61
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Facet/Terms.php129
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Facet/TermsStats.php103
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/AbstractFilter.php57
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/AbstractGeoDistance.php190
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/AbstractGeoShape.php50
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/AbstractMulti.php77
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/Bool.php146
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/BoolAnd.php22
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/BoolNot.php43
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/BoolOr.php22
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/Exists.php35
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/GeoBoundingBox.php49
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/GeoDistance.php73
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/GeoDistanceRange.php101
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/GeoPolygon.php59
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/GeoShapePreIndexed.php85
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/GeoShapeProvided.php74
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/GeohashCell.php45
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/HasChild.php78
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/HasParent.php77
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/Ids.php92
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/Indices.php51
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/Limit.php36
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/MatchAll.php22
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/Missing.php37
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/Nested.php60
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/NumericRange.php15
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/Prefix.php79
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/Query.php90
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/Range.php61
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/Regexp.php80
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/Script.php49
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/Term.php47
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/Terms.php132
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/Type.php60
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Index.php462
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Index/Settings.php318
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Index/Stats.php109
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Index/Status.php144
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/JSON.php67
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Log.php84
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Multi/ResultSet.php208
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Multi/Search.php198
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Node.php130
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Node/Info.php196
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Node/Stats.php115
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Param.php162
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Percolator.php132
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query.php420
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/AbstractQuery.php15
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/Bool.php92
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/Boosting.php44
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/Builder.php933
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/Common.php150
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/ConstantScore.php68
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/DisMax.php59
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/Filtered.php95
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/FunctionScore.php201
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/Fuzzy.php84
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/FuzzyLikeThis.php215
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/HasChild.php63
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/HasParent.php62
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/Ids.php117
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/Match.php198
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/MatchAll.php22
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/MoreLikeThis.php162
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/MultiMatch.php180
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/Nested.php47
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/Prefix.php48
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/QueryString.php267
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/Range.php39
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/Simple.php55
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/SimpleQueryString.php65
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/Term.php49
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/Terms.php103
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/TopChildren.php52
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/Wildcard.php41
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Request.php200
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Rescore/AbstractRescore.php36
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Rescore/Query.php90
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Response.php299
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Result.php216
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/ResultSet.php383
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/ScanAndScroll.php150
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Script.php148
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/ScriptFields.php63
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Search.php514
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/SearchableInterface.php52
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Snapshot.php155
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Status.php179
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Suggest.php62
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Suggest/AbstractSuggest.php92
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Suggest/CandidateGenerator/AbstractCandidateGenerator.php11
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Suggest/CandidateGenerator/DirectGenerator.php127
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Suggest/Phrase.php148
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Suggest/Term.php115
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Transport/AbstractTransport.php109
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Transport/Guzzle.php179
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Transport/Http.php188
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Transport/Https.php30
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Transport/Memcache.php82
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Transport/Null.php44
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Transport/Thrift.php173
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Type.php537
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Type/AbstractType.php200
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Type/Mapping.php280
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Util.php171
-rw-r--r--vendor/ruflin/elastica/phpdoc.dist.xml13
-rw-r--r--vendor/ruflin/elastica/test/benchmark/BulkMemoryUsageTest.php46
-rw-r--r--vendor/ruflin/elastica/test/benchmark/ClientTest.php31
-rw-r--r--vendor/ruflin/elastica/test/benchmark/TransportTest.php252
-rw-r--r--vendor/ruflin/elastica/test/benchmark/phpunit.benchmark.xml10
-rw-r--r--vendor/ruflin/elastica/test/benchmark/phpunit.xhprof.xml39
-rw-r--r--vendor/ruflin/elastica/test/bin/install_php_memcache.sh8
-rw-r--r--vendor/ruflin/elastica/test/bin/run_elasticsearch.sh56
-rw-r--r--vendor/ruflin/elastica/test/bin/run_proxy.sh15
-rw-r--r--vendor/ruflin/elastica/test/bin/show_logs.sh3
-rw-r--r--vendor/ruflin/elastica/test/bootstrap.php5
-rw-r--r--vendor/ruflin/elastica/test/data/test.docbin0 -> 22016 bytes
-rw-r--r--vendor/ruflin/elastica/test/data/test.docxbin0 -> 25890 bytes
-rw-r--r--vendor/ruflin/elastica/test/data/test.pdfbin0 -> 16107 bytes
-rw-r--r--vendor/ruflin/elastica/test/data/test.txt1
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/AvgTest.php38
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/BaseAggregationTest.php28
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/CardinalityTest.php38
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/DateHistogramTest.php43
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/DateRangeTest.php51
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/ExtendedStatsTest.php43
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/FilterTest.php78
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/GeoDistanceTest.php45
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/GeohashGridTest.php45
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/GlobalAggregationTest.php27
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/HistogramTest.php45
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/IpRangeTest.php56
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/MaxTest.php72
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/MinTest.php38
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/MissingTest.php37
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/NestedTest.php62
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/RangeTest.php41
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/ReverseNestedTest.php124
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/StatsTest.php42
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/SumTest.php38
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/TermsTest.php39
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/ValueCountTest.php38
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Base.php31
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Bulk/ActionTest.php69
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Bulk/ResponseSetTest.php188
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/BulkTest.php711
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/ClientTest.php1008
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Cluster/Health/IndexTest.php113
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Cluster/Health/ShardTest.php63
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Cluster/HealthTest.php113
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Cluster/SettingsTest.php110
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/ClusterTest.php89
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/ConnectionTest.php103
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/DocumentTest.php309
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/ExampleTest.php58
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Exception/NotImplementedTest.php23
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Exception/PartialShardFailureExceptionTest.php55
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Exception/ResponseExceptionTest.php60
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/DateHistogramTest.php59
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/FilterTest.php40
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/GeoClusterTest.php49
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/QueryTest.php40
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/StatisticalTest.php82
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/TermsStatsTest.php105
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/TermsTest.php69
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/AbstractTest.php69
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/BoolAndTest.php65
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/BoolNotTest.php25
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/BoolOrTest.php42
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/BoolTest.php107
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/ExistsTests.php31
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/GeoDistanceRangeTest.php218
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/GeoDistanceTest.php129
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/GeoPolygonTest.php65
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/GeoShapePreIndexedTest.php90
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/GeoShapeProvidedTest.php88
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/GeohashCellTest.php60
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/HasChildTest.php166
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/HasParentTest.php139
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/IdsTest.php201
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/IndicesTest.php93
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/MatchAllTest.php18
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/MultiTest.php95
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/NestedFilterWithSetFilterTest.php121
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/NestedTest.php121
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/NumericRangeTest.php32
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/PrefixTest.php149
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/QueryTest.php46
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/RangeTest.php32
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/RegexpTest.php137
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/ScriptTest.php52
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/TermTest.php23
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/TermsTest.php54
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/TypeTest.php27
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Index/SettingsTest.php300
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Index/StatsTest.php23
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Index/StatusTest.php66
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/IndexTest.php696
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/LogTest.php153
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Multi/SearchTest.php549
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Node/InfoTest.php42
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/NodeTest.php84
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/ParamTest.php97
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/PercolatorTest.php224
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/BoolTest.php114
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/BoostingTest.php99
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/BuilderTest.php270
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/CommonTest.php59
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/ConstantScoreTest.php158
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/DisMaxTest.php83
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/FilteredTest.php112
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/FunctionScoreTest.php210
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/FuzzyLikeThisTest.php228
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/FuzzyTest.php129
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/HasChildTest.php107
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/HasParentTest.php50
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/HighlightTest.php49
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/IdsTest.php165
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/MatchAllTest.php44
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/MatchTest.php187
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/MoreLikeThisTest.php176
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/MultiMatchTest.php187
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/NestedTest.php28
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/PostFilterTest.php83
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/PrefixTest.php26
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/QueryStringTest.php126
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/RangeTest.php73
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/RescoreTest.php165
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/SimpleQueryStringTest.php73
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/SimpleTest.php17
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/TermTest.php26
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/TermsTest.php62
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/WildcardTest.php101
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/QueryTest.php194
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/RequestTest.php87
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/ResponseTest.php94
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/ResultSetTest.php93
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/ResultTest.php121
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/ScanAndScrollTest.php115
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/ScriptFieldsTest.php95
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/ScriptTest.php129
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/SearchTest.php500
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/SnapshotTest.php112
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/StatusTest.php116
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Suggest/PhraseTest.php85
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Suggest/TermTest.php104
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Transport/AbstractTransportTest.php77
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Transport/GuzzleTest.php163
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Transport/HttpTest.php227
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Transport/MemcacheTest.php51
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Transport/NullTest.php59
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Transport/ThriftTest.php132
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Type/MappingTest.php304
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/TypeTest.php823
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/UtilTest.php77
-rw-r--r--vendor/ruflin/elastica/test/nginx/nginx.conf24
-rw-r--r--vendor/ruflin/elastica/test/phpunit.xml.dist32
-rw-r--r--vendor/zordius/lightncandy/build/gen_doc6
-rw-r--r--vendor/zordius/lightncandy/build/gen_test.php64
-rw-r--r--vendor/zordius/lightncandy/build/push_ghpage12
-rw-r--r--vendor/zordius/lightncandy/build/runphp2
-rw-r--r--vendor/zordius/lightncandy/build/travis_push60
863 files changed, 55632 insertions, 3666 deletions
diff --git a/RELEASE-NOTES-1.25 b/RELEASE-NOTES-1.25
index 223cf97c..6d32a445 100644
--- a/RELEASE-NOTES-1.25
+++ b/RELEASE-NOTES-1.25
@@ -1,16 +1,41 @@
Security reminder: If you have PHP's register_globals option set, you must
turn it off. MediaWiki will not work with it enabled.
+== MediaWiki 1.25.2 ==
+
+This is a security and maintenance release of the MediaWiki 1.25 branch.
+
+=== Changes since 1.25.1 ===
+
+* (T94116) SECURITY: Compare API watchlist token in constant time
+* (T97391) SECURITY: Escape error message strings in thumb.php
+* (T106893) SECURITY: Don't leak autoblocked IP addresses on
+ Special:DeletedContributions
+* (T102562) Fix InstantCommons parameters to handle the new HTTPS-only
+ policy of Wikimedia Commons.
+* (T100767) Setting a configuration setting for skin or extension to
+ false in LocalSettings.php was not working.
+* (T100635) API action=opensearch json output no longer breaks when
+ $wgDebugToolbar is enabled.
+* (T102522) Using an extension.json or skin.json file which has
+ a "manifest_version" property for 1.26 compatability will no longer
+ trigger warnings.
+* (T86156) Running updateSearchIndex.php will not throw an error as
+ page_restrictions has been added to the locked table list.
+* Special:Version would throw notices if using SVN due to an incorrectly
+ named variable. Add an additional check that an index is defined.
+
== MediaWiki 1.25.1 ==
This is a bug fix release of the MediaWiki 1.25 branch.
-== Changes since 1.25.1 ==
-
+=== Changes since 1.25 ===
* (T100351) Fix syntax errors in extension.json of ConfirmEdit extension
== MediaWiki 1.25 ==
+MediaWiki 1.25.x is the stable branch and is recommended for use in production.
+
=== Configuration changes in 1.25 ===
* $wgPageShowWatchingUsers was removed.
* $wgLocalVirtualHosts has been added to replace $wgConf->localVHosts.
@@ -513,7 +538,6 @@ changes to languages because of Bugzilla reports.
loadedScripts object, from wikibits.js (deprecated since 1.17) now emit
warnings through mw.log.warn when accessed.
-
== Compatibility ==
MediaWiki 1.25 requires PHP 5.3.3 or later. There is experimental support for
diff --git a/docs/hooks.txt b/docs/hooks.txt
index 6f2050cc..e9c0e205 100644
--- a/docs/hooks.txt
+++ b/docs/hooks.txt
@@ -1840,6 +1840,11 @@ $param: Associative Array with the following additional options:
"&lt;div ...>$1&lt;/div>").
- flags Integer display flags (NO_ACTION_LINK,NO_EXTRA_USER_LINKS)
+'LogException': Called before an exception (or PHP error) is logged. This is meant for integration
+with external error aggregation services; returning false will NOT prevent logging.
+$e: The exception (in case of a plain old PHP error, a wrapping ErrorException)
+$suppressed: true if the error was suppressed via error_reporting()/wfSuppressWarnings()
+
'LoginAuthenticateAudit': A login attempt for a valid user account either
succeeded or failed. No return data is accepted; this hook is for auditing only.
$user: the User object being authenticated against
diff --git a/extensions/ConfirmEdit/ApiFancyCaptchaReload.php b/extensions/ConfirmEdit/FancyCaptcha/ApiFancyCaptchaReload.php
index 8cd28631..8cd28631 100644
--- a/extensions/ConfirmEdit/ApiFancyCaptchaReload.php
+++ b/extensions/ConfirmEdit/FancyCaptcha/ApiFancyCaptchaReload.php
diff --git a/extensions/ConfirmEdit/FancyCaptcha/extension.json b/extensions/ConfirmEdit/FancyCaptcha/extension.json
index 11b877be..dba07d9b 100644
--- a/extensions/ConfirmEdit/FancyCaptcha/extension.json
+++ b/extensions/ConfirmEdit/FancyCaptcha/extension.json
@@ -38,9 +38,7 @@
"localBasePath": "resources",
"remoteExtPath": "ConfirmEdit/FancyCaptcha/resources"
},
- "callback": [
- "ConfirmEditHooks::onFancyCaptchaSetup"
- ],
+ "callback": "ConfirmEditHooks::onFancyCaptchaSetup",
"config": {
"CaptchaClass": "FancyCaptcha",
"CaptchaFileBackend": "",
diff --git a/extensions/ConfirmEdit/ReCaptcha/extension.json b/extensions/ConfirmEdit/ReCaptcha/extension.json
index 5f97810a..79c90491 100644
--- a/extensions/ConfirmEdit/ReCaptcha/extension.json
+++ b/extensions/ConfirmEdit/ReCaptcha/extension.json
@@ -1,7 +1,7 @@
{
"name": "ReCaptcha",
"ExtensionFunctions": [
- "efReCaptcha"
+ "ConfirmEditHooks::efReCaptcha"
],
"MessagesDirs": {
"ReCaptcha": [
diff --git a/extensions/ConfirmEdit/includes/ConfirmEditHooks.php b/extensions/ConfirmEdit/includes/ConfirmEditHooks.php
index 5f9c3384..41c990f1 100644
--- a/extensions/ConfirmEdit/includes/ConfirmEditHooks.php
+++ b/extensions/ConfirmEdit/includes/ConfirmEditHooks.php
@@ -139,11 +139,36 @@ class ConfirmEditHooks {
$wgCaptchaDirectory = "$wgUploadDirectory/captcha";
}
}
+
/**
* Callback for extension.json of ReCaptcha to require the recaptcha library php file.
* FIXME: This should be done in a better way, e.g. only load the libraray, if really needed.
*/
public static function onReCaptchaSetup() {
- require_once( "ReCaptcha/recaptchalib.php" );
+ require_once( __DIR__ . '/../ReCaptcha/recaptchalib.php' );
+ }
+
+ /**
+ * Extension function, moved from ReCaptcha.php when that was decimated.
+ * Make sure the keys are defined.
+ */
+ public static function efReCaptcha() {
+ global $wgReCaptchaPublicKey, $wgReCaptchaPrivateKey;
+ global $recaptcha_public_key, $recaptcha_private_key;
+ global $wgServerName;
+
+ // Backwards compatibility
+ if ( $wgReCaptchaPublicKey == '' ) {
+ $wgReCaptchaPublicKey = $recaptcha_public_key;
+ }
+ if ( $wgReCaptchaPrivateKey == '' ) {
+ $wgReCaptchaPrivateKey = $recaptcha_private_key;
+ }
+
+ if ( $wgReCaptchaPublicKey == '' || $wgReCaptchaPrivateKey == '' ) {
+ die ( 'You need to set $wgReCaptchaPrivateKey and $wgReCaptchaPublicKey in LocalSettings.php to ' .
+ "use the reCAPTCHA plugin. You can sign up for a key <a href='" .
+ htmlentities( recaptcha_get_signup_url ( $wgServerName, "mediawiki" ) ) . "'>here</a>." );
+ }
}
}
diff --git a/extensions/SyntaxHighlight_GeSHi/geshi/contrib/aliased.php b/extensions/SyntaxHighlight_GeSHi/geshi/contrib/aliased.php
deleted file mode 100644
index 0d4b2838..00000000
--- a/extensions/SyntaxHighlight_GeSHi/geshi/contrib/aliased.php
+++ /dev/null
@@ -1,122 +0,0 @@
-<?php
-/**
- * Another GeSHi example script
- *
- * Configure your Apache server with 'AcceptPathInfo true' and something like
- * 'Alias /viewmysource /var/www/geshi/contrib/aliased.php'. Don't forget
- * to protect this alias as necessary.
- *
- * Usage - visit /viewmysource/file.name.ext to see that file with syntax
- * highlighting, where "viewmysource" is the name of the alias you set up.
- * You can use this without an alias too, just by visiting
- * aliased.php/file.name.ext.
- *
- * @author Ross Golder <ross@golder.org>
- * @version $Id$
- */
-
-// Your config here
-define("SOURCE_ROOT", "/var/www/your/source/root/");
-
-// Assume you've put geshi in the include_path already
-require_once("geshi.php");
-
-// Get path info
-$path = SOURCE_ROOT.$_SERVER['PATH_INFO'];
-
-// Check for dickheads trying to use '../' to get to sensitive areas
-$base_path_len = strlen(SOURCE_ROOT);
-$real_path = realpath($path);
-if(strncmp($real_path, SOURCE_ROOT, $base_path_len)) {
- exit("Access outside acceptable path.");
-}
-
-// Check file exists
-if(!file_exists($path)) {
- exit("File not found ($path).");
-}
-
-// Prepare GeSHi instance
-$geshi = new GeSHi();
-$geshi->set_language('text');
-$geshi->load_from_file($path);
-$geshi->set_header_type(GESHI_HEADER_PRE);
-$geshi->enable_classes();
-$geshi->enable_line_numbers(GESHI_FANCY_LINE_NUMBERS, 10);
-$geshi->set_overall_style('color: #000066; border: 1px solid #d0d0d0; background-color: #f0f0f0;', true);
-$geshi->set_line_style('font: normal normal 95% \'Courier New\', Courier, monospace; color: #003030;', 'font-weight: bold; color: #006060;', true);
-$geshi->set_code_style('color: #000020;', 'color: #000020;');
-$geshi->set_link_styles(GESHI_LINK, 'color: #000060;');
-$geshi->set_link_styles(GESHI_HOVER, 'background-color: #f0f000;');
-$geshi->set_header_content('Source code viewer - ' . $path . ' - ' . $geshi->get_language_name());
-$geshi->set_header_content_style('font-family: Verdana, Arial, sans-serif; color: #808080; font-size: 70%; font-weight: bold; background-color: #f0f0ff; border-bottom: 1px solid #d0d0d0; padding: 2px;');
-$geshi->set_footer_content('Parsed in <TIME> seconds, using GeSHi <VERSION>');
-$geshi->set_footer_content_style('font-family: Verdana, Arial, sans-serif; color: #808080; font-size: 70%; font-weight: bold; background-color: #f0f0ff; border-top: 1px solid #d0d0d0; padding: 2px;');
-
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Source code viewer - <?php echo $path; ?> - <?php $geshi->get_language_name(); ?></title>
- <style type="text/css">
- <!--
- <?php
- // Output the stylesheet. Note it doesn't output the <style> tag
- echo $geshi->get_stylesheet();
- ?>
- html {
- background-color: #f0f0f0;
- }
- body {
- font-family: Verdana, Arial, sans-serif;
- margin: 10px;
- border: 2px solid #e0e0e0;
- background-color: #fcfcfc;
- padding: 5px;
- }
- h2 {
- margin: .1em 0 .2em .5em;
- border-bottom: 1px solid #b0b0b0;
- color: #b0b0b0;
- font-weight: normal;
- font-size: 150%;
- }
- h3 {
- margin: .1em 0 .2em .5em;
- color: #b0b0b0;
- font-weight: normal;
- font-size: 120%;
- }
- #footer {
- text-align: center;
- font-size: 80%;
- color: #a9a9a9;
- }
- #footer a {
- color: #9999ff;
- }
- textarea {
- border: 1px solid #b0b0b0;
- font-size: 90%;
- color: #333;
- margin-left: 20px;
- }
- select, input {
- margin-left: 20px;
- }
- p {
- font-size: 90%;
- margin-left: .5em;
- }
- -->
- </style>
-</head>
-<body>
-<?php
-// The fun part :)
-echo $geshi->parse_code();
-?>
-<hr/>
-</body>
-</html>
diff --git a/extensions/SyntaxHighlight_GeSHi/geshi/contrib/cssgen.php b/extensions/SyntaxHighlight_GeSHi/geshi/contrib/cssgen.php
deleted file mode 100644
index d0dac0f9..00000000
--- a/extensions/SyntaxHighlight_GeSHi/geshi/contrib/cssgen.php
+++ /dev/null
@@ -1,464 +0,0 @@
-<?php
-/*************************************************************************************
- * cssgen.php
- * ----------
- * Author: Nigel McNie (nigel@geshi.org)
- * Copyright: (c) 2004 Nigel McNie
- * Release Version: 1.0.8.12
- * Date Started: 2004/05/20
- *
- * Application to generate custom CSS files for GeSHi (based on an idea by Andreas
- * Gohr)
- *
- *************************************************************************************
- *
- * This file is part of GeSHi.
- *
- * GeSHi is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GeSHi is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GeSHi; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- ************************************************************************************/
-
-set_magic_quotes_runtime(0);
-//
-// Functions
-//
-
-function make_header ( $title )
-{
- echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>GeSHi CSS Generator :: ' . $title . ' </title>
- <style type="text/css" media="screen">
- <!--
- html {
- font-family: Verdana, Arial, sans-serif;
- font-size: 80%;
- background-color: #d0d0d0;
- }
- body {
- margin: 10px;
- padding: 5px;
- border: 1px solid #f0f0f0;
- background-color: #f6f6f6;
- }
- h1 {
- border-bottom: 2px solid #e0e0e0;
- font-weight: normal;
- font-size: 150%;
- color: #c0c0c0;
- }
- input, textarea {
- border: 1px solid #d0d0d0;
- }
- th {
- text-align: right;
- font-weight: normal;
- }
- pre {
- font-size: 110%;
- color: #202020;
- }
- #footer {
- color: #b0b0b0;
- text-align: center;
- font-size: 90%;
- margin: 0 auto;
- border-top: 1px solid #e0e0e0;
- }
- #footer a {
- color: #c0c0c0;
- }
- -->
- </style>
- <script type="text/javascript">
- function select (state)
- {
- var cboxes = document.getElementsByTagName(\'input\');
- for (var i = 0; i < cboxes.length; i++) {
- if (cboxes[i].type == "checkbox") {
- if (state == "true") {
- cboxes[i].checked = true;
- } elseif (state == "false") {
- cboxes[i].checked = false;
- } elseif (state == "invert") {
- cboxes[i].checked = !cboxes[i].checked;
- }
- }
- }
- }
- </script>
-</head>
-<body>
-<h1>' . $title . '</h1>
-';
-}
-
-function make_footer ()
-{
- echo '<div id="footer"><a href="http://qbnz.com/highlighter/">GeSHi</a> &copy; Nigel McNie, 2004, released under the GPL</div></body>
-</html>';
-}
-
-
-function get_var ( $var_name )
-{
- if ( isset($_GET[$var_name]) )
- {
- return str_replace("\'", "'", $_GET[$var_name]);
- }
- elseif ( isset($_POST[$var_name]) )
- {
- return str_replace("\'", "'", $_POST[$var_name]);
- }
- return null;
-}
-
-
-
-//
-// Unset everything
-//
-foreach ( $_REQUEST as $var )
-{
- unset($$var);
-}
-foreach ( array(
- '_POST' => 'HTTP_POST_VARS',
- '_GET' => 'HTTP_GET_VARS',
- '_COOKIE' => 'HTTP_COOKIE_VARS',
- '_SERVER' => 'HTTP_SERVER_VARS',
- '_ENV' => 'HTTP_ENV_VARS',
- '_FILES' => 'HTTP_POST_FILES') as $array => $other )
-{
- if ( !isset($$array) )
- {
- $$array = $$other;
- }
- unset($$other);
-}
-
-
-// Get what step we're up to
-$step = get_var('step');
-
-if ( !$step || $step == 1 )
-{
- $errors = 0;
- make_header('Step 1');
- echo "Welcome to the GeSHi CSS generator.<br /><pre>Searching for GeSHi... ";
-
- // Find GeSHi
- $geshi_path = get_var('geshi-path');
- $geshi_lang_path = get_var('geshi-lang-path');
-
- if(strstr($geshi_path, '..')) {
- unset($geshi_path);
- }
- if(strstr($geshi_lang_path, '..')) {
- unset($geshi_lang_path);
- }
-
- if ( !$geshi_path )
- {
- $geshi_path = '../geshi.php';
- }
- if ( !$geshi_lang_path )
- {
- $geshi_lang_path = '../geshi/';
- }
-
- if ( is_file($geshi_path) && is_readable($geshi_path) )
- {
- // Get file contents and see if GeSHi is in here
- $file = @file($geshi_path);
- $contents = '';
- foreach ( $file as $line )
- {
- $contents .= $line;
- }
- if ( strpos($contents, '<?php
-/**
- * GeSHi - Generic Syntax Highlighter') !== false )
- {
- echo '<span style="color: green;">Found at ' . realpath($geshi_path) . '</span>';
- }
- else
- {
- ++$errors;
- $no_geshi_dot_php_error = true;
- echo '<span style="color: red;">Not found</span>';
- }
- }
- else
- {
- ++$errors;
- $no_geshi_dot_php_error = true;
- echo '<span style="color: red;">Not found</span>';
- }
-
- // Find language files
- echo "\nSearching for language files... ";
- if ( is_readable($geshi_lang_path . 'css-gen.cfg') )
- {
-
- echo '<span style="color: green;">Found at ' . realpath($geshi_lang_path) . '</span>';
- }
- else
- {
- ++$errors;
- $no_lang_dir_error = true;
- echo '<span style="color: red;">Not found</span>';
- }
- echo "</pre>\n";
-
- if ( $errors > 0 )
- {
- // We're gonna have to ask for the paths...
- echo 'Unfortunately CSSGen could not detect the following paths. Please input them and press &quot;submit&quot; to try again.';
- echo "
-<form action=\"cssgen.php\" method=\"post\">";
- if ( $no_geshi_dot_php_error )
- {
- echo "
-<br />geshi.php: <input type=\"text\" name=\"geshi-path\" value=\"" . realpath('../geshi.php') . "\" size=\"50\" />";
- }
- else
- {
- echo '<input type="hidden" name="geshi-path" value="' . htmlspecialchars($geshi_path) . '" />';
- }
- if ( $no_lang_dir_error )
- {
- echo "
-<br />language files directory: <input type=\"text\" name=\"geshi-lang-path\" value=\"" . realpath('../geshi/') . "/\" size=\"50\" /> (should have a trailing slash)";
- }
- else
- {
- echo '<input type="hidden" name="geshi-lang-path" value="' . $geshi_lang_path . '" />';
- }
-
- echo "
-<br /><input type=\"submit\" value=\"Search\" /></form>";
- }
- else
- {
- // no errors - echo continue form
- echo 'Everything seems to be detected successfully. Use the button to continue.
-<br /><br /><form action="cssgen.php?step=2" method="post">
-<input type="hidden" name="geshi-path" value="' . realpath($geshi_path) . '" /><input type="hidden" name="geshi-lang-path" value="' . realpath($geshi_lang_path) . '" />
-<input type="submit" value="Step 2" />';
- }
-
- make_footer();
-}
-// Step 2
-elseif ( $step == 2 )
-{
- make_header('Step 2');
-
- $geshi_path = get_var('geshi-path');
- $geshi_lang_path = get_var('geshi-lang-path');
-
- $dh = opendir($geshi_lang_path);
- $lang_files = array();
- $file = readdir($dh);
- while ( $file !== false )
- {
- if ( $file == '.' || $file == '..' || $file == 'CVS' || $file == 'css-gen.cfg' )
- {
- $file = readdir($dh);
- continue;
- }
- if(!strstr(file_get_contents($dh . DIRECTORY_SEPARATOR . $file), '$language_data')) {
- $file = readdir($dh);
- continue;
- }
- $lang_files[] = $file;
- $file = readdir($dh);
- }
- closedir($dh);
- sort($lang_files);
-
- // Now installed languages are in $lang_files
-
- echo '<form action="cssgen.php?step=3" method="post" id="step2">
-What languages are you wanting to make this stylesheet for?<br /><br />
-Detected languages:<br />';
-
- foreach ( $lang_files as $lang )
- {
- $lang = substr($lang, 0, strpos($lang, '.'));
- if ($lang) {
- echo "<input type=\"checkbox\" name=\"langs[$lang]\" checked=\"checked\" />&nbsp;$lang<br />\n";
- }
- }
-
- echo "Select: <a href=\"javascript:select('true')\">All</a>, <a href=\"javascript:select('false')\">None</a>, <a href=\"javascript:select('invert')\">Invert</a><br />\n";
-
- echo 'If you\'d like any other languages not detected here to be supported, please enter
-them here, one per line:<br /><textarea rows="4" cols="20" name="extra-langs"></textarea><br />
-';
-
- echo '<br />Styles:
-<table>
- <tr><th>Style for the overall code block:</th><td><input type="text" name="overall" value="border: 1px dotted #a0a0a0; font-family: \'Courier New\', Courier, monospace; background-color: #f0f0f0; color: #0000bb;" /></td></tr>
- <tr><th>Default Styles</th><td><input type="text" name="default-styles" value="font-weight:normal;background:transparent;color:#000; padding-left: 5px;" /></td></tr>
- <tr><th>Keywords I (if, do, while etc)</th><td><input type="text" name="keywords-1" value="color: #a1a100;" /></td></tr>
- <tr><th>Keywords II (null, true, false etc)</th><td><input type="text" name="keywords-2" value="color: #000; font-weight: bold;" /></td></tr>
- <tr><th>Inbuilt Functions (echo, print etc)</th><td><input type="text" name="keywords-3" value="color: #000066;" /></td></tr>
- <tr><th>Data Types (int, boolean etc)</th><td><input type="text" name="keywords-4" value="color: #f63333;" /></td></tr>
-
- <tr><th>Comments (//, <!-- --> etc)</th><td><input type="text" name="comments" value="color: #808080;" /></td></tr>
- <tr><th>Escaped Characters (\n, \t etc)</th><td><input type="text" name="escaped-chars" value="color: #000033; font-weight: bold;" /></td></tr>
- <tr><th>Brackets ( ([{}]) etc)</th><td><input type="text" name="brackets" value="color: #66cc66;" /></td></tr>
- <tr><th>Strings ("foo" etc)</th><td><input type="text" name="strings" value="color: #ff0000;" /></td></tr>
- <tr><th>Numbers (1, -54, 2.5 etc)</th><td><input type="text" name="numbers" value="color: #ff33ff;" /></td></tr>
- <tr><th>Methods (Foo.bar() etc)</th><td><input type="text" name="methods" value="color: #006600;" /></td></tr>
-</table>';
-
- echo '<input type="hidden" name="geshi-path" value="' . realpath($geshi_path) . '" /><input type="hidden" name="geshi-lang-path" value="' . realpath($geshi_lang_path) . '" />
-<input type="submit" value="Step 3" /></form>';
-
- make_footer();
-}
-// Step 3
-elseif ( $step == 3 )
-{
- make_header('Step 3');
- echo '<p>Here is your completed stylesheet. Note that it may not be perfect - no regular expression styles are included for one thing,
-you\'ll have to add those yourself (php and xml are just two languages that use them), and line numbers are not included, however
-it includes most of the basic information.</p>';
-
- // Make the stylesheet
- $part_selector_1 = '';
- $part_selector_2 = '';
- $part_selector_3 = '';
-
- $langs = get_var('langs');
- $extra_langs = trim(get_var('extra-langs'));
- if ( $extra_langs != '' )
- {
- $l = explode("\r\n", $extra_langs);
- foreach ( $l as $lng )
- {
- $langs[$lng] = true;
- }
- }
-
-
- foreach ( $langs as $lang => $dummy )
- {
- $part_selector_1 .= ".$lang {PART}, ";
- $part_selector_2 .= ".$lang {PART1}, .$lang {PART2}, ";
- $part_selector_3 .= ".$lang {PART1}, .$lang {PART2}, .$lang {PART3}, ";
- }
- $part_selector_1 = substr($part_selector_1, 0, -2);
- $part_selector_2 = substr($part_selector_2, 0, -2);
- $part_selector_3 = substr($part_selector_3, 0, -2);
-
-
- $default_styles = get_var('default-styles');
- $ol_selector = str_replace('{PART}', 'ol', $part_selector_1);
- $overall_styles = get_var('overall');
- $overall_selector = str_replace('{PART}', '', $part_selector_1);
-
- $stylesheet = "/* GeSHi (c) Nigel McNie 2004 (http://qbnz.com/highlighter) */";
-
- if ( $overall != '' )
- {
- $stylesheet .= "\n$overall_selector {{$overall_styles}}";
- }
- if ( $default_styles != '' )
- {
- $default_selector = str_replace(array('{PART1}', '{PART2}'), array('.de1', '.de2'), $part_selector_2);
- $stylesheet .= "\n$default_selector {{$default_styles}}";
- }
-
- // Do keywords
- $keywords_1 = get_var('keywords-1');
- $keyword_selector_1 = str_replace('{PART}', '.kw1', $part_selector_1);
- if ( $keywords_1 != '' )
- {
- $stylesheet .= "\n$keyword_selector_1 {{$keywords_1}}";
- }
-
- $keywords_2 = get_var('keywords-2');
- $keyword_selector_2 = str_replace('{PART}', '.kw2', $part_selector_1);
- if ( $keywords_2 != '' )
- {
- $stylesheet .= "\n$keyword_selector_2 {{$keywords_2}}";
- }
-
- $keywords_3 = get_var('keywords-3');
- $keyword_selector_3 = str_replace('{PART}', '.kw3', $part_selector_1);
- if ( $keywords_3 != '' )
- {
- $stylesheet .= "\n$keyword_selector_3 {{$keywords_3}}";
- }
-
- $keywords_4 = get_var('keywords-4');
- $keyword_selector_4 = str_replace('{PART}', '.kw4', $part_selector_1);
- if ( $keywords_4 != '' )
- {
- $stylesheet .= "\n$keyword_selector_4 {{$keywords_4}}";
- }
-
- // Do other lexics
- $comments = get_var('comments');
- $comment_selector = str_replace(array('{PART1}', '{PART2}', '{PART3}'), array('.co1', '.co2', '.coMULTI'), $part_selector_3);
- if ( $comments != '' )
- {
- $stylesheet .= "\n$comment_selector {{$comments}}";
- }
-
- $esc = get_var('escaped-chars');
- $esc_selector = str_replace('{PART}', '.es0', $part_selector_1);
- if ( $esc != '' )
- {
- $stylesheet .= "\n$esc_selector {{$esc}}";
- }
-
- $brackets = get_var('brackets');
- $brk_selector = str_replace('{PART}', '.br0', $part_selector_1);
- if ( $brackets != '' )
- {
- $stylesheet .= "\n$brk_selector {{$brackets}}";
- }
-
- $strings = get_var('strings');
- $string_selector = str_replace('{PART}', '.st0', $part_selector_1);
- if ( $strings != '' )
- {
- $stylesheet .= "\n$string_selector {{$strings}}";
- }
-
- $numbers = get_var('numbers');
- $num_selector = str_replace('{PART}', '.nu0', $part_selector_1);
- if ( $numbers != '' )
- {
- $stylesheet .= "\n$num_selector {{$numbers}}";
- }
-
- $methods = get_var('methods');
- $method_selector = str_replace('{PART}', '.me0', $part_selector_1);
- if ( $methods != '' )
- {
- $stylesheet .= "\n$method_selector {{$methods}}";
- }
-
- echo "<pre>$stylesheet</pre>";
-
- make_footer();
-}
diff --git a/extensions/SyntaxHighlight_GeSHi/geshi/contrib/cssgen2.php b/extensions/SyntaxHighlight_GeSHi/geshi/contrib/cssgen2.php
deleted file mode 100644
index cc3c39cb..00000000
--- a/extensions/SyntaxHighlight_GeSHi/geshi/contrib/cssgen2.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-/**
- * A simple script which outputs the CSS classes for all languages
- * supported by GeSHi. You can access it directly to download
- * the CSS file. On *NIX you can also do a simple `php cssgen.php > geshi.css`.
- *
- * This file is part of GeSHi.
- *
- * GeSHi is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GeSHi is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GeSHi; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * @package geshi
- * @subpackage contrib
- * @author revulo <revulon@gmail.com>
- * @copyright 2008 revulo
- * @license http://gnu.org/copyleft/gpl.html GNU GPL
- *
- */
-
-require dirname(dirname(__FILE__)) . DIRECTORY_SEPARATOR . 'geshi.php';
-$geshi = new GeSHi;
-
-$languages = array();
-if ($handle = opendir($geshi->language_path)) {
- while (($file = readdir($handle)) !== false) {
- $pos = strpos($file, '.');
- if ($pos > 0 && substr($file, $pos) == '.php') {
- $languages[] = substr($file, 0, $pos);
- }
- }
- closedir($handle);
-}
-sort($languages);
-
-header('Content-Type: application/octet-stream');
-header('Content-Disposition: attachment; filename="geshi.css"');
-
-echo "/**\n".
- " * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann\n" .
- " * (http://qbnz.com/highlighter/ and http://geshi.org/)\n".
- " */\n";
-
-foreach ($languages as $language) {
- $geshi->set_language($language);
- // note: the false argument is required for stylesheet generators, see API documentation
- $css = $geshi->get_stylesheet(false);
- echo preg_replace('/^\/\*\*.*?\*\//s', '', $css);
-}
diff --git a/extensions/SyntaxHighlight_GeSHi/geshi/contrib/example.php b/extensions/SyntaxHighlight_GeSHi/geshi/contrib/example.php
deleted file mode 100644
index 1ad923d0..00000000
--- a/extensions/SyntaxHighlight_GeSHi/geshi/contrib/example.php
+++ /dev/null
@@ -1,217 +0,0 @@
-<?php
-/**
- * GeSHi example script
- *
- * Just point your browser at this script (with geshi.php in the parent directory,
- * and the language files in subdirectory "../geshi/")
- *
- * @author Nigel McNie
- * @version $Id$
- */
-header('Content-Type: text/html; charset=utf-8');
-
-error_reporting(E_ALL);
-
-// Rudimentary checking of where GeSHi is. In a default install it will be in ../, but
-// it could be in the current directory if the include_path is set. There's nowhere else
-// we can reasonably guess.
-if (is_readable('../geshi.php')) {
- $path = '../';
-} elseif (is_readable('geshi.php')) {
- $path = './';
-} else {
- die('Could not find geshi.php - make sure it is in your include path!');
-}
-require $path . 'geshi.php';
-
-$fill_source = false;
-if (isset($_POST['submit'])) {
- if (get_magic_quotes_gpc()) {
- $_POST['source'] = stripslashes($_POST['source']);
- }
- if (!strlen(trim($_POST['source']))) {
- $_POST['language'] = preg_replace('#[^a-zA-Z0-9\-_]#', '', $_POST['language']);
- $_POST['source'] = implode('', @file($path . 'geshi/' . $_POST['language'] . '.php'));
- $_POST['language'] = 'php';
- } else {
- $fill_source = true;
- }
-
- // Here's a free demo of how GeSHi works.
-
- // First the initialisation: source code to highlight and the language to use. Make sure
- // you sanitise correctly if you use $_POST of course - this very script has had a security
- // advisory against it in the past because of this. Please try not to use this script on a
- // live site.
- $geshi = new GeSHi($_POST['source'], $_POST['language']);
-
- // Use the PRE_VALID header. This means less output source since we don't have to output &nbsp;
- // everywhere. Of course it also means you can't set the tab width.
- // HEADER_PRE_VALID puts the <pre> tag inside the list items (<li>) thus producing valid HTML markup.
- // HEADER_PRE puts the <pre> tag around the list (<ol>) which is invalid in HTML 4 and XHTML 1
- // HEADER_DIV puts a <div> tag arount the list (valid!) but needs to replace whitespaces with &nbsp
- // thus producing much larger overhead. You can set the tab width though.
- $geshi->set_header_type(GESHI_HEADER_PRE_VALID);
-
- // Enable CSS classes. You can use get_stylesheet() to output a stylesheet for your code. Using
- // CSS classes results in much less output source.
- $geshi->enable_classes();
-
- // Enable line numbers. We want fancy line numbers, and we want every 5th line number to be fancy
- $geshi->enable_line_numbers(GESHI_FANCY_LINE_NUMBERS, 5);
-
- // Set the style for the PRE around the code. The line numbers are contained within this box (not
- // XHTML compliant btw, but if you are liberally minded about these things then you'll appreciate
- // the reduced source output).
- $geshi->set_overall_style('font: normal normal 90% monospace; color: #000066; border: 1px solid #d0d0d0; background-color: #f0f0f0;', false);
-
- // Set the style for line numbers. In order to get style for line numbers working, the <li> element
- // is being styled. This means that the code on the line will also be styled, and most of the time
- // you don't want this. So the set_code_style reverts styles for the line (by using a <div> on the line).
- // So the source output looks like this:
- //
- // <pre style="[set_overall_style styles]"><ol>
- // <li style="[set_line_style styles]"><div style="[set_code_style styles]>...</div></li>
- // ...
- // </ol></pre>
- $geshi->set_line_style('color: #003030;', 'font-weight: bold; color: #006060;', true);
- $geshi->set_code_style('color: #000020;', true);
-
- // Styles for hyperlinks in the code. GESHI_LINK for default styles, GESHI_HOVER for hover style etc...
- // note that classes must be enabled for this to work.
- $geshi->set_link_styles(GESHI_LINK, 'color: #000060;');
- $geshi->set_link_styles(GESHI_HOVER, 'background-color: #f0f000;');
-
- // Use the header/footer functionality. This puts a div with content within the PRE element, so it is
- // affected by the styles set by set_overall_style. So if the PRE has a border then the header/footer will
- // appear inside it.
- $geshi->set_header_content('<SPEED> <TIME> GeSHi &copy; 2004-2007, Nigel McNie, 2007-2008 Benny Baumann. View source of example.php for example of using GeSHi');
- $geshi->set_header_content_style('font-family: sans-serif; color: #808080; font-size: 70%; font-weight: bold; background-color: #f0f0ff; border-bottom: 1px solid #d0d0d0; padding: 2px;');
-
- // You can use <TIME> and <VERSION> as placeholders
- $geshi->set_footer_content('Parsed in <TIME> seconds at <SPEED>, using GeSHi <VERSION>');
- $geshi->set_footer_content_style('font-family: sans-serif; color: #808080; font-size: 70%; font-weight: bold; background-color: #f0f0ff; border-top: 1px solid #d0d0d0; padding: 2px;');
-} else {
- // make sure we don't preselect any language
- $_POST['language'] = null;
-}
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>GeSHi examples</title>
- <style type="text/css">
- <!--
- <?php
- if (isset($_POST['submit'])) {
- // Output the stylesheet. Note it doesn't output the <style> tag
- echo $geshi->get_stylesheet(true);
- }
- ?>
- html {
- background-color: #f0f0f0;
- }
- body {
- font-family: Verdana, Arial, sans-serif;
- margin: 10px;
- border: 2px solid #e0e0e0;
- background-color: #fcfcfc;
- padding: 5px;
- }
- h2 {
- margin: .1em 0 .2em .5em;
- border-bottom: 1px solid #b0b0b0;
- color: #b0b0b0;
- font-weight: normal;
- font-size: 150%;
- }
- h3 {
- margin: .1em 0 .2em .5em;
- color: #b0b0b0;
- font-weight: normal;
- font-size: 120%;
- }
- #footer {
- text-align: center;
- font-size: 80%;
- color: #a9a9a9;
- }
- #footer a {
- color: #9999ff;
- }
- textarea {
- border: 1px solid #b0b0b0;
- font-size: 90%;
- color: #333;
- margin-left: 20px;
- }
- select, input {
- margin-left: 20px;
- }
- p {
- font-size: 90%;
- margin-left: .5em;
- }
- -->
- </style>
-</head>
-<body>
-<h2>GeSHi Example Script</h2>
-<p>To use this script, make sure that <strong>geshi.php</strong> is in the parent directory or in your
-include_path, and that the language files are in a subdirectory of GeSHi's directory called <strong>geshi/</strong>.</p>
-<p>Enter your source and a language to highlight the source in and submit, or just choose a language to
-have that language file highlighted in PHP.</p>
-<?php
-if (isset($_POST['submit'])) {
- // The fun part :)
- echo $geshi->parse_code();
- echo '<hr />';
-}
-?>
-<form action="?" method="post">
-<h3>Source to highlight</h3>
-<p>
-<textarea rows="10" cols="60" name="source" id="source"><?php echo $fill_source ? htmlspecialchars($_POST['source']) : '' ?></textarea>
-</p>
-<h3>Choose a language</h3>
-<p>
-<select name="language" id="language">
-<?php
-if (!($dir = @opendir(dirname(__FILE__) . '/geshi'))) {
- if (!($dir = @opendir(dirname(__FILE__) . '/../geshi'))) {
- echo '<option>No languages available!</option>';
- }
-}
-$languages = array();
-while ($file = readdir($dir)) {
- if ( $file[0] == '.' || strpos($file, '.', 1) === false) {
- continue;
- }
- $lang = substr($file, 0, strpos($file, '.'));
- $languages[] = $lang;
-}
-closedir($dir);
-sort($languages);
-foreach ($languages as $lang) {
- if (isset($_POST['language']) && $_POST['language'] == $lang) {
- $selected = 'selected="selected"';
- } else {
- $selected = '';
- }
- echo '<option value="' . $lang . '" '. $selected .'>' . $lang . "</option>\n";
-}
-
-?>
-</select>
-</p>
-<p>
-<input type="submit" name="submit" value="Highlight Source" />
-<input type="submit" name="clear" onclick="document.getElementById('source').value='';document.getElementById('language').value='';return false" value="clear" />
-</p>
-</form>
-<div id="footer">GeSHi &copy; Nigel McNie, 2004, released under the GNU GPL<br />
-For a better demonstration, check out the <a href="http://qbnz.com/highlighter/demo.php">online demo</a>
-</div>
-</body>
-</html>
diff --git a/extensions/SyntaxHighlight_GeSHi/geshi/contrib/langcheck.php b/extensions/SyntaxHighlight_GeSHi/geshi/contrib/langcheck.php
deleted file mode 100644
index ce5aed1f..00000000
--- a/extensions/SyntaxHighlight_GeSHi/geshi/contrib/langcheck.php
+++ /dev/null
@@ -1,778 +0,0 @@
-<?php
-/**
- * GeSHi language file validation script
- *
- * Just point your browser at this script (with geshi.php in the parent directory)
- * and the language files in subdirectory "../geshi/" are being validated
- *
- * CLI mode is supported
- *
- * @author Benny Baumann
- * @version $Id$
- */
-header('Content-Type: text/html; charset=utf-8');
-
-set_time_limit(0);
-error_reporting(E_ALL);
-$time_start = explode(' ', microtime());
-
-function colorize($level, $string) {
- static $colors, $end;
- if ( !isset($colors) ) {
- if ( PHP_SAPI != 'cli' ) {
- $end = '</span>';
- $colors = array(
- TYPE_NOTICE => '<span style="color:#080;font-weight:bold;">',
- TYPE_WARNING => '<span style="color:#CC0; font-weight: bold;">',
- TYPE_ERROR => '<span style="color:#F00; font-weight: bold;">',
- TYPE_OK => '<span style="color: #080; font-weight: bold;">'
- );
- } else {
- $end = chr(27).'[0m';
- $colors = array(
- TYPE_NOTICE => chr(27).'[1m',
- TYPE_WARNING => chr(27).'[1;33m',
- TYPE_ERROR => chr(27).'[1;31m',
- TYPE_OK => chr(27).'[1;32m'
- );
- }
- }
-
- if ( !isset($colors[$level]) ) {
- trigger_error("no colors for level $level", E_USER_ERROR);
- }
-
- return $colors[$level].$string.$end;
-}
-
-define ('TYPE_NOTICE', 0);
-define ('TYPE_WARNING', 1);
-define ('TYPE_ERROR', 2);
-define ('TYPE_OK', 3);
-
-$error_abort = false;
-$error_cache = array();
-function output_error_cache(){
- global $error_cache;
-
- if(count($error_cache)) {
- echo colorize(TYPE_ERROR, "Failed");
- if ( PHP_SAPI == 'cli' ) {
- echo "\n\n";
- } else {
- echo "<br /><ol>\n";
- }
- foreach($error_cache as $error_msg) {
- if ( PHP_SAPI == 'cli' ) {
- echo "\n";
- } else {
- echo "<li>";
- }
- switch($error_msg['t']) {
- case TYPE_NOTICE:
- $msg = 'NOTICE';
- break;
- case TYPE_WARNING:
- $msg = 'WARNING';
- break;
- case TYPE_ERROR:
- $msg = 'ERROR';
- break;
- }
- echo colorize($error_msg['t'], $msg);
- if ( PHP_SAPI == 'cli' ) {
- echo "\t" . $error_msg['m'];
- } else {
- echo " " . $error_msg['m'] . "</li>";
- }
- }
- if ( PHP_SAPI == 'cli' ) {
- echo "\n";
- } else {
- echo "</ol>\n";
- }
- } else {
- echo colorize(TYPE_OK, "OK");
- if ( PHP_SAPI == 'cli' ) {
- echo "\n";
- } else {
- echo "\n<br />";
- }
- }
- echo "\n";
-
- $error_cache = array();
-}
-
-function report_error($type, $message) {
- global $error_cache, $error_abort;
-
- $error_cache[] = array('t' => $type, 'm' => $message);
- if(TYPE_ERROR == $type) {
- $error_abort = true;
- }
-}
-
-function dupfind_strtolower(&$value){
- $value = strtolower($value);
-}
-
-if ( PHP_SAPI != 'cli' ) { ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>GeSHi Language File Validation Script</title>
- <style type="text/css">
- <!--
- html {
- background-color: #f0f0f0;
- }
- body {
- font-family: Verdana, Arial, sans-serif;
- margin: 10px;
- border: 2px solid #e0e0e0;
- background-color: #fcfcfc;
- padding: 5px;
- font-size: 10pt;
- }
- h2 {
- margin: .1em 0 .2em .5em;
- border-bottom: 1px solid #b0b0b0;
- color: #b0b0b0;
- font-weight: normal;
- font-size: 150%;
- }
- h3 {
- margin: .1em 0 .2em .5em;
- color: #b0b0b0;
- font-weight: normal;
- font-size: 120%;
- }
- #footer {
- text-align: center;
- font-size: 80%;
- color: #a9a9a9;
- }
- #footer a {
- color: #9999ff;
- }
- textarea {
- border: 1px solid #b0b0b0;
- font-size: 90%;
- color: #333;
- margin-left: 20px;
- }
- select, input {
- margin-left: 20px;
- }
- p {
- font-size: 90%;
- margin-left: .5em;
- }
- -->
- </style>
-</head>
-<body>
-<h2>GeSHi Language File Validation Script</h2>
-<p>To use this script, make sure that <strong>geshi.php</strong> is in the
-parent directory or in your include_path, and that the language files are in a
-subdirectory of GeSHi's directory called <strong>geshi/</strong>.</p>
-<p>Everything else will be done by this script automatically. After the script
-finished you should see messages of what could cause trouble with GeSHi or where
-your language files can be improved. Please be patient, as this might take some time.</p>
-
-<ol>
-<li>Checking where to find GeSHi installation ...<?php
-} else { ?>
-<?php echo colorize(TYPE_NOTICE, "#### GeSHi Language File Validation Script ####") ?>
-
-
-To use this script, make sure that <?php echo colorize(TYPE_NOTICE, "geshi.php"); ?> is in the
-parent directory or in your include_path, and that the language files are in a
-subdirectory of GeSHi's directory called <?php echo colorize(TYPE_NOTICE, "geshi/"); ?>.
-
-Everything else will be done by this script automatically. After the script
-finished you should see messages of what could cause trouble with GeSHi or where
-your language files can be improved. Please be patient, as this might take some time.
-
-
-Checking where to find GeSHi installation ...<?php echo "\t";
-}
-
-// Rudimentary checking of where GeSHi is. In a default install it will be in ../, but
-// it could be in the current directory if the include_path is set. There's nowhere else
-// we can reasonably guess.
-if (is_readable('../geshi.php')) {
- $path = '../';
-} elseif (is_readable('geshi.php')) {
- $path = './';
-} else {
- report_error(TYPE_ERROR, 'Could not find geshi.php - make sure it is in your include path!');
-}
-
-if(!$error_abort) {
- require $path . 'geshi.php';
-
- if(!class_exists('GeSHi')) {
- report_error(TYPE_ERROR, 'The GeSHi class was not found, although it seemed we loaded the correct file!');
- }
-}
-
-if(!$error_abort) {
- if(!defined('GESHI_LANG_ROOT')) {
- report_error(TYPE_ERROR, 'There\'s no information present on where to find the language files!');
- } elseif(!is_dir(GESHI_LANG_ROOT)) {
- report_error(TYPE_ERROR, 'The path "'.GESHI_LANG_ROOT.'" given, does not ressemble a directory!');
- } elseif(!is_readable(GESHI_LANG_ROOT)) {
- report_error(TYPE_ERROR, 'The path "'.GESHI_LANG_ROOT.'" is not readable to this script!');
- }
-}
-
-output_error_cache();
-
-if(!$error_abort) {
- if ( PHP_SAPI == 'cli' ) {
- echo "Listing available language files ...\t\t";
- } else {
- echo "</li>\n<li>Listing available language files ... ";
- }
-
- if (!($dir = @opendir(GESHI_LANG_ROOT))) {
- report_error(TYPE_ERROR, 'Error requesting listing for available language files!');
- }
-
- $languages = array();
-
- if(!$error_abort) {
- while ($file = readdir($dir)) {
- if (!$file || $file[0] == '.' || strpos($file, '.php') === false) {
- continue;
- }
- $lang = substr($file, 0, strpos($file, '.'));
- if(4 != strlen($file) - strlen($lang)) {
- continue;
- }
- $languages[] = $lang;
- }
- closedir($dir);
- }
-
- $languages = array_unique($languages);
- sort($languages);
-
- if(!count($languages)) {
- report_error(TYPE_WARNING, 'Unable to locate any usable language files in "'.GESHI_LANG_ROOT.'"!');
- }
-
- output_error_cache();
-}
-
-if ( PHP_SAPI == 'cli' ) {
- if (isset($_SERVER['argv'][1]) && in_array($_SERVER['argv'][1], $languages)) {
- $languages = array($_SERVER['argv'][1]);
- }
-} else {
- if (isset($_REQUEST['show']) && in_array($_REQUEST['show'], $languages)) {
- $languages = array($_REQUEST['show']);
- }
-}
-
-if(!$error_abort) {
- foreach ($languages as $lang) {
-
- if ( PHP_SAPI == 'cli' ) {
- echo "Validating language file for '$lang' ...\t\t";
- } else {
- echo "</li>\n<li>Validating language file for '$lang' ... ";
- }
-
- $langfile = GESHI_LANG_ROOT . $lang . '.php';
-
- $language_data = array();
-
- if(!is_file($langfile)) {
- report_error(TYPE_ERROR, 'The path "' .$langfile. '" does not ressemble a regular file!');
- } elseif(!is_readable($langfile)) {
- report_error(TYPE_ERROR, 'Cannot read file "' .$langfile. '"!');
- } else {
- $langfile_content = file_get_contents($langfile);
- if(preg_match("/\?>(?:\r?\n|\r(?!\n)){2,}\Z/", $langfile_content)) {
- report_error(TYPE_ERROR, 'Language file contains trailing empty lines at EOF!');
- }
- if(preg_match("/\?>(?:\r?\n|\r(?!\n))?\Z/", $langfile_content)) {
- report_error(TYPE_ERROR, 'Language file contains an PHP end marker at EOF!');
- }
- if(!preg_match("/(?:\r?\n|\r(?!\n))\Z/", $langfile_content)) {
- report_error(TYPE_ERROR, 'Language file contains no newline at EOF!');
- }
- if(preg_match("/(\r?\n|\r(?!\n))\\1\Z/", $langfile_content)) {
- report_error(TYPE_ERROR, 'Language file contains trailing empty line before EOF!');
- }
- if(preg_match("/[\x20\t]$/m", $langfile_content)) {
- report_error(TYPE_ERROR, 'Language file contains trailing whitespace at EOL!');
- }
- if(preg_match("/\t/", $langfile_content)) {
- report_error(TYPE_NOTICE, 'Language file contains unescaped tabulator chars (probably for indentation)!');
- }
- if(preg_match('/^(?: )*(?! )(?! \*) /m', $langfile_content)) {
- report_error(TYPE_NOTICE, 'Language file contains irregular indentation (other than 4 spaces per indentation level)!');
- }
-
- if(!preg_match("/\/\*\*((?!\*\/).)*?Author:((?!\*\/).)*?\*\//s", $langfile_content)) {
- report_error(TYPE_WARNING, 'Language file does not contain a specification of an author!');
- }
- if(!preg_match("/\/\*\*((?!\*\/).)*?Copyright:((?!\*\/).)*?\*\//s", $langfile_content)) {
- report_error(TYPE_WARNING, 'Language file does not contain a specification of the copyright!');
- }
- if(!preg_match("/\/\*\*((?!\*\/).)*?Release Version:((?!\*\/).)*?\*\//s", $langfile_content)) {
- report_error(TYPE_WARNING, 'Language file does not contain a specification of the release version!');
- }
- if(!preg_match("/\/\*\*((?!\*\/).)*?Date Started:((?!\*\/).)*?\*\//s", $langfile_content)) {
- report_error(TYPE_WARNING, 'Language file does not contain a specification of the date it was started!');
- }
- if(!preg_match("/\/\*\*((?!\*\/).)*?This file is part of GeSHi\.((?!\*\/).)*?\*\//s", $langfile_content)) {
- report_error(TYPE_WARNING, 'Language file does not state that it belongs to GeSHi!');
- }
- if(!preg_match("/\/\*\*((?!\*\/).)*?language file for GeSHi\.((?!\*\/).)*?\*\//s", $langfile_content)) {
- report_error(TYPE_WARNING, 'Language file does not state that it is a language file for GeSHi!');
- }
- if(!preg_match("/\/\*\*((?!\*\/).)*?GNU General Public License((?!\*\/).)*?\*\//s", $langfile_content)) {
- report_error(TYPE_WARNING, 'Language file does not state that it is provided under the terms of the GNU GPL!');
- }
-
- unset($langfile_content);
-
- include $langfile;
-
- if(!isset($language_data)) {
- report_error(TYPE_ERROR, 'Language file does not contain a $language_data structure to check!');
- } elseif (!is_array($language_data)) {
- report_error(TYPE_ERROR, 'Language file contains a $language_data structure which is not an array!');
- }
- }
-
- if(!$error_abort) {
- if(!isset($language_data['LANG_NAME'])) {
- report_error(TYPE_ERROR, 'Language file contains no $language_data[\'LANG_NAME\'] specification!');
- } elseif (!is_string($language_data['LANG_NAME'])) {
- report_error(TYPE_ERROR, 'Language file contains a $language_data[\'LANG_NAME\'] specification which is not a string!');
- }
-
- if(!isset($language_data['COMMENT_SINGLE'])) {
- report_error(TYPE_ERROR, 'Language file contains no $language_data[\'COMMENT_SIGNLE\'] structure to check!');
- } elseif (!is_array($language_data['COMMENT_SINGLE'])) {
- report_error(TYPE_ERROR, 'Language file contains a $language_data[\'COMMENT_SINGLE\'] structure which is not an array!');
- }
-
- if(!isset($language_data['COMMENT_MULTI'])) {
- report_error(TYPE_ERROR, 'Language file contains no $language_data[\'COMMENT_MULTI\'] structure to check!');
- } elseif (!is_array($language_data['COMMENT_MULTI'])) {
- report_error(TYPE_ERROR, 'Language file contains a $language_data[\'COMMENT_MULTI\'] structure which is not an array!');
- }
-
- if(isset($language_data['COMMENT_REGEXP'])) {
- if (!is_array($language_data['COMMENT_REGEXP'])) {
- report_error(TYPE_ERROR, 'Language file contains a $language_data[\'COMMENT_REGEXP\'] structure which is not an array!');
- }
- }
-
- if(!isset($language_data['QUOTEMARKS'])) {
- report_error(TYPE_ERROR, 'Language file contains no $language_data[\'QUOTEMARKS\'] structure to check!');
- } elseif (!is_array($language_data['QUOTEMARKS'])) {
- report_error(TYPE_ERROR, 'Language file contains a $language_data[\'QUOTEMARKS\'] structure which is not an array!');
- }
-
- if(isset($language_data['HARDQUOTE'])) {
- if (!is_array($language_data['HARDQUOTE'])) {
- report_error(TYPE_ERROR, 'Language file contains a $language_data[\'HARDQUOTE\'] structure which is not an array!');
- }
- }
-
- if(!isset($language_data['ESCAPE_CHAR'])) {
- report_error(TYPE_ERROR, 'Language file contains no $language_data[\'ESCAPE_CHAR\'] specification to check!');
- } elseif (!is_string($language_data['ESCAPE_CHAR'])) {
- report_error(TYPE_ERROR, 'Language file contains a $language_data[\'ESCAPE_CHAR\'] specification which is not a string!');
- } elseif (1 < strlen($language_data['ESCAPE_CHAR'])) {
- report_error(TYPE_ERROR, 'Language file contains a $language_data[\'ESCAPE_CHAR\'] specification is not empty or exactly one char!');
- }
-
- if(!isset($language_data['CASE_KEYWORDS'])) {
- report_error(TYPE_ERROR, 'Language file contains no $language_data[\'CASE_KEYWORDS\'] specification!');
- } elseif (!is_int($language_data['CASE_KEYWORDS'])) {
- report_error(TYPE_ERROR, 'Language file contains a $language_data[\'CASE_KEYWORDS\'] specification which is not an integer!');
- } elseif (GESHI_CAPS_NO_CHANGE != $language_data['CASE_KEYWORDS'] &&
- GESHI_CAPS_LOWER != $language_data['CASE_KEYWORDS'] &&
- GESHI_CAPS_UPPER != $language_data['CASE_KEYWORDS']) {
- report_error(TYPE_ERROR, 'Language file contains a $language_data[\'CASE_KEYWORDS\'] specification which is neither of GESHI_CAPS_NO_CHANGE, GESHI_CAPS_LOWER nor GESHI_CAPS_UPPER!');
- }
-
- if(!isset($language_data['KEYWORDS'])) {
- report_error(TYPE_ERROR, 'Language file contains no $language_data[\'KEYWORDS\'] structure to check!');
- } elseif (!is_array($language_data['KEYWORDS'])) {
- report_error(TYPE_ERROR, 'Language file contains a $language_data[\'KEYWORDS\'] structure which is not an array!');
- } else {
- foreach($language_data['KEYWORDS'] as $kw_key => $kw_value) {
- if(!is_integer($kw_key)) {
- report_error(TYPE_WARNING, "Language file contains an key '$kw_key' in \$language_data['KEYWORDS'] that is not integer!");
- } elseif (!is_array($kw_value)) {
- report_error(TYPE_ERROR, "Language file contains a \$language_data['KEYWORDS']['$kw_value'] structure which is not an array!");
- }
- }
- }
-
- if(!isset($language_data['SYMBOLS'])) {
- report_error(TYPE_ERROR, 'Language file contains no $language_data[\'SYMBOLS\'] structure to check!');
- } elseif (!is_array($language_data['SYMBOLS'])) {
- report_error(TYPE_ERROR, 'Language file contains a $language_data[\'SYMBOLS\'] structure which is not an array!');
- }
-
- if(!isset($language_data['CASE_SENSITIVE'])) {
- report_error(TYPE_ERROR, 'Language file contains no $language_data[\'CASE_SENSITIVE\'] structure to check!');
- } elseif (!is_array($language_data['CASE_SENSITIVE'])) {
- report_error(TYPE_ERROR, 'Language file contains a $language_data[\'CASE_SENSITIVE\'] structure which is not an array!');
- } else {
- foreach($language_data['CASE_SENSITIVE'] as $cs_key => $cs_value) {
- if(!is_integer($cs_key)) {
- report_error(TYPE_WARNING, "Language file contains an key '$cs_key' in \$language_data['CASE_SENSITIVE'] that is not integer!");
- } elseif (!is_bool($cs_value)) {
- report_error(TYPE_ERROR, "Language file contains a Case Sensitivity specification for \$language_data['CASE_SENSITIVE']['$cs_value'] which is not a boolean!");
- }
- }
- }
-
- if(!isset($language_data['URLS'])) {
- report_error(TYPE_ERROR, 'Language file contains no $language_data[\'URLS\'] structure to check!');
- } elseif (!is_array($language_data['URLS'])) {
- report_error(TYPE_ERROR, 'Language file contains a $language_data[\'URLS\'] structure which is not an array!');
- } else {
- foreach($language_data['URLS'] as $url_key => $url_value) {
- if(!is_integer($url_key)) {
- report_error(TYPE_WARNING, "Language file contains an key '$url_key' in \$language_data['URLS'] that is not integer!");
- } elseif (!is_string($url_value)) {
- report_error(TYPE_ERROR, "Language file contains a Documentation URL specification for \$language_data['URLS']['$url_value'] which is not a string!");
- } elseif (preg_match('#&([^;]*(=|$))#U', $url_value)) {
- report_error(TYPE_ERROR, "Language file contains unescaped ampersands (&amp;) in \$language_data['URLS']!");
- }
- }
- }
-
- if(!isset($language_data['OOLANG'])) {
- report_error(TYPE_ERROR, 'Language file contains no $language_data[\'OOLANG\'] specification!');
- } elseif (!is_int($language_data['OOLANG']) && !is_bool($language_data['OOLANG'])) {
- report_error(TYPE_ERROR, 'Language file contains a $language_data[\'OOLANG\'] specification which is neither boolean nor integer!');
- } elseif (false !== $language_data['OOLANG'] &&
- true !== $language_data['OOLANG'] &&
- 2 !== $language_data['OOLANG']) {
- report_error(TYPE_ERROR, 'Language file contains a $language_data[\'OOLANG\'] specification which is neither of false, true or 2!');
- }
-
- if(!isset($language_data['OBJECT_SPLITTERS'])) {
- report_error(TYPE_ERROR, 'Language file contains no $language_data[\'OBJECT_SPLITTERS\'] structure to check!');
- } elseif (!is_array($language_data['OBJECT_SPLITTERS'])) {
- report_error(TYPE_ERROR, 'Language file contains a $language_data[\'OBJECT_SPLITTERS\'] structure which is not an array!');
- }
-
- if(!isset($language_data['REGEXPS'])) {
- report_error(TYPE_ERROR, 'Language file contains no $language_data[\'REGEXPS\'] structure to check!');
- } elseif (!is_array($language_data['REGEXPS'])) {
- report_error(TYPE_ERROR, 'Language file contains a $language_data[\'REGEXPS\'] structure which is not an array!');
- }
-
- if(!isset($language_data['STRICT_MODE_APPLIES'])) {
- report_error(TYPE_ERROR, 'Language file contains no $language_data[\'STRICT_MODE_APPLIES\'] specification!');
- } elseif (!is_int($language_data['STRICT_MODE_APPLIES'])) {
- report_error(TYPE_ERROR, 'Language file contains a $language_data[\'STRICT_MODE_APPLIES\'] specification which is not an integer!');
- } elseif (GESHI_MAYBE != $language_data['STRICT_MODE_APPLIES'] &&
- GESHI_ALWAYS != $language_data['STRICT_MODE_APPLIES'] &&
- GESHI_NEVER != $language_data['STRICT_MODE_APPLIES']) {
- report_error(TYPE_ERROR, 'Language file contains a $language_data[\'STRICT_MODE_APPLIES\'] specification which is neither of GESHI_MAYBE, GESHI_ALWAYS nor GESHI_NEVER!');
- }
-
- if(!isset($language_data['SCRIPT_DELIMITERS'])) {
- report_error(TYPE_ERROR, 'Language file contains no $language_data[\'SCRIPT_DELIMITERS\'] structure to check!');
- } elseif (!is_array($language_data['SCRIPT_DELIMITERS'])) {
- report_error(TYPE_ERROR, 'Language file contains a $language_data[\'SCRIPT_DELIMITERS\'] structure which is not an array!');
- }
-
- if(!isset($language_data['HIGHLIGHT_STRICT_BLOCK'])) {
- report_error(TYPE_ERROR, 'Language file contains no $language_data[\'HIGHLIGHT_STRICT_BLOCK\'] structure to check!');
- } elseif (!is_array($language_data['HIGHLIGHT_STRICT_BLOCK'])) {
- report_error(TYPE_ERROR, 'Language file contains a $language_data[\'HIGHLIGHT_STRICT_BLOCK\'] structure which is not an array!');
- }
-
- if(isset($language_data['TAB_WIDTH'])) {
- if (!is_int($language_data['TAB_WIDTH'])) {
- report_error(TYPE_ERROR, 'Language file contains a $language_data[\'TAB_WIDTH\'] specification which is not an integer!');
- } elseif (1 > $language_data['TAB_WIDTH']) {
- report_error(TYPE_ERROR, 'Language file contains a $language_data[\'TAB_WIDTH\'] specification which is less than 1!');
- }
- }
-
- if(isset($language_data['PARSER_CONTROL'])) {
- if (!is_array($language_data['PARSER_CONTROL'])) {
- report_error(TYPE_ERROR, 'Language file contains a $language_data[\'PARSER_CONTROL\'] structure which is not an array!');
- }
- }
-
- if(!isset($language_data['STYLES'])) {
- report_error(TYPE_ERROR, 'Language file contains no $language_data[\'STYLES\'] structure to check!');
- } elseif (!is_array($language_data['STYLES'])) {
- report_error(TYPE_ERROR, 'Language file contains a $language_data[\'STYLES\'] structure which is not an array!');
- } else {
- $style_arrays = array('KEYWORDS', 'COMMENTS', 'ESCAPE_CHAR',
- 'BRACKETS', 'STRINGS', 'NUMBERS', 'METHODS', 'SYMBOLS',
- 'REGEXPS', 'SCRIPT');
- foreach($style_arrays as $style_kind) {
- if(!isset($language_data['STYLES'][$style_kind])) {
- report_error(TYPE_ERROR, "Language file contains no \$language_data['STYLES']['$style_kind'] structure to check!");
- } elseif (!is_array($language_data['STYLES'][$style_kind])) {
- report_error(TYPE_ERROR, "Language file contains a \$language_data['STYLES\']['$style_kind'] structure which is not an array!");
- } else {
- foreach($language_data['STYLES'][$style_kind] as $sk_key => $sk_value) {
- if(!is_int($sk_key) && ('COMMENTS' != $style_kind && 'MULTI' != $sk_key)
- && !(('STRINGS' == $style_kind || 'ESCAPE_CHAR' == $style_kind) && 'HARD' == $sk_key)) {
- report_error(TYPE_WARNING, "Language file contains an key '$sk_key' in \$language_data['STYLES']['$style_kind'] that is not integer!");
- } elseif (!is_string($sk_value)) {
- report_error(TYPE_WARNING, "Language file contains a CSS specification for \$language_data['STYLES']['$style_kind'][$key] which is not a string!");
- }
- }
- }
- }
-
- unset($style_arrays);
- }
- }
-
- if(!$error_abort) {
- //Initial sanity checks survived? --> Let's dig deeper!
- foreach($language_data['KEYWORDS'] as $key => $keywords) {
- if(!isset($language_data['CASE_SENSITIVE'][$key])) {
- report_error(TYPE_ERROR, "Language file contains no \$language_data['CASE_SENSITIVE'] specification for keyword group $key!");
- }
- if(!isset($language_data['URLS'][$key])) {
- report_error(TYPE_ERROR, "Language file contains no \$language_data['URLS'] specification for keyword group $key!");
- }
- if(empty($keywords)) {
- report_error(TYPE_WARNING, "Language file contains an empty keyword list in \$language_data['KEYWORDS'] for group $key!");
- }
- foreach($keywords as $id => $kw) {
- if(!is_string($kw)) {
- report_error(TYPE_WARNING, "Language file contains an non-string entry at \$language_data['KEYWORDS'][$key][$id]!");
- } elseif (!strlen($kw)) {
- report_error(TYPE_ERROR, "Language file contains an empty string entry at \$language_data['KEYWORDS'][$key][$id]!");
- } elseif (preg_match('/^([\(\)\{\}\[\]\^=.,:;\-+\*\/%\$\"\'\?]|&[\w#]\w*;)+$/i', $kw)) {
- report_error(TYPE_NOTICE, "Language file contains an keyword ('$kw') at \$language_data['KEYWORDS'][$key][$id] which seems to be better suited for the symbols section!");
- }
- }
- if(isset($language_data['CASE_SENSITIVE'][$key]) && !$language_data['CASE_SENSITIVE'][$key]) {
- array_walk($keywords, 'dupfind_strtolower');
- }
- if(count($keywords) != count(array_unique($keywords))) {
- $kw_diffs = array_count_values($keywords);
- foreach($kw_diffs as $kw => $kw_count) {
- if($kw_count > 1) {
- report_error(TYPE_WARNING, "Language file contains per-group duplicate keyword '$kw' in \$language_data['KEYWORDS'][$key]!");
- }
- }
- }
- }
-
- $disallowed_before = "(?<![a-zA-Z0-9\$_\|\#;>|^&";
- $disallowed_after = "(?![a-zA-Z0-9_\|%\\-&;";
-
- foreach($language_data['KEYWORDS'] as $key => $keywords) {
- foreach($language_data['KEYWORDS'] as $key2 => $keywords2) {
- if($key2 <= $key) {
- continue;
- }
- $kw_diffs = array_intersect($keywords, $keywords2);
- foreach($kw_diffs as $kw) {
- if(isset($language_data['PARSER_CONTROL']['KEYWORDS'])) {
- //Check the precondition\post-cindition for the involved keyword groups
- $g1_pre = $disallowed_before;
- $g2_pre = $disallowed_before;
- $g1_post = $disallowed_after;
- $g2_post = $disallowed_after;
- if(isset($language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_BEFORE'])) {
- $g1_pre = $language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_BEFORE'];
- $g2_pre = $language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_BEFORE'];
- }
- if(isset($language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_AFTER'])) {
- $g1_post = $language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_AFTER'];
- $g2_post = $language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_AFTER'];
- }
-
- if(isset($language_data['PARSER_CONTROL']['KEYWORDS'][$key]['DISALLOWED_BEFORE'])) {
- $g1_pre = $language_data['PARSER_CONTROL']['KEYWORDS'][$key]['DISALLOWED_BEFORE'];
- }
- if(isset($language_data['PARSER_CONTROL']['KEYWORDS'][$key]['DISALLOWED_AFTER'])) {
- $g1_post = $language_data['PARSER_CONTROL']['KEYWORDS'][$key]['DISALLOWED_AFTER'];
- }
-
- if(isset($language_data['PARSER_CONTROL']['KEYWORDS'][$key2]['DISALLOWED_BEFORE'])) {
- $g2_pre = $language_data['PARSER_CONTROL']['KEYWORDS'][$key2]['DISALLOWED_BEFORE'];
- }
- if(isset($language_data['PARSER_CONTROL']['KEYWORDS'][$key2]['DISALLOWED_AFTER'])) {
- $g2_post = $language_data['PARSER_CONTROL']['KEYWORDS'][$key2]['DISALLOWED_AFTER'];
- }
-
- if($g1_pre != $g2_pre || $g1_post != $g2_post) {
- continue;
- }
- }
- report_error(TYPE_WARNING, "Language file contains cross-group duplicate keyword '$kw' in \$language_data['KEYWORDS'][$key] and \$language_data['KEYWORDS'][$key2]!");
- }
- }
- }
- foreach($language_data['CASE_SENSITIVE'] as $key => $keywords) {
- if(!isset($language_data['KEYWORDS'][$key]) && $key != GESHI_COMMENTS) {
- report_error(TYPE_WARNING, "Language file contains an superfluous \$language_data['CASE_SENSITIVE'] specification for non-existing keyword group $key!");
- }
- }
- foreach($language_data['URLS'] as $key => $keywords) {
- if(!isset($language_data['KEYWORDS'][$key])) {
- report_error(TYPE_WARNING, "Language file contains an superfluous \$language_data['URLS'] specification for non-existing keyword group $key!");
- }
- }
- foreach($language_data['STYLES']['KEYWORDS'] as $key => $keywords) {
- if(!isset($language_data['KEYWORDS'][$key])) {
- report_error(TYPE_WARNING, "Language file contains an superfluous \$language_data['STYLES']['KEYWORDS'] specification for non-existing keyword group $key!");
- }
- }
-
- foreach($language_data['COMMENT_SINGLE'] as $ck => $cv) {
- if(!is_int($ck)) {
- report_error(TYPE_WARNING, "Language file contains an key '$ck' in \$language_data['COMMENT_SINGLE'] that is not integer!");
- }
- if(!is_string($cv)) {
- report_error(TYPE_WARNING, "Language file contains an non-string entry at \$language_data['COMMENT_SINGLE'][$ck]!");
- }
- if(!isset($language_data['STYLES']['COMMENTS'][$ck])) {
- report_error(TYPE_WARNING, "Language file contains no \$language_data['STYLES']['COMMENTS'] specification for comment group $ck!");
- }
- }
- if(isset($language_data['COMMENT_REGEXP'])) {
- foreach($language_data['COMMENT_REGEXP'] as $ck => $cv) {
- if(!is_int($ck)) {
- report_error(TYPE_WARNING, "Language file contains an key '$ck' in \$language_data['COMMENT_REGEXP'] that is not integer!");
- }
- if(!is_string($cv)) {
- report_error(TYPE_WARNING, "Language file contains an non-string entry at \$language_data['COMMENT_REGEXP'][$ck]!");
- }
- if(!isset($language_data['STYLES']['COMMENTS'][$ck])) {
- report_error(TYPE_WARNING, "Language file contains no \$language_data['STYLES']['COMMENTS'] specification for comment group $ck!");
- }
- }
- }
- foreach($language_data['STYLES']['COMMENTS'] as $ck => $cv) {
- if($ck != 'MULTI' && !isset($language_data['COMMENT_SINGLE'][$ck]) &&
- !isset($language_data['COMMENT_REGEXP'][$ck])) {
- report_error(TYPE_NOTICE, "Language file contains an superfluous \$language_data['STYLES']['COMMENTS'] specification for Single Line or Regular-Expression Comment key $ck!");
- }
- }
- if (isset($language_data['STYLES']['STRINGS']['HARD'])) {
- if (empty($language_data['HARDQUOTE'])) {
- report_error(TYPE_NOTICE, "Language file contains superfluous \$language_data['STYLES']['STRINGS'] specification for key 'HARD', but no 'HARDQUOTE's are defined!");
- }
- unset($language_data['STYLES']['STRINGS']['HARD']);
- }
- foreach($language_data['STYLES']['STRINGS'] as $sk => $sv) {
- if($sk && !isset($language_data['QUOTEMARKS'][$sk])) {
- report_error(TYPE_NOTICE, "Language file contains an superfluous \$language_data['STYLES']['STRINGS'] specification for non-existing quotemark key $sk!");
- }
- }
-
- foreach($language_data['REGEXPS'] as $rk => $rv) {
- if(!is_int($rk)) {
- report_error(TYPE_WARNING, "Language file contains an key '$rk' in \$language_data['REGEXPS'] that is not integer!");
- }
- if(is_string($rv)) {
- //Check for unmasked / in regular expressions ...
- if(empty($rv)) {
- report_error(TYPE_WARNING, "Language file contains an empty regular expression at \$language_data['REGEXPS'][$rk]!");
- } else {
- if(preg_match("/(?<!\\\\)\//s", $rv)) {
- report_error(TYPE_WARNING, "Language file contains a regular expression with an unmasked / character at \$language_data['REGEXPS'][$rk]!");
- } elseif (preg_match("/(?<!<)(\\\\\\\\)*\\\\\|(?!>)/s", $rv)) {
- report_error(TYPE_WARNING, "Language file contains a regular expression with an unescaped match for a pipe character '|' which needs escaping as '&lt;PIPE&gt;' instead at \$language_data['REGEXPS'][$rk]!");
- }
- }
- } elseif(is_array($rv)) {
- if(!isset($rv[GESHI_SEARCH])) {
- report_error(TYPE_ERROR, "Language file contains no GESHI_SEARCH entry in extended regular expression at \$language_data['REGEXPS'][$rk]!");
- } elseif(!is_string($rv[GESHI_SEARCH])) {
- report_error(TYPE_ERROR, "Language file contains a GESHI_SEARCH entry in extended regular expression at \$language_data['REGEXPS'][$rk] which is not a string!");
- } else {
- if(preg_match("/(?<!\\\\)\//s", $rv[GESHI_SEARCH])) {
- report_error(TYPE_WARNING, "Language file contains a regular expression with an unmasked / character at \$language_data['REGEXPS'][$rk]!");
- } elseif (preg_match("/(?<!<)(\\\\\\\\)*\\\\\|(?!>)/s", $rv[GESHI_SEARCH])) {
- report_error(TYPE_WARNING, "Language file contains a regular expression with an unescaped match for a pipe character '|' which needs escaping as '&lt;PIPE&gt;' instead at \$language_data['REGEXPS'][$rk]!");
- }
- }
- if(!isset($rv[GESHI_REPLACE])) {
- report_error(TYPE_WARNING, "Language file contains no GESHI_REPLACE entry in extended regular expression at \$language_data['REGEXPS'][$rk]!");
- } elseif(!is_string($rv[GESHI_REPLACE])) {
- report_error(TYPE_ERROR, "Language file contains a GESHI_REPLACE entry in extended regular expression at \$language_data['REGEXPS'][$rk] which is not a string!");
- }
- if(!isset($rv[GESHI_MODIFIERS])) {
- report_error(TYPE_WARNING, "Language file contains no GESHI_MODIFIERS entry in extended regular expression at \$language_data['REGEXPS'][$rk]!");
- } elseif(!is_string($rv[GESHI_MODIFIERS])) {
- report_error(TYPE_ERROR, "Language file contains a GESHI_MODIFIERS entry in extended regular expression at \$language_data['REGEXPS'][$rk] which is not a string!");
- }
- if(!isset($rv[GESHI_BEFORE])) {
- report_error(TYPE_WARNING, "Language file contains no GESHI_BEFORE entry in extended regular expression at \$language_data['REGEXPS'][$rk]!");
- } elseif(!is_string($rv[GESHI_BEFORE])) {
- report_error(TYPE_ERROR, "Language file contains a GESHI_BEFORE entry in extended regular expression at \$language_data['REGEXPS'][$rk] which is not a string!");
- }
- if(!isset($rv[GESHI_AFTER])) {
- report_error(TYPE_WARNING, "Language file contains no GESHI_AFTER entry in extended regular expression at \$language_data['REGEXPS'][$rk]!");
- } elseif(!is_string($rv[GESHI_AFTER])) {
- report_error(TYPE_ERROR, "Language file contains a GESHI_AFTER entry in extended regular expression at \$language_data['REGEXPS'][$rk] which is not a string!");
- }
- } else {
- report_error(TYPE_WARNING, "Language file contains an non-string and non-array entry at \$language_data['REGEXPS'][$rk]!");
- }
- if(!isset($language_data['STYLES']['REGEXPS'][$rk])) {
- report_error(TYPE_WARNING, "Language file contains no \$language_data['STYLES']['REGEXPS'] specification for regexp group $rk!");
- }
- }
- foreach($language_data['STYLES']['REGEXPS'] as $rk => $rv) {
- if(!isset($language_data['REGEXPS'][$rk])) {
- report_error(TYPE_NOTICE, "Language file contains an superfluous \$language_data['STYLES']['REGEXPS'] specification for regexp key $rk!");
- }
- }
-
-
- }
-
- output_error_cache();
-
- flush();
-
- if($error_abort) {
- break;
- }
- }
-}
-
-$time_end = explode(' ', microtime());
-$time_diff = $time_end[0] + $time_end[1] - $time_start[0] - $time_start[1];
-
-if ( PHP_SAPI != 'cli' ) {
-?></li>
-</ol>
-
-<p>Validation process completed in <?php printf("%.2f", $time_diff); ?> seconds.</p>
-
-<div id="footer">GeSHi &copy; 2004-2007 Nigel McNie, 2007-2008 Benny Baumann, released under the GNU GPL</div>
-</body>
-</html>
-
-<?php } else { ?>
-
-Validation process completed in <?php printf("%.2f", $time_diff); ?> seconds.
-
-GeSHi &copy; 2004-2007 Nigel McNie, 2007-2014 Benny Baumann, released under the GNU GPL
-
-<?php } ?>
diff --git a/extensions/SyntaxHighlight_GeSHi/geshi/contrib/langwiz.php b/extensions/SyntaxHighlight_GeSHi/geshi/contrib/langwiz.php
deleted file mode 100644
index 3338fa66..00000000
--- a/extensions/SyntaxHighlight_GeSHi/geshi/contrib/langwiz.php
+++ /dev/null
@@ -1,1153 +0,0 @@
-<?php
-/**
- * GeSHi example script
- *
- * Just point your browser at this script (with geshi.php in the parent directory,
- * and the language files in subdirectory "../geshi/")
- *
- *This script
- *
- * @author Nigel McNie, Benny Baumann (BenBE@geshi.org), Andreas 'Segaja' Schleifer (webmaster at segaja dot de)
- * @version $Id$
- */
-header('Content-Type: text/html; charset=utf-8');
-
-set_time_limit(0);
-error_reporting(E_ALL);
-$time_start = explode(' ', microtime());
-
-//Handle crappy PHP magic:
-if (get_magic_quotes_gpc()) {
- function stripslashes_deep($value) {
- $value = is_array($value) ?
- array_map('stripslashes_deep', $value) :
- stripslashes($value);
-
- return $value;
- }
-
- $_POST = array_map('stripslashes_deep', $_POST);
- $_GET = array_map('stripslashes_deep', $_GET);
- $_COOKIE = array_map('stripslashes_deep', $_COOKIE);
- $_REQUEST = array_map('stripslashes_deep', $_REQUEST);
-}
-
-function htmlspecialchars_deep($value) {
- return is_array($value) ? array_map('htmlspecialchars_deep', $value) : htmlspecialchars($value);
-}
-
-define ('TYPE_NOTICE', 0);
-define ('TYPE_WARNING', 1);
-define ('TYPE_ERROR', 2);
-
-$error_abort = false;
-$error_cache = array();
-function output_error_cache(){
- global $error_cache;
-
- if(count($error_cache)) {
- echo "<span style=\"color: #F00; font-weight: bold;\">Failed</span><br />";
- echo "<ol>\n";
- foreach($error_cache as $error_msg) {
- echo "<li>";
- switch($error_msg['t']) {
- case TYPE_NOTICE:
- echo "<span style=\"color: #080; font-weight: bold;\">NOTICE:</span>";
- break;
- case TYPE_WARNING:
- echo "<span style=\"color: #CC0; font-weight: bold;\">WARNING:</span>";
- break;
- case TYPE_ERROR:
- echo "<span style=\"color: #F00; font-weight: bold;\">ERROR:</span>";
- break;
- }
- echo " " . $error_msg['m'] . "</li>";
- }
- echo "</ol>\n";
- } else {
- echo "<span style=\"color: #080; font-weight: bold;\">OK</span><br />";
- }
- echo "\n";
-
- $error_cache = array();
-}
-
-function report_error($type, $message) {
- global $error_cache, $error_abort;
-
- $error_cache[] = array('t' => $type, 'm' => $message);
- if(TYPE_ERROR == $type) {
- $error_abort = true;
- }
-}
-
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>GeSHi Language File Generator Script</title>
- <style type="text/css">
- <!--
- html {
- background-color: #f0f0f0;
- }
- body {
- font-family: Verdana, Arial, sans-serif;
- margin: 10px;
- border: 2px solid #e0e0e0;
- background-color: #fcfcfc;
- padding: 5px;
- font-size: 10pt;
- }
- h2 {
- margin: .1em 0 .2em .5em;
- border-bottom: 1px solid #b0b0b0;
- color: #b0b0b0;
- font-weight: normal;
- font-size: 150%;
- }
- h3 {
- margin: .1em 0 .2em .5em;
- color: #b0b0b0;
- font-weight: normal;
- font-size: 120%;
- }
- #footer {
- text-align: center;
- font-size: 80%;
- color: #a9a9a9;
- }
- #footer a {
- color: #9999ff;
- }
- textarea {
- border: 1px solid #b0b0b0;
- font-size: 90%;
- color: #333;
- margin-left: 20px;
- }
- select, input {
- margin-left: 2px;
- border: 1px solid #808080;
- }
- p {
- font-size: 90%;
- margin-left: .5em;
- }
- fieldset {
- border: 1px dotted gray;
- background-color: #f0f0f0;
- margin-bottom: .5em;
- }
- legend {
- font-weight: bold;
- background-color: #f9f9f9;
- border: 1px solid #a0a0a0;
- border-width: 1px 2px 2px 1px;
- }
- fieldset table > tbody > tr > td {
- width: 20%;
- }
- fieldset table > tbody > tr > td+td {
- width: 80%;
- }
-
- fieldset table > tbody > tr > td+td > input {
- width: 98%;
- }
- -->
- </style>
-</head>
-<body>
-<h2>GeSHi Language File Generator Script</h2>
-<p>To use this script, make sure that <strong>geshi.php</strong> is in the
-parent directory or in your include_path, and that the language files are in a
-subdirectory of GeSHi's directory called <strong>geshi/</strong>.</p>
-<p>If not already done, select a language file below that will be used as
-base for the language file to generate or create a blank one. Following this
-you can do whatever you like to edit your language file. But note that not all
-features are made available through this script.</p>
-
-<p>Checking GeSHi installation ... <?php
-// Rudimentary checking of where GeSHi is. In a default install it will be in ../, but
-// it could be in the current directory if the include_path is set. There's nowhere else
-// we can reasonably guess.
-if (is_readable('../geshi.php')) {
- $path = '../';
-} elseif (is_readable('geshi.php')) {
- $path = './';
-} else {
- report_error(TYPE_ERROR, 'Could not find geshi.php - make sure it is in your include path!');
-}
-
-if(!$error_abort) {
- require $path . 'geshi.php';
-
- if(!class_exists('GeSHi')) {
- report_error(TYPE_ERROR, 'The GeSHi class was not found, although it seemed we loaded the correct file!');
- }
-}
-
-if(!$error_abort) {
- if(!defined('GESHI_LANG_ROOT')) {
- report_error(TYPE_ERROR, 'There\'s no information present on where to find the language files!');
- } elseif(!is_dir(GESHI_LANG_ROOT)) {
- report_error(TYPE_ERROR, 'The path "'.GESHI_LANG_ROOT.'" given, does not ressemble a directory!');
- } elseif(!is_readable(GESHI_LANG_ROOT)) {
- report_error(TYPE_ERROR, 'The path "'.GESHI_LANG_ROOT.'" is not readable to this script!');
- }
-}
-
-if(!$error_abort) {
- if (!($dir = @opendir(GESHI_LANG_ROOT))) {
- report_error(TYPE_ERROR, 'Error requesting listing for available language files!');
- }
-
- $languages = array();
-
- if(!$error_abort) {
- while ($file = readdir($dir)) {
- if (!$file || $file[0] == '.' || strpos($file, '.') === false) {
- continue;
- }
- $lang = substr($file, 0, strpos($file, '.'));
- $languages[] = $lang;
- }
- closedir($dir);
- }
-
- $languages = array_unique($languages);
- sort($languages);
-
- if(!count($languages)) {
- report_error(TYPE_WARNING, 'Unable to locate any usable language files in "'.GESHI_LANG_ROOT.'"!');
- }
-}
-
-output_error_cache();
-
-// --- empty variables for values of $_POST - begin ---
-$post_var_names = array('li', 'ai', 'ld');
-
-$li = array(
- 'file' => 'example',
- 'name' => 'Example'
- );
-
-$ai = array(
- 'name' => 'Benny Baumann',
- 'email' => 'BenBE@geshi.org',
- 'web' => 'http://qbnz.com/highlighter/'
- );
-
-$ld = array(
- 'cmt' => array(
- 'sl' => array(
- 1 => array(
- 'start' => '//',
- 'style' => 'font-style: italic; color: #666666;'
- ),
- 2 => array(
- 'start' => '#',
- 'style' => 'font-style: italic; color: #666666;'
- )
- ),
- 'ml' => array(
- 1 => array(
- 'start' => '/*',
- 'end' => '*/',
- 'style' => 'font-style: italic; color: #666666;'
- ),
- 2 => array(
- 'start' => '/**',
- 'end' => '*/',
- 'style' => 'font-style: italic; color: #006600;'
- )
- ),
- 'rxc' => array(
- 1 => array(
- 'rx' => '/Hello RegExp/',
- 'style' => 'font-style: italic; color: #666666;'
- )
- )
- ),
- 'str' => array(
- 'qm' => array(
- 1 => array(
- 'delim' => "'",
- 'style' => 'color: #0000FF;'
- ),
- 2 => array(
- 'delim' => "&quot;",
- 'style' => 'color: #0000FF;'
- )
- ),
- 'ec' => array(
- 'char' => '\\',
- 'style' => 'font-weight: bold; color: #000080;'
- ),
- 'erx' => array(
- 1 => array(
- 'rx' => '/\{\\\\$\w+\}/',
- 'style' => 'font-weight: bold; color: #008080;'
- ),
- 2 => array(
- 'rx'=> '/\{\\\\$\w+\}/',
- 'style' => 'font-weight: bold; color: #008080;'
- )
- )
- ),
- 'kw_case' => 'GESHI_CAPS_NO_CHANGE',
- 'kw' => array(
- 1 => array(
- 'list' => '',
- 'case' => '0',
- 'style' => 'color: #0000FF; font-weight: bold;',
- 'docs' => ''
- )
- ),
- 'sy' => array(
- 0 => array(
- 'list' => '',
- 'style' => 'color: #0000FF; font-weight: bold;'
- )
- )
- );
-
-$kw_case_sel = array(
- 'GESHI_CAPS_NO_CHANGE' => '',
- 'GESHI_CAPS_UPPER' => '',
- 'GESHI_CAPS_LOWER' => ''
- );
-
-$kw_cases_sel = array(
- 1 => array(
- 0 => '',
- 1 => ''
- )
- );
-// --- empty variables for values of $_POST - end ---
-
-echo "<pre>";
-//var_dump($languages);
-
-foreach($post_var_names as $varName) { // export wanted variables of $_POST array...
- if(array_key_exists($varName, $_POST)) {
- $$varName = htmlspecialchars_deep($_POST[$varName]);
- }
-}
-
-// determine the selected kw_case...
-$kw_case_sel[$ld['kw_case']] = ' selected="selected"';
-
-// determine the selected kw_cases...
-for($i = 1; $i <= count($kw_cases_sel); $i += 1) {
- $kw_cases_sel[$i][(int) $ld['kw'][$i]['case']] = ' selected="selected"';
-}
-
-$lang = validate_lang();
-var_dump($lang);
-echo "</pre>";
-
-?>
-
-<form action="?action=test" method="post">
- <fieldset>
- <legend>Generic Information</legend>
-
- <table width="100%">
- <tr>
- <td>
- <label for="li[file]">Language File ID:</label>
- </td>
- <td>
- <input type="text" name="li[file]" id="li[file]" value="<?=$li['file']; ?>" />
- </td>
- </tr>
-
- <tr>
- <td>
- <label for="li[name]">Language Name:</label>
- </td>
- <td>
- <input type="text" name="li[name]" id="li[name]" value="<?=$li['name']; ?>" />
- </td>
- </tr>
-
- </table>
- </fieldset>
-
- <fieldset>
- <legend>Author</legend>
-
- <table width="100%">
- <tr>
- <td>
- <label for="ai[name]">Full Name:</label>
- </td>
- <td>
- <input type="text" name="ai[name]" id="ai[name]" value="<?=$ai['name']; ?>" />
- </td>
- </tr>
-
- <tr>
- <td>
- <label for="ai[email]">eMail address:</label>
- </td>
- <td>
- <input type="text" name="ai[email]" id="ai[email]" value="<?=$ai['email']; ?>" />
- </td>
- </tr>
-
- <tr>
- <td>
- <label for="ai[web]">Homepage:</label>
- </td>
- <td>
- <input type="text" name="ai[web]" id="ai[web]" value="<?=$ai['web']; ?>" />
- </td>
- </tr>
- </table>
- </fieldset>
-
- <fieldset>
- <legend>Comments</legend>
-
- <fieldset>
- <legend>Single Line</legend>
-
- <fieldset>
- <legend>Comment Group 1</legend>
-
- <table width="100%">
- <tr>
- <td>
- <label for="ld[cmt][sl][1][start]">Comment Start:</label>
- </td>
- <td>
- <input type="text" name="ld[cmt][sl][1][start]" id="ld[cmt][sl][1][start]" value="<?=$ld['cmt']['sl'][1]['start']; ?>" />
- </td>
- </tr>
-
- <tr>
- <td>
- <label for="ld[cmt][sl][1][style]">Comment Style:</label>
- </td>
- <td>
- <input type="text" name="ld[cmt][sl][1][style]" id="ld[cmt][sl][1][style]" value="<?=$ld['cmt']['sl'][1]['style']; ?>" />
- </td>
- </tr>
- </table>
- </fieldset>
-
- <fieldset>
- <legend>Comment Group 2</legend>
-
- <table width="100%">
- <tr>
- <td>
- <label for="ld[cmt][sl][2][start]">Comment Start:</label>
- </td>
- <td>
- <input type="text" name="ld[cmt][sl][2][start]" id="ld[cmt][sl][2][start]" value="<?=$ld['cmt']['sl'][2]['start']; ?>" />
- </td>
- </tr>
-
- <tr>
- <td>
- <label for="ld[cmt][sl][2][style]">Comment Style:</label>
- </td>
- <td>
- <input type="text" name="ld[cmt][sl][2][style]" id="ld[cmt][sl][2][style]" value="<?=$ld['cmt']['sl'][2]['style']; ?>" />
- </td>
- </tr>
- </table>
- </fieldset>
- </fieldset>
-
- <fieldset>
- <legend>Multiple Lines</legend>
-
- <fieldset>
- <legend>Comment Group 1</legend>
-
- <table width="100%">
- <tr>
- <td>
- <label for="ld[cmt][ml][1][start]">Comment Start:</label>
- </td>
- <td>
- <input type="text" name="ld[cmt][ml][1][start]" id="ld[cmt][ml][1][start]" value="<?=$ld['cmt']['ml'][1]['start']; ?>" />
- </td>
- </tr>
-
- <tr>
- <td>
- <label for="ld[cmt][ml][1][end]">Comment End:</label>
- </td>
- <td>
- <input type="text" name="ld[cmt][ml][1][end]" id="ld[cmt][ml][1][end]" value="<?=$ld['cmt']['ml'][1]['end']; ?>" />
- </td>
- </tr>
-
- <tr>
- <td>
- <label for="ld[cmt][ml][1][style]">Comment Style:</label>
- </td>
- <td>
- <input type="text" name="ld[cmt][ml][1][style]" id="ld[cmt][ml][1][style]" value="<?=$ld['cmt']['ml'][1]['style']; ?>" />
- </td>
- </tr>
- </table>
- </fieldset>
-
- <fieldset>
- <legend>Comment Group 2</legend>
-
- <table width="100%">
- <tr>
- <td>
- <label for="ld[cmt][ml][2][start]">Comment Start:</label>
- </td>
- <td>
- <input type="text" name="ld[cmt][ml][2][start]" id="ld[cmt][ml][2][start]" value="<?=$ld['cmt']['ml'][2]['start']; ?>" />
- </td>
- </tr>
-
- <tr>
- <td>
- <label for="ld[cmt][ml][2][end]">Comment End:</label>
- </td>
- <td>
- <input type="text" name="ld[cmt][ml][2][end]" id="ld[cmt][ml][2][end]" value="<?=$ld['cmt']['ml'][2]['end']; ?>" />
- </td>
- </tr>
-
- <tr>
- <td>
- <label for="ld[cmt][ml][2][style]">Comment Style:</label>
- </td>
- <td>
- <input type="text" name="ld[cmt][ml][2][style]" id="ld[cmt][ml][2][style]" value="<?=$ld['cmt']['ml'][2]['style']; ?>" />
- </td>
- </tr>
- </table>
- </fieldset>
- </fieldset>
-
- <fieldset>
- <legend>Regular Expressions</legend>
-
- <fieldset>
- <legend>Comment Group 1</legend>
-
- <table width="100%">
- <tr>
- <td>
- <label for="ld[cmt][rxc][1][rx]">Comment RX:</label>
- </td>
- <td>
- <input type="text" name="ld[cmt][rxc][1][rx]" id="ld[cmt][rxc][1][rx]" value="<?=$ld['cmt']['rxc'][1]['rx']; ?>" />
- </td>
- </tr>
-
- <tr>
- <td>
- <label for="ld[cmt][rxc][1][style]">Comment Style:</label>
- </td>
- <td>
- <input type="text" name="ld[cmt][rxc][1][style]" id="ld[cmt][rxc][1][style]" value="<?=$ld['cmt']['rxc'][1]['style']; ?>" />
- </td>
- </tr>
- </table>
- </fieldset>
- </fieldset>
- </fieldset>
-
- <fieldset>
- <legend>Strings</legend>
-
- <fieldset>
- <legend>String \ Quotes (delimiters, parsed)</legend>
-
- <fieldset>
- <legend>Quotemark Group 1</legend>
-
- <table width="100%">
- <tr>
- <td>
- <label for="ld[str][qm][1][delim]">String Delimiter:</label>
- </td>
- <td>
- <input type="text" name="ld[str][qm][1][delim]" id="ld[str][qm][1][delim]" value="<?=$ld['str']['qm'][1]['delim']; ?>" />
- </td>
- </tr>
-
- <tr>
- <td>
- <label for="ld[str][qm][1][style]">String Style:</label>
- </td>
- <td>
- <input type="text" name="ld[str][qm][1][style]" id="ld[str][qm][1][style]" value="<?=$ld['str']['qm'][1]['style']; ?>" />
- </td>
- </tr>
- </table>
- </fieldset>
- <fieldset>
- <legend>Quotemark Group 2</legend>
-
- <table width="100%">
- <tr>
- <td>
- <label for="ld[str][qm][1][delim]">String Delimiter:</label>
- </td>
- <td>
- <input type="text" name="ld[str][qm][2][delim]" id="ld[str][qm][2][delim]" value="<?=$ld['str']['qm'][2]['delim']; ?>" />
- </td>
- </tr>
-
- <tr>
- <td>
- <label for="ld[str][qm][1][style]">String Style:</label>
- </td>
- <td>
- <input type="text" name="ld[str][qm][2][style]" id="ld[str][qm][2][style]" value="<?=$ld['str']['qm'][2]['style']; ?>" />
- </td>
- </tr>
- </table>
- </fieldset>
-
-
- </fieldset>
-
- <fieldset>
- <legend>Escape Sequences</legend>
-
- <fieldset>
- <legend>Generic Escape Char</legend>
-
- <table width="100%">
- <tr>
- <td>
- <label for="ld[str][ec][char]">Escape Char:</label>
- </td>
- <td>
- <input type="text" name="ld[str][ec][char]" id="ld[str][ec][char]" value="<?=$ld['str']['ec']['char']; ?>" />
- </td>
- </tr>
-
- <tr>
- <td>
- <label for="ld[str][ec][style]">Escape Char Style:</label>
- </td>
- <td>
- <input type="text" name="ld[str][ec][style]" id="ld[str][ec][style]" value="<?=$ld['str']['ec']['style']; ?>" />
- </td>
- </tr>
- </table>
- </fieldset>
-
- <fieldset>
- <legend>Escape Regexp Group 1</legend>
-
- <table width="100%">
- <tr>
- <td>
- <label for="ld[str][erx][1][rx]">Escape Regexp:</label>
- </td>
- <td>
- <input type="text" name="ld[str][erx][1][rx]" id="ld[str][erx][1][rx]" value="<?=$ld['str']['erx'][1]['rx']; ?>" />
- </td>
- </tr>
-
- <tr>
- <td>
- <label for="ld[str][erx][1][style]">Escape Style:</label>
- </td>
- <td>
- <input type="text" name="ld[str][erx][1][style]" id="ld[str][erx][1][style]" value="<?=$ld['str']['erx'][1]['style']; ?>" />
- </td>
- </tr>
- </table>
- </fieldset>
-
- <fieldset>
- <legend>Escape Regexp Group 2</legend>
-
- <table width="100%">
- <tr>
- <td>
- <label for="ld[str][erx][2][rx]">Escape Regexp:</label>
- </td>
- <td>
- <input type="text" name="ld[str][erx][2][rx]" id="ld[str][erx][2][rx]" value="<?=$ld['str']['erx'][2]['rx']; ?>" />
- </td>
- </tr>
-
- <tr>
- <td>
- <label for="ld[str][erx][2][style]">Escape Style:</label>
- </td>
- <td>
- <input type="text" name="ld[str][erx][2][style]" id="ld[str][erx][2][style]" value="<?=$ld['str']['erx'][2]['style']; ?>" />
- </td>
- </tr>
- </table>
- </fieldset>
- </fieldset>
- </fieldset>
-
- <fieldset>
- <legend>Keywords</legend>
-
- <fieldset>
- <legend>Case of Keywords</legend>
-
- <table width="100%">
- <tr>
- <td>
- <label for="ld[kw_case]">Handling of keywords case:</label>
- </td>
- <td>
- <select name=ld[kw_case]" id="ld[kw_case]">
- <option value="GESHI_CAPS_NO_CHANGE"<?=$kw_case_sel['GESHI_CAPS_NO_CHANGE']; ?>>Don’t change the case of any keyword</option>
- <option value="GESHI_CAPS_UPPER"<?=$kw_case_sel['GESHI_CAPS_UPPER']; ?>>Convert the case of all keywords to upper case</option>
- <option value="GESHI_CAPS_LOWER"<?=$kw_case_sel['GESHI_CAPS_LOWER']; ?>>Convert the case of all keywords to lower case</option>
- </select>
- </td>
- </tr>
- </table>
- </fieldset>
-
- <fieldset>
- <legend>Keyword Group 1</legend>
-
- <table width="100%">
- <tr>
- <td>
- <label for="ld[kw][1][list]">Keyword List:</label>
- </td>
- <td>
- <textarea name="ld[kw][1][list]" id="ld[kw][1][list]" rows="10" cols="80"><?=$ld['kw'][1]['list']; ?></textarea>
- </td>
- </tr>
-
- <tr>
- <td>
- <label for="ld[kw][1][case]">Case Sensitive:</label>
- </td>
- <td>
- <select name="ld[kw][1][case]" id="ld[kw][1][case]">
- <option value="0"<?=$kw_cases_sel[1][0]; ?>>No</option>
- <option value="1"<?=$kw_cases_sel[1][1]; ?>>Yes</option>
- </select>
- </td>
- </tr>
-
- <tr>
- <td>
- <label for="ld[kw][1][style]">Keyword Style:</label>
- </td>
- <td>
- <input type="text" name="ld[kw][1][style]" id="ld[kw][1][style]" value="<?=$ld['kw'][1]['style']; ?>" />
- </td>
- </tr>
-
- <tr>
- <td>
- <label for="ld[kw][1][docs]">Documentation URL:</label>
- </td>
- <td>
- <input type="text" name="ld[kw][1][docs]" id="ld[kw][1][docs]" value="<?=$ld['kw'][1]['docs']; ?>" />
- </td>
- </tr>
- </table>
- </fieldset>
-
- </fieldset>
-
-
- <fieldset>
- <legend>Symbols</legend>
-
- <fieldset>
- <legend>Symbols Group 1</legend>
-
- <table width="100%">
- <tr>
- <td>
- <label for="ld[sy][0][list]">Symbols List:</label>
- </td>
- <td>
- <textarea name="ld[sy][0][list]" id="ld[sy][0][list]" rows="10" cols="80"><?=$ld['sy'][0]['list']; ?></textarea>
- </td>
- </tr>
-
- <tr>
- <td>
- <label for="ld[sy][0][style]">Symbols Style:</label>
- </td>
- <td>
- <input type="text" name="ld[sy][0][style]" id="ld[sy][0][style]" value="<?=$ld['sy'][0]['style']; ?>" />
- </td>
- </tr>
- </table>
- </fieldset>
-
- </fieldset>
-
-
- <div id="langfile">
- <fieldset>
- <legend>Language File Source</legend>
-<?php
-$G = new GeSHi('', 'php');
-$langfile_source = gen_langfile($lang);
-$G->set_source($langfile_source);
-echo $G->parse_code();
-unset($G);
-?>
- </fieldset>
- </div>
-
- <input type="submit" name="btn" value="Send!" />
-</form>
-
-<p>Operation completed in <?php
-$time_end = explode(' ', microtime());
-$time_diff = $time_end[0] + $time_end[1] - $time_start[0] - $time_start[1];
-
-echo sprintf("%.2f", $time_diff);
-?> seconds.</p>
-
-<div id="footer">GeSHi &copy; 2004-2007 Nigel McNie, 2007-2009 Benny Baumann, released under the GNU GPL</div>
-</body>
-</html>
-<?php
-
-function str_to_phpstring($str, $doublequote = false){
- if($doublequote) {
- return '"' . strtr($str,
- array(
- "\"" => "\\\"",
- "\\" => "\\\\",
- "\0" => "\\0",
- "\n" => "\\n",
- "\r" => "\\r",
- "\t" => "\\t",
- "\$" => "\\\$"
- )
- ) . '"';
- } else {
- return "'" . strtr($str,
- array(
- "'" => "\\'",
- "\\" => "\\\\"
- )
- ) . "'";
- }
-}
-
-function validate_lang(){
- $ai = array(
- 'name' => 'Benny Baumann',
- 'email' => 'BenBE@geshi.org',
- 'web' => 'http://qbnz.com/highlighter/'
- );
-
- $li = array(
- 'file' => 'example',
- 'desc' => 'Example'
- );
-
- if(isset($_POST['ld'])) {
- $ld = $_POST['ld'];
- } else {
- $ld = array(
- 'cmt' => array(
- 'sl' => array(
- 1 => array(
- 'start' => '//',
- 'style' => 'test'
- )
- ),
- 'ml' => array(
- 1 => array(
- 'start' => '/*',
- 'end' => '*/',
- 'style' => 'font-style: italic; color: #666666;'
- )
- ),
- 'rxc' => array(
- 1 => array(
- 'rx' => '/Hello/',
- 'style' => 'color: #00000'
- )
- )
- ),
- 'str' => array(
- 'qm' => array(),
- 'ec' => array(
- 'char' => ''
- ),
- 'erx' => array()
- ),
- 'kw' => array(),
- 'kw_case' => 'GESHI_CAPS_NO_CHANGE',
- 'sy' => array()
- );
- }
-
- return array('ai' => $ai, 'li' => $li, 'ld' => $ld);
-}
-
-function gen_langfile($lang){
- $langfile = $lang['li']['file'];
- $langdesc = $lang['li']['desc'];
-
- $langauthor_name = $lang['ai']['name'];
- $langauthor_email = $lang['ai']['email'];
- $langauthor_web = $lang['ai']['web'];
-
- $langversion = GESHI_VERSION;
-
- $langdate = date('Y/m/d');
- $langyear = date('Y');
-
- $i = ' ';
- $i = array('', $i, $i.$i, $i.$i.$i);
-
- $src = <<<GESHI_LANGFILE_HEAD
-<?php
-/*************************************************************************************
- * {$langfile}.php
- * --------
- * Author: {$langauthor_name} ({$langauthor_email})
- * Copyright: (c) {$langyear} {$langauthor_name} ({$langauthor_web})
- * Release Version: {$langversion}
- * Date Started: {$langdate}
- *
- * {$langdesc} language file for GeSHi.
- *
- * CHANGES
- * -------
- * {$langdate} ({$langversion})
- * - First Release
- *
- * TODO (updated {$langdate})
- * -------------------------
- * * Complete language file
- *
- *************************************************************************************
- *
- * This file is part of GeSHi.
- *
- * GeSHi is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GeSHi is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GeSHi; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- ************************************************************************************/
-
-\$language_data = array(
-
-GESHI_LANGFILE_HEAD;
-
- //Language Name
- $src .= $i[1] . "'LANG_NAME' => ".str_to_phpstring($langdesc).",\n";
-
- //Comments
- $src .= $i[1] . "'COMMENT_SINGLE' => array(\n";
- foreach($lang['ld']['cmt']['sl'] as $idx_cmt_sl => $tmp_cmt_sl) {
- $src .= $i[2] . ((int)$idx_cmt_sl). " => ". str_to_phpstring($tmp_cmt_sl['start']) . ",\n";
- }
- $src .= $i[2] . "),\n";
- $src .= $i[1] . "'COMMENT_MULTI' => array(\n";
- foreach($lang['ld']['cmt']['ml'] as $tmp_cmt_ml) {
- $src .= $i[2] . str_to_phpstring($tmp_cmt_ml['start']). " => ". str_to_phpstring($tmp_cmt_ml['end']) . ",\n";
- }
- $src .= $i[2] . "),\n";
- $src .= $i[1] . "'COMMENT_REGEXP' => array(\n";
- foreach($lang['ld']['cmt']['rxc'] as $idx_cmt_rxc => $tmp_cmt_rxc) {
- $src .= $i[2] . ((int)$idx_cmt_rxc). " => ". str_to_phpstring($tmp_cmt_rxc['rx']) . ",\n";
- }
- $src .= $i[2] . "),\n";
-
- //Case Keywords
- $src .= $i[1] . "'CASE_KEYWORDS' => " . $lang['ld']['kw_case'] . ",\n";
-
- //Quotes \ Strings
- $src .= $i[1] . "'QUOTEMARKS' => array(\n";
- foreach($lang['ld']['str']['qm'] as $idx_str_qm => $tmp_str_qm) {
- $src .= $i[2] . ((int)$idx_str_qm). " => ". str_to_phpstring($tmp_str_qm['delim']) . ",\n";
- }
- $src .= $i[2] . "),\n";
- $src .= $i[1] . "'ESCAPE_CHAR' => " . str_to_phpstring($lang['ld']['str']['ec']['char']) . ",\n";
- $src .= $i[1] . "'ESCAPE_REGEXP' => array(\n";
- foreach($lang['ld']['str']['erx'] as $idx_str_erx => $tmp_str_erx) {
- $src .= $i[2] . ((int)$idx_str_erx). " => ". str_to_phpstring($tmp_str_erx['rx']) . ",\n";
- }
- $src .= $i[2] . "),\n";
-
- //HardQuotes
- $src .= $i[1] . "'HARDQUOTE' => array(\n";
- $src .= $i[2] . "),\n";
- $src .= $i[1] . "'HARDESCAPE' => array(\n";
- $src .= $i[2] . "),\n";
- $src .= $i[1] . "'HARDCHAR' => '',\n";
-
- //Numbers
- $src .= $i[1] . "'NUMBERS' =>\n";
- $src .= $i[2] . "GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX |\n";
- $src .= $i[2] . "GESHI_NUMBER_FLT_SCI_ZERO,\n";
-
- //Keywords
- $src .= $i[1] . "'KEYWRODS' => array(\n";
- foreach($lang['ld']['kw'] as $idx_kw => $tmp_kw) {
- $src .= $i[2] . ((int)$idx_kw) . " => array(\n";
- if(!is_array($tmp_kw['list'])) {
- $tmp_kw['list'] = explode("\n", $tmp_kw['list']);
- }
- $tmp_kw['list'] = array_map('trim', $tmp_kw['list']);
- sort($tmp_kw['list']);
- $kw_esc = array_map('str_to_phpstring', $tmp_kw['list']);
- $kw_nl = true;
- $kw_pos = 0;
- foreach($kw_esc as $kw_data) {
- if((strlen($kw_data) + $kw_pos > 79) && $kw_pos > strlen($i[3])) {
- $src .= "\n";
- $kw_nl = true;
- $kw_pos = 0;
- }
- if($kw_nl) {
- $src .= $i[3];
- $kw_pos += strlen($i[3]);
- $kw_nl = false;
- }
- $src .= $kw_data . ', ';
- $kw_pos += strlen($kw_data) + 2;
- }
- $src .= "\n";
- $src .= $i[3] . "),\n";
- }
- $src .= $i[2] . "),\n";
-
- //Case Sensitivity
- $src .= $i[1] . "'CASE_SENSITIVE' => array(\n";
- foreach($lang['ld']['kw'] as $idx_kw => $tmp_kw) {
- $src .= $i[2] . ((int)$idx_kw) . " => " . ($tmp_kw['case'] ? 'true' : 'false') . ",\n";
- }
- $src .= $i[2] . "),\n";
-
- //Symbols
- $src .= $i[1] . "'SYMBOLS' => array(\n";
- foreach($lang['ld']['sy'] as $idx_kw => $tmp_kw) {
- $src .= $i[2] . ((int)$idx_kw) . " => array(\n";
- $tmp_kw['list'] = (array)$tmp_kw['list'];
- sort($tmp_kw['list']);
- $kw_esc = array_map('str_to_phpstring', $tmp_kw['list']);
- $kw_nl = true;
- $kw_pos = strlen($i[3]);
- foreach($kw_esc as $kw_data) {
- if((strlen($kw_data) + $kw_pos > 79) && $kw_pos > strlen($i[3])) {
- $src .= "\n";
- $kw_nl = true;
- $kw_pos = 0;
- }
- if($kw_nl) {
- $src .= $i[3];
- $kw_pos += strlen($i[3]);
- $kw_nl = false;
- }
- $src .= $kw_data . ', ';
- $kw_pos += strlen($kw_data) + 2;
- }
- $src .= "\n";
- $src .= $i[3] . "),\n";
- }
- $src .= $i[2] . "),\n";
-
- //Styles \ CSS
- $src .= $i[1] . "'STYLES' => array(\n";
- $src .= $i[2] . "'KEYWRODS' => array(\n";
- foreach($lang['ld']['kw'] as $idx_kw => $tmp_kw) {
- $src .= $i[3] . ((int)$idx_kw) . " => " . str_to_phpstring($tmp_kw['style']) . ",\n";
- }
- $src .= $i[3] . "),\n";
- $src .= $i[2] . "'COMMENTS' => array(\n";
- foreach($lang['ld']['cmt']['sl'] as $idx_cmt_sl => $tmp_cmt_sl) {
- $src .= $i[3] . ((int)$idx_cmt_sl) . " => " . str_to_phpstring($tmp_cmt_sl['style']) . ",\n";
- }
- foreach($lang['ld']['cmt']['rxc'] as $idx_cmt_rxc => $tmp_cmt_rxc) {
- $src .= $i[3] . ((int)$idx_cmt_rxc) . " => " . str_to_phpstring($tmp_cmt_rxc['style']) . ",\n";
- }
- $src .= $i[3] . "'MULTI' => " . str_to_phpstring($lang['ld']['cmt']['ml'][1]['style']) . "\n";
- $src .= $i[3] . "),\n";
- $src .= $i[2] . "'ESCAPE_CHAR' => array(\n";
- foreach($lang['ld']['str']['erx'] as $idx_str_erx => $tmp_str_erx) {
- $src .= $i[3] . ((int)$idx_str_erx). " => ". str_to_phpstring($tmp_str_erx['style']) . ",\n";
- }
- // 'HARD' => 'color: #000099; font-weight: bold;'
- $src .= $i[3] . "),\n";
- $src .= $i[2] . "'BRACKETS' => array(\n";
- $src .= $i[3] . "),\n";
- $src .= $i[2] . "'STRINGS' => array(\n";
- foreach($lang['ld']['str']['qm'] as $idx_str_qm => $tmp_str_qm) {
- $src .= $i[3] . ((int)$idx_str_qm). " => ". str_to_phpstring($tmp_str_qm['style']) . ",\n";
- }
- // 'HARD' => 'color: #0000ff;'
- $src .= $i[3] . "),\n";
- $src .= $i[2] . "'NUMBERS' => array(\n";
- $src .= $i[3] . "),\n";
- $src .= $i[2] . "'METHODS' => array(\n";
- $src .= $i[3] . "),\n";
- $src .= $i[2] . "'SYMBOLS' => array(\n";
- foreach($lang['ld']['sy'] as $idx_kw => $tmp_kw) {
- $src .= $i[3] . ((int)$idx_kw) . " => " . str_to_phpstring($tmp_kw['style']) . ",\n";
- }
- $src .= $i[3] . "),\n";
- $src .= $i[2] . "'REGEXPS' => array(\n";
- $src .= $i[3] . "),\n";
- $src .= $i[2] . "'SCRIPT' => array(\n";
- $src .= $i[3] . "),\n";
- $src .= $i[2] . "),\n";
-
- //Keyword Documentation
- $src .= $i[1] . "'URLS' => array(\n";
- foreach($lang['ld']['kw'] as $idx_kw => $tmp_kw) {
- $src .= $i[2] . ((int)$idx_kw) . " => " . str_to_phpstring($tmp_kw['docs']) . ",\n";
- }
- $src .= $i[2] . "),\n";
- $src .= $i[1] . "'OOLANG' => false,\n";
- $src .= $i[1] . "'OBJECT_SPLITTERS' => array(\n";
- $src .= $i[2] . "),\n";
- $src .= $i[1] . "'REGEXPS' => array(\n";
- $src .= $i[2] . "),\n";
- $src .= $i[1] . "'STRICT_MODE_APPLIES' => GESHI_MAYBE,\n";
- $src .= $i[1] . "'SCRIPT_DELIMITERS' => array(\n";
- $src .= $i[2] . "),\n";
- $src .= $i[1] . "'HIGHLIGHT_STRICT_BLOCK' => array(\n";
- $src .= $i[2] . "),\n";
- $src .= $i[1] . "'TAB_WIDTH' => 4\n";
-
- $src .= <<<GESHI_LANGFILE_FOOTER
-);
-GESHI_LANGFILE_FOOTER;
-
- //Reduce source ...
- $src = preg_replace('/array\(\s*\)/s', 'array()', $src);
- $src = preg_replace('/\,(\s*\))/s', '\1', $src);
- $src = preg_replace('/\s+$/m', '', $src);
-
- return $src;
-}
diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php
index 010c471c..75ed529e 100644
--- a/includes/DefaultSettings.php
+++ b/includes/DefaultSettings.php
@@ -75,7 +75,7 @@ $wgConfigRegistry = array(
* MediaWiki version number
* @since 1.2
*/
-$wgVersion = '1.25.1';
+$wgVersion = '1.25.2';
/**
* Name of the site. It must be changed in LocalSettings.php
diff --git a/includes/GlobalFunctions.php b/includes/GlobalFunctions.php
index 240cb97b..45cd7ea5 100644
--- a/includes/GlobalFunctions.php
+++ b/includes/GlobalFunctions.php
@@ -3342,7 +3342,7 @@ function wfBaseConvert( $input, $sourceBase, $destBase, $pad = 1,
// Removing leading zeros works around broken base detection code in
// some PHP versions (see <https://bugs.php.net/bug.php?id=50175> and
// <https://bugs.php.net/bug.php?id=55398>).
- $result = gmp_strval( gmp_init( ltrim( $input, '0' ), $sourceBase ), $destBase );
+ $result = gmp_strval( gmp_init( ltrim( $input, '0' ) ?: '0', $sourceBase ), $destBase );
} elseif ( extension_loaded( 'bcmath' ) && ( $engine == 'auto' || $engine == 'bcmath' ) ) {
$decimal = '0';
foreach ( str_split( strtolower( $input ) ) as $char ) {
diff --git a/includes/Setup.php b/includes/Setup.php
index dd8fbf8a..b3bf0fca 100644
--- a/includes/Setup.php
+++ b/includes/Setup.php
@@ -232,9 +232,7 @@ if ( $wgUseInstantCommons ) {
$wgForeignFileRepos[] = array(
'class' => 'ForeignAPIRepo',
'name' => 'wikimediacommons',
- 'apibase' => WebRequest::detectProtocol() === 'https' ?
- 'https://commons.wikimedia.org/w/api.php' :
- 'http://commons.wikimedia.org/w/api.php',
+ 'apibase' => 'https://commons.wikimedia.org/w/api.php',
'hashLevels' => 2,
'fetchDescription' => true,
'descriptionCacheExpiry' => 43200,
diff --git a/includes/User.php b/includes/User.php
index 3cd69fdc..8ea491ce 100644
--- a/includes/User.php
+++ b/includes/User.php
@@ -2204,6 +2204,8 @@ class User implements IDBAccessObject {
* page. Ignored if null or !$val.
*/
public function setNewtalk( $val, $curRev = null ) {
+ global $wgMemc;
+
if ( wfReadOnly() ) {
return;
}
@@ -2218,7 +2220,6 @@ class User implements IDBAccessObject {
$field = 'user_id';
$id = $this->getId();
}
- global $wgMemc;
if ( $val ) {
$changed = $this->updateNewtalk( $field, $id, $curRev );
@@ -2270,37 +2271,13 @@ class User implements IDBAccessObject {
}
/**
- * Immediately touch the user data cache for this account.
- * Updates user_touched field, and removes account data from memcached
- * for reload on the next hit.
+ * Immediately touch the user data cache for this account
+ *
+ * Calls touch() and removes account data from memcached
*/
public function invalidateCache() {
- if ( wfReadOnly() ) {
- return;
- }
- $this->load();
- if ( $this->mId ) {
- $this->mTouched = $this->newTouchedTimestamp();
-
- $dbw = wfGetDB( DB_MASTER );
- $userid = $this->mId;
- $touched = $this->mTouched;
- $method = __METHOD__;
- $dbw->onTransactionIdle( function () use ( $dbw, $userid, $touched, $method ) {
- // Prevent contention slams by checking user_touched first
- $encTouched = $dbw->addQuotes( $dbw->timestamp( $touched ) );
- $needsPurge = $dbw->selectField( 'user', '1',
- array( 'user_id' => $userid, 'user_touched < ' . $encTouched ) );
- if ( $needsPurge ) {
- $dbw->update( 'user',
- array( 'user_touched' => $dbw->timestamp( $touched ) ),
- array( 'user_id' => $userid, 'user_touched < ' . $encTouched ),
- $method
- );
- }
- } );
- $this->clearSharedCache();
- }
+ $this->touch();
+ $this->clearSharedCache();
}
/**
diff --git a/includes/api/ApiBase.php b/includes/api/ApiBase.php
index 5a1eb995..6c33da57 100644
--- a/includes/api/ApiBase.php
+++ b/includes/api/ApiBase.php
@@ -1192,7 +1192,7 @@ abstract class ApiBase extends ContextSource {
$this->dieUsage( 'Specified user does not exist', 'bad_wlowner' );
}
$token = $user->getOption( 'watchlisttoken' );
- if ( $token == '' || $token != $params['token'] ) {
+ if ( $token == '' || !hash_equals( $token, $params['token'] ) ) {
$this->dieUsage(
'Incorrect watchlist token provided -- please set a correct token in Special:Preferences',
'bad_wltoken'
diff --git a/includes/api/ApiOpenSearch.php b/includes/api/ApiOpenSearch.php
index a93b7cc6..0adb464d 100644
--- a/includes/api/ApiOpenSearch.php
+++ b/includes/api/ApiOpenSearch.php
@@ -384,13 +384,25 @@ class ApiOpenSearchFormatJson extends ApiFormatJson {
public function execute() {
if ( !$this->getResult()->getResultData( 'error' ) ) {
- $warnings = $this->getResult()->removeValue( 'warnings', null );
+ $result = $this->getResult();
+
+ // Ignore warnings or treat as errors, as requested
+ $warnings = $result->removeValue( 'warnings', null );
if ( $this->warningsAsError && $warnings ) {
$this->dieUsage(
'Warnings cannot be represented in OpenSearch JSON format', 'warnings', 0,
array( 'warnings' => $warnings )
);
}
+
+ // Ignore any other unexpected keys (e.g. from $wgDebugToolbar)
+ $remove = array_keys( array_diff_key(
+ $result->getResultData(),
+ array( 0 => 'search', 1 => 'terms', 2 => 'descriptions', 3 => 'urls' )
+ ) );
+ foreach ( $remove as $key ) {
+ $result->removeValue( $key, null );
+ }
}
parent::execute();
diff --git a/includes/api/ApiQueryImageInfo.php b/includes/api/ApiQueryImageInfo.php
index 94b4bbdb..095e5dda 100644
--- a/includes/api/ApiQueryImageInfo.php
+++ b/includes/api/ApiQueryImageInfo.php
@@ -592,7 +592,10 @@ class ApiQueryImageInfo extends ApiQueryBase {
$retval = array();
if ( is_array( $metadata ) ) {
foreach ( $metadata as $key => $value ) {
- $r = array( 'name' => $key );
+ $r = array(
+ 'name' => $key,
+ ApiResult::META_BC_BOOLS => array( 'value' ),
+ );
if ( is_array( $value ) ) {
$r['value'] = self::processMetaData( $value, $result );
} else {
diff --git a/includes/exception/MWExceptionHandler.php b/includes/exception/MWExceptionHandler.php
index c50b6c8c..a58705f6 100644
--- a/includes/exception/MWExceptionHandler.php
+++ b/includes/exception/MWExceptionHandler.php
@@ -486,6 +486,8 @@ TXT;
if ( $json !== false ) {
wfDebugLog( 'exception-json', $json, 'private' );
}
+
+ Hooks::run( 'LogException', array( $e, false ) );
}
}
@@ -501,7 +503,8 @@ TXT;
// The set_error_handler callback is independent from error_reporting.
// Filter out unwanted errors manually (e.g. when wfSuppressWarnings is active).
- if ( ( error_reporting() & $e->getSeverity() ) !== 0 ) {
+ $suppressed = ( error_reporting() & $e->getSeverity() ) === 0;
+ if ( !$suppressed ) {
$log = self::getLogMessage( $e );
if ( $wgLogExceptionBacktrace ) {
wfDebugLog( $channel, $log . "\n" . $e->getTraceAsString() );
@@ -515,5 +518,7 @@ TXT;
if ( $json !== false ) {
wfDebugLog( "$channel-json", $json, 'private' );
}
+
+ Hooks::run( 'LogException', array( $e, $suppressed ) );
}
}
diff --git a/includes/filerepo/ForeignAPIRepo.php b/includes/filerepo/ForeignAPIRepo.php
index 7ead968f..3c031921 100644
--- a/includes/filerepo/ForeignAPIRepo.php
+++ b/includes/filerepo/ForeignAPIRepo.php
@@ -521,6 +521,7 @@ class ForeignAPIRepo extends FileRepo {
if ( $status->isOK() ) {
return $req->getContent();
} else {
+ wfDebug( "ForeignAPIRepo: ERROR on GET: " . $status->getWikiText() );
return false;
}
}
diff --git a/includes/installer/DatabaseUpdater.php b/includes/installer/DatabaseUpdater.php
index 702f850c..70707901 100644
--- a/includes/installer/DatabaseUpdater.php
+++ b/includes/installer/DatabaseUpdater.php
@@ -145,15 +145,26 @@ abstract class DatabaseUpdater {
return; // already loaded
}
$vars = Installer::getExistingLocalSettings();
- if ( !$vars ) {
- return; // no LocalSettings found
+
+ $registry = ExtensionRegistry::getInstance();
+ $queue = $registry->getQueue();
+ // Don't accidentally load extensions in the future
+ $registry->clearQueue();
+
+ // This will automatically add "AutoloadClasses" to $wgAutoloadClasses
+ $data = $registry->readFromQueue( $queue );
+ $hooks = array( 'wgHooks' => array( 'LoadExtensionSchemaUpdates' => array() ) );
+ if ( isset( $data['globals']['wgHooks']['LoadExtensionSchemaUpdates'] ) ) {
+ $hooks = $data['globals']['wgHooks']['LoadExtensionSchemaUpdates'];
}
- if ( !isset( $vars['wgHooks'] ) || !isset( $vars['wgHooks']['LoadExtensionSchemaUpdates'] ) ) {
- return;
+ if ( $vars && isset( $vars['wgHooks']['LoadExtensionSchemaUpdates'] ) ) {
+ $hooks = array_merge_recursive( $hooks, $vars['wgHooks']['LoadExtensionSchemaUpdates'] );
}
global $wgHooks, $wgAutoloadClasses;
- $wgHooks['LoadExtensionSchemaUpdates'] = $vars['wgHooks']['LoadExtensionSchemaUpdates'];
- $wgAutoloadClasses = $wgAutoloadClasses + $vars['wgAutoloadClasses'];
+ $wgHooks['LoadExtensionSchemaUpdates'] = $hooks;
+ if ( $vars && isset( $vars['wgAutoloadClasses'] ) ) {
+ $wgAutoloadClasses += $vars['wgAutoloadClasses'];
+ }
}
/**
diff --git a/includes/registration/ExtensionProcessor.php b/includes/registration/ExtensionProcessor.php
index 7f738661..bb8fb329 100644
--- a/includes/registration/ExtensionProcessor.php
+++ b/includes/registration/ExtensionProcessor.php
@@ -81,6 +81,7 @@ class ExtensionProcessor implements Processor {
'config',
'ParserTestFiles',
'AutoloadClasses',
+ 'manifest_version',
);
/**
diff --git a/includes/registration/ExtensionRegistry.php b/includes/registration/ExtensionRegistry.php
index 2558f7e2..4e690aa8 100644
--- a/includes/registration/ExtensionRegistry.php
+++ b/includes/registration/ExtensionRegistry.php
@@ -109,6 +109,24 @@ class ExtensionRegistry {
}
/**
+ * Get the current load queue. Not intended to be used
+ * outside of the installer.
+ *
+ * @return array
+ */
+ public function getQueue() {
+ return $this->queued;
+ }
+
+ /**
+ * Clear the current load queue. Not intended to be used
+ * outside of the installer.
+ */
+ public function clearQueue() {
+ $this->queued = array();
+ }
+
+ /**
* Process a queue of extensions and return their extracted data
*
* @param array $queue keys are filenames, values are ignored
@@ -143,7 +161,7 @@ class ExtensionRegistry {
protected function exportExtractedData( array $info ) {
foreach ( $info['globals'] as $key => $val ) {
- if ( !isset( $GLOBALS[$key] ) || !$GLOBALS[$key] ) {
+ if ( !isset( $GLOBALS[$key] ) || ( is_array( $GLOBALS[$key] ) && !$GLOBALS[$key] ) ) {
$GLOBALS[$key] = $val;
} elseif ( $key === 'wgHooks' || $key === 'wgExtensionCredits' ) {
// Special case $wgHooks and $wgExtensionCredits, which require a recursive merge.
diff --git a/includes/specials/SpecialDeletedContributions.php b/includes/specials/SpecialDeletedContributions.php
index 9e4bbbe5..fb85942d 100644
--- a/includes/specials/SpecialDeletedContributions.php
+++ b/includes/specials/SpecialDeletedContributions.php
@@ -479,7 +479,7 @@ class DeletedContributionsPage extends SpecialPage {
if ( ( $id !== null ) || ( $id === null && IP::isIPAddress( $nt->getText() ) ) ) {
# Block / Change block / Unblock links
if ( $this->getUser()->isAllowed( 'block' ) ) {
- if ( $userObj->isBlocked() ) {
+ if ( $userObj->isBlocked() && $userObj->getBlock()->getType() !== Block::TYPE_AUTO ) {
$tools[] = Linker::linkKnown( # Change block link
SpecialPage::getTitleFor( 'Block', $nt->getDBkey() ),
$this->msg( 'change-blocklink' )->escaped()
diff --git a/includes/specials/SpecialVersion.php b/includes/specials/SpecialVersion.php
index c1a95939..9a1c5e5d 100644
--- a/includes/specials/SpecialVersion.php
+++ b/includes/specials/SpecialVersion.php
@@ -265,8 +265,8 @@ class SpecialVersion extends SpecialPage {
$version = $wgVersion . ' ' .
wfMessage(
'version-svn-revision',
- isset( $info['directory-rev'] ) ? $info['directory-rev'] : '',
- $info['checkout-rev']
+ isset( $svnInfo['directory-rev'] ) ? $svnInfo['directory-rev'] : '',
+ isset( $svnInfo['checkout-rev'] ) ? $svnInfo['checkout-rev'] : ''
)->text();
}
diff --git a/languages/i18n/af.json b/languages/i18n/af.json
index e9547e93..5957bda7 100644
--- a/languages/i18n/af.json
+++ b/languages/i18n/af.json
@@ -1450,7 +1450,7 @@
"nmembers": "$1 {{PLURAL:$1|lid|lede}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|lid|lede}}",
"nrevisions": "$1 {{PLURAL:$1|weergawe|weergawes}}",
- "nviews": "$1 {{PLURAL:$1|keer|kere}} aangevra",
+
"nimagelinks": "Gebruik op {{PLURAL:$1|een bladsy|$1 bladsye}}",
"ntransclusions": "gebruik op {{PLURAL:$1|een bladsy|$1 bladsye}}",
"specialpage-empty": "Die verslag lewer geen resultate nie.",
diff --git a/languages/i18n/am.json b/languages/i18n/am.json
index 0a96eef7..38dbe775 100644
--- a/languages/i18n/am.json
+++ b/languages/i18n/am.json
@@ -1058,7 +1058,7 @@
"nlinks": "$1 መያያዣዎች",
"nmembers": "$1 {{PLURAL:$1|መጣጥፍ|መጣጥፎች}}",
"nrevisions": "$1 ለውጦች",
- "nviews": "$1 {{PLURAL:$1|ዕይታ|ዕይታዎች}}",
+
"nimagelinks": "በ$1 {{PLURAL:$1|ገጽ|ገጾች}} ላይ ይጠቀማል።",
"ntransclusions": "በ$1 {{PLURAL:$1|ገጽ|ገጾች}} ይጠቀማል።",
"specialpage-empty": "(ይህ ገጽ ባዶ ነው።)",
diff --git a/languages/i18n/an.json b/languages/i18n/an.json
index 56586417..828bd49a 100644
--- a/languages/i18n/an.json
+++ b/languages/i18n/an.json
@@ -1256,7 +1256,7 @@
"nlinks": "$1 {{PLURAL:$1|vinclo|vinclos}}",
"nmembers": "$1 {{PLURAL:$1|miembro|miembros}}",
"nrevisions": "$1 {{PLURAL:$1|versión|versions}}",
- "nviews": "$1 {{PLURAL:$1|vesita|vesitas}}",
+
"nimagelinks": "S'emplega en $1 {{PLURAL:$1|pachina|pachinas}}",
"ntransclusions": "s'emplega en $1 {{PLURAL:$1|pachina|pachinas}}",
"specialpage-empty": "Ista pachina ye bueda.",
diff --git a/languages/i18n/ar.json b/languages/i18n/ar.json
index 0cb3df83..aaf21537 100644
--- a/languages/i18n/ar.json
+++ b/languages/i18n/ar.json
@@ -1548,7 +1548,7 @@
"nmembers": "{{PLURAL:$1|لا أعضاء|عضو واحد|عضوان|$1 أعضاء|$1 عضوا|$1 عضو}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|عضو|أعضاء}}",
"nrevisions": "{{PLURAL:$1|لا مراجعات|مراجعة واحدة|مراجعتان|$1 مراجعات|$1 مراجعة}}",
- "nviews": "{{PLURAL:$1|مشاهدة واحدة|مشاهدتان|$1 مشاهدات|$1 مشاهدة}}",
+
"nimagelinks": "مستخدم في {{PLURAL:$1||صفحة واحدة|صفحتين|$1 صفحات|$1 صفحة}}",
"ntransclusions": "مستخدم في {{PLURAL:$1||صفحة واحدة|صفحتين|$1 صفحات|$1 صفحة}}",
"specialpage-empty": "لا توجد نتائج لهذا التقرير.",
diff --git a/languages/i18n/arc.json b/languages/i18n/arc.json
index befb4b2c..86cbb3c9 100644
--- a/languages/i18n/arc.json
+++ b/languages/i18n/arc.json
@@ -783,7 +783,7 @@
"nlinks": "$1 {{PLURAL:$1|ܐܣܘܪܐ|ܐܣܘܪ̈ܐ}}",
"nmembers": "$1 {{PLURAL:$1|ܗܕܡܐ|ܗܕ̈ܡܐ}}",
"nrevisions": "$1 {{PLURAL:$1|ܬܢܝܬܐ|ܬܢܝܬ̈ܐ }}",
- "nviews": "$1 {{PLURAL:$1|ܚܘܘܝܐ|ܚܘܘܝ̈ܐ}}",
+
"specialpage-empty": "ܠܝܬ ܦܠܛ̈ܐ ܒܬܫܪܪܐ ܗܢܐ.",
"lonelypages": "ܦܐܬܬ̈ܐ ܝܬܡܬ̈ܐ",
"uncategorizedpages": "ܦܐܬܬ̈ܐ ܠܐ ܣܕܝܪ̈ܬܐ",
diff --git a/languages/i18n/arn.json b/languages/i18n/arn.json
index 5e55cf65..f610d505 100644
--- a/languages/i18n/arn.json
+++ b/languages/i18n/arn.json
@@ -450,7 +450,7 @@
"withoutinterwiki-submit": "Pegelpe",
"nbytes": "$1 {{PLURAL:$1 byte}}",
"nmembers": "$1 {{PLURAL:$1|koneltulu}}",
- "nviews": "$1 {{PLURAL:$1|pen|pen}}",
+
"prefixindex": "Kom wülngiñ engu wüne konkülelu nemül",
"shortpages": "Pichi pakina",
"usercreated": "{{GENDER:$3|Dewmangey}} $1, $2 mew",
diff --git a/languages/i18n/ary.json b/languages/i18n/ary.json
index 79e12cc3..9c96f9f0 100644
--- a/languages/i18n/ary.json
+++ b/languages/i18n/ary.json
@@ -1062,7 +1062,7 @@
"nlinks": "$1 {{PLURAL:$1|l-wṣla|dl-wṣlaṫ}}",
"nmembers": "$1 {{PLURAL:$1|Ĝoḍw|Aĝḍa'}}",
"nrevisions": "$1 {{PLURAL:$1|l-ṃoṛajaĝa|dl-ṃoṛajaĝaṫ}}",
- "nviews": "$1 {{PLURAL:$1|l-ṃoċahada|dl-ṃoċahadaṫ}}",
+
"nimagelinks": "mosṫĥmal f-$1 {{PLURAL:$1|ṣ-ṣfḫa|dṣ-ṣfaḫi}}",
"ntransclusions": "mosṫĥmal f-$1 {{PLURAL:$1|ṣ-ṣfḫa|dṣ-ṣfaḫi}}",
"lonelypages": "sfahi itima",
diff --git a/languages/i18n/arz.json b/languages/i18n/arz.json
index adf0eed6..8d64b4e3 100644
--- a/languages/i18n/arz.json
+++ b/languages/i18n/arz.json
@@ -1168,7 +1168,7 @@
"nlinks": "{{PLURAL:$1|وصله واحده|وصلتين|$1 وصلات|$1 وصله}}",
"nmembers": "$1 {{PLURAL:$1|عضو|اعضاء}}",
"nrevisions": "{{PLURAL:$1|تعديل وحيد|تعديلين|$1 تعديلات|$1 تعديل|$1}}",
- "nviews": "{{PLURAL:$1|مشاهدة واحدة|مشاهدتين|$1 مشاهدات|$1 مشاهدة}}",
+
"specialpage-empty": "مافيش نتايج للتقرير دا.",
"lonelypages": "صفحات يتيمه",
"lonelypagestext": "الصفحات دى ماعندهاش لينكات أو تضمينات من الصفحات التانية فى {{SITENAME}}.",
diff --git a/languages/i18n/as.json b/languages/i18n/as.json
index 6d86b3fb..04906b4c 100644
--- a/languages/i18n/as.json
+++ b/languages/i18n/as.json
@@ -1472,7 +1472,7 @@
"nmembers": "{{PLURAL:|$1 টা প্ৰবন্ধ বা উপশ্ৰেণী|$1 টা প্ৰবন্ধ বা উপশ্ৰেণী}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|জন সদস্য}}",
"nrevisions": "$1টা {{PLURAL:$1|সংশোধন|সংশোধন}}",
- "nviews": "$1 {{PLURAL:$1|টা দৰ্শন|টা দৰ্শন}}",
+
"nimagelinks": "$1 {{PLURAL:$1|টা পৃষ্ঠাত}} ব্যৱহৃত",
"ntransclusions": "$1 {{PLURAL:$1|টা পৃষ্ঠাত}} ব্যৱহৃত",
"specialpage-empty": "এই বিৱৰণৰ কোনো ফলাফল নাই ।",
diff --git a/languages/i18n/ast.json b/languages/i18n/ast.json
index 1b0c0899..fdc43d69 100644
--- a/languages/i18n/ast.json
+++ b/languages/i18n/ast.json
@@ -1509,7 +1509,7 @@
"nmembers": "$1 {{PLURAL:$1|miembru|miembros}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|miembru|miembros}}",
"nrevisions": "$1 {{PLURAL:$1|revisión|revisiones}}",
- "nviews": "$1 {{PLURAL:$1|vista|vistes}}",
+
"nimagelinks": "Usao en $1 {{PLURAL:$1|páxina|páxines}}",
"ntransclusions": "usao en $1 {{PLURAL:$1|páxina|páxines}}",
"specialpage-empty": "Nun hai resultaos nestos momentos.",
diff --git a/languages/i18n/avk.json b/languages/i18n/avk.json
index 40914c00..a9f3704b 100644
--- a/languages/i18n/avk.json
+++ b/languages/i18n/avk.json
@@ -930,7 +930,7 @@
"nlinks": "$1 {{PLURAL:$1|gluyasiki|gluyasiki}}",
"nmembers": "$1 {{PLURAL:$1|bewik}}",
"nrevisions": "$1 betara",
- "nviews": "$1 rupera",
+
"specialpage-empty": "Mek trasiks tori bat munsteks.",
"lonelypages": "Avuwikaf bueem",
"lonelypagestext": "Batu bu tid gluyasikiiskafu male aru bu koe {{SITENAME}}.",
diff --git a/languages/i18n/awa.json b/languages/i18n/awa.json
index 218fa2e3..a6d0561d 100644
--- a/languages/i18n/awa.json
+++ b/languages/i18n/awa.json
@@ -1472,7 +1472,7 @@
"nmembers": "$1 {{PLURAL:$1|सदस्य}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|सदस्य}}",
"nrevisions": "$1 {{PLURAL:$1|अवतरण}}",
- "nviews": "{{PLURAL:$1|एक|$1}} दाइ देखि गा है",
+
"nimagelinks": "$1 {{PLURAL:$1|पन्ना|पन्नन्}} पे प्रयुक्त",
"ntransclusions": "$1 {{PLURAL:$1|पन्ना|पन्नन}} पे प्रयुक्त",
"specialpage-empty": "इ ब्यौरा कय खर्तीन कवनो परिणाम नाई है।",
diff --git a/languages/i18n/az.json b/languages/i18n/az.json
index dcc2dbc8..42b4f260 100644
--- a/languages/i18n/az.json
+++ b/languages/i18n/az.json
@@ -1240,7 +1240,7 @@
"nlinks": "$1 {{PLURAL:$1|keçid|keçidlər}}",
"nmembers": "$1 {{PLURAL:$1|üzv|üzv}}",
"nrevisions": "$1 dəyişiklik",
- "nviews": "$1 baxış",
+
"nimagelinks": "$1 səhifədə istifadə olunmur",
"ntransclusions": "$1 səhifədə istifadə olunur",
"specialpage-empty": "Bu səhifə boşdur.",
diff --git a/languages/i18n/azb.json b/languages/i18n/azb.json
index 40a7b4cd..e0b28142 100644
--- a/languages/i18n/azb.json
+++ b/languages/i18n/azb.json
@@ -1440,7 +1440,7 @@
"nmembers": "{{PLURAL:$1|بیر|$1}} عوضو",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|عۆضو}}",
"nrevisions": "{{PLURAL:$1|بیر|$1}} نوسخه",
- "nviews": "{{PLURAL:$1|بیر|$1}} گؤرونوش",
+
"nimagelinks": "$1 ده{{PLURAL:$1|صحیفه‌ده}}ایستیفاده اولونمور",
"ntransclusions": "$1 ده{{PLURAL:$1|صحیفه‌ده}}ایستیفاده اولونور",
"specialpage-empty": "بو صحیفه بوشدور",
diff --git a/languages/i18n/ba.json b/languages/i18n/ba.json
index a7482099..fb4a2fd2 100644
--- a/languages/i18n/ba.json
+++ b/languages/i18n/ba.json
@@ -1411,7 +1411,7 @@
"nlinks": "$1 {{PLURAL:$1|һылтанма}}",
"nmembers": "$1 {{PLURAL:$1|объект}}",
"nrevisions": "$1 {{PLURAL:$1|1=өлгө|өлгө}}",
- "nviews": "$1 {{PLURAL:$1|ҡарап сығыу}}",
+
"nimagelinks": "$1 {{PLURAL:$1|биттә}} ҡулланыла",
"ntransclusions": "$1 {{PLURAL:$1|биттә}} ҡулланыла",
"specialpage-empty": "Был һорау өсөн һөҙөмтәләр юҡ.",
diff --git a/languages/i18n/bar.json b/languages/i18n/bar.json
index 8bfc90e8..0145e17b 100644
--- a/languages/i18n/bar.json
+++ b/languages/i18n/bar.json
@@ -717,7 +717,7 @@
"nlinks": "{{PLURAL:$1|a Link|$1 Links}}",
"nmembers": "{{PLURAL:$1|1 Eindrog|$1 Eindreg}}",
"nrevisions": "{{PLURAL:$1|oah Beorwatung|$1 Beorwatungen}}",
- "nviews": "{{PLURAL:$1|1 Åbfråg|$1 Åbfrång}}",
+
"uncategorizedpages": "Néd kategorisirde Seiten",
"uncategorizedcategories": "Néd kategorisirde Kategorien",
"uncategorizedimages": "Néd kategorisirde Daatein",
diff --git a/languages/i18n/bcc.json b/languages/i18n/bcc.json
index 9f056214..ab3e2121 100644
--- a/languages/i18n/bcc.json
+++ b/languages/i18n/bcc.json
@@ -1480,7 +1480,7 @@
"nmembers": "$1 {{PLURAL:$1|member|اعضا}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2| عضو|عضو}}",
"nrevisions": "$1 {{PLURAL:$1|بازبینی|بازبینی ان}}",
- "nviews": "$1 {{PLURAL:$1|دیستن|دیستن}}",
+
"nimagelinks": "$1 × $2, $3 {{PLURAL:$3|صفحه|صفحات}}",
"ntransclusions": "بی $1 {{PLURAL:$1|تاکدیم|تاکدیم}} استپاده بوته",
"specialpage-empty": "په ای گزارش هچ نتیجه ای نیست ان.",
diff --git a/languages/i18n/bcl.json b/languages/i18n/bcl.json
index e5a69d91..2f8d17e0 100644
--- a/languages/i18n/bcl.json
+++ b/languages/i18n/bcl.json
@@ -1446,7 +1446,7 @@
"nmembers": "$1 {{PLURAL:$1|miyembro|mga miyembro}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|miyembro|mga miyembro}}",
"nrevisions": "$1 {{PLURAL:$1|pagpakarhay|mga pagpakarhay}}",
- "nviews": "$1 {{PLURAL:$1|hiling|mga hiling}}",
+
"nimagelinks": "Ginamit sa $1 {{PLURAL:$1|pahina|mga pahina}}",
"ntransclusions": "ginamit sa $1 {{PLURAL:$1|pahina|mga pahina}}",
"specialpage-empty": "Mayong mga resulta para sa report na ini.",
diff --git a/languages/i18n/be-tarask.json b/languages/i18n/be-tarask.json
index b3418a17..d4ce1646 100644
--- a/languages/i18n/be-tarask.json
+++ b/languages/i18n/be-tarask.json
@@ -1514,7 +1514,7 @@
"nmembers": "$1 {{PLURAL:$1|элемэнт|элемэнты|элемэнтаў}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|элемэнт|элемэнты|элемэнтаў}}",
"nrevisions": "$1 {{PLURAL:$1|вэрсія|вэрсіі|вэрсіяў}}",
- "nviews": "$1 {{PLURAL:$1|прагляд|прагляды|праглядаў}}",
+
"nimagelinks": "Выкарыстоўваецца на $1 {{PLURAL:$1|старонцы|старонках|старонках}}",
"ntransclusions": "выкарыстоўваецца на $1 {{PLURAL:$1|старонцы|старонках|старонках}}",
"specialpage-empty": "Гэтая старонка — пустая.",
diff --git a/languages/i18n/be.json b/languages/i18n/be.json
index 836a20c6..2c6b6dd0 100644
--- a/languages/i18n/be.json
+++ b/languages/i18n/be.json
@@ -1494,7 +1494,7 @@
"nmembers": "$1 {{PLURAL:$1|складнік|складнікі|складнікаў}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|складнік|складнікі|складнік}}",
"nrevisions": "$1 {{PLURAL:$1|версія|версіі|версій}}",
- "nviews": "$1 {{PLURAL:$1|паказ|паказаў}}",
+
"nimagelinks": "Выкарыстоўваецца на $1 {{PLURAL:$1|старонцы|старонках|старонках}}",
"ntransclusions": "выкарыстоўваецца на $1 {{PLURAL:$1|старонцы|старонках|старонках}}",
"specialpage-empty": "Няма вынікаў для гэтай справаздачы.",
diff --git a/languages/i18n/bg.json b/languages/i18n/bg.json
index b51ddbfd..2b45b487 100644
--- a/languages/i18n/bg.json
+++ b/languages/i18n/bg.json
@@ -1439,7 +1439,7 @@
"nlinks": "$1 {{PLURAL:$1|препратка|препратки}}",
"nmembers": "$1 {{PLURAL:$1|член|члена}}",
"nrevisions": "$1 {{PLURAL:$1|версия|версии}}",
- "nviews": "$1 {{PLURAL:$1|преглед|прегледа}}",
+
"nimagelinks": "Използва се в $1 {{PLURAL:$1|страница|страници}}",
"ntransclusions": "използва се в $1 {{PLURAL:$1|страница|страници}}",
"specialpage-empty": "Страницата е празна.",
diff --git a/languages/i18n/bgn.json b/languages/i18n/bgn.json
index e473177f..ff527bda 100644
--- a/languages/i18n/bgn.json
+++ b/languages/i18n/bgn.json
@@ -1349,7 +1349,7 @@
"nmembers": "$1 {{PLURAL:$1|عضو|عضو}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2| عضو|عضو}}",
"nrevisions": "$1 {{PLURAL:$1|نخسه|نخسه}}",
- "nviews": "$1 {{PLURAL:$1|دیست|دیست}}",
+
"nimagelinks": "استفاده بوته بی $1 {{PLURAL:$1|تاکدیم|تاکدیم}} ئی تا",
"ntransclusions": "استفاده بوته بی $1 {{PLURAL:$1|تاکدیم|تاکدیم}} ئی تا",
"specialpage-empty": "نتیجه په راپور ئا موجود نه اینت.",
diff --git a/languages/i18n/bjn.json b/languages/i18n/bjn.json
index cffaf52a..d9efb1a0 100644
--- a/languages/i18n/bjn.json
+++ b/languages/i18n/bjn.json
@@ -1268,7 +1268,7 @@
"nlinks": "$1 {{PLURAL:$1|tautan|tautan}}",
"nmembers": "$1 {{PLURAL:$1|angguta|angguta}}",
"nrevisions": "$1 {{PLURAL:$1|ralatan|raralatan}}",
- "nviews": "dilihat $1 {{PLURAL:$1|kali|kali}}",
+
"nimagelinks": "Diguna'akan pada $1 {{PLURAL:$1|tungkaran|tutungkaran}}",
"ntransclusions": "dipuruk pada $1 {{PLURAL:$1|tungkaran|tutungkaran}}",
"specialpage-empty": "Kadada kulihan gasan lapuran ngini.",
diff --git a/languages/i18n/bn.json b/languages/i18n/bn.json
index 5e079d3d..1abbc357 100644
--- a/languages/i18n/bn.json
+++ b/languages/i18n/bn.json
@@ -1514,7 +1514,7 @@
"nmembers": "$1টি {{PLURAL:$1|সদস্য}}",
"nmemberschanged": "$1 জন → $2 জন {{PLURAL:$2|সদস্য}}",
"nrevisions": "$1 {{PLURAL:$1|সংশোধন|সংশোধনসমূহ}}",
- "nviews": "$1 {{PLURAL:$1|বার দেখা হয়েছে|বার দেখা হয়েছে}}",
+
"nimagelinks": "$1 {{PLURAL:$1|টি পাতায়| টি পাতায়}} ব্যবহৃত",
"ntransclusions": "$1 {{PLURAL:$1|টি পাতায়| টি পাতায়}} ব্যবহৃত",
"specialpage-empty": "এই রিপোর্টের জন্য কোন ফলাফল নেই।",
diff --git a/languages/i18n/br.json b/languages/i18n/br.json
index 569dbef4..971b1927 100644
--- a/languages/i18n/br.json
+++ b/languages/i18n/br.json
@@ -1474,7 +1474,7 @@
"nmembers": "$1 {{PLURAL:$1|elfenn|elfenn}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|ezel}}",
"nrevisions": "$1 {{PLURAL:$1|stumm|stumm}}",
- "nviews": "$1 {{PLURAL:$1|selladenn|selladenn}}",
+
"nimagelinks": "Implijet e $1 {{PLURAL:$1|pajenn|pajenn}}",
"ntransclusions": "implijet e $1 {{PLURAL:$1|pajenn|pajenn}}",
"specialpage-empty": "Goullo eo ar bajenn-mañ.",
diff --git a/languages/i18n/bs.json b/languages/i18n/bs.json
index 086f06a5..ae36d785 100644
--- a/languages/i18n/bs.json
+++ b/languages/i18n/bs.json
@@ -1473,7 +1473,7 @@
"nlinks": "$1 {{PLURAL:$1|veza|veze}}",
"nmembers": "$1 {{PLURAL:$1|član|članova}}",
"nrevisions": "$1 {{PLURAL:$1|revizija|revizije|revizija}}",
- "nviews": "$1 {{PLURAL:$1|pregled|pregleda}}",
+
"nimagelinks": "Koristi se na $1 {{PLURAL:$1|stranici|stranice|stranica}}",
"ntransclusions": "koristi se na $1 {{PLURAL:$1|stranici|stranice|stranica}}",
"specialpage-empty": "Nepostoje rezultati za ovaj izvještaj.",
diff --git a/languages/i18n/ca.json b/languages/i18n/ca.json
index 0d5f6fb2..5c3ddf9b 100644
--- a/languages/i18n/ca.json
+++ b/languages/i18n/ca.json
@@ -1563,7 +1563,7 @@
"nmembers": "$1 {{PLURAL:$1|element|elements}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|element|elements}}",
"nrevisions": "$1 {{PLURAL:$1|revisió|revisions}}",
- "nviews": "$1 {{PLURAL:$1|visita|visites}}",
+
"nimagelinks": "S'utilitza en {{PLURAL:$1|una pàgina|$1 pàgines}}",
"ntransclusions": "utilitzada en {{PLURAL:$1|una pàgina|$1 pàgines}}",
"specialpage-empty": "Aquesta pàgina és buida.",
diff --git a/languages/i18n/ce.json b/languages/i18n/ce.json
index fa759e2d..907e03dd 100644
--- a/languages/i18n/ce.json
+++ b/languages/i18n/ce.json
@@ -1383,7 +1383,7 @@
"nmembers": "$1 {{PLURAL:$1|хӀума|хӀумнаш}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|хӀума|хӀумнаш}}",
"nrevisions": "$1 {{PLURAL:$1|верси|версеш}}",
- "nviews": "$1 {{PLURAL:$1|хьажар}}",
+
"nimagelinks": "Лелош ю $1 {{PLURAL:$1|агӀонгахь|агӀонашкахь}}",
"ntransclusions": "лелош ю $1 {{PLURAL:$1|агӀонгахь|агӀонашкахь}}",
"specialpage-empty": "Дехаро хӀумма ца елла.",
diff --git a/languages/i18n/ckb.json b/languages/i18n/ckb.json
index 2eecb5c0..6702eb5e 100644
--- a/languages/i18n/ckb.json
+++ b/languages/i18n/ckb.json
@@ -1324,7 +1324,7 @@
"nlinks": "$1 {{PLURAL:$1|بەستەر|بەستەر}}",
"nmembers": "$1 {{PLURAL:$1|ئەندام|ئەندام}}",
"nrevisions": "$1 {{PLURAL:$1|پیاچوونەوە|پیاچوونەوە}}",
- "nviews": "$1 جار {{PLURAL:$1|بینراو|بینراو}}",
+
"specialpage-empty": "ئەنجامێک بۆ ئەم ڕاپۆرتە نییە.",
"lonelypages": "پەڕە ھەتیوەکان",
"lonelypagestext": "پەڕەکانی خوارەوە لە پەڕەکانی تری {{SITENAME}}ەوە لینکیان بۆ نەدراوە و نەھێنراونەتە نێو ھیچ پەڕەیەکی تر.",
diff --git a/languages/i18n/crh-cyrl.json b/languages/i18n/crh-cyrl.json
index c8828d11..ae4f71c6 100644
--- a/languages/i18n/crh-cyrl.json
+++ b/languages/i18n/crh-cyrl.json
@@ -934,7 +934,7 @@
"nlinks": "{{PLURAL:$1|1=1 багъланты|$1 багъланты}}",
"nmembers": "{{PLURAL:$1|1=1 аза|$1 аза}}",
"nrevisions": "{{PLURAL:$1|1=1 версия|$1 версия}}",
- "nviews": "{{PLURAL:$1|1=1 корюнюв|$1 корюнюв}}",
+
"specialpage-empty": "Бу соратма ичюн ич нетидже ёкъ.",
"lonelypages": "Озюне ич багъланты олмагъан саифелер",
"lonelypagestext": "Ашагъыдаки саифелерге {{SITENAME}} сайтындаки дигер саифелерден багъланты берильмеген, ондан да гъайры мезкюр саифелер дигер саиферлрге кирсетильмеген.",
diff --git a/languages/i18n/crh-latn.json b/languages/i18n/crh-latn.json
index 47e30ddf..f03d193e 100644
--- a/languages/i18n/crh-latn.json
+++ b/languages/i18n/crh-latn.json
@@ -934,7 +934,7 @@
"nlinks": "{{PLURAL:$1|1 bağlantı|$1 bağlantı}}",
"nmembers": "{{PLURAL:$1|1 aza|$1 aza}}",
"nrevisions": "{{PLURAL:$1|1 versiya|$1 versiya}}",
- "nviews": "{{PLURAL:$1|1 körünüv|$1 körünüv}}",
+
"specialpage-empty": "Bu soratma içün iç netice yoq.",
"lonelypages": "Özüne iç bağlantı olmağan saifeler",
"lonelypagestext": "Aşağıdaki saifelerge {{SITENAME}} saytındaki diger saifelerden bağlantı berilmegen, ondan da ğayrı mezkür saifeler diger saiferlrge kirsetilmegen.",
diff --git a/languages/i18n/cs.json b/languages/i18n/cs.json
index 1fbc5b05..6a749a7c 100644
--- a/languages/i18n/cs.json
+++ b/languages/i18n/cs.json
@@ -1531,7 +1531,7 @@
"nmembers": "$1 {{PLURAL:$1|položka|položky|položek}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|položka|položky|položek}}",
"nrevisions": "$1 {{PLURAL:$1|revize|revize|revizí}}",
- "nviews": "$1 {{PLURAL:$1|návšteva|návštevy|návštev}}",
+
"nimagelinks": "Použit na $1 {{PLURAL:$1|stránce|stránkách}}",
"ntransclusions": "použita na $1 {{PLURAL:$1|stránce|stránkách}}",
"specialpage-empty": "Tomuto požadavku neodpovídají žádné záznamy.",
diff --git a/languages/i18n/cv.json b/languages/i18n/cv.json
index 5a78f748..a6cce665 100644
--- a/languages/i18n/cv.json
+++ b/languages/i18n/cv.json
@@ -644,7 +644,7 @@
"nbytes": "$1 {{PLURAL:$1|байт|байтсем}}",
"ncategories": "$1 {{PLURAL:$1|категори|категорисем}}",
"nlinks": "$1 {{PLURAL:$1|1=каçă|каçă}}",
- "nviews": "$1 {{PLURAL:$1|пăхни|пăхнисем}}",
+
"specialpage-empty": "Ку страница пушă",
"lonelypages": "Тăлăх страницăсем",
"uncategorizedpages": "Каталогсăр страницăсем",
diff --git a/languages/i18n/cy.json b/languages/i18n/cy.json
index d4c32c84..6d0f23fd 100644
--- a/languages/i18n/cy.json
+++ b/languages/i18n/cy.json
@@ -1493,7 +1493,7 @@
"nmembers": "$1 {{PLURAL:$1|aelod|aelod|aelod|aelod|aelod|aelod}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|aelodau|aelod|aelodau}}",
"nrevisions": "$1 {{PLURAL:$1|diwygiad|diwygiad|ddiwygiad|diwygiad|diwygiad|diwygiad}}",
- "nviews": "$1 {{PLURAL:$1|ymweliad|ymweliad|ymweliad|ymweliad|ymweliad|ymweliad}}",
+
"nimagelinks": "Defnyddir ar {{PLURAL:$1||$1 dudalen|$1 dudalen|$1 tudalen|$1 thudalen|$1 tudalen}}",
"ntransclusions": "defnyddir ar {{PLURAL:$1||$1 dudalen|$1 dudalen|$1 tudalen|$1 thudalen|$1 tudalen}}",
"specialpage-empty": "Ni chafwyd canlyniadau i'w hadrodd.",
diff --git a/languages/i18n/da.json b/languages/i18n/da.json
index 6f3ab077..95a2fba9 100644
--- a/languages/i18n/da.json
+++ b/languages/i18n/da.json
@@ -1517,7 +1517,7 @@
"nmembers": "$1 {{PLURAL:$1|medlem|medlemmer}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|medlem|medlemmer}}",
"nrevisions": "{{PLURAL:$1|1 ændring|$1 ændringer}}",
- "nviews": "{{PLURAL:$1|1 visning|$1 visninger}}",
+
"nimagelinks": "Brugt på $1 {{PLURAL:$1|side|sider}}",
"ntransclusions": "brugt på $1 {{PLURAL:$1|side|sider}}",
"specialpage-empty": "Der er ingen resultater at vise.",
diff --git a/languages/i18n/de.json b/languages/i18n/de.json
index 98a8f550..24d12191 100644
--- a/languages/i18n/de.json
+++ b/languages/i18n/de.json
@@ -1583,7 +1583,7 @@
"nmembers": "{{PLURAL:$1|1 Eintrag|$1 Einträge}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|Mitglied|Mitglieder}}",
"nrevisions": "{{PLURAL:$1|1 Bearbeitung|$1 Bearbeitungen}}",
- "nviews": "{{PLURAL:$1|1 Abfrage|$1 Abfragen}}",
+
"nimagelinks": "Verwendet auf {{PLURAL:$1|einer Seite|$1 Seiten}}",
"ntransclusions": "verwendet auf {{PLURAL:$1|einer Seite|$1 Seiten}}",
"specialpage-empty": "Es sind aktuell keine zutreffenden Einträge vorhanden.",
diff --git a/languages/i18n/diq.json b/languages/i18n/diq.json
index a497dec3..e737bfc5 100644
--- a/languages/i18n/diq.json
+++ b/languages/i18n/diq.json
@@ -1473,7 +1473,7 @@
"nmembers": "$1 {{PLURAL:$1|eza|ezayan}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$1|eza|ezayan}}",
"nrevisions": "$1 {{PLURAL:$1|vurnayış|vurnayışi}}",
- "nviews": "$1 {{PLURAL:$1|vênayış|vênayışi}}",
+
"nimagelinks": "$1 {{PLURAL:$1|pele de|pelan de}} gureyeno",
"ntransclusions": "$1 {{PLURAL:$1|pele de|pelan de}} gureyeno",
"specialpage-empty": "Seba na rapore netice çıniyo.",
diff --git a/languages/i18n/dsb.json b/languages/i18n/dsb.json
index 295db5a4..7faac859 100644
--- a/languages/i18n/dsb.json
+++ b/languages/i18n/dsb.json
@@ -1472,7 +1472,7 @@
"nmembers": "$1 {{PLURAL:$1|zapis|zapisa|zapise}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|cłon|cłonka|cłonki|cłonkow}}",
"nrevisions": "$1 {{PLURAL:$1|wobźěłanje|wobźěłani|wobźěłanja}}",
- "nviews": "$1 {{PLURAL:$1|wótpšašanje|wótpšašani|wótpšašanja}}",
+
"nimagelinks": "Wužywa se na $1 {{PLURAL:$1|boku|bokoma|bokach|bokach}}",
"ntransclusions": "wužywa se na $1 {{PLURAL:$1|boku|bokoma|bokach|bokach}}",
"specialpage-empty": "Toś ten bok njewopśimjejo tuchylu žedne zapise.",
diff --git a/languages/i18n/el.json b/languages/i18n/el.json
index 78c64a38..d52848a6 100644
--- a/languages/i18n/el.json
+++ b/languages/i18n/el.json
@@ -1509,7 +1509,7 @@
"nmembers": "$1 {{PLURAL:$1|μέλος|μέλη}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|μέλος|μέλη}}",
"nrevisions": "$1 {{PLURAL:$1|αναθεώρηση|αναθεωρήσεις}}",
- "nviews": "$1 {{PLURAL:$1|επίσκεψη|επισκέψεις}}",
+
"nimagelinks": "Χρησιμοποιείται σε $1 {{PLURAL:$1|σελίδα|σελίδες}}",
"ntransclusions": "χρησιμοποιείται σε $1 {{PLURAL:$1|σελίδα|σελίδες}}",
"specialpage-empty": "Αυτή η σελίδα είναι κενή.",
diff --git a/languages/i18n/en.json b/languages/i18n/en.json
index a23c6b61..8de23acd 100644
--- a/languages/i18n/en.json
+++ b/languages/i18n/en.json
@@ -1602,7 +1602,7 @@
"nmembers": "$1 {{PLURAL:$1|member|members}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|member|members}}",
"nrevisions": "$1 {{PLURAL:$1|revision|revisions}}",
- "nviews": "$1 {{PLURAL:$1|view|views}}",
+
"nimagelinks": "Used on $1 {{PLURAL:$1|page|pages}}",
"ntransclusions": "used on $1 {{PLURAL:$1|page|pages}}",
"specialpage-empty": "There are no results for this report.",
diff --git a/languages/i18n/eo.json b/languages/i18n/eo.json
index 47032182..047af135 100644
--- a/languages/i18n/eo.json
+++ b/languages/i18n/eo.json
@@ -1532,7 +1532,7 @@
"nmembers": "{{PLURAL:$1|unu membro|$1 membroj}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|membro|membroj}}",
"nrevisions": "$1 {{PLURAL:$1|versio|versioj}}",
- "nviews": "{{PLURAL:$1|unufoje|$1 fojojn}}",
+
"nimagelinks": "Uzita en $1 {{PLURAL:$1|paĝo|paĝoj}}",
"ntransclusions": "uzita en $1 {{PLURAL:$1|paĝo|paĝoj}}",
"specialpage-empty": "Ne estas rezultoj por ĉi tiu raporto.",
diff --git a/languages/i18n/es.json b/languages/i18n/es.json
index 4f386393..330ffe13 100644
--- a/languages/i18n/es.json
+++ b/languages/i18n/es.json
@@ -1624,7 +1624,7 @@
"nmembers": "$1 {{PLURAL:$1|artículo|artículos}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|miembro|miembros}}",
"nrevisions": "$1 {{PLURAL:$1|revisión|revisiones}}",
- "nviews": "$1 {{PLURAL:$1|vista|vistas}}",
+
"nimagelinks": "Usado en {{PLURAL:$1|una página|$1 páginas}}",
"ntransclusions": "usado en {{PLURAL:$1|una página|$1 páginas}}",
"specialpage-empty": "Esta página está vacía.",
diff --git a/languages/i18n/et.json b/languages/i18n/et.json
index b0afd78c..dffdcfe8 100644
--- a/languages/i18n/et.json
+++ b/languages/i18n/et.json
@@ -1523,7 +1523,7 @@
"nmembers": "$1 {{PLURAL:$1|liige|liiget}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|liige|liiget}}",
"nrevisions": "$1 {{PLURAL:$1|redaktsioon|redaktsiooni}}",
- "nviews": "$1 {{PLURAL:$1|külastus|külastust}}",
+
"nimagelinks": "Kasutuses {{PLURAL:$1|ühel leheküljel|$1 leheküljel}}",
"ntransclusions": "kasutuses {{PLURAL:$1|ühel leheküljel|$1 leheküljel}}",
"specialpage-empty": "Vasteid ei leidu.",
diff --git a/languages/i18n/eu.json b/languages/i18n/eu.json
index 3bd40854..27a82579 100644
--- a/languages/i18n/eu.json
+++ b/languages/i18n/eu.json
@@ -1429,7 +1429,7 @@
"nmembers": "{{PLURAL:$1|partaide 1|$1 partaide}}",
"nmemberschanged": "$1 → {{PLURAL:$2|kide $2|$2 kide}}",
"nrevisions": "{{PLURAL:$1|berrikuspen 1|$1 berrikuspen}}",
- "nviews": "{{PLURAL:$1|ikusketa 1|$1 ikusketa}}",
+
"nimagelinks": "{{PLURAL:$1|Orrialde batean erabilia|$1 orrialdetan erabilia}}",
"ntransclusions": "{{PLURAL:$1|orrialde batean erabilia|$1 orrialdetan erabilia}}",
"specialpage-empty": "Ez dago emaitzarik bilaketa honetarako.",
diff --git a/languages/i18n/ext.json b/languages/i18n/ext.json
index 427c0231..605d0f43 100644
--- a/languages/i18n/ext.json
+++ b/languages/i18n/ext.json
@@ -905,7 +905,7 @@
"nlinks": "$1 {{PLURAL:$1|atihu|atihus}}",
"nmembers": "$1 {{PLURAL:$1|miembru|miembrus}}",
"nrevisions": "$1 {{PLURAL:$1|revisión|revisionis}}",
- "nviews": "$1 {{PLURAL:$1|vesita|vesitas}}",
+
"specialpage-empty": "Esta páhina está vacia.",
"lonelypages": "Páhinas güérfanas",
"lonelypagestext": "Las siguientis páginas nu están atijás (dendi otras páginas) ena {{SITENAME}}.",
diff --git a/languages/i18n/fa.json b/languages/i18n/fa.json
index 4ad8846f..e13f19e2 100644
--- a/languages/i18n/fa.json
+++ b/languages/i18n/fa.json
@@ -1551,7 +1551,7 @@
"nmembers": "$1 {{PLURAL:$1|عضو|عضو}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2| عضو|عضو}}",
"nrevisions": "$1 {{PLURAL:$1|نسخه|نسخه}}",
- "nviews": "$1 {{PLURAL:$1|بازدید|بازدید}}",
+
"nimagelinks": "مورد استفاده در $1 {{PLURAL:$1|صفحه|صفحه}}",
"ntransclusions": "در $1 {{PLURAL:$1|صفحه|صفحه}} استفاده شده‌است",
"specialpage-empty": "نتیجه‌ای برای این گزارش وجود ندارد.",
diff --git a/languages/i18n/fi.json b/languages/i18n/fi.json
index 16ecd3eb..7e1babac 100644
--- a/languages/i18n/fi.json
+++ b/languages/i18n/fi.json
@@ -1547,7 +1547,7 @@
"nmembers": "$1 {{PLURAL:$1|jäsen|jäsentä}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|jäsen|jäsentä}}",
"nrevisions": "$1 {{PLURAL:$1|muutos|muutosta}}",
- "nviews": "$1 {{PLURAL:$1|lataus|latausta}}",
+
"nimagelinks": "Käytössä $1 {{PLURAL:$1|sivulla}}",
"ntransclusions": "käytössä $1 {{PLURAL:$1|sivulla}}",
"specialpage-empty": "Tämä sivu on tyhjä.",
diff --git a/languages/i18n/fo.json b/languages/i18n/fo.json
index 0bf854a6..e16a4b97 100644
--- a/languages/i18n/fo.json
+++ b/languages/i18n/fo.json
@@ -1391,7 +1391,7 @@
"nlinks": "$1 {{PLURAL:$1|slóð|slóðir}}",
"nmembers": "$1 {{PLURAL:$1|limur|limir}}",
"nrevisions": "$1 {{PLURAL:$1|versjón|versjónir}}",
- "nviews": "$1 {{PLURAL:$1|skoðan|skoðanir}}",
+
"nimagelinks": "Brúkt á $1 {{PLURAL:$1|síðu|síðum}}",
"ntransclusions": "brúkt á $1 {{PLURAL:$1|síðu|síðum}}",
"specialpage-empty": "Tað eru ongi úrslit fyri hesa rapportina.",
diff --git a/languages/i18n/fr.json b/languages/i18n/fr.json
index 36c91e64..ca8e5bdd 100644
--- a/languages/i18n/fr.json
+++ b/languages/i18n/fr.json
@@ -1626,7 +1626,7 @@
"nmembers": "$1 membre{{PLURAL:$1||s}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|membre|membres}}",
"nrevisions": "$1 version{{PLURAL:$1||s}}",
- "nviews": "$1 consultation{{PLURAL:$1||s}}",
+
"nimagelinks": "Utilisé sur $1 {{PLURAL:$1|page|pages}}",
"ntransclusions": "Utilisé sur $1 {{PLURAL:$1|page|pages}}",
"specialpage-empty": "Il n'y a aucun résultat à afficher.",
diff --git a/languages/i18n/frp.json b/languages/i18n/frp.json
index 8c196ebc..d6154632 100644
--- a/languages/i18n/frp.json
+++ b/languages/i18n/frp.json
@@ -1355,7 +1355,7 @@
"nlinks": "$1 lim{{PLURAL:$1||s}}",
"nmembers": "$1 membro{{PLURAL:$1||s}}",
"nrevisions": "$1 vèrsion{{PLURAL:$1||s}}",
- "nviews": "$1 vu{{PLURAL:$1|a|es}}",
+
"nimagelinks": "Empleyê dessus $1 pâge{{PLURAL:$1||s}}",
"ntransclusions": "empleyê dessus $1 pâge{{PLURAL:$1||s}}",
"specialpage-empty": "Y at gins de rèsultat a fâre vêre.",
diff --git a/languages/i18n/frr.json b/languages/i18n/frr.json
index 8c6c7775..0b4479f6 100644
--- a/languages/i18n/frr.json
+++ b/languages/i18n/frr.json
@@ -1505,7 +1505,7 @@
"nmembers": "{{PLURAL:$1|1 iindrach|$1 iindracher}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|lasmoot|lasmooten}}",
"nrevisions": "$1 {{PLURAL:$1|feranrang|feranrangen}}",
- "nviews": "$1 {{PLURAL:$1|klik|kliks}}",
+
"nimagelinks": "Brükt üüb $1 {{PLURAL:$1|sidj|sidjen}}",
"ntransclusions": "brükt üüb $1 {{PLURAL:$1|sidj|sidjen}}",
"specialpage-empty": "Diar san tu tidj nian iindracher.",
diff --git a/languages/i18n/fur.json b/languages/i18n/fur.json
index e4f8d1d4..c6b5a673 100644
--- a/languages/i18n/fur.json
+++ b/languages/i18n/fur.json
@@ -768,7 +768,7 @@
"nlinks": "$1 {{PLURAL:$1|leam|leams}}",
"nmembers": "$1 {{PLURAL:$1|element|elements}}",
"nrevisions": "$1 {{PLURAL:$1|revision|revisions}}",
- "nviews": "$1 {{PLURAL:$1|viodude|viodudis}}",
+
"nimagelinks": "Doprât $1 {{PLURAL:$1|intune pagjine|in $1 pagjinis}}",
"lonelypages": "Pagjinis solitaris",
"lonelypagestext": "Lis pagjinis ca sot no àn leams di altris pagjinis di {{SITENAME}} e no son includudis in altris pagjinis.",
diff --git a/languages/i18n/fy.json b/languages/i18n/fy.json
index abcda04c..9160d59a 100644
--- a/languages/i18n/fy.json
+++ b/languages/i18n/fy.json
@@ -1115,7 +1115,7 @@
"nlinks": "$1 {{PLURAL:$1|keppeling|keppelings}}",
"nmembers": "$1 {{PLURAL:$1|lid|lea}}",
"nrevisions": "$1 {{PLURAL:$1|ferzje|ferzjes}}",
- "nviews": "{{PLURAL:$1|1 kear|$1 kear}} sjoen",
+
"specialpage-empty": "Gjin resultaten foar dit rapport.",
"lonelypages": "Lossteande siden",
"lonelypagestext": "Nei de ûndersteande siden wurdt út {{SITENAME}} wei net ferwiisd.\nDe siden binne ek net as sjabloan opnommen.",
diff --git a/languages/i18n/ga.json b/languages/i18n/ga.json
index b50d4bc6..74c637c3 100644
--- a/languages/i18n/ga.json
+++ b/languages/i18n/ga.json
@@ -800,7 +800,7 @@
"nlinks": "{{PLURAL:$1|nasc amháin|$1 naisc}}",
"nmembers": "{{PLURAL:$1|ball amháin|$1 baill}}",
"nrevisions": "{{PLURAL:$1|Leagan amháin|$1 leagain}}",
- "nviews": "{{PLURAL:$1|radharc amháin|$1 radhairc}}",
+
"lonelypages": "Leathanaigh aonair",
"uncategorizedpages": "Leathanaigh gan chatagóir",
"uncategorizedcategories": "Catagóirí gan chatagórú",
diff --git a/languages/i18n/gan-hans.json b/languages/i18n/gan-hans.json
index 80eff46e..f86d3bfa 100644
--- a/languages/i18n/gan-hans.json
+++ b/languages/i18n/gan-hans.json
@@ -840,7 +840,7 @@
"nlinks": "$1只链接",
"nmembers": "$1只成员",
"nrevisions": "$1只改动",
- "nviews": "$1回浏览",
+
"specialpage-empty": "个只报告𠮶结果系空𠮶。",
"lonelypages": "孤立𠮶页面",
"lonelypagestext": "底下页面冇链接到{{SITENAME}}个别𠮶页面。",
diff --git a/languages/i18n/gan-hant.json b/languages/i18n/gan-hant.json
index 2837d291..b7db3f55 100644
--- a/languages/i18n/gan-hant.json
+++ b/languages/i18n/gan-hant.json
@@ -836,7 +836,7 @@
"nlinks": "$1隻連結",
"nmembers": "$1隻成員",
"nrevisions": "$1隻改動",
- "nviews": "$1回瀏覽",
+
"specialpage-empty": "箇隻報告嗰結果係空嗰。",
"lonelypages": "孤立嗰頁面",
"lonelypagestext": "底下頁面冇連結到{{SITENAME}}箇別嗰頁面。",
diff --git a/languages/i18n/gd.json b/languages/i18n/gd.json
index 3969199b..b99d1c06 100644
--- a/languages/i18n/gd.json
+++ b/languages/i18n/gd.json
@@ -1525,7 +1525,7 @@
"nmembers": "$1 {{PLURAL:$1|bhall|bhall|buill|ball}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|bhall|bhall|buill|ball}}",
"nrevisions": "$1 {{PLURAL:$1|mhùthadh|mhùthadh|mùthaidhean|mùthadh}}",
- "nviews": "$1 {{PLURAL:$1|sealladh|shealladh|seallaidhean|sealladh}}",
+
"nimagelinks": "'Ga chleachdadh air $1 {{PLURAL:$1|duilleag|dhuilleag|duilleagan|duilleag}}",
"ntransclusions": "'ga chleachdadh air $1 {{PLURAL:$1|duilleag|dhuilleag|duilleagan|duilleag}}",
"specialpage-empty": "Chan eil toradh ann airson na h-aithris seo.",
diff --git a/languages/i18n/gl.json b/languages/i18n/gl.json
index c3a46e80..055e9ffa 100644
--- a/languages/i18n/gl.json
+++ b/languages/i18n/gl.json
@@ -1521,7 +1521,7 @@
"nmembers": "$1 {{PLURAL:$1|páxina|páxinas}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|membro|membros}}",
"nrevisions": "$1 {{PLURAL:$1|revisión|revisións}}",
- "nviews": "vista {{PLURAL:$1|unha vez|$1 veces}}",
+
"nimagelinks": "Empregada {{PLURAL:$1|nunha páxina|en $1 páxinas}}",
"ntransclusions": "empregado en $1 {{PLURAL:$1|páxina|páxinas}}",
"specialpage-empty": "Non hai resultados para o que solicitou.",
diff --git a/languages/i18n/gn.json b/languages/i18n/gn.json
index b9e8b508..d032b530 100644
--- a/languages/i18n/gn.json
+++ b/languages/i18n/gn.json
@@ -250,7 +250,7 @@
"nlinks": "$1 joaju",
"nmembers": "$1 kuatiahai",
"nrevisions": "$1 revisiones",
- "nviews": "$1 vistas",
+
"lonelypages": "Kuatiarogue ityre'ỹva",
"uncategorizedpages": "Kuatiarogue oñemohenda'ỹva",
"uncategorizedcategories": "Ñemohenda noñemohendáiva",
diff --git a/languages/i18n/grc.json b/languages/i18n/grc.json
index 4b99ef08..c4139439 100644
--- a/languages/i18n/grc.json
+++ b/languages/i18n/grc.json
@@ -1009,7 +1009,7 @@
"nlinks": "$1 {{PLURAL:$1|σύνδεσμος|σύνδεσμοι}}",
"nmembers": "$1 {{PLURAL:$1|μέλος|μέλη}}",
"nrevisions": "$1 {{PLURAL:$1|ἀναθεώρησις|ἀναθεωρήσεις}}",
- "nviews": "$1 {{PLURAL:$1|βλέψις|βλέψεις}}",
+
"specialpage-empty": "Οὐδὲν ἀποτέλεσμα ἐν τῇδε τῇ ἀναφορᾷ.",
"lonelypages": "Δέλτοι ὀρφαναί",
"lonelypagestext": "Aἱ ἀκόλουθοι δέλτοι μὴ συνδεδεμέναι μετὰ δέλτων τινῶν ἢ μὴ ὑπερκλῃσμέναι εἰς ἑτέρας δέλτους τινὰς ἐν τῷ {{SITENAME}} εἰσίν.",
diff --git a/languages/i18n/gsw.json b/languages/i18n/gsw.json
index dd47af17..574236d5 100644
--- a/languages/i18n/gsw.json
+++ b/languages/i18n/gsw.json
@@ -1442,7 +1442,7 @@
"nlinks": "$1 {{PLURAL:$1|Link|Links}}",
"nmembers": "$1 {{PLURAL:$1|Syte|Sytene}}",
"nrevisions": "$1 {{PLURAL:$1|Revision|Revisione}}",
- "nviews": "$1 {{PLURAL:$1|Betrachtig|Betrachtige}}",
+
"nimagelinks": "Brucht uf $1 {{PLURAL:$1|Syte|Syte}}",
"ntransclusions": "brucht uf $1 {{PLURAL:$1|Syte|Syte}}",
"specialpage-empty": "In dr Syte het s no kei aktuälli Yytreg.",
diff --git a/languages/i18n/gu.json b/languages/i18n/gu.json
index 681e60da..05924017 100644
--- a/languages/i18n/gu.json
+++ b/languages/i18n/gu.json
@@ -1419,7 +1419,7 @@
"nlinks": "$1 {{PLURAL:$1|કડી|કડીઓ}}",
"nmembers": "$1 {{PLURAL:$1|સદસ્ય|સદસ્યો}}",
"nrevisions": "$1 {{PLURAL:$1|પુનરાવર્તન|પુનરાવર્તનો}}",
- "nviews": "$1 {{PLURAL:$1|દેખાવ|દેખાવો}}",
+
"nimagelinks": "$1 {{PLURAL:$1|પાના|પાનાઓ}} પર વપરાયો",
"ntransclusions": "$1 {{PLURAL:$1|પાના|પાનાઓ}} પર વપરાયો",
"specialpage-empty": "આ પાનું ખાલી છે.",
diff --git a/languages/i18n/hak.json b/languages/i18n/hak.json
index 36ec2d75..a53f79b3 100644
--- a/languages/i18n/hak.json
+++ b/languages/i18n/hak.json
@@ -916,7 +916,7 @@
"nlinks": "$1隻鏈接",
"nmembers": "$1隻成員",
"nrevisions": "$1隻修訂版本",
- "nviews": "$1次瀏覽",
+
"specialpage-empty": "本報告無結果。",
"lonelypages": "孤立頁面",
"lonelypagestext": "Yî-ha vùn-chông mò-yû lièn-kiet liá-ke wiki chûng ke khì-thâ vùn-chông.",
diff --git a/languages/i18n/he.json b/languages/i18n/he.json
index f49313d8..a0b4f801 100644
--- a/languages/i18n/he.json
+++ b/languages/i18n/he.json
@@ -1532,7 +1532,7 @@
"nmembers": "{{PLURAL:$1|דף אחד|$1 דפים}}",
"nmemberschanged": "$1 ← {{PLURAL:$2|חבר אחד|$2 חברים}}",
"nrevisions": "{{PLURAL:$1|גרסה אחת|$1 גרסאות}}",
- "nviews": "{{PLURAL:$1|צפייה אחת|$1 צפיות}}",
+
"nimagelinks": "בשימוש {{PLURAL:$1|בדף אחד|ב־$1 דפים}}",
"ntransclusions": "בשימוש {{PLURAL:$1|בדף אחד|ב־$1 דפים}}",
"specialpage-empty": "אין תוצאות.",
diff --git a/languages/i18n/hi.json b/languages/i18n/hi.json
index b0ed3d21..7b91c1ae 100644
--- a/languages/i18n/hi.json
+++ b/languages/i18n/hi.json
@@ -1558,7 +1558,7 @@
"nmembers": "$1 {{PLURAL:$1|सदस्य}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|सदस्य}}",
"nrevisions": "$1 {{PLURAL:$1|अवतरण}}",
- "nviews": "{{PLURAL:$1|एक|$1}} बार देखा गया है",
+
"nimagelinks": "$1 {{PLURAL:$1|पृष्ठ|पृष्ठों}} पर प्रयुक्त",
"ntransclusions": "$1 {{PLURAL:$1|पृष्ठ|पृष्ठों}} पर प्रयुक्त",
"specialpage-empty": "इस ब्यौरे के लिये कोई परिणाम नहीं हैं।",
diff --git a/languages/i18n/hif-latn.json b/languages/i18n/hif-latn.json
index 4e3590d8..40b81a6a 100644
--- a/languages/i18n/hif-latn.json
+++ b/languages/i18n/hif-latn.json
@@ -1506,7 +1506,7 @@
"nmembers": "$1 {{PLURAL:$1|sadasya|sadasya}}",
"nmemberschanged": "$1 → $2{{PLURAL:$2|sadasya|sadasya}}",
"nrevisions": "$1 {{PLURAL:$1|badlao|badlao}}",
- "nviews": "$1 {{PLURAL:$1|dafe dekha gais hai|dafe dekha gais hai}}",
+
"nimagelinks": "$1 {{PLURAL:$1|panna|panna}} me kaam me lawa gais hae",
"ntransclusions": "$1 {{PLURAL:$1|panna|panna}} me kaam me lawa gais hae",
"specialpage-empty": "Ii report khatir koi results nai hai.",
diff --git a/languages/i18n/hr.json b/languages/i18n/hr.json
index fc7aa3a4..a672e1bd 100644
--- a/languages/i18n/hr.json
+++ b/languages/i18n/hr.json
@@ -1479,7 +1479,7 @@
"nlinks": "$1 {{PLURAL:$1|poveznica|poveznice|poveznica}}",
"nmembers": "$1 {{PLURAL:$1|član|članova}}",
"nrevisions": "$1 {{PLURAL:$1|inačica|inačice|inačica}}",
- "nviews": "$1 {{PLURAL:$1|put pogledano|puta pogledano|puta pogledano}}",
+
"nimagelinks": "Koristi se na $1 {{PLURAL:$1|stranici|stranice|stranica}}",
"ntransclusions": "koristi se na $1 {{PLURAL:$1|stranici|stranice|stranica}}",
"specialpage-empty": "Nema rezultata za traženi izvještaj.",
diff --git a/languages/i18n/hrx.json b/languages/i18n/hrx.json
index 301fa9ce..9e34ff32 100644
--- a/languages/i18n/hrx.json
+++ b/languages/i18n/hrx.json
@@ -1450,7 +1450,7 @@
"nmembers": "{{PLURAL:$1|1 Eintrooch|$1 Einträche}}",
"nmemberschanged": "$1 → {{PLURAL:$2|En Mitglied|$2 Mitglieder}}",
"nrevisions": "{{PLURAL:$1|1 Beoorbeitung|$1 Beoorbeitunge}}",
- "nviews": "{{PLURAL:$1|1 Abfroch|$1 Abfroche}}",
+
"nimagelinks": "Verwendt uff {{PLURAL:$1|en Seit|$1 Seite}}",
"ntransclusions": "Verwendt uff {{PLURAL:$1|en Seit|$1 Seite}}",
"specialpage-empty": "Do sind aktuell ken zutreffende Einträche voarhand.",
diff --git a/languages/i18n/hsb.json b/languages/i18n/hsb.json
index ea835c9c..a37367d1 100644
--- a/languages/i18n/hsb.json
+++ b/languages/i18n/hsb.json
@@ -1489,7 +1489,7 @@
"nmembers": "{{PLURAL:$1|$1 čłon|$1 čłonaj|$1 čłony|$1 čłonow}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|čłon|čłonaj|čłonojo|čłonow}}",
"nrevisions": "$1 {{PLURAL:$1|wobdźěłanje|wobdźěłani|wobdźěłanja|wobdźěłanjow}}",
- "nviews": "$1 {{PLURAL:$1|jedyn wopyt|wopytaj|wopyty|wopytow}}",
+
"nimagelinks": "Wužiwa so na $1 {{PLURAL:$1|stronje|stronomaj|stronach|stronach}}",
"ntransclusions": "wužiwa so na $1 {{PLURAL:$1|stronje|stronomaj|stronach|stronach}}",
"specialpage-empty": "Tuchwilu žane zapiski.",
diff --git a/languages/i18n/hu.json b/languages/i18n/hu.json
index 5611b473..569a61c6 100644
--- a/languages/i18n/hu.json
+++ b/languages/i18n/hu.json
@@ -1510,7 +1510,7 @@
"nmembers": "{{PLURAL:$1|egy|$1}} elem",
"nmemberschanged": "$1 → $2 tag",
"nrevisions": "{{PLURAL:$1|egy|$1}} változat",
- "nviews": "{{PLURAL:$1|egy|$1}} megtekintés",
+
"nimagelinks": "{{PLURAL:$1|Egy|$1}} lapon van használva",
"ntransclusions": "{{PLURAL:$1|egy|$1}} lapon van használva",
"specialpage-empty": "Ez az oldal üres.",
diff --git a/languages/i18n/hy.json b/languages/i18n/hy.json
index d5d575fd..2ab37ebb 100644
--- a/languages/i18n/hy.json
+++ b/languages/i18n/hy.json
@@ -1102,7 +1102,7 @@
"nlinks": "$1 {{PLURAL:$1|հղում|հղումներ}}",
"nmembers": "$1 {{PLURAL:$1|անդամ|անդամ}}",
"nrevisions": "$1 {{PLURAL:$1|տարբերակ|տարբերակներ}}",
- "nviews": "$1 {{PLURAL:$1|դիտում|դիտումներ}}",
+
"nimagelinks": "օգտագործվում է $1 {{PLURAL:$1|էջ|էջեր}}",
"ntransclusions": "օգտագործվում է $1 {{PLURAL:$1|էջ|էջեր}}",
"specialpage-empty": "Հայցումը արդյունքներ չվերադարձրեց։",
diff --git a/languages/i18n/ia.json b/languages/i18n/ia.json
index 3f6eb714..780ecd17 100644
--- a/languages/i18n/ia.json
+++ b/languages/i18n/ia.json
@@ -1511,7 +1511,7 @@
"nmembers": "$1 {{PLURAL:$1|membro|membros}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|membro|membros}}",
"nrevisions": "$1 {{PLURAL:$1|version|versiones}}",
- "nviews": "$1 {{PLURAL:$1|visita|visitas}}",
+
"nimagelinks": "Usate in $1 {{PLURAL:$1|pagina|paginas}}",
"ntransclusions": "usate in $1 {{PLURAL:$1|pagina|paginas}}",
"specialpage-empty": "Il non ha resultatos pro iste reporto.",
diff --git a/languages/i18n/id.json b/languages/i18n/id.json
index 0e46d5e1..2894598f 100644
--- a/languages/i18n/id.json
+++ b/languages/i18n/id.json
@@ -1543,7 +1543,7 @@
"nmembers": "$1 {{PLURAL:$1|isi}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|anggota|anggota}}",
"nrevisions": "$1 {{PLURAL:$1|revisi|revisi}}",
- "nviews": "dilihat $1 {{PLURAL:$1|kali|kali}}",
+
"nimagelinks": "Digunakan pada $1 {{PLURAL:$1|halaman|halaman}}",
"ntransclusions": "digunakan pada $1 {{PLURAL:$1|halaman|halaman}}",
"specialpage-empty": "Tak ada yang perlu dilaporkan.",
diff --git a/languages/i18n/ig.json b/languages/i18n/ig.json
index 9b4dfcc3..ea6cc6a9 100644
--- a/languages/i18n/ig.json
+++ b/languages/i18n/ig.json
@@ -730,7 +730,7 @@
"nlinks": "{{PLURAL:$1|jikodo|jikodo}} $1",
"nmembers": "{{PLURAL:$1|ọ'bànifé|Ndi n'bànifé}} $1",
"nrevisions": "{{PLURAL:$1|orübà|orübà}} $1",
- "nviews": "{{PLURAL:$1|he lèrè nke|he lèrè nke}} $1",
+
"lonelypages": "Ihü nke ogbènyè",
"wantedpages": "Ihü há chọrọ",
"prefixindex": "Ihü nílé jírí mkpụrụ édémédé nke mbu",
diff --git a/languages/i18n/ilo.json b/languages/i18n/ilo.json
index 5fc0be21..b1c8e4ca 100644
--- a/languages/i18n/ilo.json
+++ b/languages/i18n/ilo.json
@@ -1487,7 +1487,7 @@
"nmembers": "$1 a {{PLURAL:$1|kameng|kamkameng}}",
"nmemberschanged": "$1 → $2 a {{PLURAL:$2|kameng|kamkameng}}",
"nrevisions": "$1 {{PLURAL:$1|a rebison|kadagiti rebision}}",
- "nviews": "$1 {{PLURAL:$1|a panangkita|kadagiti panangkita}}",
+
"nimagelinks": "Inusar iti $1 a {{PLURAL:$1|panid|pampanid}}",
"ntransclusions": "inusar iti $1 a {{PLURAL:$1|panid|pampanid}}",
"specialpage-empty": "Awan dagiti nagbanagan daytoy a reporta.",
diff --git a/languages/i18n/io.json b/languages/i18n/io.json
index afc328c8..1a9a39a0 100644
--- a/languages/i18n/io.json
+++ b/languages/i18n/io.json
@@ -661,7 +661,7 @@
"ncategories": "$1 {{PLURAL:$1|kategorio|kategorii}}",
"nlinks": "$1 {{PLURAL:$1|ligilo|ligili}}",
"nmembers": "$1 {{PLURAL:$1|membro|membri}}",
- "nviews": "$1 {{PLURAL:$1|vizito|viziti}}",
+
"lonelypages": "Pagini sen ligili",
"uncategorizedpages": "Nekategorizita pagini",
"uncategorizedcategories": "Nekategorizita kategorii",
diff --git a/languages/i18n/is.json b/languages/i18n/is.json
index df335037..2a66a7b2 100644
--- a/languages/i18n/is.json
+++ b/languages/i18n/is.json
@@ -1439,7 +1439,7 @@
"nlinks": "$1 {{PLURAL:$1|tengill|tenglar}}",
"nmembers": "$1 {{PLURAL:$1|meðlimur|meðlimir}}",
"nrevisions": "$1 {{PLURAL:$1|breyting|breytingar}}",
- "nviews": "$1 {{PLURAL:$1|fletting|flettingar}}",
+
"nimagelinks": "Ítengd á $1 {{PLURAL:$1|síðu|síðum}}",
"ntransclusions": "Ítengd á $1 {{PLURAL:$1|síðu|síðum}}",
"specialpage-empty": "Þessi síða er tóm.",
diff --git a/languages/i18n/it.json b/languages/i18n/it.json
index 6f7ad23c..23146c77 100644
--- a/languages/i18n/it.json
+++ b/languages/i18n/it.json
@@ -1585,7 +1585,7 @@
"nmembers": "$1 {{PLURAL:$1|elemento|elementi}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|elemento|elementi}}",
"nrevisions": "$1 {{PLURAL:$1|versione|versioni}}",
- "nviews": "$1 {{PLURAL:$1|visita|visite}}",
+
"nimagelinks": "Utilizzato su $1 {{PLURAL:$1|pagina|pagine}}",
"ntransclusions": "usato in $1 {{PLURAL:$1|pagina|pagine}}",
"specialpage-empty": "Questa pagina speciale è attualmente vuota.",
diff --git a/languages/i18n/ja.json b/languages/i18n/ja.json
index bee8a3ba..a98e682a 100644
--- a/languages/i18n/ja.json
+++ b/languages/i18n/ja.json
@@ -1577,7 +1577,7 @@
"nmembers": "$1項目",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|項目}}",
"nrevisions": "$1版",
- "nviews": "$1回の閲覧",
+
"nimagelinks": "$1 {{PLURAL:$1|ページ}}で使用",
"ntransclusions": "$1 {{PLURAL:$1|ページ}}で使用",
"specialpage-empty": "該当するものはありません。",
diff --git a/languages/i18n/jv.json b/languages/i18n/jv.json
index ffd855f9..08711ce2 100644
--- a/languages/i18n/jv.json
+++ b/languages/i18n/jv.json
@@ -1419,7 +1419,7 @@
"nmembers": "$1 {{PLURAL:$1|anggota|anggota}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|anggota|anggota}}",
"nrevisions": "$1 {{PLURAL:$1|revisi|revisi}}",
- "nviews": "Wis kaping $1 {{PLURAL:$1|dituduhaké|dituduhaké}}",
+
"nimagelinks": "Kanggo nèng {{PLURAL:$1|kaca|kaca}}",
"ntransclusions": "kanggo nèng $1 {{PLURAL:$1|kaca|kaca}}",
"specialpage-empty": "Ora ana sing perlu dilaporaké.",
diff --git a/languages/i18n/ka.json b/languages/i18n/ka.json
index 06e58639..06790ecc 100644
--- a/languages/i18n/ka.json
+++ b/languages/i18n/ka.json
@@ -1474,7 +1474,7 @@
"nmembers": "$1 წევრი",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|წევრი|წევრი}}",
"nrevisions": "$1 რედაქტირება",
- "nviews": "$1 ჩვენება",
+
"nimagelinks": "გამოიყენება $1 {{PLURAL:$1|გვერდზე}}",
"ntransclusions": "გამოიყენება $1 {{PLURAL:$1|გვერდზე}}",
"specialpage-empty": "ეს გვერდი ცარიელია.",
diff --git a/languages/i18n/kaa.json b/languages/i18n/kaa.json
index 805de26b..7ace457e 100644
--- a/languages/i18n/kaa.json
+++ b/languages/i18n/kaa.json
@@ -843,7 +843,7 @@
"nlinks": "{{PLURAL:$1|1 siltew|$1 siltew}}",
"nmembers": "{{PLURAL:$1|1 ag'za|$1 ag'zalar}}",
"nrevisions": "{{PLURAL:$1|1 nusqa|$1 nusqa}}",
- "nviews": "{{PLURAL:$1|1 ma'rte|$1 ma'rte}} ko'rip shıg'ılg'an",
+
"specialpage-empty": "Bul sorawg'a hesh qanday na'tiyje joq.",
"lonelypages": "Hesh betten siltelmegen betler",
"lonelypagestext": "To'mendegi betlerge {{SITENAME}} proektindegi basqa betler siltemeydi.",
diff --git a/languages/i18n/kab.json b/languages/i18n/kab.json
index c92e9e14..a4660b4c 100644
--- a/languages/i18n/kab.json
+++ b/languages/i18n/kab.json
@@ -1422,7 +1422,7 @@
"nmembers": "$1 {{PLURAL:$1|amaslad|imasladen}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|amaslad|imasladen}}",
"nrevisions": "$1 {{PLURAL:$1|tasiwelt|tisiwal}}",
- "nviews": "$1 {{PLURAL:$1|timeẓriwt|tuẓrin}}",
+
"nimagelinks": "Yetseqdec ɣef $1 {{PLURAL:$1|asebter|isebtar}}",
"ntransclusions": "yetseqdec ɣef $1 {{PLURAL:$1|asebter|isebtar}}",
"specialpage-empty": "Asebter-agi d ilem.",
diff --git a/languages/i18n/kiu.json b/languages/i18n/kiu.json
index 50f65721..19b048cc 100644
--- a/languages/i18n/kiu.json
+++ b/languages/i18n/kiu.json
@@ -759,7 +759,7 @@
"nlinks": "$1 {{PLURAL:$1|gire|girey}}",
"nmembers": "$1 {{PLURAL:$1|eza|ezay}}",
"nrevisions": "$1 {{PLURAL:$1|çım-ra-viarnais|çım-ra-viarnaişi}}",
- "nviews": "$1 {{PLURAL:$1|vênais|vênaişi}}",
+
"uncategorizedpages": "Pelê ke kategorize nêbiyê",
"prefixindex": "Peli pêro be verbend",
"shortpages": "Pelê kılmi",
diff --git a/languages/i18n/kk-arab.json b/languages/i18n/kk-arab.json
index a54f8315..51edd0f0 100644
--- a/languages/i18n/kk-arab.json
+++ b/languages/i18n/kk-arab.json
@@ -844,7 +844,7 @@
"nlinks": "$1 سىلتەمە",
"nmembers": "$1 مۇشە",
"nrevisions": "$1 تۇزەتۋ",
- "nviews": "$1 رەت قارالعان",
+
"specialpage-empty": "بۇل باياناتقا ەش ناتىيجە جوق.",
"lonelypages": "ەش بەتتەن سىلتەلمەگەن بەتتەر",
"lonelypagestext": "كەلەسى بەتتەرگە {{SITENAME}} جوباسىنداعى باسقا بەتتەر سىلتەمەيدى.",
diff --git a/languages/i18n/kk-cyrl.json b/languages/i18n/kk-cyrl.json
index 1753182f..b76b3d67 100644
--- a/languages/i18n/kk-cyrl.json
+++ b/languages/i18n/kk-cyrl.json
@@ -1346,7 +1346,7 @@
"nmembers": "$1 {{PLURAL:$1|мүше|мүше}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|мүше|мүше}}",
"nrevisions": "$1 {{PLURAL:$1|түзету|түзету}}",
- "nviews": "$1 {{PLURAL:$1|қаралу|қаралу}}",
+
"nimagelinks": "$1 {{PLURAL:$1|бетте|бетте}} қолданылады",
"ntransclusions": "$1 {{PLURAL:$1|бетте|бетте}} қолданылады",
"specialpage-empty": "Бұл сұраныс бойынша нәтиже жоқ.",
diff --git a/languages/i18n/kk-latn.json b/languages/i18n/kk-latn.json
index 7e62a685..5fd6803b 100644
--- a/languages/i18n/kk-latn.json
+++ b/languages/i18n/kk-latn.json
@@ -845,7 +845,7 @@
"nlinks": "$1 silteme",
"nmembers": "$1 müşe",
"nrevisions": "$1 tüzetw",
- "nviews": "$1 ret qaralğan",
+
"specialpage-empty": "Bul bayanatqa eş nätïje joq.",
"lonelypages": "Eş betten siltelmegen better",
"lonelypagestext": "Kelesi betterge {{SITENAME}} jobasındağı basqa better siltemeýdi.",
diff --git a/languages/i18n/km.json b/languages/i18n/km.json
index bbea687f..8a528efd 100644
--- a/languages/i18n/km.json
+++ b/languages/i18n/km.json
@@ -1362,7 +1362,7 @@
"nlinks": "$1 {{PLURAL:$1|តំណភ្ជាប់|តំណភ្ជាប់}}",
"nmembers": "$1{{PLURAL:$1|សមាជិក|សមាជិក}}",
"nrevisions": "$1 {{PLURAL:$1|កំណែប្រែ}}",
- "nviews": "$1 {{PLURAL:$1|ការចូលមើល}}",
+
"nimagelinks": "ត្រូវបានប្រើនៅលើទំព័រចំនួន $1។",
"ntransclusions": "ត្រូវបានប្រើនៅលើទំព័រចំនួន $1",
"specialpage-empty": "គ្មានលទ្ធផលសម្រាប់របាយណ៍នេះទេ។",
diff --git a/languages/i18n/kn.json b/languages/i18n/kn.json
index cbd155a1..cf40be39 100644
--- a/languages/i18n/kn.json
+++ b/languages/i18n/kn.json
@@ -1118,7 +1118,7 @@
"nlinks": "$1 {{PLURAL:$1|ಸಂಪರ್ಕ|ಸಂಪರ್ಕಗಳು}}",
"nmembers": "$1 {{PLURAL:$1|ಸದಸ್ಯ|ಸದಸ್ಯರು}}",
"nrevisions": "$1 {{PLURAL:$1|ಬದಲಾವಣೆ|ಬದಲಾವಣೆಗಳು}}",
- "nviews": "$1 {{PLURAL:$1|ನೋಟ|ನೋಟಗಳು}}",
+
"lonelypages": "ಒಬ್ಬಂಟಿ ಪುಟಗಳು",
"lonelypagestext": "ಈ ಕೆಳಗಿನ ಪುಟಗಳು {{SITENAME}} ಅಲ್ಲಿರುವ ಇತರ ಯಾವ ಪುಟದಿಂದಲೂ ಕೊಂಡಿಯನ್ನು ಹೊಂದಿಲ್ಲ.",
"uncategorizedpages": "ಅವರ್ಗೀಕೃತ ಪುಟಗಳು",
diff --git a/languages/i18n/ko.json b/languages/i18n/ko.json
index 7c18c028..974930ba 100644
--- a/languages/i18n/ko.json
+++ b/languages/i18n/ko.json
@@ -1546,7 +1546,7 @@
"nmembers": "{{PLURAL:$1|문서}} $1개",
"nmemberschanged": "$1 → $2{{PLURAL:$2|개}}",
"nrevisions": "{{PLURAL:$1|판}} $1개",
- "nviews": "$1번 {{PLURAL:$1|읽음}}",
+
"nimagelinks": "{{PLURAL:$1|문서}} $1개에서 사용됨",
"ntransclusions": "{{PLURAL:$1|문서}} $1개에서 사용됨",
"specialpage-empty": "명령에 대한 결과가 없습니다.",
diff --git a/languages/i18n/krc.json b/languages/i18n/krc.json
index 2c3b40cb..d95388e7 100644
--- a/languages/i18n/krc.json
+++ b/languages/i18n/krc.json
@@ -1371,7 +1371,7 @@
"nmembers": "$1 {{PLURAL:$1|объект}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|объект}}",
"nrevisions": "$1 {{PLURAL:$1|версия}}",
- "nviews": "$1 {{PLURAL:$1|къарау}}",
+
"nimagelinks": "$1 {{PLURAL:$1|бетде}} хайырланады",
"ntransclusions": "$1 {{PLURAL:$1|бетде}} хайырланады",
"specialpage-empty": "Сорма эсеб келтирмеди.",
diff --git a/languages/i18n/ksh.json b/languages/i18n/ksh.json
index 2a37b9ca..36d6ad67 100644
--- a/languages/i18n/ksh.json
+++ b/languages/i18n/ksh.json
@@ -1518,7 +1518,7 @@
"nmembers": "met {{PLURAL:$1|ein Sigg|$1 Sigge}} dren",
"nmemberschanged": "met&nbsp;$1&nbsp;→&nbsp;{{PLURAL:$2|eine Sigg|$2&nbsp;Sigge|keine Sigg}}",
"nrevisions": "{{PLURAL:$1|Ein Änderung|$1 Änderunge|Keij Änderung}}",
- "nviews": "{{PLURAL:$1|Eine Avrof|$1 Avrofe|Keine Avrof}}",
+
"nimagelinks": "Weed op {{PLURAL:$1|eine Sigg|$1 Sigge|keine Sigg}} jebruch",
"ntransclusions": "weed op {{PLURAL:$1|eine Sigg|$1 Sigge|keine Sigg}} jebruch",
"specialpage-empty": "Heh en dä Leß es nix dren.",
diff --git a/languages/i18n/ku-latn.json b/languages/i18n/ku-latn.json
index 799d6907..de3d84c9 100644
--- a/languages/i18n/ku-latn.json
+++ b/languages/i18n/ku-latn.json
@@ -951,7 +951,7 @@
"nlinks": "$1 {{PLURAL:$1|girêdan|girêdan}}",
"nmembers": "$1 {{PLURAL:$1|endam|endam}}",
"nrevisions": "$1 {{PLURAL:$1|guherandin|guherandin}}",
- "nviews": "$1 {{PLURAL:$1|dîtin|dîtin}}",
+
"lonelypages": "Rûpelên sêwî",
"uncategorizedpages": "Rûpelên bêkategorî",
"uncategorizedcategories": "Kategoriyên bê kategorî",
diff --git a/languages/i18n/la.json b/languages/i18n/la.json
index 77734a28..4d99473f 100644
--- a/languages/i18n/la.json
+++ b/languages/i18n/la.json
@@ -993,7 +993,7 @@
"nlinks": "$1 {{PLURAL:$1|nexus|nexus}}",
"nmembers": "$1 {{PLURAL:$1|inest|insunt}}",
"nrevisions": "$1 {{PLURAL:$1|emendatio|emendationes}}",
- "nviews": "$1 {{PLURAL:$1|visa|visae}}",
+
"lonelypages": "Paginae non annexae",
"uncategorizedpages": "Paginae sine categoriis",
"uncategorizedcategories": "Categoriae sine categoriis",
diff --git a/languages/i18n/lb.json b/languages/i18n/lb.json
index 4319ac34..e641fe04 100644
--- a/languages/i18n/lb.json
+++ b/languages/i18n/lb.json
@@ -1496,7 +1496,7 @@
"nmembers": "$1 {{PLURAL:$1|Member|Memberen}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|Member|Memberen}}",
"nrevisions": "$1 {{PLURAL:$1|Versioun|Versiounen}}",
- "nviews": "$1 {{PLURAL:$1|Offro|Offroen}}",
+
"nimagelinks": "Benotzt op {{PLURAL:$1|enger Säit|$1 Säiten}}",
"ntransclusions": "benotzt op {{PLURAL:$1|enger Säit|$1 Säiten}}",
"specialpage-empty": "Dës Säit ass eidel.",
diff --git a/languages/i18n/li.json b/languages/i18n/li.json
index b0795462..fe4c3e7c 100644
--- a/languages/i18n/li.json
+++ b/languages/i18n/li.json
@@ -1281,7 +1281,7 @@
"nlinks": "$1 {{PLURAL:$1|verwiezing|verwiezinge}}",
"nmembers": "$1 {{PLURAL:$1|lid|lede}}",
"nrevisions": "$1 {{PLURAL:$1|herzening|herzeninge}}",
- "nviews": "{{PLURAL:$1|eine kieër|$1 kieër}} bekeke",
+
"nimagelinks": "Gebroek op $1 {{PLURAL:$1|pagina|pagina's}}",
"ntransclusions": "Gebroek op $1 {{PLURAL:$1|pagina|pagina's}}",
"specialpage-empty": "Deze pagina is laeg.",
diff --git a/languages/i18n/lmo.json b/languages/i18n/lmo.json
index 264bb818..4bd1b7d0 100644
--- a/languages/i18n/lmo.json
+++ b/languages/i18n/lmo.json
@@ -1016,7 +1016,7 @@
"nmembers": "$1 {{PLURAL:$1|element|element}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|elemènt|elemèncc}}",
"nrevisions": "$1 {{PLURAL:$1|reviziù}}",
- "nviews": "$1 {{PLURAL:$1|vìzita|vìzite}}",
+
"nimagelinks": "Dopràt sö $1 {{PLURAL:$1|pàgina|pàgine}}",
"ntransclusions": "dopràt sö $1 {{PLURAL:$1|pàgina|pàgine}}",
"specialpage-empty": "Chèsta pàgina speciàl al momènt l'è öda.",
diff --git a/languages/i18n/loz.json b/languages/i18n/loz.json
index f511adcc..b6ec3db9 100644
--- a/languages/i18n/loz.json
+++ b/languages/i18n/loz.json
@@ -468,7 +468,7 @@
"nlinks": "$1 {{PLURAL:$1|ling'ki|ling'ki}}",
"nmembers": "$1 {{PLURAL:$1|peta|petani}}",
"nrevisions": "$1 {{PLURAL:$1|hloli|hlolina}}",
- "nviews": "$1 {{PLURAL:$1|kamukile|kamukile}}",
+
"specialpage-empty": "Kamukile ni sa bundau.",
"lonelypages": "Petulo coni ling'ki di a",
"lonelypagestext": "Petulo kamukile ni sa con ling'ki di xeti petulo di {{SITENAME}}.",
diff --git a/languages/i18n/lrc.json b/languages/i18n/lrc.json
index f2f4dcbb..297f6a24 100644
--- a/languages/i18n/lrc.json
+++ b/languages/i18n/lrc.json
@@ -1519,7 +1519,7 @@
"nmembers": "$1 {{PLURAL:$1|اندوم|اندوميا}}",
"nmemberschanged": "$1 → $2 {{جمی:$2|اندوم|اندومیا}}",
"nrevisions": "$1 {{جمس:$1|وانئری|وانئریا}}",
- "nviews": "$1 {{جمی:$1|دیئن|دیئنیا}}",
+
"nimagelinks": "$1 {{جمی:$1|بلگه|بلگيا}} استفاده بیه",
"ntransclusions": "$1 {{جمی:$1|بلگه|بلگيا}} استفاده بیه",
"specialpage-empty": "نتیجه ای د ای گزارشت نئ.",
diff --git a/languages/i18n/lt.json b/languages/i18n/lt.json
index a392ca13..5310625c 100644
--- a/languages/i18n/lt.json
+++ b/languages/i18n/lt.json
@@ -1491,7 +1491,7 @@
"nmembers": "$1 {{PLURAL:$1|narys|nariai|narių}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|narys|nariai|narių}}",
"nrevisions": "$1 {{PLURAL:$1|keitimas|keitimai|keitimų}}",
- "nviews": "$1 {{PLURAL:$1|parodymas|parodymai|parodymų}}",
+
"nimagelinks": "Naudojama $1 {{PLURAL:$1|puslapyje|puslapiuose|puslapių}}",
"ntransclusions": "naudojama $1 {{PLURAL:$1|puslapyje|puslapiuose|puslapių}}",
"specialpage-empty": "Šiai ataskaitai nėra rezultatų.",
diff --git a/languages/i18n/lus.json b/languages/i18n/lus.json
index 88cae64b..b064f8f3 100644
--- a/languages/i18n/lus.json
+++ b/languages/i18n/lus.json
@@ -964,7 +964,7 @@
"nlinks": "$1 {{PLURAL:$1||}} Zawmna $1",
"nmembers": "A chhungah {{PLURAL:$1||$1}} a awm.",
"nrevisions": "siamṭhatna $1 {{PLURAL:$1||}}",
- "nviews": "vawi $1 {{PLURAL:$1||}} ràwn a ni tawh.",
+
"nimagelinks": "Phêk $1-ah {{PLURAL:$1||}} hman a ni.",
"ntransclusions": "phêk $1-ah {{PLURAL:$1||}} hman a ni.",
"specialpage-empty": "Thuhawn a awm lo tlat.",
diff --git a/languages/i18n/lv.json b/languages/i18n/lv.json
index cafbea42..68026570 100644
--- a/languages/i18n/lv.json
+++ b/languages/i18n/lv.json
@@ -1288,7 +1288,7 @@
"nlinks": "$1 {{PLURAL:$1|saites|saite|saites}}",
"nmembers": "$1 {{PLURAL:$1|lapas|lapa|lapas}}",
"nrevisions": "$1 {{PLURAL:$1|versijas|versija|versijas}}",
- "nviews": "skatīta $1 {{PLURAL:$1|reizes|reizi|reizes}}",
+
"nimagelinks": "Izmantots $1 {{PLURAL:$1|lapās|lapā|lapās}}",
"ntransclusions": "izmantots $1 {{PLURAL:$1|lapās|lapā|lapās}}",
"specialpage-empty": "Šim ziņojumam nav rezultātu.",
diff --git a/languages/i18n/lzh.json b/languages/i18n/lzh.json
index 674c343a..90dbcba5 100644
--- a/languages/i18n/lzh.json
+++ b/languages/i18n/lzh.json
@@ -1268,7 +1268,7 @@
"nlinks": "$1鏈",
"nmembers": "$1戶",
"nrevisions": "$1審",
- "nviews": "$1閱",
+
"nimagelinks": "用以頁有$1",
"ntransclusions": "用以頁有$1",
"lonelypages": "孤寡",
diff --git a/languages/i18n/mai.json b/languages/i18n/mai.json
index ffa712d1..7062debf 100644
--- a/languages/i18n/mai.json
+++ b/languages/i18n/mai.json
@@ -1459,7 +1459,7 @@
"nmembers": "$1 {{PLURAL:$1|सदस्य|सदस्य सभ}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|प्रयोक्ता|प्रयोक्ता सभ}}",
"nrevisions": "$1{{PLURAL:$1|संशोधन|संशोधन सभ}}",
- "nviews": "$1 {{PLURAL:$1|दृश्य|दृश्य सभ}}",
+
"nimagelinks": "$1पर प्रयुक्त {{PLURAL:$1|पन्ना|पन्ना सभ}}",
"ntransclusions": "$1पर प्रयुक्त {{PLURAL:$1|पन्ना|पन्ना सभ}}",
"specialpage-empty": "ऐ पन्ना लेल कोनो परिणाम नै अछि।",
diff --git a/languages/i18n/map-bms.json b/languages/i18n/map-bms.json
index f7cf1c6a..27f57cb0 100644
--- a/languages/i18n/map-bms.json
+++ b/languages/i18n/map-bms.json
@@ -1057,7 +1057,7 @@
"nlinks": "$1 {{PLURAL:$1|pranala|pranala}}",
"nmembers": "$1 {{PLURAL:$1|isi|isi}}",
"nrevisions": "$1 {{PLURAL:$1|revisi|revisi}}",
- "nviews": "Wis ping $1 {{PLURAL:$1|dideleng|dideleng}}",
+
"nimagelinks": "Digunakna nang $1 {{PLURAL:$1|kaca|kaca}}",
"ntransclusions": "digunakna nang $1 {{PLURAL:$1|kaca|kaca}}",
"specialpage-empty": "Ora ana sing perlu dilaporna.",
diff --git a/languages/i18n/mdf.json b/languages/i18n/mdf.json
index 46f6d38d..2b110f21 100644
--- a/languages/i18n/mdf.json
+++ b/languages/i18n/mdf.json
@@ -1064,7 +1064,7 @@
"nlinks": "$1 {{PLURAL:$1|сюлмафкс|сюлмафкст}}",
"nmembers": "$1 {{PLURAL:$1|сувси|сувсихть}}",
"nrevisions": "$1 {{PLURAL:$1|верзие|верзиет}}",
- "nviews": "$1 {{PLURAL:$1|няфтема|няфтемат}}",
+
"specialpage-empty": "Тя информациень коряс мезеге изь мув.",
"lonelypages": "Уроз лопат",
"lonelypagestext": "Ся лопатне афи сюлмафт афи сотфт иля лопатнень мархта {{SITENAME}}са.",
diff --git a/languages/i18n/mg.json b/languages/i18n/mg.json
index 8f39d3dd..1ca75cf2 100644
--- a/languages/i18n/mg.json
+++ b/languages/i18n/mg.json
@@ -1466,7 +1466,7 @@
"nlinks": "{{PLURAL:$1|rohy|rohy}} $1",
"nmembers": "{{PLURAL:$1|mpikambana|mpikambana}} $1",
"nrevisions": "{{PLURAL:$1|fanovana|fanovana}} $1",
- "nviews": "{{PLURAL:}}Tsidika $1",
+
"nimagelinks": "Ampiasain'ny pejy miisa{{PLURAL:}} $1",
"ntransclusions": "Ampiasaina eo amin'ny pejy miisa $1 {{PLURAL:}}",
"specialpage-empty": "Tsy misy valiny ho aseho.",
diff --git a/languages/i18n/mhr.json b/languages/i18n/mhr.json
index 3f38f594..9909073a 100644
--- a/languages/i18n/mhr.json
+++ b/languages/i18n/mhr.json
@@ -529,7 +529,7 @@
"withoutinterwiki-submit": "ончыкташ",
"nbytes": "$1 {{PLURAL:$1|1=байт|байт}}",
"nmembers": "$1 {{PLURAL:$1|1=лаштык|лаштык-влак}}",
- "nviews": "$1 {{PLURAL:$1|1=ончымо|ончымо-влак}}",
+
"lonelypages": "Тулык лаштык-влак",
"wantedcategories": "Ыштыман категорий-влак",
"wantedpages": "Ыштышаш лаштык-влак",
diff --git a/languages/i18n/min.json b/languages/i18n/min.json
index e63929fc..51fd0f61 100644
--- a/languages/i18n/min.json
+++ b/languages/i18n/min.json
@@ -1107,7 +1107,7 @@
"nlinks": "$1 {{PLURAL:$1|pautan}}",
"nmembers": "$1 {{PLURAL:$1|anggota}}",
"nrevisions": "$1 {{PLURAL:$1|revisi}}",
- "nviews": "dilihek $1 {{PLURAL:$1|kali}}",
+
"nimagelinks": "Digunoan pado $1 {{PLURAL:$1|laman}}",
"ntransclusions": "digunoan pado $1 {{PLURAL:$1|laman}}",
"specialpage-empty": "Indak ado nan paralu dilaporan.",
diff --git a/languages/i18n/mk.json b/languages/i18n/mk.json
index de8663b4..d85efb68 100644
--- a/languages/i18n/mk.json
+++ b/languages/i18n/mk.json
@@ -1528,7 +1528,7 @@
"nmembers": "$1 {{PLURAL:$1|член|членови}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|член|членови}}",
"nrevisions": "$1 {{PLURAL:$1|измена|измени}}",
- "nviews": "$1 {{PLURAL:$1|преглед|прегледи}}",
+
"nimagelinks": "Се користи на $1 {{PLURAL:$1|страница|страници}}",
"ntransclusions": "се користи на $1 {{PLURAL:$1|страница|страници}}",
"specialpage-empty": "Нема резултати од пребарувањето на овој извештај.",
diff --git a/languages/i18n/ml.json b/languages/i18n/ml.json
index 1c560f3e..07e9028c 100644
--- a/languages/i18n/ml.json
+++ b/languages/i18n/ml.json
@@ -1520,7 +1520,7 @@
"nmembers": "{{PLURAL:$1|ഒരു അംഗം|$1 അംഗങ്ങൾ}}",
"nmemberschanged": "$1 → {{PLURAL:$2|ഒരു അംഗം|$2 അംഗങ്ങൾ}}",
"nrevisions": "{{PLURAL:$1|ഒരു പതിപ്പ്|$1 പതിപ്പുകൾ}}",
- "nviews": "{{PLURAL:$1|ഒരു സന്ദർശനം|$1 സന്ദർശനങ്ങൾ}}",
+
"nimagelinks": "{{PLURAL:$1|ഒരു താളിൽ|$1 താളുകളിൽ}} ഉപയോഗിച്ചിരിക്കുന്നു",
"ntransclusions": "{{PLURAL:$1|ഒരു താളിൽ|$1 താളുകളിൽ}} ഉപയോഗിച്ചിരിക്കുന്നു",
"specialpage-empty": "ഈ താൾ ശൂന്യമാണ്.",
diff --git a/languages/i18n/mn.json b/languages/i18n/mn.json
index 7fe9c722..718dbc90 100644
--- a/languages/i18n/mn.json
+++ b/languages/i18n/mn.json
@@ -1344,7 +1344,7 @@
"nlinks": "$1 линк",
"nmembers": "$1 гишүүн",
"nrevisions": "$1 засвар",
- "nviews": "$1 удаа үзсэн",
+
"nimagelinks": "$1 {{PLURAL:$1|хуудсанд|хуудсанд}} ашигласан",
"specialpage-empty": "Энэ мэдүүлэгт үр дүн гарсангүй.",
"lonelypages": "Өнчин хуудсууд",
diff --git a/languages/i18n/mr.json b/languages/i18n/mr.json
index ead4fefd..d1c2d651 100644
--- a/languages/i18n/mr.json
+++ b/languages/i18n/mr.json
@@ -1472,7 +1472,7 @@
"nmembers": "$1 {{PLURAL:$1|सदस्य}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|सदस्य}}",
"nrevisions": "$1 {{PLURAL:$1|आवर्तन|आवर्तने}}",
- "nviews": "$1 {{PLURAL:$1|दृषीपथ|दृषीपथ}}",
+
"nimagelinks": "$1{{PLURAL:$1|पानावर|पानांवर}}",
"ntransclusions": "$1{{PLURAL:$1|पानावर|पानांवर}} वापर",
"specialpage-empty": "या अहवालाकरिता(रिपोर्ट)कोणताही निकाल नाही.",
diff --git a/languages/i18n/ms.json b/languages/i18n/ms.json
index 14b518c4..3fb3c942 100644
--- a/languages/i18n/ms.json
+++ b/languages/i18n/ms.json
@@ -1522,7 +1522,7 @@
"nmembers": "$1 ahli",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|ahli}}",
"nrevisions": "$1 semakan",
- "nviews": "Dilihat $1 kali",
+
"nimagelinks": "Digunakan pada {{PLURAL:$1|sebuah|$1 buah}} laman",
"ntransclusions": "digunakan pada {{PLURAL:$1|sebuah|$1 buah}} laman",
"specialpage-empty": "Tiada keputusan bagi laporan ini.",
diff --git a/languages/i18n/mt.json b/languages/i18n/mt.json
index 3c55d64f..ca9ac704 100644
--- a/languages/i18n/mt.json
+++ b/languages/i18n/mt.json
@@ -1357,7 +1357,7 @@
"nlinks": "{{PLURAL:$1|link|$1 links}}",
"nmembers": "$1 {{PLURAL:$1|membru|membri}}",
"nrevisions": "{{PLURAL:$1|reviżjoni|$1 reviżjonijiet}}",
- "nviews": "{{PLURAL:$1|visita|$1 visiti}}",
+
"nimagelinks": "Użat fuq $1 {{PLURAL:$1|paġna|paġni}}",
"ntransclusions": "użat fuq $1 {{PLURAL:$1|paġna|paġni}}",
"specialpage-empty": "Dan ir-rapport ma fih l-ebda riżultat.",
diff --git a/languages/i18n/myv.json b/languages/i18n/myv.json
index da14248b..d5576776 100644
--- a/languages/i18n/myv.json
+++ b/languages/i18n/myv.json
@@ -918,7 +918,7 @@
"nlinks": "$1 {{PLURAL:$1|невтевкс|невтевкснедэ|невтевкст}}",
"nmembers": "куронь $1 {{PLURAL:$1|ломань|ломанть}}",
"nrevisions": "$1 {{PLURAL:$1|1=лиякстомтома|лиякстомтомат}}",
- "nviews": "$1 {{PLURAL:$1|1=ванома потмо|ванома потмот}}",
+
"lonelypages": "Лопаурозкэть",
"uncategorizedpages": "Категориявтомо лопат",
"uncategorizedcategories": "Категориявтомо категорият",
diff --git a/languages/i18n/nap.json b/languages/i18n/nap.json
index e7922b4a..24b0a5fc 100644
--- a/languages/i18n/nap.json
+++ b/languages/i18n/nap.json
@@ -1508,7 +1508,7 @@
"nmembers": "$1 {{PLURAL:$1|elemento|elemente}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|membro|membre}}",
"nrevisions": "$1 {{PLURAL:$1|verzione|verziune}}",
- "nviews": "$1 {{PLURAL:$1|visita|visite}}",
+
"nimagelinks": "Ausate ncopp'a {{PLURAL:$1|na paggena|$1 paggene}}",
"ntransclusions": "ausate ncopp'a {{PLURAL:$1|na paggena|$1 paggene}}",
"specialpage-empty": "Nun ce stanno risultate pe' stu report.",
diff --git a/languages/i18n/nb.json b/languages/i18n/nb.json
index 9d2d63f5..6fdcffb1 100644
--- a/languages/i18n/nb.json
+++ b/languages/i18n/nb.json
@@ -1543,7 +1543,7 @@
"nmembers": "$1 {{PLURAL:$1|medlem|medlemmer}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|medlem|medlemmer}}",
"nrevisions": "$1 {{PLURAL:$1|revisjon|revisjoner}}",
- "nviews": "$1 {{PLURAL:$1|visning|visninger}}",
+
"nimagelinks": "Brukt på $1 {{PLURAL:$1|side|sider}}",
"ntransclusions": "brukt på $1 {{PLURAL:$1|side|sider}}",
"specialpage-empty": "Denne siden er tom.",
diff --git a/languages/i18n/nds-nl.json b/languages/i18n/nds-nl.json
index f54cc789..33cfb10e 100644
--- a/languages/i18n/nds-nl.json
+++ b/languages/i18n/nds-nl.json
@@ -1450,7 +1450,7 @@
"nlinks": "$1 {{PLURAL:$1|verwiezing|verwiezingen}}",
"nmembers": "$1 {{PLURAL:$1|onderwarp|onderwarpen}}",
"nrevisions": "$1 {{PLURAL:$1|versie|versies}}",
- "nviews": "{{PLURAL:$1|1 keer|$1 keer}} bekeken",
+
"nimagelinks": "Wörden op {{PLURAL:$1|één zied|$1 ziejen}} gebruukt",
"ntransclusions": "wörden op {{PLURAL:$1|één zied|$1 ziejen}} gebruukt",
"specialpage-empty": "Disse zied is leeg.",
diff --git a/languages/i18n/nds.json b/languages/i18n/nds.json
index f8301c32..2e1c61e8 100644
--- a/languages/i18n/nds.json
+++ b/languages/i18n/nds.json
@@ -1111,7 +1111,7 @@
"nlinks": "$1 {{PLURAL:$1|Verwies|Verwiesen}}",
"nmembers": "$1 {{PLURAL:$1|Maat|Maten}}",
"nrevisions": "{{PLURAL:$1|1 Version|$1 Versionen}}",
- "nviews": "$1 {{PLURAL:$1|Affraag|Affragen}}",
+
"specialpage-empty": "Disse Siet is leddig.",
"lonelypages": "Weetsieden",
"lonelypagestext": "Op disse Sieden wiest kene annern Sieden vun {{SITENAME}} un se sünd ok narms inbunnen.",
diff --git a/languages/i18n/ne.json b/languages/i18n/ne.json
index 6e78ef2a..3dd2d9fd 100644
--- a/languages/i18n/ne.json
+++ b/languages/i18n/ne.json
@@ -1335,7 +1335,7 @@
"nlinks": "$1 {{PLURAL:$1|लिंक|लिंकहरु}}",
"nmembers": "$1 {{PLURAL:$1|सदस्य|सदस्यहरू}}",
"nrevisions": "$1 {{PLURAL:$1|पुनरावलोकन|पुनरावलोकनहरु}}",
- "nviews": "$1 {{PLURAL:$1|अवलोकन|अवलोकनहरु}}",
+
"nimagelinks": "$1 {{PLURAL:$1|पृष्ठ|पृष्ठहरु}}माथि प्रयोग गरिएको",
"ntransclusions": "$1 {{PLURAL:$1पृष्ठमा प्रयोग गरिएको|पृष्ठहरुमा प्रयोग गरिएका}}",
"specialpage-empty": "यो पृष्ठ खाली छ।",
diff --git a/languages/i18n/nl.json b/languages/i18n/nl.json
index 8cd91784..e47671af 100644
--- a/languages/i18n/nl.json
+++ b/languages/i18n/nl.json
@@ -1564,7 +1564,7 @@
"nmembers": "$1 {{PLURAL:$1|item|items}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|lid|leden}}",
"nrevisions": "$1 {{PLURAL:$1|versie|versies}}",
- "nviews": "{{PLURAL:$1|1 keer|$1 keer}} bekeken",
+
"nimagelinks": "Gebruikt op {{PLURAL:$1|één pagina|$1 pagina's}}",
"ntransclusions": "gebruikt op {{PLURAL:$1|één pagina|$1 pagina's}}",
"specialpage-empty": "Er zijn geen resultaten voor deze rapportage.",
diff --git a/languages/i18n/nn.json b/languages/i18n/nn.json
index b9aa6fb3..3830f69c 100644
--- a/languages/i18n/nn.json
+++ b/languages/i18n/nn.json
@@ -1436,7 +1436,7 @@
"nlinks": "{{PLURAL:$1|Éi lenkje|$1 lenkjer}}",
"nmembers": "$1 {{PLURAL:$1|medlem|medlemmer}}",
"nrevisions": "{{PLURAL:$1|Éin versjon|$1 versjonar}}",
- "nviews": "{{PLURAL:$1|Éi vising|$1 visingar}}",
+
"nimagelinks": "Brukt på $1 {{PLURAL:$1|side|sider}}",
"ntransclusions": "brukt på $1 {{PLURAL:$1|side|sider}}",
"specialpage-empty": "Det er ingen resultat for denne rapporten.",
diff --git a/languages/i18n/oc.json b/languages/i18n/oc.json
index 4f1471ea..108226fe 100644
--- a/languages/i18n/oc.json
+++ b/languages/i18n/oc.json
@@ -1488,7 +1488,7 @@
"nmembers": "$1 {{PLURAL:$1|membre|membres}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|membre|membres}}",
"nrevisions": "$1 {{PLURAL:$1|revision|revisions}}",
- "nviews": "$1 {{PLURAL:$1|consultacion|consultacions}}",
+
"nimagelinks": "Utilizat sus $1 {{PLURAL:$1|pagina|paginas}}",
"ntransclusions": "Utilizat sus $1 {{PLURAL:$1|pagina|paginas}}",
"specialpage-empty": "Aquesta pagina es voida.",
diff --git a/languages/i18n/or.json b/languages/i18n/or.json
index a89a2292..c2fed792 100644
--- a/languages/i18n/or.json
+++ b/languages/i18n/or.json
@@ -1483,7 +1483,7 @@
"nmembers": "$1 {{PLURAL:$1|member|ସଭ୍ୟ}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|ସଭ୍ୟ|ସଭ୍ୟଗଣ}}",
"nrevisions": "$1 ଗୋଟି {{PLURAL:$1|ସଂସ୍କରଣ|ସଂସ୍କରଣ}}",
- "nviews": "$1 ଟି {{PLURAL:$1|ଦେଖଣା|ଦେଖଣା}}",
+
"nimagelinks": "$1 ଟି {{PLURAL:$1|ପୃଷ୍ଠା|ପୃଷ୍ଠା}}ରେ ବ୍ୟବହାର କରାଯାଇଅଛି",
"ntransclusions": "$1ଟି {{PLURAL:$1|ପୃଷ୍ଠା|ପୃଷ୍ଠା}}ରେ ବ୍ୟବହାର କରାଯାଇଅଛି",
"specialpage-empty": "ଏହି ଅନୁରୋଧ ପାଇଁ କିଛି ଫଳାଫଳ ମିଳିଲା ନାହିଁ ।",
diff --git a/languages/i18n/os.json b/languages/i18n/os.json
index 89ef183a..7faeb9fb 100644
--- a/languages/i18n/os.json
+++ b/languages/i18n/os.json
@@ -849,7 +849,7 @@
"nlinks": "$1 {{PLURAL:$1|æрвитæн|æрвитæны}}",
"nmembers": "$1 {{PLURAL:$1|уæнг|уæнгы}}",
"nrevisions": "$1 {{PLURAL:$1|фæлтæр|фæлтæры}}",
- "nviews": "$1 {{PLURAL:$1|æркаст|æркасты}}",
+
"nimagelinks": "Архайд цæуы $1 {{PLURAL:$1|фарсы}}",
"ntransclusions": "архайд цæуы $1 {{PLURAL:$1|фарсы}}",
"lonelypages": "Сидзæр фæрстæ",
diff --git a/languages/i18n/pa.json b/languages/i18n/pa.json
index 1c96f7dc..dd5bfffa 100644
--- a/languages/i18n/pa.json
+++ b/languages/i18n/pa.json
@@ -1254,7 +1254,7 @@
"nlinks": "$1 {{PLURAL:$1|ਲਿੰਕ|ਲਿੰਕ}}",
"nmembers": "$1 {{PLURAL:$1|ਮੈਂਬਰ|ਮੈਂਬਰਾਂ}}",
"nrevisions": "$1 {{PLURAL:$1|ਰੀਵਿਜ਼ਨ|ਰੀਵਿਜ਼ਨਾਂ}}",
- "nviews": "$1 {{PLURAL:$1|ਫੇਰੀ|ਫੇਰੀਆਂ}}",
+
"nimagelinks": "$1 {{PLURAL:$1|ਸਫ਼ੇ|ਸਫ਼ਿਆਂ}} ’ਤੇ ਵਰਤਿਆ ਹੋਇਆ",
"ntransclusions": "$1 {{PLURAL:$1|ਸਫ਼ੇ|ਸਫ਼ਿਆਂ}} ’ਤੇ ਵਰਤਿਆ ਹੋਇਆ",
"specialpage-empty": "ਇਸ ਰਿਪੋਟ ਦਾ ਕੋਈ ਨਤੀਜਾ ਨਹੀਂ ਹੈ।",
diff --git a/languages/i18n/pam.json b/languages/i18n/pam.json
index 81c2ba3d..21cbf0a7 100644
--- a/languages/i18n/pam.json
+++ b/languages/i18n/pam.json
@@ -867,7 +867,7 @@
"nlinks": "$1 {{PLURAL:$1|link|suglung}}",
"nmembers": "$1 {{PLURAL:$1|kayanib}}",
"nrevisions": "$1 {{PLURAL:$1|pamagbayu|pamagbayu}}",
- "nviews": "$1 {{PLURAL:$1|linawe|linawe}}",
+
"specialpage-empty": "Alang linual/resulta king ulat (report) a ini.",
"lonelypages": "Bulung a alang suglung (orphaned)",
"lonelypagestext": "Alang suglung manibat kareng aliwang bulung ning {{SITENAME}} kareng makatuking bulung.",
diff --git a/languages/i18n/pl.json b/languages/i18n/pl.json
index 64a84f46..6880e5b8 100644
--- a/languages/i18n/pl.json
+++ b/languages/i18n/pl.json
@@ -1582,7 +1582,7 @@
"nmembers": "$1 {{PLURAL:$1|element|elementy|elementów}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|element|elementy|elementów}}",
"nrevisions": "$1 {{PLURAL:$1|wersja|wersje|wersji}}",
- "nviews": "odwiedzono $1 {{PLURAL:$1|raz|razy}}",
+
"nimagelinks": "Używane na $1 {{PLURAL:$1|stronie|stronach}}",
"ntransclusions": "używany na $1 {{PLURAL:$1|stronie|stronach}}",
"specialpage-empty": "Ta strona raportu jest pusta.",
diff --git a/languages/i18n/pms.json b/languages/i18n/pms.json
index 1878fe73..9cf308ef 100644
--- a/languages/i18n/pms.json
+++ b/languages/i18n/pms.json
@@ -1520,7 +1520,7 @@
"nmembers": "$1 {{PLURAL:$1|element|element}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|mèmber}}",
"nrevisions": "{{PLURAL:$1|na revision|$1 revision}}",
- "nviews": "{{PLURAL:$1|na consultassion|$1 consultassion}}",
+
"nimagelinks": "Dovrà dzora a $1 {{PLURAL:$1|pàgina|pàgine}}",
"ntransclusions": "dovrà dzora a $1 {{PLURAL:$1|pàgina|pàgine}}",
"specialpage-empty": "Pàgina veujda.",
diff --git a/languages/i18n/pnb.json b/languages/i18n/pnb.json
index f1252884..d1635fde 100644
--- a/languages/i18n/pnb.json
+++ b/languages/i18n/pnb.json
@@ -1237,7 +1237,7 @@
"nlinks": "$1 {{PLURAL:$1|link|جوڑ}}",
"nmembers": "$1 {{PLURAL:$1|member|ممبران}}",
"nrevisions": "$1 {{PLURAL:$1|ریوین|ریویناں}}",
- "nviews": "$1 {{PLURAL:$1|وکھالہ|وکھالے}}",
+
"nimagelinks": "تے ورتیا $1 {{PLURAL:$1|صفہ|صفے}}",
"ntransclusions": "$1 تے ورتے {{PLURAL:$1|صفہ|صفے}}",
"specialpage-empty": "ایس رپورٹ دے کوئی نتیجے نئیں۔",
diff --git a/languages/i18n/prg.json b/languages/i18n/prg.json
index d0b33ead..3164fc1c 100644
--- a/languages/i18n/prg.json
+++ b/languages/i18n/prg.json
@@ -1006,7 +1006,7 @@
"nlinks": "$1 {{PLURAL:$1|autengīnsenis|autengīnsenei}}",
"nmembers": "$1 {{PLURAL:$1|streīpstus|streīpstai}}",
"nrevisions": "$1 {{PLURAL:$1|wersiōni|wersiōnis}}",
- "nviews": "$1 {{PLURAL:$1|kāimalukisenis|kāimalukisenei}}",
+
"specialpage-empty": "Ni ast rezultātai per šin repōrtan.",
"lonelypages": "Ainaseīlingis pāusai",
"lonelypagestext": "Prēi zemmaisins pāusans ni autenginna niaīnan kittan pāusan anga tenēi ni autenginna prei niaīnan kittan pāusan en {{SITENAME}}.",
diff --git a/languages/i18n/ps.json b/languages/i18n/ps.json
index cade0ad8..c0eb9576 100644
--- a/languages/i18n/ps.json
+++ b/languages/i18n/ps.json
@@ -1124,7 +1124,7 @@
"nlinks": "$1 {{PLURAL:$1|تړنه|تړنې}}",
"nmembers": "$1 {{PLURAL:$1|غړی|غړي}}",
"nrevisions": "$1 {{PLURAL:$1|بڼه|بڼې}}",
- "nviews": "$1 {{PLURAL:$1|کتنه|کتنې}}",
+
"nimagelinks": "په $1 {{PLURAL:$1|کارېدلی مخ|کارېدلي مخونه}}",
"ntransclusions": "په $1 {{PLURAL:$1|مخ|مخونو}} کارېدلی",
"specialpage-empty": "د دې راپور لپاره کومې پايلې نشته.",
diff --git a/languages/i18n/pt-br.json b/languages/i18n/pt-br.json
index 26634b19..c6a59caf 100644
--- a/languages/i18n/pt-br.json
+++ b/languages/i18n/pt-br.json
@@ -1578,7 +1578,7 @@
"nmembers": "$1 {{PLURAL:$1|membro|membros}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|membro|membros}}",
"nrevisions": "$1 {{PLURAL:$1|revisão|revisões}}",
- "nviews": "$1 {{PLURAL:$1|visita|visitas}}",
+
"nimagelinks": "Utilizada em $1 {{PLURAL:$1|página|páginas}}",
"ntransclusions": "usada {{PLURAL:$1|numa página|em $1 páginas}}",
"specialpage-empty": "Atualmente não há dados a serem exibidos nesta página.",
diff --git a/languages/i18n/pt.json b/languages/i18n/pt.json
index 3a0e736e..16c4b5c9 100644
--- a/languages/i18n/pt.json
+++ b/languages/i18n/pt.json
@@ -1564,7 +1564,7 @@
"nmembers": "$1 {{PLURAL:$1|membro|membros}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|membro|membros}}",
"nrevisions": "$1 {{PLURAL:$1|edição|edições}}",
- "nviews": "$1 {{PLURAL:$1|visita|visitas}}",
+
"nimagelinks": "Usada {{PLURAL:$1|numa página|em $1 páginas}}",
"ntransclusions": "usada {{PLURAL:$1|numa página|em $1 páginas}}",
"specialpage-empty": "Não existem dados para apresentar.",
diff --git a/languages/i18n/qqq.json b/languages/i18n/qqq.json
index db301158..fef1ce51 100644
--- a/languages/i18n/qqq.json
+++ b/languages/i18n/qqq.json
@@ -1768,7 +1768,6 @@
"nmembers": "Appears in brackets after each category listed on the special page [[Special:WantedCategories]].\n\nParameters:\n* $1 - the number of members of the category\nSee also:\n* {{msg-mw|Nmemberschanged}}",
"nmemberschanged": "Appears in brackets after each category listed on the special page [[Special:WantedCategories]] if the number of pages in the category has changed since the list was last refreshed.\n\nParameters:\n* $1 - the original number of members of the category\n* $2 - the current one\nSee also:\n* {{msg-mw|Nmembers}}",
"nrevisions": "Used as link text in [[Special:FewestRevisions]].\n\nThe link points to the page history (action=history).\n\nParameters:\n* $1 - number of revisions",
- "nviews": "This message is used on [[Special:PopularPages]] to say how many times each page has been viewed.\n\nPreceded by the page title, like: Page title ($1 views)\n\nParameters:\n* $1 - the number of views",
"nimagelinks": "Used on [[Special:MostLinkedFiles]] to indicate how often a specific file is used.\n\nParameters:\n* $1 - number of pages\nSee also:\n* {{msg-mw|Ntransclusions}}",
"ntransclusions": "Used on [[Special:MostTranscludedPages]] to indicate how often a template is in use.\n\nParameters:\n* $1 - number of pages\nSee also:\n* {{msg-mw|Nimagelinks}}",
"specialpage-empty": "Used on a special page when there is no data. For example on [[Special:Unusedimages]] when all images are used.",
diff --git a/languages/i18n/qu.json b/languages/i18n/qu.json
index d91d0941..103aed86 100644
--- a/languages/i18n/qu.json
+++ b/languages/i18n/qu.json
@@ -1447,7 +1447,7 @@
"nmembers": "$1 {{PLURAL:$1|qillqa|qillqakuna}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|wankurisqa|wankurisqakuna}}",
"nrevisions": "$1 {{PLURAL:$1|llamk'apusqa|llamk'apusqakuna}}",
- "nviews": "$1 {{PLURAL:$1|rikuy|rikuykuna}}",
+
"nimagelinks": "$1 {{PLURAL:$1|p'anqapi|p'anqakunapi}} llamk'achisqa",
"ntransclusions": "$1 {{PLURAL:$1|p'anqapi|p'anqakunapi}} llamk'achisqa",
"specialpage-empty": "Kay p'anqaqa ch'usaqmi.",
diff --git a/languages/i18n/rm.json b/languages/i18n/rm.json
index a94802cb..4c0c1032 100644
--- a/languages/i18n/rm.json
+++ b/languages/i18n/rm.json
@@ -1339,7 +1339,7 @@
"nlinks": "$1 {{PLURAL:$1|colliaziun|colliaziuns}}",
"nmembers": "$1 {{PLURAL:$1|commember|commembers}}",
"nrevisions": "{{PLURAL:$1|Ina versiun|$1 versiuns}}",
- "nviews": "Contemplà $1 {{PLURAL:$1|giada|giadas}}",
+
"nimagelinks": "Utilisà sin $1 {{PLURAL:$1|pagina|paginas}}",
"ntransclusions": "utilisà sin $1 {{PLURAL:$1|pagina|paginas}}",
"specialpage-empty": "Questa pagina cuntegna actualmain naginas endataziuns.",
diff --git a/languages/i18n/ro.json b/languages/i18n/ro.json
index a3e56eff..bdecc0a8 100644
--- a/languages/i18n/ro.json
+++ b/languages/i18n/ro.json
@@ -1528,7 +1528,7 @@
"nmembers": "$1 {{PLURAL:$1|membru|membri|de membri}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|membru|membri|de membri}}",
"nrevisions": "{{PLURAL:$1|o versiune|$1 versiuni|$1 de versiuni}}",
- "nviews": "{{PLURAL:$1|o accesare|$1 accesări|$1 de accesări}}",
+
"nimagelinks": "Utilizat pe $1 {{PLURAL:$1|pagină|pagini}}",
"ntransclusions": "utilizat pe $1 {{PLURAL:$1|pagină|pagini}}",
"specialpage-empty": "Această pagină este goală.",
diff --git a/languages/i18n/roa-tara.json b/languages/i18n/roa-tara.json
index 35f80491..47220c56 100644
--- a/languages/i18n/roa-tara.json
+++ b/languages/i18n/roa-tara.json
@@ -1438,7 +1438,7 @@
"nlinks": "$1 {{PLURAL:$1|collegamende|collegaminde}}",
"nmembers": "$1 {{PLURAL:$1|membre|membre}}",
"nrevisions": "$1 {{PLURAL:$1|revisione|revisiune}}",
- "nviews": "$1 {{PLURAL:$1|visite|visite}}",
+
"nimagelinks": "Ausate sus a $1 {{PLURAL:$1|pàgene|pàggene}}",
"ntransclusions": "ausate sus a $1 {{PLURAL:$1|pàgene|pàggene}}",
"specialpage-empty": "Non ge stonne resultete pe stu report.",
diff --git a/languages/i18n/ru.json b/languages/i18n/ru.json
index 06b4b7ba..a3e8999a 100644
--- a/languages/i18n/ru.json
+++ b/languages/i18n/ru.json
@@ -1582,7 +1582,7 @@
"nmembers": "$1 {{PLURAL:$1|объект|объекта|объектов}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|объект|объекта|объектов}}",
"nrevisions": "$1 {{PLURAL:$1|версия|версии|версий}}",
- "nviews": "$1 {{PLURAL:$1|просмотр|просмотра|просмотров}}",
+
"nimagelinks": "Используется на $1 {{PLURAL:$1|странице|страницах}}",
"ntransclusions": "используется на $1 {{PLURAL:$1|странице|страницах}}",
"specialpage-empty": "Запрос не дал результатов.",
diff --git a/languages/i18n/rue.json b/languages/i18n/rue.json
index dfa980a7..d50e14fb 100644
--- a/languages/i18n/rue.json
+++ b/languages/i18n/rue.json
@@ -1426,7 +1426,7 @@
"nlinks": "$1 {{PLURAL:$1|одказ|одказы|одказів}}",
"nmembers": "$1 {{PLURAL:$1|обєкт|обєкты|обєктів}}",
"nrevisions": "$1 {{PLURAL:$1|ревізія|ревізії|ревізій}}",
- "nviews": "$1 {{PLURAL:$1|навщіва|навщівы|навщів}}",
+
"nimagelinks": "Хоснованый ня $1 {{PLURAL:$1|сторінка|сторінкы|сторінках}}",
"ntransclusions": "хоснованый ня $1 {{PLURAL:$1|сторінка|сторінкы|сторінках}}",
"specialpage-empty": "Той пожадавцї не одповідають жадны записы.",
diff --git a/languages/i18n/sa.json b/languages/i18n/sa.json
index c3df68df..1bdf32dd 100644
--- a/languages/i18n/sa.json
+++ b/languages/i18n/sa.json
@@ -1482,7 +1482,7 @@
"nlinks": "$1 {{PLURAL:$1|अनुबन्धः|अनुबन्धाः}}",
"nmembers": "$1 {{PLURAL:$1|योजकः|योजकाः}}",
"nrevisions": "$1 {{PLURAL:$1|पुनरावृत्तिः}}",
- "nviews": "$1 {{PLURAL:$1|अनुबन्धः|अनुबन्धाः}}",
+
"nimagelinks": "$1 {{PLURAL:$1|पुटम्|पुटानि}} प्रयुक्तानि ।",
"ntransclusions": "$1 {{PLURAL:$1|पुटम्|पुटानि}} प्रयुक्तानि ।",
"specialpage-empty": "अस्य वृत्तस्य परिणामः नास्ति ।",
diff --git a/languages/i18n/sah.json b/languages/i18n/sah.json
index ca59d025..27e1313e 100644
--- a/languages/i18n/sah.json
+++ b/languages/i18n/sah.json
@@ -1511,7 +1511,7 @@
"nmembers": "$1 {{PLURAL:$1|кыттааччы|кыттааччылаах}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|эбийиэк|эбийиэктээх}}",
"nrevisions": "$1 {{PLURAL:$1|барыллаах|барыл баар}}",
- "nviews": "$1 көрүүлээх",
+
"nimagelinks": "$1 {{PLURAL:$1|сирэйгэ|ахсааннаах сирэйгэ}} туттуллар",
"ntransclusions": "$1 {{PLURAL:$1|сирэйгэ|ахсааннаах сирэйгэ}} туттуллар",
"specialpage-empty": "Көрдөөн тугу да булбата.",
diff --git a/languages/i18n/sc.json b/languages/i18n/sc.json
index 4eb51675..faf25ac3 100644
--- a/languages/i18n/sc.json
+++ b/languages/i18n/sc.json
@@ -1003,7 +1003,7 @@
"nlinks": "$1 {{PLURAL:$1|ligòngiu|ligòngios}}",
"nmembers": "$1 {{PLURAL:$1|cumponente|cumponentes}}",
"nrevisions": "$1 {{PLURAL:$1|revisione|revisiones}}",
- "nviews": "$1 {{PLURAL:$1|bisura|bisuras}}",
+
"lonelypages": "Pàginas burdas",
"uncategorizedpages": "Pàginas chentza categoria",
"uncategorizedcategories": "Categorias chentza categoria",
diff --git a/languages/i18n/scn.json b/languages/i18n/scn.json
index 39bcc39a..d2fec3fb 100644
--- a/languages/i18n/scn.json
+++ b/languages/i18n/scn.json
@@ -1501,7 +1501,7 @@
"nmembers": "$1 {{PLURAL:$1|membru|membra}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|membru|membra}}",
"nrevisions": "$1 {{PLURAL:$1|rivisioni|rivisioni}}",
- "nviews": "$1 {{PLURAL:$1|vìsita|vìsiti}}",
+
"nimagelinks": "Adupiratu nta $1 {{PLURAL:$1|pàggina|pàggini}}",
"ntransclusions": "adupiratu nta $1 {{PLURAL:$1|pàggina|pàggini}}",
"specialpage-empty": "Nun cci su' risultati pi' stu rennicuntu.",
diff --git a/languages/i18n/sco.json b/languages/i18n/sco.json
index 7fde9aba..eec362c8 100644
--- a/languages/i18n/sco.json
+++ b/languages/i18n/sco.json
@@ -1501,7 +1501,7 @@
"nmembers": "$1 {{PLURAL:$1|memmer|memmers}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|memmer|memmers}}",
"nrevisions": "$1 {{PLURAL:$1|reveesion|reveesions}}",
- "nviews": "$1 {{PLURAL:$1|luik|luiks}}",
+
"nimagelinks": "Uised oan $1 {{PLURAL:$1|page|pages}}",
"ntransclusions": "uised oan $1 {{PLURAL:$1|page|pages}}",
"specialpage-empty": "Thaur's naw ootcomes fer this report.",
diff --git a/languages/i18n/sdc.json b/languages/i18n/sdc.json
index f97f953f..cd51829f 100644
--- a/languages/i18n/sdc.json
+++ b/languages/i18n/sdc.json
@@ -838,7 +838,7 @@
"nlinks": "$1 {{PLURAL:$1|cullegamentu|cullegamenti}}",
"nmembers": "$1 {{PLURAL:$1|erementu|erementi}}",
"nrevisions": "$1 {{PLURAL:$1|ribisioni|ribisioni}}",
- "nviews": "$1 {{PLURAL:$1|visita|visiti}}",
+
"specialpage-empty": "Chisthu rapporthu nò cunteni nisciun risulthaddu.",
"lonelypages": "Pàgini òiffani",
"lonelypagestext": "Li sighenti pàgini so chena cullegamenti chi prubenani d'althri pàgini di {{SITENAME}}.",
diff --git a/languages/i18n/se.json b/languages/i18n/se.json
index 22bb6212..47c3f6cc 100644
--- a/languages/i18n/se.json
+++ b/languages/i18n/se.json
@@ -626,7 +626,7 @@
"nlinks": "$1 {{PLURAL:$1|liŋka|liŋkka}}",
"nmembers": "$1 {{PLURAL:$1|lahttu|lahtu}}",
"nrevisions": "$1 {{PLURAL:$1|rievdádus|rievdádusa}}",
- "nviews": "$1 {{PLURAL:$1|láden|ládema}}",
+
"specialpage-empty": "Dán siiddus ii leat teaksta.",
"lonelypages": "Oarbbes siiddut",
"lonelypagestext": "Čuovvovaš siidduide ii čujuhuvvo eará siidduin.",
diff --git a/languages/i18n/sei.json b/languages/i18n/sei.json
index d3a576f9..93ce1d28 100644
--- a/languages/i18n/sei.json
+++ b/languages/i18n/sei.json
@@ -600,7 +600,7 @@
"nlinks": "$1 {{PLURAL:$1|link|linkám}}",
"nmembers": "$1 {{PLURAL:$1|diipolam|diipolám}}",
"nrevisions": "$1 {{PLURAL:$1|revicion|revición}}",
- "nviews": "$1 {{PLURAL:$1|cohuatl|cohuátl}}",
+
"prefixindex": "Indexde prefix",
"shortpages": "Páhinám diibajlipám",
"longpages": "Páhinám bajlipám",
diff --git a/languages/i18n/ses.json b/languages/i18n/ses.json
index 8ec5156c..2fe76d06 100644
--- a/languages/i18n/ses.json
+++ b/languages/i18n/ses.json
@@ -1500,7 +1500,7 @@
"nmembers": "{{PLURAL:$1|kondayze}} $1",
"nmemberschanged": "{{PLURAL:$2|kondayze}} $1 → $2 \\",
"nrevisions": "{{PLURAL:$1|filla}} $1",
- "nviews": "{{PLURAL:$1|gunari}} $1 \\",
+
"nimagelinks": "Goyandi {{PLURAL:$1|moo}} ga",
"ntransclusions": "goyandi {{PLURAL:$1|moo}} 1",
"specialpage-empty": "Hunyan kulyaŋ ši bayrandiroo woo se.",
diff --git a/languages/i18n/sgs.json b/languages/i18n/sgs.json
index 3de17ab1..db6383de 100644
--- a/languages/i18n/sgs.json
+++ b/languages/i18n/sgs.json
@@ -939,7 +939,7 @@
"nlinks": "$1 {{PLURAL:$1|nūruoda|nūruodas|nūruodu}}",
"nmembers": "$1 {{PLURAL:$1|narīs|narē|nariū}}",
"nrevisions": "$1 {{PLURAL:$1|pakeitėms|pakeitėmā|pakeitėmu}}",
- "nviews": "$1 {{PLURAL:$1|paruodīms|paruodīmā|paruodīmu}}",
+
"specialpage-empty": "Šėtā ataskaitā nie rezoltatu.",
"lonelypages": "Vėinišė straipsnē",
"lonelypagestext": "I šėtuos poslapius nier nūruodu ėš kėtū šėta pruojekta poslapiu.",
diff --git a/languages/i18n/sh.json b/languages/i18n/sh.json
index 23a59acc..4a461286 100644
--- a/languages/i18n/sh.json
+++ b/languages/i18n/sh.json
@@ -1453,7 +1453,7 @@
"nmembers": "$1 {{PLURAL:$1|član|članova}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|član|članova}}",
"nrevisions": "$1 {{PLURAL:$1|revizija|revizije|revizija}}",
- "nviews": "$1 {{PLURAL:$1|pregled|pregleda}}",
+
"nimagelinks": "Koristi se na $1 {{PLURAL:$1|stranici|stranice|stranica}}",
"ntransclusions": "koristi se na $1 {{PLURAL:$1|stranici|stranice|stranica}}",
"specialpage-empty": "Ne postoje rezultati za ovaj izvještaj.",
diff --git a/languages/i18n/shi.json b/languages/i18n/shi.json
index df7d659f..64a3ee4a 100644
--- a/languages/i18n/shi.json
+++ b/languages/i18n/shi.json
@@ -651,7 +651,7 @@
"nlinks": "$1 {{PLURAL:$1|azday|izdayn}}",
"nmembers": "$1 {{PLURAL:$1|agmam|igmamn}}",
"nrevisions": "$1 {{PLURAL:$1|asgadda|isgaddatn}}",
- "nviews": "$1 {{PLURAL:$1|assag|issagn}}",
+
"specialpage-empty": "Ur illa mayttukfan i asaggu yad",
"lonelypages": "Tasnatiwin tigigilin",
"lonelypagestext": "Tisnawinad ur ur tuyzdaynt z ulla lant ɣ tisniwin yaḍnin ɣ {{SITENAME}}.",
diff --git a/languages/i18n/si.json b/languages/i18n/si.json
index ce40d751..a46239a0 100644
--- a/languages/i18n/si.json
+++ b/languages/i18n/si.json
@@ -1420,7 +1420,7 @@
"nlinks": "{{PLURAL:$1|එක් සබැඳියකි|සබැඳියන් $1 කි}}",
"nmembers": "{{PLURAL:$1|එක් සාමාජිකයෙකි|සාමාජීකයන් $1 කි}}",
"nrevisions": "{{PLURAL:$1|එක් සංශෝධනයකි|සංශෝධන $1 කි }}",
- "nviews": " {{PLURAL:$1|නැරඹුම් එකකි|නැරඹුම් $1 කි}}",
+
"nimagelinks": "{{PLURAL:$1|පිටු|පිටු}} $1 ක භාවිතාකර ඇත",
"ntransclusions": "{{PLURAL:$1|පිටු|පිටු}} $1 ක භාවිතාකර ඇත",
"specialpage-empty": "මෙම වාර්තාවට ප්‍රතිඵල කිසිවක් නොමැත.",
diff --git a/languages/i18n/sk.json b/languages/i18n/sk.json
index b1eeec07..d6c943db 100644
--- a/languages/i18n/sk.json
+++ b/languages/i18n/sk.json
@@ -1476,7 +1476,7 @@
"nlinks": "$1 {{PLURAL:$1|odkaz|odkazy|odkazov}}",
"nmembers": "$1 {{PLURAL:$1|člen|členovia|členov}}",
"nrevisions": "$1 {{PLURAL:$1|revízia|revízie|revízií}}",
- "nviews": "$1 {{PLURAL:$1|návšteva|návštevy|návštev}}",
+
"nimagelinks": "Použité na $1 {{PLURAL:$1|stránke|stránkach}}",
"ntransclusions": "použité na $1 {{PLURAL:$1|stránke|stránkach}}",
"specialpage-empty": "Táto správa neobsahuje žiadne položky.",
diff --git a/languages/i18n/sl.json b/languages/i18n/sl.json
index 38a5e5a1..e40e41c0 100644
--- a/languages/i18n/sl.json
+++ b/languages/i18n/sl.json
@@ -1513,7 +1513,7 @@
"nmembers": "$1 {{PLURAL:$1|element|elementa|elementi|elementov|elementov}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|element|elementa|elementi|elementov}}",
"nrevisions": "$1 {{PLURAL:$1|redakcija|redakciji|redakcije|redakcij|redakcij}}",
- "nviews": "$1 {{PLURAL:$1|ogled|ogleda|ogledi|ogledov|ogledov}}",
+
"nimagelinks": "Uporabljeno na $1 {{PLURAL:$1|strani|straneh}}",
"ntransclusions": "uporabljeno na $1 {{PLURAL:$1|strani|straneh}}",
"specialpage-empty": "Za to poročilo ni rezultatov.",
diff --git a/languages/i18n/sli.json b/languages/i18n/sli.json
index da013e86..9bc76d7e 100644
--- a/languages/i18n/sli.json
+++ b/languages/i18n/sli.json
@@ -913,7 +913,7 @@
"ncategories": "$1 {{PLURAL:$1|Kategorie|Kategoria}}",
"nmembers": "{{PLURAL:$1|1 Eentrag|$1 Eenträge}}",
"nrevisions": "{{PLURAL:$1|1 Beoarbeetung|$1 Beoarbeetunga}}",
- "nviews": "{{PLURAL:$1|1 Obfroage|$1 Obfroaga}}",
+
"specialpage-empty": "De Seite enthält aktuell kenne Einträge.",
"lonelypages": "Verwaiste Seyta",
"lonelypagestext": "De folgenden Seyta waan ne eingebunden oder is werd ne uff se ei {{SITENAME}} verwiesa.",
diff --git a/languages/i18n/sma.json b/languages/i18n/sma.json
index 4d477e90..024b862e 100644
--- a/languages/i18n/sma.json
+++ b/languages/i18n/sma.json
@@ -374,7 +374,7 @@
"nlinks": "$1 {{PLURAL:$1|lïenghke|lïenghkeh}}",
"nmembers": "$1 {{PLURAL:$1|lihtsege|lihtsegh}}",
"nrevisions": "$1 {{PLURAL:$1|gïehtjedamme|gïehtjedammeh}}",
- "nviews": "$1 {{PLURAL:$1|vuesehte|vuesehteh}}",
+
"lonelypages": "Eejhtegapth bielieh",
"uncategorizedpages": "Ov-kategorije bielieh",
"uncategorizedcategories": "Ov-kategorije kategorijeh",
diff --git a/languages/i18n/sq.json b/languages/i18n/sq.json
index fc870a20..85b68923 100644
--- a/languages/i18n/sq.json
+++ b/languages/i18n/sq.json
@@ -1376,7 +1376,7 @@
"nlinks": "$1 {{PLURAL:$1|lidhje|lidhje}}",
"nmembers": "$1 {{PLURAL:$1|antar|antarë}}",
"nrevisions": "$1 {{PLURAL:$1|version|versione}}",
- "nviews": "$1 {{PLURAL:$1|shikim|shikime}}",
+
"nimagelinks": "Përdorur në $1 {{PLURAL:$1|faqe|faqe}}",
"ntransclusions": "përdorur në $1 {{PLURAL:$1|faqe|faqe}}",
"specialpage-empty": "Kjo faqe është boshe.",
diff --git a/languages/i18n/sr-ec.json b/languages/i18n/sr-ec.json
index bf05562b..a764e2a2 100644
--- a/languages/i18n/sr-ec.json
+++ b/languages/i18n/sr-ec.json
@@ -1518,7 +1518,7 @@
"nmembers": "$1 {{PLURAL:$1|члан|члана|чланова}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|члан|члана|чланова}}",
"nrevisions": "$1 {{PLURAL:$1|измена|измене|измена}}",
- "nviews": "$1 {{PLURAL:$1|преглед|прегледа|прегледа}}",
+
"nimagelinks": "Користи се на $1 {{PLURAL:$1|страници|странице|страница}}",
"ntransclusions": "користи се на $1 {{PLURAL:$1|страници|странице|страница}}",
"specialpage-empty": "Нема резултата за овај извештај.",
diff --git a/languages/i18n/sr-el.json b/languages/i18n/sr-el.json
index fd5bf80e..7d75b871 100644
--- a/languages/i18n/sr-el.json
+++ b/languages/i18n/sr-el.json
@@ -1508,7 +1508,7 @@
"nmembers": "$1 {{PLURAL:$1|član|člana|članova}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|član|člana|članova}}",
"nrevisions": "$1 {{PLURAL:$1|izmena|izmene|izmena}}",
- "nviews": "$1 {{PLURAL:$1|pregled|pregleda|pregleda}}",
+
"nimagelinks": "Koristi se na $1 {{PLURAL:$1|stranici|stranice|stranica}}",
"ntransclusions": "koristi se na $1 {{PLURAL:$1|stranici|stranice|stranica}}",
"specialpage-empty": "Nema rezultata za ovaj izveštaj.",
diff --git a/languages/i18n/srn.json b/languages/i18n/srn.json
index 82189049..f1c1ab65 100644
--- a/languages/i18n/srn.json
+++ b/languages/i18n/srn.json
@@ -556,7 +556,7 @@
"nlinks": "$1 {{PLURAL:$1|miti|miti}}",
"nmembers": "$1 {{PLURAL:$1|memre|memre}}",
"nrevisions": "$1 {{PLURAL:$1|si|si}}",
- "nviews": "$1 {{PLURAL:$1|mansi|mansi}}",
+
"lonelypages": "Weisi papira",
"lonelypagestext": "Na den ondroben peprewoysi sey fu u {{SITENAME}} no skaki.",
"uncategorizedpages": "Papira sondro grupu",
diff --git a/languages/i18n/stq.json b/languages/i18n/stq.json
index 2e483ca1..b022f7d3 100644
--- a/languages/i18n/stq.json
+++ b/languages/i18n/stq.json
@@ -1203,7 +1203,7 @@
"nlinks": "{{PLURAL:$1|1 Ferbiendenge|$1 Ferbiendengen}}",
"nmembers": "{{PLURAL:$1|1 Iendraach|$1 Iendraage}}",
"nrevisions": "{{PLURAL:$1|1 Beoarbaideng|$1 Beoarbaidengen}}",
- "nviews": "{{PLURAL:$1|1 Oufroage|$1 Oufroagen}}",
+
"nimagelinks": "Ferwoand ap $1 {{PLURAL:$1|Siede|Sieden}}",
"ntransclusions": "ferwoand ap $1 {{PLURAL:$1|Siede|Sieden}}",
"specialpage-empty": "Ju Siede änthaalt aktuell neen Iendraage.",
diff --git a/languages/i18n/su.json b/languages/i18n/su.json
index 01819be0..bd0bf7a9 100644
--- a/languages/i18n/su.json
+++ b/languages/i18n/su.json
@@ -1293,7 +1293,7 @@
"nmembers": "$1 {{PLURAL:$1|kontributor|kontributor}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|anggota|anggota}}",
"nrevisions": "$1 {{PLURAL:$1|révisi|révisi}}",
- "nviews": "$1 {{PLURAL:$1|témbongan|témbongan}}",
+
"nimagelinks": "Dipaké di $1 {{PLURAL:$1|kaca|kaca}}",
"ntransclusions": "dipaké di $1 {{PLURAL:$1|kaca|kaca}}",
"specialpage-empty": "Kaca ieu kosong.",
diff --git a/languages/i18n/sv.json b/languages/i18n/sv.json
index c74e6376..88998787 100644
--- a/languages/i18n/sv.json
+++ b/languages/i18n/sv.json
@@ -1569,7 +1569,7 @@
"nmembers": "$1 {{PLURAL:$1|medlem|medlemmar}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|medlem|medlemmar}}",
"nrevisions": "$1 {{PLURAL:$1|version|versioner}}",
- "nviews": "$1 {{PLURAL:$1|visning|visningar}}",
+
"nimagelinks": "Används på $1 {{PLURAL:$1|sida|sidor}}",
"ntransclusions": "används på $1 {{PLURAL:$1|sida|sidor}}",
"specialpage-empty": "Den här sidan är tom.",
diff --git a/languages/i18n/sw.json b/languages/i18n/sw.json
index 878be697..9fc287e3 100644
--- a/languages/i18n/sw.json
+++ b/languages/i18n/sw.json
@@ -1259,7 +1259,7 @@
"nlinks": "{{PLURAL:$1|kiungo|viungo}} $1",
"nmembers": "{{PLURAL:$1|kitu|vitu}} $1",
"nrevisions": "{{PLURAL:$1|pitio|mapitio}} $1",
- "nviews": "{{PLURAL:$1|mtazamaji|mitazamaji}} $1",
+
"nimagelinks": "Inatumika katika {{PLURAL:$1|ukurasa moja tu|kurasa $1}}",
"ntransclusions": "inatumika katika {{PLURAL:$1|ukurasa moja tu|kurasa $1}}",
"specialpage-empty": "Hakuna matokeo katika taarifa hii.",
diff --git a/languages/i18n/szl.json b/languages/i18n/szl.json
index 16a5a19d..ba778d42 100644
--- a/languages/i18n/szl.json
+++ b/languages/i18n/szl.json
@@ -1192,7 +1192,7 @@
"nlinks": "$1 {{PLURAL:$1|link|linki|linkůw}}",
"nmembers": "$1 {{PLURAL:$1|elyment|elymenty|elymentůw}}",
"nrevisions": "$1 {{PLURAL:$1|wersja|wersje|wersjůw}}",
- "nviews": "filowano $1 {{PLURAL:$1|roz|rozůw}}",
+
"specialpage-empty": "Ta zajta je pusto.",
"lonelypages": "Poćepńynte zajty",
"lonelypagestext": "Do zajtůw půńiżyj ńy adresuje żodno inkszo zajta we {{SITENAME}}.",
diff --git a/languages/i18n/ta.json b/languages/i18n/ta.json
index 97a26b99..625f69a2 100644
--- a/languages/i18n/ta.json
+++ b/languages/i18n/ta.json
@@ -1374,7 +1374,7 @@
"nlinks": "$1 {{PLURAL:$1|இணைப்பு|இணைப்புக்கள்}}",
"nmembers": "$1 {{PLURAL:$1|உறுப்பினர்|உறுப்பினர்கள்}}",
"nrevisions": "{{PLURAL:$1|ஒரு திருத்தம்|$1 திருத்தங்கள்}}",
- "nviews": "{{PLURAL:$1|ஒரு பார்வை|$1 பார்வைகள்}}",
+
"nimagelinks": "$1 {{PLURAL:$!|பக்கத்தில்|பக்கங்களில்}} பயன்படுத்தப்பட்டது",
"ntransclusions": "$1 {{PLURAL:$1|பக்கத்தில்|பக்கங்களில்}} பயன்படுத்தப்பட்டது",
"specialpage-empty": "இந்தப் புகாருக்குகந்த முடிவுகள் எதுவுமில்லை.",
diff --git a/languages/i18n/te.json b/languages/i18n/te.json
index 9838a435..da45b84f 100644
--- a/languages/i18n/te.json
+++ b/languages/i18n/te.json
@@ -1486,7 +1486,7 @@
"nmembers": "$1 {{PLURAL:$1|సభ్యుడు|సభ్యులు}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|సభ్యుడు|సభ్యులు}}",
"nrevisions": "{{PLURAL:$1|కూర్పు|$1 కూర్పులు}}",
- "nviews": "$1 {{PLURAL:$1|సందర్శన|సందర్శనలు}}",
+
"nimagelinks": "$1 {{PLURAL:$1|పుట|పుటల}}లో ఉపయోగించారు",
"ntransclusions": "$1 {{PLURAL:$1|పుట|పుటల}}లో ఉపయోగించారు",
"specialpage-empty": "ఈ పేజీ ఖాళీగా ఉంది.",
diff --git a/languages/i18n/tg-cyrl.json b/languages/i18n/tg-cyrl.json
index 44b6978a..227b130e 100644
--- a/languages/i18n/tg-cyrl.json
+++ b/languages/i18n/tg-cyrl.json
@@ -1138,7 +1138,7 @@
"nlinks": "$1 {{PLURAL:$1|пайванд|пайвандҳо}}",
"nmembers": "$1 {{PLURAL:$1|узв}}",
"nrevisions": "$1 {{PLURAL:$1|вироиш|вироиш}}",
- "nviews": "$1 {{PLURAL:$1|намоиш|намоишҳо}}",
+
"specialpage-empty": "Барои ин ҳисобот натиҷае вуҷуд надорад.",
"lonelypages": "Саҳифаҳои ятим",
"lonelypagestext": "Ба саҳифаҳои зерин дар дигар саҳифаи {{SITENAME}} пайванд дода нашудааст.",
diff --git a/languages/i18n/tg-latn.json b/languages/i18n/tg-latn.json
index c3dff497..f1acd0b7 100644
--- a/languages/i18n/tg-latn.json
+++ b/languages/i18n/tg-latn.json
@@ -845,7 +845,7 @@
"nlinks": "$1 {{PLURAL:$1|pajvand|pajvandho}}",
"nmembers": "$1 {{PLURAL:$1|uzv}}",
"nrevisions": "$1 {{PLURAL:$1|viroiş|viroiş}}",
- "nviews": "$1 {{PLURAL:$1|namoiş|namoişho}}",
+
"specialpage-empty": "Baroi in hisobot natiçae vuçud nadorad.",
"lonelypages": "Sahifahoi jatim",
"uncategorizedpages": "Sahifahoe, ki ba jagon gurūh doxil nestand",
diff --git a/languages/i18n/th.json b/languages/i18n/th.json
index 33c7d5c5..75f69d26 100644
--- a/languages/i18n/th.json
+++ b/languages/i18n/th.json
@@ -1475,7 +1475,7 @@
"nmembers": "$1 หน้า",
"nmemberschanged": "$1 → $2 สมาชิก",
"nrevisions": "$1 รุ่นปรับปรุง",
- "nviews": "$1 ครั้ง",
+
"nimagelinks": "ใช้ใน $1 {{PLURAL:$1|หน้า|หน้า}}",
"ntransclusions": "ใช้ใน $1 {{PLURAL:$1|หน้า|หน้า}}",
"specialpage-empty": "ไม่มีผลลัพธ์รายงานนี้",
diff --git a/languages/i18n/tk.json b/languages/i18n/tk.json
index ce14aea9..9e65fece 100644
--- a/languages/i18n/tk.json
+++ b/languages/i18n/tk.json
@@ -1154,7 +1154,7 @@
"nlinks": "$1 {{PLURAL:$1|çykgyt|çykgyt}}",
"nmembers": "{{PLURAL:$1|agza|agzalar}}",
"nrevisions": "{{PLURAL:$1|wersiýa|wersiýalar}}",
- "nviews": "$1 {{PLURAL:$1|synlama|synlama}}",
+
"specialpage-empty": "Bu habarnama üçin hiç hili netije ýok.",
"lonelypages": "Hossarsyz sahypalar",
"lonelypagestext": "Aşakdaky sahypalara {{SITENAME}} saýtyndaky başga sahypalardan çykgyt berilmändir ýa-da olara atanaklaýyn girizilmändirler.",
diff --git a/languages/i18n/tl.json b/languages/i18n/tl.json
index 649f8e92..c041d5c7 100644
--- a/languages/i18n/tl.json
+++ b/languages/i18n/tl.json
@@ -1405,7 +1405,7 @@
"nlinks": "$1 {{PLURAL:$1|ugnay|mga ugnay}}",
"nmembers": "$1 {{PLURAL:$1|kasapi|mga kasapi}}",
"nrevisions": "$1 {{PLURAL:$1|pagbabago|mga pagbabago}}",
- "nviews": "$1 {{PLURAL:$1|pagtingin|mga pagtingin}}",
+
"nimagelinks": "Ginamit sa $1 {{PLURAL:$1|pahina|mga pahina}}",
"ntransclusions": "ginamit sa $1 {{PLURAL:$1|pahina|mga pahina}}",
"specialpage-empty": "Walang resulta para sa ulat na ito.",
diff --git a/languages/i18n/tr.json b/languages/i18n/tr.json
index a910adf9..36e357ae 100644
--- a/languages/i18n/tr.json
+++ b/languages/i18n/tr.json
@@ -1564,7 +1564,7 @@
"nmembers": "{{PLURAL:$1|üye|üye}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|üye|üye}}",
"nrevisions": "{{PLURAL:$1|değişiklik|değişiklikler}}",
- "nviews": "$1 {{PLURAL:$1|görünüm|görünüm}}",
+
"nimagelinks": "$1 {{PLURAL:$1|sayfada|sayfada}} kullanılıyor",
"ntransclusions": "$1 {{PLURAL:$1|sayfada|sayfada}} kullanılıyor",
"specialpage-empty": "Bu rapor için hiç sonuç yok.",
diff --git a/languages/i18n/tyv.json b/languages/i18n/tyv.json
index 34f12ac4..4ff5748d 100644
--- a/languages/i18n/tyv.json
+++ b/languages/i18n/tyv.json
@@ -635,7 +635,7 @@
"nlinks": "$1 {{PLURAL:$1|холбаа}}",
"nmembers": "$1 {{PLURAL:$1|кежигүн}}",
"nrevisions": "$1 {{PLURAL:$1|үндүрери}}",
- "nviews": "$1 {{PLURAL:$1|көрүш}}",
+
"specialpage-empty": "Бо илеткелдиң түңнели чок.",
"lonelypages": "Чааскаан арыннар",
"uncategorizedpages": "Бөлүк эвес арыннар",
diff --git a/languages/i18n/tzm.json b/languages/i18n/tzm.json
index 04f2eb21..bcaff68e 100644
--- a/languages/i18n/tzm.json
+++ b/languages/i18n/tzm.json
@@ -387,7 +387,7 @@
"withoutinterwiki-submit": "ⵥⵕ",
"nbytes": "$1 {{PLURAL:$1|byte|bytes}}",
"ncategories": "$1 {{PLURAL:$1|ⵜⴰⴳⴳⴰⵢⵜ|ⵜⴰⴳⴳⴰⵢⵉⵏ}}",
- "nviews": "$1 {{PLURAL:$1|ⵥⵕ|ⵥⵕ ⴰⴽⴽ}}",
+
"longpages": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⵎⵇⵇⴰⵔⵏⵜ",
"newpages": "ⵜⵉⵙⵏⵉⵡⵉⵏ ⵜⵉⵎⴰⵢⵏⵓⵜⵉⵏ",
"newpages-username": "ⴰⵙⵙⴰⵖ ⵓⵎⴷⴰⵏ:",
diff --git a/languages/i18n/ug-arab.json b/languages/i18n/ug-arab.json
index 2c73fb52..340ba587 100644
--- a/languages/i18n/ug-arab.json
+++ b/languages/i18n/ug-arab.json
@@ -1409,7 +1409,7 @@
"nlinks": "$1 {{PLURAL:$1|ئۇلانما|ئۇلانما}}",
"nmembers": "$1 {{PLURAL:$1|ئەزا|ئەزا}}",
"nrevisions": "$1 {{PLURAL:$1|تۈزىتىش|تۈزىتىش}}",
- "nviews": "$1 {{PLURAL:$1|زىيارەت|زىيارەت}}",
+
"nimagelinks": "$1 {{PLURAL:$1|بەت|بەت}} تە ئىشلىتىلىدۇ",
"ntransclusions": "$1 {{PLURAL:$1|بەت|بەت}} تە ئىشلىتىلدى",
"specialpage-empty": "بۇ دوكلاتنىڭ نەتىجىسى يوق.",
diff --git a/languages/i18n/uk.json b/languages/i18n/uk.json
index 1d209d92..27f9e134 100644
--- a/languages/i18n/uk.json
+++ b/languages/i18n/uk.json
@@ -1573,7 +1573,7 @@
"nmembers": "$1 {{PLURAL:$1|об'єкт|об'єкти|об'єктів}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|член|члени|членів}}",
"nrevisions": "$1 {{PLURAL:$1|версія|версії|версій}}",
- "nviews": "$1 {{PLURAL:$1|перегляд|перегляди|переглядів}}",
+
"nimagelinks": "Використовується на $1 {{PLURAL:$1|1=сторінці|сторінках}}",
"ntransclusions": "використовується на $1 {{PLURAL:$1|1=сторінці|сторінках}}",
"specialpage-empty": "Запит не дав результатів.",
diff --git a/languages/i18n/vec.json b/languages/i18n/vec.json
index 2df5ff48..29a11bf5 100644
--- a/languages/i18n/vec.json
+++ b/languages/i18n/vec.json
@@ -1370,7 +1370,7 @@
"nlinks": "$1 {{PLURAL:$1|colegamento|colegamenti}}",
"nmembers": "$1 {{PLURAL:$1|elemento|elementi}}",
"nrevisions": "$1 {{PLURAL:$1|revision}}",
- "nviews": "$1 {{PLURAL:$1|visita|visite}}",
+
"nimagelinks": "Doparà su $1 {{PLURAL:$1|pagina|pagine}}",
"ntransclusions": "doparà su $1 {{PLURAL:$1|pagina|pagine}}",
"specialpage-empty": "Sto raporto no'l contien nissun risultato.",
diff --git a/languages/i18n/vep.json b/languages/i18n/vep.json
index 36f17887..7caba5d5 100644
--- a/languages/i18n/vep.json
+++ b/languages/i18n/vep.json
@@ -1179,7 +1179,7 @@
"nlinks": "$1 {{PLURAL:$1|kosketuz|kosketust}}",
"nmembers": "$1 {{PLURAL:$1|ühtnii|ühtnijad}}",
"nrevisions": "$1 {{PLURAL:$1|versii|versijad}}",
- "nviews": "$1 {{PLURAL:$1|kacund|kacundad}}",
+
"specialpage-empty": "Ecind ei ole andnu rezul'tatad.",
"lonelypages": "Üksjäižed lehtpoled",
"lonelypagestext": "Ozutadud lehtpolid ei kosketagoi toižed necen saitan lehtpoled; ozutadud lehtpoled mugažo ei olgoi mülütadud toižihe lehtpolihe.",
diff --git a/languages/i18n/vi.json b/languages/i18n/vi.json
index 21f39b23..fa257187 100644
--- a/languages/i18n/vi.json
+++ b/languages/i18n/vi.json
@@ -1528,7 +1528,7 @@
"nmembers": "$1 trang",
"nmemberschanged": "$1 → $2 trang",
"nrevisions": "$1 {{PLURAL:$1|phiên bản|phiên bản}}",
- "nviews": "$1 {{PLURAL:$1|lượt truy cập|lượt truy cập}}",
+
"nimagelinks": "Được sử dụng trong $1 trang",
"ntransclusions": "được sử dụng trong $1 trang",
"specialpage-empty": "Trang này đang trống.",
diff --git a/languages/i18n/vo.json b/languages/i18n/vo.json
index d51a5fca..5783728a 100644
--- a/languages/i18n/vo.json
+++ b/languages/i18n/vo.json
@@ -1112,7 +1112,7 @@
"nlinks": "{{PLURAL:$1|yüm|yüms}} $1",
"nmembers": "{{PLURAL:$1|liman|limans}} $1",
"nrevisions": "{{PLURAL:$1|fomam|fomams}} $1",
- "nviews": "{{PLURAL:$1|logam|logams}} $1",
+
"nimagelinks": "Pageböl in {{PLURAL:$1|pad|pads}} $1",
"ntransclusions": "pageböl in {{PLURAL:$1|pad|pads}} $1",
"specialpage-empty": "Pad at vagon.",
diff --git a/languages/i18n/vro.json b/languages/i18n/vro.json
index a65ac571..33365089 100644
--- a/languages/i18n/vro.json
+++ b/languages/i18n/vro.json
@@ -967,7 +967,7 @@
"nlinks": "$1 {{PLURAL:$1|link|linki}}",
"nmembers": "$1 {{PLURAL:$1|liigõq|liigõt}}",
"nrevisions": "$1 {{PLURAL:$1|muutminõ|muutmist}}",
- "nviews": "Käümiisi: $1",
+
"specialpage-empty": "Taa leht om tühi.",
"lonelypages": "Artikliq, kohe olõ-i linke",
"lonelypagestext": "Nailõ lehile olõ-i muialt vikist linke.",
diff --git a/languages/i18n/wa.json b/languages/i18n/wa.json
index 939fbe35..187ce81f 100644
--- a/languages/i18n/wa.json
+++ b/languages/i18n/wa.json
@@ -888,7 +888,7 @@
"nlinks": "$1 {{PLURAL:$1|loyén|loyéns}}",
"nmembers": "$1 {{PLURAL:$1|mimbe|mimbes}}",
"nrevisions": "$1 {{PLURAL:$1|modêye|modêyes}}",
- "nviews": "léjhowe $1 {{PLURAL:$1|côp|côps}}",
+
"nimagelinks": "Eployî so $1 pådje{{PLURAL:$1||s}}",
"ntransclusions": "eployî so $1 pådje{{PLURAL:$1||s}}",
"specialpage-empty": "Cisse pådje cial est vude.",
diff --git a/languages/i18n/war.json b/languages/i18n/war.json
index d2df1139..ae8b94a5 100644
--- a/languages/i18n/war.json
+++ b/languages/i18n/war.json
@@ -1147,7 +1147,7 @@
"nlinks": "$1 {{PLURAL:$1|nga sumpay|nga mga sumpay}}",
"nmembers": "$1 {{PLURAL:$1|nga api|nga mga api}}",
"nrevisions": "$1 {{PLURAL:$1|nga pagliwat|nga mga pagliwat}}",
- "nviews": "$1 {{PLURAL:$1|nga pangita|nga mga pangita}}",
+
"nimagelinks": "Gingamit ha $1 {{PLURAL:$1|nga pakli|nga mga pakli}}",
"ntransclusions": "gingamit ha $1 {{PLURAL:$1|nga pakli|nga mga pakli}}",
"specialpage-empty": "Waray mga resulta para hini nga report.",
diff --git a/languages/i18n/wo.json b/languages/i18n/wo.json
index 48db3591..a4840962 100644
--- a/languages/i18n/wo.json
+++ b/languages/i18n/wo.json
@@ -1004,7 +1004,7 @@
"nlinks": "$1 {{PLURAL:$1|lëkkalekaay|ciy lëkkalekaay}}",
"nmembers": "$1 {{PLURAL:$1|xët|ciy xët}} ci biir",
"nrevisions": "$1 {{PLURAL:$1|sumb|sumb}}",
- "nviews": "$1 {{PLURAL:$1|nemmeeku|nemmeeku}}",
+
"specialpage-empty": "Xët wii amul dara",
"lonelypages": "Xëti jiriim",
"lonelypagestext": "Xët yiy toftal amuñuy lëkkalekaay yu ne ci yeneen xët yu leen di ubbi te ëmbuwuñu itam ci benn xëtu {{SITENAME}}.",
diff --git a/languages/i18n/yi.json b/languages/i18n/yi.json
index fa623c1c..9add79f9 100644
--- a/languages/i18n/yi.json
+++ b/languages/i18n/yi.json
@@ -1492,7 +1492,7 @@
"nmembers": "$1 {{PLURAL:$1|בלאט|בלעטער}}",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|מיטגליד|מיטגלידער}}",
"nrevisions": "{{PLURAL:$1|איין רעוויזיע|$1 רעוויזיעס}}",
- "nviews": "{{PLURAL:$1|איין קוק|$1 קוקן}}",
+
"nimagelinks": "געניצט אויף $1 {{PLURAL:$1|בלאַט|בלעטער}}",
"ntransclusions": "געניצט אויף $1 {{PLURAL:$1|בלאַט|בלעטער}}",
"specialpage-empty": "דער בלאט איז ליידיג.",
diff --git a/languages/i18n/yo.json b/languages/i18n/yo.json
index 4106e1b8..d4d75c0f 100644
--- a/languages/i18n/yo.json
+++ b/languages/i18n/yo.json
@@ -1366,7 +1366,7 @@
"nlinks": "{{PLURAL:$1|ìjápọ̀|àwọn ìjápọ̀}} $1",
"nmembers": "{{PLURAL:$1|ará|àwọn ará}} $1",
"nrevisions": "{{PLURAL:$1|àtúnyẹ̀wò|àwọn àtúnyẹ̀wò}} $1",
- "nviews": "{{PLURAL:$1|Ìwò|Àwọn ìwò}} $1",
+
"nimagelinks": "Lílò lórí {{PLURAL:$1|ojúewé|àwọn ojúewé}} $1",
"ntransclusions": "lílò lórí {{PLURAL:$1|ojúewé|àwọn ojúewé}} $1",
"specialpage-empty": "Kò sí àwọn èsì kankan fún ìjábọ̀ yìí.",
diff --git a/languages/i18n/yue.json b/languages/i18n/yue.json
index d1a97840..1e0b62e0 100644
--- a/languages/i18n/yue.json
+++ b/languages/i18n/yue.json
@@ -1454,7 +1454,7 @@
"nmembers": "$1 位成員",
"nmemberschanged": "$1 → $2 {{PLURAL:$2|位成員}}",
"nrevisions": "$1 次修訂",
- "nviews": "$1 次瀏覽",
+
"nimagelinks": "用響$1版",
"ntransclusions": "用響$1版",
"specialpage-empty": "呢個報告嘅結果係空嘅。",
diff --git a/languages/i18n/zh-hans.json b/languages/i18n/zh-hans.json
index 91a19dc4..0f713d66 100644
--- a/languages/i18n/zh-hans.json
+++ b/languages/i18n/zh-hans.json
@@ -1588,7 +1588,7 @@
"nmembers": "$1个成员",
"nmemberschanged": "$1 → $2个成员",
"nrevisions": "$1个版本",
- "nviews": "$1次浏览",
+
"nimagelinks": "用于$1个页面中",
"ntransclusions": "用于$1个页面中",
"specialpage-empty": "此报告无结果。",
diff --git a/languages/i18n/zh-hant.json b/languages/i18n/zh-hant.json
index 4b756d34..763be52b 100644
--- a/languages/i18n/zh-hant.json
+++ b/languages/i18n/zh-hant.json
@@ -1562,7 +1562,7 @@
"nmembers": "$1 個成員",
"nmemberschanged": "$1 → $2 個成員",
"nrevisions": "$1 次修訂",
- "nviews": "$1 次檢視",
+
"nimagelinks": "被 $1 個頁面使用",
"ntransclusions": "被 $1 個頁面使用",
"specialpage-empty": "此報表無查無任何結果。",
diff --git a/languages/i18n/zh-tw.json b/languages/i18n/zh-tw.json
index 9abb1375..09ead418 100644
--- a/languages/i18n/zh-tw.json
+++ b/languages/i18n/zh-tw.json
@@ -339,7 +339,6 @@
"lonelypagestext": "以下頁面尚未被這個wiki中的其它頁面連結。",
"uncategorizedimages": "待分類圖片",
"unusedimages": "未使用圖片",
- "popularpages": "熱門頁面",
"mostimages": "最多連結圖片",
"prefixindex": "所有頁面之前綴",
"deadendpagestext": "以下頁面沒有連結到這個wiki中的其它頁面。",
diff --git a/languages/messages/MessagesAce.php b/languages/messages/MessagesAce.php
index 40627a25..4bbe9664 100644
--- a/languages/messages/MessagesAce.php
+++ b/languages/messages/MessagesAce.php
@@ -116,7 +116,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'Peugah_haba_lon' ),
'Newimages' => array( 'Beureukaih_baro' ),
'Newpages' => array( 'On_baro' ),
- 'Popularpages' => array( 'On_meuceuhu' ),
+
'Preferences' => array( 'Geunalak' ),
'Prefixindex' => array( 'Dapeuta_neuaway' ),
'Protectedpages' => array( 'On_nyang_geupeulindong' ),
diff --git a/languages/messages/MessagesAf.php b/languages/messages/MessagesAf.php
index 7482841a..b6ba4f58 100644
--- a/languages/messages/MessagesAf.php
+++ b/languages/messages/MessagesAf.php
@@ -151,7 +151,7 @@ $specialPageAliases = array(
'Newimages' => array( 'Nuwe_beelde', 'Nuwebeelde', 'Nuwe_lêers', 'Nuwelêers' ),
'Newpages' => array( 'Nuwe_bladsye', 'Nuwebladsye' ),
'PasswordReset' => array( 'WagwoordHerstel' ),
- 'Popularpages' => array( 'PopulêreBladsye' ),
+
'Preferences' => array( 'Voorkeure' ),
'Prefixindex' => array( 'VoorvoegselIndeks' ),
'Protectedpages' => array( 'BeskermdeBladsye' ),
diff --git a/languages/messages/MessagesAln.php b/languages/messages/MessagesAln.php
index 588cf340..df4f9678 100644
--- a/languages/messages/MessagesAln.php
+++ b/languages/messages/MessagesAln.php
@@ -44,7 +44,7 @@ $namespaceGenderAliases = array(
);
$specialPageAliases = array(
- 'Popularpages' => array( 'Faqe të famshme' ),
+
'Search' => array( 'Kërko' ),
);
diff --git a/languages/messages/MessagesAn.php b/languages/messages/MessagesAn.php
index 7ec924e6..2a4a45fd 100644
--- a/languages/messages/MessagesAn.php
+++ b/languages/messages/MessagesAn.php
@@ -88,7 +88,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'A_mía_descusión', 'A_mía_pachina_de_descusión' ),
'Newimages' => array( 'Nuevos_fichers', 'Nuevas_imáchens', 'Nuevas_imachens', 'Nuebas_imachens' ),
'Newpages' => array( 'Pachinas_nuevas', 'Pachinas_recients', 'Pachinas_nuebas', 'Pachinas_más_nuebas', 'Pachinas_más_rezients', 'Pachinas_rezients' ),
- 'Popularpages' => array( 'Pachinas_populars', 'Pachinas_más_populars' ),
+
'Preferences' => array( 'Preferencias' ),
'Prefixindex' => array( 'Pachinas_por_prefixo', 'Mirar_por_prefixo' ),
'Protectedpages' => array( 'Pachinas_protechitas', 'Pachinas_protechidas' ),
diff --git a/languages/messages/MessagesAr.php b/languages/messages/MessagesAr.php
index 78179900..b3ba0b5c 100644
--- a/languages/messages/MessagesAr.php
+++ b/languages/messages/MessagesAr.php
@@ -373,7 +373,7 @@ $specialPageAliases = array(
'PageLanguage' => array( 'لغة_الصفحة' ),
'PasswordReset' => array( 'إعادة_ضبط_كلمة_السر' ),
'PermanentLink' => array( 'وصلة_دائمة', 'رابط_دائم' ),
- 'Popularpages' => array( 'صفحات_مشهورة' ),
+
'Preferences' => array( 'تفضيلات' ),
'Prefixindex' => array( 'فهرس_بادئة' ),
'Protectedpages' => array( 'صفحات_محمية' ),
diff --git a/languages/messages/MessagesArc.php b/languages/messages/MessagesArc.php
index f88650b3..fdcde474 100644
--- a/languages/messages/MessagesArc.php
+++ b/languages/messages/MessagesArc.php
@@ -70,7 +70,7 @@ $specialPageAliases = array(
'Newimages' => array( 'ܠܦܦ̈ܐ_ܚܕ̈ܬܐ', 'ܨܘܪ̈ܬܐ_ܚܕ̈ܬܬܐ' ),
'Newpages' => array( 'ܦܐܬܬ̈ܐ_ܚܕ̈ܬܬܐ' ),
'PermanentLink' => array( 'ܐܣܘܪܐ_ܦܝܘܫܐ' ),
- 'Popularpages' => array( 'ܦܐܬܬ̈ܐ_ܡܫܡܗ̈ܐ' ),
+
'Preferences' => array( 'ܨܒܝܢܝܘ̈ܬܐ' ),
'Protectedpages' => array( 'ܦܐܬܬ̈ܐ_ܢܛܝܪ̈ܬܐ' ),
'Protectedtitles' => array( 'ܟܘܢܝ̈ܐ_ܢܛܝܪ̈ܐ' ),
diff --git a/languages/messages/MessagesArz.php b/languages/messages/MessagesArz.php
index 4d0b3db6..15fd87c6 100644
--- a/languages/messages/MessagesArz.php
+++ b/languages/messages/MessagesArz.php
@@ -102,7 +102,7 @@ $specialPageAliases = array(
'PageLanguage' => array( 'لغه_الصفحه' ),
'PasswordReset' => array( 'ضبط_الباسوورد' ),
'PermanentLink' => array( 'وصله_دايمه' ),
- 'Popularpages' => array( 'صفح_مشهوره' ),
+
'Preferences' => array( 'تفضيلات' ),
'Prefixindex' => array( 'فهرس_بدايه' ),
'Protectedpages' => array( 'صفح_محميه' ),
diff --git a/languages/messages/MessagesAs.php b/languages/messages/MessagesAs.php
index 9afe0201..157ca84c 100644
--- a/languages/messages/MessagesAs.php
+++ b/languages/messages/MessagesAs.php
@@ -106,7 +106,7 @@ $specialPageAliases = array(
'Newpages' => array( 'পৰৱৰ্তী_পৃষ্ঠা' ),
'PasswordReset' => array( 'গুপ্তশব্দ_ঘূৰাই_আনক' ),
'PermanentLink' => array( 'স্থায়ী_সংযোগ' ),
- 'Popularpages' => array( 'জনপ্ৰিয়_পৃষ্ঠাসমূহ' ),
+
'Preferences' => array( 'পচন্দ' ),
'Protectedpages' => array( 'সুৰক্ষিত_পৃষ্ঠাসমূহ' ),
'Protectedtitles' => array( 'সুৰক্ষিত_শিৰোনামসমূহ' ),
diff --git a/languages/messages/MessagesAv.php b/languages/messages/MessagesAv.php
index ea64271c..b97de929 100644
--- a/languages/messages/MessagesAv.php
+++ b/languages/messages/MessagesAv.php
@@ -72,7 +72,7 @@ $specialPageAliases = array(
'Newpages' => array( 'ЦІиял_гьумерал' ),
'PasswordReset' => array( 'Сброс_пароля' ),
'PermanentLink' => array( 'Даимаб_ссылка' ),
- 'Popularpages' => array( 'Машгьурал_гьумерал' ),
+
'Preferences' => array( 'Рекъезабиял' ),
'Prefixindex' => array( 'ЦІаразул_бетІералде_бихьизаби' ),
'Protectedpages' => array( 'ЦІунарал_гьумерал' ),
diff --git a/languages/messages/MessagesAvk.php b/languages/messages/MessagesAvk.php
index 076d402c..61b5e4e1 100644
--- a/languages/messages/MessagesAvk.php
+++ b/languages/messages/MessagesAvk.php
@@ -62,7 +62,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'JinafaPrilara' ),
'Newimages' => array( 'WarzafEwaveem' ),
'Newpages' => array( 'WarzafBueem' ),
- 'Popularpages' => array( 'LorupenBueem' ),
+
'Preferences' => array( 'Lodamaceem' ),
'Protectedpages' => array( 'NendanBueem' ),
'Protectedtitles' => array( 'NendanVergumvelteem' ),
diff --git a/languages/messages/MessagesBa.php b/languages/messages/MessagesBa.php
index aaf6c2b7..580a15b3 100644
--- a/languages/messages/MessagesBa.php
+++ b/languages/messages/MessagesBa.php
@@ -91,7 +91,7 @@ $specialPageAliases = array(
'Newpages' => array( 'Яңы_биттәр' ),
'PasswordReset' => array( 'Паролде_яңыртыу' ),
'PermanentLink' => array( 'Даими_һылтанма' ),
- 'Popularpages' => array( 'Популяр_биттәр' ),
+
'Preferences' => array( 'Көйләүҙәр' ),
'Protectedpages' => array( 'Һаҡланған_биттәр' ),
'Protectedtitles' => array( 'Һаҡланған_исемдәр' ),
diff --git a/languages/messages/MessagesBcc.php b/languages/messages/MessagesBcc.php
index f5ade224..ce983bcd 100644
--- a/languages/messages/MessagesBcc.php
+++ b/languages/messages/MessagesBcc.php
@@ -97,7 +97,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'منی گپ' ),
'Newimages' => array( 'نوکین عکسان' ),
'Newpages' => array( 'نوکین صفحات' ),
- 'Popularpages' => array( 'مردمی صفحات' ),
+
'Preferences' => array( 'ترجیحات' ),
'Prefixindex' => array( 'ایندکس پیشوند' ),
'Protectedpages' => array( 'صفحات محافظتی' ),
diff --git a/languages/messages/MessagesBe_tarask.php b/languages/messages/MessagesBe_tarask.php
index 5a2a7a07..adeeee41 100644
--- a/languages/messages/MessagesBe_tarask.php
+++ b/languages/messages/MessagesBe_tarask.php
@@ -72,7 +72,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'Мае_размовы' ),
'Newimages' => array( 'Новыя_файлы' ),
'Newpages' => array( 'Новыя_старонкі' ),
- 'Popularpages' => array( 'Папулярныя_старонкі' ),
+
'Protectedpages' => array( 'Абароненыя_старонкі' ),
'Protectedtitles' => array( 'Забароненыя_старонкі' ),
'Randompage' => array( 'Выпадковая_старонка' ),
diff --git a/languages/messages/MessagesBg.php b/languages/messages/MessagesBg.php
index afe608d8..a0e83da2 100644
--- a/languages/messages/MessagesBg.php
+++ b/languages/messages/MessagesBg.php
@@ -85,7 +85,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'Моята_беседа' ),
'Newimages' => array( 'Нови_файлове' ),
'Newpages' => array( 'Нови_страници' ),
- 'Popularpages' => array( 'Най-посещавани_страници' ),
+
'Preferences' => array( 'Настройки' ),
'Prefixindex' => array( 'Всички_страници_с_представка', 'Представка' ),
'Protectedpages' => array( 'Защитени_страници' ),
diff --git a/languages/messages/MessagesBjn.php b/languages/messages/MessagesBjn.php
index 07246a4a..3f164c88 100644
--- a/languages/messages/MessagesBjn.php
+++ b/languages/messages/MessagesBjn.php
@@ -99,7 +99,7 @@ $specialPageAliases = array(
'Newimages' => array( 'Barakas_hanyar' ),
'Newpages' => array( 'Tungkaran_hanyar' ),
'PermanentLink' => array( 'Tautan_tatap' ),
- 'Popularpages' => array( 'Tungkaran_popular' ),
+
'Preferences' => array( 'Kakatujuan' ),
'Protectedpages' => array( 'Tungkaran_nang_dilindungi' ),
'Protectedtitles' => array( 'Judul_nang_dilindungi' ),
diff --git a/languages/messages/MessagesBr.php b/languages/messages/MessagesBr.php
index 66cef9ed..ac35cc3b 100644
--- a/languages/messages/MessagesBr.php
+++ b/languages/messages/MessagesBr.php
@@ -71,7 +71,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'MaC\'haozeadennoù' ),
'Newimages' => array( 'RestroùNevez', 'SkeudennoùNevez' ),
'Newpages' => array( 'PajennoùNevez' ),
- 'Popularpages' => array( 'PajennoùPoblek' ),
+
'Preferences' => array( 'Penndibaboù' ),
'Protectedpages' => array( 'PajennoùGwarezet' ),
'Protectedtitles' => array( 'TitloùGwarezet' ),
diff --git a/languages/messages/MessagesBs.php b/languages/messages/MessagesBs.php
index 6fda8084..2a75d383 100644
--- a/languages/messages/MessagesBs.php
+++ b/languages/messages/MessagesBs.php
@@ -90,7 +90,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'MojRazgovor' ),
'Newimages' => array( 'Nove_datoteke', 'Nove_slike' ),
'Newpages' => array( 'NoveStranice' ),
- 'Popularpages' => array( 'PopularneStranice' ),
+
'Preferences' => array( 'Postavke' ),
'Prefixindex' => array( 'IndeksPrefiksa' ),
'Protectedpages' => array( 'ZasticeneStranice' ),
diff --git a/languages/messages/MessagesBxr.php b/languages/messages/MessagesBxr.php
index f9a58ca4..28b07530 100644
--- a/languages/messages/MessagesBxr.php
+++ b/languages/messages/MessagesBxr.php
@@ -60,7 +60,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'Минии_хэлэлсэл' ),
'Myuploads' => array( 'Минии_ашаалһан_зүйл' ),
'Newpages' => array( 'Шэнэ_хуудаһан' ),
- 'Popularpages' => array( 'Оло_уншагдаһан_хуудаһан' ),
+
'Protectedpages' => array( 'Хамгаалалтатай_хуудаһан' ),
'Protectedtitles' => array( 'Хамгаалалтатай_гаршаг' ),
'Recentchanges' => array( 'Сайтдахи_хубилалтанууд' ),
diff --git a/languages/messages/MessagesCa.php b/languages/messages/MessagesCa.php
index 29c9a162..3f58d582 100644
--- a/languages/messages/MessagesCa.php
+++ b/languages/messages/MessagesCa.php
@@ -82,7 +82,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'Discussió_personal' ),
'Newimages' => array( 'Imatges_noves', 'Fitxers_nous' ),
'Newpages' => array( 'Pàgines_noves' ),
- 'Popularpages' => array( 'Pàgines_populars' ),
+
'Preferences' => array( 'Preferències' ),
'Prefixindex' => array( 'Cerca_per_prefix' ),
'Protectedpages' => array( 'Pàgines_protegides' ),
diff --git a/languages/messages/MessagesCdo.php b/languages/messages/MessagesCdo.php
index 1bc43858..bd0e2e71 100644
--- a/languages/messages/MessagesCdo.php
+++ b/languages/messages/MessagesCdo.php
@@ -88,7 +88,7 @@ $specialPageAliases = array(
'Newpages' => array( '新其頁面' ),
'PasswordReset' => array( '密碼重置' ),
'PermanentLink' => array( '永久鏈接' ),
- 'Popularpages' => array( '受歡迎其頁面' ),
+
'Preferences' => array( '喜好' ),
'Prefixindex' => array( '前綴索引' ),
'Protectedpages' => array( '受保護其頁面' ),
diff --git a/languages/messages/MessagesCe.php b/languages/messages/MessagesCe.php
index 7ee29c12..a626981e 100644
--- a/languages/messages/MessagesCe.php
+++ b/languages/messages/MessagesCe.php
@@ -126,7 +126,7 @@ $specialPageAliases = array(
'Newpages' => array( 'Керла_агӀонаш' ),
'PasswordReset' => array( 'Пароль_кхоссар' ),
'PermanentLink' => array( 'Гуттарлера_хьажорг' ),
- 'Popularpages' => array( 'ГӀараяьлла_агӀонаш' ),
+
'Preferences' => array( 'ГӀирсаш' ),
'Prefixindex' => array( 'Хьалха_агӀонийн_цӀераш_хӀотто_еза' ),
'Protectedpages' => array( 'ГӀаролла_дина_агӀонаш' ),
diff --git a/languages/messages/MessagesCkb.php b/languages/messages/MessagesCkb.php
index 027161fb..9cf2a00d 100644
--- a/languages/messages/MessagesCkb.php
+++ b/languages/messages/MessagesCkb.php
@@ -81,7 +81,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'لێدوانەکەم' ),
'Newimages' => array( 'پەڕگە_نوێکان' ),
'Newpages' => array( 'پەڕە_نوێکان' ),
- 'Popularpages' => array( 'پەڕە_ناودارەکان' ),
+
'Preferences' => array( 'ھەڵبژاردەکان' ),
'Protectedpages' => array( 'پەڕە_پارێزراوەکان' ),
'Protectedtitles' => array( 'بابەتە_پارێزراوەکان' ),
diff --git a/languages/messages/MessagesCs.php b/languages/messages/MessagesCs.php
index b796acad..10f7160d 100644
--- a/languages/messages/MessagesCs.php
+++ b/languages/messages/MessagesCs.php
@@ -98,7 +98,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'Moje_diskuse' ),
'Newimages' => array( 'Nové_obrázky', 'Galerie_nových_obrázků', 'Nove_obrazky' ),
'Newpages' => array( 'Nové_stránky', 'Nove_stranky', 'Nejnovější_stránky', 'Nejnovejsi_stranky' ),
- 'Popularpages' => array( 'Nejnavštěvovanější_stránky', 'Nejnavstevovanejsi_stranky' ),
+
'Preferences' => array( 'Nastavení', 'Nastaveni' ),
'Protectedpages' => array( 'Zamčené_stránky', 'Zamcene_stranky' ),
'Protectedtitles' => array( 'Zamčené_názvy', 'Zamcene_nazvy', 'Stránky_které_nelze_vytvořit' ),
diff --git a/languages/messages/MessagesDa.php b/languages/messages/MessagesDa.php
index 075369ed..92cd58cd 100644
--- a/languages/messages/MessagesDa.php
+++ b/languages/messages/MessagesDa.php
@@ -87,7 +87,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'Min_diskussionsside' ),
'Newimages' => array( 'Nye_filer' ),
'Newpages' => array( 'Nye_sider' ),
- 'Popularpages' => array( 'Populære_sider' ),
+
'Preferences' => array( 'Indstillinger' ),
'Prefixindex' => array( 'Præfiksindeks' ),
'Protectedpages' => array( 'Beskyttede_sider' ),
diff --git a/languages/messages/MessagesDe.php b/languages/messages/MessagesDe.php
index c9994e26..320a0068 100644
--- a/languages/messages/MessagesDe.php
+++ b/languages/messages/MessagesDe.php
@@ -105,7 +105,7 @@ $specialPageAliases = array(
'PageLanguage' => array( 'Seitensprache' ),
'PasswordReset' => array( 'Passwort_neu_vergeben' ),
'PermanentLink' => array( 'Permanenter_Link', 'Permalink' ),
- 'Popularpages' => array( 'Beliebteste_Seiten' ),
+
'Preferences' => array( 'Einstellungen' ),
'Prefixindex' => array( 'Präfixindex' ),
'Protectedpages' => array( 'Geschützte_Seiten' ),
diff --git a/languages/messages/MessagesDiq.php b/languages/messages/MessagesDiq.php
index 445aba04..e3dcdce4 100644
--- a/languages/messages/MessagesDiq.php
+++ b/languages/messages/MessagesDiq.php
@@ -118,7 +118,7 @@ $specialPageAliases = array(
'PageLanguage' => array( 'Zıwanê_Pele' ),
'PasswordReset' => array( 'ParolaPeysereştış' ),
'PermanentLink' => array( 'GıreyoDaimi' ),
- 'Popularpages' => array( 'PelêPopuleri' ),
+
'Preferences' => array( 'Tercihi' ),
'Prefixindex' => array( 'VerbendZerrek' ),
'Protectedpages' => array( 'PelêKeŞevekiyayiyé' ),
diff --git a/languages/messages/MessagesDsb.php b/languages/messages/MessagesDsb.php
index d6f268fb..3c6423e8 100644
--- a/languages/messages/MessagesDsb.php
+++ b/languages/messages/MessagesDsb.php
@@ -89,7 +89,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'Mója_diskusija' ),
'Newimages' => array( 'Nowe_dataje' ),
'Newpages' => array( 'Nowe_boki' ),
- 'Popularpages' => array( 'Woblubowane_boki' ),
+
'Preferences' => array( 'Nastajenja' ),
'Prefixindex' => array( 'Indeks_prefiksow' ),
'Protectedpages' => array( 'Šćitane_boki' ),
diff --git a/languages/messages/MessagesEl.php b/languages/messages/MessagesEl.php
index 0334344e..06f8fd56 100644
--- a/languages/messages/MessagesEl.php
+++ b/languages/messages/MessagesEl.php
@@ -117,7 +117,7 @@ $specialPageAliases = array(
'Myuploads' => array( 'ΤαΑρχείαΜου', 'ΤαΑνεβάσματάΜου', 'ΟιΕπιφορτώσειςΜου' ),
'Newimages' => array( 'ΝέαΑρχεία', 'ΝέεςΕικόνες' ),
'Newpages' => array( 'ΝέεςΣελίδες' ),
- 'Popularpages' => array( 'ΔημοφιλείςΣελίδες' ),
+
'Preferences' => array( 'Προτιμήσεις' ),
'Prefixindex' => array( 'ΕυρετήριοΠροθεμάτων' ),
'Protectedpages' => array( 'ΠροστατευμένεςΣελίδες' ),
diff --git a/languages/messages/MessagesEn.php b/languages/messages/MessagesEn.php
index 23b702cb..8abb491b 100644
--- a/languages/messages/MessagesEn.php
+++ b/languages/messages/MessagesEn.php
@@ -451,7 +451,6 @@ $specialPageAliases = array(
'PageLanguage' => array( 'PageLanguage' ),
'PasswordReset' => array( 'PasswordReset' ),
'PermanentLink' => array( 'PermanentLink', 'PermaLink' ),
- 'Popularpages' => array( 'PopularPages' ),
'Preferences' => array( 'Preferences' ),
'Prefixindex' => array( 'PrefixIndex' ),
'Protectedpages' => array( 'ProtectedPages' ),
diff --git a/languages/messages/MessagesEo.php b/languages/messages/MessagesEo.php
index e31710b9..851245e0 100644
--- a/languages/messages/MessagesEo.php
+++ b/languages/messages/MessagesEo.php
@@ -109,7 +109,7 @@ $specialPageAliases = array(
'Newpages' => array( 'Novaj_paĝoj' ),
'PasswordReset' => array( 'Ŝanĝo_de_pasvorto' ),
'PermanentLink' => array( 'Daŭra_ligilo' ),
- 'Popularpages' => array( 'Popularaj_paĝoj' ),
+
'Preferences' => array( 'Preferoj' ),
'Prefixindex' => array( 'Indekso_de_prefiksoj' ),
'Protectedpages' => array( 'Protektitaj_paĝoj' ),
diff --git a/languages/messages/MessagesEs.php b/languages/messages/MessagesEs.php
index 52e363c4..ff42a2e3 100644
--- a/languages/messages/MessagesEs.php
+++ b/languages/messages/MessagesEs.php
@@ -99,7 +99,7 @@ $specialPageAliases = array(
'Newpages' => array( 'PáginasNuevas', 'Páginas_nuevas' ),
'PasswordReset' => array( 'RestablecerContraseña' ),
'PermanentLink' => array( 'EnlacePermanente' ),
- 'Popularpages' => array( 'PáginasMásVisitadas', 'PáginasPopulares', 'Páginas_más_visitadas' ),
+
'Preferences' => array( 'Preferencias' ),
'Prefixindex' => array( 'PáginasPorPrefijo', 'Páginas_por_prefijo' ),
'Protectedpages' => array( 'PáginasProtegidas', 'Páginas_protegidas' ),
diff --git a/languages/messages/MessagesEt.php b/languages/messages/MessagesEt.php
index 1aaabd6e..7006db01 100644
--- a/languages/messages/MessagesEt.php
+++ b/languages/messages/MessagesEt.php
@@ -94,7 +94,7 @@ $specialPageAliases = array(
'PagesWithProp' => array( 'Atribuudiga_leheküljed' ),
'PasswordReset' => array( 'Parooli_lähtestamine' ),
'PermanentLink' => array( 'Püsilink' ),
- 'Popularpages' => array( 'Loetumad_leheküljed' ),
+
'Preferences' => array( 'Eelistused' ),
'Prefixindex' => array( 'Kõik_pealkirjad_eesliitega' ),
'Protectedpages' => array( 'Kaitstud_leheküljed' ),
diff --git a/languages/messages/MessagesFa.php b/languages/messages/MessagesFa.php
index dd1cc553..a7fd8677 100644
--- a/languages/messages/MessagesFa.php
+++ b/languages/messages/MessagesFa.php
@@ -105,7 +105,7 @@ $specialPageAliases = array(
'PageLanguage' => array( 'زبان_صفحه' ),
'PasswordReset' => array( 'بازنشاندن_گذرواژه' ),
'PermanentLink' => array( 'پیوند_دائمی' ),
- 'Popularpages' => array( 'صفحه‌های_محبوب' ),
+
'Preferences' => array( 'ترجیحات' ),
'Prefixindex' => array( 'نمایه_پیشوندی' ),
'Protectedpages' => array( 'صفحه‌های_محافظت‌شده' ),
diff --git a/languages/messages/MessagesFi.php b/languages/messages/MessagesFi.php
index 12199119..a663d414 100644
--- a/languages/messages/MessagesFi.php
+++ b/languages/messages/MessagesFi.php
@@ -98,7 +98,7 @@ $specialPageAliases = array(
'PageLanguage' => array( 'Sivun_kieli' ),
'PasswordReset' => array( 'Unohtuneen_salasanan_vaihto' ),
'PermanentLink' => array( 'Ikilinkki' ),
- 'Popularpages' => array( 'Suositut_sivut' ),
+
'Preferences' => array( 'Asetukset' ),
'Prefixindex' => array( 'Etuliiteluettelo' ),
'Protectedpages' => array( 'Suojatut_sivut' ),
diff --git a/languages/messages/MessagesFr.php b/languages/messages/MessagesFr.php
index b9e8b544..034e09c5 100644
--- a/languages/messages/MessagesFr.php
+++ b/languages/messages/MessagesFr.php
@@ -100,7 +100,7 @@ $specialPageAliases = array(
'PagesWithProp' => array( 'Pages_avec_la_propriété' ),
'PasswordReset' => array( 'Réinitialisation_du_mot_de_passe', 'RéinitialisationDuMotDePasse' ),
'PermanentLink' => array( 'LienPermanent', 'Lien_permanent' ),
- 'Popularpages' => array( 'Pages_les_plus_visitées', 'Pages_les_plus_visitees', 'Pageslesplusvisitées', 'Pageslesplusvisitees' ),
+
'Preferences' => array( 'Préférences' ),
'Prefixindex' => array( 'Index', 'Préfixes', 'Prefixes' ),
'Protectedpages' => array( 'Pages_protégées', 'PagesProtégées', 'Pages_protegees', 'PagesProtegees' ),
diff --git a/languages/messages/MessagesFrp.php b/languages/messages/MessagesFrp.php
index 51a0e132..6a8bdfcf 100644
--- a/languages/messages/MessagesFrp.php
+++ b/languages/messages/MessagesFrp.php
@@ -102,7 +102,7 @@ $specialPageAliases = array(
'Newimages' => array( 'Novéls_fichiérs', 'NovélsFichiérs', 'Émâges_novèles', 'ÉmâgesNovèles' ),
'Newpages' => array( 'Pâges_novèles', 'PâgesNovèles' ),
'PermanentLink' => array( 'Lim_fixo', 'LimFixo' ),
- 'Popularpages' => array( 'Pâges_les_ples_consultâs', 'PâgesLesPlesConsultâs' ),
+
'Preferences' => array( 'Prèferences' ),
'Prefixindex' => array( 'Endèxe_des_prèfixos', 'EndèxeDesPrèfixos' ),
'Protectedpages' => array( 'Pâges_protègiês', 'PâgesProtègiês' ),
diff --git a/languages/messages/MessagesFur.php b/languages/messages/MessagesFur.php
index 52fdee8a..e0a1e70c 100644
--- a/languages/messages/MessagesFur.php
+++ b/languages/messages/MessagesFur.php
@@ -64,7 +64,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'MêsDiscussions' ),
'Newimages' => array( 'GnovisFiguris' ),
'Newpages' => array( 'GnovisPagjinis' ),
- 'Popularpages' => array( 'PagjinisPopolârs' ),
+
'Preferences' => array( 'Preferencis' ),
'Prefixindex' => array( 'Prefìs' ),
'Protectedpages' => array( 'PagjinisProtezudis' ),
diff --git a/languages/messages/MessagesFy.php b/languages/messages/MessagesFy.php
index e02baf0c..0d76208c 100644
--- a/languages/messages/MessagesFy.php
+++ b/languages/messages/MessagesFy.php
@@ -94,7 +94,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'Myn oerlis' ),
'Newimages' => array( 'Nije ôfbylden', 'Nije ôfbyldings', 'Nije ôfbyldingen', 'List mei nije ôfbylden', 'Nije Ofbylden' ),
'Newpages' => array( 'Nije siden' ),
- 'Popularpages' => array( 'Populêre siden', 'Grage siden' ),
+
'Preferences' => array( 'Ynstellings', 'Ynsteld' ),
'Prefixindex' => array( 'Alle siden neffens foarheaksel' ),
'Protectedpages' => array( 'Befeilige siden', 'Skoattele siden' ),
diff --git a/languages/messages/MessagesGag.php b/languages/messages/MessagesGag.php
index 390e6589..4ac7b037 100644
--- a/languages/messages/MessagesGag.php
+++ b/languages/messages/MessagesGag.php
@@ -66,7 +66,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'SözleşmäkSayfam', 'SözleşmäkYapraım' ),
'Newimages' => array( 'EniDosyeler', 'EniPätretler' ),
'Newpages' => array( 'EniYazılar', 'EniSayfalar', 'EniYapraklar' ),
- 'Popularpages' => array( 'EnAnılmışSayfalar', 'EnAnılmışYazılar' ),
+
'Preferences' => array( 'Seçimner' ),
'Prefixindex' => array( 'Prefiksİndeksi' ),
'Randompage' => array( 'Razgele', 'RazgeleYazı', 'RazgeleSayfa', 'RazgeleYaprak' ),
diff --git a/languages/messages/MessagesGl.php b/languages/messages/MessagesGl.php
index 8ab5bccc..8bba00dc 100644
--- a/languages/messages/MessagesGl.php
+++ b/languages/messages/MessagesGl.php
@@ -113,7 +113,7 @@ $specialPageAliases = array(
'PagesWithProp' => array( 'Páxinas_con_propiedades' ),
'PasswordReset' => array( 'Restablecer_o_contrasinal', 'Restablecer_contrasinal' ),
'PermanentLink' => array( 'Ligazón_permanente' ),
- 'Popularpages' => array( 'Páxinas_populares' ),
+
'Preferences' => array( 'Preferencias' ),
'Prefixindex' => array( 'Índice_de_prefixos' ),
'Protectedpages' => array( 'Páxinas_protexidas' ),
diff --git a/languages/messages/MessagesGsw.php b/languages/messages/MessagesGsw.php
index d1654958..7dc4d1aa 100644
--- a/languages/messages/MessagesGsw.php
+++ b/languages/messages/MessagesGsw.php
@@ -68,7 +68,7 @@ $specialPageAliases = array(
'Newpages' => array( 'Neji_Syte' ),
'PasswordReset' => array( 'Passwort_zruggsetze' ),
'PermanentLink' => array( 'Permalink' ),
- 'Popularpages' => array( 'Beliebteschti_Syte' ),
+
'Preferences' => array( 'Ystellige' ),
'Prefixindex' => array( 'Vorsilbeverzeichnis' ),
'Protectedpages' => array( 'Gschitzti_Syte' ),
diff --git a/languages/messages/MessagesGu.php b/languages/messages/MessagesGu.php
index 3fc9f6bd..8b6f8e14 100644
--- a/languages/messages/MessagesGu.php
+++ b/languages/messages/MessagesGu.php
@@ -74,7 +74,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'મારીચર્ચા' ),
'Newimages' => array( 'નવીફાઇલો', 'નવાંચિત્રો' ),
'Newpages' => array( 'નવાપાનાં' ),
- 'Popularpages' => array( 'લોકપ્રિયપાનાં' ),
+
'Preferences' => array( 'પસંદ' ),
'Prefixindex' => array( 'ઉપસર્ગ' ),
'Protectedpages' => array( 'સંરક્ષિતપાનાં' ),
diff --git a/languages/messages/MessagesHe.php b/languages/messages/MessagesHe.php
index 3d7fc43d..144b4080 100644
--- a/languages/messages/MessagesHe.php
+++ b/languages/messages/MessagesHe.php
@@ -108,7 +108,7 @@ $specialPageAliases = array(
'PageLanguage' => array( 'שפת_הדף' ),
'PasswordReset' => array( 'איפוס_סיסמה' ),
'PermanentLink' => array( 'קישור_קבוע' ),
- 'Popularpages' => array( 'הדפים_הנצפים_ביותר', 'דפים_פופולריים' ),
+
'Preferences' => array( 'העדפות', 'ההעדפות_שלי' ),
'Prefixindex' => array( 'דפים_המתחילים_ב' ),
'Protectedpages' => array( 'דפים_מוגנים' ),
diff --git a/languages/messages/MessagesHr.php b/languages/messages/MessagesHr.php
index 65077c1e..ffde28cf 100644
--- a/languages/messages/MessagesHr.php
+++ b/languages/messages/MessagesHr.php
@@ -88,7 +88,7 @@ $specialPageAliases = array(
'Myuploads' => array( 'Moje_datoteke' ),
'Newimages' => array( 'Nove_datoteke', 'Nove_slike' ),
'Newpages' => array( 'Nove_stranice' ),
- 'Popularpages' => array( 'Popularne_stranice' ),
+
'Preferences' => array( 'Postavke' ),
'Prefixindex' => array( 'Prefiks_indeks', 'Stranice_po_prefiksu' ),
'Protectedpages' => array( 'Zaštićene_stranice' ),
diff --git a/languages/messages/MessagesHsb.php b/languages/messages/MessagesHsb.php
index fb8fdb3b..f6314d54 100644
--- a/languages/messages/MessagesHsb.php
+++ b/languages/messages/MessagesHsb.php
@@ -106,7 +106,7 @@ $specialPageAliases = array(
'Newimages' => array( 'Nowe_dataje' ),
'Newpages' => array( 'Nowe_strony' ),
'PermanentLink' => array( 'Trajny_wotkaz' ),
- 'Popularpages' => array( 'Najwoblubowaniše_strony' ),
+
'Preferences' => array( 'Nastajenja' ),
'Prefixindex' => array( 'Prefiksindeks' ),
'Protectedpages' => array( 'Škitane_strony' ),
diff --git a/languages/messages/MessagesHt.php b/languages/messages/MessagesHt.php
index 18e4a2df..4b7d4a1c 100644
--- a/languages/messages/MessagesHt.php
+++ b/languages/messages/MessagesHt.php
@@ -94,7 +94,7 @@ $specialPageAliases = array(
'Newpages' => array( 'PajNouvo' ),
'PasswordReset' => array( 'ResètMopas2' ),
'PermanentLink' => array( 'LyenPouToutTan' ),
- 'Popularpages' => array( 'PajPopilè' ),
+
'Preferences' => array( 'Preferans' ),
'Prefixindex' => array( 'EndèksPrefiks' ),
'Protectedpages' => array( 'PajPwoteje' ),
diff --git a/languages/messages/MessagesHu.php b/languages/messages/MessagesHu.php
index 0019a4b8..a076874e 100644
--- a/languages/messages/MessagesHu.php
+++ b/languages/messages/MessagesHu.php
@@ -98,7 +98,7 @@ $specialPageAliases = array(
'Newimages' => array( 'Új_fájlok', 'Új_képek', 'Új_képek_galériája' ),
'Newpages' => array( 'Új_lapok' ),
'PasswordReset' => array( 'Jelszó_helyreállítása' ),
- 'Popularpages' => array( 'Népszerű_lapok', 'Népszerű_oldalak' ),
+
'Preferences' => array( 'Beállításaim' ),
'Prefixindex' => array( 'Keresés_előtag_szerint' ),
'Protectedpages' => array( 'Védett_lapok' ),
diff --git a/languages/messages/MessagesHy.php b/languages/messages/MessagesHy.php
index ea23ef05..7ce48dfe 100644
--- a/languages/messages/MessagesHy.php
+++ b/languages/messages/MessagesHy.php
@@ -223,7 +223,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'Իմքննարկումները' ),
'Newimages' => array( 'Նորպատկերներ' ),
'Newpages' => array( 'Նորէջերը' ),
- 'Popularpages' => array( 'Հանրաճանաչէջերը' ),
+
'Preferences' => array( 'Նախընտրությունները' ),
'Prefixindex' => array( 'Որոնումնախածանցով' ),
'Randompage' => array( 'Պատահականէջ' ),
diff --git a/languages/messages/MessagesIa.php b/languages/messages/MessagesIa.php
index 0d4fd18c..d0dd5476 100644
--- a/languages/messages/MessagesIa.php
+++ b/languages/messages/MessagesIa.php
@@ -93,7 +93,7 @@ $specialPageAliases = array(
'Newpages' => array( 'Paginas_nove', 'Nove_paginas' ),
'PasswordReset' => array( 'Reinitialisar_contrasigno' ),
'PermanentLink' => array( 'Ligamine_permanente' ),
- 'Popularpages' => array( 'Paginas_popular' ),
+
'Preferences' => array( 'Preferentias' ),
'Prefixindex' => array( 'Indice_de_prefixos' ),
'Protectedpages' => array( 'Paginas_protegite' ),
diff --git a/languages/messages/MessagesId.php b/languages/messages/MessagesId.php
index 35109313..80472764 100644
--- a/languages/messages/MessagesId.php
+++ b/languages/messages/MessagesId.php
@@ -252,7 +252,7 @@ $specialPageAliases = array(
'Newpages' => array( 'Halaman_baru', 'HalamanBaru' ),
'PasswordReset' => array( 'Reset_sandi', 'ResetSandi' ),
'PermanentLink' => array( 'Pranala_permanen' ),
- 'Popularpages' => array( 'Halaman_populer', 'HalamanPopuler' ),
+
'Preferences' => array( 'Preferensi' ),
'Prefixindex' => array( 'Indeks_awalan', 'IndeksAwalan' ),
'Protectedpages' => array( 'Halaman_yang_dilindungi', 'HalamanDilindungi' ),
diff --git a/languages/messages/MessagesIe.php b/languages/messages/MessagesIe.php
index 748f82b8..1a42d266 100644
--- a/languages/messages/MessagesIe.php
+++ b/languages/messages/MessagesIe.php
@@ -81,7 +81,7 @@ $specialPageAliases = array(
'Newpages' => array( 'Nov_págines' ),
'PasswordReset' => array( 'Recomensar_parol-clave' ),
'PermanentLink' => array( 'Catenun_permanen' ),
- 'Popularpages' => array( 'Págines_populari' ),
+
'Preferences' => array( 'Preferenties' ),
'Prefixindex' => array( 'Index_de_prefixe' ),
'Protectedpages' => array( 'Págines_gardat' ),
diff --git a/languages/messages/MessagesIs.php b/languages/messages/MessagesIs.php
index effce71c..c3a8f95a 100644
--- a/languages/messages/MessagesIs.php
+++ b/languages/messages/MessagesIs.php
@@ -169,7 +169,7 @@ $specialPageAliases = array(
'Newimages' => array( 'Nýjar_myndir' ),
'Newpages' => array( 'Nýjustu_greinar' ),
'PasswordReset' => array( 'Endursetja_lykilorð' ),
- 'Popularpages' => array( 'Vinsælar_síður' ),
+
'Preferences' => array( 'Stillingar' ),
'Prefixindex' => array( 'Forskeyti' ),
'Protectedpages' => array( 'Verndaðar_síður' ),
diff --git a/languages/messages/MessagesIt.php b/languages/messages/MessagesIt.php
index 27bbe784..5e98dea5 100644
--- a/languages/messages/MessagesIt.php
+++ b/languages/messages/MessagesIt.php
@@ -111,7 +111,7 @@ $specialPageAliases = array(
'PagesWithProp' => array( 'PagineConProprietà' ),
'PasswordReset' => array( 'ReimpostaPassword' ),
'PermanentLink' => array( 'LinkPermanente' ),
- 'Popularpages' => array( 'PaginePiùVisitate' ),
+
'Preferences' => array( 'Preferenze' ),
'Prefixindex' => array( 'Prefissi' ),
'Protectedpages' => array( 'PagineProtette' ),
diff --git a/languages/messages/MessagesJa.php b/languages/messages/MessagesJa.php
index caca23dd..f4104563 100644
--- a/languages/messages/MessagesJa.php
+++ b/languages/messages/MessagesJa.php
@@ -125,7 +125,7 @@ $specialPageAliases = array(
'PageLanguage' => array( 'ページ言語' ),
'PasswordReset' => array( 'パスワード再設定', 'パスワードの再設定', 'パスワードのリセット', 'パスワードリセット' ),
'PermanentLink' => array( '固定リンク', 'パーマリンク' ),
- 'Popularpages' => array( '人気ページ' ),
+
'Preferences' => array( '個人設定', 'オプション' ),
'Prefixindex' => array( '前方一致ページ一覧', '始点指定ページ一覧' ),
'Protectedpages' => array( '保護されているページ' ),
diff --git a/languages/messages/MessagesKa.php b/languages/messages/MessagesKa.php
index 598f1011..bcca2d2d 100644
--- a/languages/messages/MessagesKa.php
+++ b/languages/messages/MessagesKa.php
@@ -79,7 +79,7 @@ $specialPageAliases = array(
'Myuploads' => array( 'ჩემი_ატვირთვები' ),
'Newimages' => array( 'ახალი_ფაილები' ),
'Newpages' => array( 'ახალი_გვერდები' ),
- 'Popularpages' => array( 'პოპგვერდები' ),
+
'Preferences' => array( 'კონფიგურაცია' ),
'Protectedpages' => array( 'დაცული_გვერდები' ),
'Protectedtitles' => array( 'დაცული_სათაურები' ),
diff --git a/languages/messages/MessagesKaa.php b/languages/messages/MessagesKaa.php
index 44b7224e..3d57771c 100644
--- a/languages/messages/MessagesKaa.php
+++ b/languages/messages/MessagesKaa.php
@@ -70,7 +70,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'Menin\' sa\'wbetim' ),
'Newimages' => array( 'Taza su\'wretler' ),
'Newpages' => array( 'Taza betler' ),
- 'Popularpages' => array( 'Ko\'p ko\'rilgen betler' ),
+
'Preferences' => array( 'Sazlawlar' ),
'Protectedpages' => array( 'Qorg\'alg\'an betler' ),
'Randompage' => array( 'Qa\'legen', 'Qa\'legen bet' ),
diff --git a/languages/messages/MessagesKk_arab.php b/languages/messages/MessagesKk_arab.php
index 8749ccbe..990bd861 100644
--- a/languages/messages/MessagesKk_arab.php
+++ b/languages/messages/MessagesKk_arab.php
@@ -348,7 +348,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'تالقىلاۋىم' ),
'Newimages' => array( 'جاڭا_سۋرەتتەر' ),
'Newpages' => array( 'جاڭا_بەتتەر' ),
- 'Popularpages' => array( 'ەڭ_كوپ_قارالعان_بەتتەر', 'ايگىلى_بەتتەر' ),
+
'Preferences' => array( 'باپتالىمدار', 'باپتاۋ' ),
'Prefixindex' => array( 'ٴباستاۋىش_ٴتىزىمى' ),
'Protectedpages' => array( 'قورعالعان_بەتتەر' ),
diff --git a/languages/messages/MessagesKk_cyrl.php b/languages/messages/MessagesKk_cyrl.php
index 680c2eab..2f4eb88f 100644
--- a/languages/messages/MessagesKk_cyrl.php
+++ b/languages/messages/MessagesKk_cyrl.php
@@ -322,7 +322,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'Талқылауым' ),
'Newimages' => array( 'Жаңа_суреттер' ),
'Newpages' => array( 'Жаңа_беттер' ),
- 'Popularpages' => array( 'Ең_көп_қаралған_беттер', 'Әйгілі_беттер' ),
+
'Preferences' => array( 'Бапталымдар', 'Баптау' ),
'Prefixindex' => array( 'Бастауыш_тізімі' ),
'Protectedpages' => array( 'Қорғалған_беттер' ),
diff --git a/languages/messages/MessagesKk_latn.php b/languages/messages/MessagesKk_latn.php
index b7f8c6fc..1bdc40ad 100644
--- a/languages/messages/MessagesKk_latn.php
+++ b/languages/messages/MessagesKk_latn.php
@@ -316,7 +316,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'Talqılawım' ),
'Newimages' => array( 'Jaña_swretter' ),
'Newpages' => array( 'Jaña_better' ),
- 'Popularpages' => array( 'Eñ_köp_qaralğan_better', 'Äýgili_better' ),
+
'Preferences' => array( 'Baptalımdar', 'Baptaw' ),
'Prefixindex' => array( 'Bastawış_tizimi' ),
'Protectedpages' => array( 'Qorğalğan_better' ),
diff --git a/languages/messages/MessagesKm.php b/languages/messages/MessagesKm.php
index 289e5c2f..cf7c4245 100644
--- a/languages/messages/MessagesKm.php
+++ b/languages/messages/MessagesKm.php
@@ -147,7 +147,7 @@ $specialPageAliases = array(
'Newpages' => array( 'ទំព័រថ្មីៗ' ),
'PasswordReset' => array( 'កំណត់ពាក្យសំងាត់ឡើងវិញ' ),
'PermanentLink' => array( 'តំណភ្ជាប់អចិន្ត្រែយ៍' ),
- 'Popularpages' => array( 'ទំព័រដែលមានប្រជាប្រិយ' ),
+
'Preferences' => array( 'ចំណង់ចំណូលចិត្ត' ),
'Prefixindex' => array( 'លិបិក្រមបុព្វបទ' ),
'Protectedpages' => array( 'ទំព័របានការពារ' ),
diff --git a/languages/messages/MessagesKo.php b/languages/messages/MessagesKo.php
index d34e249a..3eb43d00 100644
--- a/languages/messages/MessagesKo.php
+++ b/languages/messages/MessagesKo.php
@@ -139,7 +139,7 @@ $specialPageAliases = array(
'PageLanguage' => array( '문서언어' ),
'PasswordReset' => array( '비밀번호재설정', '비밀번호초기화' ),
'PermanentLink' => array( '고유링크', '영구링크' ),
- 'Popularpages' => array( '인기있는문서' ),
+
'Preferences' => array( '환경설정' ),
'Prefixindex' => array( '접두어찾기' ),
'Protectedpages' => array( '보호된문서' ),
diff --git a/languages/messages/MessagesKrc.php b/languages/messages/MessagesKrc.php
index 6b621607..f5c7ff4e 100644
--- a/languages/messages/MessagesKrc.php
+++ b/languages/messages/MessagesKrc.php
@@ -87,7 +87,7 @@ $specialPageAliases = array(
'Newpages' => array( 'Джангы_бетле' ),
'PasswordReset' => array( 'Паролну_ийиу' ),
'PermanentLink' => array( 'Дайым_джибериу' ),
- 'Popularpages' => array( 'Популяр_бетле' ),
+
'Preferences' => array( 'Джарашдырыула' ),
'Protectedpages' => array( 'Джакъланнган_бетле' ),
'Protectedtitles' => array( 'Джакъланнган_атла' ),
diff --git a/languages/messages/MessagesKsh.php b/languages/messages/MessagesKsh.php
index b1c9d3b3..f39769cb 100644
--- a/languages/messages/MessagesKsh.php
+++ b/languages/messages/MessagesKsh.php
@@ -158,7 +158,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'Ming_Klaafsigg', 'Klaaf' ),
'Newimages' => array( 'Neu_Dateie' ),
'Newpages' => array( 'Neu_Atikelle' ),
- 'Popularpages' => array( 'Miehts_affjeroofe_Sigge' ),
+
'Preferences' => array( 'Ming_Enstellunge', 'Enstellunge' ),
'Prefixindex' => array( 'Sigge_met_Aanfang' ),
'Protectedpages' => array( 'Siggeschotz' ),
diff --git a/languages/messages/MessagesKw.php b/languages/messages/MessagesKw.php
index b093b584..fdd18366 100644
--- a/languages/messages/MessagesKw.php
+++ b/languages/messages/MessagesKw.php
@@ -118,7 +118,7 @@ $specialPageAliases = array(
'Newpages' => array( 'FolennowNowyth' ),
'PasswordReset' => array( 'DassetyaGerTremena' ),
'PermanentLink' => array( 'KevrenFast' ),
- 'Popularpages' => array( 'FolennowGerysDa' ),
+
'Preferences' => array( 'Dewisyansow' ),
'Prefixindex' => array( 'MenegvaRagerow' ),
'Protectedpages' => array( 'FolennowDifresys' ),
diff --git a/languages/messages/MessagesLa.php b/languages/messages/MessagesLa.php
index 9f3d9043..b37c5b11 100644
--- a/languages/messages/MessagesLa.php
+++ b/languages/messages/MessagesLa.php
@@ -120,7 +120,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'Disputatio_mea' ),
'Newimages' => array( 'Fasciculi_novi', 'Imagines_novae' ),
'Newpages' => array( 'Paginae_novae' ),
- 'Popularpages' => array( 'Paginae_saepe_monstratae' ),
+
'Preferences' => array( 'Praeferentiae' ),
'Prefixindex' => array( 'Praefixa', 'Quaerere_per_praefixa' ),
'Protectedpages' => array( 'Paginae_protectae' ),
diff --git a/languages/messages/MessagesLad.php b/languages/messages/MessagesLad.php
index cbeb69ee..a6cd3454 100644
--- a/languages/messages/MessagesLad.php
+++ b/languages/messages/MessagesLad.php
@@ -129,7 +129,7 @@ $specialPageAliases = array(
'Newpages' => array( 'HojasMuevas' ),
'PasswordReset' => array( 'Meter_á_zero_el_kóddiche' ),
'PermanentLink' => array( 'AtamientoPermanente' ),
- 'Popularpages' => array( 'HojasMásVisitadas' ),
+
'Preferences' => array( 'Preferencias' ),
'Prefixindex' => array( 'Fijhrist_de_prefiksos' ),
'Protectedpages' => array( 'HojasGuardadas' ),
diff --git a/languages/messages/MessagesLb.php b/languages/messages/MessagesLb.php
index 203788c6..9d5e9a18 100644
--- a/languages/messages/MessagesLb.php
+++ b/languages/messages/MessagesLb.php
@@ -116,7 +116,7 @@ $specialPageAliases = array(
'PageLanguage' => array( 'Sprooch_vun_der_Säit' ),
'PasswordReset' => array( 'Zrécksetze_vum_Passwuert' ),
'PermanentLink' => array( 'Permanente_Link' ),
- 'Popularpages' => array( 'Beléifst_Säiten' ),
+
'Preferences' => array( 'Astellungen' ),
'Prefixindex' => array( 'Indexsich' ),
'Protectedpages' => array( 'Protegéiert_Säiten' ),
diff --git a/languages/messages/MessagesLi.php b/languages/messages/MessagesLi.php
index 4efd38cc..029df318 100644
--- a/languages/messages/MessagesLi.php
+++ b/languages/messages/MessagesLi.php
@@ -100,7 +100,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'Mien_euverlèk' ),
'Newimages' => array( 'Nuuj_plaetjes' ),
'Newpages' => array( 'Nuuj_pagina\'s' ),
- 'Popularpages' => array( 'Populair_pagina\'s' ),
+
'Preferences' => array( 'Veurkäöre' ),
'Prefixindex' => array( 'Alle_artikele' ),
'Protectedpages' => array( 'Beveiligde_pagina\'s' ),
diff --git a/languages/messages/MessagesLij.php b/languages/messages/MessagesLij.php
index 8cc1a214..398b20b7 100644
--- a/languages/messages/MessagesLij.php
+++ b/languages/messages/MessagesLij.php
@@ -87,7 +87,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'Mæ Discûscioîn' ),
'Newimages' => array( 'Immaggini reçenti' ),
'Newpages' => array( 'Paggine ciû reçenti' ),
- 'Popularpages' => array( 'Paggine ciû viscitæ' ),
+
'Preferences' => array( 'Preferense' ),
'Prefixindex' => array( 'Prefisci' ),
'Protectedpages' => array( 'Paggine protezûe' ),
diff --git a/languages/messages/MessagesLrc.php b/languages/messages/MessagesLrc.php
index ada5dc28..45defa49 100644
--- a/languages/messages/MessagesLrc.php
+++ b/languages/messages/MessagesLrc.php
@@ -99,7 +99,7 @@ $specialPageAliases = array(
'PageLanguage' => array( 'بلگه_زون' ),
'PasswordReset' => array( 'د_نو_زنه_کردن_رازینه_گواردن' ),
'PermanentLink' => array( 'هوم_پیوند_دایمی' ),
- 'Popularpages' => array( 'صفحه‌های_محبوب' ),
+
'Preferences' => array( 'میزونکاریا' ),
'Prefixindex' => array( 'پیشون_سیائه' ),
'Protectedpages' => array( 'بلگه_یا_پر_و_پیم_بیه' ),
diff --git a/languages/messages/MessagesLt.php b/languages/messages/MessagesLt.php
index a2ce260a..3819ed43 100644
--- a/languages/messages/MessagesLt.php
+++ b/languages/messages/MessagesLt.php
@@ -107,7 +107,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'Mano_aptarimas' ),
'Newimages' => array( 'Nauji_paveikslėliai' ),
'Newpages' => array( 'Naujausi_puslapiai' ),
- 'Popularpages' => array( 'Populiarūs_puslapiai' ),
+
'Preferences' => array( 'Nustatymai' ),
'Prefixindex' => array( 'Prasidedantys' ),
'Protectedpages' => array( 'Užrakinti_puslapiai' ),
diff --git a/languages/messages/MessagesMdf.php b/languages/messages/MessagesMdf.php
index 274b7242..a68cb1b2 100644
--- a/languages/messages/MessagesMdf.php
+++ b/languages/messages/MessagesMdf.php
@@ -101,7 +101,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'МоньКорхнемазе' ),
'Newimages' => array( 'ОдНяйфне' ),
'Newpages' => array( 'ОдЛопат' ),
- 'Popularpages' => array( 'СидестаЛопатне' ),
+
'Preferences' => array( 'Латцематне' ),
'Prefixindex' => array( 'ВалынгольксИндекс' ),
'Protectedpages' => array( 'АралафЛопат' ),
diff --git a/languages/messages/MessagesMg.php b/languages/messages/MessagesMg.php
index 4c962add..19c4c2d7 100644
--- a/languages/messages/MessagesMg.php
+++ b/languages/messages/MessagesMg.php
@@ -187,7 +187,7 @@ $specialPageAliases = array(
'PageLanguage' => array( 'Fitenim-pejy', 'Fitenimpejy' ),
'PasswordReset' => array( 'Famerenan-tenimiafina', 'Famerenantenimiafina' ),
'PermanentLink' => array( 'Rohy_maharitra', 'RohyMaharitra' ),
- 'Popularpages' => array( 'Pejy_be_mpitsidika_indrindra' ),
+
'Preferences' => array( 'Safidy' ),
'Prefixindex' => array( 'Index' ),
'Protectedpages' => array( 'Pejy_voaaro' ),
diff --git a/languages/messages/MessagesMin.php b/languages/messages/MessagesMin.php
index 451e3734..e379df2a 100644
--- a/languages/messages/MessagesMin.php
+++ b/languages/messages/MessagesMin.php
@@ -116,7 +116,7 @@ $specialPageAliases = array(
'PagesWithProp' => array( 'LamanJoProperti', 'Laman_jo_properti' ),
'PasswordReset' => array( 'TukaSandi', 'Tuka_baliak_sandi' ),
'PermanentLink' => array( 'PautanPamanen', 'Pautan_pamanen' ),
- 'Popularpages' => array( 'LamanPopuler', 'Laman_populer' ),
+
'Preferences' => array( 'Rujuakan' ),
'Prefixindex' => array( 'DaptaAwalan' ),
'Protectedpages' => array( 'LamanTalinduang', 'Laman_nan_dilinduang' ),
diff --git a/languages/messages/MessagesMk.php b/languages/messages/MessagesMk.php
index 9f74d16a..ad8e2454 100644
--- a/languages/messages/MessagesMk.php
+++ b/languages/messages/MessagesMk.php
@@ -159,7 +159,7 @@ $specialPageAliases = array(
'PageLanguage' => array( 'ЈазикНаСтраницата' ),
'PasswordReset' => array( 'ПроменаНаЛозинка' ),
'PermanentLink' => array( 'ПостојанаВрска' ),
- 'Popularpages' => array( 'ПопуларниСтраници' ),
+
'Preferences' => array( 'Нагодувања' ),
'Prefixindex' => array( 'ИндексНаПретставки' ),
'Protectedpages' => array( 'ЗаштитениСтраници' ),
diff --git a/languages/messages/MessagesMl.php b/languages/messages/MessagesMl.php
index 39f48b23..b9c395d1 100644
--- a/languages/messages/MessagesMl.php
+++ b/languages/messages/MessagesMl.php
@@ -148,7 +148,7 @@ $specialPageAliases = array(
'PageLanguage' => array( 'താളിന്റെഭാഷ' ),
'PasswordReset' => array( 'രഹസ്യവാക്ക്‌‌പുനക്രമീകരണം' ),
'PermanentLink' => array( 'സ്ഥിരംകണ്ണി' ),
- 'Popularpages' => array( 'ജനപ്രിയതാളുകൾ' ),
+
'Preferences' => array( 'ക്രമീകരണങ്ങൾ' ),
'Prefixindex' => array( 'പൂർവ്വപദസൂചിക' ),
'Protectedpages' => array( 'സംരക്ഷിത_താളുകൾ' ),
diff --git a/languages/messages/MessagesMr.php b/languages/messages/MessagesMr.php
index 4f9b0cd0..5347ca6a 100644
--- a/languages/messages/MessagesMr.php
+++ b/languages/messages/MessagesMr.php
@@ -128,7 +128,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'माझ्या_चर्चा' ),
'Newimages' => array( 'नवीन_संचिका', 'नवीन_चित्रे' ),
'Newpages' => array( 'नवीन_पाने' ),
- 'Popularpages' => array( 'प्रसिद्ध_पाने' ),
+
'Preferences' => array( 'पसंती' ),
'Prefixindex' => array( 'उपसर्गसुची' ),
'Protectedpages' => array( 'सुरक्षित_पाने' ),
diff --git a/languages/messages/MessagesMs.php b/languages/messages/MessagesMs.php
index fb972b0a..7466aed6 100644
--- a/languages/messages/MessagesMs.php
+++ b/languages/messages/MessagesMs.php
@@ -170,7 +170,7 @@ $specialPageAliases = array(
'PageLanguage' => array( 'Bahasa_laman' ),
'PasswordReset' => array( 'Tetap_semula_kata_kunci' ),
'PermanentLink' => array( 'Pautan_kekal' ),
- 'Popularpages' => array( 'Laman_popular' ),
+
'Preferences' => array( 'Keutamaan' ),
'Prefixindex' => array( 'Indeks_awalan' ),
'Protectedpages' => array( 'Laman_dilindungi' ),
diff --git a/languages/messages/MessagesMt.php b/languages/messages/MessagesMt.php
index 2529cc98..87a84909 100644
--- a/languages/messages/MessagesMt.php
+++ b/languages/messages/MessagesMt.php
@@ -100,7 +100,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'DiskussjonijietTiegħi' ),
'Newimages' => array( 'StampiĠodda', 'FajlsĠodda' ),
'Newpages' => array( 'PaġniĠodda' ),
- 'Popularpages' => array( 'PaġniPopolari' ),
+
'Preferences' => array( 'Preferenzi' ),
'Prefixindex' => array( 'IndiċiPrefiss' ),
'Protectedpages' => array( 'PaġniProtetti' ),
diff --git a/languages/messages/MessagesMyv.php b/languages/messages/MessagesMyv.php
index e5e189c5..cc0f856a 100644
--- a/languages/messages/MessagesMyv.php
+++ b/languages/messages/MessagesMyv.php
@@ -79,7 +79,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'МоньКортамом' ),
'Newimages' => array( 'ОдАртовкст' ),
'Newpages' => array( 'ОдЛопат' ),
- 'Popularpages' => array( 'ЛисийСовийМартоЛопат' ),
+
'Protectedpages' => array( 'ВанстоньЛопат' ),
'Protectedtitles' => array( 'ВанстоньКонякст' ),
'Randompage' => array( 'КодамоПонгсьЛопа' ),
diff --git a/languages/messages/MessagesNb.php b/languages/messages/MessagesNb.php
index 6f9cf1f9..15b282a2 100644
--- a/languages/messages/MessagesNb.php
+++ b/languages/messages/MessagesNb.php
@@ -160,7 +160,7 @@ $specialPageAliases = array(
'PagesWithProp' => array( 'Sider_med_egenskap' ),
'PasswordReset' => array( 'Nullstill_passord' ),
'PermanentLink' => array( 'Permanent_lenke' ),
- 'Popularpages' => array( 'Populære_sider' ),
+
'Preferences' => array( 'Innstillinger' ),
'Prefixindex' => array( 'Prefiksindeks' ),
'Protectedpages' => array( 'Beskyttede_sider' ),
diff --git a/languages/messages/MessagesNds.php b/languages/messages/MessagesNds.php
index f87d770c..cf35e7ae 100644
--- a/languages/messages/MessagesNds.php
+++ b/languages/messages/MessagesNds.php
@@ -179,7 +179,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'Miene Diskuschoonssiet' ),
'Newimages' => array( 'Nee Datein' ),
'Newpages' => array( 'Nee Sieden' ),
- 'Popularpages' => array( 'Veel besöchte Sieden' ),
+
'Preferences' => array( 'Instellungen' ),
'Prefixindex' => array( 'Sieden de anfangt mit' ),
'Protectedpages' => array( 'Schuulte Sieden' ),
diff --git a/languages/messages/MessagesNds_nl.php b/languages/messages/MessagesNds_nl.php
index 5e82e82c..784176ac 100644
--- a/languages/messages/MessagesNds_nl.php
+++ b/languages/messages/MessagesNds_nl.php
@@ -278,7 +278,7 @@ $specialPageAliases = array(
'PagesWithProp' => array( 'Ziejen_mit_eigenschap' ),
'PasswordReset' => array( 'Wachtwoord_opniej_instellen' ),
'PermanentLink' => array( 'Vaste_verwiezing' ),
- 'Popularpages' => array( 'Populaere_artikels' ),
+
'Preferences' => array( 'Veurkeuren' ),
'Prefixindex' => array( 'Veurvoegselindex' ),
'Protectedpages' => array( 'Beveiligden_ziejen' ),
diff --git a/languages/messages/MessagesNl.php b/languages/messages/MessagesNl.php
index 7d7fa054..28927282 100644
--- a/languages/messages/MessagesNl.php
+++ b/languages/messages/MessagesNl.php
@@ -335,7 +335,7 @@ $specialPageAliases = array(
'PageLanguage' => array( 'Paginataal' ),
'PasswordReset' => array( 'WachtwoordOpnieuwInstellen' ),
'PermanentLink' => array( 'PermanenteVerwijzing' ),
- 'Popularpages' => array( 'PopulairePaginas', 'PopulairePagina’s', 'PopulairePagina\'s' ),
+
'Preferences' => array( 'Voorkeuren' ),
'Prefixindex' => array( 'Voorvoegselindex' ),
'Protectedpages' => array( 'BeveiligdePaginas', 'BeveiligdePagina\'s', 'BeschermdePaginas', 'BeschermdePagina’s', 'BeschermdePagina\'s' ),
diff --git a/languages/messages/MessagesNn.php b/languages/messages/MessagesNn.php
index 606f7205..0f1ec900 100644
--- a/languages/messages/MessagesNn.php
+++ b/languages/messages/MessagesNn.php
@@ -274,7 +274,7 @@ $specialPageAliases = array(
'Newimages' => array( 'Nye_filer' ),
'Newpages' => array( 'Nye_sider' ),
'PermanentLink' => array( 'Permanent_lenkje', 'Permanent_lenke' ),
- 'Popularpages' => array( 'Populære_sider' ),
+
'Preferences' => array( 'Innstillingar' ),
'Prefixindex' => array( 'Prefiksindeks' ),
'Protectedpages' => array( 'Verna_sider' ),
diff --git a/languages/messages/MessagesOc.php b/languages/messages/MessagesOc.php
index 64220d89..0c01eb33 100644
--- a/languages/messages/MessagesOc.php
+++ b/languages/messages/MessagesOc.php
@@ -106,7 +106,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'Mas_discussions', 'Masdiscussions' ),
'Newimages' => array( 'Imatges_novèls', 'ImatgesNovèls' ),
'Newpages' => array( 'Paginas_novèlas' ),
- 'Popularpages' => array( 'Paginas_mai_visitadas', 'Paginas_las_mai_visitadas', 'Paginasmaivisitadas' ),
+
'Preferences' => array( 'Preferéncias' ),
'Prefixindex' => array( 'Indèx' ),
'Protectedpages' => array( 'Paginas_protegidas' ),
diff --git a/languages/messages/MessagesOr.php b/languages/messages/MessagesOr.php
index f3bea174..2b09a770 100644
--- a/languages/messages/MessagesOr.php
+++ b/languages/messages/MessagesOr.php
@@ -131,7 +131,7 @@ $specialPageAliases = array(
'Newimages' => array( 'ନୂଆଫାଇଲ' ),
'Newpages' => array( 'ନୂଆପୃଷ୍ଠା' ),
'PermanentLink' => array( 'ଚିରକାଳଲିଙ୍କ' ),
- 'Popularpages' => array( 'ଜଣାଶୁଣାପୃଷ୍ଠା' ),
+
'Preferences' => array( 'ପସନ୍ଦ' ),
'Prefixindex' => array( 'ଆଗରେଯୋଡ଼ାହେବାଇଣ୍ଡେକ୍ସ' ),
'Protectedpages' => array( 'କିଳାଯାଇଥିବାପୃଷ୍ଠା' ),
diff --git a/languages/messages/MessagesOs.php b/languages/messages/MessagesOs.php
index 3c656108..88caf28b 100644
--- a/languages/messages/MessagesOs.php
+++ b/languages/messages/MessagesOs.php
@@ -109,7 +109,7 @@ $specialPageAliases = array(
'Newpages' => array( 'НогФæрстæ' ),
'PasswordReset' => array( 'ПарольНогКæнын' ),
'PermanentLink' => array( 'УдгасÆрвитæн' ),
- 'Popularpages' => array( 'АрæхФæрстæ' ),
+
'Preferences' => array( 'Уагæвæрдтæ' ),
'Prefixindex' => array( 'РазæфтуантыИндекс' ),
'Protectedpages' => array( 'ÆхгæдФæрстæ' ),
diff --git a/languages/messages/MessagesPa.php b/languages/messages/MessagesPa.php
index 3e3090c6..ffe1305d 100644
--- a/languages/messages/MessagesPa.php
+++ b/languages/messages/MessagesPa.php
@@ -128,7 +128,7 @@ $specialPageAliases = array(
'PageLanguage' => array( 'ਸਫ਼ੇ_ਦੀ_ਭਾਸ਼ਾ' ),
'PasswordReset' => array( 'ਪਾਸਵਰਡ_ਰੀਸੈੱਟ' ),
'PermanentLink' => array( 'ਪੱਕਾ_ਲਿੰਕ', 'ਪੱਕੀ_ਕੜੀ' ),
- 'Popularpages' => array( 'ਮਸ਼ਹੂਰ_ਸਫ਼ੇ' ),
+
'Preferences' => array( 'ਪਸੰਦਾਂ' ),
'Prefixindex' => array( 'ਅਗੇਤਰ_ਤਤਕਰਾ' ),
'Protectedpages' => array( 'ਸੁਰੱਖਿਅਤ_ਸਫ਼ੇ' ),
diff --git a/languages/messages/MessagesPl.php b/languages/messages/MessagesPl.php
index 4c822760..5d4030e4 100644
--- a/languages/messages/MessagesPl.php
+++ b/languages/messages/MessagesPl.php
@@ -187,7 +187,7 @@ $specialPageAliases = array(
'PagesWithProp' => array( 'Strony_z_własnością' ),
'PasswordReset' => array( 'Wyczyść_hasło' ),
'PermanentLink' => array( 'Niezmienny_link' ),
- 'Popularpages' => array( 'Popularne_strony' ),
+
'Preferences' => array( 'Preferencje' ),
'Prefixindex' => array( 'Strony_według_prefiksu' ),
'Protectedpages' => array( 'Zabezpieczone_strony' ),
diff --git a/languages/messages/MessagesPs.php b/languages/messages/MessagesPs.php
index fbc94194..f579bdba 100644
--- a/languages/messages/MessagesPs.php
+++ b/languages/messages/MessagesPs.php
@@ -64,7 +64,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'زما_خبرې_اترې' ),
'Newimages' => array( 'نوي_انځورونه' ),
'Newpages' => array( 'نوي_مخونه' ),
- 'Popularpages' => array( 'نامتومخونه' ),
+
'Preferences' => array( 'غوره_توبونه' ),
'Prefixindex' => array( 'د_مختاړيو_ليکلړ' ),
'Protectedpages' => array( 'ژغورلي_مخونه' ),
diff --git a/languages/messages/MessagesPt.php b/languages/messages/MessagesPt.php
index 7a293f6d..bf25c78a 100644
--- a/languages/messages/MessagesPt.php
+++ b/languages/messages/MessagesPt.php
@@ -174,7 +174,7 @@ $specialPageAliases = array(
'PagesWithProp' => array( 'Propriedades_de_página' ),
'PasswordReset' => array( 'Redefinir_autenticação' ),
'PermanentLink' => array( 'Ligação_permanente', 'Link_permanente' ),
- 'Popularpages' => array( 'Páginas_populares', 'Artigos_populares' ),
+
'Preferences' => array( 'Preferências' ),
'Prefixindex' => array( 'Índice_por_prefixo', 'Índice_de_prefixo' ),
'Protectedpages' => array( 'Páginas_protegidas', 'Artigos_protegidos' ),
diff --git a/languages/messages/MessagesPt_br.php b/languages/messages/MessagesPt_br.php
index 8a634706..158fe2ed 100644
--- a/languages/messages/MessagesPt_br.php
+++ b/languages/messages/MessagesPt_br.php
@@ -177,7 +177,7 @@ $specialPageAliases = array(
'Newimages' => array( 'Arquivos_novos', 'Imagens_novas', 'Ficheiros_novos' ),
'Newpages' => array( 'Páginas_novas', 'Artigos_novos' ),
'PermanentLink' => array( 'Ligação_permanente', 'Link_permanente' ),
- 'Popularpages' => array( 'Páginas_populares', 'Artigos_populares' ),
+
'Preferences' => array( 'Preferências' ),
'Prefixindex' => array( 'Índice_de_prefixo', 'Índice_por_prefixo' ),
'Protectedpages' => array( 'Páginas_protegidas', 'Artigos_protegidos' ),
diff --git a/languages/messages/MessagesQu.php b/languages/messages/MessagesQu.php
index 97afe6ba..d5ab0dc0 100644
--- a/languages/messages/MessagesQu.php
+++ b/languages/messages/MessagesQu.php
@@ -100,7 +100,7 @@ $specialPageAliases = array(
'Newpages' => array( 'MusuqPanqa' ),
'PasswordReset' => array( 'YaykunaRimaKutichina' ),
'PermanentLink' => array( 'KakuqTinki' ),
- 'Popularpages' => array( 'WatukuqsapaPanqa', 'RikuqsapaPanqa', 'QhawaqsapaPanqa' ),
+
'Preferences' => array( 'Allinkachina', 'Allinkachinakuna' ),
'Prefixindex' => array( 'QallarinaKaskaSutisuyu' ),
'Protectedpages' => array( 'AmachasqaPanqa' ),
diff --git a/languages/messages/MessagesRo.php b/languages/messages/MessagesRo.php
index 3d62d431..2708a45d 100644
--- a/languages/messages/MessagesRo.php
+++ b/languages/messages/MessagesRo.php
@@ -243,7 +243,7 @@ $specialPageAliases = array(
'Newimages' => array( 'Imagini_noi' ),
'Newpages' => array( 'Pagini_noi' ),
'PasswordReset' => array( 'Resetare_parolă' ),
- 'Popularpages' => array( 'Pagini_populare' ),
+
'Preferences' => array( 'Preferințe' ),
'Prefixindex' => array( 'Index' ),
'Protectedpages' => array( 'Pagini_protejate' ),
diff --git a/languages/messages/MessagesRu.php b/languages/messages/MessagesRu.php
index a74c9db9..5e3f6b4c 100644
--- a/languages/messages/MessagesRu.php
+++ b/languages/messages/MessagesRu.php
@@ -194,7 +194,7 @@ $specialPageAliases = array(
'Newpages' => array( 'Новые_страницы' ),
'PasswordReset' => array( 'Сброс_пароля' ),
'PermanentLink' => array( 'Постоянная_ссылка' ),
- 'Popularpages' => array( 'Популярные_страницы' ),
+
'Preferences' => array( 'Настройки' ),
'Prefixindex' => array( 'Указатель_по_началу_названия' ),
'Protectedpages' => array( 'Защищённые_страницы' ),
diff --git a/languages/messages/MessagesRue.php b/languages/messages/MessagesRue.php
index cb237418..b08eecdd 100644
--- a/languages/messages/MessagesRue.php
+++ b/languages/messages/MessagesRue.php
@@ -100,7 +100,7 @@ $specialPageAliases = array(
'Newpages' => array( 'Новы_сторінкы' ),
'PasswordReset' => array( 'Ресет_гесла' ),
'PermanentLink' => array( 'Тырвалый_одказ' ),
- 'Popularpages' => array( 'Популарны_сторінкы' ),
+
'Preferences' => array( 'Наставлїня' ),
'Protectedpages' => array( 'Замкнуты_сторінкы' ),
'Protectedtitles' => array( 'Замкнуты_назвы' ),
diff --git a/languages/messages/MessagesSa.php b/languages/messages/MessagesSa.php
index 14a8f99f..c3990893 100644
--- a/languages/messages/MessagesSa.php
+++ b/languages/messages/MessagesSa.php
@@ -132,7 +132,7 @@ $specialPageAliases = array(
'Newimages' => array( 'नूतनसंचिका', 'नूतनचित्रानि' ),
'Newpages' => array( 'नूतनपृष्टानि' ),
'PasswordReset' => array( 'सङ्केतशब्दपुन:प्रयु्क्ता' ),
- 'Popularpages' => array( 'लोकप्रियपृष्टानि' ),
+
'Preferences' => array( 'इष्टतमानि' ),
'Prefixindex' => array( 'उपसर्गअनुक्रमणी' ),
'Protectedpages' => array( 'सुरक्षितपृष्टानि' ),
diff --git a/languages/messages/MessagesScn.php b/languages/messages/MessagesScn.php
index 74ca0bcb..5714e434 100644
--- a/languages/messages/MessagesScn.php
+++ b/languages/messages/MessagesScn.php
@@ -110,7 +110,7 @@ $specialPageAliases = array(
'Newpages' => array( 'PaginePiùRecenti' ),
'PasswordReset' => array( 'ReimpostaPassword' ),
'PermanentLink' => array( 'LinkPermanente' ),
- 'Popularpages' => array( 'PaginePiùVisitate' ),
+
'Preferences' => array( 'Preferenze' ),
'Prefixindex' => array( 'Prefissi' ),
'Protectedpages' => array( 'PagineProtette' ),
diff --git a/languages/messages/MessagesSd.php b/languages/messages/MessagesSd.php
index adfc05e3..21270265 100644
--- a/languages/messages/MessagesSd.php
+++ b/languages/messages/MessagesSd.php
@@ -66,7 +66,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'مون سان ڳالهه' ),
'Newimages' => array( 'نوان عڪس' ),
'Newpages' => array( 'نوان صفحا' ),
- 'Popularpages' => array( 'مقبول صفحا' ),
+
'Preferences' => array( 'ترجيحات' ),
'Prefixindex' => array( 'اڳياڙي ڏسڻي' ),
'Protectedpages' => array( 'تحفظيل صفحا' ),
diff --git a/languages/messages/MessagesSdc.php b/languages/messages/MessagesSdc.php
index 4ab9c11c..c1d9cc3e 100644
--- a/languages/messages/MessagesSdc.php
+++ b/languages/messages/MessagesSdc.php
@@ -68,7 +68,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'MéDischussioni' ),
'Newimages' => array( 'ImmaginiRizzenti' ),
'Newpages' => array( 'PàginiPiùRizzenti' ),
- 'Popularpages' => array( 'PàginiPiùVisitaddi' ),
+
'Preferences' => array( 'Prifirènzi' ),
'Prefixindex' => array( 'Prefissi' ),
'Protectedpages' => array( 'PàginiPrutiggiddi' ),
diff --git a/languages/messages/MessagesSe.php b/languages/messages/MessagesSe.php
index 1917f32b..c819a760 100644
--- a/languages/messages/MessagesSe.php
+++ b/languages/messages/MessagesSe.php
@@ -80,7 +80,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'Mu_ságastallan' ),
'Newimages' => array( 'Ođđa_govat', 'Ođđa_fiillat' ),
'Newpages' => array( 'Ođđa_siiddut' ),
- 'Popularpages' => array( 'Bivnnuhis_siiddut' ),
+
'Preferences' => array( 'Válljemat', 'Ásahusat' ),
'Protectedpages' => array( 'Suodjaluvvon_siiddut' ),
'Protectedtitles' => array( 'Suodjaluvvon_bajilčállagat', 'Suodjaluvvon_siidonamat' ),
diff --git a/languages/messages/MessagesSh.php b/languages/messages/MessagesSh.php
index f8aa19f7..c1eac9d7 100644
--- a/languages/messages/MessagesSh.php
+++ b/languages/messages/MessagesSh.php
@@ -76,7 +76,7 @@ $specialPageAliases = array(
'Myuploads' => array( 'Moje_postavljene_datoteke' ),
'Newimages' => array( 'Nove_datoteke', 'Nove_slike' ),
'Newpages' => array( 'Nove_stranice' ),
- 'Popularpages' => array( 'Popularne_stranice' ),
+
'Preferences' => array( 'Postavke' ),
'Prefixindex' => array( 'Prefiks_indeks', 'Stranice_po_prefiksu' ),
'Protectedpages' => array( 'Zaštićene_stranice' ),
diff --git a/languages/messages/MessagesSi.php b/languages/messages/MessagesSi.php
index 1ac48a00..209a907f 100644
--- a/languages/messages/MessagesSi.php
+++ b/languages/messages/MessagesSi.php
@@ -107,7 +107,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'මගේ_සාකච්ඡාව' ),
'Newimages' => array( 'නව_ගොනු', 'නව_රූප' ),
'Newpages' => array( 'නව_පිටුව' ),
- 'Popularpages' => array( 'ජනප්‍රිය_පිටු' ),
+
'Preferences' => array( 'අභිරුචියන්' ),
'Prefixindex' => array( 'උපසර්ග_සූචිය' ),
'Protectedpages' => array( 'ආරක්‍ෂිත_පිටුව' ),
diff --git a/languages/messages/MessagesSk.php b/languages/messages/MessagesSk.php
index 83155dab..6f114ac7 100644
--- a/languages/messages/MessagesSk.php
+++ b/languages/messages/MessagesSk.php
@@ -81,7 +81,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'MojaDiskusia' ),
'Newimages' => array( 'NovéSúbory' ),
'Newpages' => array( 'NovéStránky' ),
- 'Popularpages' => array( 'PopulárneStránky' ),
+
'Preferences' => array( 'Nastavenia' ),
'Prefixindex' => array( 'IndexPredpon' ),
'Protectedpages' => array( 'ZamknutéStránky' ),
diff --git a/languages/messages/MessagesSl.php b/languages/messages/MessagesSl.php
index ea6b569d..a42774d9 100644
--- a/languages/messages/MessagesSl.php
+++ b/languages/messages/MessagesSl.php
@@ -81,7 +81,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'MojPogovor' ),
'Newimages' => array( 'NoveDatoteke', 'NoveSlike' ),
'Newpages' => array( 'NoveStrani' ),
- 'Popularpages' => array( 'PriljubljeneStrani' ),
+
'Preferences' => array( 'Nastavitve' ),
'Protectedpages' => array( 'ZaščiteneStrani' ),
'Protectedtitles' => array( 'ZaščiteniNaslovi' ),
diff --git a/languages/messages/MessagesSq.php b/languages/messages/MessagesSq.php
index 987464a3..cd45321e 100644
--- a/languages/messages/MessagesSq.php
+++ b/languages/messages/MessagesSq.php
@@ -96,7 +96,7 @@ $specialPageAliases = array(
'Myuploads' => array( 'NgarkimeteMia' ),
'Newimages' => array( 'SkedaTëReja' ),
'Newpages' => array( 'FaqeteReja' ),
- 'Popularpages' => array( 'FaqetëFamshme' ),
+
'Preferences' => array( 'Preferencat' ),
'Protectedpages' => array( 'FaqeteMbrojtura' ),
'Protectedtitles' => array( 'TitujteMbrojtur' ),
diff --git a/languages/messages/MessagesSr_ec.php b/languages/messages/MessagesSr_ec.php
index 0f89cca6..0bc37d5c 100644
--- a/languages/messages/MessagesSr_ec.php
+++ b/languages/messages/MessagesSr_ec.php
@@ -143,7 +143,7 @@ $specialPageAliases = array(
'Newimages' => array( 'НовеДатотеке', 'НовиФајлови', 'НовеСлике' ),
'Newpages' => array( 'НовеСтране' ),
'PermanentLink' => array( 'Привремена_веза' ),
- 'Popularpages' => array( 'Популарне_странице' ),
+
'Preferences' => array( 'Подешавања', 'Поставке' ),
'Protectedpages' => array( 'ЗаштићенеСтранице', 'Заштићене_странице' ),
'Protectedtitles' => array( 'ЗаштићениНаслови', 'Заштићени_наслови' ),
diff --git a/languages/messages/MessagesSu.php b/languages/messages/MessagesSu.php
index 87c69215..8b1f3f1f 100644
--- a/languages/messages/MessagesSu.php
+++ b/languages/messages/MessagesSu.php
@@ -88,7 +88,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'ObrolanKuring' ),
'Newimages' => array( 'GambarAnyar' ),
'Newpages' => array( 'KacaAnyar' ),
- 'Popularpages' => array( 'KacaPayu' ),
+
'Preferences' => array( 'Preferensi' ),
'Prefixindex' => array( 'IndeksAwalan' ),
'Protectedpages' => array( 'KacaDikonci' ),
diff --git a/languages/messages/MessagesSv.php b/languages/messages/MessagesSv.php
index 48e35111..dfcb6cd3 100644
--- a/languages/messages/MessagesSv.php
+++ b/languages/messages/MessagesSv.php
@@ -156,7 +156,7 @@ $specialPageAliases = array(
'PageLanguage' => array( 'Sidspråk' ),
'PasswordReset' => array( 'Återställ_lösenord' ),
'PermanentLink' => array( 'Permanent_länk' ),
- 'Popularpages' => array( 'Populära_sidor' ),
+
'Preferences' => array( 'Inställningar' ),
'Protectedpages' => array( 'Skyddade_sidor' ),
'Protectedtitles' => array( 'Skyddade_titlar' ),
diff --git a/languages/messages/MessagesSw.php b/languages/messages/MessagesSw.php
index c653de30..9d5c2a25 100644
--- a/languages/messages/MessagesSw.php
+++ b/languages/messages/MessagesSw.php
@@ -89,7 +89,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'MajadilianoYangu' ),
'Newimages' => array( 'FailiMpya', 'FailimpyazaPicha' ),
'Newpages' => array( 'KurasaMpya' ),
- 'Popularpages' => array( 'KurasaMaarufu' ),
+
'Preferences' => array( 'Mapendekezo' ),
'Prefixindex' => array( 'KurasaKuu' ),
'Protectedpages' => array( 'KurasaZilizolindwa' ),
diff --git a/languages/messages/MessagesTe.php b/languages/messages/MessagesTe.php
index 5a5e44bf..e84a6c36 100644
--- a/languages/messages/MessagesTe.php
+++ b/languages/messages/MessagesTe.php
@@ -101,7 +101,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'నాచర్చ' ),
'Newimages' => array( 'కొత్తఫైళ్లు', 'కొత్తబొమ్మలు' ),
'Newpages' => array( 'కొత్తపేజీలు' ),
- 'Popularpages' => array( 'ప్రాచుర్యంపొందినపేజీలు' ),
+
'Preferences' => array( 'అభిరుచులు' ),
'Protectedpages' => array( 'సంరక్షితపేజీలు' ),
'Randompage' => array( 'యాదృచ్చికపేజీ' ),
diff --git a/languages/messages/MessagesTh.php b/languages/messages/MessagesTh.php
index 140073ab..7e8027a5 100644
--- a/languages/messages/MessagesTh.php
+++ b/languages/messages/MessagesTh.php
@@ -110,7 +110,7 @@ $specialPageAliases = array(
'Newpages' => array( 'หน้าใหม่' ),
'PasswordReset' => array( 'ตั้งรหัสผ่านใหม่' ),
'PermanentLink' => array( 'ลิงก์ถาวร' ),
- 'Popularpages' => array( 'หน้าที่ได้รับความนิยม' ),
+
'Preferences' => array( 'การตั้งค่า', 'ตั้งค่า' ),
'Prefixindex' => array( 'ดัชนีตามคำขึ้นต้น' ),
'Protectedpages' => array( 'หน้าที่ถูกป้องกัน' ),
diff --git a/languages/messages/MessagesTl.php b/languages/messages/MessagesTl.php
index 799dc345..04bf9d75 100644
--- a/languages/messages/MessagesTl.php
+++ b/languages/messages/MessagesTl.php
@@ -104,7 +104,7 @@ $specialPageAliases = array(
'Newpages' => array( 'Bagong_mga_pahina' ),
'PasswordReset' => array( 'Muling_Pagtatakda_ng_Hudyat' ),
'PermanentLink' => array( 'Pamalagiang_Kawing' ),
- 'Popularpages' => array( 'Sikat_na_mga_pahina' ),
+
'Preferences' => array( 'Mga_nais' ),
'Prefixindex' => array( 'Talatuntunan_ng_unlapi' ),
'Protectedpages' => array( 'Mga_pahinang_nakasanggalang' ),
diff --git a/languages/messages/MessagesTr.php b/languages/messages/MessagesTr.php
index 0f61a96b..df8b19b5 100644
--- a/languages/messages/MessagesTr.php
+++ b/languages/messages/MessagesTr.php
@@ -153,7 +153,7 @@ $specialPageAliases = array(
'Newpages' => array( 'YeniSayfalar' ),
'PasswordReset' => array( 'ParolaSıfırlama' ),
'PermanentLink' => array( 'KalıcıBağ' ),
- 'Popularpages' => array( 'PopülerSayfalar' ),
+
'Preferences' => array( 'Tercihler', 'Ayarlar' ),
'Prefixindex' => array( 'ÖnekDizini' ),
'Protectedpages' => array( 'KorunanSayfalar' ),
diff --git a/languages/messages/MessagesTt_cyrl.php b/languages/messages/MessagesTt_cyrl.php
index a9dbf3a9..1dd06096 100644
--- a/languages/messages/MessagesTt_cyrl.php
+++ b/languages/messages/MessagesTt_cyrl.php
@@ -145,7 +145,7 @@ $specialPageAliases = array(
'Mytalk' => array( 'Бәхәсем' ),
'Newimages' => array( 'Яңа_файл' ),
'Newpages' => array( 'Яңа_бит' ),
- 'Popularpages' => array( 'Популяр_битләр' ),
+
'Preferences' => array( 'Көйләнмәләр' ),
'Protectedpages' => array( 'Якланган_битләр' ),
'Protectedtitles' => array( 'Якланган_башлыклар' ),
diff --git a/languages/messages/MessagesUk.php b/languages/messages/MessagesUk.php
index 2caaefaa..173924e7 100644
--- a/languages/messages/MessagesUk.php
+++ b/languages/messages/MessagesUk.php
@@ -176,7 +176,7 @@ $specialPageAliases = array(
'Newpages' => array( 'Нові_сторінки' ),
'PasswordReset' => array( 'Скинути_пароль' ),
'PermanentLink' => array( 'Постійне_посилання' ),
- 'Popularpages' => array( 'Популярні_сторінки' ),
+
'Preferences' => array( 'Налаштування' ),
'Prefixindex' => array( 'Покажчик_за_початком_назви' ),
'Protectedpages' => array( 'Захищені_сторінки' ),
diff --git a/languages/messages/MessagesUr.php b/languages/messages/MessagesUr.php
index 81a6d2f0..2e323841 100644
--- a/languages/messages/MessagesUr.php
+++ b/languages/messages/MessagesUr.php
@@ -104,7 +104,7 @@ $specialPageAliases = array(
'Newimages' => array( 'جدید_املاف', 'جدید_تصاویر' ),
'Newpages' => array( 'جدید_صفحات' ),
'PermanentLink' => array( 'مستقل_ربط' ),
- 'Popularpages' => array( 'مقبول_صفحات' ),
+
'Preferences' => array( 'ترجیحات' ),
'Prefixindex' => array( 'اشاریہ_سابقہ' ),
'Protectedpages' => array( 'محفوظ_صفحات' ),
diff --git a/languages/messages/MessagesVec.php b/languages/messages/MessagesVec.php
index 9242d839..23eadc6a 100644
--- a/languages/messages/MessagesVec.php
+++ b/languages/messages/MessagesVec.php
@@ -117,7 +117,7 @@ $specialPageAliases = array(
'Newpages' => array( 'PagineNove' ),
'PasswordReset' => array( 'ReinpostaPassword' ),
'PermanentLink' => array( 'LinkParmanente' ),
- 'Popularpages' => array( 'PaginePiassèVisità' ),
+
'Preferences' => array( 'Preferense' ),
'Prefixindex' => array( 'Prefissi' ),
'Protectedpages' => array( 'PagineProtete' ),
diff --git a/languages/messages/MessagesVi.php b/languages/messages/MessagesVi.php
index 2724a60a..6c03a466 100644
--- a/languages/messages/MessagesVi.php
+++ b/languages/messages/MessagesVi.php
@@ -125,7 +125,7 @@ $specialPageAliases = array(
'PageLanguage' => array( 'Ngôn_ngữ_trang' ),
'PasswordReset' => array( 'Tái_tạo_mật_khẩu', 'Đặt_lại_mật_khẩu' ),
'PermanentLink' => array( 'Liên_kết_thường_trực' ),
- 'Popularpages' => array( 'Trang_phổ_biến' ),
+
'Preferences' => array( 'Tùy_chọn', 'Tuỳ_chọn' ),
'Prefixindex' => array( 'Tiền_tố' ),
'Protectedpages' => array( 'Trang_khóa', 'Trang_khoá' ),
diff --git a/languages/messages/MessagesYi.php b/languages/messages/MessagesYi.php
index ed61df43..69366567 100644
--- a/languages/messages/MessagesYi.php
+++ b/languages/messages/MessagesYi.php
@@ -110,7 +110,7 @@ $specialPageAliases = array(
'Myuploads' => array( 'מיינע_ארויפלאדונגען' ),
'Newimages' => array( 'נייע_בילדער' ),
'Newpages' => array( 'נייע_בלעטער' ),
- 'Popularpages' => array( 'פאפולערע_בלעטער' ),
+
'Preferences' => array( 'פרעפערענצן' ),
'Prefixindex' => array( 'בלעטער_וואס_הייבן_אן_מיט' ),
'Protectedpages' => array( 'געשיצטע_בלעטער' ),
diff --git a/languages/messages/MessagesYue.php b/languages/messages/MessagesYue.php
index dcbc3e1f..106a1469 100644
--- a/languages/messages/MessagesYue.php
+++ b/languages/messages/MessagesYue.php
@@ -151,7 +151,7 @@ $specialPageAliases = array(
'Newpages' => array( '新版' ),
'PasswordReset' => array( '重設密碼' ),
'PermanentLink' => array( '永久鏈' ),
- 'Popularpages' => array( '最歡迎頁' ),
+
'Preferences' => array( '喜好設定' ),
'Prefixindex' => array( '全部頁嘅前綴' ),
'Protectedpages' => array( '保護頁' ),
diff --git a/languages/messages/MessagesZh.php b/languages/messages/MessagesZh.php
index 8ee87f07..d6102683 100644
--- a/languages/messages/MessagesZh.php
+++ b/languages/messages/MessagesZh.php
@@ -144,7 +144,7 @@ $specialPageAliases = array(
'Newimages' => array( '新建文件', '新建檔案' ),
'Newpages' => array( '最新页面', '最新頁面' ),
'PasswordReset' => array( '重置密码', '重設密碼' ),
- 'Popularpages' => array( '热点页面', '熱點頁面' ),
+
'Preferences' => array( '参数设置', '偏好設定', '參數設置' ),
'Prefixindex' => array( '前缀索引', '前綴索引', '字首索引' ),
'Protectedpages' => array( '已保护页面', '已保護頁面' ),
diff --git a/languages/messages/MessagesZh_hans.php b/languages/messages/MessagesZh_hans.php
index 84d43734..57c9a614 100644
--- a/languages/messages/MessagesZh_hans.php
+++ b/languages/messages/MessagesZh_hans.php
@@ -199,7 +199,6 @@ $specialPageAliases = array(
'PageLanguage' => array( '页面语言' ),
'PasswordReset' => array( '重设密码' ),
'PermanentLink' => array( '固定链接', '永久链接' ),
- 'Popularpages' => array( '热点页面' ),
'Preferences' => array( '参数设置', '设置' ),
'Prefixindex' => array( '前缀索引' ),
'Protectedpages' => array( '已保护页面' ),
diff --git a/languages/messages/MessagesZh_hant.php b/languages/messages/MessagesZh_hant.php
index 6e5dea11..1f6bcfaa 100644
--- a/languages/messages/MessagesZh_hant.php
+++ b/languages/messages/MessagesZh_hant.php
@@ -183,7 +183,6 @@ $specialPageAliases = array(
'PageLanguage' => array( '頁面語言' ),
'PasswordReset' => array( '重設密碼' ),
'PermanentLink' => array( '靜態連結', '永久連結' ),
- 'Popularpages' => array( '熱門頁面', '熱點頁面' ),
'Preferences' => array( '偏好設定' ),
'Prefixindex' => array( '字首索引', '前綴索引' ),
'Protectedpages' => array( '受保護頁面', '已保護頁面' ),
diff --git a/maintenance/Maintenance.php b/maintenance/Maintenance.php
index 923c5b41..5dafdfc0 100644
--- a/maintenance/Maintenance.php
+++ b/maintenance/Maintenance.php
@@ -1097,7 +1097,7 @@ abstract class Maintenance {
*/
private function lockSearchindex( $db ) {
$write = array( 'searchindex' );
- $read = array( 'page', 'revision', 'text', 'interwiki', 'l10n_cache', 'user' );
+ $read = array( 'page', 'revision', 'text', 'interwiki', 'l10n_cache', 'user', 'page_restrictions' );
$db->lockTables( $read, $write, __CLASS__ . '::' . __METHOD__ );
}
diff --git a/maintenance/dictionary/mediawiki.dic b/maintenance/dictionary/mediawiki.dic
index dd27c8ca..ad19a1ce 100644
--- a/maintenance/dictionary/mediawiki.dic
+++ b/maintenance/dictionary/mediawiki.dic
@@ -3158,7 +3158,6 @@ pnmtopng
pointsize
poolcounter
popts
-popularpages
portlet
portlets
posplus
diff --git a/resources/Resources.php b/resources/Resources.php
index 2c0ca9d9..feda8a53 100644
--- a/resources/Resources.php
+++ b/resources/Resources.php
@@ -1202,6 +1202,7 @@ return array(
'jquery.textSelection',
'mediawiki.jqueryMsg',
'mediawiki.confirmCloseWindow',
+ 'user.options',
),
'messages' => array(
'editwarning-warning',
@@ -1483,6 +1484,7 @@ return array(
'mediawiki.Title',
'mediawiki.util',
'mediawiki.confirmCloseWindow',
+ 'user.options',
),
),
'mediawiki.special.userlogin.common.styles' => array(
diff --git a/resources/assets/file-type-icons/fileicon-djvu.xcf b/resources/assets/file-type-icons/fileicon-djvu.xcf
new file mode 100644
index 00000000..8043dcdb
--- /dev/null
+++ b/resources/assets/file-type-icons/fileicon-djvu.xcf
Binary files differ
diff --git a/resources/assets/file-type-icons/fileicon-ogg.xcf b/resources/assets/file-type-icons/fileicon-ogg.xcf
new file mode 100644
index 00000000..a91024bf
--- /dev/null
+++ b/resources/assets/file-type-icons/fileicon-ogg.xcf
Binary files differ
diff --git a/tests/parser/preprocess/All_system_messages.expected b/tests/parser/preprocess/All_system_messages.expected
index 2ee805e0..3665e3c1 100644
--- a/tests/parser/preprocess/All_system_messages.expected
+++ b/tests/parser/preprocess/All_system_messages.expected
@@ -3193,13 +3193,6 @@ About
&lt;/td&gt;&lt;td&gt;
<template lineStart="1"><title>int:Nstab-wp</title></template>
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nviews&amp;action=edit nviews]&lt;br&gt;
-[[MediaWiki_talk:Nviews|Talk]]
-&lt;/td&gt;&lt;td&gt;
-$1 views
-&lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nviews</title></template>
-&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ok&amp;action=edit ok]&lt;br&gt;
[[MediaWiki_talk:Ok|Talk]]
&lt;/td&gt;&lt;td&gt;
@@ -3319,13 +3312,6 @@ Personal tools
&lt;/td&gt;&lt;td&gt;
<template lineStart="1"><title>int:Personaltools</title></template>
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Popularpages&amp;action=edit popularpages]&lt;br&gt;
-[[MediaWiki_talk:Popularpages|Talk]]
-&lt;/td&gt;&lt;td&gt;
-Popular pages
-&lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Popularpages</title></template>
-&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Portal&amp;action=edit portal]&lt;br&gt;
[[MediaWiki_talk:Portal|Talk]]
&lt;/td&gt;&lt;td&gt;
diff --git a/tests/parser/preprocess/All_system_messages.txt b/tests/parser/preprocess/All_system_messages.txt
index 4a30f56f..c619df7b 100644
--- a/tests/parser/preprocess/All_system_messages.txt
+++ b/tests/parser/preprocess/All_system_messages.txt
@@ -3193,13 +3193,6 @@ About
</td><td>
{{int:Nstab-wp}}
</td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nviews&action=edit nviews]<br>
-[[MediaWiki_talk:Nviews|Talk]]
-</td><td>
-$1 views
-</td><td>
-{{int:Nviews}}
-</td></tr><tr><td>
[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ok&action=edit ok]<br>
[[MediaWiki_talk:Ok|Talk]]
</td><td>
@@ -3319,13 +3312,6 @@ Personal tools
</td><td>
{{int:Personaltools}}
</td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Popularpages&action=edit popularpages]<br>
-[[MediaWiki_talk:Popularpages|Talk]]
-</td><td>
-Popular pages
-</td><td>
-{{int:Popularpages}}
-</td></tr><tr><td>
[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Portal&action=edit portal]<br>
[[MediaWiki_talk:Portal|Talk]]
</td><td>
diff --git a/tests/phpunit/data/media/80x60-2layers.xcf b/tests/phpunit/data/media/80x60-2layers.xcf
new file mode 100644
index 00000000..c51e980c
--- /dev/null
+++ b/tests/phpunit/data/media/80x60-2layers.xcf
Binary files differ
diff --git a/tests/phpunit/data/media/80x60-Greyscale.xcf b/tests/phpunit/data/media/80x60-Greyscale.xcf
new file mode 100644
index 00000000..84bf3e67
--- /dev/null
+++ b/tests/phpunit/data/media/80x60-Greyscale.xcf
Binary files differ
diff --git a/tests/phpunit/data/media/80x60-RGB.xcf b/tests/phpunit/data/media/80x60-RGB.xcf
new file mode 100644
index 00000000..1d58f16d
--- /dev/null
+++ b/tests/phpunit/data/media/80x60-RGB.xcf
Binary files differ
diff --git a/tests/phpunit/includes/registration/ExtensionRegistryTest.php b/tests/phpunit/includes/registration/ExtensionRegistryTest.php
index 1b24628c..d7d4f198 100644
--- a/tests/phpunit/includes/registration/ExtensionRegistryTest.php
+++ b/tests/phpunit/includes/registration/ExtensionRegistryTest.php
@@ -189,7 +189,19 @@ class ExtensionRegistryTest extends MediaWikiTestCase {
)
),
),
- )
+ ),
+ array(
+ 'False local setting should not be overridden (T100767)',
+ array(
+ 'mwtestT100767' => false,
+ ),
+ array(
+ 'mwtestT100767' => true,
+ ),
+ array(
+ 'mwtestT100767' => false,
+ ),
+ ),
);
}
}
diff --git a/thumb.php b/thumb.php
index 2ea3f076..34e27ee9 100644
--- a/thumb.php
+++ b/thumb.php
@@ -167,7 +167,7 @@ function wfStreamThumb( array $params ) {
// Check if the file is hidden
if ( $img->isDeleted( File::DELETED_FILE ) ) {
- wfThumbError( 404, "The source file '$fileName' does not exist." );
+ wfThumbErrorText( 404, "The source file '$fileName' does not exist." );
return;
}
@@ -221,10 +221,10 @@ function wfStreamThumb( array $params ) {
}
// If its not a redirect that has a target as a local file, give 404.
- wfThumbError( 404, "The source file '$fileName' does not exist." );
+ wfThumbErrorText( 404, "The source file '$fileName' does not exist." );
return;
} elseif ( $img->getPath() === false ) {
- wfThumbError( 500, "The source file '$fileName' is not locally accessible." );
+ wfThumbErrorText( 500, "The source file '$fileName' is not locally accessible." );
return;
}
@@ -286,7 +286,7 @@ function wfStreamThumb( array $params ) {
}
return;
} else {
- wfThumbError( 404, "The given path of the specified thumbnail is incorrect;
+ wfThumbErrorText( 404, "The given path of the specified thumbnail is incorrect;
expected '" . $img->getThumbRel( $thumbName ) . "' but got '" .
rawurldecode( $rel404 ) . "'." );
return;
@@ -544,14 +544,26 @@ function wfExtractThumbParams( $file, $params ) {
return null;
}
+
+/**
+ * Output a thumbnail generation error message
+ *
+ * @param int $status
+ * @param string $msg Plain text (will be html escaped)
+ * @return void
+ */
+function wfThumbErrorText( $status, $msgText ) {
+ return wfThumbError( $status, htmlspecialchars( $msgText ) );
+}
+
/**
* Output a thumbnail generation error message
*
* @param int $status
- * @param string $msg HTML
+ * @param string $msgHtml HTML
* @return void
*/
-function wfThumbError( $status, $msg ) {
+function wfThumbError( $status, $msgHtml ) {
global $wgShowHostnames;
header( 'Cache-Control: no-cache' );
@@ -583,7 +595,7 @@ function wfThumbError( $status, $msg ) {
<body>
<h1>Error generating thumbnail</h1>
<p>
-$msg
+$msgHtml
</p>
$debug
</body>
diff --git a/vendor/README.md b/vendor/README.md
new file mode 100644
index 00000000..247d4df5
--- /dev/null
+++ b/vendor/README.md
@@ -0,0 +1,28 @@
+MediaWiki-Core-Vendor
+=====================
+
+[Composer] managed libraries required or recommended for use with [MediaWiki].
+This repository is maintained for use on the Wikimedia Foundation production
+and testing clusters, but may be useful for anyone wishing to avoid directly
+managing MediaWiki dependencies with Composer.
+
+
+Usage
+-----
+
+Checkout this library into $IP/vendor using `git clone <URL>` or add the
+repository as a git submodule using `git submodule add <URL> vendor` followed
+by `git submodule update --init`.
+
+
+Adding or updating libraries
+----------------------------
+
+1. Edit the composer.json file
+2. Run `composer update` to download files and update the autoloader files.
+3. Add and commit changes as a gerrit patch.
+4. Review and merge changes.
+
+
+[Composer]: https://getcomposer.org/
+[MediaWiki]: https://www.mediawiki.org/wiki/MediaWiki
diff --git a/vendor/autoload.php b/vendor/autoload.php
index 69e72b37..9bcfa9fe 100644
--- a/vendor/autoload.php
+++ b/vendor/autoload.php
@@ -4,4 +4,4 @@
require_once __DIR__ . '/composer' . '/autoload_real.php';
-return ComposerAutoloaderInit9b10cc5cf6896d6e4a31983fc3498786::getLoader();
+return ComposerAutoloaderInit_mediawiki_vendor::getLoader();
diff --git a/vendor/composer.json b/vendor/composer.json
new file mode 100644
index 00000000..0cee8f3c
--- /dev/null
+++ b/vendor/composer.json
@@ -0,0 +1,25 @@
+{
+ "require": {
+ "cssjanus/cssjanus": "1.1.1",
+ "leafo/lessphp": "0.5.0",
+ "liuggio/statsd-php-client": "1.0.12",
+ "php": ">=5.3.3",
+ "psr/log": "1.0.0",
+ "monolog/monolog": "1.12.0",
+ "ruflin/elastica": "1.3.0.0",
+ "oojs/oojs-ui": "0.11.3",
+ "wikimedia/cdb": "1.0.1",
+ "wikimedia/composer-merge-plugin": "1.0.0",
+ "wikimedia/utfnormal": "1.0.2",
+ "zordius/lightncandy": "0.18"
+ },
+ "prefer-stable": true,
+ "config": {
+ "autoloader-suffix": "_mediawiki_vendor",
+ "classmap-authoritative": true,
+ "preferred-install": "dist",
+ "vendor-dir": ".",
+ "prepend-autoloader": false,
+ "optimize-autoloader": true
+ }
+}
diff --git a/composer.lock b/vendor/composer.lock
index be756552..e238ed8a 100644
--- a/composer.lock
+++ b/vendor/composer.lock
@@ -1,10 +1,10 @@
{
"_readme": [
"This file locks the dependencies of your project to a known state",
- "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
+ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
- "hash": "0a4e1a6fe7b47b5659f5ebe278ab2f42",
+ "hash": "99d794be1df1caf0b238fd68d2a37058",
"packages": [
{
"name": "cssjanus/cssjanus",
@@ -132,6 +132,78 @@
"time": "2014-09-17 21:37:49"
},
{
+ "name": "monolog/monolog",
+ "version": "1.12.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Seldaek/monolog.git",
+ "reference": "1fbe8c2641f2b163addf49cc5e18f144bec6b19f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1fbe8c2641f2b163addf49cc5e18f144bec6b19f",
+ "reference": "1fbe8c2641f2b163addf49cc5e18f144bec6b19f",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0",
+ "psr/log": "~1.0"
+ },
+ "provide": {
+ "psr/log-implementation": "1.0.0"
+ },
+ "require-dev": {
+ "aws/aws-sdk-php": "~2.4, >2.4.8",
+ "doctrine/couchdb": "~1.0@dev",
+ "graylog2/gelf-php": "~1.0",
+ "phpunit/phpunit": "~4.0",
+ "raven/raven": "~0.5",
+ "ruflin/elastica": "0.90.*",
+ "videlalvaro/php-amqplib": "~2.4"
+ },
+ "suggest": {
+ "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
+ "doctrine/couchdb": "Allow sending log messages to a CouchDB server",
+ "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
+ "ext-mongo": "Allow sending log messages to a MongoDB server",
+ "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
+ "raven/raven": "Allow sending log messages to a Sentry server",
+ "rollbar/rollbar": "Allow sending log messages to Rollbar",
+ "ruflin/elastica": "Allow sending log messages to an Elastic Search server",
+ "videlalvaro/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.12.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Monolog\\": "src/Monolog"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Jordi Boggiano",
+ "email": "j.boggiano@seld.be",
+ "homepage": "http://seld.be"
+ }
+ ],
+ "description": "Sends your logs to files, sockets, inboxes, databases and various web services",
+ "homepage": "http://github.com/Seldaek/monolog",
+ "keywords": [
+ "log",
+ "logging",
+ "psr-3"
+ ],
+ "time": "2014-12-29 21:29:35"
+ },
+ {
"name": "oojs/oojs-ui",
"version": "v0.11.3",
"source": {
@@ -206,6 +278,65 @@
"time": "2012-12-21 11:40:51"
},
{
+ "name": "ruflin/elastica",
+ "version": "v1.3.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/ruflin/Elastica.git",
+ "reference": "92155a36c94ebe15b09661ae804acbe4bdd4ad6b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/ruflin/Elastica/zipball/92155a36c94ebe15b09661ae804acbe4bdd4ad6b",
+ "reference": "92155a36c94ebe15b09661ae804acbe4bdd4ad6b",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "require-dev": {
+ "munkie/elasticsearch-thrift-php": "1.4.*",
+ "phpunit/phpunit": "4.1.*",
+ "psr/log": "~1.0",
+ "satooshi/php-coveralls": "dev-master"
+ },
+ "suggest": {
+ "guzzlehttp/guzzle": "Allow using guzzle 4.x as the http transport (requires php 5.4)",
+ "monolog/monolog": "Logging request",
+ "munkie/elasticsearch-thrift-php": "Allow using thrift transport",
+ "psr/log": "for logging"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.2.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-0": {
+ "Elastica": "lib/",
+ "Elastica\\Test": "test/lib/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "Apache 2.0"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Ruflin",
+ "homepage": "http://ruflin.com/"
+ }
+ ],
+ "description": "Elasticsearch Client",
+ "homepage": "http://elastica.io/",
+ "keywords": [
+ "client",
+ "search"
+ ],
+ "time": "2014-07-27 13:45:09"
+ },
+ {
"name": "wikimedia/cdb",
"version": "1.0.1",
"source": {
@@ -381,14 +512,13 @@
"time": "2015-01-01 04:37:19"
}
],
- "packages-dev": null,
+ "packages-dev": [],
"aliases": [],
"minimum-stability": "stable",
"stability-flags": [],
- "prefer-stable": false,
+ "prefer-stable": true,
"prefer-lowest": false,
"platform": {
- "ext-iconv": "*",
"php": ">=5.3.3"
},
"platform-dev": []
diff --git a/vendor/composer/ClassLoader.php b/vendor/composer/ClassLoader.php
index 5e1469e8..4e05d3b1 100644
--- a/vendor/composer/ClassLoader.php
+++ b/vendor/composer/ClassLoader.php
@@ -351,7 +351,7 @@ class ClassLoader
foreach ($this->prefixLengthsPsr4[$first] as $prefix => $length) {
if (0 === strpos($class, $prefix)) {
foreach ($this->prefixDirsPsr4[$prefix] as $dir) {
- if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
+ if (is_file($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
return $file;
}
}
@@ -361,7 +361,7 @@ class ClassLoader
// PSR-4 fallback dirs
foreach ($this->fallbackDirsPsr4 as $dir) {
- if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
+ if (is_file($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
return $file;
}
}
@@ -380,7 +380,7 @@ class ClassLoader
foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
if (0 === strpos($class, $prefix)) {
foreach ($dirs as $dir) {
- if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
+ if (is_file($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
return $file;
}
}
@@ -390,7 +390,7 @@ class ClassLoader
// PSR-0 fallback dirs
foreach ($this->fallbackDirsPsr0 as $dir) {
- if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
+ if (is_file($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
return $file;
}
}
diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php
index 79053ea1..7455d6e6 100644
--- a/vendor/composer/autoload_classmap.php
+++ b/vendor/composer/autoload_classmap.php
@@ -3,7 +3,7 @@
// autoload_classmap.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
-$baseDir = dirname($vendorDir);
+$baseDir = $vendorDir;
return array(
'CSSJanus' => $vendorDir . '/cssjanus/cssjanus/src/CSSJanus.php',
@@ -16,7 +16,183 @@ return array(
'Cdb\\Writer' => $vendorDir . '/wikimedia/cdb/src/Writer.php',
'Cdb\\Writer\\DBA' => $vendorDir . '/wikimedia/cdb/src/Writer/DBA.php',
'Cdb\\Writer\\PHP' => $vendorDir . '/wikimedia/cdb/src/Writer/PHP.php',
- 'ComposerHookHandler' => $baseDir . '/includes/composer/ComposerHookHandler.php',
+ 'Elastica\\AbstractUpdateAction' => $vendorDir . '/ruflin/elastica/lib/Elastica/AbstractUpdateAction.php',
+ 'Elastica\\Aggregation\\AbstractAggregation' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/AbstractAggregation.php',
+ 'Elastica\\Aggregation\\AbstractSimpleAggregation' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/AbstractSimpleAggregation.php',
+ 'Elastica\\Aggregation\\Avg' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/Avg.php',
+ 'Elastica\\Aggregation\\Cardinality' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/Cardinality.php',
+ 'Elastica\\Aggregation\\DateHistogram' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/DateHistogram.php',
+ 'Elastica\\Aggregation\\DateRange' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/DateRange.php',
+ 'Elastica\\Aggregation\\ExtendedStats' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/ExtendedStats.php',
+ 'Elastica\\Aggregation\\Filter' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/Filter.php',
+ 'Elastica\\Aggregation\\GeoDistance' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/GeoDistance.php',
+ 'Elastica\\Aggregation\\GeohashGrid' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/GeohashGrid.php',
+ 'Elastica\\Aggregation\\GlobalAggregation' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/GlobalAggregation.php',
+ 'Elastica\\Aggregation\\Histogram' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/Histogram.php',
+ 'Elastica\\Aggregation\\IpRange' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/IpRange.php',
+ 'Elastica\\Aggregation\\Max' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/Max.php',
+ 'Elastica\\Aggregation\\Min' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/Min.php',
+ 'Elastica\\Aggregation\\Missing' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/Missing.php',
+ 'Elastica\\Aggregation\\Nested' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/Nested.php',
+ 'Elastica\\Aggregation\\Range' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/Range.php',
+ 'Elastica\\Aggregation\\ReverseNested' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/ReverseNested.php',
+ 'Elastica\\Aggregation\\Stats' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/Stats.php',
+ 'Elastica\\Aggregation\\Sum' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/Sum.php',
+ 'Elastica\\Aggregation\\Terms' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/Terms.php',
+ 'Elastica\\Aggregation\\ValueCount' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/ValueCount.php',
+ 'Elastica\\Bulk' => $vendorDir . '/ruflin/elastica/lib/Elastica/Bulk.php',
+ 'Elastica\\Bulk\\Action' => $vendorDir . '/ruflin/elastica/lib/Elastica/Bulk/Action.php',
+ 'Elastica\\Bulk\\Action\\AbstractDocument' => $vendorDir . '/ruflin/elastica/lib/Elastica/Bulk/Action/AbstractDocument.php',
+ 'Elastica\\Bulk\\Action\\CreateDocument' => $vendorDir . '/ruflin/elastica/lib/Elastica/Bulk/Action/CreateDocument.php',
+ 'Elastica\\Bulk\\Action\\DeleteDocument' => $vendorDir . '/ruflin/elastica/lib/Elastica/Bulk/Action/DeleteDocument.php',
+ 'Elastica\\Bulk\\Action\\IndexDocument' => $vendorDir . '/ruflin/elastica/lib/Elastica/Bulk/Action/IndexDocument.php',
+ 'Elastica\\Bulk\\Action\\UpdateDocument' => $vendorDir . '/ruflin/elastica/lib/Elastica/Bulk/Action/UpdateDocument.php',
+ 'Elastica\\Bulk\\Response' => $vendorDir . '/ruflin/elastica/lib/Elastica/Bulk/Response.php',
+ 'Elastica\\Bulk\\ResponseSet' => $vendorDir . '/ruflin/elastica/lib/Elastica/Bulk/ResponseSet.php',
+ 'Elastica\\Client' => $vendorDir . '/ruflin/elastica/lib/Elastica/Client.php',
+ 'Elastica\\Cluster' => $vendorDir . '/ruflin/elastica/lib/Elastica/Cluster.php',
+ 'Elastica\\Cluster\\Health' => $vendorDir . '/ruflin/elastica/lib/Elastica/Cluster/Health.php',
+ 'Elastica\\Cluster\\Health\\Index' => $vendorDir . '/ruflin/elastica/lib/Elastica/Cluster/Health/Index.php',
+ 'Elastica\\Cluster\\Health\\Shard' => $vendorDir . '/ruflin/elastica/lib/Elastica/Cluster/Health/Shard.php',
+ 'Elastica\\Cluster\\Settings' => $vendorDir . '/ruflin/elastica/lib/Elastica/Cluster/Settings.php',
+ 'Elastica\\Connection' => $vendorDir . '/ruflin/elastica/lib/Elastica/Connection.php',
+ 'Elastica\\Document' => $vendorDir . '/ruflin/elastica/lib/Elastica/Document.php',
+ 'Elastica\\Exception\\BulkException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/BulkException.php',
+ 'Elastica\\Exception\\Bulk\\ResponseException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/Bulk/ResponseException.php',
+ 'Elastica\\Exception\\Bulk\\Response\\ActionException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/Bulk/Response/ActionException.php',
+ 'Elastica\\Exception\\Bulk\\UdpException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/Bulk/UdpException.php',
+ 'Elastica\\Exception\\ClientException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/ClientException.php',
+ 'Elastica\\Exception\\ConnectionException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/ConnectionException.php',
+ 'Elastica\\Exception\\Connection\\GuzzleException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/Connection/GuzzleException.php',
+ 'Elastica\\Exception\\Connection\\HttpException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/Connection/HttpException.php',
+ 'Elastica\\Exception\\Connection\\ThriftException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/Connection/ThriftException.php',
+ 'Elastica\\Exception\\ElasticsearchException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/ElasticsearchException.php',
+ 'Elastica\\Exception\\ExceptionInterface' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/ExceptionInterface.php',
+ 'Elastica\\Exception\\InvalidException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/InvalidException.php',
+ 'Elastica\\Exception\\JSONParseException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/JSONParseException.php',
+ 'Elastica\\Exception\\NotFoundException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/NotFoundException.php',
+ 'Elastica\\Exception\\NotImplementedException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/NotImplementedException.php',
+ 'Elastica\\Exception\\PartialShardFailureException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/PartialShardFailureException.php',
+ 'Elastica\\Exception\\ResponseException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/ResponseException.php',
+ 'Elastica\\Exception\\RuntimeException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/RuntimeException.php',
+ 'Elastica\\Facet\\AbstractFacet' => $vendorDir . '/ruflin/elastica/lib/Elastica/Facet/AbstractFacet.php',
+ 'Elastica\\Facet\\DateHistogram' => $vendorDir . '/ruflin/elastica/lib/Elastica/Facet/DateHistogram.php',
+ 'Elastica\\Facet\\Filter' => $vendorDir . '/ruflin/elastica/lib/Elastica/Facet/Filter.php',
+ 'Elastica\\Facet\\GeoCluster' => $vendorDir . '/ruflin/elastica/lib/Elastica/Facet/GeoCluster.php',
+ 'Elastica\\Facet\\GeoDistance' => $vendorDir . '/ruflin/elastica/lib/Elastica/Facet/GeoDistance.php',
+ 'Elastica\\Facet\\Histogram' => $vendorDir . '/ruflin/elastica/lib/Elastica/Facet/Histogram.php',
+ 'Elastica\\Facet\\Query' => $vendorDir . '/ruflin/elastica/lib/Elastica/Facet/Query.php',
+ 'Elastica\\Facet\\Range' => $vendorDir . '/ruflin/elastica/lib/Elastica/Facet/Range.php',
+ 'Elastica\\Facet\\Statistical' => $vendorDir . '/ruflin/elastica/lib/Elastica/Facet/Statistical.php',
+ 'Elastica\\Facet\\Terms' => $vendorDir . '/ruflin/elastica/lib/Elastica/Facet/Terms.php',
+ 'Elastica\\Facet\\TermsStats' => $vendorDir . '/ruflin/elastica/lib/Elastica/Facet/TermsStats.php',
+ 'Elastica\\Filter\\AbstractFilter' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/AbstractFilter.php',
+ 'Elastica\\Filter\\AbstractGeoDistance' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/AbstractGeoDistance.php',
+ 'Elastica\\Filter\\AbstractGeoShape' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/AbstractGeoShape.php',
+ 'Elastica\\Filter\\AbstractMulti' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/AbstractMulti.php',
+ 'Elastica\\Filter\\Bool' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/Bool.php',
+ 'Elastica\\Filter\\BoolAnd' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/BoolAnd.php',
+ 'Elastica\\Filter\\BoolNot' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/BoolNot.php',
+ 'Elastica\\Filter\\BoolOr' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/BoolOr.php',
+ 'Elastica\\Filter\\Exists' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/Exists.php',
+ 'Elastica\\Filter\\GeoBoundingBox' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/GeoBoundingBox.php',
+ 'Elastica\\Filter\\GeoDistance' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/GeoDistance.php',
+ 'Elastica\\Filter\\GeoDistanceRange' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/GeoDistanceRange.php',
+ 'Elastica\\Filter\\GeoPolygon' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/GeoPolygon.php',
+ 'Elastica\\Filter\\GeoShapePreIndexed' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/GeoShapePreIndexed.php',
+ 'Elastica\\Filter\\GeoShapeProvided' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/GeoShapeProvided.php',
+ 'Elastica\\Filter\\GeohashCell' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/GeohashCell.php',
+ 'Elastica\\Filter\\HasChild' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/HasChild.php',
+ 'Elastica\\Filter\\HasParent' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/HasParent.php',
+ 'Elastica\\Filter\\Ids' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/Ids.php',
+ 'Elastica\\Filter\\Indices' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/Indices.php',
+ 'Elastica\\Filter\\Limit' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/Limit.php',
+ 'Elastica\\Filter\\MatchAll' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/MatchAll.php',
+ 'Elastica\\Filter\\Missing' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/Missing.php',
+ 'Elastica\\Filter\\Nested' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/Nested.php',
+ 'Elastica\\Filter\\NumericRange' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/NumericRange.php',
+ 'Elastica\\Filter\\Prefix' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/Prefix.php',
+ 'Elastica\\Filter\\Query' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/Query.php',
+ 'Elastica\\Filter\\Range' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/Range.php',
+ 'Elastica\\Filter\\Regexp' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/Regexp.php',
+ 'Elastica\\Filter\\Script' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/Script.php',
+ 'Elastica\\Filter\\Term' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/Term.php',
+ 'Elastica\\Filter\\Terms' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/Terms.php',
+ 'Elastica\\Filter\\Type' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/Type.php',
+ 'Elastica\\Index' => $vendorDir . '/ruflin/elastica/lib/Elastica/Index.php',
+ 'Elastica\\Index\\Settings' => $vendorDir . '/ruflin/elastica/lib/Elastica/Index/Settings.php',
+ 'Elastica\\Index\\Stats' => $vendorDir . '/ruflin/elastica/lib/Elastica/Index/Stats.php',
+ 'Elastica\\Index\\Status' => $vendorDir . '/ruflin/elastica/lib/Elastica/Index/Status.php',
+ 'Elastica\\JSON' => $vendorDir . '/ruflin/elastica/lib/Elastica/JSON.php',
+ 'Elastica\\Log' => $vendorDir . '/ruflin/elastica/lib/Elastica/Log.php',
+ 'Elastica\\Multi\\ResultSet' => $vendorDir . '/ruflin/elastica/lib/Elastica/Multi/ResultSet.php',
+ 'Elastica\\Multi\\Search' => $vendorDir . '/ruflin/elastica/lib/Elastica/Multi/Search.php',
+ 'Elastica\\Node' => $vendorDir . '/ruflin/elastica/lib/Elastica/Node.php',
+ 'Elastica\\Node\\Info' => $vendorDir . '/ruflin/elastica/lib/Elastica/Node/Info.php',
+ 'Elastica\\Node\\Stats' => $vendorDir . '/ruflin/elastica/lib/Elastica/Node/Stats.php',
+ 'Elastica\\Param' => $vendorDir . '/ruflin/elastica/lib/Elastica/Param.php',
+ 'Elastica\\Percolator' => $vendorDir . '/ruflin/elastica/lib/Elastica/Percolator.php',
+ 'Elastica\\Query' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query.php',
+ 'Elastica\\Query\\AbstractQuery' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/AbstractQuery.php',
+ 'Elastica\\Query\\Bool' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/Bool.php',
+ 'Elastica\\Query\\Boosting' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/Boosting.php',
+ 'Elastica\\Query\\Builder' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/Builder.php',
+ 'Elastica\\Query\\Common' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/Common.php',
+ 'Elastica\\Query\\ConstantScore' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/ConstantScore.php',
+ 'Elastica\\Query\\DisMax' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/DisMax.php',
+ 'Elastica\\Query\\Filtered' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/Filtered.php',
+ 'Elastica\\Query\\FunctionScore' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/FunctionScore.php',
+ 'Elastica\\Query\\Fuzzy' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/Fuzzy.php',
+ 'Elastica\\Query\\FuzzyLikeThis' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/FuzzyLikeThis.php',
+ 'Elastica\\Query\\HasChild' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/HasChild.php',
+ 'Elastica\\Query\\HasParent' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/HasParent.php',
+ 'Elastica\\Query\\Ids' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/Ids.php',
+ 'Elastica\\Query\\Match' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/Match.php',
+ 'Elastica\\Query\\MatchAll' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/MatchAll.php',
+ 'Elastica\\Query\\MoreLikeThis' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/MoreLikeThis.php',
+ 'Elastica\\Query\\MultiMatch' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/MultiMatch.php',
+ 'Elastica\\Query\\Nested' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/Nested.php',
+ 'Elastica\\Query\\Prefix' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/Prefix.php',
+ 'Elastica\\Query\\QueryString' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/QueryString.php',
+ 'Elastica\\Query\\Range' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/Range.php',
+ 'Elastica\\Query\\Simple' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/Simple.php',
+ 'Elastica\\Query\\SimpleQueryString' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/SimpleQueryString.php',
+ 'Elastica\\Query\\Term' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/Term.php',
+ 'Elastica\\Query\\Terms' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/Terms.php',
+ 'Elastica\\Query\\TopChildren' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/TopChildren.php',
+ 'Elastica\\Query\\Wildcard' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/Wildcard.php',
+ 'Elastica\\Request' => $vendorDir . '/ruflin/elastica/lib/Elastica/Request.php',
+ 'Elastica\\Rescore\\AbstractRescore' => $vendorDir . '/ruflin/elastica/lib/Elastica/Rescore/AbstractRescore.php',
+ 'Elastica\\Rescore\\Query' => $vendorDir . '/ruflin/elastica/lib/Elastica/Rescore/Query.php',
+ 'Elastica\\Response' => $vendorDir . '/ruflin/elastica/lib/Elastica/Response.php',
+ 'Elastica\\Result' => $vendorDir . '/ruflin/elastica/lib/Elastica/Result.php',
+ 'Elastica\\ResultSet' => $vendorDir . '/ruflin/elastica/lib/Elastica/ResultSet.php',
+ 'Elastica\\ScanAndScroll' => $vendorDir . '/ruflin/elastica/lib/Elastica/ScanAndScroll.php',
+ 'Elastica\\Script' => $vendorDir . '/ruflin/elastica/lib/Elastica/Script.php',
+ 'Elastica\\ScriptFields' => $vendorDir . '/ruflin/elastica/lib/Elastica/ScriptFields.php',
+ 'Elastica\\Search' => $vendorDir . '/ruflin/elastica/lib/Elastica/Search.php',
+ 'Elastica\\SearchableInterface' => $vendorDir . '/ruflin/elastica/lib/Elastica/SearchableInterface.php'