Merge "Revert "selenium: add new message banner test to user spec""
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Mon, 29 Jan 2018 20:55:23 +0000 (20:55 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Mon, 29 Jan 2018 20:55:23 +0000 (20:55 +0000)
398 files changed:
.mailmap
CREDITS
RELEASE-NOTES-1.31
autoload.php
includes/DefaultSettings.php
includes/EditPage.php
includes/MediaWikiServices.php
includes/MergeHistory.php
includes/Revision.php
includes/ServiceWiring.php
includes/actions/InfoAction.php
includes/api/ApiBase.php
includes/api/ApiBlock.php
includes/api/ApiCheckToken.php
includes/api/ApiClearHasMsg.php
includes/api/ApiDelete.php
includes/api/ApiDisabled.php
includes/api/ApiEditPage.php
includes/api/ApiEmailUser.php
includes/api/ApiExpandTemplates.php
includes/api/ApiFeedContributions.php
includes/api/ApiFeedWatchlist.php
includes/api/ApiFileRevert.php
includes/api/ApiFormatBase.php
includes/api/ApiFormatFeedWrapper.php
includes/api/ApiFormatJson.php
includes/api/ApiFormatNone.php
includes/api/ApiFormatPhp.php
includes/api/ApiFormatRaw.php
includes/api/ApiFormatXml.php
includes/api/ApiHelp.php
includes/api/ApiHelpParamValueMessage.php
includes/api/ApiImageRotate.php
includes/api/ApiLogin.php
includes/api/ApiLogout.php
includes/api/ApiMain.php
includes/api/ApiMergeHistory.php
includes/api/ApiModuleManager.php
includes/api/ApiMove.php
includes/api/ApiOptions.php
includes/api/ApiPageSet.php
includes/api/ApiParamInfo.php
includes/api/ApiParse.php
includes/api/ApiPatrol.php
includes/api/ApiProtect.php
includes/api/ApiQuery.php
includes/api/ApiQueryAllCategories.php
includes/api/ApiQueryAllDeletedRevisions.php
includes/api/ApiQueryAllImages.php
includes/api/ApiQueryAllLinks.php
includes/api/ApiQueryAllMessages.php
includes/api/ApiQueryAllPages.php
includes/api/ApiQueryAllRevisions.php
includes/api/ApiQueryAllUsers.php
includes/api/ApiQueryBacklinks.php
includes/api/ApiQueryBacklinksprop.php
includes/api/ApiQueryBase.php
includes/api/ApiQueryBlocks.php
includes/api/ApiQueryCategories.php
includes/api/ApiQueryCategoryInfo.php
includes/api/ApiQueryCategoryMembers.php
includes/api/ApiQueryContributors.php
includes/api/ApiQueryDeletedRevisions.php
includes/api/ApiQueryDeletedrevs.php
includes/api/ApiQueryDisabled.php
includes/api/ApiQueryDuplicateFiles.php
includes/api/ApiQueryExtLinksUsage.php
includes/api/ApiQueryExternalLinks.php
includes/api/ApiQueryFilearchive.php
includes/api/ApiQueryGeneratorBase.php
includes/api/ApiQueryIWBacklinks.php
includes/api/ApiQueryIWLinks.php
includes/api/ApiQueryImageInfo.php
includes/api/ApiQueryImages.php
includes/api/ApiQueryInfo.php
includes/api/ApiQueryLangBacklinks.php
includes/api/ApiQueryLangLinks.php
includes/api/ApiQueryLinks.php
includes/api/ApiQueryLogEvents.php
includes/api/ApiQueryPagePropNames.php
includes/api/ApiQueryPageProps.php
includes/api/ApiQueryPagesWithProp.php
includes/api/ApiQueryProtectedTitles.php
includes/api/ApiQueryQueryPage.php
includes/api/ApiQueryRandom.php
includes/api/ApiQueryRecentChanges.php
includes/api/ApiQueryRevisions.php
includes/api/ApiQueryRevisionsBase.php
includes/api/ApiQuerySearch.php
includes/api/ApiQuerySiteinfo.php
includes/api/ApiQueryTags.php
includes/api/ApiQueryTokens.php
includes/api/ApiQueryUserContributions.php
includes/api/ApiQueryUserInfo.php
includes/api/ApiQueryUsers.php
includes/api/ApiQueryWatchlist.php
includes/api/ApiQueryWatchlistRaw.php
includes/api/ApiRevisionDelete.php
includes/api/ApiRollback.php
includes/api/ApiSerializable.php
includes/api/ApiSetNotificationTimestamp.php
includes/api/ApiSetPageLanguage.php
includes/api/ApiTokens.php
includes/api/ApiUnblock.php
includes/api/ApiUndelete.php
includes/api/ApiUpload.php
includes/api/ApiWatch.php
includes/api/i18n/fa.json
includes/context/ContextSource.php
includes/context/DerivativeContext.php
includes/context/IContextSource.php
includes/context/MutableContext.php
includes/context/RequestContext.php
includes/edit/PreparedEdit.php
includes/gallery/ImageGalleryBase.php
includes/installer/i18n/de.json
includes/installer/i18n/fa.json
includes/installer/i18n/sr-ec.json
includes/libs/XhprofData.php
includes/libs/rdbms/database/Database.php
includes/page/WikiPage.php
includes/parser/CoreParserFunctions.php
includes/parser/Parser.php
includes/skins/SkinApi.php
includes/skins/SkinApiTemplate.php
includes/specialpage/SpecialPage.php
includes/widget/DateInputWidget.php
includes/widget/DateTimeInputWidget.php
includes/widget/SelectWithInputWidget.php
includes/widget/UsersMultiselectWidget.php
languages/i18n/af.json
languages/i18n/ar.json
languages/i18n/ast.json
languages/i18n/ba.json
languages/i18n/be-tarask.json
languages/i18n/bg.json
languages/i18n/bho.json
languages/i18n/bn.json
languages/i18n/ca.json
languages/i18n/ckb.json
languages/i18n/cs.json
languages/i18n/da.json
languages/i18n/de.json
languages/i18n/el.json
languages/i18n/en.json
languages/i18n/eo.json
languages/i18n/es.json
languages/i18n/et.json
languages/i18n/eu.json
languages/i18n/fa.json
languages/i18n/fi.json
languages/i18n/fr.json
languages/i18n/gl.json
languages/i18n/he.json
languages/i18n/hi.json
languages/i18n/hr.json
languages/i18n/hu.json
languages/i18n/ia.json
languages/i18n/inh.json
languages/i18n/io.json
languages/i18n/is.json
languages/i18n/it.json
languages/i18n/ja.json
languages/i18n/ko.json
languages/i18n/lb.json
languages/i18n/lij.json
languages/i18n/lt.json
languages/i18n/lv.json
languages/i18n/mk.json
languages/i18n/mr.json
languages/i18n/mwl.json
languages/i18n/nap.json
languages/i18n/nb.json
languages/i18n/ne.json
languages/i18n/nl.json
languages/i18n/nn.json
languages/i18n/pl.json
languages/i18n/pnb.json
languages/i18n/ps.json
languages/i18n/pt-br.json
languages/i18n/pt.json
languages/i18n/qqq.json
languages/i18n/ru.json
languages/i18n/sah.json
languages/i18n/sh.json
languages/i18n/skr-arab.json
languages/i18n/sl.json
languages/i18n/sr-ec.json
languages/i18n/sr-el.json
languages/i18n/sv.json
languages/i18n/tg-cyrl.json
languages/i18n/th.json
languages/i18n/tl.json
languages/i18n/tr.json
languages/i18n/uk.json
languages/i18n/ur.json
languages/i18n/vi.json
languages/i18n/wa.json
languages/i18n/yo.json
languages/i18n/zh-hans.json
languages/i18n/zh-hant.json
maintenance/Maintenance.php
maintenance/benchmarks/Benchmarker.php
maintenance/benchmarks/README [deleted file]
maintenance/benchmarks/README.md [new file with mode: 0644]
maintenance/benchmarks/benchmarkLruHash.php
maintenance/benchmarks/benchmarkSanitizer.php [new file with mode: 0644]
resources/Resources.php
resources/src/mediawiki.action/mediawiki.action.edit.preview.js
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagMultiselectWidget.js
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.MenuSelectWidget.js
tests/common/TestSetup.php
tests/parser/ParserTestRunner.php
tests/parser/parserTests.txt
tests/phpunit/MediaWikiTestCase.php
tests/phpunit/ResourceLoaderTestCase.php
tests/phpunit/autoload.ide.php
tests/phpunit/includes/AutopromoteTest.php
tests/phpunit/includes/BlockTest.php
tests/phpunit/includes/EditPageTest.php
tests/phpunit/includes/HtmlTest.php
tests/phpunit/includes/LicensesTest.php
tests/phpunit/includes/ListToggleTest.php
tests/phpunit/includes/MWNamespaceTest.php
tests/phpunit/includes/MWTimestampTest.php
tests/phpunit/includes/MediaWikiServicesTest.php
tests/phpunit/includes/MergeHistoryTest.php
tests/phpunit/includes/MessageTest.php
tests/phpunit/includes/OutputPageTest.php
tests/phpunit/includes/PrefixSearchTest.php
tests/phpunit/includes/RevisionDbTestBase.php
tests/phpunit/includes/SampleTest.php
tests/phpunit/includes/StatusTest.php
tests/phpunit/includes/Storage/SqlBlobStoreTest.php
tests/phpunit/includes/TemplateParserTest.php
tests/phpunit/includes/TitleArrayFromResultTest.php
tests/phpunit/includes/TitleMethodsTest.php
tests/phpunit/includes/TitleTest.php
tests/phpunit/includes/WebRequestTest.php
tests/phpunit/includes/XmlTest.php
tests/phpunit/includes/actions/ActionTest.php
tests/phpunit/includes/api/ApiContinuationManagerTest.php
tests/phpunit/includes/api/ApiEditPageTest.php
tests/phpunit/includes/api/ApiLoginTest.php
tests/phpunit/includes/api/ApiMainTest.php
tests/phpunit/includes/api/ApiModuleManagerTest.php
tests/phpunit/includes/api/ApiOpenSearchTest.php
tests/phpunit/includes/api/ApiOptionsTest.php
tests/phpunit/includes/api/format/ApiFormatRawTest.php
tests/phpunit/includes/api/query/ApiQueryBasicTest.php
tests/phpunit/includes/api/query/ApiQueryContinueTestBase.php
tests/phpunit/includes/api/query/ApiQueryTest.php
tests/phpunit/includes/api/query/ApiQueryTestBase.php
tests/phpunit/includes/auth/AbstractAuthenticationProviderTest.php
tests/phpunit/includes/auth/AbstractPasswordPrimaryAuthenticationProviderTest.php
tests/phpunit/includes/auth/AuthManagerTest.php
tests/phpunit/includes/auth/AuthPluginPrimaryAuthenticationProviderTest.php
tests/phpunit/includes/auth/AuthenticationRequestTest.php
tests/phpunit/includes/auth/AuthenticationRequestTestCase.php
tests/phpunit/includes/auth/CheckBlocksSecondaryAuthenticationProviderTest.php
tests/phpunit/includes/auth/EmailNotificationSecondaryAuthenticationProviderTest.php
tests/phpunit/includes/auth/LegacyHookPreAuthenticationProviderTest.php
tests/phpunit/includes/auth/PasswordAuthenticationRequestTest.php
tests/phpunit/includes/auth/PasswordDomainAuthenticationRequestTest.php
tests/phpunit/includes/auth/TemporaryPasswordAuthenticationRequestTest.php
tests/phpunit/includes/auth/ThrottlePreAuthenticationProviderTest.php
tests/phpunit/includes/cache/LocalisationCacheTest.php
tests/phpunit/includes/changes/CategoryMembershipChangeTest.php
tests/phpunit/includes/changes/ChangesListStringOptionsFilterGroupTest.php
tests/phpunit/includes/changes/RCCacheEntryFactoryTest.php
tests/phpunit/includes/composer/ComposerVersionNormalizerTest.php
tests/phpunit/includes/config/ConfigFactoryTest.php
tests/phpunit/includes/config/GlobalVarConfigTest.php
tests/phpunit/includes/config/HashConfigTest.php
tests/phpunit/includes/config/MultiConfigTest.php
tests/phpunit/includes/content/ContentHandlerTest.php
tests/phpunit/includes/content/CssContentHandlerTest.php
tests/phpunit/includes/content/FileContentHandlerTest.php
tests/phpunit/includes/content/JavaScriptContentHandlerTest.php
tests/phpunit/includes/content/JsonContentTest.php
tests/phpunit/includes/content/TextContentHandlerTest.php
tests/phpunit/includes/content/TextContentTest.php
tests/phpunit/includes/content/WikitextContentHandlerTest.php
tests/phpunit/includes/content/WikitextContentTest.php
tests/phpunit/includes/db/DatabaseSqliteTest.php
tests/phpunit/includes/db/LBFactoryTest.php
tests/phpunit/includes/db/LoadBalancerTest.php
tests/phpunit/includes/debug/MWDebugTest.php
tests/phpunit/includes/debug/logger/monolog/KafkaHandlerTest.php
tests/phpunit/includes/diff/ArrayDiffFormatterTest.php
tests/phpunit/includes/exception/BadTitleErrorTest.php
tests/phpunit/includes/exception/ErrorPageErrorTest.php
tests/phpunit/includes/exception/MWExceptionTest.php
tests/phpunit/includes/exception/ThrottledErrorTest.php
tests/phpunit/includes/filebackend/FileBackendTest.php
tests/phpunit/includes/filebackend/SwiftFileBackendTest.php
tests/phpunit/includes/filerepo/FileBackendDBRepoWrapperTest.php
tests/phpunit/includes/filerepo/FileRepoTest.php
tests/phpunit/includes/filerepo/MigrateFileRepoLayoutTest.php
tests/phpunit/includes/filerepo/RepoGroupTest.php
tests/phpunit/includes/filerepo/file/FileTest.php
tests/phpunit/includes/filerepo/file/LocalFileTest.php
tests/phpunit/includes/htmlform/HTMLCheckMatrixTest.php
tests/phpunit/includes/interwiki/ClassicInterwikiLookupTest.php
tests/phpunit/includes/interwiki/InterwikiTest.php
tests/phpunit/includes/jobqueue/JobQueueMemoryTest.php
tests/phpunit/includes/jobqueue/JobQueueTest.php
tests/phpunit/includes/jobqueue/JobTest.php
tests/phpunit/includes/json/FormatJsonTest.php
tests/phpunit/includes/libs/DeferredStringifierTest.php
tests/phpunit/includes/libs/MemoizedCallableTest.php
tests/phpunit/includes/libs/ObjectFactoryTest.php
tests/phpunit/includes/libs/XhprofTest.php
tests/phpunit/includes/libs/objectcache/WANObjectCacheTest.php
tests/phpunit/includes/libs/rdbms/database/DatabaseMysqlBaseTest.php
tests/phpunit/includes/logging/LogFormatterTest.php
tests/phpunit/includes/logging/NewUsersLogFormatterTest.php
tests/phpunit/includes/logging/PageLangLogFormatterTest.php
tests/phpunit/includes/mail/MailAddressTest.php
tests/phpunit/includes/media/BitmapScalingTest.php
tests/phpunit/includes/media/FormatMetadataTest.php
tests/phpunit/includes/media/PNGMetadataExtractorTest.php
tests/phpunit/includes/objectcache/MemcachedBagOStuffTest.php
tests/phpunit/includes/objectcache/ObjectCacheTest.php
tests/phpunit/includes/objectcache/RESTBagOStuffTest.php
tests/phpunit/includes/objectcache/RedisBagOStuffTest.php
tests/phpunit/includes/page/WikiPageContentHandlerDbTest.php
tests/phpunit/includes/page/WikiPageDbTestBase.php
tests/phpunit/includes/pager/RangeChronologicalPagerTest.php
tests/phpunit/includes/pager/ReverseChronologicalPagerTest.php
tests/phpunit/includes/parser/PreprocessorTest.php
tests/phpunit/includes/password/BcryptPasswordTest.php
tests/phpunit/includes/password/EncryptedPasswordTest.php
tests/phpunit/includes/password/LayeredParameterizedPasswordTest.php
tests/phpunit/includes/password/MWOldPasswordTest.php
tests/phpunit/includes/password/MWSaltedPasswordTest.php
tests/phpunit/includes/password/PasswordFactoryTest.php
tests/phpunit/includes/password/PasswordTest.php
tests/phpunit/includes/password/Pbkdf2PasswordFallbackTest.php
tests/phpunit/includes/password/Pbkdf2PasswordTest.php
tests/phpunit/includes/poolcounter/PoolCounterTest.php
tests/phpunit/includes/rcfeed/RCFeedIntegrationTest.php
tests/phpunit/includes/registration/ExtensionProcessorTest.php
tests/phpunit/includes/registration/ExtensionRegistryTest.php
tests/phpunit/includes/registration/VersionCheckerTest.php
tests/phpunit/includes/resourceloader/MessageBlobStoreTest.php
tests/phpunit/includes/resourceloader/ResourceLoaderImageModuleTest.php
tests/phpunit/includes/resourceloader/ResourceLoaderModuleTest.php
tests/phpunit/includes/resourceloader/ResourceLoaderOOUIImageModuleTest.php
tests/phpunit/includes/resourceloader/ResourceLoaderStartUpModuleTest.php
tests/phpunit/includes/resourceloader/ResourceLoaderTest.php
tests/phpunit/includes/resourceloader/ResourceLoaderWikiModuleTest.php
tests/phpunit/includes/search/SearchEnginePrefixTest.php
tests/phpunit/includes/search/SearchEngineTest.php
tests/phpunit/includes/services/ServiceContainerTest.php
tests/phpunit/includes/session/BotPasswordSessionProviderTest.php
tests/phpunit/includes/session/CookieSessionProviderTest.php
tests/phpunit/includes/session/ImmutableSessionProviderWithCookieTest.php
tests/phpunit/includes/session/MetadataMergeExceptionTest.php
tests/phpunit/includes/session/PHPSessionHandlerTest.php
tests/phpunit/includes/session/SessionBackendTest.php
tests/phpunit/includes/session/SessionManagerTest.php
tests/phpunit/includes/session/UserInfoTest.php
tests/phpunit/includes/site/CachingSiteStoreTest.php
tests/phpunit/includes/site/DBSiteStoreTest.php
tests/phpunit/includes/site/FileBasedSiteLookupTest.php
tests/phpunit/includes/site/SiteExporterTest.php
tests/phpunit/includes/site/SiteImporterTest.php
tests/phpunit/includes/site/SiteTest.php
tests/phpunit/includes/site/SitesCacheFileBuilderTest.php
tests/phpunit/includes/skins/SkinFactoryTest.php
tests/phpunit/includes/skins/SkinTemplateTest.php
tests/phpunit/includes/specialpage/SpecialPageFactoryTest.php
tests/phpunit/includes/specialpage/SpecialPageTest.php
tests/phpunit/includes/specials/QueryAllSpecialPagesTest.php
tests/phpunit/includes/specials/SpecialEditWatchlistTest.php
tests/phpunit/includes/specials/SpecialPreferencesTest.php
tests/phpunit/includes/specials/SpecialSearchTest.php
tests/phpunit/includes/specials/SpecialUncategorizedcategoriesTest.php
tests/phpunit/includes/specials/SpecialWatchlistTest.php
tests/phpunit/includes/title/ForeignTitleTest.php
tests/phpunit/includes/title/MediaWikiTitleCodecTest.php
tests/phpunit/includes/title/SubpageImportTitleFactoryTest.php
tests/phpunit/includes/title/TitleValueTest.php
tests/phpunit/includes/upload/UploadStashTest.php
tests/phpunit/includes/user/BotPasswordTest.php
tests/phpunit/includes/user/CentralIdLookupTest.php
tests/phpunit/includes/user/UserArrayFromResultTest.php
tests/phpunit/includes/user/UserTest.php
tests/phpunit/includes/utils/BatchRowUpdateTest.php
tests/phpunit/includes/utils/MWRestrictionsTest.php
tests/phpunit/includes/utils/UIDGeneratorTest.php
tests/phpunit/includes/watcheditem/WatchedItemStoreUnitTest.php
tests/phpunit/maintenance/backupTextPassTest.php
tests/phpunit/structure/ApiStructureTest.php
tests/phpunit/suites/UploadFromUrlTestSuite.php
tests/phpunit/tests/MediaWikiTestCaseTest.php
thumb.php

index c101be3..c2337c8 100644 (file)
--- a/.mailmap
+++ b/.mailmap
@@ -167,6 +167,7 @@ Gabriel Wicke <gwicke@wikimedia.org>
 Gabriel Wicke <gwicke@wikimedia.org> <gwicke@users.mediawiki.org>
 Gabriel Wicke <gwicke@wikimedia.org> <wicke@wikidev.net>
 Geoffrey Mon <geofbot@gmail.com>
+Geoffrey Trang <geoffreytrang@gmail.com>
 Gergő Tisza <gtisza@wikimedia.org>
 Gergő Tisza <gtisza@wikimedia.org> <tgr.huwiki@gmail.com>
 Giftpflanze <gifti@tools.wmflabs.org>
@@ -278,6 +279,7 @@ Matt Johnston <mattj@emazestudios.com> <mattj@users.mediawiki.org>
 Matthew Britton <hugglegurch@gmail.com> <gurch@users.mediawiki.org>
 Matthew Flaschen <mflaschen@wikimedia.org>
 Matthew Walker <mwalker@wikimedia.org>
+MatthiasDD <Matthias_K2@gmx.de>
 Matthias Mullie <git@mullie.eu>
 Matthias Mullie <git@mullie.eu> <mmullie@wikimedia.org>
 Matěj Grabovský <mgrabovsky@yahoo.com> <mgrabovsky@users.mediawiki.org>
@@ -330,6 +332,7 @@ Philip Tzou <philip.npc@gmail.com> <philip@users.mediawiki.org>
 physikerwelt (Moritz Schubotz) <wiki@physikerwelt.de>
 PiRSquared17 <pirsquared@tools.wmflabs.org>
 Platonides <platonides@gmail.com> <platonides@users.mediawiki.org>
+pppery <mapreader@olum.org>
 PranavK <pranavmk98@gmail.com>
 Prateek Saxena <psaxena@wikimedia.org>
 Prateek Saxena <psaxena@wikimedia.org> <prtksxna@gmail.com>
@@ -451,6 +454,7 @@ Victor Vasiliev <vasilvv@mit.edu> <vasilievvv@users.mediawiki.org>
 Victor Vasiliev <vasilvv@mit.edu> <vasilvv@gmail.com>
 Vikas S Yaligar <vikasyaligar.it@gmail.com>
 Vivek Ghaisas <v.a.ghaisas@gmail.com>
+Volker E <volker.e@wikimedia.org>
 wctaiwan <wctaiwan@gmail.com>
 withoutaname <drevitchi@gmail.com>
 X! <soxred93@gmail.com> <soxred93@users.mediawiki.org>
diff --git a/CREDITS b/CREDITS
index ea011e8..a8ca294 100644 (file)
--- a/CREDITS
+++ b/CREDITS
@@ -1,5 +1,5 @@
 {{int:version-credits-summary}} <!--
-MediaWiki 1.29 is a collaborative project released under the
+MediaWiki 1.31 is a collaborative project released under the
 GNU General Public License v2. We would like to recognize the
 following names for their contribution to the product.
 
@@ -38,6 +38,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Alex Z.
 * Alexander I. Mashin
 * Alexander Lehmann
+* Alexander Mashin
 * Alexander Monk
 * Alexander Sigachov
 * Alexandre Emsenhuber
@@ -62,6 +63,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Angela Beesley Starling
 * ankur
 * Antoine Musso
+* Antoni Siek
 * Antonio Ospite
 * apexkid
 * April King
@@ -134,6 +136,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Cindy Cicalese
 * ckoerner
 * Conrad Irwin
+* Cormac Parle
 * cryptocoryne
 * Dan Barrett
 * Dan Collins
@@ -156,6 +159,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Darkdragon09
 * DaSch
 * datguy
+* David Barratt
 * David Baumgarten
 * David Causse
 * David Chan
@@ -163,6 +167,8 @@ The following list can be found parsed under Special:Version/Credits -->
 * David Lynch
 * David McCabe
 * David Mudrák
+* David Sn
+* Dayllan Maza
 * dcausse
 * dennisroczek
 * Denny Vrandecic
@@ -170,10 +176,12 @@ The following list can be found parsed under Special:Version/Credits -->
 * Derk-Jan Hartman
 * Derric Atzrott
 * Derrick Coetzee
+* Deskana
 * Dévai Tamás
 * Devi Krishnan
 * Diederik van Liere
 * divadsn
+* Dmaza
 * Domas Mituzas
 * Douglas Gardner
 * DPStokesNZ
@@ -183,6 +191,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Eddie Greiner-Petter
 * Edward Chernenko
 * Edward Z. Yang
+* Egbe Eugene
 * Elisabeth Bauer
 * Elliott Eggleston
 * Elvis Stansvik
@@ -194,6 +203,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Emufarmers
 * enigmaeth
 * Entlinkt
+* Envel Le Hir
 * Eranroz
 * Eric Evans
 * Eric Schneider
@@ -209,10 +219,13 @@ The following list can be found parsed under Special:Version/Credits -->
 * ExplosiveHippo
 * Faidon Liambotis
 * Federico Leva
+* Felipe L. Ewald
 * Fenzik Joseph
+* Filippo Giunchedi
 * firebus
 * Florian Schmidt
 * fomafix
+* Framawiki
 * Fran Rogers
 * Fred Emmott
 * FunPika
@@ -220,6 +233,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Gary Guo
 * gbt248
 * Geoffrey Mon
+* GeoffreyT2000
 * georggi
 * Gergő Tisza
 * Gero Scholz
@@ -231,6 +245,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Giuseppe Lavagetto
 * gladoscc
 * glaisher
+* golopot
 * Greg Maxwell
 * Greg Sabino Mullane
 * Gregory Szorc
@@ -246,9 +261,11 @@ The following list can be found parsed under Special:Version/Credits -->
 * Helder
 * Henning Snater
 * Hojjat
+* Hoto Cocoa
 * Huji
 * Hydriz
 * Ian Baker
+* Ian Marlier
 * Ilmari Karonen
 * Inez Korczyński
 * IoannisKydonis
@@ -277,6 +294,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * jarry1250
 * Jaska Zedlik
 * Jason Richey
+* Jayprakash12345
 * jeblad
 * Jeff Hobson
 * Jeff Janes
@@ -291,6 +309,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Jerome Jamnicky
 * Jesús Martínez Novo
 * jhobs
+* jhsoby
 * Jiabao
 * Jidanni
 * Jimmy Collins
@@ -307,11 +326,13 @@ The following list can be found parsed under Special:Version/Credits -->
 * John N
 * Jon Harald Søby
 * Jon Robson
+* Jonathan
 * Jonathan Wiltshire
 * Jools Wills
 * jsahleen
 * Julian Ostrow
 * Juliano F. Ravasi
+* Julien Girault
 * Juliusz Gonera
 * Jure Kajzer
 * Justin Du
@@ -321,6 +342,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Kartik Mistry
 * Karun Dambiec
 * Katie Filbert
+* KeerthanaS
 * Kevin Israel
 * Kghbln
 * Kim Eik
@@ -372,6 +394,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * madurangasiriwardena
 * Magnus Manske
 * mainframe98
+* Mako Bates
 * Manuel Menal
 * Manuel Schneider
 * Marc Ordinas i Llopis
@@ -381,6 +404,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Marco Schuster
 * MarcoAurelio
 * Marcus Buck
+* Margaret Epps
 * Marius Hoch
 * Mark Bergsma
 * Mark Clements
@@ -410,6 +434,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Max Semenik
 * Max Sikström
 * mayankmadan
+* Mehmet Mert Yıldıran
 * Meno25
 * merl
 * Merlijn S. van Deen
@@ -473,6 +498,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * nullspoon
 * Nuria Ruiz
 * Nx.devnull
+* Obaid Raza
 * Ocean behind ears
 * Od1n
 * Olaf Lenz
@@ -496,6 +522,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Pavel Selitskas
 * Pcoombe
 * Perside Rosalie
+* petarpetkovic
 * Peter Coombe
 * Peter Gehres
 * Peter Hedenskog
@@ -509,6 +536,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * physikerwelt (Moritz Schubotz)
 * PieRRoMaN
 * Pikne
+* Piotr Miazga
 * PiRSquared17
 * Platonides
 * Pmlineditor
@@ -529,6 +557,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * rahul21
 * Raimond Spekking
 * Ramunas Geciauskas
+* RazeSoldier
 * Remember the dot
 * René Kijewski
 * Reza
@@ -564,6 +593,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Ryan Kaldari
 * Ryan Lane
 * Ryan Schmidt
+* ryan10145
 * S Page
 * Salvatore Ingala
 * Sam Reed
@@ -583,6 +613,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Sébastien Santoro
 * Sergio Santoro
 * Sethakill
+* Sfic
 * Shahyar
 * Shane Gibbons
 * Shane King
@@ -591,6 +622,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * shirayuki
 * Sidhant Gupta
 * Siebrand Mazeland
+* Simeon Dahl
 * Simon Walker
 * Smriti Singh
 * Solitarius
@@ -614,6 +646,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Subin Siby
 * Subramanya Sastry
 * Sumit Asthana
+* Suriyaa Kudo
 * svip
 * Szymon Świerkosz
 * T.D. Corell
@@ -663,12 +696,14 @@ The following list can be found parsed under Special:Version/Credits -->
 * UltrasonicNXT
 * Umherirrender
 * utkarsh95
+* Valerio Bozzolan
 * Van de Bugger
 * Viačeslav
 * Victor Barbu
 * Victor Porton
 * Victor Vasiliev
 * Ville Stadista
+* vinithegit
 * vishnu
 * Vitaliy Filippov
 * Vivek Ghaisas
@@ -700,6 +735,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Zhaofeng Li
 * Zhengzhu Feng
 * Zhuyifei1999
+* zoranzoki21
 * Zppix
 * محمد شعیب
 <!-- END CONTRIBUTOR LIST -->
index 5e14aee..264113e 100644 (file)
@@ -42,7 +42,7 @@ production.
   the ParserOutput::getText() post-cache transformations.
 * Added a hook, UploadForm:getInitialPageText, to allow extensions to alter the
   initial page text for file uploads.
-* (T181651) The info page for File pages now displays the file's base-36 SHA1
+* (T181651) The info page for File pages now displays the file's base-16 SHA1
   hash value in the table of basic information.
 
 === External library changes in 1.31 ===
@@ -186,6 +186,10 @@ changes to languages because of Phabricator reports.
 * The driver 'mysql' for MySQL, deprecated in MediaWiki 1.30, has been removed.
   The driver has been deprecated since PHP 5.5 and was removed in PHP 7.0. The
   default driver for MySQL has been 'mysqli' since MediaWiki 1.22.
+* The following properties of PreparedEdit were deprecated in 1.21 and have been removed:
+  * PreparedEdit->newText
+  * PreparedEdit->oldText
+  * PreparedEdit->pst
 
 == Compatibility ==
 MediaWiki 1.31 requires PHP 5.5.9 or later. Although HHVM 3.18.5 or later is supported,
index 6fb2cc4..168998e 100644 (file)
@@ -197,6 +197,7 @@ $wgAutoloadLocalClasses = [
        'BenchmarkLruHash' => __DIR__ . '/maintenance/benchmarks/benchmarkLruHash.php',
        'BenchmarkParse' => __DIR__ . '/maintenance/benchmarks/benchmarkParse.php',
        'BenchmarkPurge' => __DIR__ . '/maintenance/benchmarks/benchmarkPurge.php',
+       'BenchmarkSanitizer' => __DIR__ . '/maintenance/benchmarks/benchmarkSanitizer.php',
        'BenchmarkTidy' => __DIR__ . '/maintenance/benchmarks/benchmarkTidy.php',
        'Benchmarker' => __DIR__ . '/maintenance/benchmarks/Benchmarker.php',
        'BitmapHandler' => __DIR__ . '/includes/media/Bitmap.php',
index 8f4c346..2b2695c 100644 (file)
@@ -3936,9 +3936,6 @@ $wgNamespaceAliases = [];
  * because articles can be created such that they are hard to view or edit.
  *
  * In some rare cases you may wish to remove + for compatibility with old links.
- *
- * Theoretically 0x80-0x9F of ISO 8859-1 should be disallowed, but
- * this breaks interlanguage links
  */
 $wgLegalTitleChars = " %!\"$&'()*,\\-.\\/0-9:;=?@A-Z\\\\^_`a-z~\\x80-\\xFF+";
 
index 5dc0720..d49f205 100644 (file)
@@ -1717,7 +1717,7 @@ class EditPage {
                                // being set. This is used by ConfirmEdit to display a captcha
                                // without any error message cruft.
                        } else {
-                               $this->hookError = $status->getWikiText();
+                               $this->hookError = $this->formatStatusErrors( $status );
                        }
                        // Use the existing $status->value if the hook set it
                        if ( !$status->value ) {
@@ -1727,7 +1727,7 @@ class EditPage {
                } elseif ( !$status->isOK() ) {
                        # ...or the hook could be expecting us to produce an error
                        // FIXME this sucks, we should just use the Status object throughout
-                       $this->hookError = $status->getWikiText();
+                       $this->hookError = $this->formatStatusErrors( $status );
                        $status->fatal( 'hookaborted' );
                        $status->value = self::AS_HOOK_ERROR_EXPECTED;
                        return false;
@@ -1736,6 +1736,26 @@ class EditPage {
                return true;
        }
 
+       /**
+        * Wrap status errors in an errorbox for increased visiblity
+        *
+        * @param Status $status
+        * @return string Wikitext
+        */
+       private function formatStatusErrors( Status $status ) {
+               $errmsg = $status->getWikiText(
+                       'edit-error-short',
+                       'edit-error-long',
+                       $this->context->getLanguage()
+               );
+               return <<<ERROR
+<div class="errorbox">
+{$errmsg}
+</div>
+<br clear="all" />
+ERROR;
+       }
+
        /**
         * Return the summary to be used for a new section.
         *
index 00767c7..c283793 100644 (file)
@@ -15,6 +15,8 @@ use MediaWiki\Preferences\PreferencesFactory;
 use MediaWiki\Shell\CommandFactory;
 use MediaWiki\Storage\BlobStore;
 use MediaWiki\Storage\BlobStoreFactory;
+use MediaWiki\Storage\RevisionFactory;
+use MediaWiki\Storage\RevisionLookup;
 use MediaWiki\Storage\RevisionStore;
 use Wikimedia\Rdbms\LBFactory;
 use LinkCache;
@@ -727,6 +729,22 @@ class MediaWikiServices extends ServiceContainer {
                return $this->getService( 'RevisionStore' );
        }
 
+       /**
+        * @since 1.31
+        * @return RevisionLookup
+        */
+       public function getRevisionLookup() {
+               return $this->getService( 'RevisionLookup' );
+       }
+
+       /**
+        * @since 1.31
+        * @return RevisionFactory
+        */
+       public function getRevisionFactory() {
+               return $this->getService( 'RevisionFactory' );
+       }
+
        /**
         * @since 1.31
         * @return PreferencesFactory
index b969e03..0e9bb46 100644 (file)
@@ -1,10 +1,6 @@
 <?php
 
 /**
- *
- *
- * Created on Dec 29, 2015
- *
  * Copyright © 2015 Geoffrey Mon <geofbot@gmail.com>
  *
  * This program is free software; you can redistribute it and/or modify
index 510c1ee..d5449b4 100644 (file)
@@ -22,6 +22,8 @@
 
 use MediaWiki\Storage\MutableRevisionRecord;
 use MediaWiki\Storage\RevisionAccessException;
+use MediaWiki\Storage\RevisionFactory;
+use MediaWiki\Storage\RevisionLookup;
 use MediaWiki\Storage\RevisionRecord;
 use MediaWiki\Storage\RevisionStore;
 use MediaWiki\Storage\RevisionStoreRecord;
@@ -64,6 +66,20 @@ class Revision implements IDBAccessObject {
                return MediaWikiServices::getInstance()->getRevisionStore();
        }
 
+       /**
+        * @return RevisionLookup
+        */
+       protected static function getRevisionLookup() {
+               return MediaWikiServices::getInstance()->getRevisionLookup();
+       }
+
+       /**
+        * @return RevisionFactory
+        */
+       protected static function getRevisionFactory() {
+               return MediaWikiServices::getInstance()->getRevisionFactory();
+       }
+
        /**
         * @param bool|string $wiki The ID of the target wiki database. Use false for the local wiki.
         *
@@ -97,7 +113,7 @@ class Revision implements IDBAccessObject {
         * @return Revision|null
         */
        public static function newFromId( $id, $flags = 0 ) {
-               $rec = self::getRevisionStore()->getRevisionById( $id, $flags );
+               $rec = self::getRevisionLookup()->getRevisionById( $id, $flags );
                return $rec === null ? null : new Revision( $rec, $flags );
        }
 
@@ -116,7 +132,7 @@ class Revision implements IDBAccessObject {
         * @return Revision|null
         */
        public static function newFromTitle( LinkTarget $linkTarget, $id = 0, $flags = 0 ) {
-               $rec = self::getRevisionStore()->getRevisionByTitle( $linkTarget, $id, $flags );
+               $rec = self::getRevisionLookup()->getRevisionByTitle( $linkTarget, $id, $flags );
                return $rec === null ? null : new Revision( $rec, $flags );
        }
 
@@ -135,7 +151,7 @@ class Revision implements IDBAccessObject {
         * @return Revision|null
         */
        public static function newFromPageId( $pageId, $revId = 0, $flags = 0 ) {
-               $rec = self::getRevisionStore()->getRevisionByPageId( $pageId, $revId, $flags );
+               $rec = self::getRevisionLookup()->getRevisionByPageId( $pageId, $revId, $flags );
                return $rec === null ? null : new Revision( $rec, $flags );
        }
 
@@ -184,7 +200,7 @@ class Revision implements IDBAccessObject {
                        }
                }
 
-               $rec = self::getRevisionStore()->newRevisionFromArchiveRow( $row, 0, $title, $overrides );
+               $rec = self::getRevisionFactory()->newRevisionFromArchiveRow( $row, 0, $title, $overrides );
                return new Revision( $rec, self::READ_NORMAL, $title );
        }
 
@@ -202,9 +218,9 @@ class Revision implements IDBAccessObject {
         */
        public static function newFromRow( $row ) {
                if ( is_array( $row ) ) {
-                       $rec = self::getRevisionStore()->newMutableRevisionFromArray( $row );
+                       $rec = self::getRevisionFactory()->newMutableRevisionFromArray( $row );
                } else {
-                       $rec = self::getRevisionStore()->newRevisionFromRow( $row );
+                       $rec = self::getRevisionFactory()->newRevisionFromRow( $row );
                }
 
                return new Revision( $rec );
@@ -492,13 +508,13 @@ class Revision implements IDBAccessObject {
                                $row['user'] = $wgUser;
                        }
 
-                       $this->mRecord = self::getRevisionStore()->newMutableRevisionFromArray(
+                       $this->mRecord = self::getRevisionFactory()->newMutableRevisionFromArray(
                                $row,
                                $queryFlags,
                                $this->ensureTitle( $row, $queryFlags, $title )
                        );
                } elseif ( is_object( $row ) ) {
-                       $this->mRecord = self::getRevisionStore()->newRevisionFromRow(
+                       $this->mRecord = self::getRevisionFactory()->newRevisionFromRow(
                                $row,
                                $queryFlags,
                                $this->ensureTitle( $row, $queryFlags, $title )
@@ -976,7 +992,7 @@ class Revision implements IDBAccessObject {
         */
        public function getPrevious() {
                $title = $this->getTitle();
-               $rec = self::getRevisionStore()->getPreviousRevision( $this->mRecord, $title );
+               $rec = self::getRevisionLookup()->getPreviousRevision( $this->mRecord, $title );
                return $rec === null ? null : new Revision( $rec, self::READ_NORMAL, $title );
        }
 
@@ -987,7 +1003,7 @@ class Revision implements IDBAccessObject {
         */
        public function getNext() {
                $title = $this->getTitle();
-               $rec = self::getRevisionStore()->getNextRevision( $this->mRecord, $title );
+               $rec = self::getRevisionLookup()->getNextRevision( $this->mRecord, $title );
                return $rec === null ? null : new Revision( $rec, self::READ_NORMAL, $title );
        }
 
@@ -1247,7 +1263,7 @@ class Revision implements IDBAccessObject {
                        return false;
                }
 
-               $record = self::getRevisionStore()->getKnownCurrentRevision( $title, $revId );
+               $record = self::getRevisionLookup()->getKnownCurrentRevision( $title, $revId );
                return $record ? new Revision( $record ) : false;
        }
 }
index dab3b5c..a89619f 100644 (file)
@@ -482,6 +482,14 @@ return [
                return $store;
        },
 
+       'RevisionLookup' => function ( MediaWikiServices $services ) {
+               return $services->getRevisionStore();
+       },
+
+       'RevisionFactory' => function ( MediaWikiServices $services ) {
+               return $services->getRevisionStore();
+       },
+
        'BlobStoreFactory' => function ( MediaWikiServices $services ) {
                global $wgContLang;
                return new BlobStoreFactory(
index 3d33406..1165a26 100644 (file)
@@ -441,7 +441,8 @@ class InfoAction extends FormlessAction {
                if ( $title->inNamespace( NS_FILE ) ) {
                        $fileObj = wfFindFile( $title );
                        if ( $fileObj !== false ) {
-                               $output = $fileObj->getSha1();
+                               // Convert the base-36 sha1 value obtained from database to base-16
+                               $output = Wikimedia\base_convert( $fileObj->getSha1(), 36, 16, 40 );
                                $pageInfo['header-basic'][] = [
                                        $this->msg( 'pageinfo-file-hash' ),
                                        $output
index 1a126db..62d73f4 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Sep 5, 2006
- *
  * Copyright © 2006, 2010 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
@@ -1408,7 +1404,7 @@ abstract class ApiBase extends ContextSource {
        protected function parseMultiValue( $valueName, $value, $allowMultiple, $allowedValues,
                $allSpecifier = null, $limit1 = null, $limit2 = null
        ) {
-               if ( ( trim( $value ) === '' || trim( $value ) === "\x1f" ) && $allowMultiple ) {
+               if ( ( $value === '' || $value === "\x1f" ) && $allowMultiple ) {
                        return [];
                }
                $limit1 = $limit1 ?: self::LIMIT_SML1;
index df30a2d..f4aea98 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Sep 4, 2007
- *
  * Copyright © 2007 Roan Kattouw "<Firstname>.<Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index e1be8ef..5d641d8 100644 (file)
@@ -1,7 +1,5 @@
 <?php
 /**
- * Created on Jan 29, 2015
- *
  * Copyright © 2015 Wikimedia Foundation and contributors
  *
  * This program is free software; you can redistribute it and/or modify
index 3b24630..12e0b6f 100644 (file)
@@ -1,8 +1,6 @@
 <?php
 
 /**
- * Created on August 26, 2014
- *
  * Copyright © 2014 Petr Bena (benapetr@gmail.com)
  *
  * This program is free software; you can redistribute it and/or modify
index 96c291c..e19f1f2 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Jun 30, 2007
- *
  * Copyright © 2007 Roan Kattouw "<Firstname>.<Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 684c425..3211189 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Sep 25, 2008
- *
  * Copyright © 2008 Roan Kattouw "<Firstname>.<Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 26d4fd1..e887ef5 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on August 16, 2007
- *
  * Copyright © 2007 Iker Labarga "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 84ea266..535a3e8 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on June 1, 2008
- *
  * Copyright © 2008 Bryan Tong Minh <Bryan.TongMinh@Gmail.com>
  *
  * This program is free software; you can redistribute it and/or modify
index 7c86e09..fe49b25 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Oct 05, 2007
- *
  * Copyright © 2007 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index cae1e15..61a9035 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on June 06, 2011
- *
  * Copyright © 2011 Sam Reed
  *
  * This program is free software; you can redistribute it and/or modify
index db15032..393e536 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Oct 13, 2006
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 736898e..b68b948 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on March 5, 2011
- *
  * Copyright © 2011 Bryan Tong Minh <Bryan.TongMinh@Gmail.com>
  *
  * This program is free software; you can redistribute it and/or modify
index 5e14e30..471ce21 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Sep 19, 2006
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 3ab5ab9..262eb1f 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Sep 19, 2006
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index e5dafae..6d8e743 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Sep 19, 2006
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 91c73a1..602e3c1 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Oct 22, 2006
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 671f356..b05097a 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Oct 22, 2006
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index ebaeb2c..9ec4a2c 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Feb 2, 2009
- *
  * Copyright © 2009 Roan Kattouw "<Firstname>.<Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index e4dfda0..cc1bd82 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Sep 19, 2006
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 529b32c..8d24859 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Aug 29, 2014
- *
  * Copyright © 2014 Wikimedia Foundation and contributors
  *
  * This program is free software; you can redistribute it and/or modify
index 162b7cd..7aebf90 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Dec 22, 2014
- *
  * Copyright © 2014 Wikimedia Foundation and contributors
  *
  * This program is free software; you can redistribute it and/or modify
index 0568403..21e2694 100644 (file)
@@ -1,8 +1,5 @@
 <?php
 /**
- *
- * Created on January 3rd, 2013
- *
  * This program 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
index 9636789..e4c4429 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Sep 19, 2006
- *
  * Copyright © 2006-2007 Yuri Astrakhan "<Firstname><Lastname>@gmail.com",
  * Daniel Cannon (cannon dot danielc at gmail dot com)
  *
index d56c096..c663d1e 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Jan 4, 2008
- *
  * Copyright © 2008 Yuri Astrakhan "<Firstname><Lastname>@gmail.com",
  *
  * This program is free software; you can redistribute it and/or modify
index 82753a1..5056b6d 100644 (file)
@@ -1,7 +1,5 @@
 <?php
 /**
- * Created on Sep 4, 2006
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 79e9909..86b4427 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Dec 29, 2015
- *
  * Copyright © 2015 Geoffrey Mon <geofbot@gmail.com>
  *
  * This program is free software; you can redistribute it and/or modify
index b5e47ac..2619a7c 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Dec 27, 2012
- *
  * Copyright © 2012 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index e7b2808..2814564 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Oct 31, 2007
- *
  * Copyright © 2007 Roan Kattouw "<Firstname>.<Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 3a1b2db..4b76906 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Apr 15, 2012
- *
  * Copyright © 2012 Szymon Świerkosz beau@adres.pl
  *
  * This program is free software; you can redistribute it and/or modify
index 774ea1a..30611b6 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Sep 24, 2006
- *
  * Copyright © 2006, 2013 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 93fc51a..bfd3d61 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Dec 01, 2007
- *
  * Copyright © 2008 Roan Kattouw "<Firstname>.<Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index ec015da..cf1fd1e 100644 (file)
@@ -1,7 +1,5 @@
 <?php
 /**
- * Created on Dec 01, 2007
- *
  * Copyright © 2007 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 06e8ae2..a20aca4 100644 (file)
@@ -2,8 +2,6 @@
 /**
  * API for MediaWiki 1.14+
  *
- * Created on Sep 2, 2008
- *
  * Copyright © 2008 Soxred93 soxred93@gmail.com,
  *
  * This program is free software; you can redistribute it and/or modify
index 1be4b10..f67d3b3 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Sep 1, 2007
- *
  * Copyright © 2007 Roan Kattouw "<Firstname>.<Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 31bcc7a..5bbd211 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Sep 7, 2006
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index aa89158..4f833e0 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on December 12, 2007
- *
  * Copyright © 2007 Roan Kattouw "<Firstname>.<Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 765b5c7..32d081e 100644 (file)
@@ -1,7 +1,5 @@
 <?php
 /**
- * Created on Oct 3, 2014
- *
  * Copyright © 2014 Wikimedia Foundation and contributors
  *
  * Heavily based on ApiQueryDeletedrevs,
index 6f497b1..dde22d8 100644 (file)
@@ -3,8 +3,6 @@
 /**
  * API for MediaWiki 1.12+
  *
- * Created on Mar 16, 2008
- *
  * Copyright © 2008 Vasiliev Victor vasilvv@gmail.com,
  * based on ApiQueryAllPages.php
  *
index 9d6bf46..057dbb2 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on July 7, 2007
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 271d281..40abcaf 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Dec 1, 2007
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index a084279..40909a4 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Sep 25, 2006
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index c8db6a1..6823646 100644 (file)
@@ -1,7 +1,5 @@
 <?php
 /**
- * Created on Sep 27, 2015
- *
  * Copyright © 2015 Wikimedia Foundation and contributors
  *
  * This program is free software; you can redistribute it and/or modify
index d594ad4..65a4b32 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on July 7, 2007
- *
  * Copyright © 2007 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 830cc48..35cb83a 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Oct 16, 2006
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index ef02d09..fb90e25 100644 (file)
@@ -2,8 +2,6 @@
 /**
  * API module to handle links table back-queries
  *
- * Created on Aug 19, 2014
- *
  * Copyright © 2014 Wikimedia Foundation and contributors
  *
  * This program is free software; you can redistribute it and/or modify
index 179e6f7..e0ab53a 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Sep 7, 2006
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 698c13c..d02fefa 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Sep 10, 2007
- *
  * Copyright © 2007 Roan Kattouw "<Firstname>.<Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index f728dc5..7b447cb 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on May 13, 2007
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 25e9b27..02361a2 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on May 13, 2007
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index e3265d1..37d0788 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on June 14, 2007
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index f802d9e..25b7c84 100644 (file)
@@ -2,8 +2,6 @@
 /**
  * Query the list of contributors to a page
  *
- * Created on Nov 14, 2013
- *
  * Copyright © 2013 Wikimedia Foundation and contributors
  *
  * This program is free software; you can redistribute it and/or modify
index 3339fec..f579065 100644 (file)
@@ -1,7 +1,5 @@
 <?php
 /**
- * Created on Oct 3, 2014
- *
  * Copyright © 2014 Wikimedia Foundation and contributors
  *
  * Heavily based on ApiQueryDeletedrevs,
index 5dd007b..5c1f6ba 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Jul 2, 2007
- *
  * Copyright © 2007 Roan Kattouw "<Firstname>.<Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index a94af69..8610007 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Sep 25, 2008
- *
  * Copyright © 2008 Roan Kattouw "<Firstname>.<Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 0eaeaec..dfe3cf3 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Sep 27, 2008
- *
  * Copyright © 2008 Roan Kattouw "<Firstname>.<Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 43f4131..fc5d8a0 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on July 7, 2007
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 71fd6d1..fd196aa 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on May 13, 2007
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 838fc2b..d401511 100644 (file)
@@ -2,8 +2,6 @@
 /**
  * API for MediaWiki 1.12+
  *
- * Created on May 10, 2010
- *
  * Copyright © 2010 Sam Reed
  * Copyright © 2008 Vasiliev Victor vasilvv@gmail.com,
  * based on ApiQueryAllPages.php
index 5acd75f..a7df33a 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Sep 7, 2006
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index a10ba16..90aed6e 100644 (file)
@@ -2,8 +2,6 @@
 /**
  * API for MediaWiki 1.17+
  *
- * Created on May 14, 2010
- *
  * Copyright © 2010 Sam Reed
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
index 9313af3..08c8abf 100644 (file)
@@ -2,8 +2,6 @@
 /**
  * API for MediaWiki 1.17+
  *
- * Created on May 14, 2010
- *
  * Copyright © 2010 Sam Reed
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
index 0603923..fd456cb 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on July 6, 2007
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 01a54de..06a3ba0 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on May 13, 2007
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index bff1978..23a327b 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Sep 25, 2006
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index fd67d7c..9b99312 100644 (file)
@@ -2,8 +2,6 @@
 /**
  * API for MediaWiki 1.17+
  *
- * Created on May 14, 2011
- *
  * Copyright © 2011 Sam Reed
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
index df33d02..2d8e44c 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on May 13, 2007
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 119db3e..67bf619 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on May 12, 2007
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 3066720..9d24794 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Oct 16, 2006
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 2d56983..f280ef0 100644 (file)
@@ -1,7 +1,5 @@
 <?php
 /**
- * Created on January 21, 2013
- *
  * Copyright © 2013 Wikimedia Foundation and contributors
  *
  * This program is free software; you can redistribute it and/or modify
index e49dfbc..2bee698 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Aug 7, 2010
- *
  * Copyright © 2010 soxred93, Bryan Tong Minh
  *
  * This program is free software; you can redistribute it and/or modify
index 97f79b6..06b412f 100644 (file)
@@ -1,7 +1,5 @@
 <?php
 /**
- * Created on December 31, 2012
- *
  * Copyright © 2012 Wikimedia Foundation and contributors
  *
  * This program is free software; you can redistribute it and/or modify
index b69a299..843e209 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Feb 13, 2009
- *
  * Copyright © 2009 Roan Kattouw "<Firstname>.<Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 46c2265..a828e11 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Dec 22, 2010
- *
  * Copyright © 2010 Roan Kattouw "<Firstname>.<Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index ce62226..636191d 100644 (file)
@@ -1,10 +1,6 @@
 <?php
 
 /**
- *
- *
- * Created on Monday, January 28, 2008
- *
  * Copyright © 2008 Brent Garber
  *
  * This program is free software; you can redistribute it and/or modify
index 63e0748..4549987 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Oct 19, 2006
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index a04b7c5..aa9a39c 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Sep 7, 2006
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 2ffd024..f888434 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Oct 3, 2014 as a split from ApiQueryRevisions
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 2c681f5..7d46a5f 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on July 30, 2007
- *
  * Copyright © 2007 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 6bab826..acae889 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Sep 25, 2006
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index b340b57..ed5fe8a 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Jul 9, 2009
- *
  * Copyright © 2009
  *
  * This program is free software; you can redistribute it and/or modify
index 0e46fd0..e86fdf3 100644 (file)
@@ -2,8 +2,6 @@
 /**
  * Module to fetch tokens via action=query&meta=tokens
  *
- * Created on August 8, 2014
- *
  * Copyright © 2014 Wikimedia Foundation and contributors
  *
  * This program is free software; you can redistribute it and/or modify
index bb0f335..99a582e 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Oct 16, 2006
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 036515d..fa151c9 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on July 30, 2007
- *
  * Copyright © 2007 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 8fc99bb..9261003 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on July 30, 2007
- *
  * Copyright © 2007 Roan Kattouw "<Firstname>.<Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 710550a..f9ac44a 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Sep 25, 2006
- *
  * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index b0b1cde..0adbfdb 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Oct 4, 2008
- *
  * Copyright © 2008 Roan Kattouw "<Firstname>.<Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index d7bc931..9a793e2 100644 (file)
@@ -1,7 +1,5 @@
 <?php
 /**
- * Created on Jun 25, 2013
- *
  * Copyright © 2013 Wikimedia Foundation and contributors
  *
  * This program is free software; you can redistribute it and/or modify
index 4ca2955..d2ff790 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Jun 20, 2007
- *
  * Copyright © 2007 Roan Kattouw "<Firstname>.<Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index a41f655..31d00cc 100644 (file)
@@ -1,7 +1,5 @@
 <?php
 /**
- * Created on Feb 25, 2015
- *
  * Copyright © 2015 Wikimedia Foundation and contributors
  *
  * This program is free software; you can redistribute it and/or modify
index b6a0a78..5e7a633 100644 (file)
@@ -3,8 +3,6 @@
 /**
  * API for MediaWiki 1.14+
  *
- * Created on Jun 18, 2012
- *
  * Copyright © 2012 Wikimedia Foundation and contributors
  *
  * This program is free software; you can redistribute it and/or modify
index 54394a5..40826ae 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on January 1, 2017
- *
  * Copyright © 2017 Justin Du "<justin.d128@gmail.com>"
  *
  * This program is free software; you can redistribute it and/or modify
index fc2951a..606967d 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Jul 29, 2011
- *
  * Copyright © 2011 John Du Hart john@johnduhart.me
  *
  * This program is free software; you can redistribute it and/or modify
index 887edaa..b748cb3 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Sep 7, 2007
- *
  * Copyright © 2007 Roan Kattouw "<Firstname>.<Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index 3aa7b60..ee5c3a2 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Jul 3, 2007
- *
  * Copyright © 2007 Roan Kattouw "<Firstname>.<Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
index cfe1968..e8a2061 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Aug 21, 2008
- *
  * Copyright © 2008 - 2010 Bryan Tong Minh <Bryan.TongMinh@Gmail.com>
  *
  * This program is free software; you can redistribute it and/or modify
index efe21f1..38be178 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 /**
- *
- *
- * Created on Jan 4, 2008
- *
  * Copyright © 2008 Yuri Astrakhan "<Firstname><Lastname>@gmail.com",
  *
  * This program is free software; you can redistribute it and/or modify
index 5af3bda..a799d00 100644 (file)
        "apihelp-opensearch-param-suggest": "کاری نکنید اگر <var>[[mw:Manual:$wgEnableOpenSearchSuggest|$wgEnableOpenSearchSuggest]]</var> false است.",
        "apihelp-opensearch-param-format": "فرمت خروجی.",
        "apihelp-opensearch-example-te": "یافتن صفحه‌هایی که با <kbd>Te</kbd> آغاز می‌شوند",
+       "apihelp-options-summary": "تغییر ترجیحات کاربر جاری",
        "apihelp-options-param-reset": "ترجیحات را به مقادیر پیش فرض سایت بازمی گرداند.",
        "apihelp-options-example-reset": "بازنشانی همه تنظیمات.",
        "apihelp-paraminfo-param-helpformat": "ساختار راهنمای رشته‌ها",
index 6530550..03fb9e2 100644 (file)
@@ -49,8 +49,6 @@ abstract class ContextSource implements IContextSource {
        }
 
        /**
-        * Set the IContextSource object
-        *
         * @since 1.18
         * @param IContextSource $context
         */
@@ -59,8 +57,6 @@ abstract class ContextSource implements IContextSource {
        }
 
        /**
-        * Get the Config object
-        *
         * @since 1.23
         * @return Config
         */
@@ -69,8 +65,6 @@ abstract class ContextSource implements IContextSource {
        }
 
        /**
-        * Get the WebRequest object
-        *
         * @since 1.18
         * @return WebRequest
         */
@@ -79,8 +73,6 @@ abstract class ContextSource implements IContextSource {
        }
 
        /**
-        * Get the Title object
-        *
         * @since 1.18
         * @return Title|null
         */
@@ -114,8 +106,6 @@ abstract class ContextSource implements IContextSource {
        }
 
        /**
-        * Get the OutputPage object
-        *
         * @since 1.18
         * @return OutputPage
         */
@@ -124,8 +114,6 @@ abstract class ContextSource implements IContextSource {
        }
 
        /**
-        * Get the User object
-        *
         * @since 1.18
         * @return User
         */
@@ -134,8 +122,6 @@ abstract class ContextSource implements IContextSource {
        }
 
        /**
-        * Get the Language object
-        *
         * @since 1.19
         * @return Language
         */
@@ -144,8 +130,6 @@ abstract class ContextSource implements IContextSource {
        }
 
        /**
-        * Get the Skin object
-        *
         * @since 1.18
         * @return Skin
         */
@@ -154,8 +138,6 @@ abstract class ContextSource implements IContextSource {
        }
 
        /**
-        * Get the Timing object
-        *
         * @since 1.27
         * @return Timing
         */
@@ -164,8 +146,6 @@ abstract class ContextSource implements IContextSource {
        }
 
        /**
-        * Get the Stats object
-        *
         * @deprecated since 1.27 use a StatsdDataFactory from MediaWikiServices (preferably injected)
         *
         * @since 1.25
index 82b97ec..f7a1815 100644 (file)
@@ -81,17 +81,13 @@ class DerivativeContext extends ContextSource implements MutableContext {
        }
 
        /**
-        * Set the SiteConfiguration object
-        *
-        * @param Config $s
+        * @param Config $config
         */
-       public function setConfig( Config $s ) {
-               $this->config = $s;
+       public function setConfig( Config $config ) {
+               $this->config = $config;
        }
 
        /**
-        * Get the Config object
-        *
         * @return Config
         */
        public function getConfig() {
@@ -103,8 +99,6 @@ class DerivativeContext extends ContextSource implements MutableContext {
        }
 
        /**
-        * Get the stats object
-        *
         * @deprecated since 1.27 use a StatsdDataFactory from MediaWikiServices (preferably injected)
         *
         * @return IBufferingStatsdDataFactory
@@ -114,8 +108,6 @@ class DerivativeContext extends ContextSource implements MutableContext {
        }
 
        /**
-        * Get the timing object
-        *
         * @return Timing
         */
        public function getTiming() {
@@ -127,17 +119,13 @@ class DerivativeContext extends ContextSource implements MutableContext {
        }
 
        /**
-        * Set the WebRequest object
-        *
-        * @param WebRequest $r
+        * @param WebRequest $request
         */
-       public function setRequest( WebRequest $r ) {
-               $this->request = $r;
+       public function setRequest( WebRequest $request ) {
+               $this->request = $request;
        }
 
        /**
-        * Get the WebRequest object
-        *
         * @return WebRequest
         */
        public function getRequest() {
@@ -149,17 +137,13 @@ class DerivativeContext extends ContextSource implements MutableContext {
        }
 
        /**
-        * Set the Title object
-        *
-        * @param Title $t
+        * @param Title $title
         */
-       public function setTitle( Title $t ) {
-               $this->title = $t;
+       public function setTitle( Title $title ) {
+               $this->title = $title;
        }
 
        /**
-        * Get the Title object
-        *
         * @return Title|null
         */
        public function getTitle() {
@@ -189,13 +173,11 @@ class DerivativeContext extends ContextSource implements MutableContext {
        }
 
        /**
-        * Set the WikiPage object
-        *
         * @since 1.19
-        * @param WikiPage $p
+        * @param WikiPage $wikiPage
         */
-       public function setWikiPage( WikiPage $p ) {
-               $this->wikipage = $p;
+       public function setWikiPage( WikiPage $wikiPage ) {
+               $this->wikipage = $wikiPage;
        }
 
        /**
@@ -216,17 +198,13 @@ class DerivativeContext extends ContextSource implements MutableContext {
        }
 
        /**
-        * Set the OutputPage object
-        *
-        * @param OutputPage $o
+        * @param OutputPage $output
         */
-       public function setOutput( OutputPage $o ) {
-               $this->output = $o;
+       public function setOutput( OutputPage $output ) {
+               $this->output = $output;
        }
 
        /**
-        * Get the OutputPage object
-        *
         * @return OutputPage
         */
        public function getOutput() {
@@ -238,17 +216,13 @@ class DerivativeContext extends ContextSource implements MutableContext {
        }
 
        /**
-        * Set the User object
-        *
-        * @param User $u
+        * @param User $user
         */
-       public function setUser( User $u ) {
-               $this->user = $u;
+       public function setUser( User $user ) {
+               $this->user = $user;
        }
 
        /**
-        * Get the User object
-        *
         * @return User
         */
        public function getUser() {
@@ -260,18 +234,16 @@ class DerivativeContext extends ContextSource implements MutableContext {
        }
 
        /**
-        * Set the Language object
-        *
-        * @param Language|string $l Language instance or language code
+        * @param Language|string $language Language instance or language code
         * @throws MWException
         * @since 1.19
         */
-       public function setLanguage( $l ) {
-               if ( $l instanceof Language ) {
-                       $this->lang = $l;
-               } elseif ( is_string( $l ) ) {
-                       $l = RequestContext::sanitizeLangCode( $l );
-                       $obj = Language::factory( $l );
+       public function setLanguage( $language ) {
+               if ( $language instanceof Language ) {
+                       $this->lang = $language;
+               } elseif ( is_string( $language ) ) {
+                       $language = RequestContext::sanitizeLangCode( $language );
+                       $obj = Language::factory( $language );
                        $this->lang = $obj;
                } else {
                        throw new MWException( __METHOD__ . " was passed an invalid type of data." );
@@ -279,8 +251,6 @@ class DerivativeContext extends ContextSource implements MutableContext {
        }
 
        /**
-        * Get the Language object
-        *
         * @return Language
         * @since 1.19
         */
@@ -293,18 +263,14 @@ class DerivativeContext extends ContextSource implements MutableContext {
        }
 
        /**
-        * Set the Skin object
-        *
-        * @param Skin $s
+        * @param Skin $skin
         */
-       public function setSkin( Skin $s ) {
-               $this->skin = clone $s;
+       public function setSkin( Skin $skin ) {
+               $this->skin = clone $skin;
                $this->skin->setContext( $this );
        }
 
        /**
-        * Get the Skin object
-        *
         * @return Skin
         */
        public function getSkin() {
index 5a856cf..6e48e1e 100644 (file)
  * shutdown by separate persistence handler objects, for example.
  */
 interface IContextSource extends MessageLocalizer {
+
        /**
-        * Get the WebRequest object
-        *
         * @return WebRequest
         */
        public function getRequest();
 
        /**
-        * Get the Title object
-        *
         * @return Title|null
         */
        public function getTitle();
@@ -87,30 +84,22 @@ interface IContextSource extends MessageLocalizer {
        public function getWikiPage();
 
        /**
-        * Get the OutputPage object
-        *
         * @return OutputPage
         */
        public function getOutput();
 
        /**
-        * Get the User object
-        *
         * @return User
         */
        public function getUser();
 
        /**
-        * Get the Language object
-        *
         * @return Language
         * @since 1.19
         */
        public function getLanguage();
 
        /**
-        * Get the Skin object
-        *
         * @return Skin
         */
        public function getSkin();
@@ -124,8 +113,6 @@ interface IContextSource extends MessageLocalizer {
        public function getConfig();
 
        /**
-        * Get the stats object
-        *
         * @deprecated since 1.27 use a StatsdDataFactory from MediaWikiServices (preferably injected)
         *
         * @since 1.25
@@ -134,8 +121,6 @@ interface IContextSource extends MessageLocalizer {
        public function getStats();
 
        /**
-        * Get the timing object
-        *
         * @since 1.27
         * @return Timing
         */
index 189b346..56ec960 100644 (file)
  */
 
 interface MutableContext {
+
        /**
-        * Set the Config object
-        *
         * @param Config $config
         */
        public function setConfig( Config $config );
 
        /**
-        * Set the WebRequest object
-        *
-        * @param WebRequest $r
+        * @param WebRequest $request
         */
-       public function setRequest( WebRequest $r );
+       public function setRequest( WebRequest $request );
 
        /**
-        * Set the Title object
-        *
-        * @param Title $t
+        * @param Title $title
         */
-       public function setTitle( Title $t );
+       public function setTitle( Title $title );
 
        /**
-        * Set the WikiPage object
-        *
-        * @param WikiPage $p
+        * @param WikiPage $wikiPage
         */
-       public function setWikiPage( WikiPage $p );
+       public function setWikiPage( WikiPage $wikiPage );
 
        /**
-        * Set the OutputPage object
-        *
-        * @param OutputPage $o
+        * @param OutputPage $output
         */
-       public function setOutput( OutputPage $o );
+       public function setOutput( OutputPage $output );
 
        /**
-        * Set the User object
-        *
-        * @param User $u
+        * @param User $user
         */
-       public function setUser( User $u );
+       public function setUser( User $user );
 
        /**
-        * Set the Language object
-        *
-        * @param Language|string $l Language instance or language code
+        * @param Language|string $language Language instance or language code
         */
-       public function setLanguage( $l );
+       public function setLanguage( $language );
 
        /**
-        * Set the Skin object
-        *
-        * @param Skin $s
+        * @param Skin $skin
         */
-       public function setSkin( Skin $s );
+       public function setSkin( Skin $skin );
 
 }
index 47d1684..6fedead 100644 (file)
@@ -101,17 +101,13 @@ class RequestContext implements IContextSource, MutableContext {
        }
 
        /**
-        * Set the WebRequest object
-        *
-        * @param WebRequest $r
+        * @param WebRequest $request
         */
-       public function setRequest( WebRequest $r ) {
-               $this->request = $r;
+       public function setRequest( WebRequest $request ) {
+               $this->request = $request;
        }
 
        /**
-        * Get the WebRequest object
-        *
         * @return WebRequest
         */
        public function getRequest() {
@@ -129,8 +125,6 @@ class RequestContext implements IContextSource, MutableContext {
        }
 
        /**
-        * Get the Stats object
-        *
         * @deprecated since 1.27 use a StatsdDataFactory from MediaWikiServices (preferably injected)
         *
         * @return IBufferingStatsdDataFactory
@@ -140,8 +134,6 @@ class RequestContext implements IContextSource, MutableContext {
        }
 
        /**
-        * Get the timing object
-        *
         * @return Timing
         */
        public function getTiming() {
@@ -154,8 +146,6 @@ class RequestContext implements IContextSource, MutableContext {
        }
 
        /**
-        * Set the Title object
-        *
         * @param Title|null $title
         */
        public function setTitle( Title $title = null ) {
@@ -165,8 +155,6 @@ class RequestContext implements IContextSource, MutableContext {
        }
 
        /**
-        * Get the Title object
-        *
         * @return Title|null
         */
        public function getTitle() {
@@ -212,18 +200,16 @@ class RequestContext implements IContextSource, MutableContext {
        }
 
        /**
-        * Set the WikiPage object
-        *
         * @since 1.19
-        * @param WikiPage $p
+        * @param WikiPage $wikiPage
         */
-       public function setWikiPage( WikiPage $p ) {
-               $pageTitle = $p->getTitle();
+       public function setWikiPage( WikiPage $wikiPage ) {
+               $pageTitle = $wikiPage->getTitle();
                if ( !$this->hasTitle() || !$pageTitle->equals( $this->getTitle() ) ) {
                        $this->setTitle( $pageTitle );
                }
                // Defer this to the end since setTitle sets it to null.
-               $this->wikipage = $p;
+               $this->wikipage = $wikiPage;
        }
 
        /**
@@ -249,15 +235,13 @@ class RequestContext implements IContextSource, MutableContext {
        }
 
        /**
-        * @param OutputPage $o
+        * @param OutputPage $output
         */
-       public function setOutput( OutputPage $o ) {
-               $this->output = $o;
+       public function setOutput( OutputPage $output ) {
+               $this->output = $output;
        }
 
        /**
-        * Get the OutputPage object
-        *
         * @return OutputPage
         */
        public function getOutput() {
@@ -269,17 +253,13 @@ class RequestContext implements IContextSource, MutableContext {
        }
 
        /**
-        * Set the User object
-        *
-        * @param User $u
+        * @param User $user
         */
-       public function setUser( User $u ) {
-               $this->user = $u;
+       public function setUser( User $user ) {
+               $this->user = $user;
        }
 
        /**
-        * Get the User object
-        *
         * @return User
         */
        public function getUser() {
@@ -311,18 +291,16 @@ class RequestContext implements IContextSource, MutableContext {
        }
 
        /**
-        * Set the Language object
-        *
-        * @param Language|string $l Language instance or language code
+        * @param Language|string $language Language instance or language code
         * @throws MWException
         * @since 1.19
         */
-       public function setLanguage( $l ) {
-               if ( $l instanceof Language ) {
-                       $this->lang = $l;
-               } elseif ( is_string( $l ) ) {
-                       $l = self::sanitizeLangCode( $l );
-                       $obj = Language::factory( $l );
+       public function setLanguage( $language ) {
+               if ( $language instanceof Language ) {
+                       $this->lang = $language;
+               } elseif ( is_string( $language ) ) {
+                       $language = self::sanitizeLangCode( $language );
+                       $obj = Language::factory( $language );
                        $this->lang = $obj;
                } else {
                        throw new MWException( __METHOD__ . " was passed an invalid type of data." );
@@ -380,18 +358,14 @@ class RequestContext implements IContextSource, MutableContext {
        }
 
        /**
-        * Set the Skin object
-        *
-        * @param Skin $s
+        * @param Skin $skin
         */
-       public function setSkin( Skin $s ) {
-               $this->skin = clone $s;
+       public function setSkin( Skin $skin ) {
+               $this->skin = clone $skin;
                $this->skin->setContext( $this );
        }
 
        /**
-        * Get the Skin object
-        *
         * @return Skin
         */
        public function getSkin() {
index 62624f4..910d221 100644 (file)
@@ -87,27 +87,4 @@ class PreparedEdit {
         */
        public $oldContent;
 
-       /**
-        * $newContent in text form
-        *
-        * @var string
-        * @deprecated since 1.21
-        */
-       public $newText;
-
-       /**
-        * $oldContent in text from
-        *
-        * @var string
-        * @deprecated since 1.21
-        */
-       public $oldText;
-
-       /**
-        * $pstContent in text form
-        *
-        * @var string
-        * @deprecated since 1.21
-        */
-       public $pst;
 }
index 80fd22e..700c8ee 100644 (file)
@@ -207,22 +207,26 @@ abstract class ImageGalleryBase extends ContextSource {
        /**
         * Set how wide each image will be, in pixels.
         *
-        * @param int $num Integer > 0; invalid numbers will be ignored
+        * @param string $num Number. Unit other than 'px is invalid. Invalid numbers
+        *   and those below 0 are ignored.
         */
        public function setWidths( $num ) {
-               if ( $num > 0 ) {
-                       $this->mWidths = (int)$num;
+               $parsed = Parser::parseWidthParam( $num, false );
+               if ( isset( $parsed['width'] ) && $parsed['width'] > 0 ) {
+                       $this->mWidths = $parsed['width'];
                }
        }
 
        /**
         * Set how high each image will be, in pixels.
         *
-        * @param int $num Integer > 0; invalid numbers will be ignored
+        * @param string $num Number. Unit other than 'px is invalid. Invalid numbers
+        *   and those below 0 are ignored.
         */
        public function setHeights( $num ) {
-               if ( $num > 0 ) {
-                       $this->mHeights = (int)$num;
+               $parsed = Parser::parseWidthParam( $num, false );
+               if ( isset( $parsed['width'] ) && $parsed['width'] > 0 ) {
+                       $this->mHeights = $parsed['width'];
                }
        }
 
index 9a79e34..bd944f1 100644 (file)
        "config-license-cc-0": "''Creative Commons'' „Zero“ (Gemeinfreiheit)",
        "config-license-gfdl": "GNU-Lizenz für freie Dokumentation 1.3 oder höher",
        "config-license-pd": "Gemeinfreiheit",
-       "config-license-cc-choose": "Eine benutzerdefinierte Creative-Commons-Lizenz auswählen",
+       "config-license-cc-choose": "Eine andere Creative-Commons-Lizenz auswählen",
        "config-license-help": "Viele öffentliche Wikis publizieren alle Beiträge unter einer [http://freedomdefined.org/Definition/De freien Lizenz.]\nDies trägt dazu bei, ein Gefühl von Gemeinschaft zu schaffen, und ermutigt zu längerfristiger Mitarbeit.\nHingegen ist im Allgemeinen eine freie Lizenz auf geschlossenen Wikis nicht notwendig.\n\nSofern man Texte aus der Wikipedia verwenden möchte und umgekehrt, sollte die Lizenz {{int:config-license-cc-by-sa}} gewählt werden.\n\nDie Wikipedia nutzte vormals die GNU-Lizenz für freie Dokumentation (GFDL).\nDie GFDL ist eine gültige Lizenz, die allerdings schwer zu verstehen ist.\nEs ist zudem schwierig, gemäß dieser Lizenz lizenzierte Inhalte wiederzuverwenden.",
        "config-email-settings": "E-Mail-Einstellungen",
        "config-enable-email": "Ausgehende E-Mails ermöglichen",
index 97a09a3..75252b7 100644 (file)
        "config-install-mainpage-failed": "قادر به درج صفحهٔ اصلی نمی‌باشد:$1",
        "config-install-done": "'''تبریک!'''\nبا موفقیت مدیاویکی را نصب کردید.\nبرنامه نصب‌کننده پرونده <code>LocalSettings.php</code> را درست کرد.\nکه شامل تمام تنظیمات می‌باشد.\n\nشما نیاز به دریافت آن دارید و آن را در پایهٔ نصب ویکی قرار دهید (همان پوشهٔ index.php). دریافت باید به صورت خودکار شروع شده‌باشد.\n\nاگر دریافت شروع نشد یا اگر آن را لغو کردید با کلیک روی پیوند زیر می‌توانید آن را دریافت کنید:\n\n$3\n\n'''توجه داشته باشید:''' اگر این را الآن انجام ندهید، این پرونده تولیدشده در صورتی که نصب را بدون دریافت آن تمام کردید بعداً در اختیار شما قرار نخواهد گرفت.\n\nوقتی انجام شد شما می‌توانید '''[$2 وارد ویکی شوید]'''.",
        "config-install-done-path": "<strong>تبریک!</strong>\nمدیاویکی با موفقیت نصب گردید.\nبرنامه نصب‌کننده یک پرونده <code>LocalSettings.php</code> ایجاد کرده است که شامل تمام تنظیمات می‌باشد.\n\nلازم است شما آن را دریافت کرده و در <code>$4</code> قرار دهید. اِن دریافت می باِست به صورت خودکار شروع شده‌باشد.\n\nاگر دریافت شروع نشده بود و یا آن را لغو کرده اید با کلیک روی پیوند زیر می‌توانید آن را دریافت کنید:\n\n$3\n\n<strong>توجه:</strong> اگر این کار را هم اکنون انجام ندهید و بدون دریافت آن از برنامه نصب خارج شويد، این پرونده تنظیمات تولیدشده در آینده در اختیار شما قرار نخواهد داشت.\n\nوقتی که آن کار را انجام داديد، می‌توانید <strong>[$2 وارد ويکی خودتان شويد]</strong>.",
+       "config-install-success": "مدیاویکی به صورت موفقیت‌آمیز نصب شد. شما می‌توانید\nاز <$1$2> برای دیدن ویکی‌تان بازدید کنید.\nاگر پرسشی داشتید، فهرست سوال‌های متداول ما را مطالعه کنید:\n<https://www.mediawiki.org/wiki/Manual:FAQ> یا از یکی از انجمن‌های پشیبانی ما که در آن صفحه فهرست شده‌اند استفاده کنید.",
        "config-download-localsettings": "دریافت <code>LocalSettings.php</code>",
        "config-help": "راهنما",
        "config-help-tooltip": "برای گسترش کلیک کنید",
index 9ba9bd3..b492208 100644 (file)
@@ -12,7 +12,8 @@
        },
        "config-desc": "Инсталација за Медијавики",
        "config-title": "Инсталација Медијавикија $1",
-       "config-information": "Информације",
+       "config-information": "Информација",
+       "config-localsettings-key": "Кључ за уградњу:",
        "config-session-error": "Грешка при започињању сесије: $1",
        "config-session-expired": "Ваши подаци о сесији су истекли.\nСесије су подешене да трају $1.\nЊихов рок можете повећати постављањем <code>session.gc_maxlifetime</code> у php.ini.\nПоново покрените инсталацију.",
        "config-no-session": "Ваши подаци о сесији су изгубљени!\nПроверите Ваш php.ini и обезбедите да је <code>session.save_path</code> постављен на одговарајући директоријум.",
        "config-back": "← Назад",
        "config-continue": "Настави →",
        "config-page-language": "Језик",
-       "config-page-welcome": "Ð\94обÑ\80о Ð´Ð¾Ñ\88ли Ð½Ð° Ð\9cедиÑ\98аÐ\92ики!",
+       "config-page-welcome": "Ð\94обÑ\80о Ð´Ð¾Ñ\88ли Ð½Ð° Ð\9cедиÑ\98авики!",
        "config-page-dbconnect": "Повезивање са базом података",
        "config-page-upgrade": "Надоградња постојеће инсталације",
        "config-page-dbsettings": "Подешавања базе података",
        "config-page-name": "Назив",
-       "config-page-options": "Поставке",
+       "config-page-options": "Подешавања",
        "config-page-install": "Инсталирај",
        "config-page-complete": "Завршено!",
        "config-page-restart": "Поновно покретање инсталације",
        "config-wincache": "[http://www.iis.net/download/WinCacheForPhp WinCache] је инсталиран",
        "config-db-type": "Тип базе података:",
        "config-db-host": "Хост базе података",
+       "config-db-wiki-settings": "Идентификуј овај вики",
        "config-db-name": "Назив базе података:",
-       "config-db-password": "Лозинка за базу података:",
+       "config-db-name-oracle": "Шема базе података:",
+       "config-db-username": "Корисничко име базе података:",
+       "config-db-password": "Лозинка базе података:",
+       "config-db-port": "Порт базе података:",
+       "config-db-schema": "Шема за Медијавики:",
        "config-type-mysql": "MySQL (или компактибилан)",
        "config-type-postgres": "PostgreSQL",
        "config-type-sqlite": "SQLite",
        "config-mysql-myisam": "MyISAM",
        "config-mysql-utf8": "UTF-8",
        "config-mssql-auth": "Тип провере идентитета:",
-       "config-mssql-sqlauth": "Провера идентитета за SQL Server",
-       "config-mssql-windowsauth": "Провера идентитета Windows-а",
+       "config-mssql-sqlauth": "Провера идентитета SQL Server-а",
+       "config-mssql-windowsauth": "Провера идентитета Виндоуса",
        "config-site-name": "Име викија:",
-       "config-admin-name": "Ð\9aорисничко име:",
+       "config-admin-name": "Ð\92аÑ\88е Ðºорисничко име:",
        "config-admin-password": "Лозинка:",
        "config-admin-email": "Имејл адреса:",
-       "config-optional-skip": "Ð\94оÑ\81адно Ð¼Ð¸ Ñ\98е, Ñ\85аÑ\98де Ð´Ð° Ð¸Ð½Ñ\81Ñ\82алиÑ\80амо вики.",
+       "config-optional-skip": "Ð\94оÑ\81адно Ð¼Ð¸ Ñ\98е, Ñ\81амо Ð¸Ð½Ñ\81Ñ\82алиÑ\80аÑ\98 вики.",
        "config-profile-no-anon": "Неопходно је отворити налог",
        "config-profile-fishbowl": "Само овлашћени корисници",
        "config-profile-private": "Приватна вики",
        "config-skins": "Теме",
        "config-install-step-done": "готово",
        "config-install-step-failed": "није успело",
+       "config-install-extensions": "Обухвата екстензије",
+       "config-install-schema": "Прављење шеме",
+       "config-install-tables": "Прављење табела",
+       "config-install-keys": "Генеришем тајне кључеве",
        "config-install-mainpage-exists": "Главна страна већ постоји, прескакање",
+       "config-install-mainpage-failed": "Не могу да убацим главну страну: „$1”",
        "config-download-localsettings": "Преузми <code>LocalSettings.php</code>",
        "config-help": "помоћ",
        "config-help-tooltip": "кликните да проширите",
+       "config-nofile": "Не могу да пронађем датотеку „$1”. Није ли она била избрисана?",
        "config-skins-screenshots": "„$1” (снимци екрана: $2)",
        "config-screenshot": "снимак екрана",
        "mainpagetext": "<strong>Медијавики је успешно инсталиран.</strong>",
index 8762446..5af22ed 100644 (file)
@@ -209,14 +209,14 @@ class XhprofData {
                        foreach ( $this->inclusive as $func => $stats ) {
                                foreach ( $stats as $name => $value ) {
                                        if ( $value instanceof RunningStat ) {
-                                               $total = $value->m1 * $value->n;
+                                               $total = $value->getMean() * $value->getCount();
                                                $percent = ( isset( $main[$name] ) && $main[$name] )
                                                        ? 100 * $total / $main[$name]
                                                        : 0;
                                                $this->inclusive[$func][$name] = [
                                                        'total' => $total,
                                                        'min' => $value->min,
-                                                       'mean' => $value->m1,
+                                                       'mean' => $value->getMean(),
                                                        'max' => $value->max,
                                                        'variance' => $value->m2,
                                                        'percent' => $percent,
index 323c147..1efa9a1 100644 (file)
@@ -336,53 +336,51 @@ abstract class Database implements IDatabase, IMaintainableDatabase, LoggerAware
         * @since 1.18
         */
        final public static function factory( $dbType, $p = [] ) {
-               static $canonicalDBTypes = [
-                       'mysql' => [ 'mysqli' ],
-                       'postgres' => [],
-                       'sqlite' => [],
-                       'oracle' => [],
-                       'mssql' => [],
-               ];
-               static $classAliases = [
-                       'DatabaseMssql' => DatabaseMssql::class,
-                       'DatabaseMysqli' => DatabaseMysqli::class,
-                       'DatabaseSqlite' => DatabaseSqlite::class,
-                       'DatabasePostgres' => DatabasePostgres::class
+               // For database types with built-in support, the below maps type to IDatabase
+               // implementations. For types with multipe driver implementations (PHP extensions),
+               // an array can be used, keyed by extension name. In case of an array, the
+               // optional 'driver' parameter can be used to force a specific driver. Otherwise,
+               // we auto-detect the first available driver. For types without built-in support,
+               // an class named "Database<Type>" us used, eg. DatabaseFoo for type 'foo'.
+               static $builtinTypes = [
+                       'mssql' => DatabaseMssql::class,
+                       'mysql' => [ 'mysqli' => DatabaseMysqli::class ],
+                       'sqlite' => DatabaseSqlite::class,
+                       'postgres' => DatabasePostgres::class,
                ];
 
-               $driver = false;
                $dbType = strtolower( $dbType );
-               if ( isset( $canonicalDBTypes[$dbType] ) && $canonicalDBTypes[$dbType] ) {
-                       $possibleDrivers = $canonicalDBTypes[$dbType];
-                       if ( !empty( $p['driver'] ) ) {
-                               if ( in_array( $p['driver'], $possibleDrivers ) ) {
-                                       $driver = $p['driver'];
-                               } else {
-                                       throw new InvalidArgumentException( __METHOD__ .
-                                               " type '$dbType' does not support driver '{$p['driver']}'" );
-                               }
+               $class = false;
+               if ( isset( $builtinTypes[$dbType] ) ) {
+                       $possibleDrivers = $builtinTypes[$dbType];
+                       if ( is_string( $possibleDrivers ) ) {
+                               $class = $possibleDrivers;
                        } else {
-                               foreach ( $possibleDrivers as $posDriver ) {
-                                       if ( extension_loaded( $posDriver ) ) {
-                                               $driver = $posDriver;
-                                               break;
+                               if ( !empty( $p['driver'] ) ) {
+                                       if ( !isset( $possibleDrivers[$p['driver']] ) ) {
+                                               throw new InvalidArgumentException( __METHOD__ .
+                                                       " type '$dbType' does not support driver '{$p['driver']}'" );
+                                       } else {
+                                               $class = $possibleDrivers[$p['driver']];
+                                       }
+                               } else {
+                                       foreach ( $possibleDrivers as $posDriver => $possibleClass ) {
+                                               if ( extension_loaded( $posDriver ) ) {
+                                                       $class = $possibleClass;
+                                                       break;
+                                               }
                                        }
                                }
                        }
                } else {
-                       $driver = $dbType;
+                       $class = 'Database' . ucfirst( $dbType );
                }
 
-               if ( $driver === false || $driver === '' ) {
+               if ( $class === false ) {
                        throw new InvalidArgumentException( __METHOD__ .
                                " no viable database extension found for type '$dbType'" );
                }
 
-               $class = 'Database' . ucfirst( $driver );
-               if ( isset( $classAliases[$class] ) ) {
-                       $class = $classAliases[$class];
-               }
-
                if ( class_exists( $class ) && is_subclass_of( $class, IDatabase::class ) ) {
                        // Resolve some defaults for b/c
                        $p['host'] = isset( $p['host'] ) ? $p['host'] : false;
index d403ab5..a7f53df 100644 (file)
@@ -2128,15 +2128,6 @@ class WikiPage implements Page, IDBAccessObject {
                $edit->newContent = $content;
                $edit->oldContent = $this->getContent( Revision::RAW );
 
-               // NOTE: B/C for hooks! don't use these fields!
-               $edit->newText = $edit->newContent
-                       ? ContentHandler::getContentText( $edit->newContent )
-                       : '';
-               $edit->oldText = $edit->oldContent
-                       ? ContentHandler::getContentText( $edit->oldContent )
-                       : '';
-               $edit->pst = $edit->pstContent ? $edit->pstContent->serialize( $serialFormat ) : '';
-
                if ( $edit->output ) {
                        $edit->output->setCacheTime( wfTimestampNow() );
                }
index ad56afc..c6a10ae 100644 (file)
@@ -1005,10 +1005,10 @@ class CoreParserFunctions {
                if ( $argA == 'nowiki' ) {
                        // {{filepath: | option [| size] }}
                        $isNowiki = true;
-                       $parsedWidthParam = $parser->parseWidthParam( $argB );
+                       $parsedWidthParam = Parser::parseWidthParam( $argB );
                } else {
                        // {{filepath: [| size [|option]] }}
-                       $parsedWidthParam = $parser->parseWidthParam( $argA );
+                       $parsedWidthParam = Parser::parseWidthParam( $argA );
                        $isNowiki = ( $argB == 'nowiki' );
                }
 
index dcd16eb..831c1ff 100644 (file)
@@ -5210,7 +5210,7 @@ class Parser {
 
                                # Special case; width and height come in one variable together
                                if ( $type === 'handler' && $paramName === 'width' ) {
-                                       $parsedWidthParam = $this->parseWidthParam( $value );
+                                       $parsedWidthParam = self::parseWidthParam( $value );
                                        if ( isset( $parsedWidthParam['width'] ) ) {
                                                $width = $parsedWidthParam['width'];
                                                if ( $handler->validateParam( 'width', $width ) ) {
@@ -6053,11 +6053,12 @@ class Parser {
         * Parsed a width param of imagelink like 300px or 200x300px
         *
         * @param string $value
+        * @param bool $parseHeight
         *
         * @return array
         * @since 1.20
         */
-       public function parseWidthParam( $value ) {
+       public static function parseWidthParam( $value, $parseHeight = true ) {
                $parsedWidthParam = [];
                if ( $value === '' ) {
                        return $parsedWidthParam;
@@ -6065,7 +6066,7 @@ class Parser {
                $m = [];
                # (T15500) In both cases (width/height and width only),
                # permit trailing "px" for backward compatibility.
-               if ( preg_match( '/^([0-9]*)x([0-9]*)\s*(?:px)?\s*$/', $value, $m ) ) {
+               if ( $parseHeight && preg_match( '/^([0-9]*)x([0-9]*)\s*(?:px)?\s*$/', $value, $m ) ) {
                        $width = intval( $m[1] );
                        $height = intval( $m[2] );
                        $parsedWidthParam['width'] = $width;
index 6679098..a14afe0 100644 (file)
@@ -4,8 +4,6 @@
  * the usual skin elements but still using CSS, JS, and such via OutputPage and
  * ResourceLoader.
  *
- * Created on Sep 08, 2014
- *
  * Copyright © 2014 Wikimedia Foundation and contributors
  *
  * This program is free software; you can redistribute it and/or modify
index d3e453a..222a762 100644 (file)
@@ -4,8 +4,6 @@
  * the usual skin elements but still using CSS, JS, and such via OutputPage and
  * ResourceLoader.
  *
- * Created on Sep 08, 2014
- *
  * Copyright © 2014 Wikimedia Foundation and contributors
  *
  * This program is free software; you can redistribute it and/or modify
index 4c3ca54..9f666c2 100644 (file)
@@ -809,7 +809,7 @@ class SpecialPage implements MessageLocalizer {
        public function getFinalGroupName() {
                $name = $this->getName();
 
-               // Allow overbidding the group from the wiki side
+               // Allow overriding the group from the wiki side
                $msg = $this->msg( 'specialpages-specialpagegroup-' . strtolower( $name ) )->inContentLanguage();
                if ( !$msg->isBlank() ) {
                        $group = $msg->text();
index ab25b5d..975f8e9 100644 (file)
@@ -8,7 +8,7 @@ use DateTime;
  * Date input widget.
  *
  * @since 1.29
- * @copyright 2011-2015 MediaWiki Widgets Team and others; see AUTHORS.txt
+ * @copyright 2016 MediaWiki Widgets Team and others; see AUTHORS.txt
  * @license MIT
  */
 class DateInputWidget extends \OOUI\TextInputWidget {
index c42f537..21e3d79 100644 (file)
@@ -7,7 +7,7 @@ use OOUI\Tag;
 /**
  * Date-time input widget.
  *
- * @copyright 2011-2015 MediaWiki Widgets Team and others; see AUTHORS.txt
+ * @copyright 2016 MediaWiki Widgets Team and others; see AUTHORS.txt
  * @license MIT
  */
 class DateTimeInputWidget extends \OOUI\InputWidget {
index a3482fe..5ceed4c 100644 (file)
@@ -8,7 +8,7 @@ use OOUI\TextInputWidget;
 /**
  * Select and input widget.
  *
- * @copyright 2011-2015 MediaWiki Widgets Team and others; see AUTHORS.txt
+ * @copyright 2011-2017 MediaWiki Widgets Team and others; see AUTHORS.txt
  * @license MIT
  */
 class SelectWithInputWidget extends \OOUI\Widget {
index b126f5e..68cdad6 100644 (file)
@@ -7,7 +7,7 @@ use OOUI\MultilineTextInputWidget;
 /**
  * Widget to select multiple users.
  *
- * @copyright 2011-2015 MediaWiki Widgets Team and others; see AUTHORS.txt
+ * @copyright 2017 MediaWiki Widgets Team and others; see AUTHORS.txt
  * @license MIT
  */
 class UsersMultiselectWidget extends \OOUI\Widget {
index 7751439..85441b6 100644 (file)
        "specialpage-securitylevel-not-allowed-title": "Nie toegestaan",
        "cannotauth-not-allowed-title": "Geen toegang",
        "cannotauth-not-allowed": "U word nie toegelaat om die bladsy te gebruik nie",
-       "credentialsform-account": "Gebruikersnaam:"
+       "credentialsform-account": "Gebruikersnaam:",
+       "edit-error-short": "Fout: $1",
+       "edit-error-long": "Foute:\n\n$1"
 }
index f344c86..a714789 100644 (file)
        "doubleredirects": "تحويلات مزدوجة",
        "doubleredirectstext": "هذه الصفحة تعرض الصفحات التي تحول إلى صفحات تحويل أخرى.\nكل سطر يحتوي على وصلات للتحويلة الأولى والثانية وهدف التحويلة الثانية، والذي عادة ما يشير إلى صفحة الهدف \"الحقيقية\"، التي من المفترض أن تحول إليها التحويلة الأولى.\nالمدخلات <del>المشطوبة</del> صححت.",
        "double-redirect-fixed-move": "نُقلت [[$1]].\nحُدّثت تلقائيا وهي الآن تحويلة إلى [[$2]].",
-       "double-redirect-fixed-maintenance": "تصحيح تلقائي لتحويلة مزدوجة من [[$1]] إلى [[$2]] في مهمة صيانة.",
+       "double-redirect-fixed-maintenance": "تصحيح تلقائي لتحويلة مزدوجة من [[$1]] إلى [[$2]] في مهمة صيانة",
        "double-redirect-fixer": "مصلح التحويل",
        "brokenredirects": "تحويلات مكسورة",
        "brokenredirectstext": "التحويلات التالية تصل لصفحات غير موجودة:",
        "restrictionsfield-badip": "عنوان أيبي أو نطاق غير صحيح: $1",
        "restrictionsfield-label": "نطاقات الأيبي المسموح بها:",
        "restrictionsfield-help": "عنوان أيبي أو نطاق CIDR واحد لكل سطر. لتفعيل كل شيء، استخدم:\n<pre>0.0.0.0/0\n::/0</pre>",
+       "edit-error-short": "خطأ: $1",
+       "edit-error-long": "الأخطاء:\n\n$1",
        "revid": "المراجعة $1",
        "pageid": "معرف الصفحة $1",
        "rawhtml-notallowed": "لا يمكن استخدام وسوم &lt;html&gt; خارج الصفحات العادية.",
index 75fa204..de3b6af 100644 (file)
        "restrictionsfield-badip": "Direición o rangu IP inválidu: $1",
        "restrictionsfield-label": "Rangos d'IP permitíos:",
        "restrictionsfield-help": "Una única direición IP o rangu CIDR per llinia. P'activar toos, utiliza:<pre>0.0.0.0/0\n::/0</pre>",
+       "edit-error-short": "Error: $1",
+       "edit-error-long": "Errores:\n\n$1",
        "revid": "revisión $1",
        "pageid": "ID de páxina $1",
        "rawhtml-notallowed": "Les etiquetes &lt;html&gt; nun pueden usase fuera de les páxines normales.",
index 5ed6939..988ecdf 100644 (file)
        "changecredentials-submit": "Иҫәп мәғлүмәттәрен үҙгәртеү",
        "removecredentials": "Иҫәп мәғлүмәттәрен юйырға",
        "removecredentials-submit": "Иҫәп мәғлүмәттәрен юйырға",
-       "credentialsform-account": "Иҫәп яҙмаһы исеме:"
+       "credentialsform-account": "Иҫәп яҙмаһы исеме:",
+       "edit-error-short": "Хата: $1"
 }
index f7b939a..a03318a 100644 (file)
        "grouppage-sysop": "{{ns:project}}:Адміністрацыя",
        "grouppage-bureaucrat": "{{ns:project}}:Бюракраты",
        "grouppage-suppress": "{{ns:project}}:Падаўляльнікі_вэрсіяў",
-       "right-read": "прагляд старонак",
-       "right-edit": "рэдагаваньне старонак",
-       "right-createpage": "стварэньне старонак (акрамя старонак абмеркаваньняў)",
-       "right-createtalk": "стварэньне старонак абмеркаваньня",
-       "right-createaccount": "стварэньне новых рахункаў удзельніка",
+       "right-read": "Ð\9fрагляд старонак",
+       "right-edit": "Рэдагаваньне старонак",
+       "right-createpage": "Стварэньне старонак (акрамя старонак абмеркаваньняў)",
+       "right-createtalk": "Стварэньне старонак абмеркаваньня",
+       "right-createaccount": "Стварэньне новых рахункаў удзельнікаў",
        "right-autocreateaccount": "Аўтаматычны ўваход з вонкавага рахунку ўдзельніка",
        "right-minoredit": "пазначэньне рэдагаваньняў як дробныя",
        "right-move": "перанос старонак",
        "lockmanager-fail-closelock": "Немагчыма закрыць файл блякаваньня для «$1».",
        "lockmanager-fail-deletelock": "Немагчыма выдаліць файл блякаваньня для «$1».",
        "lockmanager-fail-acquirelock": "Немагчыма здабыць блякаваньне для «$1».",
-       "lockmanager-fail-openlock": "Немагчыма адкрыць файл блякаваньня для «$1».",
+       "lockmanager-fail-openlock": "Немагчыма адкрыць файл блякаваньня для «$1». Упэўніцеся, што вашая тэчка для загрузкі наладжаная слушна і што ваш вэб-сэрвэр мае дазвол на запіс у гэтую тэчку. Глядзіце https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgUploadDirectory для дадатковых зьвестак.",
        "lockmanager-fail-releaselock": "Немагчыма зьняць блякаваньне для «$1».",
        "lockmanager-fail-db-bucket": "Немагчыма скантактавацца з дастатковай колькасьцю базаў блякавньняў на ўчастку $1.",
        "lockmanager-fail-db-release": "Немагчыма зьняць блякаваньні для базы зьвестак $1.",
        "restrictionsfield-badip": "Няслушны IP-адрас ці дыяпазон: $1",
        "restrictionsfield-label": "Дазволеныя IP-дыяпазоны:",
        "restrictionsfield-help": "Адзін IP-адрас ці CIDR-дыяпазон на радок. Каб дазволіць усё, ужывайце:<pre>0.0.0.0/0\n::/0</pre>",
+       "edit-error-short": "Памылка: $1",
+       "edit-error-long": "Памылкі:\n\n$1",
        "revid": "вэрсія $1",
        "pageid": "Ідэнтыфікатар старонкі $1",
        "rawhtml-notallowed": "&lt;html&gt;-тэгі ня могуць быць выкарыстаныя па-за звычайнымі старонкамі.",
index 0042504..a569fc9 100644 (file)
        "linkaccounts-success-text": "Сметката беше свързана.",
        "linkaccounts-submit": "Свързване на сметки",
        "restrictionsfield-badip": "Невалиден IP-адрес или интервал от адреси: $1",
+       "edit-error-short": "Грешка: $1",
+       "edit-error-long": "Грешки:\n\n$1",
        "revid": "версия $1"
 }
index 22b831f..bf30b69 100644 (file)
@@ -36,7 +36,7 @@
        "tog-shownumberswatching": "धियान रखे वाला प्रयोगकर्ता लोग के संख्या देखावल जाव",
        "tog-oldsig": "राउर वर्तमान दसखत:",
        "tog-fancysig": "दसखत के विकी पाठ के रुप में उपयोग करीं (बिना ऑटोमेटिक कड़ी के)",
-       "tog-uselivepreview": "लà¤\97ातार à¤\9dलà¤\95 (लाà¤\87व à¤ªà¥\8dरà¥\80वà¥\8dयà¥\82) à¤\87सà¥\8dतà¥\87माल à¤\95à¤\87ल à¤\9cाव",
+       "tog-uselivepreview": "पनà¥\8dना à¤\95à¥\87 à¤°à¥\80लà¥\8bड à¤\95à¤\87लà¥\87 à¤¬à¤¿à¤¨à¤¾ à¤­à¥\80 à¤\9dलà¤\95 à¤¦à¥\87à¤\96ावल à¤\9cाय",
        "tog-forceeditsummary": "संपादन सारांश ना भरल गइल होखे त हमके सूचित कइल जाय",
        "tog-watchlisthideown": "धियानसूची से हमार खुद के संपादन छिपावल जाय",
        "tog-watchlisthidebots": "धियानसूची से बॉट संपादन छिपावल जाय",
        "anonpreviewwarning": "''रउआँ खाता में प्रवेश नइखीं भइल। सहेजब तब ए पन्ना के संपादन इतिहास में राउर आईपी पता दर्ज हो जाई।\"",
        "missingsummary": "'''याद दियावल जात बा:'''रउआँ एगो संपादन सारांश नइखीं दिहले। अगर फिर \"$1\" पर क्लिक करब, त राउर संपादन एकरे बिना सहेजा जाई।",
        "selfredirect": "<strong>चेतावनी:</strong> आप ई पन्ना के खुदे एही पर अनुप्रेषण क रहल बानी।\nया त आप अनुप्रेषण खातिर गलत लक्ष्य देत बानी, या आप गलत पन्ना के संपादन करत बानी।\nएक बेर अउरी \"$1\" क्लिक करब त, ओइसहूँ ई अनुप्रेषण बना दिहल जाई।",
-       "missingcommenttext": "नà¥\80à¤\9aà¥\87 à¤\8fà¤\97à¥\8b à¤\9fिपà¥\8dपणà¥\80 à¤­à¤°à¥\80à¤\82।",
+       "missingcommenttext": "एगो टिप्पणी भरीं।",
        "missingcommentheader": "'''याद दियावल जात बा:''' रउआँ एह कमेंट खातिर कौनों बिसय नइखीं दिहले। अगर आप \"$1\" पर क्लिक करब तब राउर संपादन एकरे बिना सहेजा जाई।",
        "summary-preview": "संपादन सारांश क झलक:",
        "subject-preview": "बिसय के झलक:",
        "watching": "ध्यानसूची में जाते हुए",
        "unwatching": "ध्यानसूची से हटते हुए",
        "enotif_reset": "सगरी पन्ना सभ देखल चिन्हित करीं",
+       "enotif_impersonal_salutation": "{{SITENAME}} प्रयोगकर्ता",
+       "enotif_subject_deleted": "$2 पन्ना $1 के हटा {{GENDER:$2|दिहलें|दिहली}}",
+       "enotif_minoredit": "ई एगो छोट संपादन बा",
        "created": "बनावल गईल",
+       "deletepage": "पन्ना हटाईं",
+       "confirm": "कन्फर्म",
+       "excontent": "सामग्री रहल: \"$1\"",
+       "exbeforeblank": "खाली करे से पहिले सामग्री: \"$1\"",
+       "delete-confirm": "$1 के हटाईं",
+       "delete-legend": "हटाईं",
        "actioncomplete": "काम पुरा भइल",
        "dellogpage": "हटवले के लिस्ट",
        "rollbacklink": "रोलबैक",
        "rollbacklinkcount": "रोलबैक $1 {{PLURAL:$1|संपादन|संपादन सब}}",
+       "changecontentmodel-title-label": "पन्ना टाइटिल",
+       "changecontentmodel-model-label": "नया बिसयसूची माडल",
+       "changecontentmodel-reason-label": "कारण:",
+       "changecontentmodel-submit": "बदलीं",
+       "logentry-contentmodel-change-revertlink": "वापस लीं",
        "protectlogpage": "सुरक्षा लॉग",
        "protectlogtext": "नीचे पन्ना सुरक्षा में भइल बदलावकुल के सूची बा।\nहाल में सुरक्षित पन्नन के सूची खातिर [[Special:ProtectedPages|सुरक्षित पन्नन के सूची]] देखीं।",
        "protectedarticle": "\"[[$1]]\" सुरक्षित कइल गइल",
        "imgmultigo": "जाईं!",
        "imgmultigoto": "$1 पन्ना पर जाईं",
        "autoredircomment": "पन्ना [[$1]] पर अनुप्रेषित कइल गइल",
+       "autosumm-new": "पन्ना बनावल गइल \"$1\" के साथ",
        "watchlisttools-clear": "धियानसूची साफ करीं",
        "watchlisttools-view": "प्रासंगिक बदलाव देखीं",
        "watchlisttools-edit": "धियानसूची देखीं आ संपादित करीं",
        "specialpages-group-wiki": "डेटा अउर औजार",
        "tag-filter": "[[Special:Tags|टैग]] छननी:",
        "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|टैग|टैग कुल}}]]: $2)",
+       "tag-mw-new-redirect": "नाया अनुप्रेषण",
        "tags-active-yes": "हँऽ",
        "tags-active-no": "ना",
        "tags-hitcount": "$1 {{PLURAL:$1|बदलाव}}",
index 00ca8a7..0ecd719 100644 (file)
        "subject-preview": "বিষয়ের প্রাকদর্শন:",
        "previewerrortext": "আপনার পরিবর্তনগুলি প্রাকদর্শন করার চেষ্টা করার সময় একটি ত্রুটি ঘটেছে।",
        "blockedtitle": "ব্যবহারকারীকে বাধা দেয়া হয়েছে",
-       "blockedtext": "<strong>আপনার ব্যবহারকারী নাম বা আইপি ঠিকানাটিকে সম্পাদনায় বাধাদান করা হয়েছে।</strong>\n\n$1 এই বাধাটি প্রদান করেছেন। বাধার কারণ হিসেবে বলা হয়েছে:<em>$2</em>।\n\n* বাধা শুরুর সময়:$8\n* বাধা উঠিয়ে নেয়ার সময়: $6\n* যাকে বাধাদান করা হয়েছে: $7\n\nআপনি $1 অথবা [[{{MediaWiki:Grouppage-sysop}}|প্রশাসকদের]] কারও সাথে এই বাধা সংক্রান্ত বিষয়ে আলোচনা করতে পারেন।\n\nআপনি \"(ব্যবহারকারীকে) ইমেইল করুন\" সুবিধাটি ব্যবহার করতে পারবেন না। তবে [[Special:Preferences|আপনার পছন্দ তালিকাতে]] যদি একটি বৈধ ইমেইল ঠিকানা নির্দিষ্ট করা হয়ে থাকে এবং সুবিধাটি ব্যবহারে যদি আপনাকে বাধা না দেওয়া হয়ে থাকে, তবে আপনি সুবিধাটি ব্যবহার করতে পারবেন।\n\nআপনার বর্তমান আইপি ঠিকানা হল $3, এবং আপনার বাধা নং হল #$5।\n\nদয়া করে আপনার যেকোন জিজ্ঞাসাতে উপরের সমস্ত বিবরণ অন্তর্ভুক্ত করুন।",
-       "autoblockedtext": "à¦\86পনার à¦\86à¦\87পি à¦ à¦¿à¦\95ানাà¦\9fিà¦\95à§\87 à¦¸à§\8dবয়à¦\82à¦\95à§\8dরিয়ভাবà§\87 à¦¸à¦®à§\8dপাদনায় à¦¬à¦¾à¦§à¦¾à¦¦à¦¾à¦¨ à¦\95রা à¦¹à¦¯à¦¼à§\87à¦\9bà§\87 à¦\95ারণ à¦\8fমন à¦\86রà§\87à¦\95à¦\9cন à¦¬à§\8dযবহারà¦\95ারà§\80 à¦\8fà¦\9fি à¦¬à§\8dযবহার à¦\95রà§\87à¦\9bà§\87ন, à¦¯à¦¾à¦\95à§\87 $1 à¦¬à¦¾à¦§à¦¾ à¦¦à¦¿à¦¯à¦¼à§\87à¦\9bà§\87ন।\nযà§\87 à¦\95ারণà§\87 à¦¬à¦¾à¦§à¦¾ à¦¦à§\87à¦\93য়া à¦¹à¦¯à¦¼à§\87à¦\9bà§\87 à¦¸à§\87à¦\9fি à¦¹à¦²:\n\n:<em>$2</em>\n\n* à¦¬à¦¾à¦§à¦¾ à¦¶à§\81রà§\81র à¦¸à¦®à¦¯à¦¼: $8\n* à¦¬à¦¾à¦§à¦¾ à¦¶à§\87ষà§\87র à¦¸à¦®à¦¯à¦¼: $6\n* à¦¯à¦¾à¦\95à§\87 à¦¬à¦¾à¦§à¦¾à¦¦à¦¾à¦¨ à¦\95রা à¦¹à¦¯à¦¼à§\87à¦\9bà§\87: $7\n\nà¦\86পনি $1-à¦\8fর à¦¸à¦¾à¦¥à§\87 à¦\95িà¦\82বা à¦\85নà§\8dয à¦¯à§\87à¦\95à§\8bন [[{{MediaWiki:Grouppage-sysop}}|পà§\8dরশাসà¦\95à§\87র]] à¦¸à¦¾à¦¥à§\87 à¦¯à§\8bà¦\97াযà§\8bà¦\97 à¦\95রà§\87 à¦\8fà¦\87 à¦¬à¦¾à¦§à¦¾ à¦¸à¦\82à¦\95à§\8dরানà§\8dত à¦¬à¦¿à¦·à¦¯à¦¼à§\87 à¦\86লà§\8bà¦\9aনা à¦\95রতà§\87 à¦ªà¦¾à¦°à§\87ন।\n\nলà¦\95à§\8dষà§\8dয à¦\95রà§\81ন, à¦¯à¦¦à¦¿ à¦\86পনি \"à¦\8fà¦\87 à¦¬à§\8dযবহারà¦\95ারà§\80à¦\95à§\87 à¦\87-মà§\87à¦\87ল à¦\95রà§\81ন\" à¦¸à§\81বিধাà¦\9fি à¦¬à§\8dযবহার à¦\95রতà§\87 à¦\9aান, à¦¤à¦¬à§\87 [[Special:Preferences|à¦\86পনার à¦ªà¦\9bনà§\8dদ à¦¤à¦¾à¦²à¦¿à¦\95াতà§\87]] à¦¯à¦¦à¦¿ à¦\8fà¦\95à¦\9fি à¦¬à§\88ধ à¦\87মà§\87à¦\87ল à¦ à¦¿à¦\95ানা à¦¨à¦¿à¦°à§\8dদিষà§\8dà¦\9f  à¦¥à¦¾à¦\95তà§\87 à¦¹à¦¬à§\87 à¦\8fবà¦\82 à¦\86পনার à¦¸à§\87à¦\9fি à¦¬à§\8dযবহারà§\87 à¦\95à§\8bন à¦¬à¦¾à¦§à¦¾ à¦¥à¦¾à¦\95তà§\87 à¦ªà¦¾à¦°à¦¬à§\87 à¦¨à¦¾à¥¤\n\nà¦\86পনার à¦¬à¦°à§\8dতমান à¦\86à¦\87পি à¦ à¦¿à¦\95ানা à¦¹à¦\9aà§\8dà¦\9bà§\87 $3, à¦\8fবà¦\82 à¦¬à¦¾à¦§à¦¾ à¦¨à¦\82 à¦¹à¦² #$5।\n\nদয়া করে আপনার যেকোন জিজ্ঞাসাতে উপরের সমস্ত বিবরণ অন্তর্ভুক্ত করুন।",
+       "blockedtext": "<strong>আপনার ব্যবহারকারী নাম বা আইপি ঠিকানাটিকে সম্পাদনায় বাধাদান করা হয়েছে।</strong>\n\n$1 এই বাধাটি প্রদান করেছেন। বাধার কারণ হিসেবে বলা হয়েছে:<em>$2</em>।\n\n* বাধা শুরুর সময়: $8\n* বাধা উঠিয়ে নেয়ার সময়: $6\n* যাকে বাধাদান করা হয়েছে: $7\n\nআপনি $1 অথবা অন্য [[{{MediaWiki:Grouppage-sysop}}|প্রশাসকদের]] সাথে এই বাধা সংক্রান্ত বিষয়ে আলোচনা করতে পারেন।\n\nআপনি \"ইমেইল করুন\" বৈশিষ্ট্যটি ব্যবহার করতে পারবেন না যদি না আপনার [[Special:Preferences|অ্যাকাউন্টের পছন্দসমূহে]] একটি বৈধ ইমেইল ঠিকানা নির্দিষ্ট না করা হয়ে থাকে এবং আপনাকে এটি ব্যবহার করা থেকে অবরুদ্ধ না করা হয়ে থাকে।\n\nআপনার বর্তমান আইপি ঠিকানা হল $3, এবং আপনার বাধা নং হল #$5।\nদয়া করে আপনার যেকোন জিজ্ঞাসাতে উপরের সমস্ত বিবরণ অন্তর্ভুক্ত করুন।",
+       "autoblockedtext": "à¦\86পনার à¦\86à¦\87পি à¦ à¦¿à¦\95ানাà¦\9fিà¦\95à§\87 à¦¸à§\8dবয়à¦\82à¦\95à§\8dরিয়ভাবà§\87 à¦¸à¦®à§\8dপাদনায় à¦¬à¦¾à¦§à¦¾à¦¦à¦¾à¦¨ à¦\95রা à¦¹à¦¯à¦¼à§\87à¦\9bà§\87 à¦\95ারণ à¦\8fমন à¦\86রà§\87à¦\95à¦\9cন à¦¬à§\8dযবহারà¦\95ারà§\80 à¦\8fà¦\9fি à¦¬à§\8dযবহার à¦\95রà§\87à¦\9bà§\87ন, à¦¯à¦¾à¦\95à§\87 $1 à¦¬à¦¾à¦§à¦¾ à¦¦à¦¿à¦¯à¦¼à§\87à¦\9bà§\87ন।\nযà§\87 à¦\95ারণà§\87 à¦¬à¦¾à¦§à¦¾ à¦¦à§\87à¦\93য়া à¦¹à¦¯à¦¼à§\87à¦\9bà§\87 à¦¸à§\87à¦\9fি à¦¹à¦²:\n\n:<em>$2</em>\n\n* à¦¬à¦¾à¦§à¦¾ à¦¶à§\81রà§\81র à¦¸à¦®à¦¯à¦¼: $8\n* à¦¬à¦¾à¦§à¦¾ à¦¶à§\87ষà§\87র à¦¸à¦®à¦¯à¦¼: $6\n* à¦¯à¦¾à¦\95à§\87 à¦¬à¦¾à¦§à¦¾à¦¦à¦¾à¦¨ à¦\95রা à¦¹à¦¯à¦¼à§\87à¦\9bà§\87: $7\n\nà¦\86পনি $1-à¦\8fর à¦¸à¦¾à¦¥à§\87 à¦\95িà¦\82বা à¦\85নà§\8dয à¦¯à§\87à¦\95à§\8bন [[{{MediaWiki:Grouppage-sysop}}|পà§\8dরশাসà¦\95à§\87র]] à¦¸à¦¾à¦¥à§\87 à¦¯à§\8bà¦\97াযà§\8bà¦\97 à¦\95রà§\87 à¦\8fà¦\87 à¦¬à¦¾à¦§à¦¾ à¦¸à¦\82à¦\95à§\8dরানà§\8dত à¦¬à¦¿à¦·à¦¯à¦¼à§\87 à¦\86লà§\8bà¦\9aনা à¦\95রতà§\87 à¦ªà¦¾à¦°à§\87ন।\n\nলà¦\95à§\8dষà§\8dয à¦\95রà§\81ন, à¦\86পনি \"à¦\8fà¦\87 à¦¬à§\8dযবহারà¦\95ারà§\80à¦\95à§\87 à¦\87-মà§\87à¦\87ল à¦\95রà§\81ন\" à¦¬à§\88শিষà§\8dà¦\9fà§\8dযà¦\9fি à¦¬à§\8dযবহার à¦\95রতà§\87 à¦ªà¦¾à¦°à¦¬à§\87ন à¦¨à¦¾ à¦¯à¦¦à¦¿ à¦¨à¦¾ à¦\86পনার [[Special:Preferences|à¦\85à§\8dযাà¦\95াà¦\89নà§\8dà¦\9fà§\87র à¦ªà¦\9bনà§\8dদসমà§\82হà§\87]] à¦\8fà¦\95à¦\9fি à¦¬à§\88ধ à¦\87মà§\87à¦\87ল à¦ à¦¿à¦\95ানা à¦¨à¦¿à¦¬à¦¨à§\8dধিত à¦¨à¦¾ à¦¥à¦¾à¦\95à§\87 à¦\8fবà¦\82 à¦\86পনাà¦\95à§\87 à¦\8fà¦\9fি à¦¬à§\8dযবহার à¦\95রা à¦¥à§\87à¦\95à§\87 à¦\85বরà§\81দà§\8dধ à¦¨à¦¾ à¦\95রা à¦¹à¦¯à¦¼à§\87 à¦¥à¦¾à¦\95à§\87।\n\nà¦\86পনার à¦¬à¦°à§\8dতমান à¦\86à¦\87পি à¦ à¦¿à¦\95ানা à¦¹à¦\9aà§\8dà¦\9bà§\87 $3, à¦\8fবà¦\82 à¦¬à¦¾à¦§à¦¾ à¦¨à¦\82 à¦¹à¦² #$5।\nদয়া করে আপনার যেকোন জিজ্ঞাসাতে উপরের সমস্ত বিবরণ অন্তর্ভুক্ত করুন।",
        "systemblockedtext": "আপনার ব্যবহারকারী নাম অথবা আইপি ঠিকানাটিকে স্বয়ংক্রিয়ভাবে মিডিয়াউইকি দ্বারা বাধাদান করা হয়েছে। যে কারণটি দেওয়া হয়েছে, সেটি হল:\n\n:<em>$2</em>\n\n* বাধা শুরুর সময়: $8\n* বাধা উঠিয়ে নেয়ার সময়: $6\n* যাকে বাধাদান করা হয়েছে: $7\n\nআপনার বর্তমান আইপি ঠিকানাটি হল $3।\nদয়া করে আপনার যেকোন জিজ্ঞাসাতে উপরের সমস্ত বিবরণ অন্তর্ভুক্ত করুন।",
        "blockednoreason": "কোন কারণ দেওয়া হয়নি",
        "whitelistedittext": "পাতায় সম্পাদনা করতে অনুগ্রহ করে $1 করুন।",
        "blocklist-params": "বাধাদানের প্যারামিটার",
        "blocklist-reason": "কারণ",
        "ipblocklist-submit": "অনুসন্ধান",
-       "ipblocklist-localblock": "সà§\8dথানà§\80য় à¦¬à§\8dলà¦\95",
+       "ipblocklist-localblock": "সà§\8dথানà§\80য় à¦¬à¦¾à¦§à¦¾",
        "ipblocklist-otherblocks": "অন্যান্য {{PLURAL:$1|বাধাঁ|বাধাঁসমূহ}}",
        "infiniteblock": "অসীম",
        "expiringblock": "$1 তারিখের $2 এ মেয়াদোত্তীর্ণ হবে",
        "ipb_expiry_old": "মেয়াদোত্তীর্ণের সময় অতীত হয়েছে।",
        "ipb_expiry_temp": "লুকানো ব্যবহারকারীনাম বাধা চিরস্থায়ী হতে হবে।",
        "ipb_hide_invalid": "এই অ্যাকাউন্ট বাধা দেয়া সম্ভব নয়; এটি {{PLURAL:$1|একের অধিক|$1টি}} সম্পাদনা করেছে।",
-       "ipb_already_blocked": "\"$1\" à¦\87তিমধà§\8dযà§\87 à¦¬à§\8dলà¦\95",
+       "ipb_already_blocked": "\"$1\" à¦\87তিমধà§\8dযà§\87 à¦¬à¦¾à¦§à¦¾à¦ªà§\8dরাপà§\8dত।",
        "ipb-needreblock": "$1 ইতিমধ্যেই বাধাপ্রাপ্ত আছেন। আপনি কি সেটিংস পরিবর্তন করতে চান?",
        "ipb-otherblocks-header": "অন্যান্য {{PLURAL:$1|বাধা|বাধাসমূহ}}",
        "unblock-hideuser": "আপনি এই ব্যবহারকারীকে বাধা মুক্ত করতে পারবেন না, কারণ এই ব্যবহারকারীদের ব্যবহারকারী নাম লুকানো রয়েছে।",
        "softblockrangesreason": "বেনামী অবদান আপনার আইপি ঠিকানা থেকে অনুমোদিত নয় ($1)। দয়া করে প্রবেশ করুন।",
        "xffblockreason": "X-Forwarded-For হেডারে থাকা আইপি ঠিকানাটি ব্লক করা হয়েছে, হয় এটি আপনার নিজের অথবা আপনার ব্যবহৃত প্রক্সি সার্ভারের আইপি ঠিকানা। ব্লক করার কারণ হল: $1",
        "cant-see-hidden-user": "আপনি যে ব্যবহারকারীকে ব্লক বা লুকিয়ে রাখতে চাচ্ছেন তাকে আগে থেকেই ব্লক বা লুকিয়ে রাখা হয়েছে। এছাড়া আপনার Hideuser অধিকার নেই, তাই আপনি ব্যবহারকারীর অবস্থা পরিবর্তন করতে পারবেন না।",
-       "ipbblocked": "à¦\86পনি à¦\85নà§\8dয à¦\95à§\8bন à¦¬à§\8dযবহারà¦\95রà§\80à¦\95à§\87 à¦¬à§\8dলà¦\95 à¦¬à¦¾ à¦\86নবà§\8dলà¦\95 à¦\95রতà§\87 à¦ªà¦¾à¦°à¦¬à§\87ন à¦¨à¦¾, à¦\95ারণ à¦\86পনি à¦¨à¦¿à¦\9cà§\87à¦\87 à¦¬à§\8dলà¦\95 à¦°à¦¯à¦¼à§\87à¦\9bà§\87ন",
+       "ipbblocked": "à¦\86পনি à¦\85নà§\8dয à¦\95à§\8bন à¦¬à§\8dযবহারà¦\95রà§\80à¦\95à§\87 à¦¬à¦¾à¦§à¦¾à¦¦à¦¾à¦¨ à¦¬à¦¾ à¦¬à¦¾à¦§à¦¾ à¦¬à¦¾à¦¤à¦¿à¦² à¦\95রতà§\87 à¦ªà¦¾à¦°à¦¬à§\87ন à¦¨à¦¾, à¦\95ারণ à¦\86পনি à¦¨à¦¿à¦\9cà§\87à¦\87 à¦\85বরà§\81দà§\8dধ à¦°à¦¯à¦¼à§\87à¦\9bà§\87ন।",
        "ipbnounblockself": "আপনি নিজেকে আনব্লক করতে পারবেন না",
        "lockdb": "ডাটাবেজ অবরুদ্ধ করা হোক",
        "unlockdb": "ডাটাবেজ খুলে দেওয়া হোক",
        "restrictionsfield-badip": "আইপি ঠিকানা অথবা পরিসীমা অবৈধ: $1",
        "restrictionsfield-label": "অনুমোদিত আইপি পরিসীমা:",
        "restrictionsfield-help": "লাইন প্রতি একটি আইপি ঠিকানা বা CIDR পরিসীমা। সবকিছু সক্রিয় করতে ব্যবহার করুন: :<pre>0.0.0.0/0\n::/0</pre>",
+       "edit-error-short": "ত্রুটি: $1",
+       "edit-error-long": "ত্রুটিসমূহ:\n\n$1",
        "revid": "সংশোধন $1",
        "pageid": "পাতার আইডি $1",
        "rawhtml-notallowed": "&lt;html&gt; ট্যাগ স্বাভাবিক পৃষ্ঠাগুলির বাহিরে ব্যবহার করা যাবে না।",
index 6f94d64..95a0ba1 100644 (file)
        "uncategorizedimages": "Fitxers sense categoria",
        "uncategorizedtemplates": "Plantilles sense categoria",
        "uncategorized-categories-exceptionlist": " # Conté una llista de categories no no s'haurien de mencionar a Special:UncategorizedCategories. Una per línia, començant amb «*». Les línies que comencin amb un altre caràcter (incloent l'espai en blanc) són ignorades. Utilitzeu «#» per a comentaris.",
-       "unusedcategories": "Categories sense cap ús",
+       "unusedcategories": "Categories no utilitzades",
        "unusedimages": "Fitxers no utilitzats",
        "wantedcategories": "Categories demanades",
        "wantedpages": "Pàgines demanades",
        "userjsispublic": "Tingueu en compte que les subpàgines de JavaScript no haurien de contenir dades confidencials perquè poden ser visibles per altres usuaris.",
        "restrictionsfield-badip": "Adreça o interval d'IP no vàlid: $1",
        "restrictionsfield-label": "Intervals d'IP permesos:",
+       "edit-error-short": "Error: $1",
+       "edit-error-long": "Errors:\n\n$1",
        "revid": "revisió $1",
        "pageid": "ID de pàgina $1",
        "gotointerwiki": "A punt d’abandonar {{SITENAME}}",
index 722e3cf..f6da1db 100644 (file)
        "recentchanges-submit": "نیشانی بدە",
        "rcfilters-legend-heading": "<strong>پێرستی ناوبڕەکان:</strong>",
        "rcfilters-other-review-tools": "ئامرازەکانی تری بەسەرداچوونەوە",
+       "rcfilters-group-results-by-page": "ئەنجامەکان بە پێی پەڕە کۆبکەرەوە",
        "rcfilters-activefilters": "پاڵێوەرە چالاکەکان",
        "rcfilters-advancedfilters": "پاڵوێنە پێشکەوتووەکان",
+       "rcfilters-limit-title": "ئەنجام بۆ نیشاندان",
+       "rcfilters-limit-and-date-label": "$1 گۆڕانکاری، $2",
        "rcfilters-days-show-days": "$1 {{PLURAL:$1|ڕۆژ}}",
        "rcfilters-quickfilters": "پاڵوێنە پاشەکەوتکراوەکان",
        "rcfilters-savedqueries-defaultlabel": "پاڵوێنە پاشەکەوتکراوەکان",
+       "rcfilters-savedqueries-setdefault": "بە بنەڕەتی کارای بکە",
+       "rcfilters-savedqueries-new-name-label": "ناو",
+       "rcfilters-savedqueries-new-name-placeholder": "وەسفی کاری پاڵوێنەکە بکە",
+       "rcfilters-savedqueries-apply-label": "دروستکردنی پاڵوێنە",
+       "rcfilters-savedqueries-cancel-label": "ھەڵوەشاندنەوە",
+       "rcfilters-savedqueries-add-new-title": "پاشەکەوتکردنی ھەڵبژاردەکانی پاڵوێنەکەی ئێستا",
+       "rcfilters-restore-default-filters": "ھێنانەوەی پاڵوێنە بنچینەییەکان",
        "rcfilters-clear-all-filters": "ھەموو فیلتەرەکان بسڕەوە",
+       "rcfilters-show-new-changes": "نیشاندانی نوێترین دەستکارییەکان",
        "rcfilters-search-placeholder": "پاڵاوتنی گۆڕانکارییە نوێیەکان (بگەڕێ یان دەست بە نووسین بکە)",
-       "rcfilters-filterlist-title": "فیلتەرەکان",
+       "rcfilters-empty-filter": "ھیچ پاڵوێنەیەک چالاک نییە. ھەموو بەشدارییەکان نیشان دەدرێن.",
+       "rcfilters-filterlist-title": "پاڵێوکەکان",
        "rcfilters-filterlist-whatsthis": "ئەمە چۆن کاردەکات؟",
+       "rcfilters-filterlist-feedbacklink": "ڕای خۆتمان پێ بڵێ لەسەر ئەم ئامرازە نوێیانە",
+       "rcfilters-highlightbutton-title": "ئەنجامەکان ڕووناک بکە",
        "rcfilters-highlightmenu-title": "ڕەنگێکی نوێ ھەڵبژێرە",
+       "rcfilters-filtergroup-authorship": "بەشدارییەکان",
        "rcfilters-filter-editsbyself-label": "گۆڕانکارییەکانت",
        "rcfilters-filter-editsbyself-description": "بەشدارییەکانی خۆت.",
        "rcfilters-filter-editsbyother-label": "گۆڕانکارییەکانی کەسانی تر",
        "rcfilters-filter-editsbyother-description": "ھەموو گۆڕانکارییەکان بێجگە لەوەی خۆت",
+       "rcfilters-filtergroup-userExpLevel": "ئەزموونی بەکارھێنەران",
        "rcfilters-filter-user-experience-level-registered-label": "تۆمارکراو",
        "rcfilters-filter-user-experience-level-registered-description": "ئەو بەکارھێنەرانەی لە ژوورەوەن",
        "rcfilters-filter-user-experience-level-unregistered-label": "تۆمارنەکراوەکان",
        "rcfilters-filter-user-experience-level-unregistered-description": "ئەو بەکارھێنەرانەی لە ژوورەوە نین",
        "rcfilters-filter-user-experience-level-newcomer-label": "تازەکاران",
        "rcfilters-filter-user-experience-level-newcomer-description": "کەمتر لە ١٠ دەستکاری و ٤ ڕۆژ لە چالاک بوون",
+       "rcfilters-filter-user-experience-level-learner-label": "خوێندکاران",
+       "rcfilters-filter-user-experience-level-learner-description": "ئەو بەکارھێنەرە تۆمارکراوانەی ئاستی ئەزموونەکەیان دەکەوێتە نێوان «تازەکاران» و «بەکارھێنەرانی پێشکەوتوو.»",
        "rcfilters-filter-user-experience-level-experienced-label": "بەکارھێنەرانی پێشکەوتوو",
        "rcfilters-filter-user-experience-level-experienced-description": "زیاتر لە ٣٠ ڕۆژ لە چالاکی و ٥٠٠ دەستکاری",
+       "rcfilters-filtergroup-automated": "دەستکارییە خۆگەڕەکان",
        "rcfilters-filter-bots-label": "بۆت",
+       "rcfilters-filter-bots-description": "ئەو دەستکارییانەی بە ئامرازە خۆگەڕەکان کراون",
        "rcfilters-filter-humans-label": "مرۆڤ (بۆت نییە)",
        "rcfilters-filter-humans-description": "دەستکارییەکانی لەلایەن مرۆڤەکانەوە ئەنجام دراون",
        "rcfilters-filter-patrolled-label": "پاسدراو",
        "rcfilters-filter-patrolled-description": "ئەو دەستکارییانەی وەک پاسدراو دیاریکراون",
        "rcfilters-filter-unpatrolled-label": "پاسنەدراوەکان",
        "rcfilters-filter-unpatrolled-description": "ئەو دەستکارییانەی وەک پاسدراو دیارینەکراون",
+       "rcfilters-filtergroup-significance": "بەسوود",
        "rcfilters-filter-minor-label": "دەستکارییە بچووکەکان",
        "rcfilters-filter-minor-description": "ئەو دەستکارییانەی کە دەستکاریکەر وەک بچووک ناوی بردووە",
        "rcfilters-filter-major-label": "دەستکارییە نا-بچووکەکان",
        "rcfilters-filtergroup-watchlist": "پەڕەکانی لە پێڕستی چاودێریتن",
        "rcfilters-filter-watchlist-watched-label": "لە پێرستی چاودێری",
        "rcfilters-filter-watchlist-watched-description": "گۆڕانکاری لە پەڕەکانی کە لە پێڕستی چاودێریتن.",
+       "rcfilters-filter-watchlist-watchednew-label": "گۆڕانکارییە نوێکانی پێڕستی چاودێری",
        "rcfilters-filter-watchlist-notwatched-label": "لە پێڕستی چاودێریت نییە",
+       "rcfilters-filter-watchlist-notwatched-description": "ھەمووشتێک جگە لە گۆڕانکاریی پەڕەکانی پێڕستی چاودێرییەکەت.",
+       "rcfilters-filter-watchlistactivity-unseen-label": "گۆڕانکارییە نەبینراوەکان",
+       "rcfilters-filter-watchlistactivity-unseen-description": "گۆڕانکاریی ئەو پەڕانەی سەردانت نەکردوون لەوەتەی گۆڕانکارییان تێدا کراوە.",
+       "rcfilters-filter-watchlistactivity-seen-label": "گۆڕانکارییە بینراوەکان",
        "rcfilters-filtergroup-changetype": "جۆری گۆڕانکاری",
        "rcfilters-filter-pageedits-label": "دەستکارییەکانی پەڕە",
+       "rcfilters-filter-pageedits-description": "دەستکارییەکانی ناوەڕۆکی ویکیپیدیا، لێدوانەکان، وەسفی پۆلەکان...",
        "rcfilters-filter-newpages-label": "دروستکردنی پەڕەکان",
+       "rcfilters-filter-newpages-description": "ئەو دەستکارییانەی پەڕەی نوێ دروست دەکەن.",
        "rcfilters-filter-categorization-label": "گۆڕانکاری پۆلەکان",
        "rcfilters-filter-logactions-label": "کردارە لۆگییەکان",
+       "rcfilters-filter-logactions-description": "کردارە بەڕێوەبەرییەکان، دروستکردنی ھەژمارەکان، سڕینەوەی پەڕەکان، بارکردنەکان...",
+       "rcfilters-filtergroup-lastRevision": "دوایین پێداچوونەوەکان",
+       "rcfilters-filter-lastrevision-label": "دوایین پێداچوونەوە",
+       "rcfilters-filter-lastrevision-description": "تەنیا دوایین گۆڕانکاری سەر پەڕەکان.",
+       "rcfilters-filter-previousrevision-label": "دوایین گۆڕانکاری نا",
+       "rcfilters-filter-previousrevision-description": "ھەموو ئەو گۆڕانکارییەی «نوێترین وەشان» نین.",
+       "rcfilters-view-tags": "دەستکارییە تاگکراوەکان",
+       "rcfilters-view-tags-help-icon-tooltip": "زیاتر بزانە لەسەر دەستکارییە تاگکراوەکان",
+       "rcfilters-liveupdates-button": "نوێکردنەوەی زیندوو",
        "rcnotefrom": "ژێرەوە {{PLURAL:$5|گۆڕانکارییەکەیە|گۆڕانکارییەکانە}} لە <strong>$3، $4</strong>ەوە (ھەتا <strong>$1</strong> نیشان دراوە).",
        "rclistfrom": "گۆڕانکارییە نوێکان نیشان بدە بە دەستپێکردن لە $3 $2",
        "rcshowhideminor": "دەستکارییە بچووکەکان $1",
index b79aaec..fa1f3db 100644 (file)
        "restrictionsfield-badip": "Neplatná IP adresa nebo rozsah: $1",
        "restrictionsfield-label": "Povolené rozsahy IP adres:",
        "restrictionsfield-help": "Jedna IP adresa nebo CIDR rozsah na řádek. Všechno povolíte pomocí:<pre>0.0.0.0/0\n::/0</pre>",
+       "edit-error-short": "Chyba: $1",
+       "edit-error-long": "Chyby:\n\n$1",
        "revid": "revize $1",
        "pageid": "Stránka s ID $1",
        "rawhtml-notallowed": "Značky &lt;html&gt; nelze používat mimo běžné stránky.",
index df15897..9a5e276 100644 (file)
        "removecredentials-invalidsubpage": "$1 er ikke en gyldig type for akkreditiver.",
        "removecredentials-success": "Dine akkreditiver er blevet fjernet.",
        "credentialsform-provider": "Akkreditivtype:",
-       "credentialsform-account": "Kontonavn:"
+       "credentialsform-account": "Kontonavn:",
+       "edit-error-short": "Fejl: $1"
 }
index 3f1771e..828804d 100644 (file)
        "lockmanager-fail-closelock": "Die Sperrdatei für „$1“ konnte nicht geschlossen werden.",
        "lockmanager-fail-deletelock": "Die Sperrdatei für „$1“ konnte nicht gelöscht werden.",
        "lockmanager-fail-acquirelock": "Die Sperre für „$1“ konnte nicht abgerufen werden.",
-       "lockmanager-fail-openlock": "Die Sperrdatei für „$1“ konnte nicht geöffnet werden.",
+       "lockmanager-fail-openlock": "Die Sperrdatei für „$1“ konnte nicht geöffnet werden. Stelle sicher, dass dein Hochladerepositorium korrekt konfiguriert ist und dein Webserver eine Berechtigung zum Beschreiben dieses Repositoriums hat. Siehe https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgUploadDirectory für weitere Informationen.",
        "lockmanager-fail-releaselock": "Die Sperre für „$1“ konnte nicht freigegeben werden.",
        "lockmanager-fail-db-bucket": "Es konnte mit Sammelabruf $1 keine ausreichende Anzahl an Verbindungen zu Sperrdatenbanken hergestellt werden.",
        "lockmanager-fail-db-release": "Die Sperren auf Datenbank $1 konnten nicht freigegeben werden.",
        "restrictionsfield-badip": "Ungültige IP-Adresse oder ungültiger IP-Adressbereich: $1",
        "restrictionsfield-label": "Erlaubte IP-Adressbereiche:",
        "restrictionsfield-help": "Eine IP-Adresse oder ein CIDR-Bereich pro Zeile. Um alles zu aktivieren, verwende:\n<pre>\n0.0.0.0/0\n::/0\n</pre>",
+       "edit-error-short": "Fehler: $1",
+       "edit-error-long": "Fehler:\n\n$1",
        "revid": "Version $1",
        "pageid": "Seitenkennung $1",
        "rawhtml-notallowed": "&lt;html&gt;-Tags können nicht außerhalb von normalen Seiten verwendet werden.",
index 5669489..c63cda9 100644 (file)
        "youremail": "Διεύθυνση ηλεκτρονικού ταχυδρομείου:",
        "username": "{{GENDER:$1|Όνομα χρήστη}}:",
        "prefs-memberingroups": "{{GENDER:$2|Μέλος}} της {{PLURAL:$1|ομάδας|ομάδων}}:",
-       "group-membership-link-with-expiry": "$1 (μέχρι τις $3 στις $4)",
+       "group-membership-link-with-expiry": "$1 (μέχρι τις $2)",
        "prefs-registration": "Χρόνος εγγραφής:",
        "yourrealname": "Πραγματικό όνομα:",
        "yourlanguage": "Γλώσσα:",
        "userrights-nodatabase": "Η βάση δεδομένων $1 δεν υπάρχει ή δεν είναι τοπική.",
        "userrights-changeable-col": "Ομάδες που μπορείτε να αλλάξετε",
        "userrights-unchangeable-col": "Ομάδες που δεν μπορείτε να αλλάξετε",
-       "userrights-expiry-current": "Λήγει στις $2 στις $3",
+       "userrights-expiry-current": "Λήγει $1",
        "userrights-expiry-none": "Δεν λήγει",
        "userrights-expiry": "Λήγει:",
        "userrights-expiry-existing": "Υπάρχουσα ώρα λήξης: $3, $2",
        "rcfilters-activefilters": "Ενεργά φίλτρα",
        "rcfilters-advancedfilters": "Σύνθετα Φίλτρα",
        "rcfilters-limit-title": "Αλλαγές προς εμφάνιση",
-       "rcfilters-limit-and-date-label": "{{PLURAL:$1|αλλαγή|$1 αλλαγές}}, $2",
+       "rcfilters-limit-and-date-label": "$1 {{PLURAL:$1|αλλαγή|αλλαγές}}, $2",
        "rcfilters-date-popup-title": "Χρονική περίοδος αναζήτησης",
        "rcfilters-days-title": "Πρόσφατες ημέρες",
        "rcfilters-hours-title": "Πρόσφατες ώρες",
        "recentchangeslinked-feed": "Σχετικές αλλαγές",
        "recentchangeslinked-toolbox": "Σχετικές αλλαγές",
        "recentchangeslinked-title": "Αλλαγές σχετικές με το «$1»",
-       "recentchangeslinked-summary": "Εισαγάγετε ένα όνομα σελίδας για να δείτε τις αλλαγές σε σελίδες που συνδέονται ή από αυτή τη σελίδα. Για να δείτε τα μέλη μιας κατηγορίας, εισαγάγετε Κατηγορία:Όνομα κατηγορίας.)\nΑλλαγές σε σελίδες στην [[Special:Watchlist|λίστα παρακολούθησής]] σας είναι '''έντονες'''.",
+       "recentchangeslinked-summary": "Εισαγάγετε ένα όνομα σελίδας για να δείτε τις αλλαγές σε σελίδες που συνδέονται ή από αυτή τη σελίδα. (Για να δείτε τα μέλη μιας κατηγορίας, εισαγάγετε Κατηγορία:Όνομα κατηγορίας.)\nΑλλαγές σε σελίδες στην [[Special:Watchlist|λίστα παρακολούθησής]] σας είναι <strong>έντονες</strong>.",
        "recentchangeslinked-page": "Όνομα σελίδας:",
        "recentchangeslinked-to": "Εμφάνιση αλλαγών σε σελίδες συνδεδεμένες με την δεδομένη σελίδα αντί αυτής",
        "recentchanges-page-added-to-category": "Η σελίδα [[:$1]] προστέθηκε στην κατηγορία",
        "fileexists-forbidden": "Ένα αρχείο με αυτό το όνομα υπάρχει ήδη˙ εάν ακόμη θέλετε να επιφορτώσωτε αυτό το αρχείο παρακαλώ πηγαίνετε πίσω και επιφορτώστε το υπό ένα νέο όνομα. [[File:$1|thumb|center|$1]]",
        "fileexists-shared-forbidden": "Ένα αρχείο με αυτό το όνομα υπάρχει ήδη στο χώρο φύλαξης κοινών αρχείων.\nΕάν θέλετε παρ' όλ' αυτά να επιφορτώσετε το δικό σας αρχείο, παρακαλούμε πηγαίνετε πίσω και χρησιμοποιήστε ένα νέο όνομα. [[File:$1|thumb|center|$1]]",
        "fileexists-no-change": "Το ανεβασμένο αρχείο είναι ένα ακριβές αντίγραφο της τρέχουσας έκδοσης του <strong>[[:$1]]</strong>.",
-       "fileexists-duplicate-version": "Το ανεβασμένο αρχείο είναι ένα ακριβές αντίγραφο {{{{PLURAL:$2|παλιότερης έκδοσης|παλιότερων εκδόσεων}} του <strong>[[:$1]]</strong>.",
+       "fileexists-duplicate-version": "Το ανεβασμένο αρχείο είναι ένα ακριβές αντίγραφο {{PLURAL:$2|παλιότερης έκδοσης|παλιότερων εκδόσεων}} του <strong>[[:$1]]</strong>.",
        "file-exists-duplicate": "Αυτό το αρχείο είναι διπλότυπο {{PLURAL:$1|αυτού του αρχείου|αυτών των αρχείων}}:",
        "file-deleted-duplicate": "Αρχείο παρόμοιο με αυτό εδώ ([[:$1]]) έχει προηγουμένως διαγραφεί. Θα πρέπει να ελέγξετε το ιστορικό διαγραφής του πριν να προχωρήσετε στην επαναφόρτωσή του.",
        "file-deleted-duplicate-notitle": "Ένα αρχείο πανομοιότυπο με αυτό έχει προηγουμένως διαγραφεί, και ο τίτλος έχει κατασταλεί.\nΘα πρέπει να ζητήσετε από κάποιον με την δυνατότητα προβολής κατεσταλμένου αρχείου δεδομένων για να εξετάσει την κατάσταση προτού προχωρήσετε σε επαναφόρτωση του.",
        "listfiles_size": "Μέγεθος",
        "listfiles_description": "Περιγραφή",
        "listfiles_count": "Εκδόσεις",
-       "listfiles-show-all": "Συμπερίληψη παλαιών εκδόσεων των εικόνων",
+       "listfiles-show-all": "Συμπερίληψη παλαιών εκδόσεων αρχείων",
        "listfiles-latestversion": "Τρέχουσα έκδοση",
        "listfiles-latestversion-yes": "Ναι",
        "listfiles-latestversion-no": "Όχι",
        "doubleredirects": "Διπλές ανακατευθύνσεις",
        "doubleredirectstext": "Αυτή η σελίδα καταγράφει σελίδες οι οποίες ανακατευθύνουν σε άλλες σελίδες ανακατεύθυνσης. \nΚάθε σειρά περιέχει συνδέσμους προς την πρώτη και τη δεύτερη ανακατεύθυνση, όπως επίσης και προς τον προορισμό της δεύτερης ανακατεύθυνσης, η οποία και είναι συνήθως η «πραγματική» σελίδα προορισμού στην οποία πρέπει να δείχνει η πρώτη ανακατεύθυνση. \nΤα <del>διαγεγραμμένα</del> λήμματα έχουν επιλυθεί.",
        "double-redirect-fixed-move": "Η [[$1]] έχει μετακινηθεί.\nΕνημερώθηκε αυτόματα και τώρα είναι ανακατεύθυνση στην [[$2]].",
-       "double-redirect-fixed-maintenance": "Αυτόματη διόρθωση διπλής ανακατεύθυνσης από [[$1]] σε [[$2]] σε εργασία συντήρησης.",
+       "double-redirect-fixed-maintenance": "Αυτόματη διόρθωση διπλής ανακατεύθυνσης από [[$1]] σε [[$2]] σε εργασία συντήρησης",
        "double-redirect-fixer": "Διορθωτής ανακατευθύνσεων",
        "brokenredirects": "Λανθασμένες ανακατευθύνσεις",
        "brokenredirectstext": "Οι παρακάτω ανακατευθύνσεις οδηγούν σε σελίδες που δεν υπάρχουν:",
index 4cabfda..3726ae9 100644 (file)
        "lockmanager-fail-closelock": "Could not close lock file for \"$1\".",
        "lockmanager-fail-deletelock": "Could not delete lock file for \"$1\".",
        "lockmanager-fail-acquirelock": "Could not acquire lock for \"$1\".",
-       "lockmanager-fail-openlock": "Could not open lock file for \"$1\".",
+       "lockmanager-fail-openlock": "Could not open lock file for \"$1\". Make sure your upload directory is configured correctly and your web server has permission to write to that directory. See https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgUploadDirectory for more information.",
        "lockmanager-fail-releaselock": "Could not release lock for \"$1\".",
        "lockmanager-fail-db-bucket": "Could not contact enough lock databases in bucket $1.",
        "lockmanager-fail-db-release": "Could not release locks on database $1.",
        "restrictionsfield-badip": "Invalid IP address or range: $1",
        "restrictionsfield-label": "Allowed IP ranges:",
        "restrictionsfield-help": "One IP address or CIDR range per line. To enable everything, use:<pre>0.0.0.0/0\n::/0</pre>",
+       "edit-error-short": "Error: $1",
+       "edit-error-long": "Errors:\n\n$1",
        "revid": "revision $1",
        "pageid": "page ID $1",
        "rawhtml-notallowed": "&lt;html&gt; tags cannot be used outside of normal pages.",
index 0b642fc..31585fa 100644 (file)
        "restrictionsfield-badip": "Malvalida IP-adreso de la intervalo: $1",
        "restrictionsfield-label": "Permesita IP-intervalo:",
        "restrictionsfield-help": "Unu IP-adreso aŭ CIDR-intervalo per linio. Por permesigi ĉion, uzu:<pre>0.0.0.0/0</code>\n<code>::/0</pre>",
+       "edit-error-short": "Eraro: $1",
+       "edit-error-long": "Eraroj\n\n$1",
        "revid": "revizio $1",
        "pageid": "Identigilo de paĝo $1"
 }
index 7e49b45..3bf879f 100644 (file)
        "lockmanager-fail-closelock": "No se pudo cerrar la referencia para el archivo de bloqueo de \"$1\".",
        "lockmanager-fail-deletelock": "No se pudo eliminar el archivo de bloqueo para \"$1\".",
        "lockmanager-fail-acquirelock": "No pudo adquirir el bloqueo para \"$1\".",
-       "lockmanager-fail-openlock": "No se pudo abrir el archivo de bloqueo para \"$1\".",
+       "lockmanager-fail-openlock": "No se pudo abrir el archivo de bloqueo para \"$1\". Por favor verifica que el directorio de subidas está configurado correctamente y que tu servidor web tiene permisos de escritura en ese directorio. Ver https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgUploadDirectory para más información.",
        "lockmanager-fail-releaselock": "No se pudo liberar el bloqueo de \"$1\".",
        "lockmanager-fail-db-bucket": "No se pudo contactar con las suficientes bases de datos del conjunto $1.",
        "lockmanager-fail-db-release": "No se pudieron liberar los bloqueos registrados en la base de datos $1.",
        "listduplicatedfiles": "Lista de archivos con duplicados",
        "listduplicatedfiles-summary": "Esta es una lista de archivos donde la versión más reciente es un duplicado de la versión más reciente de un archivo con otro nombre. Solo se tienen en cuenta archivos locales.",
        "listduplicatedfiles-entry": "[[:File:$1|$1]] tiene [[$3|{{PLURAL:$2|un duplicado|$2 duplicados}}]].",
-       "unusedtemplates": "Plantillas sin uso",
+       "unusedtemplates": "Plantillas no utilizadas",
        "unusedtemplatestext": "Aquí se enumeran todas las páginas en el espacio de nombres {{ns:template}} que no están incluidas en otras páginas. Recuerda mirar lo que enlaza a las plantillas antes de borrarlas.",
        "unusedtemplateswlh": "otros enlaces",
        "randompage": "Página aleatoria",
        "doubleredirects": "Redirecciones dobles",
        "doubleredirectstext": "Esta página contiene una lista de páginas que redirigen a otras páginas de redirección.\nCada fila contiene enlaces a la segunda y tercera redirección, así como la primera línea de la segunda redirección, en la que usualmente se encontrará el artículo «real» al que la primera redirección debería apuntar.\nLas entradas <del>tachadas</del> han sido resueltas.",
        "double-redirect-fixed-move": "[[$1]] se ha trasladado.\nSe actualizó automáticamente y ahora redirecciona a [[$2]].",
-       "double-redirect-fixed-maintenance": "Corrigiendo automáticamente la doble redirección desde [[$1]] a [[$2]] en un trabajo de mantenimiento.",
+       "double-redirect-fixed-maintenance": "Corrección automática de redirección doble de [[$1]] a [[$2]] mediante una tarea de mantenimiento",
        "double-redirect-fixer": "Corrector de redirecciones",
        "brokenredirects": "Redirecciones incorrectas",
        "brokenredirectstext": "Las siguientes redirecciones enlazan a páginas que no existen:",
        "uncategorizedimages": "Archivos sin categorizar",
        "uncategorizedtemplates": "Plantillas sin categorizar",
        "uncategorized-categories-exceptionlist": "# Contiene una lista de categorías que no deberían figurar en Special:UncategorizedCategories. Una categoría por línea, empezando por «*». Las líneas que empiecen por otro carácter (espacios en blanco incluidos) se ignorarán. Usa «#» para añadir comentarios.",
-       "unusedcategories": "Categorías sin uso",
-       "unusedimages": "Archivos sin uso",
+       "unusedcategories": "Categorías no utilizadas",
+       "unusedimages": "Archivos no utilizados",
        "wantedcategories": "Categorías requeridas",
        "wantedpages": "Páginas requeridas",
        "wantedpages-summary": "Lista de páginas inexistentes con el mayor número de enlaces a ellas, excluyendo páginas que son solo redirecciones a ellas. Para ver una lista de páginas inexistentes con redirecciones apuntando a ellas, consulta [[{{#special:BrokenRedirects}}|la lista de redirecciones rotas]].",
        "restrictionsfield-badip": "Dirección o intervalo IP no válidos: $1",
        "restrictionsfield-label": "Intervalos de IP permitidos:",
        "restrictionsfield-help": "Una dirección IP o intervalo de CIDR por renglón. Para activarlo todo, utiliza <pre>0.0.0.0/0\n::/0</pre>",
+       "edit-error-short": "Error: $1",
+       "edit-error-long": "Errores:\n\n$1",
        "revid": "revisión $1",
        "pageid": "ID de página $1",
        "rawhtml-notallowed": "No se pueden emplear las etiquetas &lt;html&gt; si no es en las páginas normales.",
index 3210396..706d8ba 100644 (file)
        "restrictionsfield-badip": "Vigane IP-aadress või -aadressivahemik: $1",
        "restrictionsfield-label": "Lubatud IP-aadressivahemikud:",
        "restrictionsfield-help": "Üks IP-aadress või CIDR-vahemik rea kohta. Et lubada kõik, kasuta järgmist süntaksit:<pre>0.0.0.0/0\n::/0</pre>",
+       "edit-error-short": "Tõrge: $1",
+       "edit-error-long": "Tõrked:\n\n$1",
        "revid": "redaktsioon $1",
        "pageid": "lehekülje identifikaator $1",
        "rawhtml-notallowed": "&lt;html&gt;-silte ei saa kasutada mujal kui harilikel lehekülgedel.",
index f22cb84..a92336b 100644 (file)
        "doubleredirects": "Birbideratze bikoitzak",
        "doubleredirectstext": "Lerro bakoitzean lehen eta bigarren birzuzenketetarako loturak ikus daitezke, eta baita edukia daukan edo eduki beharko lukeen orrialderako lotura ere. Lehen birzuzenketak azken honetara <del>zuzendu</del> beharko luke.",
        "double-redirect-fixed-move": "«[[$1]]» orria mugitu da.\nAutomatikoki eguneratu da, eta orain «[[$2]]» orrira darama.",
-       "double-redirect-fixed-maintenance": "«[[$1]]» orritik «[[$2]]» orrira egindako birbideratze bikoitza automatikoki konpondua, mantentze lanak egitean.",
+       "double-redirect-fixed-maintenance": "[[$1]] orritik [[$2]] orrira egindako birbideratze bikoitza automatikoki konpondua, mantentze lanak egitean.",
        "double-redirect-fixer": "Birbideratze zuzentzailea",
        "brokenredirects": "Hautsitako birzuzenketak",
        "brokenredirectstext": "Ondorengo birbideratze hauek existitzen ez diren orrietara bideratuta daude:",
index e668234..09db746 100644 (file)
        "recentchanges-noresult": "در فاصله زمانی ارائه شده هیچ تغییری با این معیارهای صورت نگرفته است",
        "recentchanges-timeout": "این جستجو زمانش تمام شد. اگر مایلید کلیدواژه‌های دیگری را جستجو کنید.",
        "recentchanges-network": "به دلیل خطای فنی، نتیجه‌ای بدست نیامد. لطفاً برای تازه‌سازی صفحخ مجدداُ تلاش کنید.",
+       "recentchanges-notargetpage": "نام صفحه را در بالا وارد کنید تا تغییرات مرتبط با آن صفحه را مشاهده کنید.",
        "recentchanges-feed-description": "آخرین تغییرات ویکی را در این خوراک پی‌گیری کنید.",
        "recentchanges-label-newpage": "این ویرایش صفحه‌ای تازه ایجاد کرد",
        "recentchanges-label-minor": "این یک ویرایش جزئی است",
        "rcfilters-advancedfilters": "پالایه‌‌های پیشرفته",
        "rcfilters-limit-title": "تعداد تغییرات برای نمایش",
        "rcfilters-limit-and-date-label": "$1 {{PLURAL:$1|تغییر|تغییر}}, $2",
+       "rcfilters-date-popup-title": "دوره زمانی برای جستجو",
        "rcfilters-days-title": "روزهای اخیر",
        "rcfilters-hours-title": "ساعت‌های اخیر",
        "rcfilters-days-show-days": "$1 {{PLURAL:$1|روز|روز}}",
        "rcfilters-watchlist-showupdated": "تغییرات صفحاتی که شما بازدید نکردید از زمانی که تغییرات رخ داده به صورت <strong>پررنگ</strong>، با نشانگر توپر.",
        "rcfilters-preference-label": "مخفی کردن نسخه بهبود یافته تغییرات اخیر",
        "rcfilters-preference-help": "تغییرات رابط کاربری که در سال ۲۰۱۷ اضافه شده است را بر می‌گرداند.",
+       "rcfilters-filter-showlinkedfrom-label": "نمایش تغییرات صفحاتی که پیوند شده‌اند",
+       "rcfilters-filter-showlinkedfrom-option-label": "<strong>صفحات پیوند به</strong> صفحهٔ انتخاب شده",
+       "rcfilters-filter-showlinkedto-label": "نمایش تغییرات در صفحاتی که در ون این صفحه پیوند شده‌اند",
+       "rcfilters-filter-showlinkedto-option-label": "<strong>صفحات پیوند شده</strong> درون صفحهٔ انتخاب شده",
+       "rcfilters-target-page-placeholder": "وارد کردن نام صفحه (یا رده)",
        "rcnotefrom": "در زیر تغییرات از <strong>$3, $4</strong> (تا <strong>$1</strong> {{PLURAL:$5|نشان داده شده‌است|نشان داده شده‌اند}}).",
        "rclistfromreset": "از نو کردن انتخاب تاریخ",
        "rclistfrom": "نمایش تغییرات تازه با شروع از $3 $2",
        "doubleredirects": "تغییرمسیرهای دوتایی",
        "doubleredirectstext": "این صفحه فهرستی از صفحه‌های تغییرمسیری را ارائه می‌کند که به صفحهٔ تغییرمسیر دیگری اشاره می‌کنند.\nهر سطر دربردارندهٔ پیوندهایی به تغییرمسیر اول و دوم و همچنین مقصد تغییرمسیر دوم است، که معمولاً صفحهٔ مقصد واقعی است و نخستین تغییرمسیر باید به آن اشاره کند.\nموارد <del>خط خورده</del> درست شده‌اند.",
        "double-redirect-fixed-move": "[[$1]] انتقال داده شده‌است.\n\nبه صورت خودکار به‌روز شده‌است و  تغییرمسیری به [[$2]] داده شد.",
-       "double-redirect-fixed-maintenance": "رفع خودکار تغییرمسیر دوتایی از [[$1]] به [[$2]] در روند نگهداری.",
+       "double-redirect-fixed-maintenance": "رفع خودکار تغییرمسیر دوتایی از [[$1]] به [[$2]] در روند نگهداری",
        "double-redirect-fixer": "تعمیرکار تغییرمسیرها",
        "brokenredirects": "تغییرمسیرهای خراب",
        "brokenredirectstext": "تغییرمسیرهای زیر به یک صفحهٔ ناموجود پیوند دارند:",
        "import-mapping-subpage": "درون‌ریزی به عنوان زیرصفحهٔ صفحهٔ:",
        "import-upload-filename": "نام پرونده:",
        "import-upload-username-prefix": "پیشوند میان‌ویکی:",
+       "import-assign-known-users": "نسبت دادن ویرایش‌ها به کاربران محلی در صورتی که نام به صورت محلی وجود دارد",