Merge "Change Title::getPreviousRevisionID (and next) to ignore PRIMARY"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Tue, 28 Mar 2017 15:09:28 +0000 (15:09 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Tue, 28 Mar 2017 15:09:28 +0000 (15:09 +0000)
374 files changed:
.mailmap
.travis.yml
CREDITS
Gruntfile.js
RELEASE-NOTES-1.29
autoload.php
composer.json
docs/hooks.txt
includes/Block.php
includes/DefaultSettings.php
includes/EditPage.php
includes/Revision.php
includes/Setup.php
includes/TemplateParser.php
includes/Title.php
includes/TrackingCategories.php
includes/WatchedItemStore.php
includes/Xml.php
includes/api/ApiMain.php
includes/api/ApiQueryAllPages.php
includes/api/i18n/de.json
includes/api/i18n/fr.json
includes/api/i18n/gl.json
includes/api/i18n/ja.json
includes/api/i18n/ko.json
includes/api/i18n/pl.json
includes/cache/MessageCache.php
includes/changes/ChangesList.php
includes/changes/ChangesListBooleanFilter.php [new file with mode: 0644]
includes/changes/ChangesListBooleanFilterGroup.php [new file with mode: 0644]
includes/changes/ChangesListFilter.php [new file with mode: 0644]
includes/changes/ChangesListFilterGroup.php [new file with mode: 0644]
includes/changes/ChangesListStringOptionsFilter.php [new file with mode: 0644]
includes/changes/ChangesListStringOptionsFilterGroup.php [new file with mode: 0644]
includes/changes/EnhancedChangesList.php
includes/context/ContextSource.php
includes/deferred/SiteStatsUpdate.php
includes/diff/DifferenceEngine.php
includes/filerepo/file/File.php
includes/htmlform/HTMLFormField.php
includes/http/Http.php
includes/http/MWHttpRequest.php
includes/import/WikiRevision.php
includes/installer/DatabaseUpdater.php
includes/installer/MssqlUpdater.php
includes/installer/MysqlUpdater.php
includes/installer/OracleUpdater.php
includes/installer/SqliteUpdater.php
includes/installer/i18n/bg.json
includes/installer/i18n/br.json
includes/installer/i18n/hu.json
includes/installer/i18n/mk.json
includes/installer/i18n/pt-br.json
includes/installer/i18n/th.json
includes/jobqueue/JobQueue.php
includes/libs/CSSMin.php
includes/libs/CryptRand.php
includes/libs/filebackend/FileBackendStore.php
includes/libs/filebackend/SwiftFileBackend.php
includes/libs/rdbms/database/Database.php
includes/libs/rdbms/database/DatabaseMysqlBase.php
includes/objectcache/ObjectCache.php
includes/page/Article.php
includes/page/ImageHistoryPseudoPager.php
includes/parser/MWTidy.php
includes/parser/Parser.php
includes/profiler/output/ProfilerOutputStats.php
includes/resourceloader/ResourceLoader.php
includes/resourceloader/ResourceLoaderImage.php
includes/resourceloader/ResourceLoaderImageModule.php
includes/resourceloader/ResourceLoaderJqueryMsgModule.php
includes/resourceloader/ResourceLoaderModule.php
includes/resourceloader/ResourceLoaderOOUIImageModule.php
includes/resourceloader/ResourceLoaderWikiModule.php
includes/search/SearchIndexFieldDefinition.php
includes/skins/Skin.php
includes/specialpage/ChangesListSpecialPage.php
includes/specialpage/QueryPage.php
includes/specialpage/WantedQueryPage.php
includes/specials/SpecialAllMessages.php
includes/specials/SpecialAllPages.php
includes/specials/SpecialChangeCredentials.php
includes/specials/SpecialEmailuser.php
includes/specials/SpecialRecentchanges.php
includes/specials/SpecialRecentchangeslinked.php
includes/specials/SpecialSearch.php
includes/specials/SpecialWatchlist.php
includes/tidy/RemexCompatFormatter.php [new file with mode: 0644]
includes/tidy/RemexCompatMunger.php [new file with mode: 0644]
includes/tidy/RemexDriver.php [new file with mode: 0644]
includes/tidy/RemexMungerData.php [new file with mode: 0644]
includes/upload/UploadFromUrl.php
includes/user/User.php
includes/widget/SearchInputWidget.php
includes/widget/search/InterwikiSearchResultSetWidget.php
jsduck.json
languages/LanguageCode.php [new file with mode: 0644]
languages/LanguageConverter.php
languages/classes/LanguageAz.php
languages/classes/LanguageKk.php
languages/data/Names.php
languages/i18n/aeb-arab.json
languages/i18n/af.json
languages/i18n/ang.json
languages/i18n/ar.json
languages/i18n/arq.json
languages/i18n/ast.json
languages/i18n/atj.json [new file with mode: 0644]
languages/i18n/az.json
languages/i18n/ba.json
languages/i18n/be-tarask.json
languages/i18n/be.json
languages/i18n/bg.json
languages/i18n/bho.json
languages/i18n/bn.json
languages/i18n/bqi.json
languages/i18n/br.json
languages/i18n/bs.json
languages/i18n/ca.json
languages/i18n/ce.json
languages/i18n/ceb.json
languages/i18n/ckb.json
languages/i18n/cs.json
languages/i18n/csb.json
languages/i18n/cu.json
languages/i18n/cy.json
languages/i18n/da.json
languages/i18n/de.json
languages/i18n/diq.json
languages/i18n/el.json
languages/i18n/en-gb.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/frr.json
languages/i18n/fy.json
languages/i18n/gl.json
languages/i18n/gsw.json
languages/i18n/he.json
languages/i18n/hi.json
languages/i18n/hr.json
languages/i18n/hu-formal.json [new file with mode: 0644]
languages/i18n/hu.json
languages/i18n/id.json
languages/i18n/ilo.json
languages/i18n/inh.json
languages/i18n/it.json
languages/i18n/ja.json
languages/i18n/jv.json
languages/i18n/ka.json
languages/i18n/km.json
languages/i18n/ko.json
languages/i18n/lb.json
languages/i18n/lt.json
languages/i18n/map-bms.json
languages/i18n/mg.json
languages/i18n/mhr.json
languages/i18n/mk.json
languages/i18n/mr.json
languages/i18n/my.json
languages/i18n/nan.json
languages/i18n/nb.json
languages/i18n/nl.json
languages/i18n/nn.json
languages/i18n/oc.json
languages/i18n/pl.json
languages/i18n/pt.json
languages/i18n/qqq.json
languages/i18n/rm.json
languages/i18n/ro.json
languages/i18n/roa-tara.json
languages/i18n/ru.json
languages/i18n/rue.json
languages/i18n/sco.json
languages/i18n/sd.json
languages/i18n/se.json
languages/i18n/sh.json
languages/i18n/shn.json
languages/i18n/si.json
languages/i18n/sk.json
languages/i18n/sl.json
languages/i18n/sr-ec.json
languages/i18n/sr-el.json
languages/i18n/su.json
languages/i18n/sv.json
languages/i18n/tcy.json
languages/i18n/tet.json
languages/i18n/tr.json
languages/i18n/uk.json
languages/i18n/wa.json
languages/i18n/yi.json
languages/i18n/yue.json
languages/i18n/zh-hans.json
languages/i18n/zh-hant.json
languages/messages/MessagesAtj.php [new file with mode: 0644]
languages/messages/MessagesPnb.php
maintenance/archives/patch-image-user-index-2.sql [new file with mode: 0644]
maintenance/archives/patch-image-user-index.sql
maintenance/createCommonPasswordCdb.php
maintenance/jsduck/categories.json
maintenance/mssql/archives/patch-alter-table-oldimage.sql [new file with mode: 0644]
maintenance/mssql/tables.sql
maintenance/parse.php
maintenance/tables.sql
package.json
resources/Resources.php
resources/lib/jquery.ui/PATCHES [new file with mode: 0644]
resources/lib/jquery.ui/themes/smoothness/PATCHES [deleted file]
resources/lib/oojs-ui/oojs-ui-apex.js
resources/lib/oojs-ui/oojs-ui-core-apex.css
resources/lib/oojs-ui/oojs-ui-core-mediawiki.css
resources/lib/oojs-ui/oojs-ui-core.js
resources/lib/oojs-ui/oojs-ui-mediawiki.js
resources/lib/oojs-ui/oojs-ui-toolbars-apex.css
resources/lib/oojs-ui/oojs-ui-toolbars-mediawiki.css
resources/lib/oojs-ui/oojs-ui-toolbars.js
resources/lib/oojs-ui/oojs-ui-widgets-apex.css
resources/lib/oojs-ui/oojs-ui-widgets-mediawiki.css
resources/lib/oojs-ui/oojs-ui-widgets.js
resources/lib/oojs-ui/oojs-ui-windows-apex.css
resources/lib/oojs-ui/oojs-ui-windows-mediawiki.css
resources/lib/oojs-ui/oojs-ui-windows.js
resources/lib/oojs-ui/themes/apex/icons-interactions.json
resources/lib/oojs-ui/themes/apex/icons-moderation.json
resources/lib/oojs-ui/themes/apex/images/icons/beta-invert.png [deleted file]
resources/lib/oojs-ui/themes/apex/images/icons/beta-invert.svg [deleted file]
resources/lib/oojs-ui/themes/apex/images/icons/beta.png [deleted file]
resources/lib/oojs-ui/themes/apex/images/icons/beta.svg [deleted file]
resources/lib/oojs-ui/themes/apex/images/icons/logo-wikimediaDiscovery-invert.png [deleted file]
resources/lib/oojs-ui/themes/apex/images/icons/logo-wikimediaDiscovery-invert.svg [deleted file]
resources/lib/oojs-ui/themes/apex/images/icons/logo-wikimediaDiscovery.png [deleted file]
resources/lib/oojs-ui/themes/apex/images/icons/logo-wikimediaDiscovery.svg [deleted file]
resources/lib/oojs-ui/themes/apex/images/icons/ribbonPrize-invert.png [deleted file]
resources/lib/oojs-ui/themes/apex/images/icons/ribbonPrize-invert.svg [deleted file]
resources/lib/oojs-ui/themes/apex/images/icons/ribbonPrize.png [deleted file]
resources/lib/oojs-ui/themes/apex/images/icons/ribbonPrize.svg [deleted file]
resources/lib/oojs-ui/themes/mediawiki/icons-interactions.json
resources/lib/oojs-ui/themes/mediawiki/icons-moderation.json
resources/lib/oojs-ui/themes/mediawiki/icons-wikimedia.json
resources/lib/oojs-ui/themes/mediawiki/images/icons/beta-invert.png [deleted file]
resources/lib/oojs-ui/themes/mediawiki/images/icons/beta-invert.svg [deleted file]
resources/lib/oojs-ui/themes/mediawiki/images/icons/beta-progressive.png [deleted file]
resources/lib/oojs-ui/themes/mediawiki/images/icons/beta-progressive.svg [deleted file]
resources/lib/oojs-ui/themes/mediawiki/images/icons/beta.png [deleted file]
resources/lib/oojs-ui/themes/mediawiki/images/icons/beta.svg [deleted file]
resources/lib/oojs-ui/themes/mediawiki/images/icons/ribbonPrize-invert.png [deleted file]
resources/lib/oojs-ui/themes/mediawiki/images/icons/ribbonPrize-invert.svg [deleted file]
resources/lib/oojs-ui/themes/mediawiki/images/icons/ribbonPrize-progressive.png [deleted file]
resources/lib/oojs-ui/themes/mediawiki/images/icons/ribbonPrize-progressive.svg [deleted file]
resources/lib/oojs-ui/themes/mediawiki/images/icons/ribbonPrize.png [deleted file]
resources/lib/oojs-ui/themes/mediawiki/images/icons/ribbonPrize.svg [deleted file]
resources/lib/oojs-ui/themes/mediawiki/images/indicators/alert-progressive.png [deleted file]
resources/lib/oojs-ui/themes/mediawiki/images/indicators/alert-progressive.svg [deleted file]
resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-down-progressive.png [deleted file]
resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-down-progressive.svg [deleted file]
resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-ltr-progressive.png [deleted file]
resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-ltr-progressive.svg [deleted file]
resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-rtl-progressive.png [deleted file]
resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-rtl-progressive.svg [deleted file]
resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-up-progressive.png [deleted file]
resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-up-progressive.svg [deleted file]
resources/lib/oojs-ui/themes/mediawiki/images/indicators/clear-progressive.png [deleted file]
resources/lib/oojs-ui/themes/mediawiki/images/indicators/clear-progressive.svg [deleted file]
resources/lib/oojs-ui/themes/mediawiki/images/indicators/required-progressive.png [deleted file]
resources/lib/oojs-ui/themes/mediawiki/images/indicators/required-progressive.svg [deleted file]
resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-ltr-progressive.png [deleted file]
resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-ltr-progressive.svg [deleted file]
resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-rtl-progressive.png [deleted file]
resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-rtl-progressive.svg [deleted file]
resources/lib/oojs-ui/themes/mediawiki/indicators.json
resources/src/jquery/images/jquery.arrowSteps.divider-ltr.png [deleted file]
resources/src/jquery/images/jquery.arrowSteps.divider-rtl.png [deleted file]
resources/src/jquery/images/jquery.arrowSteps.head-ltr.png [deleted file]
resources/src/jquery/images/jquery.arrowSteps.head-rtl.png [deleted file]
resources/src/jquery/images/jquery.arrowSteps.tail-ltr.png [deleted file]
resources/src/jquery/images/jquery.arrowSteps.tail-rtl.png [deleted file]
resources/src/jquery/jquery.arrowSteps.css [deleted file]
resources/src/jquery/jquery.arrowSteps.js [deleted file]
resources/src/jquery/jquery.color.js
resources/src/jquery/jquery.makeCollapsible.js
resources/src/jquery/jquery.qunit.completenessTest.js [deleted file]
resources/src/jquery/jquery.suggestions.js
resources/src/mediawiki.action/mediawiki.action.view.postEdit.js
resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.FilterGroup.js
resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.FilterItem.js
resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.FiltersViewModel.js
resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
resources/src/mediawiki.rcfilters/mw.rcfilters.init.js
resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.CapsuleItemWidget.monobook.less [new file with mode: 0644]
resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.ChangesListWrapperWidget.less
resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterCapsuleMultiselectWidget.less
resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterGroupWidget.less
resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterWrapperWidget.less
resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FiltersListWidget.less
resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.Overlay.monobook.less [new file with mode: 0644]
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.CapsuleItemWidget.js
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ChangesListWrapperWidget.js
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterCapsuleMultiselectWidget.js
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterGroupWidget.js
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterItemHighlightButton.js
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterItemWidget.js
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterWrapperWidget.js
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FormWrapperWidget.js
resources/src/mediawiki.skinning/content.parsoid.less
resources/src/mediawiki.special/mediawiki.special.apisandbox.css
resources/src/mediawiki.special/mediawiki.special.changecredentials.js [new file with mode: 0644]
resources/src/mediawiki.special/mediawiki.special.search.commonsInterwikiWidget.js
resources/src/mediawiki.special/mediawiki.special.search.interwikiwidget.styles.less
resources/src/mediawiki.special/mediawiki.special.search.styles.css
resources/src/mediawiki.special/mediawiki.special.userlogin.signup.js
resources/src/mediawiki.widgets/mw.widgets.DateInputWidget.js
resources/src/mediawiki.widgets/mw.widgets.DateInputWidget.less
resources/src/mediawiki.widgets/mw.widgets.SearchInputWidget.js
resources/src/mediawiki.widgets/mw.widgets.TitleOptionWidget.js
resources/src/mediawiki/htmlform/htmlform.Checker.js [new file with mode: 0644]
resources/src/mediawiki/mediawiki.Upload.BookletLayout.js
resources/src/mediawiki/mediawiki.jqueryMsg.js
resources/src/mediawiki/mediawiki.js
resources/src/mediawiki/mediawiki.user.blockcookie.js [deleted file]
resources/src/mediawiki/page/ready.js
tests/common/TestsAutoLoader.php
tests/parser/preprocess/All_system_messages.expected
tests/parser/preprocess/All_system_messages.txt
tests/phpunit/includes/GlobalFunctions/GlobalTest.php
tests/phpunit/includes/OutputPageTest.php
tests/phpunit/includes/TemplateParserTest.php
tests/phpunit/includes/XmlTest.php
tests/phpunit/includes/api/ApiMainTest.php
tests/phpunit/includes/changes/ChangesListBooleanFilterGroupTest.php [new file with mode: 0644]
tests/phpunit/includes/changes/ChangesListBooleanFilterTest.php [new file with mode: 0644]
tests/phpunit/includes/changes/ChangesListFilterGroupTest.php [new file with mode: 0644]
tests/phpunit/includes/changes/ChangesListFilterTest.php [new file with mode: 0644]
tests/phpunit/includes/changes/ChangesListStringOptionsFilterGroupTest.php [new file with mode: 0644]
tests/phpunit/includes/changes/RecentChangeTest.php
tests/phpunit/includes/libs/CSSMinTest.php
tests/phpunit/includes/password/UserPasswordPolicyTest.php
tests/phpunit/includes/rcfeed/RCFeedIntegrationTest.php
tests/phpunit/includes/resourceloader/ResourceLoaderFileModuleTest.php
tests/phpunit/includes/resourceloader/ResourceLoaderImageModuleTest.php
tests/phpunit/includes/resourceloader/ResourceLoaderWikiModuleTest.php
tests/phpunit/includes/search/SearchIndexFieldTest.php
tests/phpunit/includes/specialpage/AbstractChangesListSpecialPageTestCase.php [new file with mode: 0644]
tests/phpunit/includes/specialpage/ChangesListSpecialPageTest.php [new file with mode: 0644]
tests/phpunit/includes/specials/SpecialRecentchangesTest.php
tests/phpunit/includes/specials/SpecialSearchTest.php
tests/phpunit/includes/specials/SpecialWatchlistTest.php
tests/phpunit/includes/tidy/RemexDriverTest.php [new file with mode: 0644]
tests/phpunit/languages/LanguageCodeTest.php [new file with mode: 0644]
tests/phpunit/mocks/MockChangesListFilter.php [new file with mode: 0644]
tests/phpunit/mocks/MockChangesListFilterGroup.php [new file with mode: 0644]
tests/qunit/data/testrunner.js
tests/qunit/suites/resources/mediawiki.rcfilters/dm.FilterItem.test.js
tests/qunit/suites/resources/mediawiki.rcfilters/dm.FiltersViewModel.test.js
tests/qunit/suites/resources/mediawiki/mediawiki.jqueryMsg.test.js
tests/qunit/suites/resources/mediawiki/mediawiki.loader.test.js
tests/selenium/.eslintrc.json [new file with mode: 0644]
tests/selenium/README.md [new file with mode: 0644]
tests/selenium/pageobjects/createaccount.page.js [new file with mode: 0644]
tests/selenium/pageobjects/edit.page.js [new file with mode: 0644]
tests/selenium/pageobjects/history.page.js [new file with mode: 0644]
tests/selenium/pageobjects/page.js [new file with mode: 0644]
tests/selenium/pageobjects/preferences.page.js [new file with mode: 0644]
tests/selenium/pageobjects/userlogin.page.js [new file with mode: 0644]
tests/selenium/pageobjects/userlogout.page.js [new file with mode: 0644]
tests/selenium/specs/page.js [new file with mode: 0644]
tests/selenium/specs/user.js [new file with mode: 0644]
tests/selenium/wdio.conf.jenkins.js [new file with mode: 0644]
tests/selenium/wdio.conf.js [new file with mode: 0644]
thumb.php

index 232824d..f056219 100644 (file)
--- a/.mailmap
+++ b/.mailmap
@@ -32,6 +32,7 @@ addshore <addshorewiki@gmail.com>
 Aditya Sastry <ganeshaditya1@gmail.com>
 Adrian Heine <adrian.heine@wikimedia.de>
 Alex Z. <mrzmanwiki@gmail.com> <mrzman@users.mediawiki.org>
+Aleksey Bekh-Ivanov <aleksey.bekh-ivanov@wikimedia.de>
 Alexandre Emsenhuber <ialex.wiki@gmail.com>
 Alexandre Emsenhuber <ialex.wiki@gmail.com> <ialex@users.mediawiki.org>
 Alexandre Emsenhuber <ialex.wiki@gmail.com> <mediawiki@emsenhuber.ch>
@@ -131,6 +132,7 @@ Dereckson <dereckson@espace-win.org>
 Derk-Jan Hartman <hartman@videolan.org>
 Derk-Jan Hartman <hartman@videolan.org> <hartman.wiki@gmail.com>
 Derk-Jan Hartman <hartman@videolan.org> <hartman@users.mediawiki.org>
+Devi Krishnan <devikrishnan67@gmail.com>
 Diederik van Liere <dvanliere@gmail.com> <diederik@users.mediawiki.org>
 Domas Mituzas <domas.mituzas@gmail.com> <midom@users.mediawiki.org>
 Douglas Gardner <douglas@chippy.ch>
index 5e2c7a0..baf7f03 100644 (file)
@@ -31,6 +31,11 @@ matrix:
       php: hhvm-3.12
     - env: dbtype=mysql dbuser=root
       php: 7
+  allow_failures:
+    # Postgres support for unit tests is still buggy
+    # https://phabricator.wikimedia.org/T75174
+    - env: dbtype=postgres dbuser=travis
+      php: 5.5
 
 services:
   - mysql
diff --git a/CREDITS b/CREDITS
index e8af23c..80d4e0e 100644 (file)
--- a/CREDITS
+++ b/CREDITS
@@ -1,5 +1,5 @@
 {{int:version-credits-summary}} <!--
-MediaWiki 1.28 is a collaborative project released under the
+MediaWiki 1.29 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.
 
@@ -23,12 +23,14 @@ The following list can be found parsed under Special:Version/Credits -->
 * Adrian Heine
 * Adrian Lang
 * Ævar Arnfjörð Bjarmason
+* Aftab
 * Agbad
 * Ahmad Sherif
 * Ajayrahul P
 * Alangi Derick
 * Albert221
 * Alejandro Mery
+* Aleksey Bekh-Ivanov
 * AlephNull
 * Alex Ivanov
 * Alex Shih-Han Lin
@@ -42,6 +44,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Amalthea
 * Amir E. Aharoni
 * Amir Sarabadani
+* amritsreekumar
 * ananay
 * Anders Wegge Jakobsen
 * Andre Engels
@@ -70,6 +73,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Aryeh Gregor
 * Asher Feldman
 * Asier Lostalé
+* awu42
 * ayush_garg
 * Azliq7
 * Bagariavivek
@@ -86,6 +90,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Bill Traynor
 * Billinghurst
 * billm
+* blackspirit96
 * blotmandroid
 * Bogdan Stancescu
 * Boris Nagaev
@@ -116,9 +121,11 @@ The following list can be found parsed under Special:Version/Credits -->
 * Chris McMahon
 * Chris Seaton
 * Chris Steipp
+* Chrisludt
 * Christian Aistleitner
 * Christian List
 * Christian Neubauer
+* Christoph Jauera
 * Christopher Johnson
 * church of emacs
 * Cindy Cicalese
@@ -145,7 +152,9 @@ The following list can be found parsed under Special:Version/Credits -->
 * Darian Anthony Patrick
 * Darkdragon09
 * DaSch
+* datguy
 * David Baumgarten
+* David Causse
 * David Chan
 * David E. Narváez
 * David Lynch
@@ -161,18 +170,20 @@ The following list can be found parsed under Special:Version/Credits -->
 * Dévai Tamás
 * Devi Krishnan
 * Diederik van Liere
+* divadsn
 * Domas Mituzas
 * Douglas Gardner
 * DPStokesNZ
 * dr0ptp4kt
 * Ebrahim Byagowi
 * Ed Sanders
+* Eddie Greiner-Petter
 * Edward Chernenko
 * Edward Z. Yang
-* Eddie Greiner-Petter
 * Elisabeth Bauer
 * Elliott Eggleston
 * Elvis Stansvik
+* Emad Elwany
 * Emil Podlaszewski
 * Emmanuel Engelhart
 * Emmanuel Gil Peyrot
@@ -208,6 +219,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * georggi
 * Gergő Tisza
 * Gero Scholz
+* Ghybu
 * gicode
 * Giftpflanze
 * Gilles Dubuc
@@ -221,6 +233,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Grunny
 * Guillaume Blanchard
 * Guy Van den Broeck
+* Haikal Izzuddin
 * Happy-melon
 * haritha28
 * Harry Burt
@@ -260,6 +273,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Jaska Zedlik
 * Jason Richey
 * jeblad
+* Jeff Hobson
 * Jeff Janes
 * jeff303
 * Jens Frank
@@ -276,12 +290,15 @@ The following list can be found parsed under Special:Version/Credits -->
 * Jidanni
 * Jimmy Collins
 * Jimmy Xu
+* jo12bar
 * joakin
 * Joan Creus
 * Joel Natividad
+* Joel Sahleen
 * Joerg
 * Johan Dahlin
 * John Du Hart
+* John Erling Blad
 * John N
 * Jon Harald Søby
 * Jon Robson
@@ -294,6 +311,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * JuneHyeon Bae
 * Jure Kajzer
 * Justin Du
+* Kai Nissen
 * Kai_WMDE
 * kaligula
 * Kartik Mistry
@@ -330,6 +348,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Liam Edwards-Playne
 * liangent
 * Lisa Ridley
+* Liuxinyu970226
 * Ljudusika
 * Lojjik Braughler
 * Louperivois
@@ -339,6 +358,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Luigi Corsaro
 * Luis Felipe Schenone
 * Luke Faraone
+* Luke Welling
 * Lupin
 * Lupo
 * lwelling
@@ -367,6 +387,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Martin Urbanec
 * Massaf
 * Matěj Grabovský
+* Matěj Suchánek
 * matejsuchanek
 * Mathias Ertl
 * mati
@@ -376,6 +397,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Matthew Bowker
 * Matthew Britton
 * Matthew Flaschen
+* Matthew Walker
 * Matthias Jordan
 * Matthias Mullie
 * MatthiasDD
@@ -412,9 +434,11 @@ The following list can be found parsed under Special:Version/Credits -->
 * MrBlueSky
 * MrPete
 * Mukunda Modell
+* MusikAnimal
 * Mwalker
 * mwjames
 * mybugs.mail
+* mynk-96
 * MZMcBride
 * nadeesha
 * Nakon
@@ -427,8 +451,10 @@ The following list can be found parsed under Special:Version/Credits -->
 * Nicholas Pisarro, Jr
 * Nick Jenkins
 * nicoco007
+* Nicolaie Constantinescu
 * Nicolas Dumazet
 * Nicolas Weeger
+* Niharika Kohli
 * Nik
 * Nik Everett
 * Niklas Laxström
@@ -443,6 +469,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Nuria Ruiz
 * Nx.devnull
 * Ocean behind ears
+* Od1n
 * Olaf Lenz
 * Olivier Finlay Beaton
 * onei
@@ -464,6 +491,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Pavel Selitskas
 * Pcoombe
 * Perside Rosalie
+* Peter Coombe
 * Peter Gehres
 * Peter Hedenskog
 * Peter Potrowl
@@ -471,6 +499,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Petr Kadlec
 * Petr Onderka
 * Petr Pchelko
+* Phantom42
 * Philip Tzou
 * physikerwelt (Moritz Schubotz)
 * PieRRoMaN
@@ -479,6 +508,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Platonides
 * Pmlineditor
 * pmolina
+* pppery
 * prageck
 * Pranav Ravichandran
 * PranavK
@@ -501,6 +531,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Ricordisamoa
 * rillke
 * River Tarnell
+* rlot
 * Roan Kattouw
 * Rob Church
 * Rob Lanphier
@@ -532,7 +563,9 @@ The following list can be found parsed under Special:Version/Credits -->
 * Salvatore Ingala
 * Sam Reed
 * Sam Smith
+* Sam Wilson
 * Santhosh Thottingal
+* saptaks
 * Schnark
 * Scimonster
 * scnd
@@ -548,6 +581,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Shahyar
 * Shane Gibbons
 * Shane King
+* shanika
 * Shinjiman
 * shirayuki
 * Sidhant Gupta
@@ -570,7 +604,9 @@ The following list can be found parsed under Special:Version/Credits -->
 * Stephen Liang
 * Steve Sanbeg
 * Steven Roddis
+* Steven Walling
 * Str4nd
+* Subin Siby
 * Subramanya Sastry
 * Sumit Asthana
 * svip
@@ -607,9 +643,11 @@ The following list can be found parsed under Special:Version/Credits -->
 * Tomasz W. Kozlowski
 * Tomasz Wegrzanowski
 * tomek
+* Toni Hermoso Pulido
 * Tony Thomas
 * Tpt
 * Trevor Parscal
+* Trey Jones
 * TyA
 * Tychay
 * Tyler Anthony Romeo
@@ -621,6 +659,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * utkarsh95
 * Van de Bugger
 * Viačeslav
+* Victor Barbu
 * Victor Porton
 * Victor Vasiliev
 * victorbarbu
@@ -642,10 +681,12 @@ The following list can be found parsed under Special:Version/Credits -->
 * Yaron Koren
 * Yaroslav Melnychuk
 * Yesid Carrillo
+* Yifei He
 * Yogesh K S
 * Yongmin Hong
 * yoonghm
 * Yuri Astrakhan
+* Yuriy Shnitkovskiy
 * Yusuke Matsubara
 * Yuvi Panda
 * Zachary Hauri
@@ -653,6 +694,7 @@ The following list can be found parsed under Special:Version/Credits -->
 * Željko Filipin
 * Zhaofeng Li
 * Zhengzhu Feng
+* Zhuyifei1999
 * Zppix
 * محمد شعیب
 <!-- END CONTRIBUTOR LIST -->
index 0e1c8cb..6c56772 100644 (file)
@@ -4,6 +4,7 @@ module.exports = function ( grunt ) {
 
        var wgServer = process.env.MW_SERVER,
                wgScriptPath = process.env.MW_SCRIPT_PATH,
+               WebdriverIOconfigFile,
                karmaProxy = {};
 
        grunt.loadNpmTasks( 'grunt-banana-checker' );
@@ -13,12 +14,19 @@ module.exports = function ( grunt ) {
        grunt.loadNpmTasks( 'grunt-jsonlint' );
        grunt.loadNpmTasks( 'grunt-karma' );
        grunt.loadNpmTasks( 'grunt-stylelint' );
+       grunt.loadNpmTasks( 'grunt-webdriver' );
 
        karmaProxy[ wgScriptPath ] = {
                target: wgServer + wgScriptPath,
                changeOrigin: true
        };
 
+       if ( process.env.JENKINS_HOME ) {
+               WebdriverIOconfigFile = './tests/selenium/wdio.conf.jenkins.js';
+       } else {
+               WebdriverIOconfigFile = './tests/selenium/wdio.conf.js';
+       }
+
        grunt.initConfig( {
                eslint: {
                        all: [
@@ -80,7 +88,7 @@ module.exports = function ( grunt ) {
                                } ],
                                logLevel: 'DEBUG',
                                frameworks: [ 'qunit' ],
-                               reporters: [ 'progress' ],
+                               reporters: [ 'mocha' ],
                                singleRun: true,
                                autoWatch: false,
                                // Some tests in extensions don't yield for more than the default 10s (T89075)
@@ -105,7 +113,15 @@ module.exports = function ( grunt ) {
                                        return require( 'path' ).join( dest, src.replace( 'resources/', '' ) );
                                }
                        }
+               },
+
+               // Configure WebdriverIO task
+               webdriver: {
+                       test: {
+                               configFile: WebdriverIOconfigFile
+                       }
                }
+
        } );
 
        grunt.registerTask( 'assert-mw-env', function () {
index 5bc66fd..bb57a9e 100644 (file)
@@ -33,8 +33,11 @@ production.
   feature flag will likely be removed before 1.29 is released.
 * (T158474) "Unknown user" has been added to $wgReservedUsernames.
 * (T156983) $wgRateLimitsExcludedIPs now accepts CIDR ranges as well as single IPs.
+* $wgDummyLanguageCodes is deprecated. Additional language code mappings may be
+  added to $wgExtraLanguageCodes instead.
 
 === New features in 1.29 ===
+* (T137376) New language support: Atikamekw (atj)
 * (T5233) A cookie can now be set when a user is autoblocked, to track that user
   if they move to a new IP address. This is disabled by default.
 * Added ILocalizedException interface to standardize the use of localized
@@ -54,6 +57,9 @@ production.
   This might affect some forms that used them and only worked because the
   attributes were not actually being set.
 * Expiry times can now be specified when users are added to user groups.
+* Completely new user interface for the RecentChanges page, which
+  structures filters into user-friendly groups.  This has corresponding
+  changes to how filters are registered by core and extensions.
 
 === External library changes in 1.29 ===
 
@@ -64,6 +70,7 @@ production.
 * Updated psr/log from v1.0.0 to v1.0.2.
 * Update Moment.js from v2.8.4 to v2.15.0.
 * Updated oyejorge/less.php from v1.7.0.10 to v1.7.0.13.
+* Added wikimedia/remex-html v1.0.1.
 
 ==== New external libraries ====
 
@@ -75,6 +82,7 @@ production.
 * (T27187) Search suggestions based on jquery.suggestions will now correctly only
   highlight prefix matches in the results.
 * (T157035) "new mw.Uri()" was ignoring options when using default URI.
+* Special:Allpages can no longer be filtered by redirect in miser mode.
 
 === Action API changes in 1.29 ===
 * Submitting sensitive authentication request parameters to action=login,
@@ -109,6 +117,9 @@ production.
 * action=purge now requires a POST.
 * There is a new `languagevariants` siprop for action=query&meta=siteinfo,
   which returns a list of languages with active LanguageConverter instances.
+* action=query&query=allpages will no longer filter redirects using a database
+  query in miser mode. This may result in less results being returned than were
+  requested.
 
 === Action API internal changes in 1.29 ===
 * New methods were added to ApiBase to handle errors and warnings using i18n
@@ -245,6 +256,19 @@ changes to languages because of Phabricator reports.
 * User::comparePasswords() (deprecated in 1.24) was removed.
 * ArchivedFile::getUserText() (deprecated in 1.23) was removed.
 * HTMLFileCache::newFromTitle() (deprecated in 1.24) was removed.
+* BREAKING CHANGE: Internal signature changes to ChangesListSpecialPage
+  and subclasses.  It should only break if you call buildMainQueryConds
+  (changed to buildQuery with new signature) or doMainQuery (new
+  signature).  Subclasses are likely to call at least doMainQuery
+  (possibly both), but other classes might too, because they were
+  public.
+  Also, some related hooks were deprecated, but this is not yet a
+  breaking change.
+* Removed 'jquery.arrowSteps' module. (deprecated since 1.28)
+* The 'jquery.autoEllipsis' ResourceLoader module is now deprecated.
+* WikiRevision::$fileIsTemp was deprecated.
+* WikiRevision::$importer was deprecated.
+* WikiRevision::$user was deprecated.
 
 == Compatibility ==
 
index a16451d..4ffaa11 100644 (file)
@@ -237,7 +237,13 @@ $wgAutoloadLocalClasses = [
        'ChangeTagsRevisionList' => __DIR__ . '/includes/changetags/ChangeTagsRevisionList.php',
        'ChangesFeed' => __DIR__ . '/includes/changes/ChangesFeed.php',
        'ChangesList' => __DIR__ . '/includes/changes/ChangesList.php',
+       'ChangesListBooleanFilter' => __DIR__ . '/includes/changes/ChangesListBooleanFilter.php',
+       'ChangesListBooleanFilterGroup' => __DIR__ . '/includes/changes/ChangesListBooleanFilterGroup.php',
+       'ChangesListFilter' => __DIR__ . '/includes/changes/ChangesListFilter.php',
+       'ChangesListFilterGroup' => __DIR__ . '/includes/changes/ChangesListFilterGroup.php',
        'ChangesListSpecialPage' => __DIR__ . '/includes/specialpage/ChangesListSpecialPage.php',
+       'ChangesListStringOptionsFilter' => __DIR__ . '/includes/changes/ChangesListStringOptionsFilter.php',
+       'ChangesListStringOptionsFilterGroup' => __DIR__ . '/includes/changes/ChangesListStringOptionsFilterGroup.php',
        'ChannelFeed' => __DIR__ . '/includes/Feed.php',
        'CheckBadRedirects' => __DIR__ . '/maintenance/checkBadRedirects.php',
        'CheckComposerLockUpToDate' => __DIR__ . '/maintenance/checkComposerLockUpToDate.php',
@@ -682,6 +688,7 @@ $wgAutoloadLocalClasses = [
        'LanguageBe_tarask' => __DIR__ . '/languages/classes/LanguageBe_tarask.php',
        'LanguageBg' => __DIR__ . '/languages/classes/LanguageBg.php',
        'LanguageBs' => __DIR__ . '/languages/classes/LanguageBs.php',
+       'LanguageCode' => __DIR__ . '/languages/LanguageCode.php',
        'LanguageConverter' => __DIR__ . '/languages/LanguageConverter.php',
        'LanguageCu' => __DIR__ . '/languages/classes/LanguageCu.php',
        'LanguageDsb' => __DIR__ . '/languages/classes/LanguageDsb.php',
@@ -918,6 +925,10 @@ $wgAutoloadLocalClasses = [
        'MediaWiki\\Tidy\\RaggettInternalHHVM' => __DIR__ . '/includes/tidy/RaggettInternalHHVM.php',
        'MediaWiki\\Tidy\\RaggettInternalPHP' => __DIR__ . '/includes/tidy/RaggettInternalPHP.php',
        'MediaWiki\\Tidy\\RaggettWrapper' => __DIR__ . '/includes/tidy/RaggettWrapper.php',
+       'MediaWiki\\Tidy\\RemexCompatFormatter' => __DIR__ . '/includes/tidy/RemexCompatFormatter.php',
+       'MediaWiki\\Tidy\\RemexCompatMunger' => __DIR__ . '/includes/tidy/RemexCompatMunger.php',
+       'MediaWiki\\Tidy\\RemexDriver' => __DIR__ . '/includes/tidy/RemexDriver.php',
+       'MediaWiki\\Tidy\\RemexMungerData' => __DIR__ . '/includes/tidy/RemexMungerData.php',
        'MediaWiki\\Tidy\\TidyDriverBase' => __DIR__ . '/includes/tidy/TidyDriverBase.php',
        'MediaWiki\\Widget\\ComplexNamespaceInputWidget' => __DIR__ . '/includes/widget/ComplexNamespaceInputWidget.php',
        'MediaWiki\\Widget\\ComplexTitleInputWidget' => __DIR__ . '/includes/widget/ComplexTitleInputWidget.php',
index 6a09d1a..cd8f310 100644 (file)
@@ -25,7 +25,7 @@
                "ext-xml": "*",
                "liuggio/statsd-php-client": "1.0.18",
                "mediawiki/at-ease": "1.1.0",
-               "oojs/oojs-ui": "0.19.5",
+               "oojs/oojs-ui": "0.20.0",
                "oyejorge/less.php": "1.7.0.13",
                "php": ">=5.5.9",
                "psr/log": "1.0.2",
@@ -38,6 +38,7 @@
                "wikimedia/ip-set": "1.1.0",
                "wikimedia/php-session-serializer": "1.0.4",
                "wikimedia/relpath": "1.0.3",
+               "wikimedia/remex-html": "1.0.1",
                "wikimedia/running-stat": "1.1.0",
                "wikimedia/scoped-callback": "1.0.0",
                "wikimedia/utfnormal": "1.1.0",
@@ -63,6 +64,7 @@
        },
        "suggest": {
                "ext-apc": "Local data and opcode cache",
+               "ext-curl": "Improved http communication abilities",
                "ext-fileinfo": "Improved mime magic detection",
                "ext-intl": "ICU integration",
                "ext-wikidiff2": "Diff accelerator",
index 846a073..3a57563 100644 (file)
@@ -982,7 +982,9 @@ $rows: The data that will be rendered. May be a ResultWrapper instance or
 $unpatrolled: Whether or not we are showing unpatrolled changes.
 $watched: Whether or not the change is watched by the user.
 
-'ChangesListSpecialPageFilters': Called after building form options on pages
+'ChangesListSpecialPageFilters': DEPRECATED! Use 'ChangesListSpecialPageStructuredFilters'
+instead.
+Called after building form options on pages
 inheriting from ChangesListSpecialPage (in core: RecentChanges,
 RecentChangesLinked and Watchlist).
 $special: ChangesListSpecialPage instance
@@ -993,6 +995,15 @@ $special: ChangesListSpecialPage instance
 'ChangesListSpecialPageQuery': Called when building SQL query on pages
 inheriting from ChangesListSpecialPage (in core: RecentChanges,
 RecentChangesLinked and Watchlist).
+
+Do not use this to implement individual filters if they are compatible with the
+ChangesListFilter and ChangesListFilterGroup structure.
+
+Instead, use sub-classes of those classes, in conjunction with the
+ChangesListSpecialPageStructuredFilters hook.
+
+This hook can be used to implement filters that do not implement that structure,
+or custom behavior that is not an individual filter.
 $name: name of the special page, e.g. 'Watchlist'
 &$tables: array of tables to be queried
 &$fields: array of columns to select
@@ -1001,6 +1012,17 @@ $name: name of the special page, e.g. 'Watchlist'
 &$join_conds: join conditions for the tables
 $opts: FormOptions for this request
 
+'ChangesListSpecialPageStructuredFilters': Called to allow extensions to register
+filters for pages inheriting from ChangesListSpecialPage (in core: RecentChanges,
+RecentChangesLinked, and Watchlist).  Generally, you will want to construct
+new ChangesListBooleanFilter or ChangesListStringOptionsFilter objects.
+
+When constructing them, you specify which group they belong to.  You can reuse
+existing groups (accessed through $special->getFilterGroup), or create your own
+(ChangesListBooleanFilterGroup or ChangesListStringOptionsFilterGroup).
+If you create new groups, you must register them with $special->registerFilterGroup.
+$special: ChangesListSpecialPage instance
+
 'ChangeTagAfterDelete': Called after a change tag has been deleted (that is,
 removed from all revisions and log entries to which it was applied). This gives
 extensions a chance to take it off their books.
@@ -1093,7 +1115,7 @@ $title: the Title in question
 a given content model name, but no entry for that model exists in
 $wgContentHandlers.
 Note: if your extension implements additional models via this hook, please
-use GetContentModels hook to make them known to core. 
+use GetContentModels hook to make them known to core.
 $modeName: the requested content model name
 &$handler: set this to a ContentHandler object, if desired.
 
@@ -2681,6 +2703,13 @@ variables from $wgResourceLoaderLESSVars are added. Can be used to add
 context-based variables.
 &$lessVars: array of variables already added
 
+'ResourceLoaderJqueryMsgModuleMagicWords': Called in
+ResourceLoaderJqueryMsgModule to allow adding magic words for jQueryMsg.
+The value should be a string, and they can depend only on the
+ResourceLoaderContext.
+$context: ResourceLoaderContext
+&$magicWords: Associative array mapping all-caps magic word to a string value
+
 'ResourceLoaderRegisterModules': Right before modules information is required,
 such as when responding to a resource
 loader request or generating HTML output.
@@ -3095,7 +3124,7 @@ use this to change some selection criteria or substitute a different title.
 &$title: If the hook returns false, a Title object to use instead of the
   result from the normal query
 
-'SpecialRecentChangesFilters': DEPRECATED! Use ChangesListSpecialPageFilters
+'SpecialRecentChangesFilters': DEPRECATED! Use ChangesListSpecialPageStructuredFilters
 instead.
 Called after building form options at RecentChanges.
 $special: the special page object
@@ -3108,8 +3137,8 @@ SpecialRecentChanges.
 &$extraOpts: array of added items, to which can be added
 $opts: FormOptions for this request
 
-'SpecialRecentChangesQuery': DEPRECATED! Use ChangesListSpecialPageQuery
-instead.
+'SpecialRecentChangesQuery': DEPRECATED! Use ChangesListSpecialPageStructuredFilters
+or ChangesListSpecialPageQuery instead.
 Called when building SQL query for SpecialRecentChanges and
 SpecialRecentChangesLinked.
 &$conds: array of WHERE conditionals for query
@@ -3140,8 +3169,10 @@ $term: The string the user searched for
 $title: The title the 'go' feature has decided to forward the user to
 &$url: Initially null, hook subscribers can set this to specify the final url to redirect to
 
-'SpecialSearchNogomatch': Called when user clicked the "Go" button but the
-target doesn't exist.
+'SpecialSearchNogomatch': Called when the 'Go' feature is triggered (generally
+from autocomplete search other than the main bar on Special:Search) and the
+target doesn't exist. Full text search results are generated after this hook is
+called.
 &$title: title object generated from the text entered by the user
 
 'SpecialSearchPowerBox': The equivalent of SpecialSearchProfileForm for
@@ -3211,7 +3242,7 @@ Special:Upload.
 $wgVersion: Current $wgVersion for you to use
 &$versionUrl: Raw url to link to (eg: release notes)
 
-'SpecialWatchlistFilters': DEPRECATED! Use ChangesListSpecialPageFilters
+'SpecialWatchlistFilters': DEPRECATED! Use ChangesListSpecialPageStructuredFilters
 instead.
 Called after building form options at Watchlist.
 $special: the special page object
@@ -3224,7 +3255,8 @@ SpecialWatchlist. Allows extensions to register custom values they have
 inserted to rc_type so they can be returned as part of the watchlist.
 &$nonRevisionTypes: array of values in the rc_type field of recentchanges table
 
-'SpecialWatchlistQuery': DEPRECATED! Use ChangesListSpecialPageQuery instead.
+'SpecialWatchlistQuery': DEPRECATED! Use ChangesListSpecialPageStructuredFilters
+or ChangesListSpecialPageQuery instead.
 Called when building sql query for SpecialWatchlist.
 &$conds: array of WHERE conditionals for query
 &$tables: array of tables to be queried
index 1f4041b..cf6642a 100644 (file)
@@ -1450,13 +1450,9 @@ class Block {
         * Set the 'BlockID' cookie to this block's ID and expiry time. The cookie's expiry will be
         * the same as the block's, to a maximum of 24 hours.
         *
-        * An empty value can also be set, in order to retain the cookie but remove the block ID
-        * (e.g. as used in User::getBlockedStatus).
-        *
         * @param WebResponse $response The response on which to set the cookie.
-        * @param boolean $setEmpty Whether to set the cookie's value to the empty string.
         */
-       public function setCookie( WebResponse $response, $setEmpty = false ) {
+       public function setCookie( WebResponse $response ) {
                // Calculate the default expiry time.
                $maxExpiryTime = wfTimestamp( TS_MW, wfTimestamp() + ( 24 * 60 * 60 ) );
 
@@ -1467,12 +1463,21 @@ class Block {
                }
 
                // Set the cookie. Reformat the MediaWiki datetime as a Unix timestamp for the cookie.
-               $cookieValue = $setEmpty ? '' : $this->getCookieValue();
                $expiryValue = DateTime::createFromFormat( 'YmdHis', $expiryTime )->format( 'U' );
                $cookieOptions = [ 'httpOnly' => false ];
+               $cookieValue = $this->getCookieValue();
                $response->setCookie( 'BlockID', $cookieValue, $expiryValue, $cookieOptions );
        }
 
+       /**
+        * Unset the 'BlockID' cookie.
+        *
+        * @param WebResponse $response The response on which to unset the cookie.
+        */
+       public static function clearCookie( WebResponse $response ) {
+               $response->clearCookie( 'BlockID', [ 'httpOnly' => false ] );
+       }
+
        /**
         * Get the BlockID cookie's value for this block. This is usually the block ID concatenated
         * with an HMAC in order to avoid spoofing (T152951), but if wgSecretKey is not set will just
index a3d68c6..d158c1e 100644 (file)
@@ -2825,8 +2825,9 @@ $wgUsePrivateIPs = false;
  * MediaWiki out of the box. Not all languages listed there have translations,
  * see languages/messages/ for the list of languages with some localisation.
  *
- * Warning: Don't use language codes listed in $wgDummyLanguageCodes like "no"
- * for Norwegian (use "nb" instead), or things will break unexpectedly.
+ * Warning: Don't use any of MediaWiki's deprecated language codes listed in
+ * LanguageCode::getDeprecatedCodeMapping or $wgDummyLanguageCodes, like "no"
+ * for Norwegian (use "nb" instead). If you do, things will break unexpectedly.
  *
  * This defines the default interface language for all users, but users can
  * change it in their preferences.
@@ -2885,27 +2886,32 @@ $wgExtraInterlanguageLinkPrefixes = [];
 $wgExtraLanguageNames = [];
 
 /**
- * List of language codes that don't correspond to an actual language.
- * These codes are mostly left-offs from renames, or other legacy things.
- * This array makes them not appear as a selectable language on the installer,
- * and excludes them when running the transstat.php script.
- */
-$wgDummyLanguageCodes = [
-       'als' => 'gsw',
-       'bat-smg' => 'sgs',
-       'be-x-old' => 'be-tarask',
-       'bh' => 'bho',
-       'fiu-vro' => 'vro',
-       'no' => 'nb',
-       'qqq' => 'qqq', # Used for message documentation.
-       'qqx' => 'qqx', # Used for viewing message keys.
-       'roa-rup' => 'rup',
-       'simple' => 'en',
-       'zh-classical' => 'lzh',
-       'zh-min-nan' => 'nan',
-       'zh-yue' => 'yue',
+ * List of mappings from one language code to another.
+ * This array makes the codes not appear as a selectable language on the
+ * installer, and excludes them when running the transstat.php script.
+ *
+ * In Setup.php, the variable $wgDummyLanguageCodes is created by combining
+ * these codes with a list of "deprecated" codes, which are mostly leftovers
+ * from renames or other legacy things, and the internal codes 'qqq' and 'qqx'.
+ * If a mapping in $wgExtraLanguageCodes collide with a built-in mapping, the
+ * value in $wgExtraLanguageCodes will be used.
+ *
+ * @since 1.29
+ */
+$wgExtraLanguageCodes = [
+       'bh' => 'bho', // Bihari language family
+       'no' => 'nb', // Norwegian language family
+       'simple' => 'en', // Simple English
 ];
 
+/**
+ * Functionally the same as $wgExtraLanguageCodes, but deprecated. Instead of
+ * appending values to this array, append them to $wgExtraLanguageCodes.
+ *
+ * @deprecated since 1.29
+ */
+$wgDummyLanguageCodes = [];
+
 /**
  * Set this to true to replace Arabic presentation forms with their standard
  * forms in the U+0600-U+06FF block. This only works if $wgLanguageCode is
@@ -4167,7 +4173,7 @@ $wgMaxPPExpandDepth = 40;
  *
  * WARNING: Do not add 'file:' to this or internal file links will be broken.
  * Instead, if you want to support file links, add 'file://'. The same applies
- * to any other protocols with the same name as a namespace. See bug #44011 for
+ * to any other protocols with the same name as a namespace. See task T46011 for
  * more information.
  *
  * @see wfParseUrl
@@ -4240,7 +4246,8 @@ $wgAllowImageTag = false;
  *    - RaggettInternalPHP: Use the PECL extension
  *    - RaggettExternal: Shell out to an external binary (tidyBin)
  *    - Html5Depurate: Use external Depurate service
- *    - Html5Internal: Use the built-in HTML5 balancer
+ *    - Html5Internal: Use the Balancer library in PHP
+ *    - RemexHtml: Use the RemexHtml library in PHP
  *
  *  - tidyConfigFile: Path to configuration file for any of the Raggett drivers
  *  - debugComment: True to add a comment to the output with warning messages
index c22125a..ac62e3f 100644 (file)
@@ -2318,12 +2318,9 @@ class EditPage {
        }
 
        public function setHeaders() {
-               global $wgOut, $wgUser, $wgAjaxEditStash, $wgCookieSetOnAutoblock;
+               global $wgOut, $wgUser, $wgAjaxEditStash;
 
                $wgOut->addModules( 'mediawiki.action.edit' );
-               if ( $wgCookieSetOnAutoblock === true ) {
-                       $wgOut->addModules( 'mediawiki.user.blockcookie' );
-               }
                $wgOut->addModuleStyles( 'mediawiki.action.edit.styles' );
 
                if ( $wgUser->getOption( 'showtoolbar' ) ) {
@@ -3061,6 +3058,7 @@ class EditPage {
         */
        protected function showSummaryInput( $isSubjectPreview, $summary = "" ) {
                global $wgOut;
+
                # Add a class if 'missingsummary' is triggered to allow styling of the summary line
                $summaryClass = $this->missingSummary ? 'mw-summarymissed' : 'mw-summary';
                if ( $isSubjectPreview ) {
@@ -3509,12 +3507,12 @@ HTML
 
                $message = $this->context->msg( 'edithelppage' )->inContentLanguage()->text();
                $edithelpurl = Skin::makeInternalOrExternalUrl( $message );
-               $attrs = [
-                       'target' => 'helpwindow',
-                       'href' => $edithelpurl,
-               ];
-               $edithelp = Html::linkButton( $this->context->msg( 'edithelp' )->text(),
-                       $attrs, [ 'mw-ui-quiet' ] ) .
+               $edithelp =
+                       Html::linkButton(
+                               $this->context->msg( 'edithelp' )->text(),
+                               [ 'target' => 'helpwindow', 'href' => $edithelpurl ],
+                               [ 'mw-ui-quiet' ]
+                       ) .
                        $this->context->msg( 'word-separator' )->escaped() .
                        $this->context->msg( 'newwindow' )->parse();
 
@@ -3574,18 +3572,16 @@ HTML
         */
        public function getCancelLink() {
                $cancelParams = [];
-               $linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer();
                if ( !$this->isConflict && $this->oldid > 0 ) {
                        $cancelParams['oldid'] = $this->oldid;
                } elseif ( $this->getContextTitle()->isRedirect() ) {
                        $cancelParams['redirect'] = 'no';
                }
-               $attrs = [ 'id' => 'mw-editform-cancel' ];
 
-               return $linkRenderer->makeKnownLink(
+               return MediaWikiServices::getInstance()->getLinkRenderer()->makeKnownLink(
                        $this->getContextTitle(),
                        new HtmlArmor( $this->context->msg( 'cancel' )->parse() ),
-                       Html::buttonAttributes( $attrs, [ 'mw-ui-quiet' ] ),
+                       Html::buttonAttributes( [ 'id' => 'mw-editform-cancel' ], [ 'mw-ui-quiet' ] ),
                        $cancelParams
                );
        }
@@ -4041,9 +4037,8 @@ HTML
                                        ">{$minorLabel}</label>";
 
                                if ( $wgUseMediaWikiUIEverywhere ) {
-                                       $checkboxes['minor'] = Html::openElement( 'div', [ 'class' => 'mw-ui-checkbox' ] ) .
-                                               $minorEditHtml .
-                                       Html::closeElement( 'div' );
+                                       $checkboxes['minor'] =
+                                               Html::rawElement( 'div', [ 'class' => 'mw-ui-checkbox' ], $minorEditHtml );
                                } else {
                                        $checkboxes['minor'] = $minorEditHtml;
                                }
@@ -4064,9 +4059,8 @@ HTML
                                Xml::expandAttributes( [ 'title' => Linker::titleAttrib( 'watch', 'withaccess' ) ] ) .
                                ">{$watchLabel}</label>";
                        if ( $wgUseMediaWikiUIEverywhere ) {
-                               $checkboxes['watch'] = Html::openElement( 'div', [ 'class' => 'mw-ui-checkbox' ] ) .
-                                       $watchThisHtml .
-                                       Html::closeElement( 'div' );
+                               $checkboxes['watch'] =
+                                       Html::rawElement( 'div', [ 'class' => 'mw-ui-checkbox' ], $watchThisHtml );
                        } else {
                                $checkboxes['watch'] = $watchThisHtml;
                        }
@@ -4098,34 +4092,41 @@ HTML
                } else {
                        $buttonLabelKey = !$this->mTitle->exists() ? 'savearticle' : 'savechanges';
                }
-               $buttonLabel = $this->context->msg( $buttonLabelKey )->text();
                $attribs = [
                        'id' => 'wpSave',
                        'name' => 'wpSave',
                        'tabindex' => ++$tabindex,
                ] + Linker::tooltipAndAccesskeyAttribs( 'save' );
-               $buttons['save'] = Html::submitButton( $buttonLabel, $attribs, [ 'mw-ui-progressive' ] );
+               $buttons['save'] = Html::submitButton(
+                       $this->context->msg( $buttonLabelKey )->text(),
+                       $attribs,
+                       [ 'mw-ui-progressive' ]
+               );
 
-               ++$tabindex; // use the same for preview and live preview
                $attribs = [
                        'id' => 'wpPreview',
                        'name' => 'wpPreview',
-                       'tabindex' => $tabindex,
+                       'tabindex' => ++$tabindex,
                ] + Linker::tooltipAndAccesskeyAttribs( 'preview' );
-               $buttons['preview'] = Html::submitButton( $this->context->msg( 'showpreview' )->text(),
-                       $attribs );
+               $buttons['preview'] = Html::submitButton(
+                       $this->context->msg( 'showpreview' )->text(),
+                       $attribs
+               );
 
                $attribs = [
                        'id' => 'wpDiff',
                        'name' => 'wpDiff',
                        'tabindex' => ++$tabindex,
                ] + Linker::tooltipAndAccesskeyAttribs( 'diff' );
-               $buttons['diff'] = Html::submitButton( $this->context->msg( 'showdiff' )->text(),
-                       $attribs );
+               $buttons['diff'] = Html::submitButton(
+                       $this->context->msg( 'showdiff' )->text(),
+                       $attribs
+               );
 
                // Avoid PHP 7.1 warning of passing $this by reference
                $editPage = $this;
                Hooks::run( 'EditPageBeforeEditButtons', [ &$editPage, &$buttons, &$tabindex ] );
+
                return $buttons;
        }
 
index 4b9435a..486abd8 100644 (file)
@@ -1240,8 +1240,9 @@ class Revision implements IDBAccessObject {
 
        /**
         * Get revision text associated with an old or archive row
-        * $row is usually an object from wfFetchRow(), both the flags and the text
-        * field must be included.
+        *
+        * Both the flags and the text field must be included. Including the old_id
+        * field will activate cache usage as long as the $wiki parameter is not set.
         *
         * @param stdClass $row The text data
         * @param string $prefix Table prefix (default 'old_')
@@ -1252,8 +1253,6 @@ class Revision implements IDBAccessObject {
         * @return string|false Text the text requested or false on failure
         */
        public static function getRevisionText( $row, $prefix = 'old_', $wiki = false ) {
-
-               # Get data
                $textField = $prefix . 'text';
                $flagsField = $prefix . 'flags';
 
@@ -1269,21 +1268,35 @@ class Revision implements IDBAccessObject {
                        return false;
                }
 
-               # Use external methods for external objects, text in table is URL-only then
+               // Use external methods for external objects, text in table is URL-only then
                if ( in_array( 'external', $flags ) ) {
                        $url = $text;
                        $parts = explode( '://', $url, 2 );
                        if ( count( $parts ) == 1 || $parts[1] == '' ) {
                                return false;
                        }
-                       $text = ExternalStore::fetchFromURL( $url, [ 'wiki' => $wiki ] );
-               }
 
-               // If the text was fetched without an error, convert it
-               if ( $text !== false ) {
-                       $text = self::decompressRevisionText( $text, $flags );
+                       if ( isset( $row->old_id ) && $wiki === false ) {
+                               // Make use of the wiki-local revision text cache
+                               $cache = MediaWikiServices::getInstance()->getMainWANObjectCache();
+                               // The cached value should be decompressed, so handle that and return here
+                               return $cache->getWithSetCallback(
+                                       $cache->makeKey( 'revisiontext', 'textid', $row->old_id ),
+                                       self::getCacheTTL( $cache ),
+                                       function () use ( $url, $wiki, $flags ) {
+                                               // No negative caching per Revision::loadText()
+                                               $text = ExternalStore::fetchFromURL( $url, [ 'wiki' => $wiki ] );
+
+                                               return self::decompressRevisionText( $text, $flags );
+                                       },
+                                       [ 'pcGroup' => self::TEXT_CACHE_GROUP, 'pcTTL' => $cache::TTL_PROC_LONG ]
+                               );
+                       } else {
+                               $text = ExternalStore::fetchFromURL( $url, [ 'wiki' => $wiki ] );
+                       }
                }
-               return $text;
+
+               return self::decompressRevisionText( $text, $flags );
        }
 
        /**
@@ -1329,6 +1342,13 @@ class Revision implements IDBAccessObject {
         * @return string|bool Decompressed text, or false on failure
         */
        public static function decompressRevisionText( $text, $flags ) {
+               global $wgLegacyEncoding, $wgContLang;
+
+               if ( $text === false ) {
+                       // Text failed to be fetched; nothing to do
+                       return false;
+               }
+
                if ( in_array( 'gzip', $flags ) ) {
                        # Deal with optional compression of archived pages.
                        # This can be done periodically via maintenance/compressOld.php, and
@@ -1351,7 +1371,6 @@ class Revision implements IDBAccessObject {
                        $text = $obj->getText();
                }
 
-               global $wgLegacyEncoding;
                if ( $text !== false && $wgLegacyEncoding
                        && !in_array( 'utf-8', $flags ) && !in_array( 'utf8', $flags )
                ) {
@@ -1359,7 +1378,6 @@ class Revision implements IDBAccessObject {
                        # Upconvert on demand.
                        # ("utf8" checked for compatibility with some broken
                        #  conversion scripts 2008-12-30)
-                       global $wgContLang;
                        $text = $wgContLang->iconv( $wgLegacyEncoding, 'UTF-8', $text );
                }
 
@@ -1559,15 +1577,14 @@ class Revision implements IDBAccessObject {
        }
 
        /**
-        * Lazy-load the revision's text.
-        * Currently hardcoded to the 'text' table storage engine.
+        * Get the text cache TTL
         *
-        * @return string|bool The revision's text, or false on failure
+        * @param WANObjectCache $cache
+        * @return integer
         */
-       private function loadText() {
+       private static function getCacheTTL( WANObjectCache $cache ) {
                global $wgRevisionCacheExpiry;
 
-               $cache = ObjectCache::getMainWANInstance();
                if ( $cache->getQoS( $cache::ATTR_EMULATION ) <= $cache::QOS_EMULATION_SQL ) {
                        // Do not cache RDBMs blobs in...the RDBMs store
                        $ttl = $cache::TTL_UNCACHEABLE;
@@ -1575,10 +1592,22 @@ class Revision implements IDBAccessObject {
                        $ttl = $wgRevisionCacheExpiry ?: $cache::TTL_UNCACHEABLE;
                }
 
+               return $ttl;
+       }
+
+       /**
+        * Lazy-load the revision's text.
+        * Currently hardcoded to the 'text' table storage engine.
+        *
+        * @return string|bool The revision's text, or false on failure
+        */
+       private function loadText() {
+               $cache = ObjectCache::getMainWANInstance();
+
                // No negative caching; negative hits on text rows may be due to corrupted replica DBs
                return $cache->getWithSetCallback(
                        $cache->makeKey( 'revisiontext', 'textid', $this->getTextId() ),
-                       $ttl,
+                       self::getCacheTTL( $cache ),
                        function () {
                                return $this->fetchText();
                        },
index b61de73..5ea96dd 100644 (file)
@@ -403,6 +403,12 @@ if ( is_array( $wgExtraNamespaces ) ) {
        $wgCanonicalNamespaceNames = $wgCanonicalNamespaceNames + $wgExtraNamespaces;
 }
 
+// Merge in the legacy language codes, incorporating overrides from the config
+$wgDummyLanguageCodes += [
+       'qqq' => 'qqq', // Used for message documentation
+       'qqx' => 'qqx', // Used for viewing message keys
+] + $wgExtraLanguageCodes + LanguageCode::getDeprecatedCodeMapping();
+
 // These are now the same, always
 // To determine the user language, use $wgLang->getCode()
 $wgContLanguageCode = $wgLanguageCode;
index 470a75c..924c347 100644 (file)
@@ -54,18 +54,11 @@ class TemplateParser {
         * @throws UnexpectedValueException If $templateName attempts upwards directory traversal
         */
        protected function getTemplateFilename( $templateName ) {
-               // Prevent upwards directory traversal using same methods as Title::secureAndSplit
+               // Prevent path traversal. Based on Language::isValidCode().
+               // This is for paranoia. The $templateName should never come from
+               // untrusted input.
                if (
-                       strpos( $templateName, '.' ) !== false &&
-                       (
-                               $templateName === '.' || $templateName === '..' ||
-                               strpos( $templateName, './' ) === 0 ||
-                               strpos( $templateName, '../' ) === 0 ||
-                               strpos( $templateName, '/./' ) !== false ||
-                               strpos( $templateName, '/../' ) !== false ||
-                               substr( $templateName, -2 ) === '/.' ||
-                               substr( $templateName, -3 ) === '/..'
-                       )
+                       strcspn( $templateName, ":/\\\000&<>'\"%" ) !== strlen( $templateName )
                ) {
                        throw new UnexpectedValueException( "Malformed \$templateName: $templateName" );
                }
index 1ddb2fc..e45994c 100644 (file)
@@ -2943,8 +2943,6 @@ class Title implements LinkTarget {
                                        continue;
                                }
 
-                               // This code should be refactored, now that it's being used more generally,
-                               // But I don't really see any harm in leaving it in Block for now -werdna
                                $expiry = $dbr->decodeExpiry( $row->pr_expiry );
 
                                // Only apply the restrictions if they haven't expired!
index 825860a..a9ebd76 100644 (file)
@@ -45,6 +45,7 @@ class TrackingCategories {
                'expansion-depth-exceeded-category',
                'restricted-displaytitle-ignored',
                'deprecated-self-close-category',
+               'template-loop-category',
        ];
 
        /**
index 9af5310..caa3fdb 100644 (file)
@@ -11,8 +11,11 @@ use Wikimedia\Rdbms\LoadBalancer;
  * Storage layer class for WatchedItems.
  * Database interaction.
  *
- * @author Addshore
+ * Uses database because this uses User::isAnon
+ *
+ * @group Database
  *
+ * @author Addshore
  * @since 1.27
  */
 class WatchedItemStore implements StatsdAwareInterface {
index d24a27c..4e87967 100644 (file)
@@ -563,36 +563,6 @@ class Xml {
                        . Xml::closeElement( 'select' );
        }
 
-       /**
-        * Converts textual drop-down list to array
-        *
-        * @param string $list Correctly formatted text (newline delimited) to be
-        *   used to generate the options.
-        * @return array
-        */
-       public static function getArrayFromWikiTextList( $list = '' ) {
-               $options = [];
-
-               foreach ( explode( "\n", $list ) as $option ) {
-                       $value = trim( $option );
-                       if ( $value == '' ) {
-                               continue;
-                       } elseif ( substr( $value, 0, 1 ) == '*' && substr( $value, 1, 1 ) != '*' ) {
-                               // A new group is starting ...
-                               $value = trim( substr( $value, 1 ) );
-                               $options[] = $value;
-                       } elseif ( substr( $value, 0, 2 ) == '**' ) {
-                               // groupmember
-                               $value = trim( substr( $value, 2 ) );
-                               $options[] = $value;
-                       } else {
-                               // groupless reason list
-                               $options[] = $value;
-                       }
-               }
-               return $options;
-       }
-
        /**
         * Shortcut for creating fieldsets.
         *
index 604fdf9..a1fac0c 100644 (file)
@@ -26,6 +26,7 @@
  */
 
 use MediaWiki\Logger\LoggerFactory;
+use MediaWiki\MediaWikiServices;
 use Wikimedia\Timestamp\TimestampException;
 
 /**
@@ -544,7 +545,7 @@ class ApiMain extends ApiBase {
                        $runTime = microtime( true ) - $t;
                        $this->logRequest( $runTime );
                        if ( $this->mModule->isWriteMode() && $this->getRequest()->wasPosted() ) {
-                               $this->getStats()->timing(
+                               MediaWikiServices::getInstance()->getStatsdDataFactory()->timing(
                                        'api.' . $this->mModule->getModuleName() . '.executeTiming', 1000 * $runTime
                                );
                        }
index 7460bd5..6b959ae 100644 (file)
@@ -76,10 +76,13 @@ class ApiQueryAllPages extends ApiQueryGeneratorBase {
                        $this->addWhere( "page_title $op= $cont_from" );
                }
 
-               if ( $params['filterredir'] == 'redirects' ) {
-                       $this->addWhereFld( 'page_is_redirect', 1 );
-               } elseif ( $params['filterredir'] == 'nonredirects' ) {
-                       $this->addWhereFld( 'page_is_redirect', 0 );
+               $miserMode = $this->getConfig()->get( 'MiserMode' );
+               if ( !$miserMode ) {
+                       if ( $params['filterredir'] == 'redirects' ) {
+                               $this->addWhereFld( 'page_is_redirect', 1 );
+                       } elseif ( $params['filterredir'] == 'nonredirects' ) {
+                               $this->addWhereFld( 'page_is_redirect', 0 );
+                       }
                }
 
                $this->addWhereFld( 'page_namespace', $params['namespace'] );
@@ -108,6 +111,18 @@ class ApiQueryAllPages extends ApiQueryGeneratorBase {
                        $selectFields = $resultPageSet->getPageTableFields();
                }
 
+               $miserModeFilterRedirValue = null;
+               $miserModeFilterRedir = $miserMode && $params['filterredir'] !== 'all';
+               if ( $miserModeFilterRedir ) {
+                       $selectFields[] = 'page_is_redirect';
+
+                       if ( $params['filterredir'] == 'redirects' ) {
+                               $miserModeFilterRedirValue = 1;
+                       } elseif ( $params['filterredir'] == 'nonredirects' ) {
+                               $miserModeFilterRedirValue = 0;
+                       }
+               }
+
                $this->addFields( $selectFields );
                $forceNameTitleIndex = true;
                if ( isset( $params['minsize'] ) ) {
@@ -219,6 +234,11 @@ class ApiQueryAllPages extends ApiQueryGeneratorBase {
                                break;
                        }
 
+                       if ( $miserModeFilterRedir && (int)$row->page_is_redirect !== $miserModeFilterRedirValue ) {
+                               // Filter implemented in PHP due to being in Miser Mode
+                               continue;
+                       }
+
                        if ( is_null( $resultPageSet ) ) {
                                $title = Title::makeTitle( $row->page_namespace, $row->page_title );
                                $vals = [
@@ -242,7 +262,7 @@ class ApiQueryAllPages extends ApiQueryGeneratorBase {
        }
 
        public function getAllowedParams() {
-               return [
+               $ret = [
                        'from' => null,
                        'continue' => [
                                ApiBase::PARAM_HELP_MSG => 'api-help-param-continue',
@@ -314,6 +334,12 @@ class ApiQueryAllPages extends ApiQueryGeneratorBase {
                                ApiBase::PARAM_DFLT => 'all'
                        ],
                ];
+
+               if ( $this->getConfig()->get( 'MiserMode' ) ) {
+                       $ret['filterredir'][ApiBase::PARAM_HELP_MSG_APPEND] = [ 'api-help-param-limited-in-miser-mode' ];
+               }
+
+               return $ret;
        }
 
        protected function getExamplesMessages() {
index 491a1b0..d2e956c 100644 (file)
@@ -17,7 +17,8 @@
                        "FriedhelmW",
                        "Predatorix",
                        "Luke081515",
-                       "Eddie"
+                       "Eddie",
+                       "Zenith"
                ]
        },
        "apihelp-main-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:API:Main_page|Dokumentation]]\n* [[mw:API:FAQ|Häufig gestellte Fragen]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Mailingliste]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce API-Ankündigungen]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Fehlerberichte und Anfragen]\n</div>\n<strong>Status:</strong> Alle auf dieser Seite gezeigten Funktionen sollten funktionieren, allerdings ist die API in aktiver Entwicklung und kann sich zu jeder Zeit ändern. Abonniere die [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ MediaWiki-API-Ankündigungs-Mailingliste], um über Aktualisierungen informiert zu werden.\n\n<strong>Fehlerhafte Anfragen:</strong> Wenn fehlerhafte Anfragen an die API gesendet werden, wird ein HTTP-Header mit dem Schlüssel „MediaWiki-API-Error“ gesendet. Der Wert des Headers und der Fehlercode werden auf den gleichen Wert gesetzt. Für weitere Informationen siehe [[mw:API:Errors_and_warnings|API: Fehler und Warnungen]].\n\n<strong>Testen:</strong> Zum einfachen Testen von API-Anfragen, siehe [[Special:ApiSandbox]].",
        "apihelp-import-param-rootpage": "Als Unterseite dieser Seite importieren. Kann nicht zusammen mit <var>$1namespace</var> verwendet werden.",
        "apihelp-import-param-tags": "Auf den Eintrag im Import-Logbuch und die Nullversion bei den importierten Seiten anzuwendende Änderungsmarkierungen.",
        "apihelp-import-example-import": "Importiere [[meta:Help:ParserFunctions]] mit der kompletten Versionsgeschichte in den Namensraum 100.",
+       "apihelp-linkaccount-description": "Verbindet ein Benutzerkonto von einem Drittanbieter mit dem aktuellen Benutzer.",
        "apihelp-login-description": "Anmelden und Authentifizierungs-Cookies beziehen.\n\nDiese Aktion sollte nur in Kombination mit [[Special:BotPasswords]] verwendet werden. Die Verwendung für die Anmeldung beim Hauptkonto ist veraltet und kann ohne Warnung fehlschlagen. Um sich sicher beim Hauptkonto anzumelden, verwende <kbd>[[Special:ApiHelp/clientlogin|action=clientlogin]]</kbd>.",
        "apihelp-login-param-name": "Benutzername.",
        "apihelp-login-param-password": "Passwort.",
        "apihelp-parse-paramvalue-prop-sections": "Gibt die Abschnitte im geparsten Wikitext zurück.",
        "apihelp-parse-paramvalue-prop-revid": "Ergänzt die Versionskennung der geparsten Seite.",
        "apihelp-parse-paramvalue-prop-displaytitle": "Ergänzt den Titel des geparsten Wikitextes.",
+       "apihelp-parse-paramvalue-prop-headhtml": "Gibt geparsten <code>&lt;head&gt;</code> der Seite zurück.",
        "apihelp-parse-paramvalue-prop-jsconfigvars": "Gibt die JavaScript-Konfigurationsvariablen speziell für die Seite aus. Zur Anwendung verwende <code>mw.config.set()</code>.",
        "apihelp-parse-paramvalue-prop-encodedjsconfigvars": "Gibt die JavaScript-Konfigurationsvariablen speziell für die Seite als JSON-Zeichenfolge aus.",
        "apihelp-parse-paramvalue-prop-indicators": "Gibt das HTML der Seitenstatusindikatoren zurück, die auf der Seite verwendet werden.",
        "apihelp-query+langlinks-param-limit": "Wie viele Sprachlinks zurückgegeben werden sollen.",
        "apihelp-query+langlinks-param-prop": "Zusätzlich zurückzugebende Eigenschaften jedes Interlanguage-Links:",
        "apihelp-query+langlinks-paramvalue-prop-url": "Ergänzt die vollständige URL.",
+       "apihelp-query+langlinks-paramvalue-prop-autonym": "Ergänzt den Namen der Muttersprache.",
        "apihelp-query+langlinks-param-dir": "Die Auflistungsrichtung.",
+       "apihelp-query+links-description": "Gibt alle Links von den angegebenen Seiten zurück.",
+       "apihelp-query+links-param-namespace": "Zeigt nur Links in diesen Namensräumen.",
        "apihelp-query+links-param-limit": "Wie viele Links zurückgegeben werden sollen.",
        "apihelp-query+links-param-dir": "Die Auflistungsrichtung.",
        "apihelp-query+links-example-simple": "Links von der <kbd>Hauptseite</kbd> abrufen",
        "apihelp-query+linkshere-param-prop": "Zurückzugebende Eigenschaften:",
        "apihelp-query+linkshere-paramvalue-prop-pageid": "Die Seitenkennung jeder Seite.",
        "apihelp-query+linkshere-paramvalue-prop-title": "Titel jeder Seite.",
+       "apihelp-query+linkshere-param-limit": "Wie viel zurückgegeben werden soll.",
+       "apihelp-query+linkshere-example-simple": "Holt eine Liste von Seiten, die auf [[Main Page]] verlinken.",
        "apihelp-query+logevents-description": "Ereignisse von den Logbüchern abrufen.",
        "apihelp-query+logevents-param-prop": "Zurückzugebende Eigenschaften:",
+       "apihelp-query+logevents-paramvalue-prop-ids": "Ergänzt die Kennung des Logbuchereignisses.",
+       "apihelp-query+logevents-paramvalue-prop-title": "Ergänzt den Titel der Seite für das Logbuchereignis.",
        "apihelp-query+logevents-paramvalue-prop-type": "Ergänzt den Typ des Logbuchereignisses.",
+       "apihelp-query+logevents-paramvalue-prop-user": "Ergänzt den verantwortlichen Benutzer für das Logbuchereignis.",
        "apihelp-query+logevents-paramvalue-prop-comment": "Ergänzt den Kommentar des Logbuchereignisses.",
        "apihelp-query+logevents-example-simple": "Listet die letzten Logbuch-Ereignisse auf.",
        "apihelp-query+pageswithprop-paramvalue-prop-ids": "Fügt die Seitenkennung hinzu.",
        "apihelp-query+pageswithprop-param-limit": "Die maximale Anzahl zurückzugebender Seiten.",
+       "apihelp-query+pageswithprop-param-dir": "In welche Richtung sortiert werden soll.",
        "apihelp-query+prefixsearch-param-search": "Such-Zeichenfolge.",
+       "apihelp-query+prefixsearch-param-namespace": "Welche Namensräume durchsucht werden sollen.",
+       "apihelp-query+prefixsearch-param-limit": "Maximale Anzahl zurückzugebender Ergebnisse.",
        "apihelp-query+prefixsearch-param-offset": "Anzahl der zu überspringenden Ergebnisse.",
        "apihelp-query+prefixsearch-param-profile": "Zu verwendendes Suchprofil.",
+       "apihelp-query+protectedtitles-param-limit": "Wie viele Seiten insgesamt zurückgegeben werden sollen.",
        "apihelp-query+protectedtitles-param-prop": "Zurückzugebende Eigenschaften:",
        "apihelp-query+querypage-param-limit": "Anzahl der zurückzugebenden Ergebnisse.",
        "apihelp-query+recentchanges-description": "Listet die letzten Änderungen auf.",
        "apihelp-query+recentchanges-param-user": "Listet nur Änderungen von diesem Benutzer auf.",
        "apihelp-query+recentchanges-param-excludeuser": "Listet keine Änderungen von diesem Benutzer auf.",
        "apihelp-query+recentchanges-param-tag": "Listet nur Änderungen auf, die mit dieser Markierung markiert sind.",
+       "apihelp-query+recentchanges-param-prop": "Bezieht zusätzliche Informationen mit ein:",
        "apihelp-query+recentchanges-paramvalue-prop-comment": "Fügt den Kommentar für die Bearbeitung hinzu.",
        "apihelp-query+recentchanges-paramvalue-prop-flags": "Ergänzt Markierungen für die Bearbeitung.",
        "apihelp-query+recentchanges-paramvalue-prop-timestamp": "Ergänzt den Zeitstempel für die Bearbeitung.",
        "api-help-right-apihighlimits": "Höhere Beschränkungen in API-Anfragen verwenden (langsame Anfragen: $1; schnelle Anfragen: $2). Die Beschränkungen für langsame Anfragen werden auch auf Mehrwertparameter angewandt.",
        "api-help-open-in-apisandbox": "<small>[in Spielwiese öffnen]</small>",
        "api-help-authmanagerhelper-messageformat": "Zu verwendendes Format zur Rückgabe von Nachrichten.",
+       "apierror-badgenerator-unknown": "<kbd>generator=$1</kbd> unbekannt.",
+       "apierror-badip": "Der IP-Parameter ist nicht gültig.",
+       "apierror-badmd5": "Die angegebene MD5-Prüfsumme war falsch.",
+       "apierror-badmodule-badsubmodule": "Das Modul <kbd>$1</kbd> hat kein Untermodul namens „$2“.",
+       "apierror-badmodule-nosubmodules": "Das Modul <kbd>$1</kbd> hat keine Untermodule.",
+       "apierror-badparameter": "Ungültiger Wert für den Parameter <var>$1</var>.",
+       "apierror-badquery": "Ungültige Abfrage.",
        "apierror-cannot-async-upload-file": "Die Parameter <var>async</var> und <var>file</var> können nicht kombiniert werden. Falls du eine asynchrone Verarbeitung deiner hochgeladenen Datei wünschst, lade sie zuerst mithilfe des Parameters <var>stash</var> auf den Speicher hoch. Veröffentliche anschließend die gespeicherte Datei asynchron mithilfe <var>filekey</var> und <var>async</var>.",
+       "apierror-invalidsection": "Der Parameter <var>section</var> muss eine gültige Abschnittskennung oder <kbd>new</kbd> sein.",
        "apierror-invaliduserid": "Die Benutzerkennung <var>$1</var> ist nicht gültig.",
        "apierror-nosuchuserid": "Es gibt keinen Benutzer mit der Kennung $1.",
        "apierror-pagelang-disabled": "Das Ändern der Sprache von Seiten ist auf diesem Wiki nicht erlaubt.",
        "apiwarn-invalidcategory": "„$1“ ist keine Kategorie.",
        "apiwarn-invalidtitle": "„$1“ ist kein gültiger Titel.",
        "apiwarn-notfile": "„$1“ ist keine Datei.",
+       "apiwarn-toomanyvalues": "Es wurden zu viele Werte für den Parameter <var>$1</var> angegeben. Die Obergrenze liegt bei $2.",
        "apiwarn-validationfailed-badpref": "Keine gültige Einstellung.",
        "apiwarn-validationfailed-cannotset": "Kann nicht von diesem Modul festgelegt werden.",
        "apiwarn-validationfailed-keytoolong": "Der Schlüssel ist zu lang. Es sind nicht mehr als $1 Bytes erlaubt.",
index cfb1db8..262b5eb 100644 (file)
        "apihelp-query+logevents-paramvalue-prop-details": "Liste les détails supplémentaires sur l’événement.",
        "apihelp-query+logevents-paramvalue-prop-tags": "Liste les balises de l’événement.",
        "apihelp-query+logevents-param-type": "Filtrer les entrées du journal sur ce seul type.",
-       "apihelp-query+logevents-param-action": "Filtrer les actions du journal sur cette seule action. Écrase <var>$1type</var>. Dans le liste des valeurs possibles, les valeurs suivies d'un astérisque, comme <kbd>action/*</kbd>, peuvent avoir différentes chaînes à la place du slash.",
+       "apihelp-query+logevents-param-action": "Filtrer les actions du journal sur cette seule action. Écrase <var>$1type</var>. Dans la liste des valeurs possibles, les valeurs suivies d'un astérisque, comme <kbd>action/*</kbd>, peuvent avoir différentes chaînes après le slash.",
        "apihelp-query+logevents-param-start": "L’horodatage auquel démarrer l’énumération.",
        "apihelp-query+logevents-param-end": "L’horodatage auquel arrêter l’énumération.",
        "apihelp-query+logevents-param-user": "Restreindre aux entrées générées par l’utilisateur spécifié.",
        "apihelp-query+pageswithprop-example-generator": "Obtenir des informations supplémentaires sur les 10 premières pages utilisant <code>_&#95;NOTOC_&#95;</code>.",
        "apihelp-query+prefixsearch-description": "Effectuer une recherche de préfixe sur les titres de page.\n\nMalgré les similarités dans le nom, ce module n’est pas destiné à être l’équivalent de [[Special:PrefixIndex]] ; pour cela, voyez <kbd>[[Special:ApiHelp/query+allpages|action=query&list=allpages]]</kbd> avec le paramètre <kbd>apprefix</kbd>. Le but de ce module est similaire à <kbd>[[Special:ApiHelp/opensearch|action=opensearch]]</kbd> : prendre l’entrée utilisateur et fournir les meilleurs titres s’en approchant. Selon le serveur du moteur de recherche, cela peut inclure corriger des fautes de frappe, éviter des redirections, ou d’autres heuristiques.",
        "apihelp-query+prefixsearch-param-search": "Chaîne de recherche.",
-       "apihelp-query+prefixsearch-param-namespace": "Espaces de nom à rechercher.",
+       "apihelp-query+prefixsearch-param-namespace": "Espaces de noms à rechercher.",
        "apihelp-query+prefixsearch-param-limit": "Nombre maximal de résultats à renvoyer.",
        "apihelp-query+prefixsearch-param-offset": "Nombre de résultats à sauter.",
        "apihelp-query+prefixsearch-example-simple": "Rechercher les titres de page commençant par <kbd>meaning</kbd>.",
        "apihelp-query+protectedtitles-paramvalue-prop-expiry": "Ajoute l’horodatage de levée de la protection.",
        "apihelp-query+protectedtitles-paramvalue-prop-level": "Ajoute le niveau de protection.",
        "apihelp-query+protectedtitles-example-simple": "Lister les titres protégés",
-       "apihelp-query+protectedtitles-example-generator": "Trouver les liens vers les titres protégés dans l’espace de noms principal",
-       "apihelp-query+querypage-description": "Obtenir une liste fournie par une page spéciale basée sur QueryPage",
-       "apihelp-query+querypage-param-page": "Le nom de la page spéciale. Remarque, ce nom est sensible à la casse.",
+       "apihelp-query+protectedtitles-example-generator": "Trouver les liens vers les titres protégés dans l’espace de noms principal.",
+       "apihelp-query+querypage-description": "Obtenir une liste fournie par une page spéciale basée sur QueryPage.",
+       "apihelp-query+querypage-param-page": "Le nom de la page spéciale. Notez que ce nom est sensible à la casse.",
        "apihelp-query+querypage-param-limit": "Nombre de résultats à renvoyer.",
        "apihelp-query+querypage-example-ancientpages": "Renvoyer les résultats de [[Special:Ancientpages]].",
        "apihelp-query+random-description": "Obtenir un ensemble de pages au hasard.\n\nLes pages sont listées dans un ordre prédéterminé, seul le point de départ est aléatoire. Par exemple, cela signifie que si la première page dans la liste est <samp>Accueil</samp>, la seconde sera <em>toujours</em> <samp>Liste des singes de fiction</samp>, la troisième <samp>Liste de personnes figurant sur les timbres de Vanuatu</samp>, etc.",
        "apihelp-query+random-param-limit": "Limiter le nombre de pages aléatoires renvoyées.",
        "apihelp-query+random-param-redirect": "Utilisez <kbd>$1filterredir=redirects</kbd> au lieu de ce paramètre.",
        "apihelp-query+random-param-filterredir": "Comment filtrer les redirections.",
-       "apihelp-query+random-example-simple": "Obtenir deux pages aléatoires de l’espace principal",
-       "apihelp-query+random-example-generator": "Renvoyer les informations de la page sur deux pages au hasard de l’espace de noms principal",
+       "apihelp-query+random-example-simple": "Obtenir deux pages aléatoires de l’espace de noms principal.",
+       "apihelp-query+random-example-generator": "Renvoyer les informations de la page sur deux pages au hasard de l’espace de noms principal.",
        "apihelp-query+recentchanges-description": "Énumérer les modifications récentes.",
        "apihelp-query+recentchanges-param-start": "L’horodatage auquel démarrer l’énumération.",
        "apihelp-query+recentchanges-param-end": "L’horodatage auquel arrêter l’énumération.",
-       "apihelp-query+recentchanges-param-namespace": "Filtrer les modifications uniquement sur ces espaces de nom.",
-       "apihelp-query+recentchanges-param-user": "Lister uniquement les modifications par cet utilisateur.",
-       "apihelp-query+recentchanges-param-excludeuser": "Ne pas lister les modifications par cet utilisateur.",
+       "apihelp-query+recentchanges-param-namespace": "Filtrer les modifications uniquement sur ces espaces de noms.",
+       "apihelp-query+recentchanges-param-user": "Lister uniquement les modifications faites par cet utilisateur.",
+       "apihelp-query+recentchanges-param-excludeuser": "Ne pas lister les modifications faites par cet utilisateur.",
        "apihelp-query+recentchanges-param-tag": "Lister uniquement les modifications marquées avec cette balise.",
        "apihelp-query+recentchanges-param-prop": "Inclure des informations supplémentaires :",
-       "apihelp-query+recentchanges-paramvalue-prop-user": "Ajoute l’utilisateur responsable de la modification et marque si c’est une adresse IP.",
+       "apihelp-query+recentchanges-paramvalue-prop-user": "Ajoute l’utilisateur responsable de la modification et marque s'il s'agit d'une adresse IP.",
        "apihelp-query+recentchanges-paramvalue-prop-userid": "Ajoute l’ID de l’utilisateur responsable de la modification.",
        "apihelp-query+recentchanges-paramvalue-prop-comment": "Ajoute le commentaire de la modification.",
        "apihelp-query+recentchanges-paramvalue-prop-parsedcomment": "Ajoute le commentaire analysé pour la modification.",
        "apihelp-query+revisions-param-excludeuser": "Exclure les révisions faites par l’utilisateur.",
        "apihelp-query+revisions-param-tag": "Lister uniquement les révisions marquées avec cette balise.",
        "apihelp-query+revisions-param-token": "Quels jetons obtenir pour chaque révision.",
-       "apihelp-query+revisions-example-content": "Obtenir des données avec le contenu pour la dernière révision des titres <kbd>API</kbd> et <kbd>Page principale</kbd>.",
+       "apihelp-query+revisions-example-content": "Obtenir des données avec le contenu pour la dernière révision des titres <kbd>API</kbd> et <kbd>Main Page</kbd>.",
        "apihelp-query+revisions-example-last5": "Obtenir les 5 dernières révisions de la <kbd>Main Page</kbd>.",
        "apihelp-query+revisions-example-first5": "Obtenir les 5 premières révisions de la <kbd>Page principale</kbd>.",
        "apihelp-query+revisions-example-first5-after": "Obtenir les 5 premières révisions de la <kbd>Page principale</kbd> faites après le 01/05/2006.",
        "apihelp-query+search-param-backend": "Quel serveur de recherche utiliser, si ce n’est pas celui par défaut.",
        "apihelp-query+search-param-enablerewrites": "Activer la réécriture interne de la requête. Les serveurs de recherche peuvent changer la requête en une autre dont ils estiment qu'elle donne de meilleurs résultats, par exemple en corrigeant l'orthographe.",
        "apihelp-query+search-example-simple": "Rechercher <kbd>meaning</kbd>.",
-       "apihelp-query+search-example-text": "Rechercher des textes pour <kbd>signification</kbd>.",
+       "apihelp-query+search-example-text": "Rechercher des textes pour <kbd>meaning</kbd>.",
        "apihelp-query+search-example-generator": "Obtenir les informations sur les pages renvoyées par une recherche de <kbd>meaning</kbd>.",
        "apihelp-query+siteinfo-description": "Renvoyer les informations générales sur le site.",
        "apihelp-query+siteinfo-param-prop": "Quelles informations obtenir :",
        "apihelp-query+siteinfo-paramvalue-prop-general": "Information globale du système.",
-       "apihelp-query+siteinfo-paramvalue-prop-namespaces": "Liste des espaces de nom déclarés et leur nom canonique.",
-       "apihelp-query+siteinfo-paramvalue-prop-namespacealiases": "Liste des alias des espaces de nom déclarés.",
+       "apihelp-query+siteinfo-paramvalue-prop-namespaces": "Liste des espaces de noms déclarés avec leur nom canonique.",
+       "apihelp-query+siteinfo-paramvalue-prop-namespacealiases": "Liste des alias des espaces de noms déclarés.",
        "apihelp-query+siteinfo-paramvalue-prop-specialpagealiases": "Liste des alias des pages spéciales.",
        "apihelp-query+siteinfo-paramvalue-prop-magicwords": "Liste des mots magiques et leurs alias.",
        "apihelp-query+siteinfo-paramvalue-prop-statistics": "Renvoie les statistiques du site.",
index 24cb77c..392dc45 100644 (file)
        "apihelp-query+siteinfo-paramvalue-prop-rightsinfo": "Devolve a información dos dereitos (licenza) da wiki se está dispoñible.",
        "apihelp-query+siteinfo-paramvalue-prop-restrictions": "Devolve información dos tipos de restricións (protección) dispoñibles.",
        "apihelp-query+siteinfo-paramvalue-prop-languages": "Devolve unha lista dos idiomas que soporta Mediawiki (opcionalmente pode localizarse usando <var>$1inlanguagecode</var>).",
+       "apihelp-query+siteinfo-paramvalue-prop-languagevariants": "Devolve unha lista de códigos de lingua para os que [[mw:LanguageConverter|LanguageConverter]] está activo, e as variantes soportadas para cada un.",
        "apihelp-query+siteinfo-paramvalue-prop-skins": "Devolve unha lista de todas as aparencias dispoñibles (opcionalmente pode localizarse usando <var>$1inlanguagecode</var>, noutro caso no idioma do contido).",
        "apihelp-query+siteinfo-paramvalue-prop-extensiontags": "Devolve unha lista de etiquetas de extensión de analizador.",
        "apihelp-query+siteinfo-paramvalue-prop-functionhooks": "Devolve unha lista de ganchos de función de analizador.",
        "apihelp-userrights-param-user": "Nome de usuario.",
        "apihelp-userrights-param-userid": "ID de usuario.",
        "apihelp-userrights-param-add": "Engadir o usuario a estes grupos, ou se xa é membro, actualizar a caducidade da súa afiliación.",
+       "apihelp-userrights-param-expiry": "Marcas de tempo de caducidade. Poden ser relativas (por exemplo, <kbd>5 meses</kbd> ou <kbd>2 semanas</kbd>) ou absolutas (por exemplo, <kbd>2014-09-18T12:34:56Z</kbd>). Se só se fixa unha marca de tempo, utilizarase para tódolos grupos que se pasen ó parámetro <var>$1add</var>. Use <kbd>infinite</kbd>, <kbd>indefinite</kbd>, <kbd>infinity</kbd>, ou <kbd>never</kbd> para que a pertenza ó grupo non teña data de caducidade.",
        "apihelp-userrights-param-remove": "Eliminar o usuario destes grupos.",
        "apihelp-userrights-param-reason": "Motivo para o cambio.",
        "apihelp-userrights-param-tags": "Cambia as etiquetas a aplicar á entrada do rexistro de dereitos de usuario.",
        "apierror-notpatrollable": "A revisión r$1 non pode patrullarse por ser demasiado antiga.",
        "apierror-opensearch-json-warnings": "Non se poden representar os avisos en formato JSON de OpenSearch.",
        "apierror-pagecannotexist": "O espazo de nomes non permite as páxinas actuais.",
+       "apierror-pagedeleted": "A páxina foi borrada dende que obtivo o selo de tempo.",
        "apierror-pagelang-disabled": "Neste wiki non se pode cambiar a lingua dunha páxina.",
        "apierror-paramempty": "O parámetro <var>$1</var> non pode estar baleiro.",
        "apierror-parsetree-notwikitext": "<kbd>prop=parsetree</kbd> só está soportado para o contido wikitexto.",
        "apierror-pastexpiry": "A tempo de caducidade \"$1\" está no pasado.",
        "apierror-permissiondenied": "Non ten permiso para $1.",
        "apierror-permissiondenied-generic": "Permisos rexeitados.",
+       "apierror-permissiondenied-patrolflag": "Necesita o permiso <code>patrol</code> ou <code>patrolmarks</code> para solicitar a marca de patrullado.",
        "apierror-permissiondenied-unblock": "Non ten permiso para desbloquear usuarios.",
        "apierror-prefixsearchdisabled": "A busca de prefixo está desactivada no modo Miser (avaro).",
        "apierror-promised-nonwrite-api": "A cabeceira HTTP <code>Promise-Non-Write-API-Action</code> non se pode enviar a módulos da API en modo escritura.",
        "apierror-readapidenied": "Necesita permiso de lectura para utilizar ese módulo.",
        "apierror-readonly": "A wiki está actualmente en modo de só lectura.",
        "apierror-reauthenticate": "Non se autentificou recentemente nesta sesión. Por favor, volva a autentificarse.",
+       "apierror-revdel-mutuallyexclusive": "Non se pode usar o mesmo campo en <var>hide</var> e <var>show</var>.",
+       "apierror-revdel-needtarget": "É necesario un título obxectivo para este tipo RevDel.",
+       "apierror-revdel-paramneeded": "Requírese polo menos un valor para <var>hide</var> e/ou <var>show</var>.",
+       "apierror-revisions-norevids": "O parámetro <var>revids</var> non se pode utilizar xunto coas opción de lista (<var>$1limit</var>, <var>$1startid</var>, <var>$1endid</var>, <kbd>$1dir=newer</kbd>, <var>$1user</var>, <var>$1excludeuser</var>, <var>$1start</var> e <var>$1end</var>).",
+       "apierror-revisions-singlepage": "Utilizouse <var>titles</var>, <var>pageids</var> ou un xerador para proporcionar múltiples páxinas, pero os parámetros <var>$1limit</var>, <var>$1startid</var>, <var>$1endid</var>, <kbd>$1dir=newer</kbd>, <var>$1user</var>, <var>$1excludeuser</var>, <var>$1start</var> e <var>$1end</var> só poden utilizarse nunha soa páxina.",
        "apierror-revwrongpage": "r$1 non é unha revisión de $2.",
        "apierror-searchdisabled": "A busca <var>$1</var> está desactivada.",
        "apierror-sectionreplacefailed": "Non se puido combinar a sección actualizada.",
        "apierror-sizediffdisabled": "A diferenza de tamaño está deshabilitada no modo Miser.",
        "apierror-spamdetected": "A súa edición foi rexeitada por conter un fragmento de publicidade: <code>$1</code>.",
        "apierror-specialpage-cantexecute": "Non ten permiso para ver os resultados desta páxina especial.",
+       "apierror-stashedfilenotfound": "Non se puido atopar o ficheiro na reserva: $1.",
+       "apierror-stashfailed-complete": "A suba por partes completouse, revise o estado para obter máis detalles.",
+       "apierror-stashfailed-nosession": "Non hai sesión de suba por partes con esa clave.",
+       "apierror-stashfilestorage": "Non se puido almacenar a suba na reservaː $1",
        "apierror-stashinvalidfile": "Ficheiro de reserva incorrecto.",
        "apierror-stashpathinvalid": "Clave de ficheiro con formato incorrecto ou non válidaː $1.",
        "apierror-stashwrongowner": "Erro de propietarioː $1",
        "apierror-stashzerolength": "Ficheiro de lonxitude cero, non pode ser almacenado na reservaː $1.",
        "apierror-systemblocked": "Foi bloqueado automaticamente polo software MediaWiki.",
+       "apierror-templateexpansion-notwikitext": "A expansión de modelos só é compatible co contido en wikitexto. $1 usa o modelo de contido $2.",
+       "apierror-unknownaction": "A acción especificada, <kbd>$1</kbd>, non está recoñecida.",
        "apierror-unknownerror-editpage": "Erro descoñecido EditPageː $1.",
        "apierror-unknownerror-nocode": "Erro descoñecido.",
        "apierror-unknownerror": "Erro descoñecido: \"$1\".",
        "apierror-unknownformat": "Formato descoñecido \"$1\".",
        "apierror-unrecognizedparams": "{{PLURAL:$2|Parámetro non recoñecido|Parámetros non recoñecidos}}: $1.",
        "apierror-unrecognizedvalue": "Valor non recoñecido para o parámetro <var>$1</var>: $2.",
+       "apierror-unsupportedrepo": "O repositorio local de ficheiros non permite consultar tódalas imaxes.",
+       "apierror-upload-filekeyneeded": "Debe proporcionar un <var>filekey</var> cando <var>offset</var> é distinto de cero.",
+       "apierror-upload-filekeynotallowed": "Non pode proporcionar <var>filekey</var> cando <var>offset</var> é 0.",
+       "apierror-upload-inprogress": "A suba dende a reserva está en progreso.",
+       "apierror-upload-missingresult": "Non hai resultado nos datos de estado.",
        "apierror-urlparamnormal": "Non se puideron normalizar os parámetros de imaxe de $1.",
        "apierror-writeapidenied": "Non ten permiso para editar este wiki a través da API.",
        "apiwarn-alldeletedrevisions-performance": "Para ter un mellor rendemento á hora de xerar títulos, estableza <kbd>$1dir=newer</kbd>.",
        "apiwarn-badurlparam": "Non se puido analizar <var>$1urlparam</var> para $2. Só se usará a anchura e a altura.",
+       "apiwarn-badutf8": "O valor pasado para <var>$1</var> contén datos non válidos ou non normalizados. Os datos de texto deberían estar en formato Unicode válido, normalizado en NFC e sen caracteres de control C0 distintos de HT (\\t), LF (\\n) e CR (\\r).",
+       "apiwarn-deprecation-deletedrevs": "<kbd>list=deletedrevs</kbd> quedou obsoleto. No seu lugar, utilice <kbd>prop=deletedrevisions</kbd> ou <kbd>list=alldeletedrevisions</kbd>.",
        "apiwarn-deprecation-httpsexpected": "Utilizouse HTTP cando esperábase HTTPS.",
        "apiwarn-deprecation-parameter": "O parámetro <var>$1</var> está obsoleto.",
+       "apiwarn-deprecation-purge-get": "O uso de <kbd>action=purge</kbd> mediante GET está obsoleto. Use POST no seu lugar.",
+       "apiwarn-deprecation-withreplacement": "<kbd>$1</kbd> está obsoleto. No seu lugar, utilice <kbd>$2</kbd>.",
        "apiwarn-invalidcategory": "\"$1\" non é unha categoría.",
        "apiwarn-invalidtitle": "\"$1\" non é un título válido.",
        "apiwarn-notfile": "\"$1\" non é un ficheiro.",
        "apiwarn-truncatedresult": "Truncouse este resultado porque doutra maneira sobrepasaría o límite de $1 bytes.",
        "apiwarn-validationfailed-badpref": "non é unha preferencia válida.",
        "apiwarn-validationfailed-cannotset": "non pode ser establecido por este módulo.",
+       "apiwarn-validationfailed-keytoolong": "clave demasiado longa (non pode ter máis de $1 bytes).",
        "apiwarn-validationfailed": "Erro de validación de <kbd>$1</kbd>: $2",
        "apiwarn-wgDebugAPI": "<strong>Aviso de seguridade</strong>: <var>$wgDebugAPI</var> está habilitado.",
        "api-feed-error-title": "Erro ($1)",
index e17b9ad..d2f595d 100644 (file)
        "apihelp-query+siteinfo-paramvalue-prop-general": "システム全体の情報。",
        "apihelp-query+siteinfo-paramvalue-prop-specialpagealiases": "特別ページの別名の一覧。",
        "apihelp-query+siteinfo-paramvalue-prop-magicwords": "マジックワードとこれらの別名の一覧。",
+       "apihelp-query+siteinfo-paramvalue-prop-fileextensions": "アップロードが許可されているファイル拡張子の一覧を返します。",
        "apihelp-query+siteinfo-param-numberingroup": "利用者グループに属する利用者の数を一覧表示します。",
        "apihelp-query+siteinfo-example-simple": "サイト情報を取得する。",
        "apihelp-query+tags-description": "変更タグを一覧表示します。",
index 30dec54..ec20f8a 100644 (file)
        "apihelp-revisiondelete-description": "판을 삭제하거나 되살립니다.",
        "apihelp-revisiondelete-param-reason": "삭제 또는 복구 이유.",
        "apihelp-rollback-param-tags": "되돌리기를 적용하기 위해 태그합니다.",
+       "apihelp-rollback-example-simple": "<kbd>Project:대문</kbd> 문서의 <kbd>예시</kbd>의 마지막 판을 되돌리기",
        "apihelp-setpagelanguage-description": "문서의 언어를 변경합니다.",
        "apihelp-setpagelanguage-description-disabled": "이 위키에서 문서의 언어 변경은 허용되지 않습니다.\n\n이 동작을 사용하려면 <var>[[mw:Manual:$wgPageLanguageUseDB|$wgPageLanguageUseDB]]</var>을 활성화하십시오.",
        "apihelp-setpagelanguage-param-reason": "변경 이유.",
index 91e3e50..25e8330 100644 (file)
        "api-help-permissions-granted-to": "{{PLURAL:$1|Przydzielone dla}}: $2",
        "api-help-right-apihighlimits": "Użyj wyższych limitów w zapytaniach API (dla zapytań powolnych: $1; dla zapytań szbkich: $2). Limity zapytań powolnych są także stosowane dla parametrów z podanymi wieloma wartościami.",
        "api-help-open-in-apisandbox": "<small>[otwórz w brudnopisie]</small>",
+       "apierror-articleexists": "Artykuł, który próbowałeś utworzyć, już został utworzony.",
        "apierror-baddiff": "Różnicy wersji nie można odtworzyć. Jedna lub obie wersje nie istnieją, lub nie masz uprawnień do ich wyświetlenia.",
        "apierror-badgenerator-unknown": "Nieznany <kbd>generator=$1</kbd>.",
        "apierror-badip": "Parametr IP nie jest prawidłowy.",
index 4facc20..7cd489a 100644 (file)
@@ -508,7 +508,7 @@ class MessageCache {
 
                $res = $dbr->select(
                        [ 'page', 'revision', 'text' ],
-                       [ 'page_title', 'old_text', 'old_flags' ],
+                       [ 'page_title', 'old_id', 'old_text', 'old_flags' ],
                        $smallConds,
                        __METHOD__ . "($code)-small"
                );
index 3f4ad14..92a3d3f 100644 (file)
@@ -26,6 +26,8 @@ use MediaWiki\MediaWikiServices;
 use Wikimedia\Rdbms\ResultWrapper;
 
 class ChangesList extends ContextSource {
+       const CSS_CLASS_PREFIX = 'mw-changeslist-';
+
        /**
         * @var Skin
         */
@@ -47,12 +49,18 @@ class ChangesList extends ContextSource {
         */
        protected $linkRenderer;
 
+       /**
+        * @var array
+        */
+       protected $filterGroups;
+
        /**
         * Changeslist constructor
         *
         * @param Skin|IContextSource $obj
+        * @param array $filterGroups Array of ChangesListFilterGroup objects (currently optional)
         */
-       public function __construct( $obj ) {
+       public function __construct( $obj, array $filterGroups = [] ) {
                if ( $obj instanceof IContextSource ) {
                        $this->setContext( $obj );
                        $this->skin = $obj->getSkin();
@@ -63,6 +71,7 @@ class ChangesList extends ContextSource {
                $this->preCacheMessages();
                $this->watchMsgCache = new HashBagOStuff( [ 'maxKeys' => 50 ] );
                $this->linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer();
+               $this->filterGroups = $filterGroups;
        }
 
        /**
@@ -70,16 +79,19 @@ class ChangesList extends ContextSource {
         * Some users might want to use an enhanced list format, for instance
         *
         * @param IContextSource $context
+        * @param array $groups Array of ChangesListFilterGroup objects (currently optional)
         * @return ChangesList
         */
-       public static function newFromContext( IContextSource $context ) {
+       public static function newFromContext( IContextSource $context, array $groups = [] ) {
                $user = $context->getUser();
                $sk = $context->getSkin();
                $list = null;
                if ( Hooks::run( 'FetchChangesList', [ $user, &$sk, &$list ] ) ) {
                        $new = $context->getRequest()->getBool( 'enhanced', $user->getOption( 'usenewrc' ) );
 
-                       return $new ? new EnhancedChangesList( $context ) : new OldChangesList( $context );
+                       return $new ?
+                               new EnhancedChangesList( $context, $groups ) :
+                               new OldChangesList( $context, $groups );
                } else {
                        return $list;
                }
@@ -159,42 +171,40 @@ class ChangesList extends ContextSource {
        protected function getHTMLClasses( $rc, $watched ) {
                $classes = [];
                $logType = $rc->mAttribs['rc_log_type'];
-               $prefix = 'mw-changeslist-';
 
                if ( $logType ) {
-                       $classes[] = Sanitizer::escapeClass( $prefix . 'log-' . $logType );
+                       $classes[] = Sanitizer::escapeClass( self::CSS_CLASS_PREFIX . 'log-' . $logType );
                } else {
-                       $classes[] = Sanitizer::escapeClass( $prefix . 'ns' .
+                       $classes[] = Sanitizer::escapeClass( self::CSS_CLASS_PREFIX . 'ns' .
                                $rc->mAttribs['rc_namespace'] . '-' . $rc->mAttribs['rc_title'] );
                }
 
                // Indicate watched status on the line to allow for more
                // comprehensive styling.
                $classes[] = $watched && $rc->mAttribs['rc_timestamp'] >= $watched
-                       ? $prefix . 'line-watched'
-                       : $prefix . 'line-not-watched';
+                       ? self::CSS_CLASS_PREFIX . 'line-watched'
+                       : self::CSS_CLASS_PREFIX . 'line-not-watched';
 
                $classes = array_merge( $classes, $this->getHTMLClassesForFilters( $rc ) );
 
                return $classes;
        }
 
+       /**
+        * Get an array of CSS classes attributed to filters for this row
+        *
+        * @param RecentChange $rc
+        * @return array Array of CSS classes
+        */
        protected function getHTMLClassesForFilters( $rc ) {
                $classes = [];
-               $prefix = 'mw-changeslist-';
-
-               $classes[] = $prefix . ( $rc->getAttribute( 'rc_bot' ) ? 'bot' : 'human' );
-               $classes[] = $prefix . ( $rc->getAttribute( 'rc_user' ) ? 'liu' : 'anon' );
-               $classes[] = $prefix . ( $rc->getAttribute( 'rc_minor' ) ? 'minor' : 'major' );
-               $classes[] = $prefix .
-                       ( $rc->getAttribute( 'rc_patrolled' ) ? 'patrolled' : 'unpatrolled' );
-               $classes[] = $prefix .
-                       ( $this->getUser()->equals( $rc->getPerformer() ) ? 'self' : 'others' );
-               $classes[] = $prefix . 'src-' . str_replace( '.', '-', $rc->getAttribute( 'rc_source' ) );
-
-               $performer = $rc->getPerformer();
-               if ( $performer && $performer->isLoggedIn() ) {
-                       $classes[] = $prefix . 'user-' . $performer->getExperienceLevel();
+
+               if ( $this->filterGroups !== null ) {
+                       foreach ( $this->filterGroups as $filterGroup ) {
+                               foreach ( $filterGroup->getFilters() as $filter ) {
+                                       $filter->applyCssClassIfNeeded( $this, $rc, $classes );
+                               }
+                       }
                }
 
                return $classes;
diff --git a/includes/changes/ChangesListBooleanFilter.php b/includes/changes/ChangesListBooleanFilter.php
new file mode 100644 (file)
index 0000000..b6be1f9
--- /dev/null
@@ -0,0 +1,225 @@
+<?php
+/**
+ * Represents a hide-based boolean filter (used on ChangesListSpecialPage and descendants)
+ *
+ * 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
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @license GPL 2+
+ * @author Matthew Flaschen
+ */
+
+/**
+ * An individual filter in a boolean group
+ *
+ * @since 1.29
+ */
+class ChangesListBooleanFilter extends ChangesListFilter {
+       /**
+        * Name.  Used as URL parameter
+        *
+        * @var string $name
+        */
+
+       // This can sometimes be different on Special:RecentChanges
+       // and Special:Watchlist, due to the double-legacy hooks
+       // (SpecialRecentChangesFilters and SpecialWatchlistFilters)
+
+       // but there will be separate sets of ChangesListFilterGroup and ChangesListFilter instances
+       // for those pages (it should work even if they're both loaded
+       // at once, but that can't happen).
+       /**
+        * Main unstructured UI i18n key
+        *
+        * @var string $showHide
+        */
+       protected $showHide;
+
+       /**
+        * Whether there is a feature designed to replace this filter available on the
+        * structured UI
+        *
+        * @var bool $isReplacedInStructuredUi
+        */
+       protected $isReplacedInStructuredUi;
+
+       /**
+        * Default
+        *
+        * @var bool $defaultValue
+        */
+       protected $defaultValue;
+
+       /**
+        * Callable used to do the actual query modification; see constructor
+        *
+        * @var callable $queryCallable
+        */
+       protected $queryCallable;
+
+       /**
+        * Create a new filter with the specified configuration.
+        *
+        * It infers which UI (it can be either or both) to display the filter on based on
+        * which messages are provided.
+        *
+        * If 'label' is provided, it will be displayed on the structured UI.  If
+        * 'showHide' is provided, it will be displayed on the unstructured UI.  Thus,
+        * 'label', 'description', and 'showHide' are optional depending on which UI
+        * it's for.
+        *
+        * @param array $filterDefinition ChangesListFilter definition
+        *
+        * $filterDefinition['name'] string Name.  Used as URL parameter.
+        * $filterDefinition['group'] ChangesListFilterGroup Group.  Filter group this
+        *  belongs to.
+        * $filterDefinition['label'] string i18n key of label for structured UI.
+        * $filterDefinition['description'] string i18n key of description for structured
+        *  UI.
+        * $filterDefinition['showHide'] string Main i18n key used for unstructured UI.
+        * $filterDefinition['isReplacedInStructuredUi'] bool Whether there is an
+        *  equivalent feature available in the structured UI; this is optional, defaulting
+        *  to true.  It does not need to be set if the exact same filter is simply visible
+        *  on both.
+        * $filterDefinition['default'] bool Default
+        * $filterDefinition['isAllowedCallable'] callable Callable taking two parameters,
+        *  the class name of the special page and an IContextSource, and returning true
+        *  if and only if the current user is permitted to use this filter on the current
+        *  wiki.  If it returns false, it will both hide the UI (in all UIs) and prevent
+        *  the DB query modification from taking effect. (optional, defaults to allowed)
+        * $filterDefinition['priority'] int Priority integer.  Higher value means higher
+        *  up in the group's filter list.
+        * $filterDefinition['queryCallable'] callable Callable accepting parameters, used
+        *  to implement filter's DB query modification.  Callback parameters:
+        *   string $specialPageClassName Class name of current special page
+        *   IContextSource $context Context, for e.g. user
+        *   IDatabase $dbr Database, for addQuotes, makeList, and similar
+        *   array &$tables Array of tables; see IDatabase::select $table
+        *   array &$fields Array of fields; see IDatabase::select $vars
+        *   array &$conds Array of conditions; see IDatabase::select $conds
+        *   array &$query_options Array of query options; see IDatabase::select $options
+        *   array &$join_conds Array of join conditions; see IDatabase::select $join_conds
+        *   Optional only for legacy filters that still use the query hooks directly
+        */
+       public function __construct( $filterDefinition ) {
+               parent::__construct( $filterDefinition );
+
+               if ( isset( $filterDefinition['showHide'] ) ) {
+                       $this->showHide = $filterDefinition['showHide'];
+               }
+
+               if ( isset( $filterDefinition['isReplacedInStructuredUi'] ) ) {
+                       $this->isReplacedInStructuredUi = $filterDefinition['isReplacedInStructuredUi'];
+               } else {
+                       $this->isReplacedInStructuredUi = false;
+               }
+
+               if ( isset( $filterDefinition['default'] ) ) {
+                       $this->defaultValue = $filterDefinition['default'];
+               } else {
+                       throw new MWException( 'You must set a default' );
+               }
+
+               if ( isset( $filterDefinition['queryCallable'] ) ) {
+                       $this->queryCallable = $filterDefinition['queryCallable'];
+               }
+       }
+
+       /**
+        * @return bool|null Default value
+        */
+       public function getDefault() {
+               return $this->defaultValue;
+       }
+
+       /**
+        * Sets default
+        *
+        * @param bool Default value
+        */
+       public function setDefault( $defaultValue ) {
+               $this->defaultValue = $defaultValue;
+       }
+
+       /**
+        * @return string Main i18n key for unstructured UI
+        */
+       public function getShowHide() {
+               return $this->showHide;
+       }
+
+       /**
+        * @inheritdoc
+        */
+       public function displaysOnUnstructuredUi( ChangesListSpecialPage $specialPage ) {
+               return $this->showHide &&
+                       $this->isAllowed( $specialPage );
+       }
+
+       /**
+        * @inheritdoc
+        */
+       public function isFeatureAvailableOnStructuredUi( ChangesListSpecialPage $specialPage ) {
+               return $this->isReplacedInStructuredUi ||
+                       parent::isFeatureAvailableOnStructuredUi( $specialPage );
+       }
+
+       /**
+        * Modifies the query to include the filter.  This is only called if the filter is
+        * in effect (taking into account the default).
+        *
+        * @param IDatabase $dbr Database, for addQuotes, makeList, and similar
+        * @param ChangesListSpecialPage $specialPage Current special page
+        * @param array &$tables Array of tables; see IDatabase::select $table
+        * @param array &$fields Array of fields; see IDatabase::select $vars
+        * @param array &$conds Array of conditions; see IDatabase::select $conds
+        * @param array &$query_options Array of query options; see IDatabase::select $options
+        * @param array &$join_conds Array of join conditions; see IDatabase::select $join_conds
+        */
+       public function modifyQuery( IDatabase $dbr, ChangesListSpecialPage $specialPage,
+               &$tables, &$fields, &$conds, &$query_options, &$join_conds ) {
+
+               if ( $this->queryCallable === null ) {
+                       return;
+               }
+
+               call_user_func_array(
+                       $this->queryCallable,
+                       [
+                               get_class( $specialPage ),
+                               $specialPage->getContext(),
+                               $dbr,
+                               &$tables,
+                               &$fields,
+                               &$conds,
+                               &$query_options,
+                               &$join_conds
+                       ]
+               );
+       }
+
+       /**
+        * @inheritdoc
+        */
+       public function getJsData() {
+               $output = parent::getJsData();
+
+               $output['default'] = $this->defaultValue;
+
+               return $output;
+       }
+
+}
diff --git a/includes/changes/ChangesListBooleanFilterGroup.php b/includes/changes/ChangesListBooleanFilterGroup.php
new file mode 100644 (file)
index 0000000..1fdcd00
--- /dev/null
@@ -0,0 +1,59 @@
+<?php
+
+/**
+ * If the group is active, any unchecked filters will
+ * translate to hide parameters in the URL.  E.g. if 'Human (not bot)' is checked,
+ * but 'Bot' is unchecked, hidebots=1 will be sent.
+ *
+ * @since 1.29
+ */
+class ChangesListBooleanFilterGroup extends ChangesListFilterGroup {
+       /**
+        * Type marker, used by JavaScript
+        */
+       const TYPE = 'send_unselected_if_any';
+
+       /**
+        * Create a new filter group with the specified configuration
+        *
+        * @param array $groupDefinition Configuration of group
+        * * $groupDefinition['name'] string Group name
+        * * $groupDefinition['title'] string i18n key for title (optional, can be omitted
+        * *  only if none of the filters in the group display in the structured UI)
+        * * $groupDefinition['priority'] int Priority integer.  Higher means higher in the
+        * *  group list.
+        * * $groupDefinition['filters'] array Numeric array of filter definitions, each of which
+        * *  is an associative array to be passed to the filter constructor.  However,
+        * *  'priority' is optional for the filters.  Any filter that has priority unset
+        * *  will be put to the bottom, in the order given.
+        */
+       public function __construct( array $groupDefinition ) {
+               $groupDefinition['isFullCoverage'] = true;
+               $groupDefinition['type'] = self::TYPE;
+
+               parent::__construct( $groupDefinition );
+       }
+
+       /**
+        * @inheritdoc
+        */
+       protected function createFilter( array $filterDefinition ) {
+               return new ChangesListBooleanFilter( $filterDefinition );
+       }
+
+       /**
+        * Registers a filter in this group
+        *
+        * @param ChangesListBooleanFilter $filter ChangesListBooleanFilter
+        */
+       public function registerFilter( ChangesListBooleanFilter $filter ) {
+               $this->filters[$filter->getName()] = $filter;
+       }
+
+       /**
+        * @inheritdoc
+        */
+       public function isPerGroupRequestParameter() {
+               return false;
+       }
+}
diff --git a/includes/changes/ChangesListFilter.php b/includes/changes/ChangesListFilter.php
new file mode 100644 (file)
index 0000000..22e797d
--- /dev/null
@@ -0,0 +1,434 @@
+<?php
+/**
+ * Represents a filter (used on ChangesListSpecialPage and descendants)
+ *
+ * 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
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @license GPL 2+
+ * @author Matthew Flaschen
+ */
+
+/**
+ * Represents a filter (used on ChangesListSpecialPage and descendants)
+ *
+ * @since 1.29
+ */
+abstract class ChangesListFilter {
+       /**
+        * Filter name
+        *
+        * @var string $name
+        */
+       protected $name;
+
+       /**
+        * CSS class suffix used for attribution, e.g. 'bot'.
+        *
+        * In this example, if bot actions are included in the result set, this CSS class
+        * will then be included in all bot-flagged actions.
+        *
+        * @var string|null $cssClassSuffix
+        */
+       protected $cssClassSuffix;
+
+       /**
+        * Callable that returns true if and only if a row is attributed to this filter
+        *
+        * @var callable $isRowApplicableCallable
+        */
+       protected $isRowApplicableCallable;
+
+       /**
+        * Group.  ChangesListFilterGroup this belongs to
+        *
+        * @var ChangesListFilterGroup $group
+        */
+       protected $group;
+
+       /**
+        * i18n key of label for structured UI
+        *
+        * @var string $label
+        */
+       protected $label;
+
+       /**
+        * i18n key of description for structured UI
+        *
+        * @var string $description
+        */
+       protected $description;
+
+       /**
+        * Callable used to check whether this filter is allowed to take effect
+        *
+        * @var callable $isAllowedCallable
+        */
+       protected $isAllowedCallable;
+
+       /**
+        * List of conflicting groups
+        *
+        * @var array $conflictingGroups Array of associative arrays with conflict
+        *   information.  See setUnidirectionalConflict
+        */
+       protected $conflictingGroups = [];
+
+       /**
+        * List of conflicting filters
+        *
+        * @var array $conflictingFilters Array of associative arrays with conflict
+        *   information.  See setUnidirectionalConflict
+        */
+       protected $conflictingFilters = [];
+
+       /**
+        * List of filters that are a subset of the current filter
+        *
+        * @var array $subsetFilters Array of associative arrays with subset information
+        */
+       protected $subsetFilters = [];
+
+       /**
+        * Priority integer.  Higher value means higher up in the group's filter list.
+        *
+        * @var string $priority
+        */
+       protected $priority;
+
+       const RESERVED_NAME_CHAR = '_';
+
+       /**
+        * Creates a new filter with the specified configuration, and registers it to the
+        * specified group.
+        *
+        * It infers which UI (it can be either or both) to display the filter on based on
+        * which messages are provided.
+        *
+        * If 'label' is provided, it will be displayed on the structured UI.  Thus,
+        * 'label', 'description', and sub-class parameters are optional depending on which
+        * UI it's for.
+        *
+        * @param array $filterDefinition ChangesListFilter definition
+        *
+        * $filterDefinition['name'] string Name of filter; use lowercase with no
+        *  punctuation
+        * $filterDefinition['cssClassSuffix'] string CSS class suffix, used to mark
+        *  that a particular row belongs to this filter (when a row is included by the
+        *  filter) (optional)
+        * $filterDefinition['isRowApplicableCallable'] Callable taking two parameters, the
+        *  IContextSource, and the RecentChange object for the row, and returning true if
+        *  the row is attributed to this filter.  The above CSS class will then be
+        *  automatically added (optional, required if cssClassSuffix is used).
+        * $filterDefinition['group'] ChangesListFilterGroup Group.  Filter group this
+        *  belongs to.
+        * $filterDefinition['label'] string i18n key of label for structured UI.
+        * $filterDefinition['description'] string i18n key of description for structured
+        *  UI.
+        * $filterDefinition['isAllowedCallable'] callable Callable taking two parameters,
+        *  the class name of the special page and an IContextSource, and returning true
+        *  if and only if the current user is permitted to use this filter on the current
+        *  wiki.  If it returns false, it will both hide the UI (in all UIs) and prevent
+        *  the DB query modification from taking effect. (optional, defaults to allowed)
+        * $filterDefinition['priority'] int Priority integer.  Higher value means higher
+        *  up in the group's filter list.
+        */
+       public function __construct( array $filterDefinition ) {
+               if ( isset( $filterDefinition['group'] ) ) {
+                       $this->group = $filterDefinition['group'];
+               } else {
+                       throw new MWException( 'You must use \'group\' to specify the ' .
+                               'ChangesListFilterGroup this filter belongs to' );
+               }
+
+               if ( strpos( $filterDefinition['name'], self::RESERVED_NAME_CHAR ) !== false ) {
+                       throw new MWException( 'Filter names may not contain \'' .
+                               self::RESERVED_NAME_CHAR .
+                               '\'.  Use the naming convention: \'lowercase\''
+                       );
+               }
+
+               if ( $this->group->getFilter( $filterDefinition['name'] ) ) {
+                       throw new MWException( 'Two filters in a group cannot have the ' .
+                               "same name: '{$filterDefinition['name']}'" );
+               }
+
+               $this->name = $filterDefinition['name'];
+
+               if ( isset( $filterDefinition['cssClassSuffix'] ) ) {
+                       $this->cssClassSuffix = $filterDefinition['cssClassSuffix'];
+                       $this->isRowApplicableCallable = $filterDefinition['isRowApplicableCallable'];
+               }
+
+               if ( isset( $filterDefinition['label'] ) ) {
+                       $this->label = $filterDefinition['label'];
+                       $this->description = $filterDefinition['description'];
+               }
+
+               if ( isset( $filterDefinition['isAllowedCallable'] ) ) {
+                       $this->isAllowedCallable = $filterDefinition['isAllowedCallable'];
+               }
+
+               $this->priority = $filterDefinition['priority'];
+
+               $this->group->registerFilter( $this );
+       }
+
+       /**
+        * Marks that the given ChangesListFilterGroup or ChangesListFilter conflicts with this object.
+        *
+        * WARNING: This means there is a conflict when both things are *shown*
+        * (not filtered out), even for the hide-based filters.  So e.g. conflicting with
+        * 'hideanons' means there is a conflict if only anonymous users are *shown*.
+        *
+        * @param ChangesListFilterGroup|ChangesListFilter $other Other
+        *  ChangesListFilterGroup or ChangesListFilter
+        * @param string $globalKey i18n key for top-level conflict message
+        * @param string $forwardKey i18n key for conflict message in this
+        *  direction (when in UI context of $this object)
+        * @param string $backwardKey i18n key for conflict message in reverse
+        *  direction (when in UI context of $other object)
+        */
+       public function conflictsWith( $other, $globalKey, $forwardKey,
+               $backwardKey ) {
+
+               if ( $globalKey === null || $forwardKey === null ||
+                       $backwardKey === null ) {
+
+                       throw new MWException( 'All messages must be specified' );
+               }
+
+               $this->setUnidirectionalConflict(
+                       $other,
+                       $globalKey,
+                       $forwardKey
+               );
+
+               $other->setUnidirectionalConflict(
+                       $this,
+                       $globalKey,
+                       $backwardKey
+               );
+       }
+
+       /**
+        * Marks that the given ChangesListFilterGroup or ChangesListFilter conflicts with
+        * this object.
+        *
+        * Internal use ONLY.
+        *
+        * @param ChangesListFilterGroup|ChangesListFilter $other Other
+        *  ChangesListFilterGroup or ChangesListFilter
+        * @param string $globalDescription i18n key for top-level conflict message
+        * @param string $contextDescription i18n key for conflict message in this
+        *  direction (when in UI context of $this object)
+        */
+       public function setUnidirectionalConflict( $other, $globalDescription,
+               $contextDescription ) {
+
+               if ( $other instanceof ChangesListFilterGroup ) {
+                       $this->conflictingGroups[] = [
+                               'group' => $other->getName(),
+                               'globalDescription' => $globalDescription,
+                               'contextDescription' => $contextDescription,
+                       ];
+               } elseif ( $other instanceof ChangesListFilter ) {
+                       $this->conflictingFilters[] = [
+                               'group' => $other->getGroup()->getName(),
+                               'filter' => $other->getName(),
+                               'globalDescription' => $globalDescription,
+                               'contextDescription' => $contextDescription,
+                       ];
+               } else {
+                       throw new MWException( 'You can only pass in a ChangesListFilterGroup or a ChangesListFilter' );
+               }
+       }
+
+       /**
+        * Marks that the current instance is (also) a superset of the filter passed in.
+        * This can be called more than once.
+        *
+        * This means that anything in the results for the other filter is also in the
+        * results for this one.
+        *
+        * @param ChangesListFilter The filter the current instance is a superset of
+        */
+       public function setAsSupersetOf( ChangesListFilter $other ) {
+               if ( $other->getGroup() !== $this->getGroup() ) {
+                       throw new MWException( 'Supersets can only be defined for filters in the same group' );
+               }
+
+               $this->subsetFilters[] = [
+                       // It's always the same group, but this makes the representation
+                       // more consistent with conflicts.
+                       'group' => $other->getGroup()->getName(),
+                       'filter' => $other->getName(),
+               ];
+       }
+
+       /**
+        * @return string Name, e.g. hideanons
+        */
+       public function getName() {
+               return $this->name;
+       }
+
+       /**
+        * @return ChangesListFilterGroup Group this belongs to
+        */
+       public function getGroup() {
+               return $this->group;
+       }
+
+       /**
+        * @return string i18n key of label for structured UI
+        */
+       public function getLabel() {
+               return $this->label;
+       }
+
+       /**
+        * @return string i18n key of description for structured UI
+        */
+       public function getDescription() {
+               return $this->description;
+       }
+
+       /**
+        * Checks whether the filter should display on the unstructured UI
+        *
+        * @param ChangesListSpecialPage $specialPage Current special page
+        * @return bool Whether to display
+        */
+       abstract public function displaysOnUnstructuredUi( ChangesListSpecialPage $specialPage );
+
+       /**
+        * Checks whether the filter should display on the structured UI
+        * This refers to the exact filter.  See also isFeatureAvailableOnStructuredUi.
+        *
+        * @param ChangesListSpecialPage $specialPage Current special page
+        * @return bool Whether to display
+        */
+       public function displaysOnStructuredUi( ChangesListSpecialPage $specialPage ) {
+               return $this->label !== null && $this->isAllowed( $specialPage );
+       }
+
+       /**
+        * Checks whether an equivalent feature for this filter is available on the
+        * structured UI.
+        *
+        * This can either be the exact filter, or a new filter that replaces it.
+        */
+       public function isFeatureAvailableOnStructuredUi( ChangesListSpecialPage $specialPage ) {
+               return $this->displaysOnStructuredUi( $specialPage );
+       }
+
+       /**
+        * @return int Priority.  Higher value means higher up in the group list
+        */
+       public function getPriority() {
+               return $this->priority;
+       }
+
+       /**
+        * Checks whether the filter is allowed for the current context
+        *
+        * @param ChangesListSpecialPage $specialPage Current special page
+        * @return bool Whether it is allowed
+        */
+       public function isAllowed( ChangesListSpecialPage $specialPage ) {
+               if ( $this->isAllowedCallable === null ) {
+                       return true;
+               } else {
+                       return call_user_func(
+                               $this->isAllowedCallable,
+                               get_class( $specialPage ),
+                               $specialPage->getContext()
+                       );
+               }
+       }
+
+       /**
+        * Gets the CSS class
+        *
+        * @return string|null CSS class, or null if not defined
+        */
+       protected function getCssClass() {
+               if ( $this->cssClassSuffix !== null ) {
+                       return ChangesList::CSS_CLASS_PREFIX . $this->cssClassSuffix;
+               } else {
+                       return null;
+               }
+       }
+
+       /**
+        * Add CSS class if needed
+        *
+        * @param IContextSource $ctx Context source
+        * @param RecentChange $rc Recent changes object
+        * @param Non-associative array of CSS class names; appended to if needed
+        */
+       public function applyCssClassIfNeeded( IContextSource $ctx, RecentChange $rc, array &$classes ) {
+               if ( $this->isRowApplicableCallable === null ) {
+                       return;
+               }
+
+               if ( call_user_func( $this->isRowApplicableCallable, $ctx, $rc ) ) {
+                       $classes[] = $this->getCssClass();
+               }
+       }
+
+       /**
+        * Gets the JS data required by the front-end of the structured UI
+        *
+        * @return array Associative array Data required by the front-end.  messageKeys is
+        *  a special top-level value, with the value being an array of the message keys to
+        *  send to the client.
+        */
+       public function getJsData() {
+               $output = [
+                       'name' => $this->getName(),
+                       'label' => $this->getLabel(),
+                       'description' => $this->getDescription(),
+                       'cssClass' => $this->getCssClass(),
+                       'priority' => $this->priority,
+                       'subset' => $this->subsetFilters,
+                       'conflicts' => [],
+               ];
+
+               $output['messageKeys'] = [
+                       $this->getLabel(),
+                       $this->getDescription(),
+               ];
+
+               $conflicts = array_merge(
+                       $this->conflictingGroups,
+                       $this->conflictingFilters
+               );
+
+               foreach ( $conflicts as $conflictInfo ) {
+                       $output['conflicts'][] = $conflictInfo;
+                       array_push(
+                               $output['messageKeys'],
+                               $conflictInfo['globalDescription'],
+                               $conflictInfo['contextDescription']
+                       );
+               }
+
+               return $output;
+       }
+}
diff --git a/includes/changes/ChangesListFilterGroup.php b/includes/changes/ChangesListFilterGroup.php
new file mode 100644 (file)
index 0000000..d2ad204
--- /dev/null
@@ -0,0 +1,403 @@
+<?php
+/**
+ * Represents a filter group (used on ChangesListSpecialPage and descendants)
+ *
+ * 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
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @license GPL 2+
+ * @author Matthew Flaschen
+ */
+
+// TODO: Might want to make a super-class or trait to share behavior (especially re
+// conflicts) between ChangesListFilter and ChangesListFilterGroup.
+// What to call it.  FilterStructure?  That would also let me make
+// setUnidirectionalConflict protected.
+
+/**
+ * Represents a filter group (used on ChangesListSpecialPage and descendants)
+ *
+ * @since 1.29
+ */
+abstract class ChangesListFilterGroup {
+       /**
+        * Name (internal identifier)
+        *
+        * @var string $name
+        */
+       protected $name;
+
+       /**
+        * i18n key for title
+        *
+        * @var string $title
+        */
+       protected $title;
+
+       /**
+        * i18n key for header of What's This?
+        *
+        * @var string|null $whatsThisHeader
+        */
+       protected $whatsThisHeader;
+
+       /**
+        * i18n key for body of What's This?
+        *
+        * @var string|null $whatsThisBody
+        */
+       protected $whatsThisBody;
+
+       /**
+        * URL of What's This? link
+        *
+        * @var string|null $whatsThisUrl
+        */
+       protected $whatsThisUrl;
+
+       /**
+        * i18n key for What's This? link
+        *
+        * @var string|null $whatsThisLinkText
+        */
+       protected $whatsThisLinkText;
+
+       /**
+        * Type, from a TYPE constant of a subclass
+        *
+        * @var string $type
+        */
+       protected $type;
+
+       /**
+        * Priority integer.  Higher values means higher up in the
+        * group list.
+        *
+        * @var string $priority
+        */
+       protected $priority;
+
+       /**
+        * Associative array of filters, as ChangesListFilter objects, with filter name as key
+        *
+        * @var array $filters
+        */
+       protected $filters;
+
+       /**
+        * Whether this group is full coverage.  This means that checking every item in the
+        * group means no changes list (e.g. RecentChanges) entries are filtered out.
+        *
+        * @var bool $isFullCoverage
+        */
+       protected $isFullCoverage;
+
+       /**
+        * List of conflicting groups
+        *
+        * @var array $conflictingGroups Array of associative arrays with conflict
+        *   information.  See setUnidirectionalConflict
+        */
+       protected $conflictingGroups = [];
+
+       /**
+        * List of conflicting filters
+        *
+        * @var array $conflictingFilters Array of associative arrays with conflict
+        *   information.  See setUnidirectionalConflict
+        */
+       protected $conflictingFilters = [];
+
+       const DEFAULT_PRIORITY = -100;
+
+       const RESERVED_NAME_CHAR = '_';
+
+       /**
+        * Create a new filter group with the specified configuration
+        *
+        * @param array $groupDefinition Configuration of group
+        * * $groupDefinition['name'] string Group name; use camelCase with no punctuation
+        * * $groupDefinition['title'] string i18n key for title (optional, can be omitted
+        * *  only if none of the filters in the group display in the structured UI)
+        * * $groupDefinition['type'] string A type constant from a subclass of this one
+        * * $groupDefinition['priority'] int Priority integer.  Higher value means higher
+        * *  up in the group list (optional, defaults to -100).
+        * * $groupDefinition['filters'] array Numeric array of filter definitions, each of which
+        * *  is an associative array to be passed to the filter constructor.  However,
+        * *  'priority' is optional for the filters.  Any filter that has priority unset
+        * *  will be put to the bottom, in the order given.
+        * * $groupDefinition['isFullCoverage'] bool Whether the group is full coverage;
+        * *  if true, this means that checking every item in the group means no
+        * *  changes list entries are filtered out.
+        */
+       public function __construct( array $groupDefinition ) {
+               if ( strpos( $groupDefinition['name'], self::RESERVED_NAME_CHAR ) !== false ) {
+                       throw new MWException( 'Group names may not contain \'' .
+                               self::RESERVED_NAME_CHAR .
+                               '\'.  Use the naming convention: \'camelCase\''
+                       );
+               }
+
+               $this->name = $groupDefinition['name'];
+
+               if ( isset( $groupDefinition['title'] ) ) {
+                       $this->title = $groupDefinition['title'];
+               }
+
+               if ( isset ( $groupDefinition['whatsThisHeader'] ) ) {
+                       $this->whatsThisHeader = $groupDefinition['whatsThisHeader'];
+                       $this->whatsThisBody = $groupDefinition['whatsThisBody'];
+                       $this->whatsThisUrl = $groupDefinition['whatsThisUrl'];
+                       $this->whatsThisLinkText = $groupDefinition['whatsThisLinkText'];
+               }
+
+               $this->type = $groupDefinition['type'];
+               if ( isset( $groupDefinition['priority'] ) ) {
+                       $this->priority = $groupDefinition['priority'];
+               } else {
+                       $this->priority = self::DEFAULT_PRIORITY;
+               }
+
+               $this->isFullCoverage = $groupDefinition['isFullCoverage'];
+
+               $this->filters = [];
+               $lowestSpecifiedPriority = -1;
+               foreach ( $groupDefinition['filters'] as $filterDefinition ) {
+                       if ( isset( $filterDefinition['priority'] ) ) {
+                               $lowestSpecifiedPriority = min( $lowestSpecifiedPriority, $filterDefinition['priority'] );
+                       }
+               }
+
+               // Convenience feature: If you specify a group (and its filters) all in
+               // one place, you don't have to specify priority.  You can just put them
+               // in order.  However, if you later add one (e.g. an extension adds a filter
+               // to a core-defined group), you need to specify it.
+               $autoFillPriority = $lowestSpecifiedPriority - 1;
+               foreach ( $groupDefinition['filters'] as $filterDefinition ) {
+                       if ( !isset( $filterDefinition['priority'] ) ) {
+                               $filterDefinition['priority'] = $autoFillPriority;
+                               $autoFillPriority--;
+                       }
+                       $filterDefinition['group'] = $this;
+
+                       $filter = $this->createFilter( $filterDefinition );
+                       $this->registerFilter( $filter );
+               }
+       }
+
+       /**
+        * Creates a filter of the appropriate type for this group, from the definition
+        *
+        * @param array $filterDefinition Filter definition
+        * @return ChangesListFilter Filter
+        */
+       abstract protected function createFilter( array $filterDefinition );
+
+       /**
+        * Marks that the given ChangesListFilterGroup or ChangesListFilter conflicts with this object.
+        *
+        * WARNING: This means there is a conflict when both things are *shown*
+        * (not filtered out), even for the hide-based filters.  So e.g. conflicting with
+        * 'hideanons' means there is a conflict if only anonymous users are *shown*.
+        *
+        * @param ChangesListFilterGroup|ChangesListFilter $other Other
+        *  ChangesListFilterGroup or ChangesListFilter
+        * @param string $globalKey i18n key for top-level conflict message
+        * @param string $forwardKey i18n key for conflict message in this
+        *  direction (when in UI context of $this object)
+        * @param string $backwardKey i18n key for conflict message in reverse
+        *  direction (when in UI context of $other object)
+        */
+       public function conflictsWith( $other, $globalKey, $forwardKey,
+               $backwardKey ) {
+
+               if ( $globalKey === null || $forwardKey === null ||
+                       $backwardKey === null ) {
+
+                       throw new MWException( 'All messages must be specified' );
+               }
+
+               $this->setUnidirectionalConflict(
+                       $other,
+                       $globalKey,
+                       $forwardKey
+               );
+
+               $other->setUnidirectionalConflict(
+                       $this,
+                       $globalKey,
+                       $backwardKey
+               );
+       }
+
+       /**
+        * Marks that the given ChangesListFilterGroup or ChangesListFilter conflicts with
+        * this object.
+        *
+        * Internal use ONLY.
+        *
+        * @param ChangesListFilterGroup|ChangesListFilter $other Other
+        *  ChangesListFilterGroup or ChangesListFilter
+        * @param string $globalDescription i18n key for top-level conflict message
+        * @param string $contextDescription i18n key for conflict message in this
+        *  direction (when in UI context of $this object)
+        */
+       public function setUnidirectionalConflict( $other, $globalDescription,
+               $contextDescription ) {
+
+               if ( $other instanceof ChangesListFilterGroup ) {
+                       $this->conflictingGroups[] = [
+                               'group' => $other->getName(),
+                               'globalDescription' => $globalDescription,
+                               'contextDescription' => $contextDescription,
+                       ];
+               } elseif ( $other instanceof ChangesListFilter ) {
+                       $this->conflictingFilters[] = [
+                               'group' => $other->getGroup()->getName(),
+                               'filter' => $other->getName(),
+                               'globalDescription' => $globalDescription,
+                               'contextDescription' => $contextDescription,
+                       ];
+               } else {
+                       throw new MWException( 'You can only pass in a ChangesListFilterGroup or a ChangesListFilter' );
+               }
+       }
+
+       /**
+        * @return string Internal name
+        */
+       public function getName() {
+               return $this->name;
+       }
+
+       /**
+        * @return string i18n key for title
+        */
+       public function getTitle() {
+               return $this->title;
+       }
+
+       /**
+        * @return string Type (TYPE constant from a subclass)
+        */
+       public function getType() {
+               return $this->type;
+       }
+
+       /**
+        * @return int Priority.  Higher means higher in the group list
+        */
+       public function getPriority() {
+               return $this->priority;
+       }
+
+       /**
+        * @return array Associative array of ChangesListFilter objects, with filter name as key
+        */
+       public function getFilters() {
+               return $this->filters;
+       }
+
+       /**
+        * Get filter by name
+        *
+        * @param string $name Filter name
+        * @return ChangesListFilter|null Specified filter, or null if it is not registered
+        */
+       public function getFilter( $name ) {
+               return isset( $this->filters[$name] ) ? $this->filters[$name] : null;
+       }
+
+       /**
+        * Check whether the URL parameter is for the group, or for individual filters.
+        * Defaults can also be defined on the group if and only if this is true.
+        *
+        * @return bool True if and only if the URL parameter is per-group
+        */
+       abstract public function isPerGroupRequestParameter();
+
+       /**
+        * Gets the JS data in the format required by the front-end of the structured UI
+        *
+        * @param ChangesListSpecialPage $specialPage
+        * @return array|null Associative array, or null if there are no filters that
+        *  display in the structured UI.  messageKeys is a special top-level value, with
+        *  the value being an array of the message keys to send to the client.
+        */
+       public function getJsData( ChangesListSpecialPage $specialPage ) {
+               $output = [
+                       'name' => $this->name,
+                       'type' => $this->type,
+                       'fullCoverage' => $this->isFullCoverage,
+                       'filters' => [],
+                       'priority' => $this->priority,
+                       'conflicts' => [],
+                       'messageKeys' => [ $this->title ]
+               ];
+
+               if ( isset ( $this->whatsThisHeader ) ) {
+                       $output['whatsThisHeader'] = $this->whatsThisHeader;
+                       $output['whatsThisBody'] = $this->whatsThisBody;
+                       $output['whatsThisUrl'] = $this->whatsThisUrl;
+                       $output['whatsThisLinkText'] = $this->whatsThisLinkText;
+
+                       array_push(
+                               $output['messageKeys'],
+                               $output['whatsThisHeader'],
+                               $output['whatsThisBody'],
+                               $output['whatsThisLinkText']
+                       );
+               }
+
+               usort( $this->filters, function ( $a, $b ) {
+                       return $b->getPriority() - $a->getPriority();
+               } );
+
+               foreach ( $this->filters as $filterName => $filter ) {
+                       if ( $filter->displaysOnStructuredUi( $specialPage ) ) {
+                               $filterData = $filter->getJsData();
+                               $output['messageKeys'] = array_merge(
+                                       $output['messageKeys'],
+                                       $filterData['messageKeys']
+                               );
+                               unset( $filterData['messageKeys'] );
+                               $output['filters'][] = $filterData;
+                       }
+               }
+
+               if ( count( $output['filters'] ) === 0 ) {
+                       return null;
+               }
+
+               $output['title'] = $this->title;
+
+               $conflicts = array_merge(
+                       $this->conflictingGroups,
+                       $this->conflictingFilters
+               );
+
+               foreach ( $conflicts as $conflictInfo ) {
+                       $output['conflicts'][] = $conflictInfo;
+                       array_push(
+                               $output['messageKeys'],
+                               $conflictInfo['globalDescription'],
+                               $conflictInfo['contextDescription']
+                       );
+               }
+
+               return $output;
+       }
+}
diff --git a/includes/changes/ChangesListStringOptionsFilter.php b/includes/changes/ChangesListStringOptionsFilter.php
new file mode 100644 (file)
index 0000000..b6a8774
--- /dev/null
@@ -0,0 +1,17 @@
+<?php
+
+/**
+ * An individual filter in a ChangesListStringOptionsFilterGroup.
+ *
+ * This filter type will only be displayed on the structured UI currently.
+ *
+ * @since 1.29
+ */
+class ChangesListStringOptionsFilter extends ChangesListFilter {
+       /**
+        * @inheritdoc
+        */
+       public function displaysOnUnstructuredUi( ChangesListSpecialPage $specialPage ) {
+               return false;
+       }
+}
diff --git a/includes/changes/ChangesListStringOptionsFilterGroup.php b/includes/changes/ChangesListStringOptionsFilterGroup.php
new file mode 100644 (file)
index 0000000..befc213
--- /dev/null
@@ -0,0 +1,243 @@
+<?php
+/**
+ * Represents a filter group (used on ChangesListSpecialPage and descendants)
+ *
+ * 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
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @license GPL 2+
+ * @author Matthew Flaschen
+ */
+
+/**
+ * Represents a filter group with multiple string options. They are passed to the server as
+ * a single form parameter separated by a delimiter.  The parameter name is the
+ * group name.  E.g. groupname=opt1;opt2 .
+ *
+ * If all options are selected they are replaced by the term "all".
+ *
+ * There is also a single DB query modification for the whole group.
+ *
+ * @since 1.29
+ */
+
+class ChangesListStringOptionsFilterGroup extends ChangesListFilterGroup {
+       /**
+        * Type marker, used by JavaScript
+        */
+       const TYPE = 'string_options';
+
+       /**
+        * Delimiter
+        */
+       const SEPARATOR = ';';
+
+       /**
+        * Signifies that all options in the group are selected.
+        */
+       const ALL = 'all';
+
+       /**
+        * Signifies that no options in the group are selected, meaning the group has no effect.
+        *
+        * For full-coverage groups, this is the same as ALL if all filters are allowed.
+        * For others, it is not.
+        */
+       const NONE = '';
+
+       /**
+        * Group name; used as form parameter.
+        *
+        * @var string $name
+        */
+
+       /**
+        * Defaul parameter value
+        *
+        * @var string $defaultValue
+        */
+       protected $defaultValue;
+
+       /**
+        * Callable used to do the actual query modification; see constructor
+        *
+        * @var callable $queryCallable
+        */
+       protected $queryCallable;
+
+       /**
+        * Create a new filter group with the specified configuration
+        *
+        * @param array $groupDefinition Configuration of group
+        * * $groupDefinition['name'] string Group name
+        * * $groupDefinition['title'] string i18n key for title (optional, can be omitted
+        * *  only if none of the filters in the group display in the structured UI)
+        * * $groupDefinition['priority'] int Priority integer.  Higher means higher in the
+        * *  group list.
+        * * $groupDefinition['filters'] array Numeric array of filter definitions, each of which
+        * *  is an associative array to be passed to the filter constructor.  However,
+        * *  'priority' is optional for the filters.  Any filter that has priority unset
+        * *  will be put to the bottom, in the order given.
+        * * $groupDefinition['default'] string Default for group.
+        * * $groupDefinition['isFullCoverage'] bool Whether the group is full coverage;
+        * *  if true, this means that checking every item in the group means no
+        * *  changes list entries are filtered out.
+        * * $groupDefinition['queryCallable'] callable Callable accepting parameters:
+        * *  string $specialPageClassName Class name of current special page
+        * *  IContextSource $context Context, for e.g. user
+        * *  IDatabase $dbr Database, for addQuotes, makeList, and similar
+        * *  array &$tables Array of tables; see IDatabase::select $table
+        * *  array &$fields Array of fields; see IDatabase::select $vars
+        * *  array &$conds Array of conditions; see IDatabase::select $conds
+        * *  array &$query_options Array of query options; see IDatabase::select $options
+        * *  array &$join_conds Array of join conditions; see IDatabase::select $join_conds
+        * *  array $selectedValues The allowed and requested values, lower-cased and sorted
+        */
+       public function __construct( array $groupDefinition ) {
+               if ( !isset( $groupDefinition['isFullCoverage'] ) ) {
+                       throw new MWException( 'You must specify isFullCoverage' );
+               }
+
+               $groupDefinition['type'] = self::TYPE;
+
+               parent::__construct( $groupDefinition );
+
+               $this->queryCallable = $groupDefinition['queryCallable'];
+
+               if ( isset( $groupDefinition['default'] ) ) {
+                       $this->setDefault( $groupDefinition['default'] );
+               } else {
+                       throw new MWException( 'You must specify a default' );
+               }
+       }
+
+       /**
+        * @inheritdoc
+        */
+       public function isPerGroupRequestParameter() {
+               return true;
+       }
+
+       /**
+        * Sets default of filter group.
+        *
+        * @param string $defaultValue
+        */
+       public function setDefault( $defaultValue ) {
+               $this->defaultValue = $defaultValue;
+       }
+
+       /**
+        * Gets default of filter group
+        *
+        * @return string $defaultValue
+        */
+       public function getDefault() {
+               return $this->defaultValue;
+       }
+
+       /**
+        * @inheritdoc
+        */
+       protected function createFilter( array $filterDefinition ) {
+               return new ChangesListStringOptionsFilter( $filterDefinition );
+       }
+
+       /**
+        * Registers a filter in this group
+        *
+        * @param ChangesListStringOptionsFilter $filter ChangesListStringOptionsFilter
+        */
+       public function registerFilter( ChangesListStringOptionsFilter $filter ) {
+               $this->filters[$filter->getName()] = $filter;
+       }
+
+       /**
+        * Modifies the query to include the filter group.
+        *
+        * The modification is only done if the filter group is in effect.  This means that
+        * one or more valid and allowed filters were selected.
+        *
+        * @param IDatabase $dbr Database, for addQuotes, makeList, and similar
+        * @param ChangesListSpecialPage $specialPage Current special page
+        * @param array &$tables Array of tables; see IDatabase::select $table
+        * @param array &$fields Array of fields; see IDatabase::select $vars
+        * @param array &$conds Array of conditions; see IDatabase::select $conds
+        * @param array &$query_options Array of query options; see IDatabase::select $options
+        * @param array &$join_conds Array of join conditions; see IDatabase::select $join_conds
+        * @param string $value URL parameter value
+        */
+       public function modifyQuery( IDatabase $dbr, ChangesListSpecialPage $specialPage,
+               &$tables, &$fields, &$conds, &$query_options, &$join_conds, $value ) {
+
+               $allowedFilterNames = [];
+               foreach ( $this->filters as $filter ) {
+                       if ( $filter->isAllowed( $specialPage ) ) {
+                               $allowedFilterNames[] = $filter->getName();
+                       }
+               }
+
+               if ( $value === self::ALL ) {
+                       $selectedValues = $allowedFilterNames;
+               } else {
+                       $selectedValues = explode( self::SEPARATOR, strtolower( $value ) );
+
+                       // remove values that are not recognized or not currently allowed
+                       $selectedValues = array_intersect(
+                               $selectedValues,
+                               $allowedFilterNames
+                       );
+               }
+
+               // If there are now no values, because all are disallowed or invalid (also,
+               // the user may not have selected any), this is a no-op.
+
+               // If everything is unchecked, the group always has no effect, regardless
+               // of full-coverage.
+               if ( count( $selectedValues ) === 0 ) {
+                       return;
+               }
+
+               sort( $selectedValues );
+
+               call_user_func_array(
+                       $this->queryCallable,
+                       [
+                               get_class( $specialPage ),
+                               $specialPage->getContext(),
+                               $dbr,
+                               &$tables,
+                               &$fields,
+                               &$conds,
+                               &$query_options,
+                               &$join_conds,
+                               $selectedValues
+                       ]
+               );
+       }
+
+       /**
+        * @inheritdoc
+        */
+       public function getJsData( ChangesListSpecialPage $specialPage ) {
+               $output = parent::getJsData( $specialPage );
+
+               $output['separator'] = self::SEPARATOR;
+               $output['default'] = $this->getDefault();
+
+               return $output;
+       }
+}
index 3aad60e..b8a2ac8 100644 (file)
@@ -34,9 +34,10 @@ class EnhancedChangesList extends ChangesList {
 
        /**
         * @param IContextSource|Skin $obj
+        * @param array $filterGroups Array of ChangesListFilterGroup objects (currently optional)
         * @throws MWException
         */
-       public function __construct( $obj ) {
+       public function __construct( $obj, array $filterGroups = [] ) {
                if ( $obj instanceof Skin ) {
                        // @todo: deprecate constructing with Skin
                        $context = $obj->getContext();
@@ -49,7 +50,7 @@ class EnhancedChangesList extends ChangesList {
                        $context = $obj;
                }
 
-               parent::__construct( $context );
+               parent::__construct( $context, $filterGroups );
 
                // message is set by the parent ChangesList class
                $this->cacheEntryFactory = new RCCacheEntryFactory(
index ea5278f..135c9b2 100644 (file)
@@ -19,6 +19,7 @@
  * @file
  */
 use Liuggio\StatsdClient\Factory\StatsdDataFactory;
+use MediaWiki\MediaWikiServices;
 
 /**
  * The simplest way of implementing IContextSource is to hold a RequestContext as a
@@ -172,7 +173,7 @@ abstract class ContextSource implements IContextSource {
         * @return StatsdDataFactory
         */
        public function getStats() {
-               return $this->getContext()->getStats();
+               return MediaWikiServices::getInstance()->getStatsdDataFactory();
        }
 
        /**
index ab4a609..7426624 100644 (file)
@@ -17,6 +17,7 @@
  *
  * @file
  */
+use MediaWiki\MediaWikiServices;
 use Wikimedia\Assert\Assert;
 
 /**
@@ -169,7 +170,7 @@ class SiteStatsUpdate implements DeferrableUpdate, MergeableUpdate {
        }
 
        protected function doUpdateContextStats() {
-               $stats = RequestContext::getMain()->getStats();
+               $stats = MediaWikiServices::getInstance()->getStatsdDataFactory();
                foreach ( [ 'edits', 'articles', 'pages', 'users', 'images' ] as $type ) {
                        $delta = $this->$type;
                        if ( $delta !== 0 ) {
index 148e50c..b0ab244 100644 (file)
@@ -20,6 +20,7 @@
  * @file
  * @ingroup DifferenceEngine
  */
+use MediaWiki\MediaWikiServices;
 
 /** @deprecated use class constant instead */
 define( 'MW_DIFF_VERSION', '1.11a' );
@@ -852,7 +853,7 @@ class DifferenceEngine extends ContextSource {
                        $result = $this->textDiff( $otext, $ntext );
 
                        $time = intval( ( microtime( true ) - $time ) * 1000 );
-                       $this->getStats()->timing( 'diff_time', $time );
+                       MediaWikiServices::getInstance()->getStatsdDataFactory()->timing( 'diff_time', $time );
                        // Log requests slower than 99th percentile
                        if ( $time > 100 && $this->mOldPage && $this->mNewPage ) {
                                wfDebugLog( 'diff',
index f7e85a8..e367812 100644 (file)
@@ -5,6 +5,7 @@
  *
  * Represents files in a repository.
  */
+use MediaWiki\MediaWikiServices;
 
 /**
  * Base code for files.
@@ -436,7 +437,7 @@ abstract class File implements IDBAccessObject {
                        $this->fsFile = $this->repo->getLocalReference( $this->getPath() );
 
                        $statTiming = microtime( true ) - $starttime;
-                       RequestContext::getMain()->getStats()->timing(
+                       MediaWikiServices::getInstance()->getStatsdDataFactory()->timing(
                                'media.thumbnail.generate.fetchoriginal', 1000 * $statTiming );
 
                        if ( !$this->fsFile ) {
@@ -1117,7 +1118,7 @@ abstract class File implements IDBAccessObject {
        public function generateAndSaveThumb( $tmpFile, $transformParams, $flags ) {
                global $wgIgnoreImageErrors;
 
-               $stats = RequestContext::getMain()->getStats();
+               $stats = MediaWikiServices::getInstance()->getStatsdDataFactory();
 
                $handler = $this->getHandler();
 
@@ -1227,7 +1228,7 @@ abstract class File implements IDBAccessObject {
                // this object exists
                $tmpFile->bind( $this );
 
-               RequestContext::getMain()->getStats()->timing(
+               MediaWikiServices::getInstance()->getStatsdDataFactory()->timing(
                        'media.thumbnail.generate.bucket', 1000 * $buckettime );
 
                return true;
index 3a3146b..83a8023 100644 (file)
@@ -1145,6 +1145,9 @@ abstract class HTMLFormField {
         * @since 1.18
         */
        protected static function formatErrors( $errors ) {
+               // Note: If you change the logic in this method, change
+               // htmlform.Checker.js to match.
+
                if ( is_array( $errors ) && count( $errors ) === 1 ) {
                        $errors = array_shift( $errors );
                }
index fa2d5a3..889cb60 100644 (file)
@@ -53,6 +53,8 @@ class Http {
         *    - logger              A \Psr\Logger\LoggerInterface instance for debug logging
         *    - username            Username for HTTP Basic Authentication
         *    - password            Password for HTTP Basic Authentication
+        *    - originalRequest     Information about the original request (as a WebRequest object or
+        *                          an associative array with 'ip' and 'userAgent').
         * @param string $caller The method making this request, for profiling
         * @return string|bool (bool)false on failure or a string on success
         */
index e04402f..8d58ce5 100644 (file)
@@ -125,6 +125,9 @@ class MWHttpRequest implements LoggerAwareInterface {
                                'Basic ' . base64_encode( $options['username'] . ':' . $options['password'] )
                        );
                }
+               if ( isset( $options['originalRequest'] ) ) {
+                       $this->setOriginalRequest( $options['originalRequest'] );
+               }
 
                $members = [ "postData", "proxy", "noProxy", "sslVerifyHost", "caInfo",
                                "method", "followRedirects", "maxRedirects", "sslVerifyCert", "callback" ];
@@ -632,4 +635,34 @@ class MWHttpRequest implements LoggerAwareInterface {
        public function canFollowRedirects() {
                return true;
        }
+
+       /**
+        * Set information about the original request. This can be useful for
+        * endpoints/API modules which act as a proxy for some service, and
+        * throttling etc. needs to happen in that service.
+        * Calling this will result in the X-Forwarded-For and X-Original-User-Agent
+        * headers being set.
+        * @param WebRequest|array $originalRequest When in array form, it's
+        *   expected to have the keys 'ip' and 'userAgent'.
+        * @note IP/user agent is personally identifiable information, and should
+        *   only be set when the privacy policy of the request target is
+        *   compatible with that of the MediaWiki installation.
+        */
+       public function setOriginalRequest( $originalRequest ) {
+               if ( $originalRequest instanceof WebRequest ) {
+                       $originalRequest = [
+                               'ip' => $originalRequest->getIP(),
+                               'userAgent' => $originalRequest->getHeader( 'User-Agent' ),
+                       ];
+               } elseif (
+                       !is_array( $originalRequest )
+                       || array_diff( [ 'ip', 'userAgent' ], array_keys( $originalRequest ) )
+               ) {
+                       throw new InvalidArgumentException( __METHOD__ . ': $originalRequest must be a '
+                               . "WebRequest or an array with 'ip' and 'userAgent' keys" );
+               }
+
+               $this->reqHeaders['X-Forwarded-For'] = $originalRequest['ip'];
+               $this->reqHeaders['X-Original-User-Agent'] = $originalRequest['userAgent'];
+       }
 }
index 23db3e2..f6becb9 100644 (file)
  * Represents a revision, log entry or upload during the import process.
  * This class sticks closely to the structure of the XML dump.
  *
+ * @since 1.2
+ *
  * @ingroup SpecialPage
  */
 class WikiRevision {
-       /** @todo Unused? */
+
+       /**
+        * @since 1.17
+        * @deprecated in 1.29. Unused.
+        * @note Introduced in 9b3128eb2b654761f21fd4ca1d5a1a4b796dc912, unused there, unused now.
+        */
        public $importer = null;
 
-       /** @var Title */
+       /**
+        * @since 1.2
+        * @var Title
+        */
        public $title = null;
 
-       /** @var int */
+       /**
+        * @since 1.6.4
+        * @var int
+        */
        public $id = 0;
 
-       /** @var string */
+       /**
+        * @since 1.2
+        * @var string
+        */
        public $timestamp = "20010115000000";
 
        /**
+        * @since 1.2
         * @var int
-        * @todo Can't find any uses. Public, because that's suspicious. Get clarity. */
+        * @deprecated in 1.29. Unused.
+        * @note Introduced in 436a028086fb3f01c4605c5ad2964d56f9306aca, unused there, unused now.
+        */
        public $user = 0;
 
-       /** @var string */
+       /**
+        * @since 1.2
+        * @var string
+        */
        public $user_text = "";
 
-       /** @var User */
+       /**
+        * @since 1.27
+        * @var User
+        */
        public $userObj = null;
 
-       /** @var string */
+       /**
+        * @since 1.21
+        * @var string
+        */
        public $model = null;
 
-       /** @var string */
+       /**
+        * @since 1.21
+        * @var string
+        */
        public $format = null;
 
-       /** @var string */
+       /**
+        * @since 1.2
+        * @var string
+        */
        public $text = "";
 
-       /** @var int */
+       /**
+        * @since 1.12.2
+        * @var int
+        */
        protected $size;
 
-       /** @var Content */
+       /**
+        * @since 1.21
+        * @var Content
+        */
        public $content = null;
 
-       /** @var ContentHandler */
+       /**
+        * @since 1.24
+        * @var ContentHandler
+        */
        protected $contentHandler = null;
 
-       /** @var string */
+       /**
+        * @since 1.2.6
+        * @var string
+        */
        public $comment = "";
 
-       /** @var bool */
+       /**
+        * @since 1.5.7
+        * @var bool
+        */
        public $minor = false;
 
-       /** @var string */
+       /**
+        * @since 1.12.2
+        * @var string
+        */
        public $type = "";
 
-       /** @var string */
+       /**
+        * @since 1.12.2
+        * @var string
+        */
        public $action = "";
 
-       /** @var string */
+       /**
+        * @since 1.12.2
+        * @var string
+        */
        public $params = "";
 
-       /** @var string */
+       /**
+        * @since 1.17
+        * @var string
+        */
        public $fileSrc = '';
 
-       /** @var bool|string */
+       /**
+        * @since 1.17
+        * @var bool|string
+        */
        public $sha1base36 = false;
 
        /**
-        * @var bool
-        * @todo Unused?
+        * @since 1.17
+        * @var string
         */
-       public $isTemp = false;
-
-       /** @var string */
        public $archiveName = '';
 
+       /**
+        * @since 1.12.2
+        */
        protected $filename;
 
-       /** @var mixed */
+       /**
+        * @since 1.12.2
+        * @var mixed
+        */
        protected $src;
 
-       /** @todo Unused? */
+       /**
+        * @since 1.18
+        * @var bool
+        * @todo Unused?
+        */
+       public $isTemp = false;
+
+       /**
+        * @since 1.18
+        * @deprecated 1.29 use Wikirevision::isTempSrc()
+        * First written to in 43d5d3b682cc1733ad01a837d11af4a402d57e6a
+        * Actually introduced in 52cd34acf590e5be946b7885ffdc13a157c1c6cf
+        */
        public $fileIsTemp;
 
        /** @var bool */
@@ -121,10 +200,11 @@ class WikiRevision {
        }
 
        /**
+        * @since 1.7 taking a Title object (string before)
         * @param Title $title
         * @throws MWException
         */
-       function setTitle( $title ) {
+       public function setTitle( $title ) {
                if ( is_object( $title ) ) {
                        $this->title = $title;
                } elseif ( is_null( $title ) ) {
@@ -136,142 +216,163 @@ class WikiRevision {
        }
 
        /**
+        * @since 1.6.4
         * @param int $id
         */
-       function setID( $id ) {
+       public function setID( $id ) {
                $this->id = $id;
        }
 
        /**
+        * @since 1.2
         * @param string $ts
         */
-       function setTimestamp( $ts ) {
+       public function setTimestamp( $ts ) {
                # 2003-08-05T18:30:02Z
                $this->timestamp = wfTimestamp( TS_MW, $ts );
        }
 
        /**
+        * @since 1.2
         * @param string $user
         */
-       function setUsername( $user ) {
+       public function setUsername( $user ) {
                $this->user_text = $user;
        }
 
        /**
+        * @since 1.27
         * @param User $user
         */
-       function setUserObj( $user ) {
+       public function setUserObj( $user ) {
                $this->userObj = $user;
        }
 
        /**
+        * @since 1.2
         * @param string $ip
         */
-       function setUserIP( $ip ) {
+       public function setUserIP( $ip ) {
                $this->user_text = $ip;
        }
 
        /**
+        * @since 1.21
         * @param string $model
         */
-       function setModel( $model ) {
+       public function setModel( $model ) {
                $this->model = $model;
        }
 
        /**
+        * @since 1.21
         * @param string $format
         */
-       function setFormat( $format ) {
+       public function setFormat( $format ) {
                $this->format = $format;
        }
 
        /**
+        * @since 1.2
         * @param string $text
         */
-       function setText( $text ) {
+       public function setText( $text ) {
                $this->text = $text;
        }
 
        /**
+        * @since 1.2.6
         * @param string $text
         */
-       function setComment( $text ) {
+       public function setComment( $text ) {
                $this->comment = $text;
        }
 
        /**
+        * @since 1.5.7
         * @param bool $minor
         */
-       function setMinor( $minor ) {
+       public function setMinor( $minor ) {
                $this->minor = (bool)$minor;
        }
 
        /**
+        * @since 1.12.2
         * @param mixed $src
         */
-       function setSrc( $src ) {
+       public function setSrc( $src ) {
                $this->src = $src;
        }
 
        /**
+        * @since 1.17
         * @param string $src
         * @param bool $isTemp
         */
-       function setFileSrc( $src, $isTemp ) {
+       public function setFileSrc( $src, $isTemp ) {
                $this->fileSrc = $src;
                $this->fileIsTemp = $isTemp;
+               $this->isTemp = $isTemp;
        }
 
        /**
+        * @since 1.17
         * @param string $sha1base36
         */
-       function setSha1Base36( $sha1base36 ) {
+       public function setSha1Base36( $sha1base36 ) {
                $this->sha1base36 = $sha1base36;
        }
 
        /**
+        * @since 1.12.2
         * @param string $filename
         */
-       function setFilename( $filename ) {
+       public function setFilename( $filename ) {
                $this->filename = $filename;
        }
 
        /**
+        * @since 1.17
         * @param string $archiveName
         */
-       function setArchiveName( $archiveName ) {
+       public function setArchiveName( $archiveName ) {
                $this->archiveName = $archiveName;
        }
 
        /**
+        * @since 1.12.2
         * @param int $size
         */
-       function setSize( $size ) {
+       public function setSize( $size ) {
                $this->size = intval( $size );
        }
 
        /**
+        * @since 1.12.2
         * @param string $type
         */
-       function setType( $type ) {
+       public function setType( $type ) {
                $this->type = $type;
        }
 
        /**
+        * @since 1.12.2
         * @param string $action
         */
-       function setAction( $action ) {
+       public function setAction( $action ) {
                $this->action = $action;
        }
 
        /**
+        * @since 1.12.2
         * @param array $params
         */
-       function setParams( $params ) {
+       public function setParams( $params ) {
                $this->params = $params;
        }
 
        /**
+        * @since 1.18
         * @param bool $noupdates
         */
        public function setNoUpdates( $noupdates ) {
@@ -279,51 +380,58 @@ class WikiRevision {
        }
 
        /**
+        * @since 1.2
         * @return Title
         */
-       function getTitle() {
+       public function getTitle() {
                return $this->title;
        }
 
        /**
+        * @since 1.6.4
         * @return int
         */
-       function getID() {
+       public function getID() {
                return $this->id;
        }
 
        /**
+        * @since 1.2
         * @return string
         */
-       function getTimestamp() {
+       public function getTimestamp() {
                return $this->timestamp;
        }
 
        /**
+        * @since 1.2
         * @return string
         */
-       function getUser() {
+       public function getUser() {
                return $this->user_text;
        }
 
        /**
+        * @since 1.27
         * @return User
         */
-       function getUserObj() {
+       public function getUserObj() {
                return $this->userObj;
        }
 
        /**
+        * @since 1.2
         * @return string
         */
-       function getText() {
+       public function getText() {
                return $this->text;
        }
 
        /**
+        * @since 1.24
         * @return ContentHandler
         */
-       function getContentHandler() {
+       public function getContentHandler() {
                if ( is_null( $this->contentHandler ) ) {
                        $this->contentHandler = ContentHandler::getForModelID( $this->getModel() );
                }
@@ -332,9 +440,10 @@ class WikiRevision {
        }
 
        /**
+        * @since 1.21
         * @return Content
         */
-       function getContent() {
+       public function getContent() {
                if ( is_null( $this->content ) ) {
                        $handler = $this->getContentHandler();
                        $this->content = $handler->unserializeContent( $this->text, $this->getFormat() );
@@ -344,9 +453,10 @@ class WikiRevision {
        }
 
        /**
+        * @since 1.21
         * @return string
         */
-       function getModel() {
+       public function getModel() {
                if ( is_null( $this->model ) ) {
                        $this->model = $this->getTitle()->getContentModel();
                }
@@ -355,9 +465,10 @@ class WikiRevision {
        }
 
        /**
+        * @since 1.21
         * @return string
         */
-       function getFormat() {
+       public function getFormat() {
                if ( is_null( $this->format ) ) {
                        $this->format = $this->getContentHandler()->getDefaultFormat();
                }
@@ -366,30 +477,34 @@ class WikiRevision {
        }
 
        /**
+        * @since 1.2.6
         * @return string
         */
-       function getComment() {
+       public function getComment() {
                return $this->comment;
        }
 
        /**
+        * @since 1.5.7
         * @return bool
         */
-       function getMinor() {
+       public function getMinor() {
                return $this->minor;
        }
 
        /**
+        * @since 1.12.2
         * @return mixed
         */
-       function getSrc() {
+       public function getSrc() {
                return $this->src;
        }
 
        /**
+        * @since 1.17
         * @return bool|string
         */
-       function getSha1() {
+       public function getSha1() {
                if ( $this->sha1base36 ) {
                        return Wikimedia\base_convert( $this->sha1base36, 36, 16 );
                }
@@ -397,65 +512,74 @@ class WikiRevision {
        }
 
        /**
+        * @since 1.17
         * @return string
         */
-       function getFileSrc() {
+       public function getFileSrc() {
                return $this->fileSrc;
        }
 
        /**
+        * @since 1.17
         * @return bool
         */
-       function isTempSrc() {
+       public function isTempSrc() {
                return $this->isTemp;
        }
 
        /**
+        * @since 1.12.2
         * @return mixed
         */
-       function getFilename() {
+       public function getFilename() {
                return $this->filename;
        }
 
        /**
+        * @since 1.17
         * @return string
         */
-       function getArchiveName() {
+       public function getArchiveName() {
                return $this->archiveName;
        }
 
        /**
+        * @since 1.12.2
         * @return mixed
         */
-       function getSize() {
+       public function getSize() {
                return $this->size;
        }
 
        /**
+        * @since 1.12.2
         * @return string
         */
-       function getType() {
+       public function getType() {
                return $this->type;
        }
 
        /**
+        * @since 1.12.2
         * @return string
         */
-       function getAction() {
+       public function getAction() {
                return $this->action;
        }
 
        /**
+        * @since 1.12.2
         * @return string
         */
-       function getParams() {
+       public function getParams() {
                return $this->params;
        }
 
        /**
+        * @since 1.4.1
         * @return bool
         */
-       function importOldRevision() {
+       public function importOldRevision() {
                $dbw = wfGetDB( DB_MASTER );
 
                # Sneak a single revision into place
@@ -554,7 +678,11 @@ class WikiRevision {
                return true;
        }
 
-       function importLogItem() {
+       /**
+        * @since 1.12.2
+        * @return bool
+        */
+       public function importLogItem() {
                $dbw = wfGetDB( DB_MASTER );
 
                $user = $this->getUserObj() ?: User::newFromName( $this->getUser() );
@@ -611,9 +739,10 @@ class WikiRevision {
        }
 
        /**
+        * @since 1.12.2
         * @return bool
         */
-       function importUpload() {
+       public function importUpload() {
                # Construct a file
                $archiveName = $this->getArchiveName();
                if ( $archiveName ) {
@@ -682,9 +811,10 @@ class WikiRevision {
        }
 
        /**
+        * @since 1.12.2
         * @return bool|string
         */
-       function downloadSource() {
+       public function downloadSource() {
                if ( !$this->config->get( 'EnableUploads' ) ) {
                        return false;
                }
index f8ab1f2..98d354c 100644 (file)
@@ -392,7 +392,7 @@ abstract class DatabaseUpdater {
         * Writes the schema updates desired to a file for the DB Admin to run.
         * @param array $schemaUpdate
         */
-       private function writeSchemaUpdateFile( $schemaUpdate = [] ) {
+       private function writeSchemaUpdateFile( array $schemaUpdate = [] ) {
                $updates = $this->updatesSkipped;
                $this->updatesSkipped = [];
 
@@ -425,7 +425,7 @@ abstract class DatabaseUpdater {
         *
         * @param array $what What updates to perform
         */
-       public function doUpdates( $what = [ 'core', 'extensions', 'stats' ] ) {
+       public function doUpdates( array $what = [ 'core', 'extensions', 'stats' ] ) {
                $this->db->setSchemaVars( $this->getSchemaVars() );
 
                $what = array_flip( $what );
index 968ee15..988ec41 100644 (file)
@@ -97,6 +97,8 @@ class MssqlUpdater extends DatabaseUpdater {
 
                        // 1.29
                        [ 'addField', 'externallinks', 'el_index_60', 'patch-externallinks-el_index_60.sql' ],
+                       [ 'dropIndex', 'oldimage', 'oi_name_archive_name',
+                               'patch-alter-table-oldimage.sql' ],
                ];
        }
 
index 3131c3c..ff13196 100644 (file)
@@ -299,6 +299,7 @@ class MysqlUpdater extends DatabaseUpdater {
                        [ 'addField', 'externallinks', 'el_index_60', 'patch-externallinks-el_index_60.sql' ],
                        [ 'dropIndex', 'user_groups', 'ug_user_group', 'patch-user_groups-primary-key.sql' ],
                        [ 'addField', 'user_groups', 'ug_expiry', 'patch-user_groups-ug_expiry.sql' ],
+                       [ 'addIndex', 'image', 'img_user_timestamp', 'patch-image-user-index-2.sql' ],
                ];
        }
 
index 79ae175..e262eda 100644 (file)
@@ -285,7 +285,7 @@ class OracleUpdater extends DatabaseUpdater {
         *
         * @param array $what
         */
-       public function doUpdates( $what = [ 'core', 'extensions', 'purge', 'stats' ] ) {
+       public function doUpdates( array $what = [ 'core', 'extensions', 'purge', 'stats' ] ) {
                parent::doUpdates( $what );
 
                $this->db->query( 'BEGIN fill_wiki_info; END;' );
index cdbbfd0..dcd66dd 100644 (file)
@@ -162,6 +162,7 @@ class SqliteUpdater extends DatabaseUpdater {
                        // 1.29
                        [ 'addField', 'externallinks', 'el_index_60', 'patch-externallinks-el_index_60.sql' ],
                        [ 'addField', 'user_groups', 'ug_expiry', 'patch-user_groups-ug_expiry.sql' ],
+                       [ 'addIndex', 'image', 'img_user_timestamp', 'patch-image-user-index-2.sql' ],
                ];
        }
 
index b950420..7a03c87 100644 (file)
@@ -90,6 +90,7 @@
        "config-db-name": "Име на базата от данни:",
        "config-db-name-help": "Избира се име, което да идентифицира уикито.\nТо не трябва да съдържа интервали.\n\nАко се използва споделен хостинг, доставчикът на услугата би трябвало да е предоставил или име на базата от данни, която да бъде използвана, или да позволява създаването на бази от данни чрез контролния панел.",
        "config-db-name-oracle": "Схема на базата от данни:",
+       "config-db-account-oracle-warn": "Има три поддържани сценария за инсталиране на Oracle като бекенд база данни:\n\nАко искате да създадете профил в базата данни като част от процеса на инсталиране, моля, посочете профил със SYSDBA като профил в базата данни за инсталиране и посочете желаните данни за влизане (име и парола) за профил с уеб достъп; в противен случай можете да създадете профил с уеб достъп ръчно и предоставите само него (ако той има необходимите права за създаване на схематични обекти), или да предоставите два различни профила - един с привилегии за създаване на обекти, и друг - с ограничения за уеб достъп.\n\nСкрипт за създаването на профил с необходимите привилегии може да се намери в папката \"maintenance/oracle/\" на тази инсталация. Имайте в предвид, че използването на ограничен профил ще деактивира всички възможности за обслужване на профила по подразбиране.",
        "config-db-install-account": "Потребителска сметка за инсталацията",
        "config-db-username": "Потребителско име за базата от данни:",
        "config-db-password": "Парола за базата от данни:",
        "config-db-web-account": "Сметка за уеб достъп до базата от данни",
        "config-db-web-help": "Избиране на потребителско име и парола, които уеб сървърът ще използва да се свързва с базата от данни при обичайната работа на уикито.",
        "config-db-web-account-same": "Използване на същата сметка като при инсталацията.",
-       "config-db-web-create": "Създаване на сметката ако все още не съществува",
+       "config-db-web-create": "Създаване на сметката, ако все още не съществува",
        "config-db-web-no-create-privs": "Посочената сметка за инсталацията не разполага с достатъчно права за създаване на нова сметка.\nНеобходимо е посочената сметка вече да съществува.",
        "config-mysql-engine": "Хранилище на данни:",
        "config-mysql-innodb": "InnoDB",
index 779ad6d..69d8f78 100644 (file)
@@ -15,7 +15,7 @@
        "config-localsettings-upgrade": "Kavet ez eus bet ur restr <code>LocalSettings.php</code>.\nEvit hizivaat ar staliadur-se, merkit an talvoud <code>$wgUpgradeKey</code> er voest dindan.\nE gavout a rit e <code>LocalSettings.php</code>.",
        "config-localsettings-cli-upgrade": "Dinoet ez eus bet ur restr <code>LocalSettings.php</code>.\nEvit lakaat ar staliadur-mañ a-live, implijit <code>update.php</code> e plas",
        "config-localsettings-key": "Alc'hwez hizivaat :",
-       "config-localsettings-badkey": "Direizh eo an alc'hwez merket ganeoc'h",
+       "config-localsettings-badkey": "Direizh eo an alc'hwez hizivaat lakaet ganeoc'h.",
        "config-upgrade-key-missing": "Kavet ez eus bet ur staliadur kent eus MediaWiki.\nEvit hizivaat ar staliadur-se, ouzhpennit al linenn da-heul e traoñ ho restr <code>LocalSettings.php</code>:\n\n$1",
        "config-localsettings-incomplete": "Diglok e seblant bezañ ar restr <code>LocalSettings.php</code> zo anezhi dija.\nAn argemmenn $1 n'eo ket termenet.\nKemmit <code>LocalSettings.php</code> evit ma vo termenet an argemmenn-se, ha klikit war « {{int:Config-continue}} ».",
        "config-localsettings-connection-error": "C'hoarvezet ez eus ur fazi en ur gevreañ ouzh an diaz roadennoù oc'h implijout an arventennoù diferet e <code>LocalSettings.php</code>. Reizhit an arventennoù-se hag esaeit en-dro.\n\n$1",
        "config-env-php": "Staliet eo PHP $1.",
        "config-env-hhvm": "HHVM $1 zo staliet.",
        "config-unicode-using-intl": "Oc'h implijout [http://pecl.php.net/intl an astenn PECL intl] evit ar reolata Unicode.",
-       "config-unicode-pure-php-warning": "'''Diwallit''' : N'haller ket kaout an [http://pecl.php.net/intl intl PECL astenn] evit merañ reoladur Unicode, a zistro d'ar stumm gorrek emplementet e-PHP.\nMa lakait da dreiñ ul lec'hienn darempredet-stank e vo mat deoc'h lenn un tammig bihan diwar-benn se war [https://www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations Unicode normalization]. (e saozneg)",
+       "config-unicode-pure-php-warning": "<strong>Diwallit</strong> : N'haller ket ober gant an [http://pecl.php.net/intl intl astenn PECL] evit merañ reoladur Unicode; distreiñ d'ar stumm gorrek emplementet e PHP-rik.\nMa rit war-dro ul lec'hienn darempredet-stank e vo mat deoc'h lenn un tammig bihan diwar-benn se war [https://www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations reolennadur Unicode].",
        "config-unicode-update-warning": "'''Diwallit''': ober a ra stumm staliet endalc'her skoueriekaat Unicode gant ur stumm kozh eus [http://site.icu-project.org/ levraoueg meziantoù ar raktres ICU].\nDleout a rafec'h [https://www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations hizivaat] ma seblant deoc'h bezañ pouezus ober gant Unicode.",
-       "config-no-db": "N'eus ket bet gallet kavout ur sturier diazoù roadennoù a zere ! Ret eo deoc'h staliañ ur sturier diazoù roadennoù evit PHP.\nSkoret eo an diazoù roadennoù da-heul : $1.\n\nMa rit gant un herberc'hiañ kenrannet, goulennit digant ho herberc'hier staliañ ur sturier diaz roadennoù azas.\nMa kempunit PHP c'hwi hoc'h-unan, adkeflugnit-eñ en ur weredekaat un arval diaz roadennoù, da skouer en ur ober gant <code>./configure --mysql</code>.\nM'hoc'h eus staliet PHP adalek ur pakad Debian pe Ubuntu, eo ret deoc'h staliañ ar vodulenn php5-mysql ivez.",
+       "config-no-db": "N'eus ket bet gallet kavout ur sturier diazoù roadennoù a zere ! Ret eo deoc'h staliañ ur sturier diazoù roadennoù evit PHP.\nSkoret eo {{PLURAL:$2|ar seurt|ar seurtoù}} diazoù roadennoù da-heul : $1.\n\nMard eo bet kempunet PHP ganeoc'h-c'hwi hoc'h-unan, adkeflugnit-eñ en ur weredekaat un arval diaz roadennoù, da skouer en ur ober gant <code>/configure --with-mysqli</code>.\nM'hoc'h eus staliet PHP adalek ur pakad Debian pe Ubuntu, eo ret deoc'h staliañ, da skouer, ar pakad <code>php5-mysql</code> ivez.",
+       "config-outdated-sqlite": "<strong>Taolit pled :</strong> ober a rit gant SQLite $1, hag a zo izeloc'h eget ar stumm $2 ret bihanañ. Ne vo ket posupl ober gant SQLite.",
        "config-no-fts3": "'''Diwallit ''': Kempunet eo SQLite hep ar [//sqlite.org/fts3.html vodulenn FTS3]; ne vo ket posupl ober gant an arc'hwelioù klask er staliadur-mañ",
+       "config-pcre-old": "<strong>Fazo groñs :</strong> rekis eo ober gant PCRE $1 pe nevesoc'h.\nLiammet eo ho PHP binarel gant PCRE $2.\n[https://www.mediawiki.org/wiki/Manual:Errors_and_symptoms/PCRE Gouzout hiroc'h].",
        "config-pcre-no-utf8": "'''Fazi groñs ''': evit doare eo bet kempunet modulenn PCRE PHP hep ar skor PCRE_UTF8.\nEzhomm en deus MediaWiki eus UTF-8 evit mont plaen en-dro.",
        "config-memory-raised": "<code>memory_limit</code> ar PHP zo $1, kemmet e $2.",
        "config-memory-bad": "'''Diwallit :''' Da $1 emañ arventenn <code>memory_limit</code> PHP.\nRe izel eo moarvat.\nMarteze e c'hwito ar staliadenn !",
        "config-xcache": "Staliet eo [http://xcache.lighttpd.net/ XCache]",
        "config-apc": "Staliet eo [http://www.php.net/apc APC]",
+       "config-apcu": "Staliet eo [http://www.php.net/apcu APCu]",
        "config-wincache": "Staliet eo [http://www.iis.net/download/WinCacheForPhp WinCache]",
+       "config-no-cache-apcu": "<strong>Taolit pled :</strong> N'eus ket bet gallet kavout [http://www.php.net/apcu APCu], [http://xcache.lighttpd.net/ XCache] pe [http://www.iis.net/download/WinCacheForPhp WinCache].\nN'eo ket gweredekaet ar c'hrubuilhañ traezoù.",
+       "config-mod-security": "<strong>Taolit pled :</strong> Gweredekaet eo [http://modsecurity.org/ mod_security]/mod_security2 gant ho servijer web. Ma n'eo ket kfluniet mat e c'hall tegas trubuilhoù da MediaWiki ha meziantoù all a aotre implijerien da ouzhpennañ danvez evel ma karont.\nE kement ha m'eo posupl e tlefe bezañ diweredekaet. A-hend-all, sellit ouzh [http://modsecurity.org/documentation/ mod_security an teuliadur] pe kit e darempred gant skoazell ho herberc'hier m'en em gavit gant fazioù dargouezhek.",
        "config-diff3-bad": "N'eo ket bet kavet GNU diff3.",
+       "config-git": "Kavet eo bet ar meziant kontrolliñ adstummoù Git : <code>$1</code>.",
+       "config-git-bad": "N'eo ket bet kavet ar meziant kontrolliñ stummoù Git.",
        "config-imagemagick": "ImageMagick kavet : <code>$1</code>.\nGweredekaet e vo ar bihanaat skeudennoù ma vez gweredekaet ganeoc'h ar pellgargañ restroù.",
        "config-gd": "Kavet eo bet al levraoueg c'hrafek GD enframmet.\nGweredekaet e vo ar bihanaat skeudennoù ma vez gweredekaet an enporzhiañ restroù.",
        "config-no-scaling": "N'eus ket bet gallet kavout al levraoueg GD pe ImageMagick.\nDiweredekaet e vo ar bihanaat skeudennoù.",
        "config-no-uri": "'''Fazi :''' N'eus ket tu da anavezout URI ar skript red.\nStaliadur nullet.",
+       "config-no-cli-uri": "<strong>Diwallit :</strong> N'eus bet spisaet <code>--scriptpath</code> ebet, graet e vo, dre ziouer, gant : <code>$1</code>.",
        "config-using-server": "Oc'h implijout an anv servijer \"<nowiki>$1</nowiki>\".",
        "config-using-uri": "Oc'h implijout ar servijour URL \"<nowiki>$1$2</nowiki>\".",
        "config-uploads-not-safe": "'''Diwallit :'''Bresk eo ho kavlec'h pellgargañ dre ziouer <code>$1</code> rak gallout a ra erounit ne vern pe skript.\nha pa vefe gwiriet gant MediaWiki an holl restroù pellgarget eo erbedet-groñs da [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Security#Upload_security serriñ ar breskter surentez-mañ] a-rao gweredekaat ar pellgargañ.",
+       "config-no-cli-uploads-check": "<strong>Diwallit :</strong> N'eo ket bet gwiriet ho kavlec'h enporzhiañ dre ziouer (<code>$1</code>) e-keñver breskted erounezadur skriptoù tidek e-pad staliadur CLI.",
        "config-brokenlibxml": "Ur meskad stummoù PHP ha libxml2 dreinek a vez implijet gant ho reizhiad. Gallout a ra breinañ ar roadennoù e MediaWiki hag en arloadoù web all.\nHizivait da libxml2 2.7.3 pe nevesoc'h ([https://bugs.php.net/bug.php?id=45996 draen renablet gant PHP]).\nStaliadur c'hwitet.",
+       "config-suhosin-max-value-length": "Staliet eo Suhosin ha bevennin a ra <code>hirder</code> an arventenn GET da $1 okted.\nParzh ResourceLoader Mediawiki a zoujo d'ar vevenn-se met se a zisteray ar varregezh. \nMa c'hallit e tlefec'h spisaat <code>suhosin.get.max_value_length</code> da 1024 pe uheloc'h e <code>php.ini</code>, ha merkañ <code>$wgResourceLoaderMaxQueryLength</code> gant an hevelep talvoud e <code>LocalSettings.php</code>.",
        "config-db-type": "Doare an diaz roadennoù :",
        "config-db-host": "Anv implijer an diaz roadennoù :",
        "config-db-host-help": "M'emañ ho servijer roadennoù war ur servijer disheñvel, merkit amañ anv an ostiz pe ar chomlec'h IP.\n\nMa rit gant un herberc'hiañ kenrannet, e tlefe ho herberc'hier bezañ pourchaset deoc'h an anv ostiz reizh en teulioù titouriñ.\n\nM'emaoc'h o staliañ ur servijer Windows ha ma rit gant MySQL, marteze ne'z aio ket en-dro \"localhost\" evel anv servijer. Ma ne dro ket, klaskit ober gant \"127.0.0.1\" da chomlec'h IP lechel.",
        "config-db-host-oracle": "TNS an diaz roadennoù :",
+       "config-db-host-oracle-help": "Merkit un [http://download.oracle.com/docs/cd/B28359_01/network.111/b28317/tnsnames.htm anv kevreañ lec'hel] reizh; dleout a ra ur restr tnsnames.ora bezañ hewel e-pad ar staliadur.<br /> Ma rit gant al levraouegoù arval 10g pe nevesoc'h e c'hallit ivez ober gant an hentenn envel [http://download.oracle.com/docs/cd/E11882_01/network.112/e10836/naming.htm Easy Connect].",
        "config-db-wiki-settings": "Anavezout ar wiki-mañ",
        "config-db-name": "Anv an diaz roadennoù :",
        "config-db-name-help": "Dibabit un anv evit ho wiki.\nNa lakait ket a esaouennoù ennañ.\n\nMa ri gant un herberc'hiañ kenrannet e vo pourchaset deoc'h un anv diaz roadennoù dibar da vezañ graet gantañ gant ho herberc'hier pe e lezo ac'hanoc'h da grouiñ diazoù roadennoù dre ur banell gontrolliñ.",
        "config-db-name-oracle": "Brastres diaz roadennoù :",
+       "config-db-account-oracle-warn": "Skoret ez eus tri doare evit staliañ Oracle da v/backend diaz roadennoù :\n\nMar fell deoc'h krouiñ ur gont diaz roadennoù e-ser an argerzh staliañ eo rekis pourchas ur gont gant ur roll SYSDBA evel kont diaz roadennoù evit ar staliañ, ha spisaat an titouroù anaout a fell deoc'h evit ar gont moned ouzh ar web. A-hend-all, e c'hallit krouiñ ar gont moned ouzh ar web gant an dorn ha pourchas hepken ar gont-se (ma'z eus bet ranket diskouez aotreoù ret evit krouiñ traezoù ar brastres) pe pourveziñ div gont disheñvel, unan gant dreistwirioù krouiñ hag eben, gant gwirioù strishaet, evit moned ouzh ar web.\n\nGallout a reer kaout ar skript evit kouiñ ur gont a zo rekis dreistwirioù eviti e kavlec'h \"trezalc'h/oracle/\" ar staliadur-mañ. Na zisoñjit ket e vo diweredekaet holl varregezhioù trezalc'h ar gont dre ziouer ma rit gant ur gont strishaet he gwirioù.",
        "config-db-install-account": "Kont implijer evit ar staliadur",
        "config-db-username": "Anv implijer an diaz roadennoù :",
        "config-db-password": "Ger-tremen an diaz roadennoù :",
        "config-admin-error-password": "Fazi diabarzh o lakaat ur ger-tremen evit ar merour « <nowiki>$1</nowiki> » : <pre>$2</pre>",
        "config-admin-error-bademail": "Ebarzhet hoc'h eus ur chomlec'h postel direizh.",
        "config-subscribe": "Koumanantit d'ar [https://lists.wikimedia.org/mailman/listinfo/mediawiki-roll kemennoù evit ar stummoù nevez].",
+       "config-pingback": "Rannañ roadennoù diwar-benn ar staliadur-mañ gant diorroerien Mediawiki.",
        "config-almost-done": "Kazi echu eo !\nGellout a rit tremen ar c'hefluniadur nevez ha staliañ ar wiki war-eeun.",
        "config-optional-continue": "Sevel muioc'h a goulennoù ouzhin.",
        "config-optional-skip": "Aet on skuizh, staliañ ar wiki hepken.",
        "config-license-cc-by": "Creative Commons Deroadenn",
        "config-license-cc-by-nc-sa": "Creative Commons Deroadenn Angenwerzhel Kenrannañ heñvel",
        "config-license-cc-0": "Creative Commons Zero (Domani foran)",
+       "config-license-gfdl": "Aotre implijout teuliadur frank GNU 1.3 pe nevesoc'h",
        "config-license-pd": "Domani foran",
        "config-license-cc-choose": "Dibabit un aotre-implijout Creative Commons personelaet",
        "config-email-settings": "Arventennoù ar postel",
        "config-cc-not-chosen": "Dibabit an aotre-implijout Creative Commons a fell deoc'h ober gantañ ha klikit war \"proceed\".",
        "config-advanced-settings": "Kefluniadur araokaet",
        "config-cache-options": "Arventennoù evit krubuilhañ traezoù :",
-       "config-cache-accel": "Krubuilhañ traezoù PHP (APC, XCache pe WinCache)",
+       "config-cache-accel": "Krubuilhañ traezoù PHP (APC, APCu, XCache pe WinCache)",
        "config-cache-memcached": "Implijout Memcached (en deus ezhomm bezañ staliet ha kefluniet)",
        "config-memcached-servers": "Servijerioù Memcached :",
        "config-memcached-help": "Roll ar chomlec'hioù IP da implijout evit Memcached.\nRet eo spisaat unan dre linenn ha spisaat ar porzh da vezañ implijet. Da skouer :\n127.0.0.1:11211\n192.168.1.25:1234",
        "config-memcache-needservers": "Diuzet hoc'h eus Memcached evel seurt krubuilh met n'hoc'h eus spisaet servijer ebet.",
        "config-memcache-badip": "Ur chomlec'h IP direizh hoc'h eus lakaet evit Memcached : $1.",
+       "config-memcache-noport": "N'eus ket bet spisaet porzh ebet ganeoc'h evit servijer Memcached : $1.\nMa n'anavezit ket ar porzh, setu an hini dre ziouer : 11211.",
        "config-memcache-badport": "Niverennoù porzh Memcached a zlefe bezañ etre $1 ha $2.",
        "config-extensions": "Astennoù",
        "config-extensions-help": "N'eo ket bet detektet an astennoù rollet a-us en ho kavlec'h <code>./astennoù</code>.\n\nMarteze e vo ezhomm kefluniañ pelloc'h met gallout a rit o gweredekaat bremañ.",
        "config-skins": "Gwiskadurioù",
+       "config-skins-help": "Kavet eo bet ar gwiskadurioù renablet a-us en ho kavlec'h <code>./skins</code>. Ret eo deoc'h gweredekaat unan da nebeutañ, ha dibab an hini dre ziouer.",
        "config-skins-use-as-default": "Implijout ar gwiskadur-mañ dre ziouer",
+       "config-skins-missing": "N'eus bet kavet gwiskadur ebet : ober a raio MediaWiki gant unan dre ziouer betek ma vo staliet reoù a zegouezh.",
        "config-skins-must-enable-some": "Ret eo deoc'h dibab da nebautañ ur gwiskadur da weredekaat.",
        "config-skins-must-enable-default": "Ar gwiskadur dre ziouer dibabet a rank bezañ gweredekaet.",
        "config-install-alreadydone": "'''Diwallit''': Staliet hoc'h eus MediaWiki dija war a seblant hag emaoc'h o klask e staliañ c'hoazh.\nKit d'ar bajenn war-lerc'h, mar plij.",
index 1c5c2ee..5aece05 100644 (file)
        "config-missing-db-name": "Meg kell adnod a(z) „{{int:config-db-name}}” értékét.",
        "config-missing-db-host": "Meg kell adnod az „{{int:config-db-host}}” értékét.",
        "config-missing-db-server-oracle": "Meg kell adnod az „{{int:config-db-host-oracle}}” értékét.",
-       "config-invalid-db-server-oracle": "Érvénytelen adatbázis TNS: „$1”\nCsak ASCII betűk (a-z, A-Z), számok (0-9), alulvonás (_) és pont (.) használható.",
+       "config-invalid-db-server-oracle": "Érvénytelen adatbázis TNS: „$1”\nHasználd a „TNS Name” vagy az Easy Connect” sztringet!\n([http://docs.oracle.com/cd/E11882_01/network.112/e10836/naming.htm Oracle Naming Methods]).",
        "config-invalid-db-name": "Érvénytelen adatbázisnév: „$1”.\nCsak ASCII-karakterek (a-z, A-Z), számok (0-9), alulvonás (_) és kötőjel (-) használható.",
        "config-invalid-db-prefix": "Érvénytelen adatbázisnév-előtag: „$1”.\nCsak ASCII-karakterek (a-z, A-Z), számok (0-9), alulvonás (_) és kötőjel (-) használható.",
        "config-connection-error": "$1.\n\nEllenőrizd a hosztot, felhasználónevet és jelszót, majd próbáld újra.",
        "config-nofile": "\"$1\" fájl nem található. Törölve lett?",
        "config-extension-link": "Tudtad, hogy a wikid támogat [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions kiterjesztéseket]?\n\nBöngészhetsz [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category kiterjesztéseket kategóriánként] vagy válogathatsz a [https://www.mediawiki.org/wiki/Extension_Matrix kiterjesztésmátrixból] az összes kiterjesztés áttekintéséhez.",
        "mainpagetext": "<strong>A MediaWiki telepítése sikeresen befejeződött.</strong>",
-       "mainpagedocfooter": "Ha segítségre van szükséged a wikiszoftver használatához, akkor keresd fel a [https://meta.wikimedia.org/wiki/Help:Contents User's Guide] oldalt.\n\n== Alapok (angol nyelven) ==\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Beállítások listája]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki GyIK]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki-kiadások levelezőlistája]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources A MediaWiki fordítása a saját nyelvedre]"
+       "mainpagedocfooter": "Ha segítségre van szükséged a wikiszoftver használatához, akkor keresd fel a [https://meta.wikimedia.org/wiki/Help:Contents User's Guide] oldalt.\n\n== Alapok (angol nyelven) ==\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Beállítások listája]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki GyIK]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki-kiadások levelezőlistája]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources A MediaWiki fordítása a saját nyelvedre]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Tudd meg többet, hogyan küzdhetsz a kéretlen levelek ellen a wikiden]"
 }
index 89f8e55..b8dab21 100644 (file)
@@ -86,7 +86,7 @@
        "config-db-host-oracle-help": "Внесете важечко [http://download.oracle.com/docs/cd/B28359_01/network.111/b28317/tnsnames.htm месно име за поврзување]. На оваа воспоставка мора да ѝ биде видлива податотеката tnsnames.ora.<br />Ако користите клиентски библиотеки 10g или понови, тогаш можете да го користите и методот на иметнување на [http://download.oracle.com/docs/cd/E11882_01/network.112/e10836/naming.htm Easy Connect].",
        "config-db-wiki-settings": "Идентификувај го викиво",
        "config-db-name": "Име на базата:",
-       "config-db-name-help": "Одберете име што ќе го претставува вашето вики.\nИмето не смее да содржи празни места.\n\nАко користите заедничко (споделено) вдомување, тогаш вашиот вдомител ќе ви даде конкретно име на база за користење, или пак ќе ви даде да создавате бази преку контролната табла.",
+       "config-db-name-help": "Одберете име што ќе го претставува вашето вики.\nИмето не смее да содржи празни места.\n\nАко користите заедничко (споделено) вдомување, тогаш вашиот вдомител ќе ви даде конкретно име на база за користење, или пак ќе ви даде да создавате бази преку управувачницата.",
        "config-db-name-oracle": "Шема на базата:",
        "config-db-account-oracle-warn": "Постојат три поддржани сценарија за воспоставка на Oracle како базен услужник:\n\nАко сакате да создадете сметка на базата како дел од постапката за воспоставка, наведете сметка со SYSDBA-улога како сметка за базата што ќе се воспостави и наведете ги саканите податоци за сметката за мрежен пристап. Во друг случај, можете да создадете сметка за мрежен пристап рачно и да ја наведете само таа сметка (ако има дозволи за создавање на шематски објекти) или пак да наведете две различни сметки, една со привилегии за создавање, а друга (ограничена) за мрежен пристап.\n\nСкриптата за создавање сметка со задолжителни привилегии ќе ја најдете во папката „maintenance/oracle/“ од оваа воспоставка. Имајте на ум дека ако користите ограничена сметка ќе ги оневозможите сите функции за одржување со основната сметка.",
        "config-db-install-account": "Корисничка смета за воспоставка",
index 13944ee..35fa8e8 100644 (file)
@@ -69,7 +69,7 @@
        "config-env-hhvm": "HHVM $1 está instalado.",
        "config-unicode-using-intl": "Usando a [http://pecl.php.net/intl extensão intl PECL] para a normalização Unicode.",
        "config-unicode-pure-php-warning": "<strong>Aviso</strong>: A [http://pecl.php.net/intl extensão intl PECL] não está disponível para efetuar a normalização Unicode, abortando e passando para a lenta implementação de PHP puro.\nSe o seu site tem um alto volume de tráfego, informe-se sobre a [https://www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations normalização Unicode].",
-       "config-unicode-update-warning": "<strong>Aviso:</strong> A versão instalada do wrapper de normalização Unicode usa uma versão mais antiga da biblioteca do [//www.site.icu-project.org/projeto ICU].\nVocê deve [https://www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations atualizar] se você tem quaisquer preocupações com o uso do Unicode.",
+       "config-unicode-update-warning": "<strong>Aviso:</strong> A versão instalada do wrapper de normalização Unicode usa uma versão mais antiga da biblioteca do [http://www.site.icu-project.org/projeto ICU].\nVocê deve [https://www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations atualizar] se você tem quaisquer preocupações com o uso do Unicode.",
        "config-no-db": "Não foi possível encontrar um driver apropriado para a banco de dados! Você precisa instalar um driver de banco de dados para PHP. {{PLURAL:$2|É aceite o seguinte tipo|São aceites os seguintes tipos}} de banco de dados: $1.\n\nSe compilou o PHP você mesmo, reconfigure-o com um cliente de banco de dados ativado, por exemplo, usando <code>./configure --with-mysqli</code>.\nSe instalou o PHP a partir de um pacote Debian ou Ubuntu, então também precisa instalar, por exemplo, o pacote <code>php5-mysql</code>.",
        "config-outdated-sqlite": "<strong>Aviso:</strong> você tem o SQLite versão $1, que é menor do que a versão mínima necessária $2. O SQLite não estará disponível.",
        "config-no-fts3": "<strong>Aviso</strong> O SQLite foi compilado sem o [//sqlite.org/fts3.html módulo FTS3], as funcionalidades de pesquisa não estarão disponíveis nesta instalação.",
        "config-no-cli-uri": "<strong>Aviso:</strong> Nenhum <code>--scriptpath</code> foi especificado, usando o padrão: <code>$1</code>.",
        "config-using-server": "Utilizando o nome do servidor \"<nowiki>$1</nowiki>\".",
        "config-using-uri": "Usando URL do servidor \"<nowiki>$1$2</nowiki>\".",
+       "config-uploads-not-safe": "<strong>Aviso:</strong> O seu diretório atual de envios <code>$1</code> está vulnerável a execuções de script arbitrárias.\nEmbora o MediaWiki verifique todos os arquivos enviados por ameaças de segurança, é altamente recomendável [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Security#Upload_security evitar essa vulnerabilidade de segurança] antes de permitir envios.",
        "config-no-cli-uploads-check": "<strong>Atenção:</strong> O seu diretório padrão para envios (<code>$1</code>) não está marcado para vulnerabilidade\npara execução de script arbitrário durante a instalação do CLI.",
        "config-brokenlibxml": "O sistema tem uma combinação de PHP e libxml2 que é conflitante e pode causar corrupção de dados ocultos no MediaWiki e outros aplicativos da web.\nAtualize para o libxml2 2.7.3 ou mais recente ([https://bugs.php.net/bug.php?id=45996 bugs com o PHP]).\nInstalação abortada.",
+       "config-suhosin-max-value-length": "O Suhosin está instalado e limita o parâmetro GET <code>length</code> para $1 bytes. O componente ResourceLoader trabalhará em torno deste limite, mas rebaixará a performance.\nSe possível, defina <code>suhosin.get.max_value_length</code> em <code>php.ini</code> para 1024 ou mais, e defina <code>$wgResourceLoaderMaxQueryLength</code> em <code>LocalSettings.php</code> para o mesmo valor.",
        "config-db-type": "Tipo de base de dados:",
        "config-db-host": "Servidor da base de dados:",
        "config-db-host-help": "Se a base de dados do seu servidor está em um servidor diferente, digite o nome do hospedeiro ou o endereço IP aqui.\n\nSe você está utilizando um hospedeiro web compartilhado, o seu provedor de hospedagem deverá fornecer o nome do hospedeiro correto na sua documentação.\n\nSe você está instalando em um servidor Windows e usando o MySQL, usar \"localhost\" pode não funcionar para o nome de servidor. Se não funcionar, tente \"127.0.01\" para o endereço de IP local.\n\nSe você está usando PostgreSQl, deixe este campo em branco para se conectar através de um socket Unix.",
index ecb8e87..ccc7455 100644 (file)
@@ -9,11 +9,11 @@
        },
        "config-desc": "ตัวติดตั้งสำหรับมีเดียวิกิ",
        "config-title": "การติดตั้งมีเดียวิกิ $1",
-       "config-information": "สารสà¸\99à¹\80à¸\97ศ",
+       "config-information": "à¸\82à¹\89อมูล",
        "config-localsettings-upgrade": "ตรวจพบไฟล์ <code>LocalSettings.php</code>\nเพื่ออัปเกรดการติดตั้งนี้ กรุณากรอกค่าของ <code>$wgUpgradeKey</code> ในกล่องด้านล่าง\nคุณจะพบมันได้ใน <code>LocalSettings.php</code>",
        "config-localsettings-cli-upgrade": "ตรวจพบไฟล์ <code>LocalSettings.php</code>\nเพื่ออัปเกรดการติดตั้งนี้ กรุณาดำเนินงาน <code>update.php</code> แทน",
-       "config-localsettings-key": "à¸\81ุà¸\8dà¹\81à¸\88อัปเกรด:",
-       "config-localsettings-badkey": "à¸\81ุà¸\8dà¹\81à¸\88ที่คุณกรอกไม่ถูกต้อง",
+       "config-localsettings-key": "à¸\84ียà¹\8cอัปเกรด:",
+       "config-localsettings-badkey": "à¸\84ียà¹\8cอัà¸\9bà¹\80à¸\81รà¸\94ที่คุณกรอกไม่ถูกต้อง",
        "config-upgrade-key-missing": "ตรวจพบการติดตั้งมีเดียวิกิที่มีอยู่แล้ว\nเพื่ออัปเกรดการติดตั้งนี้ กรุณาใส่บรรทัดต่อไปนี้ที่ท้ายไฟล์ <code>LocalSettings.php</code> ของคุณ:\n\n$1",
        "config-localsettings-incomplete": "<code>LocalSettings.php</code> ที่มีอยู่ดูเหมือนว่าไม่สมบูรณ์\nตัวแปร $1 ไม่ถูกกำหนด\nกรุณาเปลี่ยนแปลง <code>LocalSettings.php</code> เพื่อกำหนดตัวแปรนี้ และคลิก \"{{int:Config-continue}}\"",
        "config-localsettings-connection-error": "ความผิดพลาดเกิดขึ้นเมื่อเชื่อมต่อฐานข้อมูลโดยใช้การตั้งค่าที่ระบุใน <code>LocalSettings.php</code> กรุณาแก้ไขการตั้งค่าเหล่านี้และลองอีกครั้ง\n\n$1",
        "config-imagemagick": "พบ ImageMagick: <code>$1</code>\nการย่อรูปภาพจะถูกเปิดใช้งาน ถ้าคุณเปิดใช้งานการอัปโหลด",
        "config-gd": "พบไลบรารีกราฟิก GD ภายใน\nการย่อรูปภาพจะถูกเปิดใช้งาน ถ้าคุณเปิดใช้งานการอัปโหลด",
        "config-no-scaling": "ไม่พบไลบรารี GD หรือ ImageMagick\nการย่อรูปภาพจะถูกปิดใช้งาน",
+       "config-no-uri": "<strong>ข้อผิดพลาด:</strong> ไม่สามารถทำการตรวจสอบ URI ปัจจุบันได้\nการติดตั้งถูกยกเลิกแล้ว",
        "config-using-server": "ใช้ชื่อเซิร์ฟเวอร์ \"<nowiki>$1</nowiki>\"",
        "config-using-uri": "ใช้ยูอาร์แอลของเซิร์ฟเวอร์ \"<nowiki>$1$2</nowiki>\"",
+       "config-db-name": "ชื่อฐานข้อมูล:",
        "config-mysql-innodb": "อินโนดีบี",
        "config-mysql-myisam": "มายไอแซม",
        "config-mysql-binary": "ไบนารี",
index 020a684..9701dd9 100644 (file)
@@ -21,6 +21,7 @@
  * @defgroup JobQueue JobQueue
  * @author Aaron Schulz
  */
+use MediaWiki\MediaWikiServices;
 
 /**
  * Class to handle enqueueing and running of background jobs
@@ -709,7 +710,7 @@ abstract class JobQueue {
        public static function incrStats( $key, $type, $delta = 1 ) {
                static $stats;
                if ( !$stats ) {
-                       $stats = RequestContext::getMain()->getStats();
+                       $stats = MediaWikiServices::getInstance()->getStatsdDataFactory();
                }
                $stats->updateCount( "jobqueue.{$key}.all", $delta );
                $stats->updateCount( "jobqueue.{$key}.{$type}", $delta );
index b1cece8..bba07e2 100644 (file)
@@ -176,6 +176,12 @@ class CSSMin {
         * @return bool|string
         */
        public static function getMimeType( $file ) {
+               // Infer the MIME-type from the file extension
+               $ext = strtolower( pathinfo( $file, PATHINFO_EXTENSION ) );
+               if ( isset( self::$mimeTypes[$ext] ) ) {
+                       return self::$mimeTypes[$ext];
+               }
+
                $realpath = realpath( $file );
                if (
                        $realpath
@@ -186,12 +192,6 @@ class CSSMin {
                        return finfo_file( finfo_open( FILEINFO_MIME_TYPE ), $realpath );
                }
 
-               // Infer the MIME-type from the file extension
-               $ext = strtolower( pathinfo( $file, PATHINFO_EXTENSION ) );
-               if ( isset( self::$mimeTypes[$ext] ) ) {
-                       return self::$mimeTypes[$ext];
-               }
-
                return false;
        }
 
index 10088f2..0d3613a 100644 (file)
@@ -242,6 +242,21 @@ class CryptRand {
                        $this->strong = true;
                }
 
+               if ( strlen( $buffer ) < $bytes ) {
+                       // If available make use of PHP 7's random_bytes
+                       // On Linux, getrandom syscall will be used if available.
+                       // On Windows CryptGenRandom will always be used
+                       // On other platforms, /dev/urandom will be used.
+                       // All error situations will throw Exceptions and or Errors
+                       if ( function_exists( 'random_bytes' ) ) {
+                               $rem = $bytes - strlen( $buffer );
+                               $buffer .= random_bytes( $rem );
+                       }
+                       if ( strlen( $buffer ) >= $bytes ) {
+                               $this->strong = true;
+                       }
+               }
+
                if ( strlen( $buffer ) < $bytes ) {
                        // If available make use of mcrypt_create_iv URANDOM source to generate randomness
                        // On unix-like systems this reads from /dev/urandom but does it without any buffering
index 7cb26c6..039bd42 100644 (file)
@@ -1200,21 +1200,20 @@ abstract class FileBackendStore extends FileBackend {
         * to the order in which the handles where given.
         *
         * @param FileBackendStoreOpHandle[] $fileOpHandles
-        *
-        * @throws FileBackendError
         * @return StatusValue[] Map of StatusValue objects
+        * @throws FileBackendError
         */
        final public function executeOpHandlesInternal( array $fileOpHandles ) {
                $ps = $this->scopedProfileSection( __METHOD__ . "-{$this->name}" );
 
                foreach ( $fileOpHandles as $fileOpHandle ) {
                        if ( !( $fileOpHandle instanceof FileBackendStoreOpHandle ) ) {
-                               throw new InvalidArgumentException( "Got a non-FileBackendStoreOpHandle object." );
+                               throw new InvalidArgumentException( "Expected FileBackendStoreOpHandle object." );
                        } elseif ( $fileOpHandle->backend->getName() !== $this->getName() ) {
-                               throw new InvalidArgumentException(
-                                       "Got a FileBackendStoreOpHandle for the wrong backend." );
+                               throw new InvalidArgumentException( "Expected handle for this file backend." );
                        }
                }
+
                $res = $this->doExecuteOpHandlesInternal( $fileOpHandles );
                foreach ( $fileOpHandles as $fileOpHandle ) {
                        $fileOpHandle->closeResources();
index c50dfd7..ae0ad6f 100644 (file)
@@ -287,7 +287,7 @@ class SwiftFileBackend extends FileBackendStore {
                if ( !empty( $params['async'] ) ) { // deferred
                        $status->value = $opHandle;
                } else { // actually write the object in Swift
-                       $status->merge( current( $this->doExecuteOpHandlesInternal( [ $opHandle ] ) ) );
+                       $status->merge( current( $this->executeOpHandlesInternal( [ $opHandle ] ) ) );
                }
 
                return $status;
@@ -348,10 +348,12 @@ class SwiftFileBackend extends FileBackendStore {
                };
 
                $opHandle = new SwiftFileOpHandle( $this, $handler, $reqs );
+               $opHandle->resourcesToClose[] = $handle;
+
                if ( !empty( $params['async'] ) ) { // deferred
                        $status->value = $opHandle;
                } else { // actually write the object in Swift
-                       $status->merge( current( $this->doExecuteOpHandlesInternal( [ $opHandle ] ) ) );
+                       $status->merge( current( $this->executeOpHandlesInternal( [ $opHandle ] ) ) );
                }
 
                return $status;
@@ -399,7 +401,7 @@ class SwiftFileBackend extends FileBackendStore {
                if ( !empty( $params['async'] ) ) { // deferred
                        $status->value = $opHandle;
                } else { // actually write the object in Swift
-                       $status->merge( current( $this->doExecuteOpHandlesInternal( [ $opHandle ] ) ) );
+                       $status->merge( current( $this->executeOpHandlesInternal( [ $opHandle ] ) ) );
                }
 
                return $status;
@@ -458,7 +460,7 @@ class SwiftFileBackend extends FileBackendStore {
                if ( !empty( $params['async'] ) ) { // deferred
                        $status->value = $opHandle;
                } else { // actually move the object in Swift
-                       $status->merge( current( $this->doExecuteOpHandlesInternal( [ $opHandle ] ) ) );
+                       $status->merge( current( $this->executeOpHandlesInternal( [ $opHandle ] ) ) );
                }
 
                return $status;
@@ -498,7 +500,7 @@ class SwiftFileBackend extends FileBackendStore {
                if ( !empty( $params['async'] ) ) { // deferred
                        $status->value = $opHandle;
                } else { // actually delete the object in Swift
-                       $status->merge( current( $this->doExecuteOpHandlesInternal( [ $opHandle ] ) ) );
+                       $status->merge( current( $this->executeOpHandlesInternal( [ $opHandle ] ) ) );
                }
 
                return $status;
@@ -554,7 +556,7 @@ class SwiftFileBackend extends FileBackendStore {
                if ( !empty( $params['async'] ) ) { // deferred
                        $status->value = $opHandle;
                } else { // actually change the object in Swift
-                       $status->merge( current( $this->doExecuteOpHandlesInternal( [ $opHandle ] ) ) );
+                       $status->merge( current( $this->executeOpHandlesInternal( [ $opHandle ] ) ) );
                }
 
                return $status;
index e807bc8..92adaf9 100644 (file)
@@ -1354,7 +1354,10 @@ abstract class Database implements IDatabase, IMaintainableDatabase, LoggerAware
        ) {
                $rows = 0;
                $sql = $this->selectSQLText( $tables, '1', $conds, $fname, $options, $join_conds );
-               $res = $this->query( "SELECT COUNT(*) AS rowcount FROM ($sql) tmp_count", $fname );
+               // The identifier quotes is primarily for MSSQL.
+               $rowCountCol = $this->addIdentifierQuotes( "rowcount" );
+               $tableName = $this->addIdentifierQuotes( "tmp_count" );
+               $res = $this->query( "SELECT COUNT(*) AS $rowCountCol FROM ($sql) $tableName", $fname );
 
                if ( $res ) {
                        $row = $this->fetchRow( $res );
@@ -1539,7 +1542,7 @@ abstract class Database implements IDatabase, IMaintainableDatabase, LoggerAware
                        $sql .= " WHERE " . $this->makeList( $conds, self::LIST_AND );
                }
 
-               return $this->query( $sql, $fname );
+               return (bool)$this->query( $sql, $fname );
        }
 
        public function makeList( $a, $mode = self::LIST_COMMA ) {
index 9270589..e900027 100644 (file)
@@ -821,7 +821,8 @@ abstract class DatabaseMysqlBase extends Database {
 
                $row = $res ? $this->fetchRow( $res ) : false;
                if ( !$row ) {
-                       throw new DBExpectedError( $this, "Failed to query MASTER_POS_WAIT()" );
+                       throw new DBExpectedError( $this,
+                               "MASTER_POS_WAIT() or MASTER_GTID_WAIT() failed: {$this->lastError()}" );
                }
 
                // Result can be NULL (error), -1 (timeout), or 0+ per the MySQL manual
index 0a4f0ed..cf9033b 100644 (file)
@@ -359,7 +359,7 @@ class ObjectCache {
         *
         * @since 1.26
         * @return WANObjectCache
-        * @deprecated Since 1.28 Use MediaWikiServices::getMainWANCache()
+        * @deprecated Since 1.28 Use MediaWikiServices::getMainWANObjectCache()
         */
        public static function getMainWANInstance() {
                return MediaWikiServices::getInstance()->getMainWANObjectCache();
index e7a906d..cb97126 100644 (file)
@@ -19,6 +19,7 @@
  *
  * @file
  */
+use MediaWiki\MediaWikiServices;
 
 /**
  * Class for viewing MediaWiki article and history.
@@ -494,7 +495,7 @@ class Article implements Page {
                $useParserCache = $this->mPage->shouldCheckParserCache( $parserOptions, $oldid );
                wfDebug( 'Article::view using parser cache: ' . ( $useParserCache ? 'yes' : 'no' ) . "\n" );
                if ( $user->getStubThreshold() ) {
-                       $this->getContext()->getStats()->increment( 'pcache_miss_stub' );
+                       MediaWikiServices::getInstance()->getStatsdDataFactory()->increment( 'pcache_miss_stub' );
                }
 
                $this->showRedirectedFromHeader();
index 58f1666..4785ef1 100644 (file)
@@ -31,10 +31,28 @@ class ImageHistoryPseudoPager extends ReverseChronologicalPager {
         */
        protected $mTitle;
 
+       /**
+        * @since 1.14
+        * @var ImagePage
+        */
+       public $mImagePage;
+
+       /**
+        * @since 1.14
+        * @var File[]
+        */
+       public $mHist;
+
+       /**
+        * @since 1.14
+        * @var int[]
+        */
+       public $mRange;
+
        /**
         * @param ImagePage $imagePage
         */
-       function __construct( $imagePage ) {
+       public function __construct( $imagePage ) {
                parent::__construct( $imagePage->getContext() );
                $this->mImagePage = $imagePage;
                $this->mTitle = clone $imagePage->getTitle();
@@ -53,18 +71,18 @@ class ImageHistoryPseudoPager extends ReverseChronologicalPager {
        /**
         * @return Title
         */
-       function getTitle() {
+       public function getTitle() {
                return $this->mTitle;
        }
 
-       function getQueryInfo() {
+       public function getQueryInfo() {
                return false;
        }
 
        /**
         * @return string
         */
-       function getIndexField() {
+       public function getIndexField() {
                return '';
        }
 
@@ -72,14 +90,14 @@ class ImageHistoryPseudoPager extends ReverseChronologicalPager {
         * @param object $row
         * @return string
         */
-       function formatRow( $row ) {
+       public function formatRow( $row ) {
                return '';
        }
 
        /**
         * @return string
         */
-       function getBody() {
+       public function getBody() {
                $s = '';
                $this->doQuery();
                if ( count( $this->mHist ) ) {
@@ -113,7 +131,7 @@ class ImageHistoryPseudoPager extends ReverseChronologicalPager {
                return $s;
        }
 
-       function doQuery() {
+       public function doQuery() {
                if ( $this->mQueryDone ) {
                        return;
                }
index 5e54615..01bf2d0 100644 (file)
@@ -138,6 +138,9 @@ class MWTidy {
                        case 'Html5Internal':
                                $instance = new MediaWiki\Tidy\Html5Internal( $config );
                                break;
+                       case 'RemexHtml':
+                               $instance = new MediaWiki\Tidy\RemexDriver( $config );
+                               break;
                        case 'disabled':
                                return false;
                        default:
index 8db1fe3..47d9a62 100644 (file)
@@ -3257,6 +3257,7 @@ class Parser {
                                $text = '<span class="error">'
                                        . wfMessage( 'parser-template-loop-warning', $titleText )->inContentLanguage()->text()
                                        . '</span>';
+                               $this->addTrackingCategory( 'template-loop-category' );
                                wfDebug( __METHOD__ . ": template loop broken at '$titleText'\n" );
                        }
                }
index 52aa54a..bb86551 100644 (file)
@@ -21,6 +21,7 @@
  * @file
  * @ingroup Profiler
  */
+use MediaWiki\MediaWikiServices;
 
 /**
  * ProfilerOutput class that flushes profiling data to the profiling
@@ -38,7 +39,7 @@ class ProfilerOutputStats extends ProfilerOutput {
         */
        public function log( array $stats ) {
                $prefix = isset( $this->params['prefix'] ) ? $this->params['prefix'] : '';
-               $contextStats = $this->collector->getContext()->getStats();
+               $contextStats = MediaWikiServices::getInstance()->getStatsdDataFactory();
 
                foreach ( $stats as $stat ) {
                        $key = "{$prefix}.{$stat['name']}";
index 717fb45..e72eaf2 100644 (file)
@@ -185,7 +185,7 @@ class ResourceLoader implements LoggerAwareInterface {
                        return self::applyFilter( $filter, $data );
                }
 
-               $stats = RequestContext::getMain()->getStats();
+               $stats = MediaWikiServices::getInstance()->getStatsdDataFactory();
                $cache = ObjectCache::getLocalServerInstance( CACHE_ANYTHING );
 
                $key = $cache->makeGlobalKey(
index 2503b22..6a6a3c2 100644 (file)
@@ -176,6 +176,7 @@ class ResourceLoaderImage {
                        'variant' => $variant,
                        'format' => $format,
                        'lang' => $context->getLanguage(),
+                       'skin' => $context->getSkin(),
                        'version' => $context->getVersion(),
                ];
 
index ff1b7b1..d26c961 100644 (file)
@@ -70,7 +70,8 @@ class ResourceLoaderImageModule extends ResourceLoaderModule {
         *         'selectorWithVariant' => [CSS selector template, variables: {prefix} {name} {variant}],
         *         // List of variants that may be used for the image files
         *         'variants' => [
-        *             [theme name] => [
+        *             // This level of nesting can be omitted if you use the same images for every skin
+        *             [skin name (or 'default')] => [
         *                 [variant name] => [
         *                     'color' => [color string, e.g. '#ffff00'],
         *                     'global' => [boolean, if true, this variant is available
@@ -82,7 +83,8 @@ class ResourceLoaderImageModule extends ResourceLoaderModule {
         *         ],
         *         // List of image files and their options
         *         'images' => [
-        *             [theme name] => [
+        *             // This level of nesting can be omitted if you use the same images for every skin
+        *             [skin name (or 'default')] => [
         *                 [icon name] => [
         *                     'file' => [file path string or array whose values are file path strings
         *                                    and whose keys are 'default', 'ltr', 'rtl', a single
@@ -315,11 +317,7 @@ class ResourceLoaderImageModule extends ResourceLoaderModule {
                $selectors = $this->getSelectors();
 
                foreach ( $this->getImages( $context ) as $name => $image ) {
-                       $declarations = $this->getCssDeclarations(
-                               $image->getDataUri( $context, null, 'original' ),
-                               $image->getUrl( $context, $script, null, 'rasterized' )
-                       );
-                       $declarations = implode( "\n\t", $declarations );
+                       $declarations = $this->getStyleDeclarations( $context, $image, $script );
                        $selector = strtr(
                                $selectors['selectorWithoutVariant'],
                                [
@@ -331,11 +329,7 @@ class ResourceLoaderImageModule extends ResourceLoaderModule {
                        $rules[] = "$selector {\n\t$declarations\n}";
 
                        foreach ( $image->getVariants() as $variant ) {
-                               $declarations = $this->getCssDeclarations(
-                                       $image->getDataUri( $context, $variant, 'original' ),
-                                       $image->getUrl( $context, $script, $variant, 'rasterized' )
-                               );
-                               $declarations = implode( "\n\t", $declarations );
+                               $declarations = $this->getStyleDeclarations( $context, $image, $script, $variant );
                                $selector = strtr(
                                        $selectors['selectorWithVariant'],
                                        [
@@ -352,6 +346,28 @@ class ResourceLoaderImageModule extends ResourceLoaderModule {
                return [ 'all' => $style ];
        }
 
+       /**
+        * @param ResourceLoaderContext $context
+        * @param ResourceLoaderImage $image Image to get the style for
+        * @param string $script URL to load.php
+        * @param string|null $variant Variant to get the style for
+        * @return string
+        */
+       private function getStyleDeclarations(
+               ResourceLoaderContext $context,
+               ResourceLoaderImage $image,
+               $script,
+               $variant = null
+       ) {
+               $imageDataUri = $image->getDataUri( $context, $variant, 'original' );
+               $primaryUrl = $imageDataUri ?: $image->getUrl( $context, $script, $variant, 'original' );
+               $declarations = $this->getCssDeclarations(
+                       $primaryUrl,
+                       $image->getUrl( $context, $script, $variant, 'rasterized' )
+               );
+               return implode( "\n\t", $declarations );
+       }
+
        /**
         * SVG support using a transparent gradient to guarantee cross-browser
         * compatibility (browsers able to understand gradient syntax support also SVG).
index a3b059b..1704481 100644 (file)
@@ -43,9 +43,26 @@ class ResourceLoaderJqueryMsgModule extends ResourceLoaderFileModule {
                        )
                );
 
-               $dataScript = Xml::encodeJsCall( 'mw.jqueryMsg.setParserDefaults', [ $parserDefaults ] );
+               $mainDataScript = Xml::encodeJsCall( 'mw.jqueryMsg.setParserDefaults', [ $parserDefaults ] );
 
-               return $fileScript . $dataScript;
+               // Associative array mapping magic words (e.g. SITENAME)
+               // to their values.
+               $magicWords = [
+                       'SITENAME' => $this->getConfig()->get( 'Sitename' ),
+               ];
+
+               Hooks::run( 'ResourceLoaderJqueryMsgModuleMagicWords', [ $context, &$magicWords ] );
+
+               $magicWordExtendData = [
+                       'magic' => $magicWords,
+               ];
+
+               $magicWordDataScript = Xml::encodeJsCall( 'mw.jqueryMsg.setParserDefaults', [
+                       $magicWordExtendData,
+                       /* deep= */ true
+               ] );
+
+               return $fileScript . $mainDataScript . $magicWordDataScript;
        }
 
        /**
index a2b4b1d..5404e0f 100644 (file)
@@ -147,8 +147,8 @@ abstract class ResourceLoaderModule implements LoggerAwareInterface {
                if ( $deprecationInfo ) {
                        $name = $this->getName();
                        $warning = 'This page is using the deprecated ResourceLoader module "' . $name . '".';
-                       if ( !is_bool( $deprecationInfo ) && isset( $deprecationInfo['message'] ) ) {
-                               $warning .= "\n" . $deprecationInfo['message'];
+                       if ( is_string( $deprecationInfo ) ) {
+                               $warning .= "\n" . $deprecationInfo;
                        }
                        return Xml::encodeJsCall(
                                'mw.log.warn',
@@ -624,7 +624,7 @@ abstract class ResourceLoaderModule implements LoggerAwareInterface {
         */
        final protected function buildContent( ResourceLoaderContext $context ) {
                $rl = $context->getResourceLoader();
-               $stats = RequestContext::getMain()->getStats();
+               $stats = MediaWikiServices::getInstance()->getStatsdDataFactory();
                $statStart = microtime( true );
 
                // Only include properties that are relevant to this context (e.g. only=scripts)
index 52aa392..14e5c26 100644 (file)
@@ -26,6 +26,7 @@
 class ResourceLoaderOOUIImageModule extends ResourceLoaderImageModule {
        protected function loadFromDefinition() {
                if ( $this->definition === null ) {
+                       // Do nothing if definition was already processed
                        return;
                }
 
@@ -38,39 +39,48 @@ class ResourceLoaderOOUIImageModule extends ResourceLoaderImageModule {
 
                $definition = [];
                foreach ( $themes as $skin => $theme ) {
+                       // Find the path to the JSON file which contains the actual image definitions for this theme
                        // TODO Allow extensions to specify this path somehow
-                       $dataPath = $this->localBasePath . '/' . $rootPath . '/' . $theme . '/' . $name . '.json';
+                       $dataPath = $rootPath . '/' . strtolower( $theme ) . '/' . $name . '.json';
+                       $localDataPath = $this->localBasePath . '/' . $dataPath;
 
-                       if ( file_exists( $dataPath ) ) {
-                               $data = json_decode( file_get_contents( $dataPath ), true );
-                               $fixPath = function ( &$path ) use ( $rootPath, $theme ) {
-                                       // TODO Allow extensions to specify this path somehow
-                                       $path = $rootPath . '/' . $theme . '/' . $path;
-                               };
-                               array_walk( $data['images'], function ( &$value ) use ( $fixPath ) {
-                                       if ( is_string( $value['file'] ) ) {
-                                               $fixPath( $value['file'] );
-                                       } elseif ( is_array( $value['file'] ) ) {
-                                               array_walk_recursive( $value['file'], $fixPath );
-                                       }
-                               } );
-                       } else {
-                               $data = [];
+                       // If there's no file for this module of this theme, that's okay, it will just use the defaults
+                       if ( !file_exists( $localDataPath ) ) {
+                               continue;
                        }
+                       $data = json_decode( file_get_contents( $localDataPath ), true );
 
+                       // Expand the paths to images (since they are relative to the JSON file that defines them, not
+                       // our base directory)
+                       $fixPath = function ( &$path ) use ( $dataPath ) {
+                               $path = dirname( $dataPath ) . '/' . $path;
+                       };
+                       array_walk( $data['images'], function ( &$value ) use ( $fixPath ) {
+                               if ( is_string( $value['file'] ) ) {
+                                       $fixPath( $value['file'] );
+                               } elseif ( is_array( $value['file'] ) ) {
+                                       array_walk_recursive( $value['file'], $fixPath );
+                               }
+                       } );
+
+                       // Convert into a definition compatible with the parent vanilla ResourceLoaderImageModule
                        foreach ( $data as $key => $value ) {
                                switch ( $key ) {
+                                       // Images and color variants are defined per-theme, here converted to per-skin
                                        case 'images':
                                        case 'variants':
                                                $definition[$key][$skin] = $data[$key];
                                                break;
 
+                                       // Other options must be identical for each theme (or only defined in the default one)
                                        default:
                                                if ( !isset( $definition[$key] ) ) {
                                                        $definition[$key] = $data[$key];
                                                } elseif ( $definition[$key] !== $data[$key] ) {
                                                        throw new Exception(
-                                                               "Mismatched OOUI theme definitions are not supported: trying to load $key of $theme theme"
+                                                               "Mismatched OOUI theme images definition: " .
+                                                                       "key '$key' of theme '$theme' " .
+                                                                       "does not match other themes"
                                                        );
                                                }
                                                break;
@@ -78,7 +88,7 @@ class ResourceLoaderOOUIImageModule extends ResourceLoaderImageModule {
                        }
                }
 
-               // Fields from definition silently override keys from JSON files
+               // Fields from module definition silently override keys from JSON files
                $this->definition += $definition;
 
                parent::loadFromDefinition();
index b0d060b..f6f14b3 100644 (file)
@@ -149,6 +149,15 @@ class ResourceLoaderWikiModule extends ResourceLoaderModule {
                        return null;
                }
 
+               // If the page is a redirect, follow the redirect.
+               if ( $title->isRedirect() ) {
+                       $content = $this->getContentObj( $title );
+                       $title = $content ? $content->getUltimateRedirectTarget() : null;
+                       if ( !$title ) {
+                               return null;
+                       }
+               }
+
                $handler = ContentHandler::getForTitle( $title );
                if ( $handler->isSupportedFormat( CONTENT_FORMAT_CSS ) ) {
                        $format = CONTENT_FORMAT_CSS;
@@ -158,6 +167,19 @@ class ResourceLoaderWikiModule extends ResourceLoaderModule {
                        return null;
                }
 
+               $content = $this->getContentObj( $title );
+               if ( !$content ) {
+                       return null;
+               }
+
+               return $content->serialize( $format );
+       }
+
+       /**
+        * @param Title $title
+        * @return Content|null
+        */
+       protected function getContentObj( Title $title ) {
                $revision = Revision::newKnownCurrent( wfGetDB( DB_REPLICA ), $title->getArticleID(),
                        $title->getLatestRevID() );
                if ( !$revision ) {
@@ -165,13 +187,11 @@ class ResourceLoaderWikiModule extends ResourceLoaderModule {
                }
                $revision->setTitle( $title );
                $content = $revision->getContent( Revision::RAW );
-
                if ( !$content ) {
                        wfDebugLog( 'resourceloader', __METHOD__ . ': failed to load content of JS/CSS page!' );
                        return null;
                }
-
-               return $content->serialize( $format );
+               return $content;
        }
 
        /**
index 910fd77..04344fd 100644 (file)
@@ -33,6 +33,11 @@ abstract class SearchIndexFieldDefinition implements SearchIndexField {
         */
        protected $subfields = [];
 
+       /**
+        * @var callable
+        */
+       private $mergeCallback;
+
        /**
         * SearchIndexFieldDefinition constructor.
         * @param string $name Field name
@@ -91,6 +96,9 @@ abstract class SearchIndexFieldDefinition implements SearchIndexField {
         * @return SearchIndexField|false New definition or false if not mergeable.
         */
        public function merge( SearchIndexField $that ) {
+               if ( !empty( $this->mergeCallback ) ) {
+                       return call_user_func( $this->mergeCallback, $this, $that );
+               }
                // TODO: which definitions may be compatible?
                if ( ( $that instanceof self ) && $this->type === $that->type &&
                        $this->flags === $that->flags && $this->type !== self::INDEX_TYPE_NESTED
@@ -125,4 +133,11 @@ abstract class SearchIndexFieldDefinition implements SearchIndexField {
         */
        abstract public function getMapping( SearchEngine $engine );
 
+       /**
+        * Set field-specific merge strategy.
+        * @param callable $callback
+        */
+       public function setMergeCallback( $callback ) {
+               $this->mergeCallback = $callback;
+       }
 }
index 3ef646a..52678d4 100644 (file)
@@ -149,6 +149,9 @@ abstract class Skin extends ContextSource {
         * Defines the ResourceLoader modules that should be added to the skin
         * It is recommended that skins wishing to override call parent::getDefaultModules()
         * and substitute out any modules they wish to change by using a key to look them up
+        *
+        * For style modules, use setupSkinUserCss() instead.
+        *
         * @return array Array of modules with helper keys for easy overriding
         */
        public function getDefaultModules() {
@@ -171,6 +174,16 @@ abstract class Skin extends ContextSource {
                        'user' => [],
                ];
 
+               // Preload jquery.tablesorter for mediawiki.page.ready
+               if ( strpos( $out->getHTML(), 'sortable' ) !== false ) {
+                       $modules['content'][] = 'jquery.tablesorter';
+               }
+
+               // Preload jquery.makeCollapsible for mediawiki.page.ready
+               if ( strpos( $out->getHTML(), 'mw-collapsible' ) !== false ) {
+                       $modules['content'][] = 'jquery.makeCollapsible';
+               }
+
                // Add various resources if required
                if ( $wgUseAjax && $wgEnableAPI ) {
                        if ( $wgEnableWriteAPI && $user->isLoggedIn()
index f62b302..8e9629d 100644 (file)
@@ -39,6 +39,384 @@ abstract class ChangesListSpecialPage extends SpecialPage {
        /** @var array */
        protected $customFilters;
 
+       // Order of both groups and filters is significant; first is top-most priority,
+       // descending from there.
+       // 'showHideSuffix' is a shortcut to and avoid spelling out
+       // details specific to subclasses here.
+       /**
+        * Definition information for the filters and their groups
+        *
+        * The value is $groupDefinition, a parameter to the ChangesListFilterGroup constructor.
+        * However, priority is dynamically added for the core groups, to ease maintenance.
+        *
+        * Groups are displayed to the user in the structured UI.  However, if necessary,
+        * all of the filters in a group can be configured to only display on the
+        * unstuctured UI, in which case you don't need a group title.  This is done in
+        * getFilterGroupDefinitionFromLegacyCustomFilters, for example.
+        *
+        * @var array $filterGroupDefinitions
+        */
+       private $filterGroupDefinitions;
+
+       /**
+        * Filter groups, and their contained filters
+        * This is an associative array (with group name as key) of ChangesListFilterGroup objects.
+        *
+        * @var array $filterGroups
+        */
+       protected $filterGroups = [];
+
+       public function __construct( $name, $restriction ) {
+               parent::__construct( $name, $restriction );
+
+               $this->filterGroupDefinitions = [
+                       [
+                               'name' => 'registration',
+                               'title' => 'rcfilters-filtergroup-registration',
+                               'class' => ChangesListBooleanFilterGroup::class,
+                               'filters' => [
+                                       [
+                                               'name' => 'hideliu',
+                                               'label' => 'rcfilters-filter-registered-label',
+                                               'description' => 'rcfilters-filter-registered-description',
+                                               // rcshowhideliu-show, rcshowhideliu-hide,
+                                               // wlshowhideliu
+                                               'showHideSuffix' => 'showhideliu',
+                                               'default' => false,
+                                               'queryCallable' => function ( $specialClassName, $ctx, $dbr, &$tables, &$fields, &$conds,
+                                                       &$query_options, &$join_conds ) {
+
+                                                       $conds[] = 'rc_user = 0';
+                                               },
+                                               'cssClassSuffix' => 'liu',
+                                               'isRowApplicableCallable' => function ( $ctx, $rc ) {
+                                                       return $rc->getAttribute( 'rc_user' );
+                                               },
+
+                                       ],
+                                       [
+                                               'name' => 'hideanons',
+                                               'label' => 'rcfilters-filter-unregistered-label',
+                                               'description' => 'rcfilters-filter-unregistered-description',
+                                               // rcshowhideanons-show, rcshowhideanons-hide,
+                                               // wlshowhideanons
+                                               'showHideSuffix' => 'showhideanons',
+                                               'default' => false,
+                                               'queryCallable' => function ( $specialClassName, $ctx, $dbr, &$tables, &$fields, &$conds,
+                                                       &$query_options, &$join_conds ) {
+
+                                                       $conds[] = 'rc_user != 0';
+                                               },
+                                               'cssClassSuffix' => 'anon',
+                                               'isRowApplicableCallable' => function ( $ctx, $rc ) {
+                                                       return !$rc->getAttribute( 'rc_user' );
+                                               },
+                                       ]
+                               ],
+                       ],
+
+                       [
+                               'name' => 'userExpLevel',
+                               'title' => 'rcfilters-filtergroup-userExpLevel',
+                               'class' => ChangesListStringOptionsFilterGroup::class,
+                               // Excludes unregistered users
+                               'isFullCoverage' => false,
+                               'filters' => [
+                                       [
+                                               'name' => 'newcomer',
+                                               'label' => 'rcfilters-filter-user-experience-level-newcomer-label',
+                                               'description' => 'rcfilters-filter-user-experience-level-newcomer-description',
+                                               'cssClassSuffix' => 'user-newcomer',
+                                               'isRowApplicableCallable' => function ( $ctx, $rc ) {
+                                                       $performer = $rc->getPerformer();
+                                                       return $performer && $performer->isLoggedIn() &&
+                                                               $performer->getExperienceLevel() === 'newcomer';
+                                               }
+                                       ],
+                                       [
+                                               'name' => 'learner',
+                                               'label' => 'rcfilters-filter-user-experience-level-learner-label',
+                                               'description' => 'rcfilters-filter-user-experience-level-learner-description',
+                                               'cssClassSuffix' => 'user-learner',
+                                               'isRowApplicableCallable' => function ( $ctx, $rc ) {
+                                                       $performer = $rc->getPerformer();
+                                                       return $performer && $performer->isLoggedIn() &&
+                                                               $performer->getExperienceLevel() === 'learner';
+                                               },
+                                       ],
+                                       [
+                                               'name' => 'experienced',
+                                               'label' => 'rcfilters-filter-user-experience-level-experienced-label',
+                                               'description' => 'rcfilters-filter-user-experience-level-experienced-description',
+                                               'cssClassSuffix' => 'user-experienced',
+                                               'isRowApplicableCallable' => function ( $ctx, $rc ) {
+                                                       $performer = $rc->getPerformer();
+                                                       return $performer && $performer->isLoggedIn() &&
+                                                               $performer->getExperienceLevel() === 'experienced';
+                                               },
+                                       ]
+                               ],
+                               'default' => ChangesListStringOptionsFilterGroup::NONE,
+                               'queryCallable' => [ $this, 'filterOnUserExperienceLevel' ],
+                       ],
+
+                       [
+                               'name' => 'authorship',
+                               'title' => 'rcfilters-filtergroup-authorship',
+                               'class' => ChangesListBooleanFilterGroup::class,
+                               'filters' => [
+                                       [
+                                               'name' => 'hidemyself',
+                                               'label' => 'rcfilters-filter-editsbyself-label',
+                                               'description' => 'rcfilters-filter-editsbyself-description',
+                                               // rcshowhidemine-show, rcshowhidemine-hide,
+                                               // wlshowhidemine
+                                               'showHideSuffix' => 'showhidemine',
+                                               'default' => false,
+                                               'queryCallable' => function ( $specialClassName, $ctx, $dbr, &$tables, &$fields, &$conds,
+                                                       &$query_options, &$join_conds ) {
+
+                                                       $user = $ctx->getUser();
+                                                       if ( $user->getId() ) {
+                                                               $conds[] = 'rc_user != ' . $dbr->addQuotes( $user->getId() );
+                                                       } else {
+                                                               $conds[] = 'rc_user_text != ' . $dbr->addQuotes( $user->getName() );
+                                                       }
+                                               },
+                                               'cssClassSuffix' => 'self',
+                                               'isRowApplicableCallable' => function ( $ctx, $rc ) {
+                                                       return $ctx->getUser()->equals( $rc->getPerformer() );
+                                               },
+                                       ],
+                                       [
+                                               'name' => 'hidebyothers',
+                                               'label' => 'rcfilters-filter-editsbyother-label',
+                                               'description' => 'rcfilters-filter-editsbyother-description',
+                                               'default' => false,
+                                               'queryCallable' => function ( $specialClassName, $ctx, $dbr, &$tables, &$fields, &$conds,
+                                                       &$query_options, &$join_conds ) {
+
+                                                       $user = $ctx->getUser();
+                                                       if ( $user->getId() ) {
+                                                               $conds[] = 'rc_user = ' . $dbr->addQuotes( $user->getId() );
+                                                       } else {
+                                                               $conds[] = 'rc_user_text = ' . $dbr->addQuotes( $user->getName() );
+                                                       }
+                                               },
+                                               'cssClassSuffix' => 'others',
+                                               'isRowApplicableCallable' => function ( $ctx, $rc ) {
+                                                       return !$ctx->getUser()->equals( $rc->getPerformer() );
+                                               },
+                                       ]
+                               ]
+                       ],
+
+                       [
+                               'name' => 'automated',
+                               'title' => 'rcfilters-filtergroup-automated',
+                               'class' => ChangesListBooleanFilterGroup::class,
+                               'filters' => [
+                                       [
+                                               'name' => 'hidebots',
+                                               'label' => 'rcfilters-filter-bots-label',
+                                               'description' => 'rcfilters-filter-bots-description',
+                                               // rcshowhidebots-show, rcshowhidebots-hide,
+                                               // wlshowhidebots
+                                               'showHideSuffix' => 'showhidebots',
+                                               'default' => false,
+                                               'queryCallable' => function ( $specialClassName, $ctx, $dbr, &$tables, &$fields, &$conds,
+                                                       &$query_options, &$join_conds ) {
+
+                                                       $conds[] = 'rc_bot = 0';
+                                               },
+                                               'cssClassSuffix' => 'bot',
+                                               'isRowApplicableCallable' => function ( $ctx, $rc ) {
+                                                       return $rc->getAttribute( 'rc_bot' );
+                                               },
+                                       ],
+                                       [
+                                               'name' => 'hidehumans',
+                                               'label' => 'rcfilters-filter-humans-label',
+                                               'description' => 'rcfilters-filter-humans-description',
+                                               'default' => false,
+                                               'queryCallable' => function ( $specialClassName, $ctx, $dbr, &$tables, &$fields, &$conds,
+                                                       &$query_options, &$join_conds ) {
+
+                                                       $conds[] = 'rc_bot = 1';
+                                               },
+                                               'cssClassSuffix' => 'human',
+                                               'isRowApplicableCallable' => function ( $ctx, $rc ) {
+                                                       return !$rc->getAttribute( 'rc_bot' );
+                                               },
+                                       ]
+                               ]
+                       ],
+
+                       [
+                               'name' => 'reviewStatus',
+                               'title' => 'rcfilters-filtergroup-reviewstatus',
+                               'class' => ChangesListBooleanFilterGroup::class,
+                               'filters' => [
+                                       [
+                                               'name' => 'hidepatrolled',
+                                               'label' => 'rcfilters-filter-patrolled-label',
+                                               'description' => 'rcfilters-filter-patrolled-description',
+                                               // rcshowhidepatr-show, rcshowhidepatr-hide
+                                               // wlshowhidepatr
+                                               'showHideSuffix' => 'showhidepatr',
+                                               'default' => false,
+                                               'isAllowedCallable' => function ( $pageClassName, $context ) {
+                                                       return $context->getUser()->useRCPatrol();
+                                               },
+                                               'queryCallable' => function ( $specialClassName, $ctx, $dbr, &$tables, &$fields, &$conds,
+                                                       &$query_options, &$join_conds ) {
+
+                                                       $conds[] = 'rc_patrolled = 0';
+                                               },
+                                               'cssClassSuffix' => 'patrolled',
+                                               'isRowApplicableCallable' => function ( $ctx, $rc ) {
+                                                       return $rc->getAttribute( 'rc_patrolled' );
+                                               },
+                                       ],
+                                       [
+                                               'name' => 'hideunpatrolled',
+                                               'label' => 'rcfilters-filter-unpatrolled-label',
+                                               'description' => 'rcfilters-filter-unpatrolled-description',
+                                               'default' => false,
+                                               'isAllowedCallable' => function ( $pageClassName, $context ) {
+                                                       return $context->getUser()->useRCPatrol();
+                                               },
+                                               'queryCallable' => function ( $specialClassName, $ctx, $dbr, &$tables, &$fields, &$conds,
+                                                       &$query_options, &$join_conds ) {
+
+                                                       $conds[] = 'rc_patrolled = 1';
+                                               },
+                                               'cssClassSuffix' => 'unpatrolled',
+                                               'isRowApplicableCallable' => function ( $ctx, $rc ) {
+                                                       return !$rc->getAttribute( 'rc_patrolled' );
+                                               },
+                                       ],
+                               ],
+                       ],
+
+                       [
+                               'name' => 'significance',
+                               'title' => 'rcfilters-filtergroup-significance',
+                               'class' => ChangesListBooleanFilterGroup::class,
+                               'filters' => [
+                                       [
+                                               'name' => 'hideminor',
+                                               'label' => 'rcfilters-filter-minor-label',
+                                               'description' => 'rcfilters-filter-minor-description',
+                                               // rcshowhideminor-show, rcshowhideminor-hide,
+                                               // wlshowhideminor
+                                               'showHideSuffix' => 'showhideminor',
+                                               'default' => false,
+                                               'queryCallable' => function ( $specialClassName, $ctx, $dbr, &$tables, &$fields, &$conds,
+                                                       &$query_options, &$join_conds ) {
+
+                                                       $conds[] = 'rc_minor = 0';
+                                               },
+                                               'cssClassSuffix' => 'minor',
+                                               'isRowApplicableCallable' => function ( $ctx, $rc ) {
+                                                       return $rc->getAttribute( 'rc_minor' );
+                                               }
+                                       ],
+                                       [
+                                               'name' => 'hidemajor',
+                                               'label' => 'rcfilters-filter-major-label',
+                                               'description' => 'rcfilters-filter-major-description',
+                                               'default' => false,
+                                               'queryCallable' => function ( $specialClassName, $ctx, $dbr, &$tables, &$fields, &$conds,
+                                                       &$query_options, &$join_conds ) {
+
+                                                       $conds[] = 'rc_minor = 1';
+                                               },
+                                               'cssClassSuffix' => 'major',
+                                               'isRowApplicableCallable' => function ( $ctx, $rc ) {
+                                                       return !$rc->getAttribute( 'rc_minor' );
+                                               }
+                                       ]
+                               ]
+                       ],
+
+                       // With extensions, there can be change types that will not be hidden by any of these.
+                       [
+                               'name' => 'changeType',
+                               'title' => 'rcfilters-filtergroup-changetype',
+                               'class' => ChangesListBooleanFilterGroup::class,
+                               'filters' => [
+                                       [
+                                               'name' => 'hidepageedits',
+                                               'label' => 'rcfilters-filter-pageedits-label',
+                                               'description' => 'rcfilters-filter-pageedits-description',
+                                               'default' => false,
+                                               'queryCallable' => function ( $specialClassName, $ctx, $dbr, &$tables, &$fields, &$conds,
+                                                       &$query_options, &$join_conds ) {
+
+                                                       $conds[] = 'rc_type != ' . $dbr->addQuotes( RC_EDIT );
+                                               },
+                                               'cssClassSuffix' => 'src-mw-edit',
+                                               'isRowApplicableCallable' => function ( $ctx, $rc ) {
+                                                       return $rc->getAttribute( 'rc_source' ) === RecentChange::SRC_EDIT;
+                                               },
+                                       ],
+                                       [
+                                               'name' => 'hidenewpages',
+                                               'label' => 'rcfilters-filter-newpages-label',
+                                               'description' => 'rcfilters-filter-newpages-description',
+                                               'default' => false,
+                                               'queryCallable' => function ( $specialClassName, $ctx, $dbr, &$tables, &$fields, &$conds,
+                                                       &$query_options, &$join_conds ) {
+
+                                                       $conds[] = 'rc_type != ' . $dbr->addQuotes( RC_NEW );
+                                               },
+                                               'cssClassSuffix' => 'src-mw-new',
+                                               'isRowApplicableCallable' => function ( $ctx, $rc ) {
+                                                       return $rc->getAttribute( 'rc_source' ) === RecentChange::SRC_NEW;
+                                               },
+                                       ],
+                                       [
+                                               'name' => 'hidecategorization',
+                                               'label' => 'rcfilters-filter-categorization-label',
+                                               'description' => 'rcfilters-filter-categorization-description',
+                                               // rcshowhidecategorization-show, rcshowhidecategorization-hide.
+                                               // wlshowhidecategorization
+                                               'showHideSuffix' => 'showhidecategorization',
+                                               'isAllowedCallable' => function ( $pageClassName, $context ) {
+                                                       return $context->getConfig()->get( 'RCWatchCategoryMembership' );
+                                               },
+                                               'default' => false,
+                                               'queryCallable' => function ( $specialClassName, $ctx, $dbr, &$tables, &$fields, &$conds,
+                                                       &$query_options, &$join_conds ) {
+
+                                                       $conds[] = 'rc_type != ' . $dbr->addQuotes( RC_CATEGORIZE );
+                                               },
+                                               'cssClassSuffix' => 'src-mw-categorize',
+                                               'isRowApplicableCallable' => function ( $ctx, $rc ) {
+                                                       return $rc->getAttribute( 'rc_source' ) === RecentChange::SRC_CATEGORIZE;
+                                               },
+                                       ],
+                                       [
+                                               'name' => 'hidelog',
+                                               'label' => 'rcfilters-filter-logactions-label',
+                                               'description' => 'rcfilters-filter-logactions-description',
+                                               'default' => false,
+                                               'queryCallable' => function ( $specialClassName, $ctx, $dbr, &$tables, &$fields, &$conds,
+                                                       &$query_options, &$join_conds ) {
+
+                                                       $conds[] = 'rc_type != ' . $dbr->addQuotes( RC_LOG );
+                                               },
+                                               'cssClassSuffix' => 'src-mw-log',
+                                               'isRowApplicableCallable' => function ( $ctx, $rc ) {
+                                                       return $rc->getAttribute( 'rc_source' ) === RecentChange::SRC_LOG;
+                                               }
+                                       ],
+                               ],
+                       ],
+               ];
+       }
+
        /**
         * Main execution point
         *
@@ -96,9 +474,15 @@ abstract class ChangesListSpecialPage extends SpecialPage {
         */
        public function getRows() {
                $opts = $this->getOptions();
-               $conds = $this->buildMainQueryConds( $opts );
 
-               return $this->doMainQuery( $conds, $opts );
+               $tables = [];
+               $fields = [];
+               $conds = [];
+               $query_options = [];
+               $join_conds = [];
+               $this->buildQuery( $tables, $fields, $conds, $query_options, $join_conds, $opts );
+
+               return $this->doMainQuery( $tables, $fields, $conds, $query_options, $join_conds, $opts );
        }
 
        /**
@@ -115,17 +499,126 @@ abstract class ChangesListSpecialPage extends SpecialPage {
        }
 
        /**
-        * Create a FormOptions object with options as specified by the user
+        * Register all filters and their groups, plus conflicts
+        *
+        * You might want to customize these in the same method, in subclasses.  You can
+        * call getFilterGroup to access a group, and (on the group) getFilter to access a
+        * filter, then make necessary modfications to the filter or group (e.g. with
+        * setDefault).
+        */
+       protected function registerFilters() {
+               $this->registerFiltersFromDefinitions( $this->filterGroupDefinitions );
+
+               Hooks::run( 'ChangesListSpecialPageStructuredFilters', [ $this ] );
+
+               $unstructuredGroupDefinition =
+                       $this->getFilterGroupDefinitionFromLegacyCustomFilters(
+                               $this->getCustomFilters()
+                       );
+               $this->registerFiltersFromDefinitions( [ $unstructuredGroupDefinition ] );
+
+               $userExperienceLevel = $this->getFilterGroup( 'userExpLevel' );
+
+               $registration = $this->getFilterGroup( 'registration' );
+               $anons = $registration->getFilter( 'hideanons' );
+
+               // This means there is a conflict between any item in user experience level
+               // being checked and only anons being *shown* (hideliu=1&hideanons=0 in the
+               // URL, or equivalent).
+               $userExperienceLevel->conflictsWith(
+                       $anons,
+                       'rcfilters-filtergroup-user-experience-level-conflicts-unregistered-global',
+                       'rcfilters-filtergroup-user-experience-level-conflicts-unregistered',
+                       'rcfilters-filter-unregistered-conflicts-user-experience-level'
+               );
+
+               $changeTypeGroup = $this->getFilterGroup( 'changeType' );
+               $categoryFilter = $changeTypeGroup->getFilter( 'hidecategorization' );
+               $logactionsFilter = $changeTypeGroup->getFilter( 'hidelog' );
+               $pagecreationFilter = $changeTypeGroup->getFilter( 'hidenewpages' );
+
+               $significanceTypeGroup = $this->getFilterGroup( 'significance' );
+               $hideMinorFilter = $significanceTypeGroup->getFilter( 'hideminor' );
+
+               $hideMinorFilter->conflictsWith(
+                       $categoryFilter,
+                       'rcfilters-hideminor-conflicts-typeofchange-global',
+                       'rcfilters-hideminor-conflicts-typeofchange',
+                       'rcfilters-typeofchange-conflicts-hideminor'
+               );
+               $hideMinorFilter->conflictsWith(
+                       $logactionsFilter,
+                       'rcfilters-hideminor-conflicts-typeofchange-global',
+                       'rcfilters-hideminor-conflicts-typeofchange',
+                       'rcfilters-typeofchange-conflicts-hideminor'
+               );
+               $hideMinorFilter->conflictsWith(
+                       $pagecreationFilter,
+                       'rcfilters-hideminor-conflicts-typeofchange-global',
+                       'rcfilters-hideminor-conflicts-typeofchange',
+                       'rcfilters-typeofchange-conflicts-hideminor'
+               );
+       }
+
+       /**
+        * Register filters from a definition object
+        *
+        * Array specifying groups and their filters; see Filter and
+        * ChangesListFilterGroup constructors.
+        *
+        * There is light processing to simplify core maintenance.  See overrides
+        * of this method as well.
+        */
+       protected function registerFiltersFromDefinitions( array $definition ) {
+               $priority = -1;
+               foreach ( $definition as $groupDefinition ) {
+                       $groupDefinition['priority'] = $priority;
+                       $priority--;
+
+                       $className = $groupDefinition['class'];
+                       unset( $groupDefinition['class'] );
+                       $this->registerFilterGroup( new $className( $groupDefinition ) );
+               }
+       }
+
+       /**
+        * Get filter group definition from legacy custom filters
+        *
+        * @param array Custom filters from legacy hooks
+        * @return array Group definition
+        */
+       protected function getFilterGroupDefinitionFromLegacyCustomFilters( $customFilters ) {
+               // Special internal unstructured group
+               $unstructuredGroupDefinition = [
+                       'name' => 'unstructured',
+                       'class' => ChangesListBooleanFilterGroup::class,
+                       'priority' => -1, // Won't display in structured
+                       'filters' => [],
+               ];
+
+               foreach ( $customFilters as $name => $params ) {
+                       $unstructuredGroupDefinition['filters'][] = [
+                               'name' => $name,
+                               'showHide' => $params['msg'],
+                               'default' => $params['default'],
+                       ];
+               }
+
+               return $unstructuredGroupDefinition;
+       }
+
+       /**
+        * Register all the filters, including legacy hook-driven ones.
+        * Then create a FormOptions object with options as specified by the user
         *
         * @param array $parameters
         *
         * @return FormOptions
         */
        public function setup( $parameters ) {
+               $this->registerFilters();
+
                $opts = $this->getDefaultOptions();
-               foreach ( $this->getCustomFilters() as $key => $params ) {
-                       $opts->add( $key, $params['default'] );
-               }
 
                $opts = $this->fetchOptionsFromRequest( $opts );
 
@@ -140,8 +633,11 @@ abstract class ChangesListSpecialPage extends SpecialPage {
        }
 
        /**
-        * Get a FormOptions object containing the default options. By default returns some basic options,
-        * you might want to not call parent method and discard them, or to override default values.
+        * Get a FormOptions object containing the default options. By default, returns
+        * some basic options.  The filters listed explicitly here are overriden in this
+        * method, in subclasses, but most filters (e.g. hideminor, userExpLevel filters,
+        * and more) are structured.  Structured filters are overriden in registerFilters.
+        * not here.
         *
         * @return FormOptions
         */
@@ -149,23 +645,18 @@ abstract class ChangesListSpecialPage extends SpecialPage {
                $config = $this->getConfig();
                $opts = new FormOptions();
 
-               $opts->add( 'hideminor', false );
-               $opts->add( 'hidemajor', false );
-               $opts->add( 'hidebots', false );
-               $opts->add( 'hidehumans', false );
-               $opts->add( 'hideanons', false );
-               $opts->add( 'hideliu', false );
-               $opts->add( 'hidepatrolled', false );
-               $opts->add( 'hideunpatrolled', false );
-               $opts->add( 'hidemyself', false );
-               $opts->add( 'hidebyothers', false );
-
-               if ( $config->get( 'RCWatchCategoryMembership' ) ) {
-                       $opts->add( 'hidecategorization', false );
+               // Add all filters
+               foreach ( $this->filterGroups as $filterGroup ) {
+                       // URL parameters can be per-group, like 'userExpLevel',
+                       // or per-filter, like 'hideminor'.
+                       if ( $filterGroup->isPerGroupRequestParameter() ) {
+                               $opts->add( $filterGroup->getName(), $filterGroup->getDefault() );
+                       } else {
+                               foreach ( $filterGroup->getFilters() as $filter ) {
+                                       $opts->add( $filter->getName(), $filter->getDefault() );
+                               }
+                       }
                }
-               $opts->add( 'hidepageedits', false );
-               $opts->add( 'hidenewpages', false );
-               $opts->add( 'hidelog', false );
 
                $opts->add( 'namespace', '', FormOptions::INTNULL );
                $opts->add( 'invert', false );
@@ -175,14 +666,88 @@ abstract class ChangesListSpecialPage extends SpecialPage {
        }
 
        /**
-        * Get custom show/hide filters
+        * Register a structured changes list filter group
+        *
+        * @param ChangesListFilterGroup $group
+        */
+       public function registerFilterGroup( ChangesListFilterGroup $group ) {
+               $groupName = $group->getName();
+
+               $this->filterGroups[$groupName] = $group;
+       }
+
+       /**
+        * Gets the currently registered filters groups
+        *
+        * @return array Associative array of ChangesListFilterGroup objects, with group name as key
+        */
+       protected function getFilterGroups() {
+               return $this->filterGroups;
+       }
+
+       /**
+        * Gets a specified ChangesListFilterGroup by name
+        *
+        * @param string $groupName Name of group
+        *
+        * @return ChangesListFilterGroup|null Group, or null if not registered
+        */
+       public function getFilterGroup( $groupName ) {
+               return isset( $this->filterGroups[$groupName] ) ?
+                       $this->filterGroups[$groupName] :
+                       null;
+       }
+
+       // Currently, this intentionally only includes filters that display
+       // in the structured UI.  This can be changed easily, though, if we want
+       // to include data on filters that use the unstructured UI.  messageKeys is a
+       // special top-level value, with the value being an array of the message keys to
+       // send to the client.
+       /**
+        * Gets structured filter information needed by JS
+        *
+        * @return array Associative array
+        * * array $return['groups'] Group data
+        * * array $return['messageKeys'] Array of message keys
+        */
+       public function getStructuredFilterJsData() {
+               $output = [
+                       'groups' => [],
+                       'messageKeys' => [],
+               ];
+
+               $context = $this->getContext();
+
+               usort( $this->filterGroups, function ( $a, $b ) {
+                       return $b->getPriority() - $a->getPriority();
+               } );
+
+               foreach ( $this->filterGroups as $groupName => $group ) {
+                       $groupOutput = $group->getJsData( $this );
+                       if ( $groupOutput !== null ) {
+                               $output['messageKeys'] = array_merge(
+                                       $output['messageKeys'],
+                                       $groupOutput['messageKeys']
+                               );
+
+                               unset( $groupOutput['messageKeys'] );
+                               $output['groups'][] = $groupOutput;
+                       }
+               }
+
+               return $output;
+       }
+
+       /**
+        * Get custom show/hide filters using deprecated ChangesListSpecialPageFilters
+        * hook.
         *
         * @return array Map of filter URL param names to properties (msg/default)
         */
        protected function getCustomFilters() {
                if ( $this->customFilters === null ) {
                        $this->customFilters = [];
-                       Hooks::run( 'ChangesListSpecialPageFilters', [ $this, &$this->customFilters ] );
+                       Hooks::run( 'ChangesListSpecialPageFilters', [ $this, &$this->customFilters ], '1.29' );
                }
 
                return $this->customFilters;
@@ -209,7 +774,37 @@ abstract class ChangesListSpecialPage extends SpecialPage {
         * @param FormOptions $opts
         */
        public function parseParameters( $par, FormOptions $opts ) {
-               // nothing by default
+               $stringParameterNameSet = [];
+               $hideParameterNameSet = [];
+
+               // URL parameters can be per-group, like 'userExpLevel',
+               // or per-filter, like 'hideminor'.
+
+               foreach ( $this->filterGroups as $filterGroup ) {
+                       if ( $filterGroup->isPerGroupRequestParameter() ) {
+                               $stringParameterNameSet[$filterGroup->getName()] = true;
+                       } elseif ( $filterGroup->getType() === ChangesListBooleanFilterGroup::TYPE ) {
+                               foreach ( $filterGroup->getFilters() as $filter ) {
+                                       $hideParameterNameSet[$filter->getName()] = true;
+                               }
+                       }
+               }
+
+               $bits = preg_split( '/\s*,\s*/', trim( $par ) );
+               foreach ( $bits as $bit ) {
+                       $m = [];
+                       if ( isset( $hideParameterNameSet[$bit] ) ) {
+                               // hidefoo => hidefoo=true
+                               $opts[$bit] = true;
+                       } elseif ( isset( $hideParameterNameSet["hide$bit"] ) ) {
+                               // foo => hidefoo=false
+                               $opts["hide$bit"] = false;
+                       } elseif ( preg_match( '/^(.*)=(.*)$/', $bit, $m ) ) {
+                               if ( isset( $stringParameterNameSet[$m[1]] ) ) {
+                                       $opts[$m[1]] = $m[2];
+                               }
+                       }
+               }
        }
 
        /**
@@ -222,90 +817,39 @@ abstract class ChangesListSpecialPage extends SpecialPage {
        }
 
        /**
-        * Return an array of conditions depending of options set in $opts
+        * Sets appropriate tables, fields, conditions, etc. depending on which filters
+        * the user requested.
         *
+        * @param array &$tables Array of tables; see IDatabase::select $table
+        * @param array &$fields Array of fields; see IDatabase::select $vars
+        * @param array &$conds Array of conditions; see IDatabase::select $conds
+        * @param array &$query_options Array of query options; see IDatabase::select $options
+        * @param array &$join_conds Array of join conditions; see IDatabase::select $join_conds
         * @param FormOptions $opts
-        * @return array
         */
-       public function buildMainQueryConds( FormOptions $opts ) {
+       protected function buildQuery( &$tables, &$fields, &$conds, &$query_options,
+               &$join_conds, FormOptions $opts ) {
+
                $dbr = $this->getDB();
                $user = $this->getUser();
-               $conds = [];
-
-               // It makes no sense to hide both anons and logged-in users. When this occurs, try a guess on
-               // what the user meant and either show only bots or force anons to be shown.
-               $botsonly = false;
-               $hideanons = $opts['hideanons'];
-               if ( $opts['hideanons'] && $opts['hideliu'] ) {
-                       if ( $opts['hidebots'] ) {
-                               $hideanons = false;
-                       } else {
-                               $botsonly = true;
-                       }
-               }
-
-               // Toggles
-               if ( $opts['hideminor'] ) {
-                       $conds[] = 'rc_minor = 0';
-               }
-               if ( $opts['hidemajor'] ) {
-                       $conds[] = 'rc_minor = 1';
-               }
-               if ( $opts['hidebots'] ) {
-                       $conds['rc_bot'] = 0;
-               }
-               if ( $opts['hidehumans'] ) {
-                       $conds[] = 'rc_bot = 1';
-               }
-               if ( $user->useRCPatrol() ) {
-                       if ( $opts['hidepatrolled'] ) {
-                               $conds[] = 'rc_patrolled = 0';
-                       }
-                       if ( $opts['hideunpatrolled'] ) {
-                               $conds[] = 'rc_patrolled = 1';
-                       }
-               }
-               if ( $botsonly ) {
-                       $conds['rc_bot'] = 1;
-               } else {
-                       if ( $opts['hideliu'] ) {
-                               $conds[] = 'rc_user = 0';
-                       }
-                       if ( $hideanons ) {
-                               $conds[] = 'rc_user != 0';
-                       }
-               }
 
-               if ( $opts['hidemyself'] ) {
-                       if ( $user->getId() ) {
-                               $conds[] = 'rc_user != ' . $dbr->addQuotes( $user->getId() );
-                       } else {
-                               $conds[] = 'rc_user_text != ' . $dbr->addQuotes( $user->getName() );
-                       }
-               }
-               if ( $opts['hidebyothers'] ) {
-                       if ( $user->getId() ) {
-                               $conds[] = 'rc_user = ' . $dbr->addQuotes( $user->getId() );
+               $context = $this->getContext();
+               foreach ( $this->filterGroups as $filterGroup ) {
+                       // URL parameters can be per-group, like 'userExpLevel',
+                       // or per-filter, like 'hideminor'.
+                       if ( $filterGroup->isPerGroupRequestParameter() ) {
+                               $filterGroup->modifyQuery( $dbr, $this, $tables, $fields, $conds,
+                                       $query_options, $join_conds, $opts[$filterGroup->getName()] );
                        } else {
-                               $conds[] = 'rc_user_text = ' . $dbr->addQuotes( $user->getName() );
+                               foreach ( $filterGroup->getFilters() as $filter ) {
+                                       if ( $opts[$filter->getName()] && $filter->isAllowed( $this ) ) {
+                                               $filter->modifyQuery( $dbr, $this, $tables, $fields, $conds,
+                                                       $query_options, $join_conds );
+                                       }
+                               }
                        }
                }
 
-               if ( $this->getConfig()->get( 'RCWatchCategoryMembership' )
-                       && $opts['hidecategorization'] === true
-               ) {
-                       $conds[] = 'rc_type != ' . $dbr->addQuotes( RC_CATEGORIZE );
-               }
-               if ( $opts['hidepageedits'] ) {
-                       $conds[] = 'rc_type != ' . $dbr->addQuotes( RC_EDIT );
-               }
-               if ( $opts['hidenewpages'] ) {
-                       $conds[] = 'rc_type != ' . $dbr->addQuotes( RC_NEW );
-               }
-               if ( $opts['hidelog'] ) {
-                       $conds[] = 'rc_type != ' . $dbr->addQuotes( RC_LOG );
-               }
-
                // Namespace filtering
                if ( $opts['namespace'] !== '' ) {
                        $selectedNS = $dbr->addQuotes( $opts['namespace'] );
@@ -327,22 +871,24 @@ abstract class ChangesListSpecialPage extends SpecialPage {
 
                        $conds[] = $condition;
                }
-
-               return $conds;
        }
 
        /**
         * Process the query
         *
-        * @param array $conds
+        * @param array $tables Array of tables; see IDatabase::select $table
+        * @param array $fields Array of fields; see IDatabase::select $vars
+        * @param array $conds Array of conditions; see IDatabase::select $conds
+        * @param array $query_options Array of query options; see IDatabase::select $options
+        * @param array $join_conds Array of join conditions; see IDatabase::select $join_conds
         * @param FormOptions $opts
         * @return bool|ResultWrapper Result or false
         */
-       public function doMainQuery( $conds, $opts ) {
-               $tables = [ 'recentchanges' ];
-               $fields = RecentChange::selectFields();
-               $query_options = [];
-               $join_conds = [];
+       protected function doMainQuery( $tables, $fields, $conds,
+               $query_options, $join_conds, FormOptions $opts ) {
+
+               $tables[] = 'recentchanges';
+               $fields = array_merge( RecentChange::selectFields(), $fields );
 
                ChangeTags::modifyDisplayQuery(
                        $tables,
@@ -353,6 +899,15 @@ abstract class ChangesListSpecialPage extends SpecialPage {
                        ''
                );
 
+               // It makes no sense to hide both anons and logged-in users. When this occurs, try a guess on
+               // what the user meant and either show only bots or force anons to be shown.
+
+               // -------
+
+               // XXX: We're no longer doing this handling.  To preserve back-compat, we need to complete
+               // T151873 (particularly the hideanons/hideliu/hidebots/hidehumans part) in conjunction
+               // with merging this.
+
                if ( !$this->runMainQueryHook( $tables, $fields, $conds, $query_options, $join_conds,
                        $opts )
                ) {
@@ -456,7 +1011,8 @@ abstract class ChangesListSpecialPage extends SpecialPage {
        /**
         * Get options to be displayed in a form
         * @todo This should handle options returned by getDefaultOptions().
-        * @todo Not called by anything, should be called by something… doHeader() maybe?
+        * @todo Not called by anything in this class (but is in subclasses), should be
+        * called by something… doHeader() maybe?
         *
         * @param FormOptions $opts
         * @return array
@@ -533,21 +1089,78 @@ abstract class ChangesListSpecialPage extends SpecialPage {
        }
 
        /**
-        * Get filters that can be rendered.
-        *
-        * Filters with 'msg' => false can be used to filter data but won't
-        * be presented as show/hide toggles in the UI. They are not returned
-        * by this function.
+        * Filter on users' experience levels; this will not be called if nothing is
+        * selected.
         *
-        * @param array $allFilters Map of filter URL param names to properties (msg/default)
-        * @return array Map of filter URL param names to properties (msg/default)
+        * @param string $specialPageClassName Class name of current special page
+        * @param IContextSource $context Context, for e.g. user
+        * @param IDatabase $dbr Database, for addQuotes, makeList, and similar
+        * @param array &$tables Array of tables; see IDatabase::select $table
+        * @param array &$fields Array of fields; see IDatabase::select $vars
+        * @param array &$conds Array of conditions; see IDatabase::select $conds
+        * @param array &$query_options Array of query options; see IDatabase::select $options
+        * @param array &$join_conds Array of join conditions; see IDatabase::select $join_conds
+        * @param array $selectedExpLevels The allowed active values, sorted
         */
-       protected function getRenderableCustomFilters( $allFilters ) {
-               return array_filter(
-                       $allFilters,
-                       function( $filter ) {
-                               return isset( $filter['msg'] ) && ( $filter['msg'] !== false );
-                       }
+       public function filterOnUserExperienceLevel( $specialPageClassName, $context, $dbr,
+               &$tables, &$fields, &$conds, &$query_options, &$join_conds, $selectedExpLevels ) {
+
+               global $wgLearnerEdits,
+                          $wgExperiencedUserEdits,
+                          $wgLearnerMemberSince,
+                          $wgExperiencedUserMemberSince;
+
+               $LEVEL_COUNT = 3;
+
+               // If all levels are selected, all logged-in users are included (but no
+               // anons), so we can short-circuit.
+               if ( count( $selectedExpLevels ) === $LEVEL_COUNT ) {
+                       $conds[] = 'rc_user != 0';
+                       return;
+               }
+
+               $tables[] = 'user';
+               $join_conds['user'] = [ 'LEFT JOIN', 'rc_user = user_id' ];
+
+               $now = time();
+               $secondsPerDay = 86400;
+               $learnerCutoff = $now - $wgLearnerMemberSince * $secondsPerDay;
+               $experiencedUserCutoff = $now - $wgExperiencedUserMemberSince * $secondsPerDay;
+
+               $aboveNewcomer = $dbr->makeList(
+                       [
+                               'user_editcount >= ' . intval( $wgLearnerEdits ),
+                               'user_registration <= ' . $dbr->timestamp( $learnerCutoff ),
+                       ],
+                       IDatabase::LIST_AND
                );
+
+               $aboveLearner = $dbr->makeList(
+                       [
+                               'user_editcount >= ' . intval( $wgExperiencedUserEdits ),
+                               'user_registration <= ' . $dbr->timestamp( $experiencedUserCutoff ),
+                       ],
+                       IDatabase::LIST_AND
+               );
+
+               if ( $selectedExpLevels === [ 'newcomer' ] ) {
+                       $conds[] =  "NOT ( $aboveNewcomer )";
+               } elseif ( $selectedExpLevels === [ 'learner' ] ) {
+                       $conds[] = $dbr->makeList(
+                               [ $aboveNewcomer, "NOT ( $aboveLearner )" ],
+                               IDatabase::LIST_AND
+                       );
+               } elseif ( $selectedExpLevels === [ 'experienced' ] ) {
+                       $conds[] = $aboveLearner;
+               } elseif ( $selectedExpLevels === [ 'learner', 'newcomer' ] ) {
+                       $conds[] = "NOT ( $aboveLearner )";
+               } elseif ( $selectedExpLevels === [ 'experienced', 'newcomer' ] ) {
+                       $conds[] = $dbr->makeList(
+                               [ "NOT ( $aboveNewcomer )", $aboveLearner ],
+                               IDatabase::LIST_OR
+                       );
+               } elseif ( $selectedExpLevels === [ 'experienced', 'learner' ] ) {
+                       $conds[] = $aboveNewcomer;
+               }
        }
 }
index 65e82e8..7bc2dfa 100644 (file)
@@ -407,7 +407,7 @@ abstract class QueryPage extends SpecialPage {
                        $options = isset( $query['options'] ) ? (array)$query['options'] : [];
                        $join_conds = isset( $query['join_conds'] ) ? (array)$query['join_conds'] : [];
 
-                       if ( count( $order ) ) {
+                       if ( $order ) {
                                $options['ORDER BY'] = $order;
                        }
 
@@ -457,26 +457,46 @@ abstract class QueryPage extends SpecialPage {
        public function fetchFromCache( $limit, $offset = false ) {
                $dbr = wfGetDB( DB_REPLICA );
                $options = [];
+
                if ( $limit !== false ) {
                        $options['LIMIT'] = intval( $limit );
                }
+
                if ( $offset !== false ) {
                        $options['OFFSET'] = intval( $offset );
                }
+
+               $order = $this->getCacheOrderFields();
                if ( $this->sortDescending() ) {
-                       $options['ORDER BY'] = 'qc_value DESC';
-               } else {
-                       $options['ORDER BY'] = 'qc_value ASC';
+                       foreach ( $order as &$field ) {
+                               $field .= " DESC";
+                       }
+               }
+               if ( $order ) {
+                       $options['ORDER BY'] = $order;
                }
-               return $dbr->select( 'querycache', [ 'qc_type',
+
+               return $dbr->select( 'querycache',
+                               [ 'qc_type',
                                'namespace' => 'qc_namespace',
                                'title' => 'qc_title',
                                'value' => 'qc_value' ],
                                [ 'qc_type' => $this->getName() ],
-                               __METHOD__, $options
+                               __METHOD__,
+                               $options
                );
        }
 
+       /**
+        * Return the order fields for fetchFromCache. Default is to always use
+        * "ORDER BY value" which was the default prior to this function.
+        * @return array
+        * @since 1.29
+        */
+       function getCacheOrderFields() {
+               return [ 'value' ];
+       }
+
        public function getCachedTimestamp() {
                if ( is_null( $this->cachedTimestamp ) ) {
                        $dbr = wfGetDB( DB_REPLICA );
index 9d92cbd..e7bc496 100644 (file)
@@ -119,4 +119,37 @@ abstract class WantedQueryPage extends QueryPage {
                $label = $this->msg( 'nlinks' )->numParams( $result->value )->escaped();
                return Linker::link( $wlh, $label );
        }
+
+       /**
+        * Order by title for pages with the same number of links to them
+        *
+        * @return array
+        * @since 1.29
+        */
+       function getOrderFields() {
+               return [ 'value DESC', 'namespace', 'title' ];
+       }
+
+       /**
+        * Do not order descending for all order fields.  We will use DESC only on one field, see
+        * getOrderFields above. This overwrites sortDescending from QueryPage::getOrderFields().
+        * Do NOT change this to true unless you remove the phrase DESC in getOrderFiels above.
+        * If you do a database error will be thrown due to double adding DESC to query!
+        *
+        * @return bool
+        * @since 1.29
+        */
+       function sortDescending() {
+               return false;
+       }
+
+       /**
+        * Also use the order fields returned by getOrderFields when fetching from the cache.
+        * @return array
+        * @since 1.29
+        */
+       function getCacheOrderFields() {
+               return $this->getOrderFields();
+       }
+
 }
index 49ca9f4..4056709 100644 (file)
@@ -67,8 +67,6 @@ class SpecialAllMessages extends SpecialPage {
                        wfGetLangObj( $request->getVal( 'lang', $par ) )
                );
 
-               $this->langcode = $this->table->lang->getCode();
-
                $out->addHTML( $this->table->buildForm() );
                $out->addParserOutputContent( $this->table->getFullOutput() );
        }
index 4b8446a..17f6cca 100644 (file)
@@ -69,7 +69,11 @@ class SpecialAllPages extends IncludableSpecialPage {
                $from = $request->getVal( 'from', null );
                $to = $request->getVal( 'to', null );
                $namespace = $request->getInt( 'namespace' );
-               $hideredirects = $request->getBool( 'hideredirects', false );
+
+               $miserMode = (bool)$this->getConfig()->get( 'MiserMode' );
+
+               // Redirects filter is disabled in MiserMode
+               $hideredirects = $request->getBool( 'hideredirects', false ) && !$miserMode;
 
                $namespaces = $this->getLanguage()->getNamespaces();
 
@@ -100,6 +104,7 @@ class SpecialAllPages extends IncludableSpecialPage {
        protected function outputHTMLForm( $namespace = NS_MAIN,
                $from = '', $to = '', $hideRedirects = false
        ) {
+               $miserMode = (bool)$this->getConfig()->get( 'MiserMode' );
                $fields = [
                        'from' => [
                                'type' => 'text',
@@ -133,6 +138,11 @@ class SpecialAllPages extends IncludableSpecialPage {
                                'value' => $hideRedirects,
                        ],
                ];
+
+               if ( $miserMode ) {
+                       unset( $fields['hideredirects'] );
+               }
+
                $form = HTMLForm::factory( 'table', $fields, $this->getContext() );
                $form->setMethod( 'get' )
                        ->setWrapperLegendMsg( 'allpages' )
index b81ca3d..47f8d2f 100644 (file)
@@ -126,7 +126,27 @@ class SpecialChangeCredentials extends AuthManagerSpecialPage {
                if ( !static::$loadUserData ) {
                        return [];
                } else {
-                       return parent::getAuthFormDescriptor( $requests, $action );
+                       $descriptor = parent::getAuthFormDescriptor( $requests, $action );
+
+                       $any = false;
+                       foreach ( $descriptor as &$field ) {
+                               if ( $field['type'] === 'password' && $field['name'] !== 'retype' ) {
+                                       $any = true;
+                                       if ( isset( $field['cssclass'] ) ) {
+                                               $field['cssclass'] .= ' mw-changecredentials-validate-password';
+                                       } else {
+                                               $field['cssclass'] = 'mw-changecredentials-validate-password';
+                                       }
+                               }
+                       }
+
+                       if ( $any ) {
+                               $this->getOutput()->addModules( [
+                                       'mediawiki.special.changecredentials.js'
+                               ] );
+                       }
+
+                       return $descriptor;
                }
        }
 
index 085b68d..a69406c 100644 (file)
@@ -231,14 +231,15 @@ class SpecialEmailUser extends UnlistedSpecialPage {
                        return 'usermaildisabled';
                }
 
-               if ( !$user->isAllowed( 'sendemail' ) ) {
-                       return 'badaccess';
-               }
-
+               // Run this before $user->isAllowed, to show appropriate message to anons (T160309)
                if ( !$user->isEmailConfirmed() ) {
                        return 'mailnologin';
                }
 
+               if ( !$user->isAllowed( 'sendemail' ) ) {
+                       return 'badaccess';
+               }
+
                if ( $user->isBlockedFromEmailuser() ) {
                        wfDebug( "User is blocked from sending e-mail.\n" );
 
index eb29907..205f7cf 100644 (file)
@@ -23,6 +23,7 @@
 
 use MediaWiki\MediaWikiServices;
 use Wikimedia\Rdbms\ResultWrapper;
+use Wikimedia\Rdbms\FakeResultWrapper;
 
 /**
  * A special page that lists last changes made to the wiki
@@ -53,7 +54,8 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
                }
 
                // 10 seconds server-side caching max
-               $this->getOutput()->setCdnMaxage( 10 );
+               $out = $this->getOutput();
+               $out->setCdnMaxage( 10 );
                // Check if the client has a cached version
                $lastmod = $this->checkLastModified();
                if ( $lastmod === false ) {
@@ -65,6 +67,65 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
                        true
                );
                parent::execute( $subpage );
+
+               if ( $this->isStructuredFilterUiEnabled() ) {
+                       $jsData = $this->getStructuredFilterJsData();
+
+                       $messages = [];
+                       foreach ( $jsData['messageKeys'] as $key ){
+                               $messages[$key] = $this->msg( $key )->plain();
+                       }
+
+                       $out->addHTML(
+                               ResourceLoader::makeInlineScript(
+                                       Xml::encodeJsCall( 'mw.messages.set', [
+                                               $messages
+                                       ] )
+                               )
+                       );
+
+                       $out->addJsConfigVars( 'wgStructuredChangeFilters', $jsData['groups'] );
+               }
+       }
+
+       /**
+        * @inheritdoc
+        */
+       protected function registerFiltersFromDefinitions( array $definition ) {
+               foreach ( $definition as $groupName => &$groupDefinition ) {
+                       foreach ( $groupDefinition['filters'] as &$filterDefinition ) {
+                               if ( isset( $filterDefinition['showHideSuffix'] ) ) {
+                                       $filterDefinition['showHide'] = 'rc' . $filterDefinition['showHideSuffix'];
+                               }
+                       }
+               }
+
+               parent::registerFiltersFromDefinitions( $definition );
+       }
+
+       /**
+        * @inheritdoc
+        */
+       protected function registerFilters() {
+               parent::registerFilters();
+
+               $user = $this->getUser();
+
+               $significance = $this->getFilterGroup( 'significance' );
+               $hideMinor = $significance->getFilter( 'hideminor' );
+               $hideMinor->setDefault( $user->getBoolOption( 'hideminor' ) );
+
+               $automated = $this->getFilterGroup( 'automated' );
+               $hideBots = $automated->getFilter( 'hidebots' );
+               $hideBots->setDefault( true );
+
+               $reviewStatus = $this->getFilterGroup( 'reviewStatus' );
+               $hidePatrolled = $reviewStatus->getFilter( 'hidepatrolled' );
+               $hidePatrolled->setDefault( $user->getBoolOption( 'hidepatrolled' ) );
+
+               $changeType = $this->getFilterGroup( 'changeType' );
+               $hideCategorization = $changeType->getFilter( 'hidecategorization' );
+               $hideCategorization->setDefault( $user->getBoolOption( 'hidecategorization' ) );
        }
 
        /**
@@ -80,20 +141,10 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
                $opts->add( 'limit', $user->getIntOption( 'rclimit' ) );
                $opts->add( 'from', '' );
 
-               $opts->add( 'hideminor', $user->getBoolOption( 'hideminor' ) );
-               $opts->add( 'hidebots', true );
-               $opts->add( 'hideanons', false );
-               $opts->add( 'hideliu', false );
-               $opts->add( 'hidepatrolled', $user->getBoolOption( 'hidepatrolled' ) );
-               $opts->add( 'hidemyself', false );
-               $opts->add( 'hidecategorization', $user->getBoolOption( 'hidecategorization' ) );
-
                $opts->add( 'categories', '' );
                $opts->add( 'categories_any', false );
                $opts->add( 'tagfilter', '' );
 
-               $opts->add( 'userExpLevel', 'all' );
-
                return $opts;
        }
 
@@ -118,36 +169,10 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
         * @param FormOptions $opts
         */
        public function parseParameters( $par, FormOptions $opts ) {
+               parent::parseParameters( $par, $opts );
+
                $bits = preg_split( '/\s*,\s*/', trim( $par ) );
                foreach ( $bits as $bit ) {
-                       if ( 'hidebots' === $bit ) {
-                               $opts['hidebots'] = true;
-                       }
-                       if ( 'bots' === $bit ) {
-                               $opts['hidebots'] = false;
-                       }
-                       if ( 'hideminor' === $bit ) {
-                               $opts['hideminor'] = true;
-                       }
-                       if ( 'minor' === $bit ) {
-                               $opts['hideminor'] = false;
-                       }
-                       if ( 'hideliu' === $bit ) {
-                               $opts['hideliu'] = true;
-                       }
-                       if ( 'hidepatrolled' === $bit ) {
-                               $opts['hidepatrolled'] = true;
-                       }
-                       if ( 'hideanons' === $bit ) {
-                               $opts['hideanons'] = true;
-                       }
-                       if ( 'hidemyself' === $bit ) {
-                               $opts['hidemyself'] = true;
-                       }
-                       if ( 'hidecategorization' === $bit ) {
-                               $opts['hidecategorization'] = true;
-                       }
-
                        if ( is_numeric( $bit ) ) {
                                $opts['limit'] = $bit;
                        }
@@ -174,14 +199,14 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
        }
 
        /**
-        * Return an array of conditions depending of options set in $opts
-        *
-        * @param FormOptions $opts
-        * @return array
+        * @inheritdoc
         */
-       public function buildMainQueryConds( FormOptions $opts ) {
+       protected function buildQuery( &$tables, &$fields, &$conds,
+               &$query_options, &$join_conds, FormOptions $opts ) {
+
                $dbr = $this->getDB();
-               $conds = parent::buildMainQueryConds( $opts );
+               parent::buildQuery( $tables, $fields, $conds,
+                       $query_options, $join_conds, $opts );
 
                // Calculate cutoff
                $cutoff_unixtime = time() - ( $opts['days'] * 86400 );
@@ -196,25 +221,19 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
                }
 
                $conds[] = 'rc_timestamp >= ' . $dbr->addQuotes( $cutoff );
-
-               return $conds;
        }
 
        /**
-        * Process the query
-        *
-        * @param array $conds
-        * @param FormOptions $opts
-        * @return bool|ResultWrapper Result or false (for Recentchangeslinked only)
+        * @inheritdoc
         */
-       public function doMainQuery( $conds, $opts ) {
+       protected function doMainQuery( $tables, $fields, $conds, $query_options,
+               $join_conds, FormOptions $opts ) {
+
                $dbr = $this->getDB();
                $user = $this->getUser();
 
-               $tables = [ 'recentchanges' ];
-               $fields = RecentChange::selectFields();
-               $query_options = [];
-               $join_conds = [];
+               $tables[] = 'recentchanges';
+               $fields = array_merge( RecentChange::selectFields(), $fields );
 
                // JOIN on watchlist for users
                if ( $user->getId() && $user->isAllowed( 'viewmywatchlist' ) ) {
@@ -243,8 +262,6 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
                        $opts['tagfilter']
                );
 
-               $this->filterOnUserExperienceLevel( $tables, $conds, $join_conds, $opts );
-
                if ( !$this->runMainQueryHook( $tables, $fields, $conds, $query_options, $join_conds,
                        $opts )
                ) {
@@ -331,7 +348,7 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
                $dbr = $this->getDB();
 
                $counter = 1;
-               $list = ChangesList::newFromContext( $this->getContext() );
+               $list = ChangesList::newFromContext( $this->getContext(), $this->filterGroups );
                $list->initChangesListRows( $rows );
 
                $userShowHiddenCats = $this->getUser()->getBoolOption( 'showhiddencats' );
@@ -537,6 +554,17 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
                return $extraOpts;
        }
 
+       /**
+        * Check whether the structured filter UI is enabled
+        *
+        * @return bool
+        */
+       protected function isStructuredFilterUiEnabled() {
+               return $this->getUser()->getOption(
+                       'rcenhancedfilters'
+               );
+       }
+
        /**
         * Add page-specific modules.
         */
@@ -544,7 +572,7 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
                parent::addModules();
                $out = $this->getOutput();
                $out->addModules( 'mediawiki.special.recentchanges' );
-               if ( $this->getUser()->getOption( 'rcenhancedfilters' ) ) {
+               if ( $this->isStructuredFilterUiEnabled() ) {
                        $out->addModules( 'mediawiki.rcfilters.filters.ui' );
                        $out->addModuleStyles( 'mediawiki.rcfilters.filters.base.styles' );
                }
@@ -667,7 +695,7 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
                                $newrows[$k] = $rowsarr[$k];
                        }
                }
-               $rows = $newrows;
+               $rows = new FakeResultWrapper( array_values( $newrows ) );
        }
 
        /**
@@ -760,49 +788,45 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
                }
                $dl = $lang->pipeList( $dl );
 
-               // show/hide links
-               $filters = [
-                       'hideminor' => 'rcshowhideminor',
-                       'hidebots' => 'rcshowhidebots',
-                       'hideanons' => 'rcshowhideanons',
-                       'hideliu' => 'rcshowhideliu',
-                       'hidepatrolled' => 'rcshowhidepatr',
-                       'hidemyself' => 'rcshowhidemine'
-               ];
-
-               if ( $config->get( 'RCWatchCategoryMembership' ) ) {
-                       $filters['hidecategorization'] = 'rcshowhidecategorization';
-               }
-
                $showhide = [ 'show', 'hide' ];
 
-               foreach ( $this->getRenderableCustomFilters( $this->getCustomFilters() ) as $key => $params ) {
-                       $filters[$key] = $params['msg'];
-               }
-
-               // Disable some if needed
-               if ( !$user->useRCPatrol() ) {
-                       unset( $filters['hidepatrolled'] );
-               }
-
                $links = [];
-               foreach ( $filters as $key => $msg ) {
-                       // The following messages are used here:
-                       // rcshowhideminor-show, rcshowhideminor-hide, rcshowhidebots-show, rcshowhidebots-hide,
-                       // rcshowhideanons-show, rcshowhideanons-hide, rcshowhideliu-show, rcshowhideliu-hide,
-                       // rcshowhidepatr-show, rcshowhidepatr-hide, rcshowhidemine-show, rcshowhidemine-hide,
-                       // rcshowhidecategorization-show, rcshowhidecategorization-hide.
-                       $linkMessage = $this->msg( $msg . '-' . $showhide[1 - $options[$key]] );
-                       // Extensions can define additional filters, but don't need to define the corresponding
-                       // messages. If they don't exist, just fall back to 'show' and 'hide'.
-                       if ( !$linkMessage->exists() ) {
-                               $linkMessage = $this->msg( $showhide[1 - $options[$key]] );
-                       }
 
-                       $link = $this->makeOptionsLink( $linkMessage->text(),
-                               [ $key => 1 - $options[$key] ], $nondefaults );
-                       $links[] = "<span class=\"$msg rcshowhideoption\">"
-                               . $this->msg( $msg )->rawParams( $link )->escaped() . '</span>';
+               $filterGroups = $this->getFilterGroups();
+
+               $context = $this->getContext();
+               foreach ( $filterGroups as $groupName => $group ) {
+                       if ( !$group->isPerGroupRequestParameter() ) {
+                               foreach ( $group->getFilters() as $key => $filter ) {
+                                       if ( $filter->displaysOnUnstructuredUi( $this ) ) {
+                                               $msg = $filter->getShowHide();
+                                               $linkMessage = $this->msg( $msg . '-' . $showhide[1 - $options[$key]] );
+                                               // Extensions can define additional filters, but don't need to define the corresponding
+                                               // messages. If they don't exist, just fall back to 'show' and 'hide'.
+                                               if ( !$linkMessage->exists() ) {
+                                                       $linkMessage = $this->msg( $showhide[1 - $options[$key]] );
+                                               }
+
+                                               $link = $this->makeOptionsLink( $linkMessage->text(),
+                                                       [ $key => 1 - $options[$key] ], $nondefaults );
+
+                                               $attribs = [
+                                                       'class' => "$msg rcshowhideoption",
+                                                       'data-filter-name' => $filter->getName(),
+                                               ];
+
+                                               if ( $filter->isFeatureAvailableOnStructuredUi( $this ) ) {
+                                                       $attribs['data-feature-in-structured-ui'] = true;
+                                               }
+
+                                               $links[] = Html::rawElement(
+                                                       'span',
+                                                       $attribs,
+                                                       $this->msg( $msg )->rawParams( $link )->escaped()
+                                               );
+                                       }
+                               }
+                       }
                }
 
                // show from this onward link
@@ -831,66 +855,4 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
        protected function getCacheTTL() {
                return 60 * 5;
        }
-
-       function filterOnUserExperienceLevel( &$tables, &$conds, &$join_conds, $opts ) {
-               global $wgLearnerEdits,
-                       $wgExperiencedUserEdits,
-                       $wgLearnerMemberSince,
-                       $wgExperiencedUserMemberSince;
-
-               $selectedExpLevels = explode( ',', strtolower( $opts['userExpLevel'] ) );
-               // remove values that are not recognized
-               $selectedExpLevels = array_intersect(
-                       $selectedExpLevels,
-                       [ 'newcomer', 'learner', 'experienced' ]
-               );
-               sort( $selectedExpLevels );
-
-               if ( $selectedExpLevels ) {
-                       $tables[] = 'user';
-                       $join_conds['user'] = [ 'LEFT JOIN', 'rc_user = user_id' ];
-
-                       $now = time();
-                       $secondsPerDay = 86400;
-                       $learnerCutoff = $now - $wgLearnerMemberSince * $secondsPerDay;
-                       $experiencedUserCutoff = $now - $wgExperiencedUserMemberSince * $secondsPerDay;
-
-                       $aboveNewcomer = $this->getDB()->makeList(
-                               [
-                                       'user_editcount >= ' . intval( $wgLearnerEdits ),
-                                       'user_registration <= ' . $this->getDB()->timestamp( $learnerCutoff ),
-                               ],
-                               IDatabase::LIST_AND
-                       );
-
-                       $aboveLearner = $this->getDB()->makeList(
-                               [
-                                       'user_editcount >= ' . intval( $wgExperiencedUserEdits ),
-                                       'user_registration <= ' . $this->getDB()->timestamp( $experiencedUserCutoff ),
-                               ],
-                               IDatabase::LIST_AND
-                       );
-
-                       if ( $selectedExpLevels === [ 'newcomer' ] ) {
-                               $conds[] =  "NOT ( $aboveNewcomer )";
-                       } elseif ( $selectedExpLevels === [ 'learner' ] ) {
-                               $conds[] = $this->getDB()->makeList(
-                                       [ $aboveNewcomer, "NOT ( $aboveLearner )" ],
-                                       IDatabase::LIST_AND
-                               );
-                       } elseif ( $selectedExpLevels === [ 'experienced' ] ) {
-                               $conds[] = $aboveLearner;
-                       } elseif ( $selectedExpLevels === [ 'learner', 'newcomer' ] ) {
-                               $conds[] = "NOT ( $aboveLearner )";
-                       } elseif ( $selectedExpLevels === [ 'experienced', 'newcomer' ] ) {
-                               $conds[] = $this->getDB()->makeList(
-                                       [ "NOT ( $aboveNewcomer )", $aboveLearner ],
-                                       IDatabase::LIST_OR
-                               );
-                       } elseif ( $selectedExpLevels === [ 'experienced', 'learner' ] ) {
-                               $conds[] = $aboveNewcomer;
-                       }
-               }
-       }
-
 }
index aab0f6d..873285b 100644 (file)
@@ -46,7 +46,12 @@ class SpecialRecentChangesLinked extends SpecialRecentChanges {
                $opts['target'] = $par;
        }
 
-       public function doMainQuery( $conds, $opts ) {
+       /**
+        * @inheritdoc
+        */
+       protected function doMainQuery( $tables, $select, $conds, $query_options,
+               $join_conds, FormOptions $opts ) {
+
                $target = $opts['target'];
                $showlinkedto = $opts['showlinkedto'];
                $limit = $opts['limit'];
@@ -79,10 +84,8 @@ class SpecialRecentChangesLinked extends SpecialRecentChanges {
                $ns = $title->getNamespace();
                $dbkey = $title->getDBkey();
 
-               $tables = [ 'recentchanges' ];
-               $select = RecentChange::selectFields();
-               $join_conds = [];
-               $query_options = [];
+               $tables[] = 'recentchanges';
+               $select = array_merge( RecentChange::selectFields(), $select );
 
                // left join with watchlist table to highlight watched rows
                $uid = $this->getUser()->getId();
index b7356e7..9cc0048 100644 (file)
@@ -146,6 +146,12 @@ class SpecialSearch extends SpecialPage {
                                $out->redirect( $url );
                                return;
                        }
+                       // No match. If it could plausibly be a title
+                       // run the No go match hook.
+                       $title = Title::newFromText( $term );
+                       if ( !is_null( $title ) ) {
+                               Hooks::run( 'SpecialSearchNogomatch', [ &$title ] );
+                       }
                }
 
                $this->setupPage( $term );
index 822648b..4a17533 100644 (file)
@@ -104,6 +104,56 @@ class SpecialWatchlist extends ChangesListSpecialPage {
                ];
        }
 
+       /**
+        * @inheritdoc
+        */
+       protected function registerFiltersFromDefinitions( array $definition ) {
+               foreach ( $definition as $groupName => &$groupDefinition ) {
+                       foreach ( $groupDefinition['filters'] as &$filterDefinition ) {
+                               if ( isset( $filterDefinition['showHideSuffix'] ) ) {
+                                       $filterDefinition['showHide'] = 'wl' . $filterDefinition['showHideSuffix'];
+                               }
+                       }
+               }
+
+               parent::registerFiltersFromDefinitions( $definition );
+       }
+
+       /**
+        * @inheritdoc
+        */
+       protected function registerFilters() {
+               parent::registerFilters();
+
+               $user = $this->getUser();
+
+               $significance = $this->getFilterGroup( 'significance' );
+               $hideMinor = $significance->getFilter( 'hideminor' );
+               $hideMinor->setDefault( $user->getBoolOption( 'watchlisthideminor' ) );
+
+               $automated = $this->getFilterGroup( 'automated' );
+               $hideBots = $automated->getFilter( 'hidebots' );
+               $hideBots->setDefault( $user->getBoolOption( 'watchlisthidebots' ) );
+
+               $registration = $this->getFilterGroup( 'registration' );
+               $hideAnons = $registration->getFilter( 'hideanons' );
+               $hideAnons->setDefault( $user->getBoolOption( 'watchlisthideanons' ) );
+               $hideLiu = $registration->getFilter( 'hideliu' );
+               $hideLiu->setDefault( $user->getBoolOption( 'watchlisthideliu' ) );
+
+               $reviewStatus = $this->getFilterGroup( 'reviewStatus' );
+               $hidePatrolled = $reviewStatus->getFilter( 'hidepatrolled' );
+               $hidePatrolled->setDefault( $user->getBoolOption( 'watchlisthidepatrolled' ) );
+
+               $authorship = $this->getFilterGroup( 'authorship' );
+               $hideMyself = $authorship->getFilter( 'hidemyself' );
+               $hideMyself->setDefault( $user->getBoolOption( 'watchlisthideown' ) );
+
+               $changeType = $this->getFilterGroup( 'changeType' );
+               $hideCategorization = $changeType->getFilter( 'hidecategorization' );
+               $hideCategorization->setDefault( $user->getBoolOption( 'watchlisthidecategorization' ) );
+       }
+
        /**
         * Get a FormOptions object containing the default options
         *
@@ -115,18 +165,6 @@ class SpecialWatchlist extends ChangesListSpecialPage {
 
                $opts->add( 'days', $user->getOption( 'watchlistdays' ), FormOptions::FLOAT );
                $opts->add( 'extended', $user->getBoolOption( 'extendwatchlist' ) );
-               if ( $this->getRequest()->getVal( 'action' ) == 'submit' ) {
-                       // The user has submitted the form, so we dont need the default values
-                       return $opts;
-               }
-
-               $opts->add( 'hideminor', $user->getBoolOption( 'watchlisthideminor' ) );
-               $opts->add( 'hidebots', $user->getBoolOption( 'watchlisthidebots' ) );
-               $opts->add( 'hideanons', $user->getBoolOption( 'watchlisthideanons' ) );
-               $opts->add( 'hideliu', $user->getBoolOption( 'watchlisthideliu' ) );
-               $opts->add( 'hidepatrolled', $user->getBoolOption( 'watchlisthidepatrolled' ) );
-               $opts->add( 'hidemyself', $user->getBoolOption( 'watchlisthideown' ) );
-               $opts->add( 'hidecategorization', $user->getBoolOption( 'watchlisthidecategorization' ) );
 
                return $opts;
        }
@@ -172,6 +210,26 @@ class SpecialWatchlist extends ChangesListSpecialPage {
                        }
                }
 
+               if ( $this->getRequest()->getVal( 'action' ) == 'submit' ) {
+                       $allBooleansFalse = [];
+
+                       // If the user submitted the form, start with a baseline of "all
+                       // booleans are false", then change the ones they checked.  This
+                       // means we ignore the defaults.
+
+                       // This is how we handle the fact that HTML forms don't submit
+                       // unchecked boxes.
+                       foreach ( $this->filterGroups as $filterGroup ) {
+                               if ( $filterGroup instanceof ChangesListBooleanFilterGroup ) {
+                                       foreach ( $filterGroup->getFilters() as $filter ) {
+                                               $allBooleansFalse[$filter->getName()] = false;
+                                       }
+                               }
+                       }
+
+                       $params = $params + $allBooleansFalse;
+               }
+
                // Not the prettiest way to achieve this… FormOptions internally depends on data sanitization
                // methods defined on WebRequest and removing this dependency would cause some code duplication.
                $request = new DerivativeRequest( $this->getRequest(), $params );
@@ -181,32 +239,28 @@ class SpecialWatchlist extends ChangesListSpecialPage {
        }
 
        /**
-        * Return an array of conditions depending of options set in $opts
-        *
-        * @param FormOptions $opts
-        * @return array
+        * @inheritdoc
         */
-       public function buildMainQueryConds( FormOptions $opts ) {
+       protected function buildQuery( &$tables, &$fields, &$conds, &$query_options,
+               &$join_conds, FormOptions $opts ) {
+
                $dbr = $this->getDB();
-               $conds = parent::buildMainQueryConds( $opts );
+               parent::buildQuery( $tables, $fields, $conds, $query_options, $join_conds,
+                       $opts );
 
                // Calculate cutoff
                if ( $opts['days'] > 0 ) {
                        $conds[] = 'rc_timestamp > ' .
                                $dbr->addQuotes( $dbr->timestamp( time() - intval( $opts['days'] * 86400 ) ) );
                }
-
-               return $conds;
        }
 
        /**
-        * Process the query
-        *
-        * @param array $conds
-        * @param FormOptions $opts
-        * @return bool|ResultWrapper Result or false (for Recentchangeslinked only)
+        * @inheritdoc
         */
-       public function doMainQuery( $conds, $opts ) {
+       protected function doMainQuery( $tables, $fields, $conds, $query_options,
+               $join_conds, FormOptions $opts ) {
+
                $dbr = $this->getDB();
                $user = $this->getUser();
 
@@ -231,19 +285,23 @@ class SpecialWatchlist extends ChangesListSpecialPage {
                        $usePage = true;
                }
 
-               $tables = [ 'recentchanges', 'watchlist' ];
-               $fields = RecentChange::selectFields();
-               $query_options = [ 'ORDER BY' => 'rc_timestamp DESC' ];
-               $join_conds = [
-                       'watchlist' => [
-                               'INNER JOIN',
-                               [
-                                       'wl_user' => $user->getId(),
-                                       'wl_namespace=rc_namespace',
-                                       'wl_title=rc_title'
+               $tables = array_merge( [ 'recentchanges', 'watchlist' ], $tables );
+               $fields = array_merge( RecentChange::selectFields(), $fields );
+
+               $query_options = array_merge( [ 'ORDER BY' => 'rc_timestamp DESC' ], $query_options );
+               $join_conds = array_merge(
+                       [
+                               'watchlist' => [
+                                       'INNER JOIN',
+                                       [
+                                               'wl_user' => $user->getId(),
+                                               'wl_namespace=rc_namespace',
+                                               'wl_title=rc_title'
+                                       ],
                                ],
                        ],
-               ];
+                       $join_conds
+               );
 
                if ( $this->getConfig()->get( 'ShowUpdatedMarker' ) ) {
                        $fields[] = 'wl_notificationtimestamp';
@@ -361,7 +419,7 @@ class SpecialWatchlist extends ChangesListSpecialPage {
 
                $dbr->dataSeek( $rows, 0 );
 
-               $list = ChangesList::newFromContext( $this->getContext() );
+               $list = ChangesList::newFromContext( $this->getContext(), $this->filterGroups );
                $list->setWatchlistDivs();
                $list->initChangesListRows( $rows );
                $dbr->dataSeek( $rows, 0 );
@@ -448,31 +506,23 @@ class SpecialWatchlist extends ChangesListSpecialPage {
                $cutofflinks = $this->msg( 'wlshowtime' ) . ' ' . $this->cutoffselector( $opts );
 
                # Spit out some control panel links
-               $filters = [
-                       'hideminor' => 'wlshowhideminor',
-                       'hidebots' => 'wlshowhidebots',
-                       'hideanons' => 'wlshowhideanons',
-                       'hideliu' => 'wlshowhideliu',
-                       'hidemyself' => 'wlshowhidemine',
-                       'hidepatrolled' => 'wlshowhidepatr'
-               ];
-
-               if ( $this->getConfig()->get( 'RCWatchCategoryMembership' ) ) {
-                       $filters['hidecategorization'] = 'wlshowhidecategorization';
-               }
-
-               foreach ( $this->getRenderableCustomFilters( $this->getCustomFilters() ) as $key => $params ) {
-                       $filters[$key] = $params['msg'];
-               }
-
-               // Disable some if needed
-               if ( !$user->useRCPatrol() ) {
-                       unset( $filters['hidepatrolled'] );
-               }
-
                $links = [];
-               foreach ( $filters as $name => $msg ) {
-                       $links[] = $this->showHideCheck( $nondefaults, $msg, $name, $opts[$name] );
+               $context = $this->getContext();
+               $namesOfDisplayedFilters = [];
+               foreach ( $this->getFilterGroups() as $groupName => $group ) {
+                       if ( !$group->isPerGroupRequestParameter() ) {
+                               foreach ( $group->getFilters() as $filterName => $filter ) {
+                                       if ( $filter->displaysOnUnstructuredUi( $this ) ) {
+                                               $namesOfDisplayedFilters[] = $filterName;
+                                               $links[] = $this->showHideCheck(
+                                                       $nondefaults,
+                                                       $filter->getShowHide(),
+                                                       $filterName,
+                                                       $opts[$filterName]
+                                               );
+                                       }
+                               }
+                       }
                }
 
                $hiddenFields = $nondefaults;
@@ -481,8 +531,8 @@ class SpecialWatchlist extends ChangesListSpecialPage {
                unset( $hiddenFields['invert'] );
                unset( $hiddenFields['associated'] );
                unset( $hiddenFields['days'] );
-               foreach ( $filters as $key => $value ) {
-                       unset( $hiddenFields[$key] );
+               foreach ( $namesOfDisplayedFilters as $filterName ) {
+                       unset( $hiddenFields[$filterName] );
                }
 
                # Create output
diff --git a/includes/tidy/RemexCompatFormatter.php b/includes/tidy/RemexCompatFormatter.php
new file mode 100644 (file)
index 0000000..3dc727b
--- /dev/null
@@ -0,0 +1,71 @@
+<?php
+
+namespace MediaWiki\Tidy;
+
+use RemexHtml\HTMLData;
+use RemexHtml\Serializer\HtmlFormatter;
+use RemexHtml\Serializer\SerializerNode;
+use RemexHtml\Tokenizer\PlainAttributes;
+
+/**
+ * @internal
+ */
+class RemexCompatFormatter extends HtmlFormatter {
+       private static $markedEmptyElements = [
+               'li' => true,
+               'p' => true,
+               'tr' => true,
+       ];
+
+       public function __construct( $options = [] ) {
+               parent::__construct( $options );
+               $this->attributeEscapes["\xc2\xa0"] = '&#160;';
+               unset( $this->attributeEscapes["&"] );
+               $this->textEscapes["\xc2\xa0"] = '&#160;';
+               unset( $this->textEscapes["&"] );
+       }
+
+       public function startDocument( $fragmentNamespace, $fragmentName ) {
+               return '';
+       }
+
+       public function element( SerializerNode $parent, SerializerNode $node, $contents ) {
+               $data = $node->snData;
+               if ( $data && $data->isPWrapper ) {
+                       if ( $data->nonblankNodeCount ) {
+                               return "<p>$contents</p>";
+                       } else {
+                               return $contents;
+                       }
+               }
+
+               $name = $node->name;
+               $attrs = $node->attrs;
+               if ( isset( self::$markedEmptyElements[$name] ) && $attrs->count() === 0 ) {
+                       if ( strspn( $contents, "\t\n\f\r " ) === strlen( $contents ) ) {
+                               return "<{$name} class=\"mw-empty-elt\">$contents</{$name}>";
+                       }
+               }
+
+               $s = "<$name";
+               foreach ( $attrs->getValues() as $attrName => $attrValue ) {
+                       $encValue = strtr( $attrValue, $this->attributeEscapes );
+                       $s .= " $attrName=\"$encValue\"";
+               }
+               if ( $node->namespace === HTMLData::NS_HTML && isset( $this->voidElements[$name] ) ) {
+                       $s .= ' />';
+                       return $s;
+               }
+
+               $s .= '>';
+               if ( $node->namespace === HTMLData::NS_HTML
+                       && isset( $contents[0] ) && $contents[0] === "\n"
+                       && isset( $this->prefixLfElements[$name] )
+               ) {
+                       $s .= "\n$contents</$name>";
+               } else {
+                       $s .= "$contents</$name>";
+               }
+               return $s;
+       }
+}
diff --git a/includes/tidy/RemexCompatMunger.php b/includes/tidy/RemexCompatMunger.php
new file mode 100644 (file)
index 0000000..dbcf568
--- /dev/null
@@ -0,0 +1,474 @@
+<?php
+
+namespace MediaWiki\Tidy;
+
+use RemexHtml\HTMLData;
+use RemexHtml\Serializer\Serializer;
+use RemexHtml\Serializer\SerializerNode;
+use RemexHtml\Tokenizer\Attributes;
+use RemexHtml\Tokenizer\PlainAttributes;
+use RemexHtml\TreeBuilder\TreeBuilder;
+use RemexHtml\TreeBuilder\TreeHandler;
+use RemexHtml\TreeBuilder\Element;
+
+/**
+ * @internal
+ */
+class RemexCompatMunger implements TreeHandler {
+       private static $onlyInlineElements = [
+               "a" => true,
+               "abbr" => true,
+               "acronym" => true,
+               "applet" => true,
+               "b" => true,
+               "basefont" => true,
+               "bdo" => true,
+               "big" => true,
+               "br" => true,
+               "button" => true,
+               "cite" => true,
+               "code" => true,
+               "dfn" => true,
+               "em" => true,
+               "font" => true,
+               "i" => true,
+               "iframe" => true,
+               "img" => true,
+               "input" => true,
+               "kbd" => true,
+               "label" => true,
+               "legend" => true,
+               "map" => true,
+               "object" => true,
+               "param" => true,
+               "q" => true,
+               "rb" => true,
+               "rbc" => true,
+               "rp" => true,
+               "rt" => true,
+               "rtc" => true,
+               "ruby" => true,
+               "s" => true,
+               "samp" => true,
+               "select" => true,
+               "small" => true,
+               "span" => true,
+               "strike" => true,
+               "strong" => true,
+               "sub" => true,
+               "sup" => true,
+               "textarea" => true,
+               "tt" => true,
+               "u" => true,
+               "var" => true,
+       ];
+
+       private static $formattingElements = [
+               'a' => true,
+               'b' => true,
+               'big' => true,
+               'code' => true,
+               'em' => true,
+               'font' => true,
+               'i' => true,
+               'nobr' => true,
+               's' => true,
+               'small' => true,
+               'strike' => true,
+               'strong' => true,
+               'tt' => true,
+               'u' => true,
+       ];
+
+       /**
+        * Constructor
+        *
+        * @param Serializer $serializer
+        */
+       public function __construct( Serializer $serializer ) {
+               $this->serializer = $serializer;
+       }
+
+       public function startDocument( $fragmentNamespace, $fragmentName ) {
+               $this->serializer->startDocument( $fragmentNamespace, $fragmentName );
+               $root = $this->serializer->getRootNode();
+               $root->snData = new RemexMungerData;
+               $root->snData->needsPWrapping = true;
+       }
+
+       public function endDocument( $pos ) {
+               $this->serializer->endDocument( $pos );
+       }
+
+       private function getParentForInsert( $preposition, $refElement ) {
+               if ( $preposition === TreeBuilder::ROOT ) {
+                       return [ $this->serializer->getRootNode(), null ];
+               } elseif ( $preposition === TreeBuilder::BEFORE ) {
+                       $refNode = $refElement->userData;
+                       return [ $this->serializer->getParentNode( $refNode ), $refNode ];
+               } else {
+                       $refNode = $refElement->userData;
+                       $refData = $refNode->snData;
+                       if ( $refData->currentCloneElement ) {
+                               // Follow a chain of clone links if necessary
+                               $origRefData = $refData;
+                               while ( $refData->currentCloneElement ) {
+                                       $refElement = $refData->currentCloneElement;
+                                       $refNode = $refElement->userData;
+                                       $refData = $refNode->snData;
+                               }
+                               // Cache the end of the chain in the requested element
+                               $origRefData->currentCloneElement = $refElement;
+                       } elseif ( $refData->childPElement ) {
+                               $refElement = $refData->childPElement;
+                               $refNode = $refElement->userData;
+                       }
+                       return [ $refNode, $refNode ];
+               }
+       }
+
+       /**
+        * Insert a p-wrapper
+        *
+        * @param SerializerNode $parent
+        * @param integer $sourceStart
+        * @return SerializerNode
+        */
+       private function insertPWrapper( SerializerNode $parent, $sourceStart ) {
+               $pWrap = new Element( HTMLData::NS_HTML, 'mw:p-wrap', new PlainAttributes );
+               $this->serializer->insertElement( TreeBuilder::UNDER, $parent, $pWrap, false,
+                       $sourceStart, 0 );
+               $data = new RemexMungerData;
+               $data->isPWrapper = true;
+               $data->wrapBaseNode = $parent;
+               $pWrap->userData->snData = $data;
+               $parent->snData->childPElement = $pWrap;
+               return $pWrap->userData;
+       }
+
+       public function characters( $preposition, $refElement, $text, $start, $length,
+               $sourceStart, $sourceLength
+       ) {
+               $isBlank = strspn( $text, "\t\n\f\r ", $start, $length ) === $length;
+
+               list( $parent, $refNode ) = $this->getParentForInsert( $preposition, $refElement );
+               $parentData = $parent->snData;
+
+               if ( $preposition === TreeBuilder::UNDER ) {
+                       if ( $parentData->needsPWrapping && !$isBlank ) {
+                               // Add a p-wrapper for bare text under body/blockquote
+                               $refNode = $this->insertPWrapper( $refNode, $sourceStart );
+                               $parent = $refNode;
+                               $parentData = $parent->snData;
+                       } elseif ( $parentData->isSplittable && !$parentData->ancestorPNode ) {
+                               // The parent is splittable and in block mode, so split the tag stack
+                               $refNode = $this->splitTagStack( $refNode, true, $sourceStart );
+                               $parent = $refNode;
+                               $parentData = $parent->snData;
+                       }
+               }
+
+               if ( !$isBlank ) {
+                       // Non-whitespace characters detected
+                       $parentData->nonblankNodeCount++;
+               }
+               $this->serializer->characters( $preposition, $refNode, $text, $start,
+                       $length, $sourceStart, $sourceLength );
+       }
+
+       /**
+        * Insert or reparent an element. Create p-wrappers or split the tag stack
+        * as necessary.
+        *
+        * Consider the following insertion locations. The parent may be:
+        *
+        *   - A: A body or blockquote (!!needsPWrapping)
+        *   - B: A p-wrapper (!!isPWrapper)
+        *   - C: A descendant of a p-wrapper (!!ancestorPNode)
+        *     - CS: With splittable formatting elements in the stack region up to
+        *       the p-wrapper
+        *     - CU: With one or more unsplittable elements in the stack region up
+        *       to the p-wrapper
+        *   - D: Not a descendant of a p-wrapper (!ancestorNode)
+        *     - DS: With splittable formatting elements in the stack region up to
+        *       the body or blockquote
+        *     - DU: With one or more unsplittable elements in the stack region up
+        *       to the body or blockquote
+        *
+        * And consider that we may insert two types of element:
+        *   - b: block
+        *   - i: inline
+        *
+        * We handle the insertion as follows:
+        *
+        *   - A/i: Create a p-wrapper, insert under it
+        *   - A/b: Insert as normal
+        *   - B/i: Insert as normal
+        *   - B/b: Close the p-wrapper, insert under the body/blockquote (wrap
+        *     base) instead)
+        *   - C/i: Insert as normal
+        *   - CS/b: Split the tag stack, insert the block under cloned formatting
+        *     elements which have the wrap base (the parent of the p-wrap) as
+        *     their ultimate parent.
+        *   - CU/b: Disable the p-wrap, by reparenting the currently open child
+        *     of the p-wrap under the p-wrap's parent. Then insert the block as
+        *     normal.
+        *   - D/b: Insert as normal
+        *   - DS/i: Split the tag stack, creating a new p-wrapper as the ultimate
+        *     parent of the formatting elements thus cloned. The parent of the
+        *     p-wrapper is the body or blockquote.
+        *   - DU/i: Insert as normal
+        *
+        * FIXME: fostering ($preposition == BEFORE) is mostly done by inserting as
+        * normal, the full algorithm is not followed.
+        *
+        * @param integer $preposition
+        * @param Element|SerializerNode|null $refElement
+        * @param Element $element
+        * @param bool $void
+        * @param integer $sourceStart
+        * @param integer $sourceLength
+        */
+       public function insertElement( $preposition, $refElement, Element $element, $void,
+               $sourceStart, $sourceLength
+       ) {
+               list( $parent, $newRef ) = $this->getParentForInsert( $preposition, $refElement );
+               $parentData = $parent->snData;
+               $parentNs = $parent->namespace;
+               $parentName = $parent->name;
+               $elementName = $element->htmlName;
+
+               $inline = isset( self::$onlyInlineElements[$elementName] );
+               $under = $preposition === TreeBuilder::UNDER;
+
+               if ( $under && $parentData->isPWrapper && !$inline ) {
+                       // [B/b] The element is non-inline and the parent is a p-wrapper,
+                       // close the parent and insert into its parent instead
+                       $newParent = $this->serializer->getParentNode( $parent );
+                       $parent = $newParent;
+                       $parentData = $parent->snData;
+                       $pElement = $parentData->childPElement;
+                       $parentData->childPElement = null;
+                       $newRef = $refElement->userData;
+                       $this->endTag( $pElement, $sourceStart, 0 );
+               } elseif ( $under && $parentData->isSplittable
+                       && (bool)$parentData->ancestorPNode !== $inline
+               ) {
+                       // [CS/b, DS/i] The parent is splittable and the current element is
+                       // inline in block context, or if the current element is a block
+                       // under a p-wrapper, split the tag stack.
+                       $newRef = $this->splitTagStack( $newRef, $inline, $sourceStart );
+                       $parent = $newRef;
+                       $parentData = $parent->snData;
+               } elseif ( $under && $parentData->needsPWrapping && $inline ) {
+                       // [A/i] If the element is inline and we are in body/blockquote,
+                       // we need to create a p-wrapper
+                       $newRef = $this->insertPWrapper( $newRef, $sourceStart );
+                       $parent = $newRef;
+                       $parentData = $parent->snData;
+               } elseif ( $parentData->ancestorPNode && !$inline ) {
+                       // [CU/b] If the element is non-inline and (despite attempting to
+                       // split above) there is still an ancestor p-wrap, disable that
+                       // p-wrap
+                       $this->disablePWrapper( $parent, $sourceStart );
+               }
+               // else [A/b, B/i, C/i, D/b, DU/i] insert as normal
+
+               // An element with element children is a non-blank element
+               $parentData->nonblankNodeCount++;
+
+               // Insert the element downstream and so initialise its userData
+               $this->serializer->insertElement( $preposition, $newRef,
+                       $element, $void, $sourceStart, $sourceLength );
+
+               // Initialise snData
+               if ( !$element->userData->snData ) {
+                       $elementData = $element->userData->snData = new RemexMungerData;
+               } else {
+                       $elementData = $element->userData->snData;
+               }
+               if ( ( $parentData->isPWrapper || $parentData->isSplittable )
+                       && isset( self::$formattingElements[$elementName] )
+               ) {
+                       $elementData->isSplittable = true;
+               }
+               if ( $parentData->isPWrapper ) {
+                       $elementData->ancestorPNode = $parent;
+               } elseif ( $parentData->ancestorPNode ) {
+                       $elementData->ancestorPNode = $parentData->ancestorPNode;
+               }
+               if ( $parentData->wrapBaseNode ) {
+                       $elementData->wrapBaseNode = $parentData->wrapBaseNode;
+               } elseif ( $parentData->needsPWrapping ) {
+                       $elementData->wrapBaseNode = $parent;
+               }
+               if ( $elementName === 'body'
+                       || $elementName === 'blockquote'
+                       || $elementName === 'html'
+               ) {
+                       $elementData->needsPWrapping = true;
+               }
+       }
+
+       /**
+        * Clone nodes in a stack range and return the new parent
+        *
+        * @param SerializerNode $parentNode
+        * @param bool $inline
+        * @param integer $pos The source position
+        * @return SerializerNode
+        */
+       private function splitTagStack( SerializerNode $parentNode, $inline, $pos ) {
+               $parentData = $parentNode->snData;
+               $wrapBase = $parentData->wrapBaseNode;
+               $pWrap = $parentData->ancestorPNode;
+               if ( !$pWrap ) {
+                       $cloneEnd = $wrapBase;
+               } else {
+                       $cloneEnd = $parentData->ancestorPNode;
+               }
+
+               $serializer = $this->serializer;
+               $node = $parentNode;
+               $root = $serializer->getRootNode();
+               $nodes = [];
+               $removableNodes = [];
+               $haveContent = false;
+               while ( $node !== $cloneEnd ) {
+                       $nextParent = $serializer->getParentNode( $node );
+                       if ( $nextParent === $root ) {
+                               throw new \Exception( 'Did not find end of clone range' );
+                       }
+                       $nodes[] = $node;
+                       if ( $node->snData->nonblankNodeCount === 0 ) {
+                               $removableNodes[] = $node;
+                               $nextParent->snData->nonblankNodeCount--;
+                       }
+                       $node = $nextParent;
+               }
+
+               if ( $inline ) {
+                       $pWrap = $this->insertPWrapper( $wrapBase, $pos );
+                       $node = $pWrap;
+               } else {
+                       if ( $pWrap ) {
+                               // End the p-wrap which was open, cancel the diversion
+                               $wrapBase->snData->childPElement = null;
+                       }
+                       $pWrap = null;
+                       $node = $wrapBase;
+               }
+
+               for ( $i = count( $nodes ) - 1; $i >= 0; $i-- ) {
+                       $oldNode = $nodes[$i];
+                       $oldData = $oldNode->snData;
+                       $nodeParent = $node;
+                       $element = new Element( $oldNode->namespace, $oldNode->name, $oldNode->attrs );
+                       $this->serializer->insertElement( TreeBuilder::UNDER, $nodeParent,
+                               $element, false, $pos, 0 );
+                       $oldData->currentCloneElement = $element;
+
+                       $newNode = $element->userData;
+                       $newData = $newNode->snData = new RemexMungerData;
+                       if ( $pWrap ) {
+                               $newData->ancestorPNode = $pWrap;
+                       }
+                       $newData->isSplittable = true;
+                       $newData->wrapBaseNode = $wrapBase;
+                       $newData->isPWrapper = $oldData->isPWrapper;
+
+                       $nodeParent->snData->nonblankNodeCount++;
+
+                       $node = $newNode;
+               }
+               foreach ( $removableNodes as $rNode ) {
+                       $fakeElement = new Element( $rNode->namespace, $rNode->name, $rNode->attrs );
+                       $fakeElement->userData = $rNode;
+                       $this->serializer->removeNode( $fakeElement, $pos );
+               }
+               return $node;
+       }
+
+       /**
+        * Find the ancestor of $node which is a child of a p-wrapper, and
+        * reparent that node so that it is placed after the end of the p-wrapper
+        */
+       private function disablePWrapper( SerializerNode $node, $sourceStart ) {
+               $nodeData = $node->snData;
+               $pWrapNode = $nodeData->ancestorPNode;
+               $newParent = $this->serializer->getParentNode( $pWrapNode );
+               if ( $pWrapNode !== $this->serializer->getLastChild( $newParent ) ) {
+                       // Fostering or something? Abort!
+                       return;
+               }
+
+               $nextParent = $node;
+               do {
+                       $victim = $nextParent;
+                       $victim->snData->ancestorPNode = null;
+                       $nextParent = $this->serializer->getParentNode( $victim );
+               } while ( $nextParent !== $pWrapNode );
+
+               // Make a fake Element to use in a reparenting operation
+               $victimElement = new Element( $victim->namespace, $victim->name, $victim->attrs );
+               $victimElement->userData = $victim;
+
+               // Reparent
+               $this->serializer->insertElement( TreeBuilder::UNDER, $newParent, $victimElement,
+                       false, $sourceStart, 0 );
+
+               // Decrement nonblank node count
+               $pWrapNode->snData->nonblankNodeCount--;
+
+               // Cancel the diversion so that no more elements are inserted under this p-wrap
+               $newParent->snData->childPElement = null;
+       }
+
+       public function endTag( Element $element, $sourceStart, $sourceLength ) {
+               $data = $element->userData->snData;
+               if ( $data->childPElement ) {
+                       $this->endTag( $data->childPElement, $sourceStart, 0 );
+               }
+               $this->serializer->endTag( $element, $sourceStart, $sourceLength );
+               $element->userData->snData = null;
+               $element->userData = null;
+       }
+
+       public function doctype( $name, $public, $system, $quirks, $sourceStart, $sourceLength ) {
+               $this->serializer->doctype( $name, $public,  $system, $quirks,
+                       $sourceStart, $sourceLength );
+       }
+
+       public function comment( $preposition, $refElement, $text, $sourceStart, $sourceLength ) {
+               list( $parent, $refNode ) = $this->getParentForInsert( $preposition, $refElement );
+               $this->serializer->comment( $preposition, $refNode, $text,
+                       $sourceStart, $sourceLength );
+       }
+
+       public function error( $text, $pos ) {
+               $this->serializer->error( $text, $pos );
+       }
+
+       public function mergeAttributes( Element $element, Attributes $attrs, $sourceStart ) {
+               $this->serializer->mergeAttributes( $element, $attrs, $sourceStart );
+       }
+
+       public function removeNode( Element $element, $sourceStart ) {
+               $this->serializer->removeNode( $element, $sourceStart );
+       }
+
+       public function reparentChildren( Element $element, Element $newParent, $sourceStart ) {
+               $self = $element->userData;
+               $children = $self->children;
+               $self->children = [];
+               $this->insertElement( TreeBuilder::UNDER, $element, $newParent, false, $sourceStart, 0 );
+               $newParentNode = $newParent->userData;
+               $newParentId = $newParentNode->id;
+               foreach ( $children as $child ) {
+                       if ( is_object( $child ) ) {
+                               $child->parentId = $newParentId;
+                       }
+               }
+               $newParentNode->children = $children;
+       }
+}
diff --git a/includes/tidy/RemexDriver.php b/includes/tidy/RemexDriver.php
new file mode 100644 (file)
index 0000000..e02af88
--- /dev/null
@@ -0,0 +1,57 @@
+<?php
+
+namespace MediaWiki\Tidy;
+
+use RemexHtml\Serializer\Serializer;
+use RemexHtml\Tokenizer\Tokenizer;
+use RemexHtml\TreeBuilder\Dispatcher;
+use RemexHtml\TreeBuilder\TreeBuilder;
+use RemexHtml\TreeBuilder\TreeMutationTracer;
+
+class RemexDriver extends TidyDriverBase {
+       private $trace;
+       private $pwrap;
+
+       public function __construct( array $config ) {
+               $config += [
+                       'treeMutationTrace' => false,
+                       'pwrap' => true
+               ];
+               $this->trace = $config['treeMutationTrace'];
+               $this->pwrap = $config['pwrap'];
+               parent::__construct( $config );
+       }
+
+       public function tidy( $text ) {
+               $formatter = new RemexCompatFormatter;
+               $serializer = new Serializer( $formatter );
+               if ( $this->pwrap ) {
+                       $munger = new RemexCompatMunger( $serializer );
+               } else {
+                       $munger = $serializer;
+               }
+               if ( $this->trace ) {
+                       $tracer = new TreeMutationTracer( $munger, function ( $msg ) {
+                               wfDebug( "RemexHtml: $msg" );
+                       } );
+               } else {
+                       $tracer = $munger;
+               }
+               $treeBuilder = new TreeBuilder( $tracer, [
+                       'ignoreErrors' => true,
+                       'ignoreNulls' => true,
+               ] );
+               $dispatcher = new Dispatcher( $treeBuilder );
+               $tokenizer = new Tokenizer( $dispatcher, $text, [
+                       'ignoreErrors' => true,
+                       'ignoreCharRefs' => true,
+                       'ignoreNulls' => true,
+                       'skipPreprocess' => true,
+               ] );
+               $tokenizer->execute( [
+                       'fragmentNamespace' => \RemexHtml\HTMLData::NS_HTML,
+                       'fragmentName' => 'body'
+               ] );
+               return $serializer->getResult();
+       }
+}
diff --git a/includes/tidy/RemexMungerData.php b/includes/tidy/RemexMungerData.php
new file mode 100644 (file)
index 0000000..d614a38
--- /dev/null
@@ -0,0 +1,78 @@
+<?php
+
+namespace MediaWiki\Tidy;
+
+/**
+ * @internal
+ */
+class RemexMungerData {
+       /**
+        * The Element for the mw:p-wrap which is a child of the current node. If
+        * this is set, inline insertions into this node will be diverted so that
+        * they insert into the p-wrap.
+        *
+        * @var \RemexHtml\TreeBuilder\Element|null
+        */
+       public $childPElement;
+
+       /**
+        * This tracks the mw:p-wrap node in the Serializer stack which is an
+        * ancestor of this node. If there is no mw:p-wrap ancestor, it is null.
+        *
+        * @var \RemexHtml\Serializer\SerializerNode|null
+        */
+       public $ancestorPNode;
+
+       /**
+        * The wrap base node is the body or blockquote node which is the parent
+        * of active p-wrappers. This is set if there is an ancestor p-wrapper,
+        * or if a p-wrapper was closed due to a block element being encountered
+        * inside it.
+        *
+        * @var \RemexHtml\Serializer\SerializerNode|null
+        */
+       public $wrapBaseNode;
+
+       /**
+        * Stack splitting (essentially our idea of AFE reconstruction) can clone
+        * formatting elements which are split over multiple paragraphs.
+        * TreeBuilder is not aware of the cloning, and continues to insert into
+        * the original element. This is set to the newer clone if this node was
+        * cloned, i.e. if there is an active diversion of the insertion location.
+        *
+        * @var \RemexHtml\TreeBuilder\Element|null
+        */
+       public $currentCloneElement;
+
+       /**
+        * Is the node a p-wrapper, with name mw:p-wrap?
+        *
+        * @var bool
+        */
+       public $isPWrapper = false;
+
+       /**
+        * Is the node splittable, i.e. a formatting element or a node with a
+        * formatting element ancestor which is under an active or deactivated
+        * p-wrapper.
+        *
+        * @var bool
+        */
+       public $isSplittable = false;
+
+       /**
+        * This is true if the node is a body or blockquote, which activates
+        * p-wrapping of child nodes.
+        */
+       public $needsPWrapping = false;
+
+       /**
+        * The number of child nodes, not counting whitespace-only text nodes or
+        * comments.
+        */
+       public $nonblankNodeCount = 0;
+
+       public function __set( $name, $value ) {
+               throw new \Exception( "Cannot set property \"$name\"" );
+       }
+}
index 865f630..2b13dd8 100644 (file)
@@ -225,7 +225,7 @@ class UploadFromUrl extends UploadBase {
                        // Well... that's not good!
                        wfDebugLog(
                                'fileupload',
-                               'Short write ' . $this->nbytes . '/' . strlen( $buffer ) .
+                               'Short write ' . $nbytes . '/' . strlen( $buffer ) .
                                        ' bytes, aborting with ' . $this->mFileSize . ' uploaded so far'
                        );
                        fclose( $this->mTmpHandle );
index 0acdb55..ef4537f 100644 (file)
@@ -1745,11 +1745,12 @@ class User implements IDBAccessObject {
                                        $this->blockTrigger = 'cookie-block';
                                        return $tmpBlock;
                                } else {
-                                       // If the block is not valid, clear the block cookie (but don't delete it,
-                                       // because it needs to be cleared from LocalStorage as well and an empty string
-                                       // value is checked for in the mediawiki.user.blockcookie module).
-                                       $tmpBlock->setCookie( $this->getRequest()->response(), true );
+                                       // If the block is not valid, remove the cookie.
+                                       Block::clearCookie( $this->getRequest()->response() );
                                }
+                       } else {
+                               // If the block doesn't exist, remove the cookie.
+                               Block::clearCookie( $this->getRequest()->response() );
                        }
                }
                return false;
@@ -3215,7 +3216,7 @@ class User implements IDBAccessObject {
 
        /**
         * Get the permissions this user has.
-        * @return array Array of String permission names
+        * @return string[] permission names
         */
        public function getRights() {
                if ( is_null( $this->mRights ) ) {
@@ -5265,6 +5266,13 @@ class User implements IDBAccessObject {
                                $this->mOptionOverrides = [];
                                $data = [];
                                foreach ( $res as $row ) {
+                                       // Convert '0' to 0. PHP's boolean conversion considers them both
+                                       // false, but e.g. JavaScript considers the former as true.
+                                       // @todo: T54542 Somehow determine the desired type (string/int/bool)
+                                       //  and convert all values here.
+                                       if ( $row->up_value === '0' ) {
+                                               $row->up_value = 0;
+                                       }
                                        $data[$row->up_property] = $row->up_value;
                                }
                        }
index 0d71629..49510da 100644 (file)
@@ -31,7 +31,6 @@ class SearchInputWidget extends TitleInputWidget {
        public function __construct( array $config = [] ) {
                $config = array_merge( [
                        'maxLength' => null,
-                       'type' => 'search',
                        'icon' => 'search',
                ], $config );
 
@@ -56,6 +55,10 @@ class SearchInputWidget extends TitleInputWidget {
                $this->addClasses( [ 'mw-widget-searchInputWidget' ] );
        }
 
+       protected function getInputElement( $config ) {
+               return ( new \OOUI\Tag( 'input' ) )->setAttributes( [ 'type' => 'search' ] );
+       }
+
        protected function getJavaScriptClassName() {
                return 'mw.widgets.SearchInputWidget';
        }
index 76b9b01..b1b8c73 100644 (file)
@@ -161,7 +161,7 @@ class InterwikiSearchResultSetWidget implements SearchResultSetWidget {
                $searchLink = Html::rawElement(
                        'a',
                        [ 'href' => $href ],
-                       $this->specialSearch->msg( 'search-interwiki-more' )->escaped()
+                       $this->specialSearch->msg( 'search-interwiki-more-results' )->escaped()
                );
 
                return Html::rawElement( 'div', [ 'class' => 'iw-result__footer' ], $searchLink );
index 228c5c4..f7771d1 100644 (file)
@@ -20,7 +20,6 @@
                "resources/src/mediawiki.toolbar",
                "resources/src/mediawiki.widgets",
                "resources/src/jquery/jquery.accessKeyLabel.js",
-               "resources/src/jquery/jquery.arrowSteps.js",
                "resources/src/jquery/jquery.autoEllipsis.js",
                "resources/src/jquery/jquery.badge.js",
                "resources/src/jquery/jquery.byteLength.js",
diff --git a/languages/LanguageCode.php b/languages/LanguageCode.php
new file mode 100644 (file)
index 0000000..7c9da77
--- /dev/null
@@ -0,0 +1,54 @@
+<?php
+/**
+ * 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
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Language
+ */
+
+/**
+ * Methods for dealing with language codes.
+ * @todo Move some of the code-related static methods out of Language into this class
+ *
+ * @since 1.29
+ * @ingroup Language
+ */
+class LanguageCode {
+       /**
+        * Returns a mapping of deprecated language codes that were used in previous
+        * versions of MediaWiki to up-to-date, current language codes.
+        *
+        * This array is merged into $wgDummyLanguageCodes in Setup.php, along with
+        * the fake language codes 'qqq' and 'qqx', which are used internally by
+        * MediaWiki's localisation system.
+        *
+        * @return string[]
+        */
+       public static function getDeprecatedCodeMapping() {
+               return [
+                       // Note that als is actually a valid ISO 639 code (Tosk Albanian), but it
+                       // was previously used in MediaWiki for Alsatian, which comes under gsw
+                       'als' => 'gsw',
+                       'bat-smg' => 'sgs',
+                       'be-x-old' => 'be-tarask',
+                       'fiu-vro' => 'vro',
+                       'roa-rup' => 'rup',
+                       'zh-classical' => 'lzh',
+                       'zh-min-nan' => 'nan',
+                       'zh-yue' => 'yue',
+               ];
+       }
+}
index 7721015..6286a2b 100644 (file)
@@ -865,12 +865,9 @@ class LanguageConverter {
                $this->mTables = false;
                $cache = ObjectCache::getInstance( $wgLanguageConverterCacheType );
                if ( $fromCache ) {
-                       wfProfileIn( __METHOD__ . '-cache' );
                        $this->mTables = $cache->get( $this->mCacheKey );
-                       wfProfileOut( __METHOD__ . '-cache' );
                }
                if ( !$this->mTables || !array_key_exists( self::CACHE_VERSION_KEY, $this->mTables ) ) {
-                       wfProfileIn( __METHOD__ . '-recache' );
                        // not in cache, or we need a fresh reload.
                        // We will first load the default tables
                        // then update them using things in MediaWiki:Conversiontable/*
@@ -884,7 +881,6 @@ class LanguageConverter {
                        $this->mTables[self::CACHE_VERSION_KEY] = true;
 
                        $cache->set( $this->mCacheKey, $this->mTables, 43200 );
-                       wfProfileOut( __METHOD__ . '-recache' );
                }
        }
 
index b413ef9..bd42a12 100644 (file)
@@ -33,7 +33,7 @@ class LanguageAz extends Language {
         * @return mixed|string
         */
        public function ucfirst( $string ) {
-               if ( $string[0] == 'i' ) {
+               if ( substr( $string, 0, 1 ) === 'i' ) {
                        return 'İ' . substr( $string, 1 );
                }
                return parent::ucfirst( $string );
index 3605e8d..3a50987 100644 (file)
@@ -391,7 +391,7 @@ class LanguageKk extends LanguageKk_cyrl {
         * @return string
         */
        public function ucfirst( $string ) {
-               if ( $string[0] == 'i' ) {
+               if ( substr( $string, 0, 1 ) === 'i' ) {
                        $variant = $this->getPreferredVariant();
                        if ( $variant == 'kk-latn' || $variant == 'kk-tr' ) {
                                return 'İ' . substr( $string, 1 );
@@ -408,7 +408,7 @@ class LanguageKk extends LanguageKk_cyrl {
         * @return string
         */
        function lcfirst( $string ) {
-               if ( $string[0] == 'I' ) {
+               if ( substr( $string, 0, 1 ) === 'I' ) {
                        $variant = $this->getPreferredVariant();
                        if ( $variant == 'kk-latn' || $variant == 'kk-tr' ) {
                                return 'ı' . substr( $string, 1 );
index 1c350d0..39e02e6 100644 (file)
@@ -71,6 +71,7 @@ class Names {
                'as' => 'অসমীয়া', # Assamese
                'ase' => 'American sign language', # American sign language
                'ast' => 'asturianu', # Asturian
+               'atj' => 'Atikamekw', # Atikamekw
                'av' => 'авар', # Avar
                'avk' => 'Kotava', # Kotava
                'awa' => 'अवधी', # Awadhi
index 90b5be8..524d511 100644 (file)
@@ -38,6 +38,7 @@
        "editfont-sansserif": "خط بلا زوائد",
        "editfont-serif": "خط بزوائد",
        "sunday": "الأحد",
+       "monday": "الإثنين",
        "tuesday": "الثلاث",
        "wednesday": "الأربعا",
        "thursday": "الخميس",
        "cancel": "بطّل",
        "mypage": "صفحتي",
        "mytalk": "نقاشي",
+       "qbedit": "بدّل",
        "returnto": "إرجع لـ$1",
        "tagline": "من {{SITENAME}}",
        "help": "معاونة",
        "youhavenewmessages": "توجد لديك $1 ($2).",
        "youhavenewmessagesmulti": "لديك رسائل جديدة على $1",
        "editsection": "بدّل",
+       "editold": "بدّل",
        "editlink": "بدّل",
        "viewsourcelink": "شوف المصدر",
        "editsectionhint": "بدّل الطرف: $1",
        "yourdomainname": "نطاقك:",
        "externaldberror": "هناك إما خطأ في دخول قاعدة البيانات الخارجية أو أنه غير مسموح لك بتحديث حسابك الخارجي.",
        "login": "ادخل",
-       "userlogin": "ادخل / أنشئ حسابا",
-       "userloginnocreate": "دخول",
        "logout": "اخرج",
        "userlogout": "خروج",
        "notloggedin": "غير مسجل الدخول",
-       "nologin": "ألا تمتلك حسابا؟ '''$1'''.",
-       "nologinlink": "أنشئ حسابا",
        "createaccount": "أنشئ حسابا",
-       "gotaccount": "تمتلك حسابا بالفعل؟ '''$1'''.",
-       "gotaccountlink": "ادخل",
-       "userlogin-resetlink": "أنسيت بيانات الولوج؟",
        "createacct-emailoptional": "الإيمايل (إختياري)",
        "createacct-email-ph": "دخّل الإيمايل متاعك",
        "createaccountmail": "بواسطة البريد الإلكتروني",
-       "createaccountreason": "السبب:",
        "createacct-submit": "أعمل الحساب",
        "createacct-benefit-heading": "{{SITENAME}} إتّعمل بعباد كيفك.",
+       "createacct-benefit-body1": "{{PLURAL:$1|تبديل|تبديلات|تبديلات|تبديلات|تبديلات|تبديلات|تبديلات|تبديلات|تبديلات|تبديلات|تبديل}}",
        "createacct-benefit-body3": "آخر {{PLURAL:$1|مساهم|مساهمين}}",
        "badretype": "كلمات السر التي أدخلتها لا تتطابق.",
        "userexists": "اسم المستخدم الذي تم إدخاله مستعمل بالفعل.\nالرجاء اختيار اسم مختلف.",
        "preview": "معاينة",
        "showpreview": "أظهر معاينة",
        "showdiff": "ورّي التبديلات",
-       "anoneditwarning": "'''تحذÙ\8aر:''' Ù\84Ù\85 ØªÙ\82Ù\85 Ø¨Ø§Ù\84دخÙ\88Ù\84.\nسÙ\8aسجÙ\84 Ø¹Ù\86Ù\88اÙ\86 Ø§Ù\84Ø¢Ù\8aبÙ\8a Ø®Ø§ØµØªÙ\83 Ù\81Ù\8a ØªØ§Ø±Ù\8aØ® Ù\87Ø°Ù\87 Ø§Ù\84صÙ\81حة.",
+       "anoneditwarning": "'''ردÙ\91 Ø¨Ø§Ù\84Ù\83:''' Ø±Ø§Ù\83 Ù\85ا Ø¯Ø®Ù\84تش Ù\84Ù\84حساب Ù\85تاعÙ\83.\nإذا Ø¨Ø¯Ù\91Ù\84ت Ø­Ø§Ø¬Ø©Ø\8c Ù\8aÙ\86جÙ\91Ù\85Ù\88ا Ø§Ù\84عباد Ø§Ù\84Ù\83Ù\84Ù\91 Ù\8aعرÙ\81Ù\88ا Ø§Ù\84Ø¥Ù\8a Ù¾Ø§Ù\8a Ù\85تاعÙ\83. Ø£Ù\85ا Ø¥Ø°Ø§ <strong>[$1 Ø¯Ø®Ù\84ت Ù\84حسابÙ\83]</strong> Ù\88Ù\84Ù\91ا <strong>[$2 Ø¹Ù\85Ù\84ت Ø­Ø³Ø§Ø¨ Ø¬Ø¯Ù\8aد]</strong>Ø\8c Ø§Ù\84تبدÙ\8aÙ\84ات Ù\85تاعÙ\83 Ø§Ù\84Ù\83Ù\84 Ø¨Ø´ Ù\8aتÙ\86سبÙ\88ا Ù\84إسÙ\85 Ø§Ù\84Ù\85ستعÙ\85Ù\84 Ù\85تاعÙ\83Ø\8c Ù\88 Ø¨Ø®Ù\84اÙ\81 Ù\87ذا ØªÙ\86جÙ\91Ù\85 ØªØ¹Ù\85Ù\84 Ø¨Ø±Ø´Ø§ Ø­Ù\88اÙ\8aج Ù\85ا ØªÙ\86جÙ\91Ù\85Ø´ ØªØ¹Ù\85Ù\84Ù\87Ù\85 Ù\88Ù\82ت Ø¥Ù\84Ù\91Ù\8a ØªØ¨Ø¯Ù\91Ù\84 Ø­Ø§Ø¬Ø© Ø¨Ø§Ù\84Ø¥Ù\8a Ù¾Ø§Ù\8a Ù\85تاعÙ\83.",
        "anonpreviewwarning": "''أنت غير مسجل الدخول. الحفظ سيسجل عنوان الأيبي الخاص بك في تاريخ هذه الصفحة.''",
        "missingsummary": "'''تنبيه:''' لم تقم بكتابة ملخص للتعديل.\nإذا قمت بضغط حفظ الصفحة مرة أخرى، فيتم حفظ تعديلك بدون ملخص.",
        "missingcommenttext": "من فضلك أدخل تعليقا في الأسفل.",
        "rcshowhidemine": "$1 تعديلاتي",
        "rcshowhidemine-hide": "خبّي",
        "rclinks": "أظهر آخر $1 تعديل في آخر $2 يوم<br />$3",
+       "diff": "فرق",
        "hist": "تاريخ",
        "hide": "أخف",
        "show": "ورّي",
        "nolinkstoimage": "لا توجد صفحات تصل لهذا الملف.",
        "sharedupload-desc-here": "هذا الملف من $1 ويمكن استخدامه بواسطة المشاريع الأخرى.\nالوصف على [$2 صفحة وصف الملف] هناك معروض بالأسفل.",
        "upload-disallowed-here": "ما تنجّمش تبدّل هذي التصويرة.",
+       "randompage": "پاج بالزهر",
        "statistics": "إحصاءات",
+       "brokenredirects-edit": "بدّل",
        "nmembers": "{{PLURAL:$1|حتى عضو|عضو واحد||زوز أعضاء|$1 عضو}}",
        "prefixindex": "كل الصفحات بالبادئة",
        "usercreated": "{{GENDER:$3|أنشأه|أنشأته}} في $1 الساعة $2",
        "rollbacklink": "رجّع",
        "protectlogpage": "سجل الحماية",
        "protectedarticle": "حمى \"[[$1]]\"",
+       "restriction-edit": "تبديل",
        "undeletelink": "اعرض/استعد",
        "undeleteviewlink": "اعرض",
        "namespace": "النطاق",
        "tooltip-n-mainpage-description": "شوف الپاج الأولانيّة",
        "tooltip-n-randompage": "خرّج پاج بالزهر",
        "tooltip-feed-atom": "تلقيم أتوم لهذه الصفحة",
-       "tooltip-t-contributions": "رؤية قائمة مساهمات هذا المستخدم",
+       "tooltip-t-contributions": "ليستة مساهمات ها {{GENDER:$1|المستعمل|المستعملة}}",
        "tooltip-t-emailuser": "أرسل رسالة لهذا المستخدم",
        "tooltip-t-upload": "صبّ فيشيايات",
        "tooltip-ca-nstab-user": "اعرض صفحة المستخدم",
        "duplicate-defaultsort": "'''تحذير:''' مفتاح الترتيب الافتراضي \"$2\" يتجاوز مفتاح الترتيب الافتراضي السابق \"$1\".",
        "external_image_whitelist": " #<pre>اترك هذا السطر تماما كما هو\n#ضع منثورات التعبيرات المنتظمة (فقط الجزء الذي يذهب بين //) بالأسفل\n#هذه ستتم مطابقتها مع مسارات الصور الخرجية (الموصولة بشكل مباشر)\n#هذه التي تطابق سيتم عرضها كصور، غير ذلك فقط وصلة إلى الصورة سيتم عرضها\n#السطور التي تبدأ ب# تتم معاملتها كتعليقات\n#هذا لا يتأثر بحالة الحروف\n\n#ضع كل منثورات التعبيرات المنتظمة فوق هذا السطر. اترك هذا السطر تماما كما هو</pre>",
        "tag-filter": "مرشح [[Special:Tags|الوسوم]]:",
+       "tags-edit": "بدّل",
        "logentry-newusers-create": "إتحلّ حساب {{GENDER:$2|المستعمل|المستعملة}} $1",
        "searchsuggest-search": "لوّج في {{SITENAME}}"
 }
index d435dbb..97936dc 100644 (file)
@@ -27,7 +27,7 @@
                ]
        },
        "tog-underline": "Onderstreep skakels.",
-       "tog-hideminor": "Moenie klein wysigings in die onlangse wysigingslys wys nie.",
+       "tog-hideminor": "Versteek klein wysigings in die onlangse wysigingslys.",
        "tog-hidepatrolled": "Versteek gepatrolleerde wysigings in onlangse wysigingslys",
        "tog-newpageshidepatrolled": "Versteek gepatrolleerde wysigings van nuwe bladsy lys",
        "tog-extendwatchlist": "Brei dophoulys uit om alle wysigings te wys, nie slegs die nuutste nie",
@@ -62,9 +62,9 @@
        "tog-ccmeonemails": "Stuur my 'n kopie van die e-pos wat ek aan ander stuur",
        "tog-diffonly": "Moenie 'n bladsy se inhoud onder die wysigingsverskil wys nie",
        "tog-showhiddencats": "Wys versteekte kategorië",
-       "tog-norollbackdiff": "Laat verskille weg na terugrol",
+       "tog-norollbackdiff": "Moenie verskille wys as teruggerol word nie",
        "tog-useeditwarning": "Waarsku my as ek 'n gewysigde bladsy verlaat voordat dit gestoor is",
-       "tog-prefershttps": "Gebruik altyd 'n beveiligde verbinding wanneer aangemeld is",
+       "tog-prefershttps": "Gebruik altyd 'n beveiligde verbinding terwyl aangemeld is",
        "underline-always": "Altyd",
        "underline-never": "Nooit",
        "underline-default": "Omslag of webblaaier se verstekwaarde",
        "newwindow": "(verskyn in nuwe venster)",
        "cancel": "Kanselleer",
        "moredotdotdot": "Meer…",
-       "morenotlisted": "Die lys is nie volledig nie.",
+       "morenotlisted": "Dié lys is dalk onvolledig.",
        "mypage": "Gebruikersblad",
        "mytalk": "Bespreking",
        "anontalk": "Bespreking",
        "searcharticle": "Wys",
        "history": "Bladsygeskiedenis",
        "history_short": "Geskiedenis",
+       "history_small": "geskiedenis",
        "updatedmarker": "opgedateer sedert my laaste besoek",
        "printableversion": "Drukbare weergawe",
        "permalink": "Permanente skakel",
        "externaldberror": "'n Databasisfout het tydens aanmelding voorgekom of u het nie toestemming om u eksterne rekening op te dateer nie.",
        "login": "Meld aan",
        "nav-login-createaccount": "Meld aan / registreer",
-       "userlogin": "Meld aan / registreer",
-       "userloginnocreate": "Meld aan",
        "logout": "Teken uit",
        "userlogout": "Teken uit",
        "notloggedin": "Nie ingeteken nie",
        "userlogin-noaccount": "Nog nie geregistreer nie?",
        "userlogin-joinproject": "Word lid van {{SITENAME}}",
-       "nologin": "Nog nie geregistreer nie? $1.",
-       "nologinlink": "Skep gerus 'n gebruiker",
        "createaccount": "Skep nuwe rekening",
-       "gotaccount": "Het u reeds 'n rekening? $1.",
-       "gotaccountlink": "Meld aan",
-       "userlogin-resetlink": "U besonderhede vergeet?",
        "userlogin-resetpassword-link": "Wagwoord vergeet?",
        "userlogin-helplink2": "Hulp met aanmelding",
        "userlogin-loggedin": "U is reeds aangemeld as {{GENDER:$1|$1}}.\nGebruik die onderstaande vorm om as 'n ander gebruiker aan te meld.",
        "createacct-another-email-ph": "Verskaf e-posadres",
        "createaccountmail": "Gebruik 'n tydelike lukrake wagwoord en stuur dit na die e-posadres hier onder",
        "createacct-realname": "Regte naam (opsioneel)",
-       "createaccountreason": "Rede:",
        "createacct-reason": "Rede",
        "createacct-reason-ph": "Hoekom u nog 'n rekening skep",
        "createacct-submit": "Skep u rekening",
-       "createacct-another-submit": "Skep nog 'n rekening",
+       "createacct-another-submit": "Skep 'n rekening",
+       "createacct-continue-submit": "Gaan voort om 'n rekening te skep",
+       "createacct-another-continue-submit": "Gaan voort om 'n rekening te skep",
        "createacct-benefit-heading": "{{SITENAME}} word deur mense soos u geskep.",
        "createacct-benefit-body1": "{{PLURAL:$1|wysiging|wysigings}}",
        "createacct-benefit-body2": "{{PLURAL:$1|bladsy|bladsye}}",
        "nocookieslogin": "{{SITENAME}} gebruik koekies vir die aanmeld van gebruikers.\nU blaaier laat nie koekies toe nie.\nSkakel dit asseblief aan en probeer weer.",
        "nocookiesfornew": "Die gebruiker is nie geskep nie omdat die oorsprong nie bevestig kon word nie.\nMaak seker dat u koekies aangeskakel het, herlaai die bladsy en probeer dan weer.",
        "noname": "Ongeldige gebruikersnaam.",
-       "loginsuccesstitle": "Suksesvolle aanmelding",
+       "loginsuccesstitle": "Aangemeld",
        "loginsuccess": "U is nou by {{SITENAME}} as \"$1\" ingeteken.",
-       "nosuchuser": "Die gebruiker \"$1\" bestaan nie.\nGebruikersname is gevoelig vir hoofletters.\nMaak seker dit is reg gespel of [[Special:CreateAccount|skep 'n nuwe rekening]].",
+       "nosuchuser": "Die gebruikernaam \"$1\" bestaan nie.\nGebruikername is gevoelig vir hoofletters.\nMaak seker dit is reg gespel of [[Special:CreateAccount|skep 'n nuwe rekening]].",
        "nosuchusershort": "Daar is geen gebruikersnaam \"$1\" nie. Maak seker dit is reg gespel.",
        "nouserspecified": "U moet 'n gebruikersnaam spesifiseer.",
        "login-userblocked": "Hierdie gebruiker is geblokkeer.\nIntekening word verbied.",
        "searchprofile-advanced-tooltip": "Soek in spesifieke naamruimtes",
        "search-result-size": "$1 ({{PLURAL:$2|1 woord|$2 woorde}})",
        "search-result-category-size": "{{PLURAL:$1|1 kategorielid|$1 kategorielede}} ({{PLURAL:$2|1 subkategorie|$2 subkategorieë}}, {{PLURAL:$3|1 lêer|$3 lêers}})",
-       "search-redirect": "(aanstuur $1)",
+       "search-redirect": "(aangestuur vanaf $1)",
        "search-section": "(afdeling $1)",
        "search-category": "(kategorie $1)",
        "search-file-match": "(stem ooreen met die inhoud van die leêr)",
        "prefs-watchlist-token": "Dophoulys-sleutel:",
        "prefs-misc": "Allerlei",
        "prefs-resetpass": "Verander wagwoord",
-       "prefs-changeemail": "Wysig E-posadres",
+       "prefs-changeemail": "Wysig of verwyder e-posadres",
        "prefs-setemail": "Stel 'n e-posadres",
        "prefs-email": "E-posopsies",
        "prefs-rendering": "Voorkoms",
        "saveprefs": "Stoor voorkeure",
-       "restoreprefs": "Herstel voorkeure",
+       "restoreprefs": "Herstel alle verstekvoorkeure (in alle afdelings)",
        "prefs-editing": "Wysigings",
-       "rows": "Rye",
-       "columns": "Kolomme",
        "searchresultshead": "Soekresultate",
-       "stub-threshold": "Drempel vir merk as <a href=\"#\" class=\"stub\">saadjie</a> (grepe):",
+       "stub-threshold": "Drempel vir formatering van saadjies ($1):",
        "stub-threshold-sample-link": "voorbeeld",
        "stub-threshold-disabled": "Afgeskakel",
        "recentchangesdays": "Aantal dae wat in onlangse wysigings vertoon word:",
        "youremail": "E-posadres:",
        "username": "{{GENDER:$1|Gebruikersnaam}}:",
        "prefs-memberingroups": "{{GENDER:$2|Lid}} van {{PLURAL:$1|groep|groepe}}:",
+       "group-membership-link-with-expiry": "$1 (tot $2)",
        "prefs-registration": "Registrasiedatum:",
        "yourrealname": "Regte naam:",
        "yourlanguage": "Taal:",
        "prefs-help-signature": "Kommentaar op besprekingsbladsye moet met \"<nowiki>~~~~</nowiki>\" onderteken word.\nDie tildes word in u handtekening omgeskakel en die datum en tyd word insluit.",
        "badsig": "Ongeldige handtekening; gaan HTML na.",
        "badsiglength": "U handtekening is te lank.\nDit mag nie meer as $1 {{PLURAL:$1|karakter|karakters}} bevat nie.",
-       "yourgender": "Geslag:",
-       "gender-unknown": "Ek wil nie sê nie",
+       "yourgender": "Hoe wil u beskryf word?",
+       "gender-unknown": "Die sagteware sal sover mootlik geslagneutrale woorde gebruik om na u te verwys",
        "gender-male": "Hy bewerk wikiblaaie",
        "gender-female": "Sy bewerk wikiblaaie",
        "prefs-help-gender": "Opsioneel: dit word gebruik om gebruikers korrek aan te spreek in die sagteware.\nDie inligting is vir ander gebruikers sigbaar.",
        "email": "E-pos",
-       "prefs-help-realname": "Regte naam is opsioneel.\nAs u dit verskaf, sal dit gebruik word om erkenning vir u werk te gee.",
+       "prefs-help-realname": "Regte naam is opsioneel.\nAs u dit verskaf, kan dit gebruik word om erkenning vir u werk te gee.",
        "prefs-help-email": "E-posadres is opsioneel, maar is nodig om u wagwoord aan u te stuur sou u dit vergeet.",
        "prefs-help-email-others": "U kan ook kies om ander toe te laat om u deur u gebruikers- en besprekingsbladsy te kontak sonder om u identiteit te openbaar.",
        "prefs-help-email-required": "E-pos adres word benodig.",
        "recentchanges-legend-heading": "<strong>Sleutel:</strong>",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (sien ook die [[Special:NewPages|lys van nuwe bladsye]])",
        "recentchanges-submit": "Wys",
+       "rcfilters-filter-registered-label": "Geregistreer",
+       "rcfilters-filter-registered-description": "Aangemelde redigeerders.",
+       "rcfilters-filter-unregistered-label": "Ongeregistreer",
+       "rcfilters-filter-unregistered-description": "Redigeerders wat nie aangemeld is nie.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Nuwelinge",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Minder as 10 wysigings en 4 dae van aktiwiteit.",
        "rcnotefrom": "Wysigings sedert <strong>$2</strong> (maksimum van <strong>$1</strong> word gewys).",
        "rclistfrom": "Vertoon wysigings vanaf $3 $2",
        "rcshowhideminor": "$1 klein wysigings",
        "apisandbox-submit": "Maak versoek",
        "apisandbox-reset": "Vee uit",
        "apisandbox-retry": "Herprobeer",
-       "apisandbox-examples": "Voorbeeld",
-       "apisandbox-results": "Resultaat",
+       "apisandbox-examples": "Voorbeelde",
+       "apisandbox-results": "Resultate",
        "apisandbox-request-url-label": "Versoek-URL:",
        "apisandbox-request-time": "Versoektyd: $1",
        "booksources": "Boekbronne",
        "sp-contributions-blocked-notice-anon": "Hierdie IP-adres is tans geblokkeer.\nDie laaste inskrywing uit die blokkeerlogboek word hier ter inligting weergegee:",
        "sp-contributions-search": "Soek na bydraes",
        "sp-contributions-username": "IP-adres of gebruikersnaam:",
-       "sp-contributions-toponly": "Wys slegs die nuutste weergawes",
+       "sp-contributions-toponly": "Slegs die nuutste weergawes",
+       "sp-contributions-newonly": "Slegs nuwe bladsye",
+       "sp-contributions-hideminor": "Versteek klein wysigings",
        "sp-contributions-submit": "Soek",
        "whatlinkshere": "Skakels hierheen",
        "whatlinkshere-title": "Bladsye wat na \"$1\" skakel",
        "exif-compression-3": "CCITT Groep 3 fakskodering",
        "exif-compression-4": "CCITT Groep 4 fakskodering",
        "exif-copyrighted-true": "Onder kopiereg",
-       "exif-copyrighted-false": "Publieke Domein",
+       "exif-copyrighted-false": "Kopieregstatus nie gespesifiseer nie",
        "exif-unknowndate": "Datum onbekend",
        "exif-orientation-1": "Normaal",
        "exif-orientation-2": "Horisontaal gespieël",
        "logentry-upload-overwrite": "$1 {{GENDER:$2|het}} 'n nuwe weergawe van $3 opgelaai",
        "logentry-upload-revert": "$1 het $3 {{GENDER:$2|opgelaai}}",
        "rightsnone": "(geen)",
-       "revdelete-summary": "redigeringsopsomming",
        "feedback-adding": "U terugvoer word op die bladsy geplaas...",
        "feedback-back": "Terug",
        "feedback-bugcheck": "Gaaf! Kontroleer of dit nie dalk een van die [$1 bekende foute] is nie.",
        "feedback-submit": "Dien in",
        "feedback-thanks": "Dankie! U terugvoer is op die bladsy \"[$2 $1]\" geplaas.",
        "feedback-thanks-title": "Baie dankie!",
-       "searchsuggest-search": "Soek",
+       "searchsuggest-search": "Deursoek {{SITENAME}}",
        "searchsuggest-containing": "bevat...",
-       "api-error-badaccess-groups": "U word nie toegelaat om lêers te laai op hierdie wiki.",
        "api-error-badtoken": "Interne fout: slegte teken.",
-       "api-error-copyuploaddisabled": "Oplaai via URL is gedeaktiveer op hierdie bediener.",
-       "api-error-duplicate": "Daar {{PLURAL:$1|is al 'n lêer|is al lêers}} met dieselfde inhoud op die wiki.",
-       "api-error-duplicate-archive": "Daar {{PLURAL:$1|was 'n ander lêer|was ander lêers}} op hierdie webtuiste met dieselfde inhoud, maar {{PLURAL:$1|dit is|dit is}} geskrap.",
-       "api-error-empty-file": "Die lêer wat u probeer oplaai is leeg.",
        "api-error-emptypage": "Die skep van leë nuwe bladsye word nie toegelaat nie.",
-       "api-error-fetchfileerror": "Interne fout: Iets het verkeerd gegaan met die haal van die lêer.",
-       "api-error-fileexists-forbidden": "Daar is reeds 'n lêer met die naam \"$1\" wat nie oorskryf kan word nie.",
-       "api-error-fileexists-shared-forbidden": "Daar is reeds 'n lêer met die naam \"$1\" in die gedeelde lêerstoor, en kan nie oorskryf word nie.",
-       "api-error-file-too-large": "Die lêer wat u probeer oplaai is te groot.",
-       "api-error-filename-tooshort": "Die lêernaam is te kort.",
-       "api-error-filetype-banned": "Hierdie tipe lêer is verban en word nie toegelaat nie.",
-       "api-error-filetype-banned-type": "Die {{PLURAL:$4|lêertipe|lêertipes}} $1 word nie toegelaat nie. Toelaatbare {{PLURAL:$3|lêertipes|lêertipes}} is $2.",
-       "api-error-filetype-missing": "Die lêer het nie 'n uitbreiding nie.",
-       "api-error-hookaborted": "Die wysiging wat jy probeer maak, is deur 'n uitbreiding haak geaborteer.",
-       "api-error-http": "Interne fout: Kan nie 'n verbinding met die bediener maak nie.",
-       "api-error-illegal-filename": "Die lêernaam word nie toegelaat nie.",
-       "api-error-internal-error": "Interne fout: daar is iets verkeerd gegaan het met die verwerking van die oplaai van die lêer op die wiki.",
-       "api-error-invalid-file-key": "Interne fout: die lêer is nie in tydelike berging gevind nie.",
-       "api-error-missingparam": "Interne fout: ontbrekende parameters op aanvraag.",
-       "api-error-missingresult": "Interne fout: Kon nie bepaal of die kopie daarin geslaag.",
-       "api-error-mustbeloggedin": "U moet ingeteken wees om lêers te kan laai.",
-       "api-error-mustbeposted": "Interne fout: Die versoek vereis 'n HTTP POST-metode.",
-       "api-error-noimageinfo": "Die oplaai daarin geslaag, maar die bediener het ons nie enige inligting oor die lêer.",
-       "api-error-nomodule": "Interne fout: daar is nie 'n uploadmodule ingestel nie.",
-       "api-error-ok-but-empty": "Interne fout: geen reaksie van die bediener.",
-       "api-error-overwrite": "'N bestaande lêer vervang word nie toegelaat nie.",
-       "api-error-stashfailed": "Interne fout: Server nie tydelike lêer te stoor.",
        "api-error-publishfailed": "Interne fout: bediener kon nie die tydelike lêer publiseer nie.",
-       "api-error-timeout": "Die bediener het nie reageer binne die verwagte tyd.",
-       "api-error-unclassified": "'n Onbekende fout het voorgekom.",
-       "api-error-unknown-code": "Onbekende fout: \"$1\"",
-       "api-error-unknown-error": "Interne fout: daar is iets verkeerd geloop het toe probeer om jou lêer te laai.",
+       "api-error-stashfailed": "Interne fout: Server nie tydelike lêer te stoor.",
        "api-error-unknown-warning": "Onbekende waarskuwing: $1",
        "api-error-unknownerror": "Onbekende fout: \"$1\"",
-       "api-error-uploaddisabled": "Oplaai is afgeskakel op hierdie wiki.",
-       "api-error-verification-error": "Hierdie lêer kan beskadig of het die verkeerde uitbreiding.",
        "duration-seconds": "$1 {{PLURAL:$1|sekonde|sekondes}}",
        "duration-minutes": "$1 {{PLURAL:$1|minuut|minute}}",
        "duration-hours": "$1 {{PLURAL:$1|uur|ure}}",
        "expand_templates_generate_xml": "Wys XML-ontledingsboom",
        "expand_templates_generate_rawhtml": "Wys rou HTML",
        "expand_templates_preview": "Voorskou",
+       "pagelanguage": "Verander bladsytaal",
        "pagelang-name": "Bladsy",
        "pagelang-language": "Taal",
        "pagelang-use-default": "Gebruik standaard taal",
        "pagelang-select-lang": "Kies taal",
+       "pagelang-reason": "Rede",
        "pagelang-submit": "Dien in",
+       "pagelang-nonexistent-page": "Die bladsy $1 bestaan nie.",
        "right-pagelang": "Wysig die taal van die bladsy",
        "log-name-pagelang": "Logboek van taalwysigings",
        "log-description-pagelang": "Hierdie is 'n logboek van wysigings van die taal van bladsye.",
        "special-characters-group-thai": "Thai",
        "special-characters-group-lao": "Laosiaans",
        "special-characters-group-khmer": "Khmer",
+       "special-characters-title-endash": "en-strepie",
+       "special-characters-title-emdash": "em-strepie",
        "special-characters-title-minus": "minusteken",
        "mw-widgets-dateinput-no-date": "Geen datum gekies nie",
        "mw-widgets-dateinput-placeholder-day": "JJJJ-MM-DD",
        "mw-widgets-dateinput-placeholder-month": "JJJJ-MM",
        "mw-widgets-titleinput-description-new-page": "bladsy bestaan nog nie",
        "mw-widgets-titleinput-description-redirect": "aanstuur na $1",
+       "mw-widgets-categoryselector-add-category-placeholder": "Voeg 'n kategorie by...",
+       "mw-widgets-usersmultiselect-placeholder": "Voeg nog by...",
        "sessionprovider-generic": "$1-sessies",
        "log-action-filter-all": "Alle",
        "authmanager-email-label": "E-pos",
index 894e452..e19c3da 100644 (file)
        "talkpage": "Sprecan ymbe þisne tramet",
        "talkpagelinktext": "Mōtung",
        "specialpage": "Syndrig tramet",
-       "personaltools": "Āgne tōlas",
+       "personaltools": "Āgnu tōl",
        "articlepage": "Sēon innunge tramet",
        "talk": "Mōtung",
        "views": "Sihþa",
-       "toolbox": "Tōlas",
+       "toolbox": "Tōl",
        "userpage": "Sēon brūcendes tramet",
        "projectpage": "Sēon weorces tramet",
        "imagepage": "Sēon ymelan tramet",
        "password-change-forbidden": "Þū ne canst awendan þafungword on þissum wiki.",
        "login": "Inmeldian",
        "nav-login-createaccount": "Inmeldian / wyrcan reccinge",
-       "userlogin": "Inmeldian / wyrcan reccinge",
-       "userloginnocreate": "Inmeldian",
        "logout": "Ūtmeldian",
        "userlogout": "Ūtmeldian",
        "notloggedin": "Nā ingemeldod",
        "userlogin-noaccount": "Næfst þu hordcleofan?",
        "userlogin-joinproject": "Ƿeorðan gylda of {{SITENAME}}",
-       "nologin": "Næfst þū reccinge? $1",
-       "nologinlink": "Scieppan reccinge",
        "createaccount": "Scieppan reccinge",
-       "gotaccount": "Hafast þū reccinge ǣr? $1.",
-       "gotaccountlink": "Inmeldian",
        "userlogin-resetpassword-link": "Forgēate þū þīn gelēafword?",
        "userlogin-helplink2": "Inmeldunge help",
        "createacct-emailrequired": "Spearcǣrenda nama",
        "createacct-another-email-ph": "Besettan spearcǣrenda naman",
        "createaccountmail": "Notian hwīlendlic hlīetlic þafungword and sendan hit tō þǣm genamodan spearcǣrendnaman",
        "createacct-realname": "Sōt nama (ungenēdedlic)",
-       "createaccountreason": "Racu:",
        "createacct-reason": "Racu",
        "createacct-reason-ph": "For hwȳ wyrcest þū ōðerne grīman",
        "createacct-submit": "Scieppan þīnne grīman",
        "logentry-delete-delete": "$1 {{GENDER:$2|forlēas}} tramet $3",
        "logentry-move-move": "$1 {{GENDER:$2|wæg}} þone tramet $3 tō $4",
        "logentry-newusers-create": "Brūcendes grīma $1 wæs {{GENDER:$2|geworht}}",
-       "revdelete-summary": "ādihtscortnes",
        "searchsuggest-search": "Sēcan {{SITENAME}}",
        "special-characters-group-latin": "Lǣden",
        "special-characters-group-latinextended": "Ēacnod Lǣden",
index 03fabf7..b4a66a0 100644 (file)
        "login": "تسجيل الدخول",
        "login-security": "توكيد هويتك",
        "nav-login-createaccount": "دخول / إنشاء حساب",
-       "userlogin": "دخول / إنشاء حساب",
-       "userloginnocreate": "تسجيل الدخول",
        "logout": "تسجيل الخروج",
        "userlogout": "اخرج",
        "notloggedin": "غير مسجل للدخول",
        "userlogin-noaccount": "ليس لديك حساب؟",
        "userlogin-joinproject": "انضم إلى {{SITENAME}}",
-       "nologin": "ليس لديك حساب؟ '''$1'''.",
-       "nologinlink": "أنشئ حسابا",
        "createaccount": "أنشئ حسابا",
-       "gotaccount": "لديك حساب؟ '''$1'''.",
-       "gotaccountlink": "تسجيل الدخول",
-       "userlogin-resetlink": "نسيت تفاصيل الدخول؟",
        "userlogin-resetpassword-link": "نسيت كلمة مرورك؟",
        "userlogin-helplink2": "المساعدة في الدخول",
        "userlogin-loggedin": "أنت {{GENDER:$1|مسجل|مسجلة}} الدخول مسبقًا باسم $1. {{GENDER:$1|استخدم|استخدمي}} النموذج بالأسفل لتسجيل الدخول بحساب آخر.",
        "createaccountmail": "استخدم كلمة سر عشوائية مؤقتة وارسلها إلى عنوان البريد الإلكتروني المحدد أدناه",
        "createaccountmail-help": "يمكن استخدامه لإنشاء حساب لشخص آخر من دون معرفة كلمة المرور.",
        "createacct-realname": "الاسم الحقيقي (اختياري)",
-       "createaccountreason": "السبب:",
        "createacct-reason": "السبب",
        "createacct-reason-ph": "لماذا تقوم بإنشاء حساب آخر",
        "createacct-reason-help": "رسالة تظهر في سجل إنشاء الحسابات",
        "page_first": "الأولى",
        "page_last": "الأخيرة",
        "histlegend": "اختيار الفرق: علم على صناديق النسخ للمقارنة واضغط قارن بين النسخ المختارة أو الزر بالأسفل.<br />\nمفتاح: (الحالي) = الفرق مع النسخة الحالية\n(السابق) = الفرق مع النسخة السابقة، ط = تغيير طفيف",
-       "history-fieldset-title": "تصÙ\81Ø­ Ø§Ù\84تارÙ\8aØ®",
+       "history-fieldset-title": "اÙ\84بحث Ø¹Ù\86 Ø§Ù\84Ù\85راجعات",
        "history-show-deleted": "المحذوفة فقط",
        "histfirst": "الأقدم",
        "histlast": "الأحدث",
        "saveusergroups": "احفظ مجموعات {{GENDER:$1|المستخدم|المستخدمة}}",
        "userrights-groupsmember": "عضو في:",
        "userrights-groupsmember-auto": "عضو ضمني في:",
-       "userrights-groups-help": "يمكنك تغيير المجموعات التي ينتمي هذا المستخدم إليها:\n* يعني الصندوق المعلم أن المستخدم في هذه المجموعة.\n* يعني الصندوق غير المعلم أن المستخدم ليس في هذه المجموعة.\n* تعني علامة * عدم إمكانية إزالة المجموعة متى ما أضفتها، أو العكس.\n* تعن علامة # أنه يمكنك فقط تحديد تاريخ الانتهاء لهذه المجموعة؛ لكن لا يمكنك تقديمه بعد تحديده.",
+       "userrights-groups-help": "يمكنك تغيير المجموعات التي ينتمي هذا المستخدم إليها:\n* يعني الصندوق المعلم أن المستخدم ضمن هذه المجموعة.\n* يعني الصندوق غير المعلم أن المستخدم ليس في هذه المجموعة.\n* تعني علامة * عدم إمكانية إزالة المجموعة متى ما أضفتها أو العكس.\n* تعني علامة # أنه يمكنك فقط تحديد تاريخ الانتهاء لهذه المجموعة؛ لكن لا يمكنك تقديمه بعد تحديده.",
        "userrights-reason": "السبب:",
        "userrights-no-interwiki": "أنت لا تمتلك الصلاحية لتعديل صلاحيات المستخدمين على الويكيات الأخرى.",
        "userrights-nodatabase": "قاعدة البيانات $1 غير موجودة أو ليست محلية.",
        "rcfilters-invalid-filter": "مرشح غير صحيح",
        "rcfilters-empty-filter": "لا مرشحات فعالة. كل المساهمات معروضة.",
        "rcfilters-filterlist-title": "مرشحات",
+       "rcfilters-filterlist-whatsthis": "ما هذا؟",
        "rcfilters-filterlist-feedbacklink": "تقديم مراجعات لمرشحات (بيتا) الجديدة",
        "rcfilters-highlightbutton-title": "التعليم على النتائج",
        "rcfilters-highlightmenu-title": "اختر لونًا",
        "rcfilters-highlightmenu-help": "اختر لونا للتعليم على هذه الخاصية",
        "rcfilters-filterlist-noresults": "لم يتم العثور على مرشحات",
+       "rcfilters-noresults-conflict": "لا نتائج تم العثور عليها لأن محددات البحث تعارض بعضها البعض",
+       "rcfilters-state-message-subset": "هذا المرشح ليس له تأثير لأن نتائجه متضمنة في {{PLURAL:$2|المرشح التالي|المرشحات التالية}} الأكثر عمومية (جرب التعليم لتمييزه): $1",
+       "rcfilters-state-message-fullcoverage": "اختيار كل المرشحات في مجموعة له نفس التأثير كاختيار لا شيء، لذا فهذا المرشح ليس له تأثير. المجموعة تتضمن: $1",
        "rcfilters-filtergroup-registration": "تسجيل المستخدم",
        "rcfilters-filter-registered-label": "مسجل",
        "rcfilters-filter-registered-description": "المحررون مسجلو الدخول.",
        "rcfilters-filter-unregistered-label": "غير مسجل",
        "rcfilters-filter-unregistered-description": "المحررون غير مسجلي الدخول.",
+       "rcfilters-filter-unregistered-conflicts-user-experience-level": "هذا المرشح يتعارض مع {{PLURAL:$2|مرشح الخبرة التالي|مرشحات الخبرة التالية}}، و {{PLURAL:$2|الذي يعطي|التي تعطي}} فقط المستخدمين المسجلين: $1",
        "rcfilters-filtergroup-authorship": "ملكية التعديلات",
        "rcfilters-filter-editsbyself-label": "تعديلاتك الشخصية",
        "rcfilters-filter-editsbyself-description": "التعديلات بواسطتك.",
        "rcfilters-filter-editsbyother-label": "التعديلات بواسطة الآخرين",
        "rcfilters-filter-editsbyother-description": "التعديلات المنشأة بواسطة المستخدمين الآخرين (ليس أنت).",
        "rcfilters-filtergroup-userExpLevel": "مستوى الخبرة (للمستخدمين المسجلين فقط)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "القادمون الجدد",
-       "rcfilters-filter-userExpLevel-newcomer-description": "أقل من 10 تعديلات و4 أيام من النشاط.",
-       "rcfilters-filter-userExpLevel-learner-label": "المتعلمون",
-       "rcfilters-filter-userExpLevel-learner-description": "المزيد من أيام النشاط والتعديلات أكثر من \"القادمين الجدد\" ولكن أقل من \"المستخدمين ذوي الخبرة\".",
-       "rcfilters-filter-userExpLevel-experienced-label": "المستخدمون ذوو الخبرة",
-       "rcfilters-filter-userExpLevel-experienced-description": "أكثر من 30 يوما من النشاط و500 تعديل.",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered": "مرشحات الخبرة تعطي فقط المستخدمين المسجلين، لذا فهذا المرشح يتعارض مع مرشح \"غير المسجلين\".",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered-global": "مرشح \"غير المسجلين\" يتعارض مع واحد أو أكثر من مرشحات الخبرة، والتي تعطي المستخدمين المسجلين فقط. المرشحات المتعارضة معلم عليها في مساحة المرشحات النشطة، بالأعلى.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "القادمون الجدد",
+       "rcfilters-filter-user-experience-level-newcomer-description": "أقل من 10 تعديلات و4 أيام من النشاط.",
+       "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": "أكثر من 30 يوما من النشاط و500 تعديل.",
        "rcfilters-filtergroup-automated": "المساهمات الأوتوماتيكية",
        "rcfilters-filter-bots-label": "بوت",
        "rcfilters-filter-bots-description": "التعديلات بواسطة الأدوات الأوتوماتيكية.",
        "rcfilters-filter-humans-label": "بشري (ليس بوت)",
        "rcfilters-filter-humans-description": "التعديلات بواسطة المحررين البشريين.",
+       "rcfilters-filtergroup-reviewstatus": "حالة المراجعة",
+       "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-categorization-description": "سجلات إضافة أو إزالة الصفحات من التصنيفات.",
        "rcfilters-filter-logactions-label": "الأفعال المسجلة",
        "rcfilters-filter-logactions-description": "الأفعال الإدارية، إنشاء الحسابات، حذف الصفحات، عمليات الرفع....",
+       "rcfilters-hideminor-conflicts-typeofchange-global": "مرشح \"التعديلات الطفيفة\" يتعارض مع مرشح واحد أو أكثر من مرشحات نوع التغيير، وذلك لأن بعض أنواع التغيير لا يمكن التعليم عليها ك\"طفيفة.\" المرشحات المتعارضة معلم عليها في مساحة المرشحات النشطة بالأعلى.",
+       "rcfilters-hideminor-conflicts-typeofchange": "بعض أنواع التغييرات لا يمكن التعليم عليها ك\"طفيفة،\" لذا فهذا المرشح يتعارض مع مرشحات نوع التغيير التالية: $1",
+       "rcfilters-typeofchange-conflicts-hideminor": "مرشح نوع التغيير هذا يتعارض مع مرشح \"التعديلات الطفيفة\". بعض أنواع التغييرات لا يمكن التعليم عليها ك\"طفيفة.\"",
        "rcnotefrom": "بالأسفل {{PLURAL:$5|التغيير|التغييرات}} منذ <strong>$2</strong> (إلى <strong>$1</strong> معروضة).",
        "rclistfrom": "أظهر التغييرات بدء من $3 $2",
        "rcshowhideminor": "$1 التعديلات الطفيفة",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|حدث|حدثت}} الوسوم للمراجعة $4 للصفحة $3 ({{PLURAL:$7|أضاف}} $6; {{PLURAL:$9|أزال}} $8)",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|حدث|حدثت}} الوسوم على مدخلة السجل $5 للصفحة $3 ({{PLURAL:$7|أضاف}} $6; {{PLURAL:$9|أزال}} $8)",
        "rightsnone": "(لا شيء)",
-       "revdelete-summary": "ملخص التعديل",
        "rightslogentry-temporary-group": "$1 (مؤقت، حتى $2)",
        "feedback-adding": "إضافة تعليقات إلى الصفحة...",
        "feedback-back": "رجوع",
index 79fc096..232427d 100644 (file)
        "viewhelppage": "شوف الباجة تاع المعاونة",
        "categorypage": "شوف الباجة تاع الصنيف",
        "viewtalkpage": "شوف التقرعيج",
-       "otherlanguages": "ب لوغات اخرين",
+       "otherlanguages": "بلوغات اخرين",
        "redirectedfrom": "(محول من $1)",
        "redirectpagesub": "باجة تاع التحوال",
        "redirectto": "حوّل لـ:",
        "externaldberror": "بالاك كاشما صرات غلطة فل توتاق تاع داتاباز ولا ما عندكش السراح باش تبدّل الحساب تاعك الخرجاني.",
        "login": "تسجال الدخول",
        "nav-login-createaccount": "تسجل/ اصنع حساب",
-       "userlogin": "تسجل/ اصنع حساب",
-       "userloginnocreate": "مسجّل الدخول",
        "logout": "مسجّل الخروج",
        "userlogout": "سجل خروج",
        "notloggedin": "ماشي مسجّل داخل.",
        "userlogin-noaccount": "ما عندك حساب؟",
        "userlogin-joinproject": "انضم لـ {{SITENAME}}",
-       "nologin": "ما عندكش حساب مسجل؟ '''$1'''.",
-       "nologinlink": "اصنع حساب",
        "createaccount": "اصنع حساب",
-       "gotaccount": "عندك حساب مسجل؟ '''$1'''.",
-       "gotaccountlink": "كونكسيون",
-       "userlogin-resetlink": "نسيت تفاصيل الدخول؟",
        "userlogin-resetpassword-link": "راك ناسي كلمت` السرّ؟",
        "userlogin-helplink2": "معاونة ف تسجال الدخول",
        "userlogin-loggedin": "راك مازلت مسجّل داخل ب`السميّة {{GENDER:$1|$1}}.\nاستعمل الجدوال تاع التجواب الّي هنا لتحت باش تتسجّل داخل ب سميّت` مستعملي وحداخُر.",
        "createacct-another-email-ph": "دخّل علوان تاع إيمال",
        "createaccountmail": "استعمل كلمت` سرّ على الزهَر و ابعتها للإيمال المنعوت هنايا.",
        "createacct-realname": "الأسم الحقّاني (ماشي محتّم)",
-       "createaccountreason": "سبّة:",
        "createacct-reason": "سبّة",
        "createacct-reason-ph": "علاش راك تخلق حساب وحداخُر",
        "createacct-submit": "اصنع حسابك",
        "passwordreset-emaildisabled": "الفعاليّات تاع الإيمال راهي محبّسة ف هاد الويكي.",
        "passwordreset-username": "سميّت` المستعملي:",
        "passwordreset-domain": "الدومان:",
-       "passwordreset-capture": "شوف الإيمال الناتج؟",
-       "passwordreset-capture-help": "يلا تقبش (cocher) هاد القويبسة، الإيمال (ب كلمت` السرّ المأقّتة) غادي يتورّا لك كلّي راه مبعوت لل مستعملي.",
        "passwordreset-email": "آدريسة تاع إيمال:",
        "passwordreset-emailtitle": "وصافات تاع الحساب ف {{SITENAME}}",
        "passwordreset-emailtext-ip": "شي واحد (يكون بالاك نتا، لادريسة إيپي $1) راه طلَب المصاوبة تاع كلمت` السرّ تاعك ف {{SITENAME}} ($4). {{PLURAL:$3|هاد الحساب |هاد الحسابات}} تاع المستعملي {{PLURAL:$3|راه مربوط|راهم مربوطين}} ب لادريسة تاع الإيمال:\n\n$2\n\n{{PLURAL:$3|هاد كلمت` السرّ المأقّتة|هادي كلمات` السرّ المأقّتة}} غادي يكمل صلوحها منّا على {{PLURAL:$5|نهار واحد|$5 إيّام}}.\nمليح لوكان تدخُل ل`السيت من ضركا و تبدّل كلمت` السرّ.\nيلا كاش ما وحداخُر دار هاد المطلب ولا راك تفكّرت كلمت` السرّ تاعك و ما بقيتش باغي تبدّلها، تنجم برك تنسا هاد الميساج و تستعمل كلمت` السرّ تاعك تاع مضاري.",
        "tooltip-search": " فتّش في {{SITENAME}}",
        "tooltip-search-go": "روح ل صفحة عندها نفس هاذ الاسم ايذا توجْدت",
        "tooltip-search-fulltext": "فتّش ع الپاجات الّي فيها هاذ النصّ",
-       "tooltip-p-logo": "زÙ\88ر ØµÙ\81حة Ø§Ù\84استÙ\82باÙ\84",
+       "tooltip-p-logo": "زÙ\88ر Ø§Ù\84باجة Ø§Ù\84Ù\84Ù\88Ù\84Ø©",
        "tooltip-n-mainpage": "زور الپاجة اللولانيّة",
        "tooltip-n-mainpage-description": "زور صفحة الاستقبال",
-       "tooltip-n-portal": "ع Ø§Ù\84Ù\85شرÙ\88عØ\8c Ø´Ù\86Ù\88Ù\91 ØªÙ\82در ØªØ¯Ù\8aرØ\8c Ù\81Ù\8aÙ\86 ØªÙ\84Ù\82Ù\89 Ø§Ù\84حاجات Ø§Ù\84Ù\91ي حاجتك بيها",
+       "tooltip-n-portal": "بخÙ\88صÙ\88ص Ø§Ù\84Ù\85شرÙ\88عØ\8c Ù\88اش ØªÙ\82در ØªØ¯Ù\8aرØ\8c Ù\88Ù\8aÙ\86 ØªÙ\84Ù\82Ù\89 Ø§Ù\84Ù\85عÙ\84Ù\88Ù\85Ø© Ø§Ù\84Ù\84ي حاجتك بيها",
        "tooltip-n-currentevents": "شوف اش قاعد يصير",
        "tooltip-n-recentchanges": "ليستة تاع التبدالات الاخّرين ف الويكي",
        "tooltip-n-randompage": "شرجي صفحة ع الزهر",
        "logentry-move-move": "{{GENDER:$2|نقّل|نقّلت}} $1 الصفحة $3 لـ $4",
        "logentry-newusers-create": "راه تفتح حساب {{GENDER:$2|المستخدم|المستخدمه}} $1",
        "logentry-upload-upload": " {{GENDER:$2|نزّل|نزّلت}} $1 $3",
-       "searchsuggest-search": "فتّش"
+       "searchsuggest-search": "فتّش في"
 }
index deff232..b46c154 100644 (file)
        "login": "Entrar",
        "login-security": "Comprobación d'identidá",
        "nav-login-createaccount": "Entrar / crear cuenta",
-       "userlogin": "Entrar / crear cuenta",
-       "userloginnocreate": "Aniciar sesión",
        "logout": "Salir",
        "userlogout": "Salir",
        "notloggedin": "Nun anició sesión",
        "userlogin-noaccount": "¿Nun tien una cuenta?",
        "userlogin-joinproject": "Xunise a {{SITENAME}}",
-       "nologin": "¿Nun tienes una cuenta? $1.",
-       "nologinlink": "Crear una cuenta",
        "createaccount": "Crear una cuenta",
-       "gotaccount": "¿Yá tienes una cuenta? $1.",
-       "gotaccountlink": "Aniciar sesión",
-       "userlogin-resetlink": "¿Escaeció los datos d'accesu?",
        "userlogin-resetpassword-link": "¿Escaeció la contraseña?",
        "userlogin-helplink2": "Ayuda del aniciu de sesión",
        "userlogin-loggedin": "Yá anició sesión como {{GENDER:$1|$1}}.\nUtilice'l formulariu de más abaxo p'aniciar sesión como otru usuariu.",
        "createaccountmail": "Usar una contraseña al debalu temporal y unviala a la direición de corréu electrónicu conseñada",
        "createaccountmail-help": "Pue usase pa crear una cuenta pa otra persona ensin saber la contraseña.",
        "createacct-realname": "Nome real (opcional)",
-       "createaccountreason": "Motivu:",
        "createacct-reason": "Motivu",
        "createacct-reason-ph": "Por qué quier crear otra cuenta",
        "createacct-reason-help": "Mensaxe que s'amuesa nel rexistru de creación de cuentes",
        "page_first": "primera",
        "page_last": "cabera",
        "histlegend": "Seleición de diferencies: marca los botones de les versiones que quies comparar y calca <i>enter</i> o al botón d'abaxo.<br />\nLleenda: '''({{int:cur}})''' = diferencies cola versión actual, '''({{int:last}})''' = diferencies cola versión anterior, '''{{int:minoreditletter}}''' = edición menor.",
-       "history-fieldset-title": "Navegar pel historial",
-       "history-show-deleted": "Sólo desaniciaes",
+       "history-fieldset-title": "Buscar revisiones",
+       "history-show-deleted": "Sólo desaniciaes por revisión",
        "histfirst": "lo más antiguo",
        "histlast": "lo más nuevo",
        "historysize": "({{PLURAL:$1|1 byte|$1 bytes}})",
        "prefs-help-prefershttps": "Esta preferencia aplicaráse nel siguiente aniciu de sesión.",
        "prefswarning-warning": "Ficisti cambios nes tos preferencies qu'inda nun se guardaron.\nSi abandones esta páxina ensin calcar \"$1\" les preferencies nun s'anovarán.",
        "prefs-tabs-navigation-hint": "Gabitu: pue usar les tecles de flecha izquierda y drecha pa navegar peles llingüetes de la llista.",
-       "userrights": "Xestión de permisos d'usuariu",
+       "userrights": "Permisos d'usuariu",
        "userrights-lookup-user": "Seleiciona un usuariu",
        "userrights-user-editname": "Escribe un nome d'usuariu:",
        "editusergroup": "Cargar los grupos d'usuariu",
        "rcfilters-invalid-filter": "Filtru inválidu",
        "rcfilters-empty-filter": "Nun hai filtros activos. Amuésense toles contribuciones.",
        "rcfilters-filterlist-title": "Filtros",
+       "rcfilters-filterlist-whatsthis": "¿Qué ye esto?",
        "rcfilters-filterlist-feedbacklink": "Comentar sobro los nuevos filtros (beta)",
        "rcfilters-highlightbutton-title": "Resaltar resultaos",
        "rcfilters-highlightmenu-title": "Seleiciona un color",
+       "rcfilters-highlightmenu-help": "Seleiciona un color pa resaltar esta propiedá",
        "rcfilters-filterlist-noresults": "Nun s'alcontraron filtros",
+       "rcfilters-noresults-conflict": "Nun s'alcontraron resultaos porque los criterios de gueta tán en conflictu",
+       "rcfilters-state-message-subset": "Esti filtru nun fai efeutu porque los resultaos inclúyense ente los {{PLURAL:$2|del siguiente filtru más ampliu|de los siguientes filtros más amplios}} (tenta resaltalu pa estremalu): $1",
+       "rcfilters-state-message-fullcoverage": "Seleicionar tolos filtros d'un grupu ye igual que nun seleicionar nengunu, de manera qu'esti filtru nun tien efeutu. El grupu incluye: $1",
        "rcfilters-filtergroup-registration": "Rexistru del usuariu",
        "rcfilters-filter-registered-label": "Rexistraos",
        "rcfilters-filter-registered-description": "Editores coneutaos.",
        "rcfilters-filter-unregistered-label": "Non rexistraos",
        "rcfilters-filter-unregistered-description": "Editores ensin coneutar.",
+       "rcfilters-filter-unregistered-conflicts-user-experience-level": "Esti filtru fai conflictu {{PLURAL:$2|col siguiente filtru|colos siguientes filtros}} Experience, qu'{{PLURAL:$2|alcuentra|alcuentren}} sólo usuarios rexistraos: $1",
        "rcfilters-filtergroup-authorship": "Editar autoría",
        "rcfilters-filter-editsbyself-label": "Les tos propies ediciones",
        "rcfilters-filter-editsbyself-description": "Ediciones de to",
        "rcfilters-filter-editsbyother-label": "Ediciones d'otros",
        "rcfilters-filter-editsbyother-description": "Ediciones creaes por otros usuarios (non por ti).",
        "rcfilters-filtergroup-userExpLevel": "Nivel d'esperiencia (solo pa usuarios rexistraos)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "Recién llegaos",
-       "rcfilters-filter-userExpLevel-newcomer-description": "Menos de 10 ediciones y 4 díes d'actividá.",
-       "rcfilters-filter-userExpLevel-learner-label": "Aprendices",
-       "rcfilters-filter-userExpLevel-learner-description": "Más díes d'actividá y ediciones que los «Recién llegaos», pero menos que los «Usuarios espertos».",
-       "rcfilters-filter-userExpLevel-experienced-label": "Usuarios espertos",
-       "rcfilters-filter-userExpLevel-experienced-description": "Más de 30 díes d'actividá y 500 ediciones.",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered": "Los filtros Experience alcuentren sólo usuarios rexistraos, de manera qu'esti filtru entra en conflictu col filtru «Sin rexistrar».",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered-global": "El filtru «Ensin rexistrar» tien un conflictu con un filtru Experience o más, qu'alcuentren sólo usuarios rexistraos. Los filtros que tienen un conflictu márquense nel área de Filtros activos, más arriba.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Recién llegaos",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Menos de 10 ediciones y 4 díes d'actividá.",
+       "rcfilters-filter-user-experience-level-learner-label": "Aprendices",
+       "rcfilters-filter-user-experience-level-learner-description": "Más díes d'actividá y ediciones que los «Recién llegaos», pero menos que los «Usuarios espertos».",
+       "rcfilters-filter-user-experience-level-experienced-label": "Usuarios espertos",
+       "rcfilters-filter-user-experience-level-experienced-description": "Más de 30 díes d'actividá y 500 ediciones.",
        "rcfilters-filtergroup-automated": "Contribuciones automátiques",
        "rcfilters-filter-bots-label": "Bot",
        "rcfilters-filter-bots-description": "Ediciones feches con ferramientes automátiques.",
        "rcfilters-filter-humans-label": "Ser humanu (non bot)",
        "rcfilters-filter-humans-description": "Ediciones feches por editores humanos.",
+       "rcfilters-filtergroup-reviewstatus": "Estáu de revisión",
+       "rcfilters-filter-patrolled-label": "Patrullaes",
+       "rcfilters-filter-patrolled-description": "Ediciones marcaes como patrullaes.",
+       "rcfilters-filter-unpatrolled-label": "Sin patrullar",
+       "rcfilters-filter-unpatrolled-description": "Ediciones sin marcar como patrullaes.",
        "rcfilters-filtergroup-significance": "Significación",
        "rcfilters-filter-minor-label": "Ediciones menores",
        "rcfilters-filter-minor-description": "Ediciones que l'autor etiquetó como menores.",
        "rcfilters-filter-categorization-description": "Rexistros de les páxines que s'añaden o borren de categoríes.",
        "rcfilters-filter-logactions-label": "Aiciones rexistraes",
        "rcfilters-filter-logactions-description": "Aiciones alministratives, creación de cuentes, desanicios de páxines, xubíes de ficheros...",
+       "rcfilters-hideminor-conflicts-typeofchange-global": "El filtru «Ediciones menores» fai conflictu con un filtru «Tipu de cambiu» o más, porque dellos tipos de cambiu nun pueden designase como «menores». Los filtros que faen conflictu tan marcaos nel área de Filtros Activos, más arriba.",
+       "rcfilters-hideminor-conflicts-typeofchange": "Dellos tipos de cambiu nun pueden designase como «menores», de manera qu'esti filtru fai conflictu colos siguientes filtros «Tipu de cambiu»: $1",
+       "rcfilters-typeofchange-conflicts-hideminor": "Esti filtru de «Tipu de cambiu» fai conflictu col filtru «Ediciones menores». Dellos tipos de cambiu nun pueden designase como «menores».",
        "rcnotefrom": "Abaxo {{PLURAL:$5|tá'l cambiu|tan los cambios}} dende'l <strong>$3</strong>, a les <strong>$4</strong> (s'amuesen un máximu de <strong>$1</strong>).",
        "rclistfrom": "Amosar los nuevos cambios dende'l $3 a les $2",
        "rcshowhideminor": "$1 ediciones menores",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|anovó}} etiquetes na revisión $4 de la páxina $3 ({{PLURAL:$7|amestó}} $6; {{PLURAL:$9|desanició}} $8)",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|anovó}} etiquetes na entrada del rexistru $5 de la páxina $3 ({{PLURAL:$7|amestó}} $6; {{PLURAL:$9|desanició}} $8)",
        "rightsnone": "(nengún)",
-       "revdelete-summary": "editar resume",
        "rightslogentry-temporary-group": "$1 (temporal, ata $2)",
        "feedback-adding": "Amestando el comentariu a la páxina...",
        "feedback-back": "Anterior",
diff --git a/languages/i18n/atj.json b/languages/i18n/atj.json
new file mode 100644 (file)
index 0000000..22e9288
--- /dev/null
@@ -0,0 +1,511 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Amqui",
+                       "Benoit Rochon",
+                       "Jean-paul echaquan",
+                       "Jeannette Coocoo",
+                       "Nehirowisiw",
+                       "Ninmeka",
+                       "Thibaut120094"
+               ]
+       },
+       "sunday": "manactakaniwon",
+       "monday": "ockorkananiwon",
+       "tuesday": "nicw kicikaw",
+       "wednesday": "nicto kicikaw",
+       "thursday": "new kicikaw",
+       "friday": "tcipaiatikw kicikaw",
+       "saturday": "mari kicikaw",
+       "sun": "manactakaniwon",
+       "mon": "ockorkananiwon",
+       "tue": "Nicw kicikaw",
+       "wed": "nicto kicikaw",
+       "thu": "new kicikaw",
+       "fri": "tcipaiatikw kicikaw",
+       "sat": "mari kicikaw",
+       "january": "Kenositc pisimw",
+       "february": "Akokatcic pisimw",
+       "march": "Nikikw pisimw",
+       "april": "Ka wasikototc pisimw",
+       "may_long": "Wapikon pisimw",
+       "june": "Otehimin pisimw",
+       "july": "Mikomini pisimw",
+       "august": "Otatakon pisimw",
+       "september": "Kakone pisimw",
+       "october": "Namekosi pisimw",
+       "november": "Atikamekw pisimw",
+       "december": "Pitcipipon pisimw",
+       "january-gen": "Kenositc pisimw",
+       "february-gen": "Akokatcic pisimw",
+       "march-gen": "Nikikw pisimw",
+       "april-gen": "Ka wasikototc pisimw",
+       "may-gen": "Wapikon pisimw",
+       "june-gen": "Otehimin pisimw",
+       "july-gen": "Mikomini pisimw",
+       "august-gen": "Otatakon pisimw",
+       "september-gen": "Kakone pisimw",
+       "october-gen": "Namekosi pisimw",
+       "november-gen": "Atikamekw pisimw",
+       "december-gen": "Pitcipipon pisimw",
+       "jan": "Kenositc pisimw",
+       "feb": "Akokatcic pisimw",
+       "mar": "Nikikw pisimw",
+       "apr": "Ka wasikototc pisimw",
+       "may": "Wapikon pisimw",
+       "jun": "Otehimin pisimw",
+       "jul": "Mikomini pisimw",
+       "aug": "Otatakon pisimw",
+       "sep": "Kakone pisimw",
+       "oct": "Namekosi pisimw",
+       "nov": "Atikamekw pisimw",
+       "dec": "Pitcipipon pisimw",
+       "january-date": "Kenositc pisimw $1",
+       "february-date": "Akokatcic pisimw $1",
+       "march-date": "Nikikw pisimw $1",
+       "april-date": "Ka wasikototc pisimw $1",
+       "may-date": "Wapikon pisimw $1",
+       "june-date": "Otehimin pisimw $1",
+       "july-date": "Mikomini pisimw $1",
+       "august-date": "Otatakon pisimw $1",
+       "september-date": "Kakone pisimw $1",
+       "october-date": "Namekosi pisimw $1",
+       "november-date": "Atikamekw pisimw $1",
+       "december-date": "Pitcipipon pisimw $1",
+       "pagecategories": "{{PLURAL:$1|Ka ici arimotcikatek|Ka ici arimotcikateki}}",
+       "category_header": "Masinhikana ka ici arimotcikateki \"$1\"",
+       "hidden-categories": "{{PLURAL:$1|Ka katcictek|Ka katcicteki}}",
+       "listingcontinuesabbrev": "minawatc",
+       "about": "Taci we otciparik",
+       "newwindow": "(cepita kotak ocki osapwakan)",
+       "cancel": "Ponipita",
+       "mypage": "Masinhikan",
+       "mytalk": "Ka ici arimowaniok",
+       "anontalk": "Ka ici arimowaniok",
+       "navigation": "Matcecikinikan",
+       "and": "&#32;kaie",
+       "qbbrowse": "Nantowepaha",
+       "qbedit": "Meckotcita",
+       "namespaces": "Ka ici masinasotcik",
+       "variants": "Pitoc",
+       "navigation-heading": "Matcecikinikana",
+       "errorpagetitle": "Oniparin",
+       "returnto": "Nte ica paskickwemakanik $1",
+       "tagline": "Epe otcipirik {{SITENAME}}",
+       "help": "Witcihici",
+       "search": "Nantokaskeritcikatek",
+       "searchbutton": "Nantokaskeritcikatek",
+       "go": "Go",
+       "searcharticle": "Tapowata",
+       "history": "Ka ki pe icinakok owe masinhikan",
+       "history_short": "Isparik",
+       "history_small": "isparik",
+       "printableversion": "Wi orowipitamone",
+       "permalink": "Matakan pamikicikwepitcikanik",
+       "print": "Orowipitaman",
+       "view": "Tapwatcike",
+       "view-foreign": "Nta ici ntowapata$1",
+       "edit": "Meckotcita",
+       "create": "Ocita",
+       "editthispage": "Mecikotona owe",
+       "delete": "Wepina",
+       "newpage": "Ocki matcecikinakanik",
+       "talkpagelinktext": "ka ici arimowaniok",
+       "personaltools": "Kit irapatcitcikan",
+       "talk": "Ka ici arimowaniok",
+       "views": "Ke icinakok",
+       "toolbox": "Irapitcitcikan",
+       "projectpage": "Kitci wapataman nehe masinihikan ocki otamirowinik otci",
+       "otherlanguages": "Kotakhi aiarimowewina",
+       "redirectedfrom": "(Taci e kiweckwemokok $1)",
+       "lastmodifiedat": "Pamitcitc ka meckotcitakiniwok ni apitc $1, ka tatopihikanihak $2.",
+       "jumpto": "Ica:",
+       "jumptonavigation": "matcetcicihikan",
+       "jumptosearch": "nantokaskeritcikatek",
+       "aboutsite": "Taci we otciparik {{SITENAME}}",
+       "aboutpage": "Project:Enko nehe",
+       "currentevents": "Mekwata",
+       "currentevents-url": "Project:Mekwata",
+       "disclaimers": "Ke ekwamanictcikatek",
+       "disclaimerpage": "Project:Witamakaniwon orocowewin",
+       "edithelp": "Witcihewin e matcetcicihaman",
+       "helppage-top-gethelp": "Witcihici",
+       "mainpage": "Otitikowin",
+       "mainpage-description": "Otitikowin",
+       "portal": "Kaskina namo awik",
+       "portal-url": "Project:Kaskina namo awik",
+       "privacy": "Kekwan ke ki ici nitcictaman",
+       "privacypage": "Project:Kekwan ke ki ici nitcictaman",
+       "ok": "OK",
+       "retrievedfrom": "Neta pe otcipirin \"$1\"",
+       "editsection": "meckotcita",
+       "editold": "meckotcita",
+       "editlink": "meckotcita",
+       "viewsourcelink": "Nte ici nta kanawapata e otciparik",
+       "editsectionhint": "Meckotcita ota: $1",
+       "toc": "Tekaci ecinakok",
+       "showtoc": "Wapata",
+       "hidetoc": "Kata",
+       "confirmable-yes": "Ehe",
+       "confirmable-no": "Nama",
+       "site-atom-feed": "Flux Atom de $1",
+       "page-atom-feed": "\"$1\" Atom feed",
+       "red-link-title": "$1 (nama takon kekwcic)",
+       "nstab-main": "Masinhikan",
+       "nstab-user": "{{GENDER:{{ROOTPAGENAME}}|Ka masinahiketc|Ka masinahiketc}}",
+       "nstab-special": "Ka ici wectakaniok",
+       "nstab-project": "nohwe ma",
+       "nstab-image": "Masinhikan",
+       "nstab-category": "Ka ici arimotcikatek",
+       "mainpage-nstab": "Otitikowin",
+       "error": "Oniparin",
+       "databaseerror-error": "Oniparin: $1",
+       "badtitle": "nama mia icinikatew",
+       "viewsource": "Nte ici nta kanawapata e otciparik",
+       "yourname": "Icinikasowin:",
+       "userlogin-yourname": "Icinikasowin",
+       "userlogin-yourname-ph": "Pitakesinaha kit icinikasowin",
+       "yourpassword": "Pitakesinahotiso:",
+       "userlogin-yourpassword": "Pitakesinahotiso",
+       "userlogin-yourpassword-ph": "Pitakesinihikan",
+       "createacct-yourpassword-ph": "Acta pitakesinihikan",
+       "createacct-yourpasswordagain": "Naskamowicta pitakesinihikan",
+       "createacct-yourpasswordagain-ph": "Minawatc acta pitakesinihikan",
+       "login": "Posi",
+       "logout": "Piskeapikenakan",
+       "userlogout": "Piskeapikenakan",
+       "createaccount": "Masinahotiso",
+       "userlogin-resetpassword-link": "Ki onikan kipitakesinihikan?",
+       "createacct-emailrequired": "Pamikicikwepitcikan matcetcicihikan",
+       "createacct-emailoptional": "Pamikicikwepitcikan matcetcicihikan (kir kotc)",
+       "createacct-email-ph": "Pitakesinaha ki pamikicikwepitcikan matcetcicihikan",
+       "createacct-submit": "Masinahotiso",
+       "createacct-benefit-heading": "{{SITENAME}} Iskwewok,iriniwok ka orisinihiketcik mitowi kir.",
+       "createacct-benefit-body2": "{{PLURAL:$1|masinhikan|masinahikana}}",
+       "loginlanguagelabel": "arimwewin:$1",
+       "pt-login": "Posi",
+       "pt-login-button": "Posi",
+       "pt-createaccount": "Masinahotiso",
+       "pt-userlogout": "Piskeapikenakan",
+       "botpasswords-label-cancel": "Ponipita",
+       "botpasswords-label-delete": "Wepina",
+       "resetpass-submit-cancel": "Ponipita",
+       "passwordreset-username": "Icinikasowin:",
+       "passwordreset-email": "Pamikicikwepitcikan matcetcicihikan:",
+       "bold_sample": "Atisokesinahikan e makatewasinatek",
+       "bold_tip": "Atisokesinahikan e makatewasinatek",
+       "italic_sample": "Atisokesinahikan ka kwectek",
+       "italic_tip": "Atisokesinahikan ka kwectek",
+       "link_sample": "Ka icinkatek takapikenikan",
+       "link_tip": "Pitc itapikesinikan",
+       "extlink_sample": "http://www.example.com ka icinkatek takapikenikan",
+       "extlink_tip": "Masinhikana ka ici tapitik kotakik masinhikanik",
+       "headline_sample": "Atisokesinahikan ke aicinikatek",
+       "nowiki_sample": "Acta atisokesinahikan aka moci ka ki otci nihipitcikatek ota",
+       "nowiki_tip": "aka pamerita e itasinihakw wiki",
+       "image_tip": "E pitakesinahikatek masinahikaniwoc",
+       "media_tip": "Ka ici tapitik onimiskimasinhikan",
+       "sig_tip": "Masinohotiso acit e tato konekisitc pisimw",
+       "summary": "Nosem:",
+       "minoredit": "Apicic meckotciparin",
+       "watchthis": "Wi nosinetahine ohe masinhikan",
+       "savearticle": "Kinokepitcikanik acta",
+       "showpreview": "Tcockapita",
+       "showdiff": "Kanawapata ka meckotcipitcikateki",
+       "loginreqlink": "posi",
+       "editing": "Meckotcita $1",
+       "templatesused": "{{PLURAL:$1|tapapitcikan ka apatak |tapapitcikan ka apatak}} nta paskickwemakanik:",
+       "template-protected": "(nakatweritcikatew)",
+       "template-semiprotected": "(apita nakatoweritakon)",
+       "content-model-javascript": "JavaScript",
+       "viewpagelogs": "Kinawapta kekwan kaki isparik ota masinhikanik",
+       "revisionasof": "Kiwe wapata $1",
+       "previousrevision": "← Nictam ka ki masinatek",
+       "cur": "E otapekitikw",
+       "last": "pitoc",
+       "history-feed-title": "Kotakihi e itatcitcikatekai",
+       "rev-showdeleted": "wapata",
+       "revdelete-show-file-submit": "Ehe",
+       "pagehist": "Ka ki pe icinakok owe masinhikan",
+       "history-title": "Kotakihi e itatcitcikatekai $1",
+       "lineno": "E tosinatek $1 :",
+       "editundo": "nama ntwatc",
+       "searchresults": "Kaki nta kiskeritakok",
+       "searchresults-title": "Kaki nta kiskeritakok \"$1\"",
+       "shown-title": "Akoskoha $1 {{PLURAL:$1|result|results}}  tatwa e matce paskickwemikein",
+       "searchprofile-articles": "Masinhikana ka aicteki",
+       "searchprofile-images": "Mitcetowina",
+       "searchprofile-everything": "Kaskina",
+       "searchprofile-advanced": "Awocamec nantona",
+       "searchprofile-articles-tooltip": "Nantowapita $1",
+       "searchprofile-images-tooltip": "ka nantopitcikatek nakwe masinhikan",
+       "searchprofile-everything-tooltip": "Nantona nta kitciwe natosinahikanik (acit nte paskickwemakanik taci e ici aiarimotcikatek)",
+       "searchprofile-advanced-tooltip": "Nantona taci e ici actek  ka mihikok",
+       "search-result-size": "$1 ({{PLURAL:$2|1 itewin e masinatek|$2 itewina e masinateki}})",
+       "search-redirect": "(Taci e kiweckwemokok $1)",
+       "searchall": "kaskina",
+       "powersearch-legend": "Awocamec nantona",
+       "powersearch-toggleall": "Kaskina",
+       "preferences": "Kirowe",
+       "mypreferences": "Kirowe",
+       "saveprefs": "Kinokepitcikanik",
+       "searchresultshead": "Nantokaskeritcikatek",
+       "stub-threshold-disabled": "Manisinaha",
+       "prefs-searchoptions": "Nantokaskeritcikatek",
+       "youremail": "Matcetcicihikan:",
+       "email": "Matcetcicihikan",
+       "group-user": "Ka mitatc",
+       "right-writeapi": "Ohwe apitcita A.P.I meckoti aitotaman wikik",
+       "newuserlogpage": "E ici masinasotcik ka pitakesinohotosotcik",
+       "action-edit": "mecikotona owe",
+       "enhancedrc-history": "isparik",
+       "recentchanges": "Ka ki meckotcitakanioki",
+       "recentchanges-legend": " Ka meckotcitain matcenikana",
+       "recentchanges-label-newpage": "Ocki paskickwemikan ki ocitamakan",
+       "recentchanges-label-minor": "Apicic meckotciparin",
+       "recentchanges-label-bot": "Icike ki meckotciparin",
+       "recentchanges-label-unpatrolled": "Nama moci koski tapwatcikatew ka ki meckotcipirik",
+       "recentchanges-label-plusminus": " Irikik e tacitcik bytes meckotcipirin e irikwak",
+       "recentchanges-legend-heading": "<strong>itekesinihikan:</strong>",
+       "recentchanges-submit": "Wapata",
+       "rclistfrom": "Nokota ka ki mameckotcipirik nta e otci kitcipirik $2$3",
+       "rcshowhideminor": "$1 memantcic meckotcipirina",
+       "rcshowhideminor-show": "Wapata",
+       "rcshowhideminor-hide": "Kata",
+       "rcshowhidebots": "$1 meckotciparini",
+       "rcshowhidebots-show": "Wapata",
+       "rcshowhidebots-hide": "Kata",
+       "rcshowhideliu": "$1 ka notcitatcik e ici masinohotisotcik",
+       "rcshowhideliu-show": "Wapata",
+       "rcshowhideliu-hide": "Kata",
+       "rcshowhideanons": "$1 nama kiskeritakosiw ka ki masinahaki",
+       "rcshowhideanons-show": "Wapata",
+       "rcshowhideanons-hide": "Kata",
+       "rcshowhidepatr-show": "Wapata",
+       "rcshowhidepatr-hide": "Kata",
+       "rcshowhidemine": "$1 ka meckotcipitaman",
+       "rcshowhidemine-show": "Wapata",
+       "rcshowhidemine-hide": "Kata",
+       "rcshowhidecategorization-show": "Wapata",
+       "rcshowhidecategorization-hide": "Kata",
+       "rclinks": "Nokota nehi $1 ka ki mamitcit mameckotcipitcikatekai $2 nac nta  mamitcitc e kicikakai<br />$3.",
+       "diff": "pitoc",
+       "hist": "e itatisokatek",
+       "hide": "Kata",
+       "show": "Wapata",
+       "minoreditletter": "a",
+       "newpageletter": "O",
+       "boteditletter": "p",
+       "rc-change-size-new": "$1 {{PLURAL:$1|irik|irikw}} ke askowak",
+       "recentchangeslinked": "Nosineta masinhikana e mamowapiketik",
+       "recentchangeslinked-toolbox": "Nosineta masinhikana e mamowapiketik",
+       "recentchangeslinked-title": "E nosinehikatek paskickwemikana ka acotcictek\"$1\"",
+       "recentchangeslinked-page": "Icinikatamowin Ickwemakinikan:",
+       "upload": "Natcipota masinhikan",
+       "filedesc": "Nosem",
+       "fileuploadsummary": "Nosem:",
+       "filesource": "Ite wetciparik:",
+       "upload-dialog-button-cancel": "Ponipita",
+       "upload-dialog-button-save": "Kinokepitcikanik",
+       "upload-form-label-infoform-description": "E witcikemakak",
+       "upload-form-label-infoform-categories": "Nakwe tipanictasinihikan",
+       "upload-form-label-infoform-date": "Tatokonakisitc",
+       "license-header": "orocowatcikan",
+       "listfiles-delete": "wepina",
+       "imgfile": "masinhikan",
+       "listfiles": "Ka ici tapitik onimiskimasinhikan",
+       "listfiles_thumb": "Masinasonic",
+       "listfiles_date": "Tatokonakisitc",
+       "listfiles_user": "Ka mitatc",
+       "listfiles_description": "E witcikemakak",
+       "listfiles-latestversion-yes": "Ehe",
+       "listfiles-latestversion-no": "Nama",
+       "file-anchor-link": "Masinahikaniwoc",
+       "filehist": "E itatisokemakak masinahikaniwoc",
+       "filehist-help": "Ota ici nta makona e tatokonikisitc acitc e tato tipahikaneak kitci wapataman apitc ka masinatek.",
+       "filehist-current": "mekwatc",
+       "filehist-datetime": "Tatokonakisitc acitc tato tipahikaneak",
+       "filehist-thumb": "Masinasonic",
+       "filehist-user": "Ka mitatc",
+       "filehist-dimensions": "E iskwaki",
+       "filehist-comment": "E iteritaman",
+       "imagelinks": "Ke irapatak masinahikaniwoc",
+       "nolinkstoimage": "Nama tekaci apatan masinahikaniwoc.",
+       "upload-disallowed-here": "Nama actew  kata meckotanaman.",
+       "filedelete": "Wepina $1",
+       "filedelete-submit": "Wepina",
+       "randompage": "Nakowepitaman",
+       "randomincategory-category": "Ka ici arimotcikatek:",
+       "randomincategory-submit": "Tapowata",
+       "statistics-pages": "Masinahikana",
+       "pageswithprop-submit": "Tapowata",
+       "brokenredirects-edit": "meckotcita",
+       "brokenredirects-delete": "wepina",
+       "withoutinterwiki-submit": "Wapata",
+       "nbytes": "$1 {{PLURAL:$1|irik}}",
+       "prefixindex-submit": "Wapata",
+       "protectedpages-page": "Masinhikan",
+       "newpages": "Ocki matcecikinakanik",
+       "newpages-submit": "Wapata",
+       "newpages-username": "Icinikasowin:",
+       "booksources": "E otciparik",
+       "booksources-search-legend": "Nantowapata nta kotakahi wapatcikana",
+       "booksources-search": "Nanto kiskeritcikatek",
+       "log": "Pamikickwepitcikana masinihikana",
+       "logeventslist-submit": "Wapata",
+       "checkbox-all": "Kaskina",
+       "allpages": "Kaskina paskickwemikana",
+       "allarticles": "Kaskina paskickwemikana",
+       "allpagessubmit": "Tapowata",
+       "categories": "Nakwe tipanictasinihikan",
+       "categories-submit": "Wapata",
+       "sp-deletedcontributions-contribs": "Wi kipitanikeine",
+       "linksearch-ok": "Nantokaskeritcikatek",
+       "listusers-submit": "Wapata",
+       "listgrouprights-namespaceprotection-namespace": "Ka ici masinasotcik",
+       "emailusername": "Icinikasowin:",
+       "watchlist": "Ka masinateki",
+       "mywatchlist": "Ka masinateki",
+       "watch": "Nanakatcita",
+       "watchlist-hide": "Kata",
+       "watchlist-submit": "Wapata",
+       "wlshowhideanons": "nama kiskeritakosiw ka ki masinahak",
+       "enotif_anon_editor": "nama kiskeritakosiw ka ki masinahak $1",
+       "delete-confirm": "Wepina \"$1\"",
+       "delete-legend": "Wepina",
+       "historyaction-submit": "Wapata",
+       "dellogpage": " Nesitc ka wepinikatek kanaweritcikan",
+       "rollbacklink": "e maninikatek",
+       "restriction-edit": "Meckotcita",
+       "undeleteviewlink": "tapwatcike",
+       "undelete-search-submit": "Nantokaskeritcikatek",
+       "undelete-show-file-submit": "Ehe",
+       "namespace": "Ka ici masinasotcik:",
+       "invert": "koweckisinaha nohwe",
+       "namespace_association": "Taci e mamowisinasonaniwok",
+       "blanknamespace": "(Ka ici ocitakiniwok)",
+       "mycontris": "Wi kipitanikeine",
+       "anoncontribs": "Wi kipitanikeine",
+       "uctop": "(mekwatc)",
+       "month": "Anotc pisimw ka akotcinitc (nac nte nictam):",
+       "sp-contributions-talk": "ka ici arimowaniok",
+       "sp-contributions-submit": "Nantokaskeritcikatek",
+       "whatlinkshere": "Kaskina ickwemikina ka witci acteki",
+       "whatlinkshere-title": "Masinhikan nte mia ka ici tapitik \"$1\"",
+       "whatlinkshere-page": "Masinhikan:",
+       "linkshere": "Masinhikan ka ici tapitik <strong>[[:$1]]</strong>:",
+       "isredirect": "masinhikan ke kweskiticohemikok",
+       "isimage": "e ici tapitik masinahikaniwoc",
+       "whatlinkshere-links": "← ka patiki",
+       "whatlinkshere-hidelinks": "$1 ka patiki",
+       "whatlinkshere-submit": "Tapowata",
+       "ipblocklist-submit": "Nantokaskeritcikatek",
+       "blocklink": "nokipita",
+       "contribslink": "wi kipitanikeine",
+       "movesubpagetalktext": "",
+       "export": "Matcetacaha masinhikana",
+       "allmessages-filter-all": "Kaskina",
+       "allmessages-filter-submit": "Tapowata",
+       "thumbnail-more": "Micata",
+       "tooltip-pt-userpage": "{{GENDER:|Ki masinahikan|Ki masinahikan}}",
+       "tooltip-pt-login": "Arimatc kika witen e icikasoin: nama tatakatc kitci kiskeritakosiin.",
+       "tooltip-pt-logout": "Piskeapikenakan",
+       "tooltip-pt-createaccount": "A arimatc kika ocitan kitci cenaman: nama aric tatakatc otcitakotc.",
+       "tooltip-ca-talk": "Kecpin wi aimihate awik aniherie otci",
+       "tooltip-ca-edit": "Mecikotona owe",
+       "tooltip-ca-addsection": "Kitcipirin ocki aimihitosinihikan",
+       "tooltip-ca-viewsource": "Nakataweritakon paskickwemikan\n Taci e otcipirik",
+       "tooltip-ca-history": "Nictam kaki itasinahikatek",
+       "tooltip-ca-move": "Orinkata owe masinhikan",
+       "tooltip-ca-watch": "E ici nosinehaman ici acotcicta paskickwemakan",
+       "tooltip-search": "Nantokaskeritcikatek {{SITENAME}}",
+       "tooltip-search-go": "Ekota neta icakw kepitc tanokwen itewin",
+       "tooltip-search-fulltext": "Nantona paskickwemakana atisokesinahikanik",
+       "tooltip-p-logo": "Nictam ka nokok",
+       "tooltip-n-mainpage": "Nictam ka nokok",
+       "tooltip-n-mainpage-description": "Nictam ka nokok",
+       "tooltip-n-portal": "Anihe otci ka tacikatek mia keki totaman tan nte ke otinaman ke kictapatak",
+       "tooltip-n-currentevents": "Ke ici miskaman ka wi nta kiseritaman",
+       "tooltip-n-recentchanges": "Ka ki mecikitonikatek",
+       "tooltip-n-randompage": "Kaskina kekowan",
+       "tooltip-n-help": "Witcihiewin",
+       "tooltip-t-whatlinkshere": "Ka masinateti ite e ici itohikemakak",
+       "tooltip-t-recentchangeslinked": "Ka masinateki anihi kaki atcitakaniwok",
+       "tooltip-feed-atom": "Atom itapihikan ohwe otci paskickwemikan",
+       "tooltip-t-upload": "Matceticiha masinhikan",
+       "tooltip-t-specialpages": "Kotahaki masinhikana",
+       "tooltip-t-print": "Matci keki orowipitaman kitci masinatekipan",
+       "tooltip-t-permalink": "Taci mia e otcitik",
+       "tooltip-ca-nstab-main": "Ki nawapta ka masinateki",
+       "tooltip-ca-nstab-user": "Kitci wapitaman nehe masinhikan ka apitak",
+       "tooltip-ca-nstab-special": "Ohowe kitcickwemakinikan,nama actew kitci meckotcitaparik.",
+       "tooltip-ca-nstab-project": "Kitci wapataman nehe masinihikan ocki otamirowinik otci",
+       "tooltip-ca-nstab-image": "Kitci wapitaman nehe masinhikan",
+       "tooltip-ca-nstab-category": "Kitci wapitaman nehe mia ka ici arimotcikatek",
+       "tooltip-save": "Kinokepita ka meckotcisinihaman",
+       "tooltip-preview": "Mikwetc pitaman e kanawapataman kaki meckotcitain, e pwamici actain pamikicikwepitcikanik.",
+       "tooltip-diff": "Nokota nohwe ka ki meckotcisinihaham  masinihikanik",
+       "tooltip-summary": "Acta e arimotaman masinihikan apicic",
+       "simpleantispam-label": "Ntokiskeritcike piciriwe masinihikan \n\nNte nota <strong>nama kekwan</strong> masinaha ota!",
+       "pageinfo-toolboxlink": "Tipatcimo masinahikan",
+       "pageinfo-contentpage-yes": "Ehe",
+       "pageinfo-protect-cascading-yes": "Ehe",
+       "confirm-markpatrolled-button": "OK",
+       "show-big-image": "E otciparik masinahikaniwoc",
+       "show-big-image-preview": "E irikweckwemikisitc$1",
+       "show-big-image-size": "$1 x $2 pixels",
+       "ilsubmit": "Nantokaskeritcikatek",
+       "monday-at": "ockorkananiwon $1",
+       "wednesday-at": "nicto kicikaw $1",
+       "thursday-at": "new kicikaw $1",
+       "friday-at": "tcipaiatikw kicikaw $1",
+       "saturday-at": "mari kicikaw $1",
+       "sunday-at": "manactakaniwon $1",
+       "metadata": "E ici tipatcitcikatek",
+       "exif-orientation": "Itactamictew",
+       "exif-datetime": "Apitc ka meckotcitakaniwok",
+       "exif-make": "Ka ki ocitatatc masinapiskihikaniw",
+       "exif-model": "E icinakok masinapiskohewin",
+       "exif-datetimeoriginal": "E tato piponikak nictam ka masinohaniwok",
+       "exif-datetimedigitized": "e tato konekisit pisimw ka capwapiskipitcikatek",
+       "exif-source": "Ite wetciparik",
+       "exif-iimcategory": "Ka ici arimotcikatek",
+       "exif-orientation-1": "Ekote mia",
+       "exif-contrast-0": "Ekote mia",
+       "exif-saturation-0": "Ekote mia",
+       "exif-sharpness-0": "Ekote mia",
+       "exif-dc-date": "Tatokonakisitc",
+       "namespacesall": "kaskina",
+       "monthsall": "kaskina",
+       "confirm_purge_button": "OK",
+       "confirm-watch-button": "OK",
+       "confirm-unwatch-button": "OK",
+       "confirm-rollback-button": "OK",
+       "quotation-marks": "\"$1\"",
+       "imgmultigo": "Tapowata!",
+       "img-lang-go": "Tapowata",
+       "table_pager_limit_submit": "Tapowata",
+       "version-ext-colheader-description": "E witcikemakak",
+       "version-libraries-description": "E witcikemakak",
+       "redirect-submit": "Tapowata",
+       "fileduplicatesearch-submit": "Nantokaskeritcikatek",
+       "specialpages": "Ka ici wectakaniok",
+       "tags-source-header": "Ite wetciparik",
+       "tags-active-yes": "Ehe",
+       "tags-active-no": "Nama",
+       "tags-edit": "meckotcita",
+       "tags-delete": "wepina",
+       "tags-create-submit": "Ocita",
+       "compare-page1": "Masinhikan 1",
+       "compare-page2": "Masinhikan 2",
+       "htmlform-no": "Nama",
+       "htmlform-yes": "Ehe",
+       "htmlform-cloner-delete": "Manina",
+       "feedback-cancel": "Ponipita",
+       "searchsuggest-search": "Nantona {{SITENAME}}",
+       "expand_templates_ok": "OK",
+       "pagelang-name": "Masinhikan",
+       "log-action-filter-all": "Kaskina",
+       "log-action-filter-block-block": "Nokipita",
+       "authmanager-email-label": "Matcetcicihikan"
+}
index 4aa597b..8bbbfd3 100644 (file)
        "externaldberror": "Verilənlər bazasının doğruluğunu yoxlamada xəta baş verib və yaxud sizin xarici istifadəçi qeydiyyatını yeniləmək hüququnuz yoxdur.",
        "login": "Daxil ol",
        "nav-login-createaccount": "Daxil ol / hesab yarat",
-       "userlogin": "Daxil ol və ya qeydiyyatdan keç",
-       "userloginnocreate": "Daxil ol",
        "logout": "Çıxış",
        "userlogout": "Çıxış",
        "notloggedin": "Daxil olmamısınız",
        "userlogin-noaccount": "İstifadəçi hesabınız yoxdur?",
        "userlogin-joinproject": "{{SITENAME}} layihəsinə qoşulun",
-       "nologin": "İstifadəçi hesabınız yoxdur? $1.",
-       "nologinlink": "Hesab yarat",
        "createaccount": "Hesab yarat",
-       "gotaccount": "İstifadəçi hesabınız varmı? '''$1'''.",
-       "gotaccountlink": "Daxil olun",
-       "userlogin-resetlink": "Daxilolma məlumatlarınızı unutmusunuz?",
        "userlogin-resetpassword-link": "Parolunuzu unutmusunuz?",
        "userlogin-helplink2": "Qeydiyyat barədə köməklik",
        "userlogin-loggedin": "Siz artıq {{GENDER:$1|$1}} kimi daxil olmusunuz.\nAşağıdakı formadan istifadə edərək, başqa bir istifadəçi kimi daxil ola bilərsiniz.",
        "createacct-another-email-ph": "E-poçt ünvanını daxil edin",
        "createaccountmail": "Müvəqqəti təsadüfi bir paroldan istifadə edə bilər və bu parolu göstərilən e-poçt ünvanına göndərə bilərsiniz",
        "createacct-realname": "Əsl adınız (məcburi deyil)",
-       "createaccountreason": "Səbəb:",
        "createacct-reason": "Səbəb",
        "createacct-reason-ph": "Niyə başqa bir hesab yaradırsınız",
        "createacct-submit": "İstifadəçi hesabı yarat",
        "subject": "Mövzu:",
        "minoredit": "Kiçik redaktə",
        "watchthis": "Bu səhifəni izlə",
-       "savearticle": "Səhifəni qeyd et",
+       "savearticle": "Səhifəni dərc et",
        "publishpage": "Səhifəni yayımla",
        "publishchanges": "Dəyişiklikləri yayımla",
        "preview": "Sınaq görüntüsü",
        "prefs-timeoffset": "Saat qurşağının fərqi",
        "prefs-advancedediting": "Ümumi parametrlər",
        "prefs-editor": "Redaktor",
+       "prefs-preview": "İlkin baxış",
        "prefs-advancedrc": "Ətraflı variantlar",
        "prefs-advancedrendering": "Ətraflı variantlar",
        "prefs-advancedsearchoptions": "Ətraflı variantlar",
        "logentry-newusers-autocreate": "$1 istifadəçi hesabı avtomatik yaradıldı",
        "logentry-upload-upload": "$1 $3 faylını {{GENDER:$2|yüklədi}}.",
        "rightsnone": "(yoxdur)",
-       "revdelete-summary": "redaktə xülasəsi",
        "feedback-bugnew": "Mən yoxladım. Yeni xəta barədə xəbər ver",
        "feedback-cancel": "İmtina",
        "feedback-close": "Oldu",
        "duration-centuries": "$1 {{PLURAL:$1|əsr|əsr}}",
        "duration-millennia": "$1 {{PLURAL:$1|minillik|minillik}}",
        "limitreport-cputime": "CPU vaxt istifadəsi",
+       "limitreport-cputime-value": "$1 {{PLURAL:$1|saniyə|saniyə}}",
        "limitreport-walltime": "Real vaxt istifadəsi",
+       "limitreport-walltime-value": "$1 {{PLURAL:$1|saniyə|saniyə}}",
        "limitreport-postexpandincludesize-value": "$1/$2 bayt",
        "expand_templates_output": "Nəticə",
        "expand_templates_ok": "OK",
index 5470783..bc6a601 100644 (file)
        "login": "Танылыу",
        "login-security": "Үҙ шәхесегеҙҙе раҫлағыҙ",
        "nav-login-createaccount": "Танылыу йәки теркәлеү",
-       "userlogin": "Танылыу йәки теркәлеү",
-       "userloginnocreate": "Танылыу",
        "logout": "Тамамлау",
        "userlogout": "Тамамлау",
        "notloggedin": "Танылмағанһығыҙ",
        "userlogin-noaccount": "Иҫәп яҙмағыҙ юҡмы?",
        "userlogin-joinproject": "Проектҡа ҡушылырға",
-       "nologin": "Һеҙ теркәлмәгәнһегеҙме әле? '''$1'''.",
-       "nologinlink": "Иҫәп яҙыуын булдырырға",
        "createaccount": "Яңы ҡатнашыусыны теркәү",
-       "gotaccount": "Әгәр Һеҙ теркәлеү үткән булһағыҙ? '''$1'''.",
-       "gotaccountlink": "Танылыу",
-       "userlogin-resetlink": "Танылыу мәғлүмәттәрен оноттоғоҙмо?",
        "userlogin-resetpassword-link": "Серһүҙҙе оноттоғоҙмо?",
        "userlogin-helplink2": "Танылыу буйынса ярҙам",
        "userlogin-loggedin": " Һеҙ {{GENDER:$1|$1}} булараҡ индегеҙ инде. Башҡа файҙаланыусы булып инер өсөн аҫтағы ҡалыпты ҡулланығыҙ.",
        "createaccountmail": "Осраҡлы рәүештә хасил ителгән ваҡытлыса серһүҙҙе файҙаланырға һәм уны миңә ошо электрон почтаһы адресына ебәрергә",
        "createaccountmail-help": "Серһүҙен һорамайынса, башҡа кешегә иҫәп яҙмаһын төҙөү өсөн ҡулланыла ала.",
        "createacct-realname": "Ысын исемегеҙ (мотлаҡ түгел)",
-       "createaccountreason": "Сәбәп:",
        "createacct-reason": "Сәбәп",
        "createacct-reason-ph": "Икенсе иҫәп яҙмаһы һеҙгә ни өсөн кәрәк?",
        "createacct-reason-help": "Иҫәп яҙмаһын төҙөү журналында күренгән хәбәр",
        "right-createtalk": "Фекер алышыу битен яһау",
        "right-createaccount": "Ҡатнашыусыларҙың яңы иҫәп яҙыуҙарын булдырыу",
        "right-autocreateaccount": "Ҡатнашыусының тышҡы иҫәп яҙмаһы менән инергә",
-       "right-minoredit": "Ò®ҙгәртеүҙәрҙе \"Әҙ үҙгәрештәр\" тип билдәләү",
+       "right-minoredit": "Ò¯ҙгәртеүҙәрҙе \"Әҙ үҙгәрештәр\" тип билдәләү",
        "right-move": "Биттәрҙең исемен үҙгәртеү",
        "right-move-subpages": "Ҡушымталары менән бергә биттәрҙең исемен алыштырыу",
        "right-move-rootuserpages": "Ҡулланыусыларҙың төп биттәренең исемен үҙгәртеү",
        "rcshowhidemine": "минең үҙгәртеүҙәремде $1",
        "rcshowhidemine-show": "Күрһәтергә",
        "rcshowhidemine-hide": "Йәшерергә",
-       "rcshowhidecategorization": "$1 биттәрҙе категориялаштырыу",
+       "rcshowhidecategorization": "Биттәр категориялаштырыуын $1",
        "rcshowhidecategorization-show": "Күрһәтергә",
        "rcshowhidecategorization-hide": "Йәшерелгән",
        "rclinks": "Һуңғы $2 көн эсендәге һуңғы $1 үҙгәртеүҙе күрһәтергә<br />$3",
        "notargettext": "Һеҙ был ғәмәл өсөн кәрәкле битте йәки ҡатнашыусыны күрһәтмәгәнһегеҙ.",
        "nopagetitle": "Бындай бит юҡ",
        "nopagetext": "Һеҙ күрһәткән бит юҡ.",
-       "pager-newer-n": "$1{{PLURAL:$1|1=1 яңыраҡ|$1 яңыраҡ}}",
+       "pager-newer-n": "{{PLURAL:$1|1=1 яңыраҡ|$1 яңыраҡ}}",
        "pager-older-n": "{{PLURAL:$1|1=1 иҫкерәк|$1 иҫкерәк}}",
        "suppress": "Йәшереү",
        "querypage-disabled": "Был махсус бит һөҙөмтәлелекте арттырыу өсөн ябылған.",
        "listusers-blocked": "(бикләнгән)",
        "activeusers": "Әүҙем ҡатнашыусылар исемлеге",
        "activeusers-intro": "Был — һуңғы $1 {{PLURAL:$1|көн}} эсендә ниҙер башҡарған ҡатнашыусылар исемлеге.",
-       "activeusers-count": "Ò»Ñ\83Ò£Ò\93Ñ\8b $3 {{PLURAL:$3|1=көн}} Ñ\8dÑ\81ендÓ\99ге Ò»Ñ\83Ò£Ò\93Ñ\8b ÐºÓ©Ð½Ð´Ó\99 $1 {{PLURAL:$1|үҙгәртеү}}",
+       "activeusers-count": "ÒºÑ\83Ò£Ò\93Ñ\8b {{PLURAL:$3|$3 ÐºÓ©Ð½Ð´Ó\99}} $1 {{PLURAL:$1|үҙгәртеү}}",
        "activeusers-from": "Ошондай хәрефтәрҙән башланған ҡатнашыусыларҙы күрһәтергә:",
        "activeusers-noresult": "Ҡатнашыусылар табылманы",
        "activeusers-submit": "Әүҙем ҡулланыусыларҙы күрһәтергә",
        "wlshowhideanons": "Аноним ҡулланыусылар",
        "wlshowhidepatr": "Тикшерелгән төҙәтеүҙәр",
        "wlshowhidemine": "Минең үҙгәртеүҙәр",
-       "wlshowhidecategorization": "Ð\91иттәрҙе категориялаштырыу",
+       "wlshowhidecategorization": "биттәрҙе категориялаштырыу",
        "watchlist-options": "Күҙәтеү исемлеге көйләүҙәре",
        "watching": "Күҙәтеү исемлегенә өҫтәү...",
        "unwatching": "Күҙәтеү исемлегенән сығарыу...",
        "confirmemail": "Электрон почта адресын раҫлау",
        "confirmemail_noemail": "Һеҙҙең [[Special:Preferences|көйләүҙәрегеҙҙә]] дөрөҫ электрон почта адресы юҡ.",
        "confirmemail_text": "{{SITENAME}} проекты электрон почта мөмкинлектәрен ҡулланыр алдынан электрон почта адресының раҫланыуын талап итә.\nЭлектрон адресты раҫлау хаты һеҙҙең почтағыҙға ебәрелһен өсөн, түбәндәге төймәгә баҫығыҙ.\nХатта махсус биткә һылтанма буласаҡ, был һылтанманы браузерығыҙҙа асҡандан һуң, һеҙҙең электрон почта адресығыҙ раҫланған, тип һаналасаҡ.",
-       "confirmemail_pending": "ЭлекÑ\82Ñ\80он Ð¿Ð¾Ñ\87Ñ\82а Ð°Ð´Ñ\80еÑ\81Ñ\8bн Ñ\80аҫлаÑ\83 Ñ\85аÑ\82Ñ\8b Ò»ÐµÒ\99гÓ\99 ÐµÐ±Ó\99Ñ\80елгÓ\99н Ð¸Ð½Ðµ Ð¸Ð½Ð´Ðµ.\nÓ\98гÓ\99Ñ\80 Ò»ÐµÒ\99 Ð¸Ò«Ó\99п Ñ\8fÒ\99маһÑ\8bн Ñ\8fÒ£Ñ\8bÑ\80аҡ Ð±Ñ\83лдÑ\8bÑ\80һаÒ\93Ñ\8bÒ\99, Ò»ÐµÒ\99гÓ\99 Ð±Ñ\8bл Ñ\85аÑ\82Ñ\82Ñ\8b Ñ\8fÒ£Ñ\8bнан Ò»Ð¾Ñ\80аÑ\80 Ð°Ð»Ð´Ñ\8bнан, Ñ\85аÑ\82 ÐºÐ¸Ð»Ð³Ó\99нÑ\81е, Ð±ÐµÑ\80 Ð½Ð¸Ñ\81Ó\99 Ð¼Ð¸Ð½Ñ\83Ñ\82 ÐºÓ©Ñ\82Ó©Ñ\80гÓ\99 ÐºÓ\99Ñ\80Ó\99к.",
+       "confirmemail_pending": "ЭлекÑ\82Ñ\80он Ð¿Ð¾Ñ\87Ñ\82а Ð°Ð´Ñ\80еÑ\81Ñ\8bн Ñ\80аҫлаÑ\83 Ñ\85аÑ\82Ñ\8b Ò»ÐµÒ\99гÓ\99 ÐµÐ±Ó\99Ñ\80елгÓ\99йне.\nÓ\98гÓ\99Ñ\80 Ò»ÐµÒ\99 Ð¸Ò«Ó\99п Ñ\8fÒ\99маһÑ\8bн Ñ\8fÒ£Ñ\8bÑ\80аҡ Ð±Ñ\83лдÑ\8bÑ\80һаÒ\93Ñ\8bÒ\99, Ñ\80аҫлаÑ\83 Ñ\85аÑ\82Ñ\8bн Ò¡Ð°Ð±Ð°Ñ\82Ñ\82ан Ò»Ð¾Ñ\80аÑ\80 Ð°Ð»Ð´Ñ\8bнан, Ñ\8dлеккеһе ÐºÐ¸Ð»Ð³Ó\99нен Ð±ÐµÑ\80 Ð°Ò\99 ÐºÓ©Ñ\82өгөÒ\99.",
        "confirmemail_send": "Электрон почта адресын раҫлау хатын ебәрергә",
        "confirmemail_sent": "Электрон почта адресын раҫлау хаты ебәрелде.",
        "confirmemail_oncreate": "Электрон почта адресын раҫлау хаты һеҙ күрһәткән адрес буйынса ебәрелде.\nХатта күрһәтелгән һылтанма системала танылыу талап итмәй, ләкин элетрон почта мөмкинлектәрен вики проектта ҡулланыр өсөн, һеҙгә танылырға кәрәк.",
        "logentry-tag-update-revision": "$1 {{GENDER:$2||яңыртты}}  $4 өлгөһөнөң тамғаларын $3 битендә ({{PLURAL:$7|өҫтәне}} $6; {{PLURAL:$9|юйылған}} $8)",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2||а}}журналда билдәләнгән яҙмаларҙы яңыртты $5 биттәр $3 (өҫтәлгән{{PLURAL:$7|а|ы}} $6; юйылған{{PLURAL:$9|а|ы}} $8)",
        "rightsnone": "(юҡ)",
-       "revdelete-summary": "үҙгәртеүҙәр тасуирламаһы",
        "feedback-adding": "Биткә кире белдереү өҫтәлә",
        "feedback-back": "Артҡа",
        "feedback-bugcheck": "Шәп! Тик [$1 билдәле хаталар] исемлегендә оҡшаш белдереүҙең булмауына иғтибар итегеҙ.",
index 502c814..9602673 100644 (file)
        "login": "Увайсьці",
        "login-security": "Пацьвердзіце вашую асобу",
        "nav-login-createaccount": "Уваход / стварэньне рахунку",
-       "userlogin": "Увайсьці ў сыстэму / стварыць рахунак",
-       "userloginnocreate": "Увайсьці",
        "logout": "Выйсьці",
        "userlogout": "Выйсьці",
        "notloggedin": "Вы не ўвайшлі ў сыстэму",
        "userlogin-noaccount": "Ня маеце рахунку?",
        "userlogin-joinproject": "Далучайцеся да {{GRAMMAR:родны|{{SITENAME}}}}",
-       "nologin": "Ня маеце рахунку? $1.",
-       "nologinlink": "Стварыце рахунак",
        "createaccount": "Стварэньне рахунку",
-       "gotaccount": "Ужо маеце рахунак? $1.",
-       "gotaccountlink": "Увайдзіце",
-       "userlogin-resetlink": "Забыліся на зьвесткі для ўваходу?",
        "userlogin-resetpassword-link": "Забылі пароль?",
        "userlogin-helplink2": "Дапамога з уваходам у сыстэму",
        "userlogin-loggedin": "Вы ўжо ўвайшлі як {{GENDER:$1|$1}}.\nДля ўваходу пад іншым удзельнікам скарыстайцеся формай унізе.",
        "createaccountmail": "Стварыць часовы адвольны пароль і даслаць яго на пазначаны адрас электроннай пошты",
        "createaccountmail-help": "Можа выкарыстоўвацца для стварэньня рахунку для іншага чалавека бязь веданьня паролю.",
        "createacct-realname": "Сапраўднае імя (неабавязкова)",
-       "createaccountreason": "Прычына:",
        "createacct-reason": "Прычына",
        "createacct-reason-ph": "Зь якой мэтай вы ствараеце іншы рахунак",
        "createacct-reason-help": "Паведамленьне, якое паказваецца ў журнале стварэньня рахункаў",
        "page_first": "першая",
        "page_last": "апошняя",
        "histlegend": "Параўнаньне: пазначце кропкамі дзьве вэрсіі для параўнаньня і націсьніце «ўвод» альбо кнопку ўнізе.<br />\nТлумачэньне: <strong>({{int:cur}})</strong> = адрозьненьні ад цяперашняй вэрсіі, <strong>({{int:last}})</strong> = адрозьненьні ад папярэдняй вэрсіі, <strong>{{int:minoreditletter}}</strong> = дробная праўка.",
-       "history-fieldset-title": "Пошук у гісторыі",
+       "history-fieldset-title": "Пошук вэрсіяў",
        "history-show-deleted": "Толькі выдаленыя",
        "histfirst": "найстарэйшыя",
        "histlast": "найноўшыя",
        "revdelete-suppress-text": "Скрываньне можа выкарыстоўвацца '''толькі''' ў наступных выпадках:\n* патэнцыйна паклёпніцкая інфармацыя\n* раскрыцьцё асабістых зьвестак\n*: ''хатнія адрасы, тэлефонныя нумары, нумары пашпартоў і г. д.''",
        "revdelete-legend": "Усталяваць абмежаваньні бачнасьці",
        "revdelete-hide-text": "Тэкст вэрсіі",
-       "revdelete-hide-image": "Схаваць зьмест файла",
+       "revdelete-hide-image": "Схаваць зьмест файлу",
        "revdelete-hide-name": "Схаваць мэту і парамэтры",
        "revdelete-hide-comment": "Апісаньне зьменаў",
        "revdelete-hide-user": "Імя ўдзельніка/IP-адрас",
        "revdelete-log": "Прычына:",
        "revdelete-submit": "Ужыць для {{PLURAL:$1|1=выбранай вэрсіі|выбраных вэрсіяў}}",
        "revdelete-success": "Бачнасьць вэрсіі абноўленая.",
-       "revdelete-failure": "'''Немагчыма абнавіць бачнасьць вэрсіі:'''\n$1",
+       "revdelete-failure": "Немагчыма абнавіць бачнасьць вэрсіі:\n$1",
        "logdelete-success": "Бачнасьць падзеі ўсталяваная.",
-       "logdelete-failure": "'''Немагчыма ўстанавіць бачнасьць у журнале:'''\n$1",
-       "revdel-restore": "Ð\97ьмяніць бачнасьць",
+       "logdelete-failure": "Немагчыма ўсталяваць бачнасьць журнала:\n$1",
+       "revdel-restore": "зьмяніць бачнасьць",
        "pagehist": "Гісторыя старонкі",
        "deletedhist": "Выдаленая гісторыя",
        "revdelete-hide-current": "Памылка хаваньня запісу ад $2 $1: гэта цяперашняя вэрсія.\nЗапіс ня можа быць схаваны.",
        "revdelete-show-no-access": "Памылка паказу запісу ад $2 $1: гэты запіс быў пазначаны як «абмежаваны».\nВы ня маеце да яго доступу.",
        "revdelete-modify-no-access": "Памылка зьмены запісу ад $2 $1: гэты запіс быў пазначаны як «абмежаваны».\nВы ня маеце да яго доступу.",
        "revdelete-modify-missing": "Памылка мадыфікацыі запісу з ідэнтыфікатарам $1: запіс не існуе ў базе зьвестак!",
-       "revdelete-no-change": "'''Папярэджаньне:''' запіс ад $2 $1 ужо мае запатрабаваныя налады бачнасьці.",
+       "revdelete-no-change": "<strong>Папярэджаньне:</strong> запіс ад $2 $1 ужо мае запытаныя налады бачнасьці.",
        "revdelete-concurrent-change": "Памылка зьмены запісу ад $2 $1: яго статус быў зьменены кімсьці іншым, пакуль Вы спрабавалі яго зьмяніць.\nКалі ласка, праверце журналы.",
        "revdelete-only-restricted": "Памылка хаваньня запісаў элемэнтаў $2, $1: Вы ня можаце схаваць запісы ад прагляду адміністратарамі бяз выбару адной зь іншых наладаў хаваньня.",
        "revdelete-reason-dropdown": "* Агульныя прычыны выдаленьня\n** Парушэньне аўтарскіх правоў\n** Інфармацыя, якая парушае прыватнасьць\n** Недапушчальнае імя ўдзельніка\n** Патэнцыйна паклёпніцкія зьвесткі",
        "prefs-help-prefershttps": "Гэтая налада набудзе моц пры наступным уваходзе ў сыстэму.",
        "prefswarning-warning": "Вы зрабілі зьмены ў вашых наладах, якія яшчэ не былі захаваныя.\nКалі вы закрыеце гэтую старонку і не націсьніце «$1», вашыя налады ня будуць абноўленыя.",
        "prefs-tabs-navigation-hint": "Падказка: вы можаце пераходзіць паміж укладкамі ў сьпісе ўкладак з дапамогай клявішаў налева і направа.",
-       "userrights": "Ð\9aÑ\96Ñ\80аванÑ\8cне Ð¿Ñ\80авамÑ\96 ўдзельнікаў і ўдзельніц",
+       "userrights": "Ð\9fÑ\80авÑ\8b ўдзельнікаў і ўдзельніц",
        "userrights-lookup-user": "Выбар удзельніка",
        "userrights-user-editname": "Увядзіце імя ўдзельніка:",
        "editusergroup": "Загрузіць групы ўдзельніка",
        "rcfilters-invalid-filter": "Няслушны фільтар",
        "rcfilters-empty-filter": "Няма актыўных фільтраў. Паказаны ўвесь унёсак.",
        "rcfilters-filterlist-title": "Фільтры",
+       "rcfilters-filterlist-whatsthis": "Што гэта?",
        "rcfilters-filterlist-feedbacklink": "Пакінуць водгук пра новыя (бэта) фільтры",
        "rcfilters-highlightbutton-title": "Вылучыць вынікі",
        "rcfilters-highlightmenu-title": "Абярыце колер",
        "rcfilters-highlightmenu-help": "Абярыце колер для вылучэньня гэтай уласьцівасьці",
        "rcfilters-filterlist-noresults": "Фільтры ня знойдзеныя",
+       "rcfilters-noresults-conflict": "Няма вынікаў, бо крытэры пошуку супярэчаць адзін аднаму",
+       "rcfilters-state-message-subset": "Гэты фільтар ня мае эфэкту, бо яго вынікі ўключаныя ў вынікі больш {{PLURAL:$2|шырокага фільтру|шырокіх фільтраў}} (паспрабуйце вылучэньне, каб вызначыць яго): $1",
+       "rcfilters-state-message-fullcoverage": "Выбар усіх фільтраў у групе — тое ж самае, што і выбар ніводнага, адпаведна, гэты фільтар ня мае эфэкту. Група ўключае: $1",
        "rcfilters-filtergroup-registration": "Рэгістрацыя ўдзельнікаў",
        "rcfilters-filter-registered-label": "Зарэгістраваныя",
        "rcfilters-filter-registered-description": "Рэдактары, якія ўвайшлі ў сыстэму.",
        "rcfilters-filter-unregistered-label": "Незарэгістраваныя",
        "rcfilters-filter-unregistered-description": "Рэдактары, якія не ўвайшлі ў сыстэму",
+       "rcfilters-filter-unregistered-conflicts-user-experience-level": "Гэты фільтар канфліктуе з {{PLURAL:$2|1=наступным фільтрам|наступнымі фільтрамі}} дасьведчаных удзельнікаў, {{PLURAL:$2|1=які знаходзіць|якія знаходзяць}} толькі зарэгістраваных удзельнікаў: $1",
        "rcfilters-filtergroup-authorship": "Рэдагаваць аўтарства",
        "rcfilters-filter-editsbyself-label": "Вашыя праўкі",
        "rcfilters-filter-editsbyself-description": "Праўкі, зробленыя вамі",
        "rcfilters-filter-editsbyother-label": "Праўкі іншых удзельнікаў",
        "rcfilters-filter-editsbyother-description": "Праўкі, зробленыя іншымі ўдзельнікамі (ня вамі).",
        "rcfilters-filtergroup-userExpLevel": "Узровень досьведу (толькі для зарэгістраваных удзельнікаў)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "Навічкі",
-       "rcfilters-filter-userExpLevel-newcomer-description": "Менш за 10 правак і 4 дні актыўнасьці.",
-       "rcfilters-filter-userExpLevel-learner-label": "Вучні",
-       "rcfilters-filter-userExpLevel-learner-description": "Болей дзён актыўнасьці і правак, чым у «навічкоў», але меней чым у «дасьведчаных удзельнікаў».",
-       "rcfilters-filter-userExpLevel-experienced-label": "Дасьведчаныя ўдзельнікі",
-       "rcfilters-filter-userExpLevel-experienced-description": "Больш за 30 дзён актыўнасьці і 500 правак.",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered": "Гэты фільтар досьведу знаходзіць толькі зарэгістраваных удзельнікаў, такім чынам фільтар канфліктуе зь фільтрам «Незарэгістраваныя».",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered-global": "Фільтар «Незарэгістраваныя» канфліктуе з адным ці некалькімі фільтрамі ўзроўню досьведу, якія шукаюць толькі зарэгістраваных удзельнікаў. Канфліктныя фільтры пазначаныя ў разьдзеле актыўных фільтраў вышэй.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Навічкі",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Менш за 10 правак і 4 дні актыўнасьці.",
+       "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": "Больш за 30 дзён актыўнасьці і 500 правак.",
        "rcfilters-filtergroup-automated": "Аўтаматычны ўнёсак",
        "rcfilters-filter-bots-label": "Робат",
        "rcfilters-filter-bots-description": "Праўкі, зробленыя з дапамогай аўтаматызаваных інструмэнтаў.",
        "rcfilters-filter-humans-label": "Чалавек (ня робат)",
        "rcfilters-filter-humans-description": "Праўкі, зробленыя людзьмі.",
+       "rcfilters-filtergroup-reviewstatus": "Статус праверкі",
+       "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-categorization-description": "Запісы пра дадаваньне і выдаленьне старонак з катэгорыяў.",
        "rcfilters-filter-logactions-label": "Журнальныя дзеяньні",
        "rcfilters-filter-logactions-description": "Адміністрацыйныя дзеяньні, стварэньні рахункаў, выдаленьні старонак, загрузкі…",
+       "rcfilters-hideminor-conflicts-typeofchange-global": "Фільтар «Дробныя праўкі» канфліктуе з адным ці некалькімі фільтрамі «Тыпаў зьменаў», бо некаторыя тыпы зьменаў ня могуць быць вызначаныя як «дробныя». Канфліктныя фільтры пазначаныя ў разьдзеле актыўных фільтраў вышэй.",
+       "rcfilters-hideminor-conflicts-typeofchange": "Некаторыя тыпы зьменаў ня могуць быць вызначаныя як «дробныя», таму гэты фільтар канфліктуе з наступнымі фільтрамі «Тыпаў зьменаў»: $1",
+       "rcfilters-typeofchange-conflicts-hideminor": "Гэты фільтар тыпаў зьменаў канфліктуе зь фільтрам «Дробныя праўкі». Некаторыя тыпы зьменаў ня могуць быць вызначаныя як «дробныя».",
        "rcnotefrom": "Ніжэй {{PLURAL:$5|знаходзіцца зьмена|знаходзяцца зьмены}} з <strong>$4 $3</strong> (да <strong>$1</strong> на старонку).",
        "rclistfrom": "Паказаць зьмены з $2 $3",
        "rcshowhideminor": "$1 дробныя праўкі",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|абнавіў|абнавіла}} цэтлікі на вэрсіі $4 старонкі $3 ({{PLURAL:$7|дададзена}} $6; {{PLURAL:$9|выдалена}} $8)",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|абнавіў|абнавіла}} цэтлікі на запісе журналу $5 старонкі $3 ({{PLURAL:$7|дададзена}} $6; {{PLURAL:$9|выдалена}} $8)",
        "rightsnone": "(няма)",
-       "revdelete-summary": "кароткае апісаньне зьменаў",
        "rightslogentry-temporary-group": "$1 (часова, да $2)",
        "feedback-adding": "Даданьне водгуку на старонку…",
        "feedback-back": "Назад",
        "authmanager-link-not-in-progress": "Злучэньне рахункаў не выконваецца або страчаныя зьвесткі сэсіі. Калі ласка, пачніце ізноў спачатку.",
        "authmanager-authplugin-setpass-failed-title": "Памылка зьмены паролю",
        "authmanager-authplugin-setpass-failed-message": "Дадатак аўтэнтыфікацыі адмовіў зьмену паролю.",
+       "authmanager-authplugin-create-fail": "Дадатак аўтэнтыфікацыі адмовіў у стварэньні рахунку.",
+       "authmanager-authplugin-setpass-denied": "Дадатак аўтэнтыфікацыі не дазваляе зьмяняць паролі.",
+       "authmanager-authplugin-setpass-bad-domain": "Няслушны дамэн.",
+       "authmanager-autocreate-noperm": "Аўтаматычнае стварэньне рахункаў не дазволенае.",
+       "authmanager-autocreate-exception": "Аўтаматычнае стварэньне рахункаў часова адключанае праз папярэднія памылкі.",
+       "authmanager-userdoesnotexist": "Рахунак «$1» не зарэгістраваны.",
+       "authmanager-userlogin-remembermypassword-help": "Ці трэба запамінаць пароль больш за працягласьць сэсіі.",
+       "authmanager-username-help": "Імя ўдзельніка для аўтэнтыфікацыі.",
+       "authmanager-password-help": "Пароль для аўтэнтыфікацыі.",
+       "authmanager-domain-help": "Дамэн для вонкавай аўтэнтыфікацыі.",
+       "authmanager-retype-help": "Пароль яшчэ раз для пацьверджаньня.",
+       "authmanager-email-label": "Электронная пошта",
+       "authmanager-email-help": "Адрас электроннай пошты",
        "authmanager-realname-label": "Сапраўднае імя",
        "authmanager-provider-temporarypassword": "Часовы пароль",
        "changecredentials": "Зьмена ўліковых зьвестак",
index 0f9d186..acc2b37 100644 (file)
        "login": "Увайсці ў сістэму",
        "login-security": "Праверыць вашу асобу",
        "nav-login-createaccount": "Увайсці ў сістэму / стварыць рахунак",
-       "userlogin": "Увайсці ў сістэму / стварыць рахунак",
-       "userloginnocreate": "Увайсці",
        "logout": "Выйсці з сістэмы",
        "userlogout": "Выйсці з сістэмы",
        "notloggedin": "Не ўвайшоў",
        "userlogin-noaccount": "Не маеце ўліковага запісу?",
        "userlogin-joinproject": "Далучайцеся да {{GRAMMAR:родны|{{SITENAME}}}}",
-       "nologin": "Не маеце рахунка? $1.",
-       "nologinlink": "Завесці рахунак",
        "createaccount": "Стварыць рахунак",
-       "gotaccount": "Ужо маеце рахунак? '''$1'''.",
-       "gotaccountlink": "Увайсці ў сістэму",
-       "userlogin-resetlink": "Забыліся даныя для ўваходу?",
        "userlogin-resetpassword-link": "Забылі пароль?",
        "userlogin-helplink2": "Даведка па прадстаўленні сістэме",
        "userlogin-loggedin": "Вы ўжо ўвайшлі ў сістэму як {{GENDER:$1|$1}}.\nСкарыстайцеся формай ніжэй, каб прадставіцца сістэме як іншы ўдзельнік.",
        "createaccountmail": "Ужыць часовы выпадковы пароль і даслаць яго праз эл.пошту",
        "createaccountmail-help": "Можа быць выкарыстаны для стварэння ўліковага запісу для іншага чалавека без пазнання пароля.",
        "createacct-realname": "Сапраўднае імя (неабавязкова)",
-       "createaccountreason": "Прычына:",
        "createacct-reason": "Прычына",
        "createacct-reason-ph": "Чаму вы ствараеце іншы ўліковы запіс",
        "createacct-reason-help": "Паведамленне паказана ў логу стварэння ўліковага запісу",
        "search-interwiki-caption": "Сумежныя праекты",
        "search-interwiki-default": "Вынікі з $1:",
        "search-interwiki-more": "(яшчэ)",
+       "search-interwiki-more-results": "больш вынікаў",
        "search-relatedarticle": "Дачыняюцца*",
        "searchrelated": "маюць дачыненне",
        "searchall": "усе",
        "recentchanges-legend-heading": "<strong>Легенда:</strong>",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (гл. асобна [[Special:NewPages|новыя старонкі]])",
        "recentchanges-submit": "Паказаць",
-       "rcfilters-filter-userExpLevel-learner-description": "Болей дзён актыўнасці і правак, чым у «навічкоў», але меней чым у «дасведчаных удзельнікаў».",
-       "rcfilters-filter-userExpLevel-experienced-description": "Больш за 30 дзён актыўнасці і 500 правак.",
+       "rcfilters-filter-user-experience-level-learner-description": "Болей дзён актыўнасці і правак, чым у «навічкоў», але меней чым у «дасведчаных удзельнікаў».",
+       "rcfilters-filter-user-experience-level-experienced-description": "Больш за 30 дзён актыўнасці і 500 правак.",
        "rcfilters-filter-bots-label": "Бот",
        "rcnotefrom": "Ніжэй {{PLURAL:$5|паказана змяненне|паказаны змены}} з <strong>$3, $4</strong> (не больш за <strong>$1</strong>).",
        "rclistfrom": "Паказаць змены з $3 $2",
        "logentry-tag-update-add-logentry": "$1 {{GENDER:$2|дадаў|дадала}} {{PLURAL:$7|1=бірку|біркі}} $6 да запісу ў журнале $5 старонкі $3",
        "logentry-tag-update-remove-revision": "$1 {{GENDER:$2|выдаліў|выдаліла}} {{PLURAL:$9|1=бірку|біркі}} $8 з версіі $4 старонкі $3",
        "rightsnone": "(няма)",
-       "revdelete-summary": "тлумачэнне праўкі",
        "feedback-adding": "Даданне водгуку на старонку…",
        "feedback-back": "Назад",
        "feedback-bugcheck": "Выдатна! Толькі праверце, што ў спісе [$1 вядомых памылак] яе няма падобнага запісу.",
index 41076d3..1f57bb6 100644 (file)
@@ -81,9 +81,9 @@
        "tog-watchlisthidepatrolled": "Скриване на патрулираните редакции от списъка за наблюдение",
        "tog-watchlisthidecategorization": "Скриване на категоризацията на статии",
        "tog-ccmeonemails": "Получаване на копия на писмата, които пращам на другите потребители",
-       "tog-diffonly": "Ð\91ез Ð¿Ð¾ÐºÐ°Ð·Ð²Ð°Ð½Ðµ Ð½а съдържанието на страницата при преглед на разлики",
+       "tog-diffonly": "Ð\94а Ð½Ðµ Ñ\81е Ð¿Ð¾ÐºÐ°Ð·Ð²а съдържанието на страницата при преглед на разлики",
        "tog-showhiddencats": "Показване на скритите категории",
-       "tog-norollbackdiff": "Ð\9dе Ð¿Ð¾ÐºÐ°Ð·Ð²Ð°Ð¹ разликата между редакциите след отмяна на редакции",
+       "tog-norollbackdiff": "Ð\94а Ð½Ðµ Ñ\81е Ð¿Ð¾ÐºÐ°Ð·Ð²Ð° разликата между редакциите след отмяна на редакции",
        "tog-useeditwarning": "Предупреждаване при опит за напускане на страница, отворена в режим на редактиране, без да са запазени промените",
        "tog-prefershttps": "Да се използва винаги защитена връзка при влизане",
        "underline-always": "Винаги",
        "november-date": "$1 ноември",
        "december-date": "$1 декември",
        "period-am": "Преди обед",
-       "period-pm": "След обед",
+       "period-pm": "Следобед",
        "pagecategories": "{{PLURAL:$1|Категория|Категории}}",
        "category_header": "Страници в категория „$1“",
        "subcategories": "Подкатегории",
        "cannotcreateaccount-title": "Невъзможно е да бъде създадена потребителска сметка",
        "yourdomainname": "Домейн:",
        "password-change-forbidden": "Не можете да променяте пароли в това уики.",
-       "externaldberror": "Ð\98ли Ðµ Ñ\81Ñ\82анала грешка в базата от данни при външното удостоверяване, или не ви е позволено да обновявате външната си сметка.",
+       "externaldberror": "Ð\92Ñ\8aзникна грешка в базата от данни при външното удостоверяване, или не ви е позволено да обновявате външната си сметка.",
        "login": "Влизане",
        "login-security": "Потвърдете идентичността си",
        "nav-login-createaccount": "Регистриране или влизане",
-       "userlogin": "Влизане / създаване на сметка",
-       "userloginnocreate": "Влизане",
        "logout": "Излизане",
        "userlogout": "Излизане",
        "notloggedin": "Не сте влезли в системата",
        "userlogin-noaccount": "Нямате сметка?",
        "userlogin-joinproject": "Присъединяване към {{SITENAME}}",
-       "nologin": "Нямате потребителско име? $1.",
-       "nologinlink": "Създаване на сметка",
        "createaccount": "Регистриране",
-       "gotaccount": "Имате ли вече сметка? '''$1'''.",
-       "gotaccountlink": "Влизане",
-       "userlogin-resetlink": "Забравени данни за влизане в системата?",
        "userlogin-resetpassword-link": "Забравена парола?",
        "userlogin-helplink2": "Помощ за влизане",
        "userlogin-loggedin": "Вече сте влезли в системата като {{GENDER:$1|$1}}.\nЧрез формуляра по-долу можете да влезете като друг потребител.",
+       "userlogin-reauth": "Трябва да влезете отново, за да потвърдите, че сте {{GENDER:$1|$1}}.",
        "userlogin-createanother": "Създаване на друга сметка",
        "createacct-emailrequired": "Адрес за електронна поща",
        "createacct-emailoptional": "Адрес за електронна поща (незадължително)",
        "createacct-another-email-ph": "Въведете електронна поща",
        "createaccountmail": "Използване на случайна временна парола, която се изпраща на електронната поща, посочена по-долу",
        "createacct-realname": "Истинско име (незадължително)",
-       "createaccountreason": "Причина:",
        "createacct-reason": "Причина",
        "createacct-reason-ph": "Защо създавате друга сметка",
        "createacct-submit": "Създаване на сметката",
        "throttled-mailpassword": "Функцията за напомняне на паролата е използвана през {{PLURAL:$1|последния един час|последните $1 часа}}.\nЗа предотвратяване на злоупотреби е разрешено да се изпраща не повече от едно напомняне в рамките на {{PLURAL:$1|един час|$1 часа}}.",
        "mailerror": "Грешка при изпращане на писмо: $1",
        "acct_creation_throttle_hit": "През последните $2, през този IP-адрес посетители на това уики са създали {{PLURAL:$1|1 сметка |$1 сметки}}, което е максималният допустим брой за този период.\nВ резултат, към момента не могат да създават повече потребителски сметки през този IP-адрес.",
-       "emailauthenticated": "Ð\90дÑ\80еÑ\81Ñ\8aÑ\82 Ð½Ð° ÐµÐ»ÐµÐºÑ\82Ñ\80оннаÑ\82а Ð²Ð¸ Ð¿Ð¾Ñ\89а Ð±ÐµÑ\88е потвърден на $2 в $3.",
+       "emailauthenticated": "Ð\90дÑ\80еÑ\81Ñ\8aÑ\82 Ð½Ð° ÐµÐ»ÐµÐºÑ\82Ñ\80оннаÑ\82а Ð¿Ð¾Ñ\89а e потвърден на $2 в $3.",
        "emailnotauthenticated": "Адресът на електронната ви поща все още не е потвърден.\nНяма да получавате писма за никоя от следните възможности.",
        "noemailprefs": "За да работят тези функционалности, трябва да посочите адрес на електронна поща в своите настройки.",
        "emailconfirmlink": "Потвърждаване на адреса за електронна поща",
        "accountcreated": "Потребителската сметка беше създадена",
        "accountcreatedtext": "Потребителската сметка [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|беседа]]) беше създадена.",
        "createaccount-title": "Създаване на сметка за {{SITENAME}}",
-       "createaccount-text": "Някой е създал сметка за $2 в {{SITENAME}} ($4) и е посочил този адрес за електронна поща. Паролата за „$2“ е „$3“. Необходимо е да влезете в системата и да смените паролата си.\n\nМожете да пренебрегнете това съобщение, ако сметката е създадена по грешка.",
+       "createaccount-text": "Ð\9dÑ\8fкой Ðµ Ñ\81Ñ\8aздал Ñ\81меÑ\82ка Ð·Ð° $2 Ð² {{SITENAME}} ($4) Ð¸ Ðµ Ð¿Ð¾Ñ\81оÑ\87ил Ñ\82ози Ð°Ð´Ñ\80еÑ\81 Ð·Ð° ÐµÐ»ÐµÐºÑ\82Ñ\80онна Ð¿Ð¾Ñ\89а. Ð\9fаÑ\80олаÑ\82а Ð·Ð° â\80\9e$2â\80\9c Ðµ â\80\9e$3â\80\9c. Ð\9dеобÑ\85одимо Ðµ Ð´Ð° Ð²Ð»ÐµÐ·ÐµÑ\82е Ð² Ñ\81иÑ\81Ñ\82емаÑ\82а Ð¸ Ð´Ð° Ñ\81мениÑ\82е Ð¿Ð°Ñ\80олаÑ\82а Ñ\81и.\n\nÐ\9cожеÑ\82е Ð´Ð° Ð¿Ñ\80енебÑ\80егнеÑ\82е Ñ\82ова Ñ\81Ñ\8aобÑ\89ение, Ð°ÐºÐ¾ Ñ\81меÑ\82каÑ\82а Ðµ Ñ\81Ñ\8aздадена Ð¿Ð¾ Ð¿Ð¾Ð³Ñ\80еÑ\88ка.",
        "login-throttled": "Направили сте твърде много опити да въведете паролата за тази сметка.\nНеобходимо е да изчакате $1 преди да опитате отново.",
        "login-abort-generic": "Влизането беше неуспешно - Прекратено",
        "login-migrated-generic": "Вашата сметка е бил преместена и потребителското Ви име вече не съществува в това уики.",
        "loginlanguagelabel": "Език: $1",
        "suspicious-userlogout": "Заявката ви за излизане от системата беше отхвърлена, тъй като изглежда е била изпратена погрешка от браузъра или кеширащото прокси.",
-       "createacct-another-realname-tip": "Ð\98Ñ\81Ñ\82инÑ\81коÑ\82о Ð¸Ð¼Ðµ Ðµ Ð½ÐµÐ·Ð°Ð´Ñ\8aлжиÑ\82елно.\nÐ\92 Ñ\81лÑ\83Ñ\87ай, Ñ\87е Ð±Ñ\8aде Ð¸Ð·Ð±Ñ\80або Ð´Ð° Ñ\81е Ð¿Ð¾Ð¿Ñ\8aлни, ще бъде използвано за да му се приписват приносите в уикито.",
+       "createacct-another-realname-tip": "Ð\98Ñ\81Ñ\82инÑ\81коÑ\82о Ð¸Ð¼Ðµ Ðµ Ð½ÐµÐ·Ð°Ð´Ñ\8aлжиÑ\82елно.\nÐ\92 Ñ\81лÑ\83Ñ\87ай, Ñ\87е Ð±Ñ\8aде Ð¸Ð·Ð±Ñ\80ано Ð´Ð° Ñ\81е Ð¿Ð¾Ð¿Ñ\8aлни, Ñ\82о ще бъде използвано за да му се приписват приносите в уикито.",
        "pt-login": "Влизане",
        "pt-login-button": "Влизане",
        "pt-createaccount": "Създаване на сметка",
        "resetpass_submit": "Избиране на парола и влизане",
        "changepassword-success": "Паролата беше променена успешно!",
        "changepassword-throttled": "Направили сте твърде много опити да въведете паролата за тази сметка.\nНеобходимо е да изчакате $1 преди да опитате отново.",
+       "botpasswords": "Пароли за ботове",
        "botpasswords-createnew": "Създаване на нова бот парола",
        "botpasswords-editexisting": "Редактиране на съществуваща бот парола",
        "botpasswords-label-appid": "Име на бота:",
        "botpasswords-deleted-body": "Паролата на бот „$1“ на потребител „$2“ е премахната.",
        "resetpass_forbidden": "Не е разрешена смяна на паролата",
        "resetpass_forbidden-reason": "Паролите не могат да се променят: $1",
-       "resetpass-no-info": "Ð\97а Ð´Ð° Ð´Ð¾Ñ\81Ñ\82Ñ\8aпваÑ\82е тази страница директно, необходимо е да влезете в системата.",
+       "resetpass-no-info": "Ð\97а Ð´Ð° Ð¸Ð¼Ð°Ñ\82е Ð´Ð¾Ñ\81Ñ\82Ñ\8aп Ð´Ð¾ тази страница директно, необходимо е да влезете в системата.",
        "resetpass-submit-loggedin": "Промяна на паролата",
        "resetpass-submit-cancel": "Отказ",
        "resetpass-wrong-oldpass": "Невалидна временна или текуща парола.\nВъзможно е вече да сте сменили паролата си или да сте поискали нова временна парола.",
        "passwordreset-invalidemail": "Неправилен email адрес",
        "changeemail": "Промяна или премахване на адреса за е-поща",
        "changeemail-header": "Попълнете формуляра, за да промените адреса на електронната си поща. Ако искате да премахнете адреса на електронната си поща, при попълване на формуляра оставете полето за новия адрес празно.",
-       "changeemail-no-info": "Ð\97а Ð´Ð° Ð´Ð¾Ñ\81Ñ\82Ñ\8aпваÑ\82е Ñ\82ази Ñ\81Ñ\82Ñ\80аниÑ\86а Ð´Ð¸Ñ\80екÑ\82но, Ð½ÐµÐ¾Ð±Ñ\85одимо Ðµ да влезете в системата.",
+       "changeemail-no-info": "Ð\97а Ð´Ð° Ð¸Ð¼Ð°Ñ\82е Ð´Ð¾Ñ\81Ñ\82Ñ\8aп Ð´Ð¾ Ñ\82ази Ñ\81Ñ\82Ñ\80аниÑ\86а Ð´Ð¸Ñ\80екÑ\82но, Ðµ Ð½ÐµÐ¾Ð±Ñ\85одимо да влезете в системата.",
        "changeemail-oldemail": "Текущ адрес за е-поща:",
        "changeemail-newemail": "Нов адрес за е-поща:",
        "changeemail-none": "(няма)",
        "changeemail-throttled": "Направили сте твърде много опити за влизане в системата. \nМоля, изчакайте $1 преди следващия опит.",
        "changeemail-nochange": "Моля, въведете различен нов адрес на електронна поща.",
        "resettokens": "Изчистване на маркерите",
+       "resettokens-text": "Можете да изчистите маркерите, които позволяват достъп до някои лични данни, свързани с вашия акаунт тук.\n\nТрябва да го направите, ако случайно сте ги споделили с някого или ако профилът ви е бил изложен на риск.",
        "resettokens-no-tokens": "Няма маркери за изчистване.",
        "resettokens-tokens": "Маркери:",
        "resettokens-token-label": "$1 (текуща стойност: $2)",
        "newarticletext": "Последвахте препратка към страница, която все още не съществува.\nЗа да я създадете, просто започнете да пишете в долната текстова кутия\n(вижте [$1 помощната страница] за повече информация).",
        "anontalkpagetext": "----\n<em>Това е дискусионната страница на анонимен потребител, който все още няма регистрирана сметка или не я използва</em>\nЗатова се налага да използваме IP-адрес, за да го идентифицираме.\nТакъв адрес може да се споделя от няколко потребители.\nАко сте анонимен потребител и мислите, че тези неуместни коментари са отправени към вас, [[Special:CreateAccount|регистрирайте се]] или [[Special:UserLogin|влезте в системата]], за да избегнете евентуално бъдещо объркване с други анонимни потребители.",
        "noarticletext": "Понастоящем няма текст на тази страница. Можете да [[Special:Search/{{PAGENAME}}|потърсите за заглавието на страницата]] в други страници, да <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} потърсите в съответните дневници] или [{{fullurl:{{FULLPAGENAME}}|action=edit}} да я създадете]</span>.",
-       "noarticletext-nopermission": "ТекÑ\83Ñ\89о в тази страница няма текст.\nМожете да [[Special:Search/{{PAGENAME}}|потърсите заглавието на тази страница ]] в други страници или да <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} потърсите в съответните дневници]</span>, но нямате права да създадете тази страница.",
+       "noarticletext-nopermission": "Ð\9fонаÑ\81Ñ\82оÑ\8fÑ\89ем в тази страница няма текст.\nМожете да [[Special:Search/{{PAGENAME}}|потърсите заглавието на тази страница ]] в други страници или да <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} потърсите в съответните дневници]</span>, но нямате права да създадете тази страница.",
        "missing-revision": "Версия #$1 на страницата „{{FULLPAGENAME}}“ не съществува.\n\nТова обикновено се дължи на препратка от историята на страницата, която е била изтрита.\nПодробности могат да бъдат открити в [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} дневника на изтриванията].",
        "userpage-userdoesnotexist": "Няма регистрирана потребителска сметка за „<nowiki>$1</nowiki>“. Изисква се потвърждение, че желаете да създадете/редактирате тази страница?",
        "userpage-userdoesnotexist-view": "Не е регистрирана потребителска сметка на име „$1“.",
        "continue-editing": "Продължаване към полето за редактиране",
        "previewconflict": "Този предварителен преглед отразява текста в горната текстова кутия така, както би се показал, ако съхраните.",
        "session_fail_preview": "За съжаление редакцията ви не успя да бъде обработена поради загуба на данните за текущата сесия.\n\nМоже би сте излезли от системата. <strong>Моля, уверете се, че сте влезли в профила си и опитайте отново.</strong>\nАко все още не работи, опитайте да [[Special:UserLogout|излезете]] и да влезете отново, също така проверете дали браузърът ви позволява бисквитки от този сайт.",
-       "session_fail_preview_html": "Ð\97а Ñ\81Ñ\8aжаление Ñ\80едакÑ\86иÑ\8fÑ\82а Ð²Ð¸ Ð½Ðµ Ð±ÐµÑ\88е Ð·Ð°Ð¿Ð¸Ñ\81ана Ð¿Ð¾Ñ\80ади Ð¸Ð·Ñ\82иÑ\87анеÑ\82о Ð½Ð° Ñ\81еÑ\81иÑ\8fÑ\82а Ð²Ð¸.\n\n<em>Тъй като {{SITENAME}} приема обикновен HTML, предварителният преглед е скрит като предпазна мярка срещу атаки чрез JavaScript.</em>\n\n<strong>Ако това е обикновен опит за редактиране, моля опитайте отново.</strong>\nАко все още не сработва, пробвайте да [[Special:UserLogout|излезете]] и влезете отново, и се уверете, че браузъра ви приема бисквитки от този сайт.",
+       "session_fail_preview_html": "Ð\97а Ñ\81Ñ\8aжаление Ñ\80едакÑ\86иÑ\8fÑ\82а Ð²Ð¸ Ð½Ðµ Ð±ÐµÑ\88е Ð·Ð°Ð¿Ð¸Ñ\81ана Ð¿Ð¾Ñ\80ади Ð·Ð°Ð³Ñ\83ба Ð½Ð° Ð´Ð°Ð½Ð½Ð¸Ñ\82е Ð·Ð° Ñ\82екÑ\83Ñ\89аÑ\82а Ñ\81еÑ\81иÑ\8f.\n\n<em>Тъй като {{SITENAME}} приема обикновен HTML, предварителният преглед е скрит като предпазна мярка срещу атаки чрез JavaScript.</em>\n\n<strong>Ако това е обикновен опит за редактиране, моля опитайте отново.</strong>\nАко все още не сработва, пробвайте да [[Special:UserLogout|излезете]] и влезете отново, и се уверете, че браузъра ви приема бисквитки от този сайт.",
        "token_suffix_mismatch": "'''Редакцията ви беше отхвърлена, защото браузърът ви е развалил пунктуационните знаци в редакционната отметка. Евентуалното съхранение би унищожило съдържанието на страницата. Понякога това се случва при използването на грешно работещи анонимни междинни сървъри.'''",
        "edit_form_incomplete": "'''Някои части от формуляра за редактиране не достигнаха до сървъра; проверете дали редакциите ви са непокътнати и опитайте отново.'''",
        "editing": "Редактиране на „$1“",
        "yourtext": "Вашият текст",
        "storedversion": "Съхранена версия",
        "nonunicodebrowser": "'''ВНИМАНИЕ: Браузърът ви не поддържа Уникод. За да можете спокойно да редактирате страници, всички знаци, невключени в ASCII-таблицата, ще бъдат заменени с шестнадесетични кодове.'''",
-       "editingold": "'''ВНИМАНИЕ: Редактирате остаряла версия на страницата.\nАко съхраните, всякакви промени, направени след тази версия, ще бъдат изгубени.'''",
+       "editingold": "'''Ð\92Ð\9dÐ\98Ð\9cÐ\90Ð\9dÐ\98Ð\95: Ð ÐµÐ´Ð°ÐºÑ\82иÑ\80аÑ\82е Ð¾Ñ\81Ñ\82аÑ\80Ñ\8fла Ð²ÐµÑ\80Ñ\81иÑ\8f Ð½Ð° Ñ\81Ñ\82Ñ\80аниÑ\86аÑ\82а.\nÐ\90ко Ñ\8f Ñ\81Ñ\8aÑ\85Ñ\80аниÑ\82е, Ð²Ñ\81Ñ\8fкакви Ð¿Ñ\80омени, Ð½Ð°Ð¿Ñ\80авени Ñ\81лед Ñ\82ази Ð²ÐµÑ\80Ñ\81иÑ\8f, Ñ\89е Ð±Ñ\8aдаÑ\82 Ð¸Ð·Ð³Ñ\83бени.'''",
        "yourdiff": "Разлики",
        "copyrightwarning": "Обърнете внимание, че всички приноси към {{SITENAME}} се публикуват при условията на $2 (за подробности вижте $1).\nАко не сте съгласни вашата писмена работа да бъде променяна и разпространявана без ограничения, не я публикувайте.<br />\n\nСъщо потвърждавате, че '''вие''' сте написали материала или сте използвали '''свободни ресурси''' — <em>обществено достояние</em> или друг свободен източник.\nАко сте ползвали чужди материали, за които имате разрешение, непременно посочете източника.\n\n<div style=\"font-variant:small-caps\">'''Не публикувайте произведения с авторски права без разрешение!'''</div>",
        "copyrightwarning2": "Обърнете внимание, че всички приноси към {{SITENAME}} могат да бъдат редактирани, променяни или премахвани от останалите сътрудници.\nАко не сте съгласни вашата писмена работа да бъде променяна без ограничения, не я публикувайте.<br />\nСъщо потвърждавате, че '''вие''' сте написали материала или сте използвали '''свободни ресурси''' — <em>обществено достояние</em> или друг свободен източник (за подробности вижте $1).\nАко сте ползвали чужди материали, за които имате разрешение, непременно посочете източника.\n\n<div style=\"font-variant:small-caps\">'''Не публикувайте произведения с авторски права без разрешение!'''</div>",
        "language-converter-depth-warning": "Надвишени са възможностите за автоматичен превод ($1)",
        "node-count-exceeded-category": "Страници, където е превишен възел-граф",
        "node-count-exceeded-category-desc": "Страницата превишава максималния възел-граф.",
-       "node-count-exceeded-warning": "Страница превиши броя на възлите",
+       "node-count-exceeded-warning": "Страницата превиши броя на възлите",
        "expansion-depth-exceeded-category": "Страници, в които е превишена дълбочината на разгръщане",
        "expansion-depth-exceeded-category-desc": "Страницата превишава максимално допустимата дълбочина на разгръщане.",
        "expansion-depth-exceeded-warning": "Страницата е превишила разрешената дълбочина на разгръщане",
        "mergehistory-empty": "Няма редакции, които могат да бъдат слети.",
        "mergehistory-done": "$3 {{PLURAL:$3|версия|версии}} от $1 {{PLURAL:$3|беше успешно слята|бяха успешно слети}} с редакционната история на [[:$2]].",
        "mergehistory-fail": "Невъзможно е да се извърши сливане на редакционните истории; проверете страницата и времевите параметри.",
+       "mergehistory-fail-bad-timestamp": "Времевата отметка е невалидна.",
        "mergehistory-fail-invalid-source": "Изходната страница е невалидна.",
        "mergehistory-fail-invalid-dest": "Целевата страница е невалидна.",
        "mergehistory-fail-permission": "Нямате права за обединяване на историята.",
        "search-section": "(раздел $1)",
        "search-category": "(категория $1)",
        "search-suggest": "Вероятно имахте предвид: $1",
+       "search-rewritten": "Показани са резултати за $1. Вместо това търсете $2.",
        "search-interwiki-caption": "Сродни проекти",
        "search-interwiki-default": "Резултати от $1:",
        "search-interwiki-more": "(още)",
        "searchrelated": "свързани",
        "searchall": "всички",
        "showingresults": "Показване на до {{PLURAL:$1|'''1''' резултат|'''$1''' резултата}}, като се започва от номер '''$2'''.",
+       "showingresultsinrange": "Показване на до {{PLURAL:$1|<strong>1</strong> резултат|<strong>$1</strong> резултата}} в диапазона от #<strong>$2</strong> до #<strong>$3</strong>.",
        "search-showingresults": "{{PLURAL:$4|Резултат <strong>$1</strong> от <strong>$3</strong>|Резултати <strong>$1 - $2</strong> от <strong>$3</strong>}}",
        "search-nonefound": "Няма резултати, които да отговарят на заявката.",
        "powersearch-legend": "Разширено търсене",
        "userrights-viewusergroup": "Преглед на {{GENDER:$1|потребителските}} групи",
        "saveusergroups": "Съхраняване на {{GENDER:$1|потребителските}} групи",
        "userrights-groupsmember": "Член на:",
-       "userrights-groupsmember-auto": "Ð\9fодÑ\80азбиÑ\80аÑ\89 Ñ\81е Ñ\87лен на:",
+       "userrights-groupsmember-auto": "Член Ð¿Ð¾ Ð¿Ð¾Ð´Ñ\80азбиÑ\80ане на:",
        "userrights-groups-help": "Може да променяте групите, в които е потребителят:\n* Поставена отметка означава, че потребителят е член на групата.\n* Поле без отметка означава, че потребителят не е член на групата.\n* Знакът * показва, че не можете да премахнете групата, след като е вече добавена (или обратно).",
        "userrights-reason": "Причина:",
        "userrights-no-interwiki": "Нямате права да редактирате потребителските групи на други уикита.",
        "right-reupload-own": "Презаписване на съществуващ файл, качен от същия потребител",
        "right-reupload-shared": "Предефиниране на едноименните файлове от общото мултимедийно хранилище с локални",
        "right-upload_by_url": "Качване на файл от URL адрес",
-       "right-purge": "изчистване на складираното съдържание на страниците без показване на страница за потвърждение",
+       "right-purge": "Ð\98зчистване на складираното съдържание на страниците без показване на страница за потвърждение",
        "right-autoconfirmed": "Редактиране на полузащитени страници",
        "right-bot": "Третиране като автоматизиран процес",
        "right-nominornewtalk": "Малките промени по дискусионните страници не предизвикват известието за ново съобщение",
        "right-apihighlimits": "Използване на крайните предели в API заявките",
        "right-writeapi": "Употреба на API за писане",
        "right-delete": "Изтриване на страници",
-       "right-bigdelete": "изтриване на страници с големи редакционни истории",
+       "right-bigdelete": "Ð\98зтриване на страници с големи редакционни истории",
        "right-deletelogentry": "Изтриване и възстановяване на отделни записи в дневника",
        "right-deleterevision": "Изтриване и възстановяване на отделни версии на страниците",
-       "right-deletedhistory": "преглеждане на записи от изтрити редакционни истории без асоциирания към тях текст",
+       "right-deletedhistory": "Ð\9fреглеждане на записи от изтрити редакционни истории без асоциирания към тях текст",
        "right-deletedtext": "Преглед на изтрития текст и промените между изтритите версии",
-       "right-browsearchive": "търсене на изтрити страници",
+       "right-browsearchive": "Търсене на изтрити страници",
        "right-undelete": "Възстановяване на страници",
        "right-suppressrevision": "Преглед и възстановяване на версии, скрити от администраторите",
        "right-viewsuppressed": "Преглеждане на версии, скрити от който и да е потребител",
-       "right-suppressionlog": "Ð\9fÑ\80еглеждане Ð½Ð° Ñ\82айните дневници",
-       "right-block": "спиране на достъпа до редактиране",
+       "right-suppressionlog": "Ð\9fÑ\80еглеждане Ð½Ð° Ñ\81кÑ\80иÑ\82ите дневници",
+       "right-block": "Спиране на достъпа до редактиране",
        "right-blockemail": "Блокиране на потребители да изпращат писма по е-поща",
        "right-hideuser": "Блокиране и скриване на потребителско име",
        "right-ipblock-exempt": "Пренебрегване на блокирания по IP blocks, автоматични блокирания и блокирани IP интервали",
        "right-editprotected": "Редактиране на страници защитени като „{{int:protect-level-sysop}}“",
        "right-editinterface": "Редактиране на потребителския интерфейс",
        "right-editusercssjs": "редактиране на CSS и JS файловете на други потребители",
-       "right-editusercss": "редактиране на CSS файловете на други потребители",
-       "right-edituserjs": "редактиране на JS файловете на други потребители",
+       "right-editusercss": "Редактиране на CSS файловете на други потребители",
+       "right-edituserjs": "Редактиране на JS файловете на други потребители",
        "right-editmyusercss": "Редактиране на собствените потребителски CSS файлове",
        "right-editmyuserjs": "Редактиране на собствените потребителски JavaScript файлове",
        "right-viewmywatchlist": "Преглеждане на собствения списък за наблюдение",
        "right-editmyprivateinfo": "Редактиране на собствените лични данни (например: адрес на електронната поща, истинско име)",
        "right-editmyoptions": "Редактиране на собствените настройки",
        "right-rollback": "Бърза отмяна на промените, направени от последния потребител, редактирал дадена страница",
-       "right-markbotedits": "оÑ\82белÑ\8fзване Ð½Ð° Ð²Ñ\8aзвърнатите редакции като редакции на ботове",
+       "right-markbotedits": "Ð\9eÑ\82белÑ\8fзване Ð½Ð° върнатите редакции като редакции на ботове",
        "right-noratelimit": "Пренебрегване на всякакви ограничения",
        "right-import": "Внасяне на страници от други уикита",
        "right-importupload": "Внасяне на страници от качен файл",
        "grant-createaccount": "Създаване на сметки",
        "grant-createeditmovepage": "Създаване, редактиране и преместване на страници",
        "grant-delete": "Изтриване на страници, редакции и записи в дневника",
-       "grant-editinterface": "РедакÑ\82иÑ\80ане Ð½Ð° Ð¿Ñ\80оÑ\81Ñ\82Ñ\80анÑ\81Ñ\82воÑ\82о Ð½Ð°Ñ\80иÑ\87а Ð\9cедиÑ\8fУики Ð¸ CSS/JavaScript Ñ\83Ñ\87аÑ\81Ñ\82ник",
+       "grant-editinterface": "РедакÑ\82иÑ\80ане Ð½Ð° Ð\9cедиÑ\8fУики Ð¿Ñ\80оÑ\81Ñ\82Ñ\80анÑ\81Ñ\82воÑ\82о Ð¸ Ð¿Ð¾Ñ\82Ñ\80ебиÑ\82елÑ\81киÑ\8f CSS/JavaScript",
        "grant-editmycssjs": "Редактиране на личния CSS/JavaScript",
        "grant-editmyoptions": "Редактиране на вашите потребителски настройки",
-       "grant-editmywatchlist": "редактиране на списъка ви за наблюдение",
+       "grant-editmywatchlist": "Редактиране на списъка ви за наблюдение",
        "grant-editpage": "Редактиране на съществуващи страници",
        "grant-editprotected": "Редактиране на защитени страници",
        "grant-highvolume": "Голям обем за редактиране",
        "grant-oversight": "Скриване на участниците и версия страници",
        "grant-patrol": "Патрулират промени страници",
-       "grant-privateinfo": "Ð\94оÑ\81Ñ\82Ñ\8aп Ð´Ð¾ Ð»Ð¸Ñ\87ни Ð¸Ð½Ñ\84оÑ\80маÑ\86ии",
-       "grant-protect": "Ð\97аÑ\89иÑ\82а Ð½Ð° Ð½ÐµÐ·Ð°Ñ\88Ñ\82иÑ\82ени страници",
-       "grant-rollback": "Ð\9eÑ\82каÑ\82Ñ\8bваÑ\82Ñ\8c Ð¿Ñ\80омени страници",
+       "grant-privateinfo": "Ð\94оÑ\81Ñ\82Ñ\8aп Ð´Ð¾ Ð»Ð¸Ñ\87на Ð¸Ð½Ñ\84оÑ\80маÑ\86иÑ\8f",
+       "grant-protect": "Ð\97аÑ\89иÑ\82а Ð¸ Ð¿Ñ\80емаÑ\85ване Ð½Ð° Ð·Ð°Ñ\89иÑ\82а Ð½Ð° страници",
+       "grant-rollback": "Ð\92Ñ\80Ñ\8aÑ\89ане Ð½Ð° Ð¿Ñ\80омени Ð¿Ð¾ страници",
        "grant-sendemail": "Изпращане на имейл до други потребители",
        "grant-uploadeditmovefile": "Качване, заменяне и прехвърляне на файлове",
        "grant-uploadfile": "Качване на нови файлове",
        "grant-basic": "Основни права",
        "grant-viewdeleted": "Преглед на изтрити файлове и страници",
-       "grant-viewmywatchlist": "преглед на списъка ви за наблюдение",
+       "grant-viewmywatchlist": "Ð\9fреглед на списъка ви за наблюдение",
        "newuserlogpage": "Дневник на регистрациите",
        "newuserlogpagetext": "В този дневник се записват регистрациите на потребители.",
        "rightslog": "Дневник на потребителските права",
-       "rightslogtext": "Това е дневник на промените на потребителски права.",
+       "rightslogtext": "Това е дневник на промените на потребителските права.",
        "action-read": "четене на страницата",
        "action-edit": "редактиране на тази страница",
        "action-createpage": "създаване на страници",
        "recentchanges-legend-heading": "<strong>Легенда:</strong>",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (вижте също [[Special:NewPages|списъка с нови страници]])",
        "recentchanges-submit": "Покажи",
+       "rcfilters-restore-default-filters": "Възстановяване на филтри по подразбиране",
        "rcfilters-clear-all-filters": "Изчистване на всички филтри",
        "rcfilters-filterlist-title": "Филтри",
+       "rcfilters-highlightmenu-title": "Изберете цвят",
        "rcfilters-filterlist-noresults": "Не са намерени филтри",
        "rcfilters-filtergroup-registration": "Регистрация на потребители",
        "rcfilters-filter-unregistered-label": "Нерегистрирани",
        "rcfilters-filter-editsbyself-label": "Ваши собствени редакции",
        "rcfilters-filter-editsbyself-description": "Ваши редакции.",
        "rcfilters-filter-editsbyother-label": "Чужди редакции",
-       "rcfilters-filter-userExpLevel-newcomer-label": "Новодошли",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Новодошли",
+       "rcfilters-filter-user-experience-level-experienced-label": "Опитни потребители",
+       "rcfilters-filtergroup-automated": "Автоматизирани приноси",
        "rcfilters-filter-bots-label": "Бот",
+       "rcfilters-filter-bots-description": "Редакции, направени с помощта на автоматизирани инструменти.",
        "rcfilters-filter-humans-label": "Човек (не бот)",
+       "rcfilters-filter-humans-description": "Редакции, направени от редактори.",
+       "rcfilters-filtergroup-reviewstatus": "Проверка на статуса",
        "rcfilters-filter-minor-label": "Малки промени",
        "rcfilters-filter-major-label": "Обикновени редакции",
        "rcfilters-filtergroup-changetype": "Вид на промяната",
        "filetype-mime-mismatch": "Файловото разширение \".$1\" не отговаря на MIME типа на файла ($2).",
        "filetype-badmime": "Не е разрешено качването на файлове с MIME-тип „$1“.",
        "filetype-bad-ie-mime": "Този файл не може да бъде качен, защото Internet Explorer го разпознава като „$1“, който е отхвърлен и потенциално опасен файлов формат.",
-       "filetype-unwanted-type": "'''â\80\9e.$1â\80\9c''' Ðµ Ð½ÐµÐ¶ÐµÐ»Ð°Ð½ Ñ\84айлов Ñ\84оÑ\80маÑ\82. {{PLURAL:$3|Ð\9fÑ\80еопръчителният файлов формат е|Препоръчителните файлови формати са}} $2.",
+       "filetype-unwanted-type": "'''â\80\9e.$1â\80\9c''' Ðµ Ð½ÐµÐ¶ÐµÐ»Ð°Ð½ Ñ\84айлов Ñ\84оÑ\80маÑ\82. {{PLURAL:$3|Ð\9fÑ\80епоръчителният файлов формат е|Препоръчителните файлови формати са}} $2.",
        "filetype-banned-type": "'''„.$1“''' не {{PLURAL:$4|е позволен файлов формат|са позволени файлови формати}}. {{PLURAL:$3|Позволеният файлов формат е|Позволените файлови формати са}} $2.",
        "filetype-missing": "Файлът няма разширение (напр. „.jpg“).",
        "empty-file": "Подаденият от вас файл беше празен.",
        "img-auth-nopathinfo": "Липсва PATH_INFO.\nВашият сървър не е конфигуриран да предава тази информация.\nТой може да е базиран на CGI и да не може да поддържа img_auth.\nВижте https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization.",
        "img-auth-notindir": "Търсеният път не е в настроената директория за качвания.",
        "img-auth-badtitle": "Грешка при изграждането на валидно заглавие от „$1“.",
-       "img-auth-nologinnWL": "Не сте влезли в системата и „$1“ не е в белия списък.",
+       "img-auth-nologinnWL": "Не сте влезли в системата и „$1“ не е в разрешения списък.",
        "img-auth-nofile": "Файлът „$1“ не съществува.",
        "img-auth-isdir": "Опитвате се да осъществите достъп до директорията „$1“.\nРазрешен е само достъп до файловете.",
        "img-auth-streaming": "Излъчване \"$1\"",
        "license": "Лицензиране:",
        "license-header": "Лицензиране",
        "nolicense": "Нищо не е избрано",
+       "licenses-edit": "Промяна на параметрите на лицензите",
        "license-nopreview": "(Не е наличен предварителен преглед)",
        "upload_source_url": "(избраният от вас файл от валиден, публично достъпен интернет-адрес)",
        "upload_source_file": "(файл на вашия компютър)",
        "unwatchedpages": "Ненаблюдавани страници",
        "listredirects": "Списък на пренасочванията",
        "listduplicatedfiles": "Списък на повтарящи се файлове",
+       "listduplicatedfiles-summary": "Това е списък на файловете, за които последната версия е дубликат с последната версия на друг файл. Показани са само локалните файлове.",
        "unusedtemplates": "Неизползвани шаблони",
        "unusedtemplatestext": "Тази страница съдържа списък на страниците в именно пространство {{ns:template}}, които не са включени в друга страница. Проверявайте за препратки към отделните шаблони преди да ги изтриете или предложите за изтриване.",
        "unusedtemplateswlh": "други препратки",
        "statistics-pages-desc": "Всички страници в уикито, включително дискусионни, пренасочващи страници и т.н.",
        "statistics-files": "Качени файлове",
        "statistics-edits": "Брой редакции по страници от началото на {{SITENAME}}",
-       "statistics-edits-average": "СÑ\80едно редакции на страница",
+       "statistics-edits-average": "СÑ\80еден Ð±Ñ\80ой редакции на страница",
        "statistics-users": "Регистрирани [[Special:ListUsers|потребители]]",
        "statistics-users-active": "Активни потребители",
        "statistics-users-active-desc": "Потребители, направили редакция през {{PLURAL:$1|последния ден|последните $1 дни}}",
+       "pageswithprop": "Страници с page property",
+       "pageswithprop-legend": "Страници с page property",
+       "pageswithprop-text": "На тази страница са показани всички страници, които използват page property.",
        "pageswithprop-prop": "Име на свойството:",
        "pageswithprop-submit": "Отваряне",
        "doubleredirects": "Двойни пренасочвания",
        "wantedpages": "Желани страници",
        "wantedpages-badtitle": "Невалидно заглавие в резултатното множество: $1",
        "wantedfiles": "Желани файлове",
+       "wantedfiletext-cat": "Следните файлове се използват, но не съществуват. Файлове от външни хранилища могат да бъдат показани. Всички подобни неверни положителни резултати ще бъдат <del>зачеркнати</del>. Също така, страниците, които включват файлове, които не съществуват са включени в [[:$1]].",
        "wantedfiletext-nocat": "Следните файлове се използват, но не съществуват. Възможно е да са включени файлове от външни хранилища, въпреки че съществуват. Всички такива случаи на възможна фалшива тревога ще бъдат показвани <del>зачеркнати</del>.",
        "wantedtemplates": "Желани шаблони",
        "mostlinked": "Най-препращани страници",
        "deadendpagestext": "Следните страници нямат препратки към други страници от {{SITENAME}}.",
        "protectedpages": "Защитени страници",
        "protectedpages-indef": "Само безсрочни защити",
+       "protectedpages-summary": "Списък на страниците, които са защитени. За списък на заглавията, които са защитени от създаване, вижте [[{{#special:ProtectedTitles}}|{{int:protectedtitles}}]].",
        "protectedpages-cascade": "Само каскадни защити",
        "protectedpages-noredirect": "Скриване на пренасочванията",
        "protectedpagesempty": "В момента няма защитени страници с тези параметри.",
        "protectedpages-unknown-timestamp": "Неизвестни",
        "protectedpages-unknown-performer": "Неизвестен потребител",
        "protectedtitles": "Защитени заглавия",
+       "protectedtitles-summary": "Списък на заглавията, които са защитени от създаване. За списък на съществуващите страници, които са защитени, вижте [[{{#special:ProtectedPages}}|{{int:protectedpages}}]].",
        "protectedtitlesempty": "В момента няма заглавия, защитени с тези параметри.",
        "protectedtitles-submit": "Показване на заглавията",
        "listusers": "Списък на потребителите",
        "log-title-wildcard": "Търсене на заглавия, започващи със",
        "showhideselectedlogentries": "Промяна на видимостта на избраните записи",
        "checkbox-select": "Избери: $1",
-       "checkbox-all": "всички",
+       "checkbox-all": "Ð\92сички",
        "checkbox-none": "никои",
        "checkbox-invert": "обърни избора",
        "allpages": "Всички страници",
        "allpagesbadtitle": "Зададеното име е невалидно. Възможно е да съдържа междуезикова или междупроектна представка или пък знаци, които не могат да се използват в заглавия.",
        "allpages-bad-ns": "В {{SITENAME}} не съществува именно пространство „$1“.",
        "allpages-hide-redirects": "Скриване на пренасочванията",
+       "cachedspecial-viewing-cached-ttl": "Преглеждате кеширана версия на страница, която е за последно обновена преди $1.",
        "cachedspecial-refresh-now": "Преглед на текущата.",
        "categories": "Категории",
        "categories-submit": "Показване",
        "activeusers-intro": "Това е списък на потребителите, които са демонстрирали някаква активност през {{PLURAL:$1|последния|последните}} $1 {{PLURAL:$1|ден|дни}}.",
        "activeusers-count": "$1 {{PLURAL:$1|действие|действия}} за {{PLURAL:$3|последния ден|последните $3 дни}}",
        "activeusers-from": "Показване на потребителите, започвайки от:",
+       "activeusers-groups": "Показване на потребителите, принадлежащи към групи:",
+       "activeusers-excludegroups": "Скриване на потребителите, принадлежащи към групи:",
        "activeusers-noresult": "Няма намерени потребители.",
        "activeusers-submit": "Показване на активните потребители",
        "listgrouprights": "Права по потребителски групи",
        "watchlistanontext": "За преглеждане и редактиране на списъка за наблюдение се изисква влизане в системата.",
        "watchnologin": "Не сте влезли",
        "addwatch": "Добавяне към списъка за наблюдение",
-       "addedwatchtext": "СÑ\82Ñ\80аниÑ\86аÑ\82а â\80\9e'''[[:$1]]'''â\80\9c Ð¸ Ð±ÐµÑ\81едаÑ\82а Ñ\9d Ð±Ñ\8fÑ\85а Ð´Ð¾Ð±Ð°Ð²ÐµÐ½Ð¸ ÐºÑ\8aм [[Special:Watchlist|Ñ\81пиÑ\81Ñ\8aка Ð²и за наблюдение]].",
+       "addedwatchtext": "СÑ\82Ñ\80аниÑ\86аÑ\82а â\80\9e'''[[:$1]]'''â\80\9c Ð¸ Ð±ÐµÑ\81едаÑ\82а Ñ\9d Ð±Ñ\8fÑ\85а Ð´Ð¾Ð±Ð°Ð²ÐµÐ½Ð¸ ÐºÑ\8aм [[Special:Watchlist|Ñ\81пиÑ\81Ñ\8aка Ð\92и за наблюдение]].",
        "addedwatchtext-short": "Страницата „$1“ беше добавена към списъка Ви за наблюдение.",
        "removewatch": "Премахване от списъка за наблюдение",
-       "removedwatchtext": "СÑ\82Ñ\80аниÑ\86аÑ\82а â\80\9e[[:$1]]â\80\9c Ð¸ Ð±ÐµÑ\81едаÑ\82а Ñ\9d Ð±Ñ\8fÑ\85а Ð¿Ñ\80емаÑ\85наÑ\82и Ð¾Ñ\82 [[Special:Watchlist|Ñ\81пиÑ\81Ñ\8aка Ð²и за наблюдение]].",
+       "removedwatchtext": "СÑ\82Ñ\80аниÑ\86аÑ\82а â\80\9e[[:$1]]â\80\9c Ð¸ Ð±ÐµÑ\81едаÑ\82а Ñ\9d Ð±Ñ\8fÑ\85а Ð¿Ñ\80емаÑ\85наÑ\82и Ð¾Ñ\82 [[Special:Watchlist|Ñ\81пиÑ\81Ñ\8aка Ð\92и за наблюдение]].",
        "removedwatchtext-short": "Страницата „$1“ беше премахната от списъка Ви за наблюдение.",
        "watch": "Наблюдение",
        "watchthispage": "Наблюдаване на страницата",
        "unwatchthispage": "Спиране на наблюдение",
        "notanarticle": "Не е страница",
        "notvisiblerev": "Версията беше изтрита",
-       "watchlist-details": "{{PLURAL:$1|Ð\95дна Ð½Ð°Ð±Ð»Ñ\8eдавана Ñ\81Ñ\82Ñ\80аниÑ\86а|$1 Ð½Ð°Ð±Ð»Ñ\8eдавани Ñ\81Ñ\82Ñ\80аниÑ\86и}} Ð¾Ñ\82 Ñ\81пиÑ\81Ñ\8aка Ð²и за наблюдение (без беседи).",
+       "watchlist-details": "{{PLURAL:$1|Ð\95дна Ð½Ð°Ð±Ð»Ñ\8eдавана Ñ\81Ñ\82Ñ\80аниÑ\86а|$1 Ð½Ð°Ð±Ð»Ñ\8eдавани Ñ\81Ñ\82Ñ\80аниÑ\86и}} Ð¾Ñ\82 Ñ\81пиÑ\81Ñ\8aка Ð\92и за наблюдение (без беседи).",
        "wlheader-enotif": "Известяването по е-поща е включено.",
        "wlheader-showupdated": "Страниците, които са били променени след последния път, когато сте ги посетили, са показани в '''получер'''.",
        "wlnote": "{{PLURAL:$1|Показана е последната промяна|Показани са последните '''$1''' промени}} през {{PLURAL:$2|последния час|последните '''$2''' часа}}, започвайки от от $3, $4.",
        "watchlist-options": "Опции на списъка за наблюдение",
        "watching": "Наблюдение…",
        "unwatching": "Спиране на наблюдение…",
-       "watcherrortext": "Ð\92Ñ\8aзникна Ð³Ñ\80еÑ\88ка Ð¿Ñ\80и Ð¿Ñ\80омÑ\8fна Ð½Ð° Ð½Ð°Ñ\81Ñ\82Ñ\80ойкиÑ\82е Ð·Ð° Ñ\81пиÑ\81Ñ\8aка Ð²и за наблюдение за „$1“.",
+       "watcherrortext": "Ð\92Ñ\8aзникна Ð³Ñ\80еÑ\88ка Ð¿Ñ\80и Ð¿Ñ\80омÑ\8fна Ð½Ð° Ð½Ð°Ñ\81Ñ\82Ñ\80ойкиÑ\82е Ð·Ð° Ñ\81пиÑ\81Ñ\8aка Ð\92и за наблюдение за „$1“.",
        "enotif_reset": "Отбелязване на всички страници като посетени",
        "enotif_impersonal_salutation": "Потребител на {{SITENAME}}",
        "enotif_subject_deleted": "Страницата „$1“ в {{SITENAME}} беше {{GENDER:$2|изтрита}} от $2",
        "delete-legend": "Изтриване",
        "historywarning": "<strong>Внимание:</strong> Страницата, която възнамерявате да изтриете, има история с приблизително $1 {{PLURAL:$1|редакция|редакции}}:",
        "historyaction-submit": "Показване",
-       "confirmdeletetext": "Ð\9dа Ð¿Ñ\8aÑ\82 Ñ\81Ñ\82е Ð´Ð° Ð¸Ð·Ñ\82Ñ\80иеÑ\82е Ñ\81Ñ\82Ñ\80аниÑ\86а Ð·Ð°ÐµÐ´Ð½Ð¾ Ñ\81 Ñ\86Ñ\8fлаÑ\82а Ñ\9d Ñ\80едакÑ\86ионна Ð¸Ñ\81Ñ\82оÑ\80иÑ\8f.\nÐ\9fоÑ\82вÑ\8aÑ\80деÑ\82е, Ñ\87е Ð¸Ñ\81каÑ\82е Ñ\82ова, Ñ\80азбиÑ\80аÑ\82е Ð¿Ð¾Ñ\81ледÑ\81Ñ\82виÑ\8fÑ\82а Ð¸ Ð¿Ñ\80авиÑ\82е Ñ\82ова Ð² Ñ\81Ñ\8aоÑ\82веÑ\82Ñ\81Ñ\82вие Ñ\81 [[{{MediaWiki:Policy-url}}|линиÑ\8fÑ\82а Ð½Ð° Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ðµ]].",
+       "confirmdeletetext": "Ð\9dа Ð¿Ñ\8aÑ\82 Ñ\81Ñ\82е Ð´Ð° Ð¸Ð·Ñ\82Ñ\80иеÑ\82е Ñ\81Ñ\82Ñ\80аниÑ\86а Ð·Ð°ÐµÐ´Ð½Ð¾ Ñ\81 Ñ\86Ñ\8fлаÑ\82а Ñ\9d Ñ\80едакÑ\86ионна Ð¸Ñ\81Ñ\82оÑ\80иÑ\8f.\nÐ\9fоÑ\82вÑ\8aÑ\80деÑ\82е, Ñ\87е Ð¸Ñ\81каÑ\82е Ñ\82ова, Ñ\80азбиÑ\80аÑ\82е Ð¿Ð¾Ñ\81ледÑ\81Ñ\82виÑ\8fÑ\82а Ð¸ Ð¿Ñ\80авиÑ\82е Ñ\82ова Ð² Ñ\81Ñ\8aоÑ\82веÑ\82Ñ\81Ñ\82вие Ñ\81 [[{{MediaWiki:Policy-url}}|полиÑ\82икаÑ\82а]].",
        "actioncomplete": "Действието беше изпълнено",
        "actionfailed": "Действието не сполучи",
        "deletedtext": "Страницата „$1“ беше изтрита. Вижте $2 за запис на последните изтривания.",
        "rollback-success": "Отменени редакции на {{GENDER:$3|$1}};\nвъзвръщане към последната версия на {{GENDER:$4|$2}}.",
        "sessionfailure-title": "Прекъсната сесия",
        "sessionfailure": "Изглежда има проблем със сесията ви; действието беше отказано като предпазна мярка срещу крадене на сесията. Натиснете бутона за връщане на браузъра, презаредете страницата, от която сте дошли, и опитайте отново.",
+       "changecontentmodel": "Промяна на модела на съдържанието на страница",
+       "changecontentmodel-legend": "Промяна на модела на съдържанието",
        "changecontentmodel-title-label": "Заглавие на страницата",
+       "changecontentmodel-model-label": "Нов модел на съдържанието",
        "changecontentmodel-reason-label": "Причина:",
        "changecontentmodel-submit": "Променяне",
+       "changecontentmodel-success-title": "Моделът на съдържание бе променен",
        "changecontentmodel-success-text": "Типът на съдържанието на [[:$1]] е успешно променен.",
        "log-name-contentmodel": "Дневник на cъдържанието промяна модела",
        "log-description-contentmodel": "Събития, отнасящи се до модели на съдържанието на страницата",
        "protect-expiring-local": "срок на изтичане $1",
        "protect-expiry-indefinite": "безсрочно",
        "protect-cascade": "Каскадна защита — защита на всички страници, включени в настоящата страница.",
-       "protect-cantedit": "Не можете да промените нивото на защита на тази страницата, защото нямате права да я редактирате.",
+       "protect-cantedit": "Не можете да промените нивото на защита на тази страница, защото нямате права да я редактирате.",
        "protect-othertime": "Друг срок:",
        "protect-othertime-op": "друг срок",
        "protect-existing-expiry": "Оставащо време: $2, $3",
        "undelete-search-prefix": "Показване на страници, започващи със:",
        "undelete-search-submit": "Търсене",
        "undelete-no-results": "Не са намерени страници, отговарящи на търсения критерий.",
-       "undelete-filename-mismatch": "Ð\9dе Ðµ Ð²Ñ\8aзможно Ð²Ñ\8aзÑ\81Ñ\82ановÑ\8fванеÑ\82о Ð½Ð° Ñ\84айловаÑ\82а Ð²ÐµÑ\80Ñ\81иÑ\8f Ñ\81 Ð²Ñ\80емеви Ð¾Ñ\82пеÑ\87аÑ\82Ñ\8aк $1: несъответствие в името на файла",
-       "undelete-bad-store-key": "Ð\9dе Ðµ Ð²Ñ\8aзможно Ð²Ñ\8aзÑ\81Ñ\82ановÑ\8fванеÑ\82о Ð½Ð° Ñ\84айловаÑ\82а Ð²ÐµÑ\80Ñ\81иÑ\8f Ñ\81 Ð²Ñ\80емеви Ð¾Ñ\82пеÑ\87аÑ\82Ñ\8aк $1: файлът е липсвал преди изтриването.",
+       "undelete-filename-mismatch": "Ð\9dе Ðµ Ð²Ñ\8aзможно Ð²Ñ\8aзÑ\81Ñ\82ановÑ\8fванеÑ\82о Ð½Ð° Ñ\84айловаÑ\82а Ð²ÐµÑ\80Ñ\81иÑ\8f Ñ\81 Ð²Ñ\80емева Ð¾Ñ\82меÑ\82ка $1: несъответствие в името на файла",
+       "undelete-bad-store-key": "Ð\9dе Ðµ Ð²Ñ\8aзможно Ð²Ñ\8aзÑ\81Ñ\82ановÑ\8fванеÑ\82о Ð½Ð° Ñ\84айловаÑ\82а Ð²ÐµÑ\80Ñ\81иÑ\8f Ñ\81 Ð²Ñ\80емева Ð¾Ñ\82меÑ\82ка $1: файлът е липсвал преди изтриването.",
        "undelete-cleanup-error": "Грешка при изтриване на неизползвания архивен файл „$1“.",
        "undelete-missing-filearchive": "Не е възможно възстановяването на файла с ID $1, защото не присъства в базата от данни. Вероятно вече е възстановен.",
        "undelete-error": "Грешка при възстановяване на страницата",
        "ipb-confirmhideuser": "На път сте да блокирате потребител, който е \"скрит потребител\". Това действие ще заличи потребителското име от всички списъци и дневници. Наистина ли желаете да направите това?",
        "ipb-edit-dropdown": "Причини за блокиране",
        "ipb-unblock-addr": "Отблокиране на $1",
-       "ipb-unblock": "Отблокиране на потребителско име IP-адрес",
+       "ipb-unblock": "Отблокиране на потребителско име или IP-адрес",
        "ipb-blocklist": "Преглед на текущите блокирания",
        "ipb-blocklist-contribs": "Приноси на {{GENDER:$1|$1}}",
        "ipb-blocklist-duration-left": "{{PLURAL:$1|остава още $1|остават още $1}}",
        "ipblocklist": "Блокирани потребители",
        "ipblocklist-legend": "Търсене на блокиран потребител",
        "blocklist-userblocks": "Скриване на блокирани потребителски сметки",
-       "blocklist-tempblocks": "Скриване на срочни блокирания",
+       "blocklist-tempblocks": "Скриване на временни блокирания",
        "blocklist-addressblocks": "Скриване на отделни блокирани IP адреси",
        "blocklist-rangeblocks": "Скриване на блокиранията по IP диапазон",
        "blocklist-timestamp": "Дата и час",
        "cant-move-to-user-page": "Нямате нужните права на достъп, за да извършвате преместване на страници върху потребителски страници (можете да местите само върху подстраници от потребителското пространство).",
        "cant-move-category-page": "Нямате необходимите права за преместване на страници на категории.",
        "cant-move-to-category-page": "Нямате необходимите права за преместване на страница в страница на категория.",
+       "cant-move-subpages": "Нямате права за преместване на подстраници.",
+       "namespace-nosubpages": "Именно пространство \"$1\" не позволява подстраници.",
        "newtitle": "Ново заглавие:",
        "move-watch": "Наблюдаване на страницата",
        "movepagebtn": "Преместване",
        "move-leave-redirect": "Оставяне на пренасочваща страница от старото към новото заглавие",
        "protectedpagemovewarning": "'''Внимание:''' Тази страница е защитена и само потребители със статут на администратори могат да я преместят.\nЗа справка по-долу е показан последният запис от дневниците.",
        "semiprotectedpagemovewarning": "'''Внимание:''' Тази страница е защитена и само регистрирани потребители могат да я преместят.\nЗа справка по-долу е показан последният запис от дневниците.",
-       "move-over-sharedrepo": "== Файлът вече съществува ==\n[[:$1]] вече съществува в споделеното хранилище. Преместване на файл с това заглавие ще замени споделения файл.",
+       "move-over-sharedrepo": "[[:$1]] вече съществува в споделеното хранилище. Преместване на файл с това заглавие ще замени споделения файл.",
        "file-exists-sharedrepo": "Избраното име на файл вече се използва от файл в сопделеното хранилище.\nНеобходимо е да изберете друго име.",
        "export": "Изнасяне на страници",
        "exporttext": "Тук можете да изнесете като XML текста и историята на една или повече страници. Получените данни можете да вмъкнете в друг сайт, използващ софтуера МедияУики, чрез [[Special:Import|неговата страница за внaсяне]].\n\nЗа да изнесете няколко страници, въвеждайте всяко ново заглавие на '''нов ред'''. След това изберете дали искате само текущата версия (заедно с информация за последната редакция) или всички версии (заедно с текущата) на страницата.\n\nАко желаете само текущата версия, бихте могли да използвате препратка от вида [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] за страницата [[{{MediaWiki:Mainpage}}]].",
        "pageinfo-user-id": "Потребителски номер",
        "markaspatrolleddiff": "Отбелязване като проверена редакция",
        "markaspatrolledtext": "Отбелязване на редакцията като проверена",
-       "markaspatrolledtext-file": "Ð\9cаÑ\80киÑ\80ай версията на файла като проверена",
+       "markaspatrolledtext-file": "Ð\9eÑ\82белÑ\8fзване Ð½Ð° версията на файла като проверена",
        "markedaspatrolled": "Проверена редакция",
        "markedaspatrolledtext": "Избраната редакция на [[:$1]] беше отбелязана като патрулирана.",
        "rcpatroldisabled": "Патрулът е деактивиран",
        "exif-originalimageheight": "Височина на изображението преди намаляването",
        "exif-originalimagewidth": "Ширина на изображението преди намаляването",
        "exif-compression-1": "Некомпресиран",
-       "exif-copyrighted-true": "Заштитено со авторски права",
-       "exif-copyrighted-false": "Статута на авторските права не е указан",
+       "exif-copyrighted-true": "Заштитено с авторски права",
+       "exif-copyrighted-false": "Статутът на авторските права не е указан",
        "exif-unknowndate": "Неизвестна дата",
        "exif-orientation-1": "Нормално",
        "exif-orientation-2": "Отражение по хоризонталата",
        "version-poweredby-others": "други",
        "version-poweredby-translators": "преводачи в translatewiki.net",
        "version-credits-summary": "Бихме искали да изкажем признателност на следните хора за техните приноси към [[Special:Version|MediaWiki]].",
-       "version-license-info": "MediaWiki е свободен софтуер, можете да го разпространявате и/или променяте съгласно условията на GNU General Public License, както е публикуван от Free Software Foundation, версия 2 на лиценза или (по ваше усмотрение) която и да е следваща версия.\n\nMediaWiki се разпространява с надеждата, че ще бъде полезен, но БЕЗ НИКАКВИ ГАРАНЦИИ, без дори косвена гаранция за ПРОДАВАЕМОСТ или ПРИГОДНОСТ ЗА КОНКРЕТНА УПОТРЕБА. Вижте GNU General Public License за повече подробности.\n\nТрябва да сте получили [{{SERVER}}{{SCRIPTPATH}}/COPYING копие на GNU General Public License] заедно с тази програма. Ако не сте, пишете на Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA или го [//www.gnu.org/licenses/old-licenses/gpl-2.0.html прочетете в мрежата].",
+       "version-license-info": "МедияУики е свободен софтуер, можете да го разпространявате и/или променяте съгласно условията на GNU General Public License, както е публикуван от Free Software Foundation, версия 2 на лиценза или (по ваше усмотрение) която и да е следваща версия.\n\nМедияУики се разпространява с надеждата, че ще бъде полезен, но БЕЗ НИКАКВИ ГАРАНЦИИ, без дори косвена гаранция за ПРОДАВАЕМОСТ или ПРИГОДНОСТ ЗА КОНКРЕТНА УПОТРЕБА. Вижте GNU General Public License за повече подробности.\n\nТрябва да сте получили [{{SERVER}}{{SCRIPTPATH}}/COPYING копие на GNU General Public License] заедно с тази програма. Ако не сте, пишете на Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA или го [//www.gnu.org/licenses/old-licenses/gpl-2.0.html прочетете в мрежата].",
        "version-software": "Инсталиран софтуер",
        "version-software-product": "Продукт",
        "version-software-version": "Версия",
        "version-libraries-license": "Лиценз",
        "version-libraries-description": "Описание",
        "version-libraries-authors": "Автори",
+       "redirect": "Пренасочване по идентификатор на файл, потребител, страница, версия или запис от дневника",
+       "redirect-summary": "Тази специална страница пренасочва към файл (като се има предвид името на файла), към страница (по зададена версия или номер на страницата), към потребителска страница (по зададен потребителски номер), или към запис от дневника (по зададен номер на записа). <br />\nИзползване: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], [[{{#Special:Redirect}}/user/101]], или [[{{#Special:Redirect}}/logid/186]].",
        "redirect-submit": "Отваряне",
+       "redirect-lookup": "Параметър:",
        "redirect-value": "Стойност:",
        "redirect-user": "Потребителски номер",
        "redirect-page": "Номер на страницата",
        "redirect-revision": "Версия на страницата",
        "redirect-file": "Име на файл",
+       "redirect-logid": "Номер на записа",
        "redirect-not-exists": "Стойността не е намерена",
        "fileduplicatesearch": "Търсене на повтарящи се файлове",
        "fileduplicatesearch-summary": "Търсене на повтарящи се файлове на база хеш стойности.",
        "htmlform-user-not-exists": "<strong>$1</strong> не съществува.",
        "htmlform-user-not-valid": "<strong>$1</strong> не е валидно потребителско име.",
        "logentry-delete-delete": "$1 {{GENDER:$2|изтри}} страницата $3",
+       "logentry-delete-delete_redir": "$1 {{GENDER:$2|изтри}} пренасочване $3 чрез препокриване",
        "logentry-delete-restore": "$1 {{GENDER:$2|възстанови}} страницата $3",
        "logentry-delete-revision": "$1 {{GENDER:$2|промени}} видимостта на {{PLURAL:$5|една редакция|$5 редакции}} в страница $3: $4",
        "logentry-delete-event-legacy": "$1 {{GENDER:$2|промени}} видимостта на събитията от дневниците за страница $3",
        "logentry-rights-rights-legacy": "$1 {{GENDER:$2|промени}} потребителската група на $3",
        "logentry-rights-autopromote": "$1 е автоматично {{GENDER:$2|повишен|повишена}} от $4 до $5",
        "logentry-upload-upload": "$1 {{GENDER:$2|качи}} $3",
+       "log-name-managetags": "Дневник на управлението на етикети",
+       "log-description-managetags": "На тази страница са изброени задачи, свързани с управлението на [[Special:Tags|етикети]]. Дневникът съдържа само действия, извършвани ръчно от администратор. Етикети могат да бъдат създавани или изтривани от уики софтуера без това да бъде отразено в този дневник.",
+       "log-name-tag": "Дневник на етикетите",
+       "log-description-tag": "Тази страница показва, кога потребителите са добавили или премахнали [[Special:Tags|етикети]] от отделни версии или записи. Списъкът не включва подобни действия, когато те се появяват, като част от процеса на редактиране, изтриване или подобни действия.",
        "rightsnone": "(никакви)",
-       "revdelete-summary": "резюме",
        "feedback-adding": "Добавяне на коментар към страницата...",
        "feedback-back": "Обратно",
        "feedback-bugcheck": "Страхотно! Само проверете дали това не сред вече [$1 докладваните грешки].",
        "default-skin-not-found-row-enabled": "* <code>$1</code> / $2 (включено)",
        "default-skin-not-found-row-disabled": "* <code>$1</code> / $2 (<strong>изключено</strong>)",
        "mediastatistics": "Статистика за файлове",
+       "mediastatistics-summary": "Статистика за видовете качени файлове. Тя включва само последните версии на файловете, без старите или изтритите версии.",
+       "mediastatistics-bytespertype": "Пълен размер на файловете за този раздел: {{PLURAL:$1|$1 байт|$1 байта}} ($2; $3%).",
+       "mediastatistics-allbytes": "Общ размер на всички файлове: {{PLURAL:$1|$1 байт|$1 байта}} ($2).",
        "mediastatistics-table-mimetype": "MIME тип",
        "mediastatistics-table-extensions": "Възможни разширения",
        "mediastatistics-table-count": "Брой файлове",
index 4e4401e..1990c25 100644 (file)
        "login": "लॉग इन",
        "login-security": "आपन पहिचान साबित करीं",
        "nav-login-createaccount": "खाता प्रवेश / खाता बनाईं",
-       "userlogin": "खाता प्रवेश / खाता बनाईं",
-       "userloginnocreate": "खाता में प्रवेश",
        "logout": "खाता से बाहर",
        "userlogout": "खाता से बाहर",
        "notloggedin": "खाता में प्रवेश नइखीं भइल",
        "userlogin-noaccount": "का एगो खाता नइखे?",
        "userlogin-joinproject": "{{SITENAME}} से जुड़ीं",
-       "nologin": "का एगो खाता नईखे? $1.",
-       "nologinlink": "एगो खाता बनाईं",
        "createaccount": "खाता बनाईं",
-       "gotaccount": "का पहिले से एगो खाता बा? $1.",
-       "gotaccountlink": "खाता में प्रवेश",
-       "userlogin-resetlink": "का रउआ आपन खाता में प्रवेश वाली जानकारी भुला गइल बानी?",
        "userlogin-resetpassword-link": "आपन गुप्तशब्द भुला गइनी का?",
        "userlogin-helplink2": "खाता में प्रवेश में मदद",
        "userlogin-loggedin": "रउआ {{GENDER:$1|$1}} के रूप में पहिले से खाता में प्रवेश क चुकल बानीं।\nकौनो अन्य सदस्य के रूप में खाता में प्रवेश करे खातिर नीचे दिहल फारम के प्रयोग करीं।",
        "createaccountmail": "एगो अस्थायी यादृच्छिक (रैन्डम) गुप्तशब्द के प्रयोग करीं आ दिहल गइल ईमेल पता पर भेजीं",
        "createaccountmail-help": "एकर इस्तेमाल केहू दुसरा खातिर खाता बनावे में कइल जा सके ला, बिना पासवर्ड जनले।",
        "createacct-realname": "असली नाम (वैकल्पिक)",
-       "createaccountreason": "कारण:",
        "createacct-reason": "कारण",
        "createacct-reason-ph": "रउआ एगो अन्य खाता काहें बना रहल बानी",
        "createacct-reason-help": "खाता बनवले के लॉग में देखाई पड़े वाला सनेसा",
        "revdelete-unrestricted": "प्रबंधक पर से प्रतिबंध समाप्त",
        "logentry-move-move": "$1 पन्ना $3 के $4 पर {{GENDER:$2|स्थानांतरण कइलें}}",
        "logentry-newusers-create": "खाता $1 {{GENDER:$2|बनावल गइल}}",
-       "revdelete-summary": "सारांश संपादन",
        "searchsuggest-search": "खोजीं",
        "expandtemplates": "टेम्पलेट बिस्तार",
        "mediastatistics": "मीडिया सांख्यिकी"
index a25c258..34f5fd5 100644 (file)
                ]
        },
        "tog-underline": "সংযোগগুলির নিচে দাগ দেখানো হোক:",
-       "tog-hideminor": "à¦\85নà§\81লà§\8dলà§\87à¦\96à§\8dয à¦¸à¦®à§\8dপাদনাà¦\97à§\81লà§\8b à¦¸à¦¾à¦®à§\8dপà§\8dরতিà¦\95 à¦ªà¦°à¦¿à¦¬à¦°à§\8dতনসমà§\82হà§\87 à¦\86ড়াল à¦\95রà§\8b",
-       "tog-hidepatrolled": "পরীক্ষিত সম্পাদনা গুলো সাম্প্রতিক পরিবর্তনসমূহে আড়াল করো",
-       "tog-newpageshidepatrolled": "পরীক্ষিত পাতা গুলো নতুন পাতার তালিকায় আড়াল করো",
-       "tog-hidecategorization": "পাতার à¦¶à§\8dরà§\87ণà§\80বদà§\8dধà¦\95রণ à¦²à§\81à¦\95ান",
-       "tog-extendwatchlist": "শà§\81ধà§\81 à¦¸à¦¾à¦®à§\8dপà§\8dরতিà¦\95 à¦ªà¦°à¦¿à¦¬à¦°à§\8dতনà¦\87 à¦¨à¦¯à¦¼, à¦¸à¦\95ল à¦ªà¦°à¦¿à¦¬à¦°à§\8dতন à¦¦à§\87à¦\96তà§\87 à¦¨à¦\9cর à¦¤à¦¾à¦²à¦¿à¦\95া à¦¸à¦®à§\8dপà§\8dরসারণ à¦\95রà§\81ন",
-       "tog-usenewrc": "সামà§\8dপà§\8dরতিà¦\95 à¦ªà¦°à¦¿à¦¬à¦°à§\8dতনসমà§\82হ à¦\8fবà¦\82 à¦¨à¦\9cরতালিà¦\95া à¦ªà¦¾à¦¤à¦¾à¦¯à¦¼ à¦ªà¦°à¦¿à¦¬à¦°à§\8dতনà¦\97à§\81লà§\8b à¦\8fà¦\95তà§\8dরà§\87 à¦ªà§\8dরদরà§\8dশন",
-       "tog-numberheadings": "শিরà§\8bনামà¦\97à§\81লà§\8bà¦\95à§\87 à¦¸à§\8dবয়à¦\82à¦\95à§\8dরিয়ভাবà§\87 à¦\95à§\8dরমিà¦\95 à¦¨à¦®à§\8dবর à¦¦à¦¾à¦\93",
-       "tog-showtoolbar": "সমà§\8dপাদনা à¦¸à¦°à¦\9eà§\8dà¦\9cামদণà§\8dড à¦¦à§\87à¦\96াà¦\93",
-       "tog-editondblclick": "দুইবার ক্লিক করে পাতা সম্পাদনা",
-       "tog-editsectiononrightclick": "পরিচ্ছেদের শিরোনামে ডান ক্লিকের মাধ্যমে সম্পাদনা করার ক্ষমতা দেয়া হোক",
-       "tog-watchcreations": "à¦\86মার à¦¤à§\88রি à¦ªà¦¾à¦¤à¦¾ à¦\8fবà¦\82 à¦\86পলà§\8bড à¦\95রা à¦«à¦¾à¦\87লà¦\97à§\81ললà§\8b আমার নজরতালিকায় যোগ করা হোক",
-       "tog-watchdefault": "আমার সম্পাদিত পাতা এবং ফাইলগুলো আমার নজরতালিকায় যোগ করা হোক",
-       "tog-watchmoves": "à¦\86মার à¦¸à§\8dথানানà§\8dতরিত à¦ªà¦¾à¦¤à¦¾ à¦\8fবà¦\82 à¦«à¦¾à¦\87লà¦\97à§\81লà§\8b আমার নজরতালিকায় যোগ করা হোক",
-       "tog-watchdeletion": "à¦\86মার à¦\85পসারিত à¦ªà¦¾à¦¤à¦¾ à¦\8fবà¦\82 à¦«à¦¾à¦\87লà¦\97à§\81লà§\8b আমার নজর তালিকায় যোগ করা হোক",
-       "tog-watchuploads": "à¦\86মার à¦¨à¦\9cরতালিà¦\95ায় à¦\86মার à¦\86পলà§\8bড à¦\95রা à¦¨à¦¤à§\81ন à¦«à¦¾à¦\87ল à¦¯à§\8bà¦\97 à¦\95র",
-       "tog-watchrollback": "আমার দ্বারা রোলব্যাক করা পাতা আমার নজরতালিকায় যোগ করা হোক",
+       "tog-hideminor": "à¦\85নà§\81লà§\8dলà§\87à¦\96à§\8dয à¦¸à¦®à§\8dপাদনাà¦\97à§\81লি à¦¸à¦¾à¦®à§\8dপà§\8dরতিà¦\95 à¦ªà¦°à¦¿à¦¬à¦°à§\8dতন à¦ªà¦¾à¦¤à¦¾à¦¯à¦¼ à¦²à§\81à¦\95িয়à§\87 à¦°à¦¾à¦\96া à¦¹à§\8bà¦\95",
+       "tog-hidepatrolled": "পরীক্ষিত সম্পাদনাগুলি সাম্প্রতিক পরিবর্তন পাতায় লুকিয়ে রাখা হোক",
+       "tog-newpageshidepatrolled": "পরীক্ষিত পাতাগুলিকে নতুন পাতার তালিকায় লুকিয়ে রাখা হোক",
+       "tog-hidecategorization": "পাতাà¦\97à§\81লির à¦¶à§\8dরà§\87ণà§\80à¦\95রণ à¦²à§\81à¦\95িয়à§\87 à¦°à¦¾à¦\96া à¦¹à§\8bà¦\95",
+       "tog-extendwatchlist": "শà§\81ধà§\81 à¦¸à¦¾à¦®à§\8dপà§\8dরতিà¦\95 à¦ªà¦°à¦¿à¦¬à¦°à§\8dতনà¦\87 à¦¨à¦¯à¦¼, à¦¸à¦\95ল à¦ªà¦°à¦¿à¦¬à¦°à§\8dতন à¦¦à§\87à¦\96তà§\87 à¦¨à¦\9cর à¦¤à¦¾à¦²à¦¿à¦\95া à¦¸à¦®à§\8dপà§\8dরসারণ à¦\95রা à¦¹à§\8bà¦\95",
+       "tog-usenewrc": "সামà§\8dপà§\8dরতিà¦\95 à¦ªà¦°à¦¿à¦¬à¦°à§\8dতনসমà§\82হ à¦\8fবà¦\82 à¦¨à¦\9cরতালিà¦\95া à¦ªà¦¾à¦¤à¦¾à¦¯à¦¼ à¦ªà¦°à¦¿à¦¬à¦°à§\8dতনà¦\97à§\81লি à¦\8fà¦\95তà§\8dরà§\87 à¦ªà§\8dরদরà§\8dশন à¦\95রা à¦¹à§\8bà¦\95",
+       "tog-numberheadings": "শিরà§\8bনামà¦\97à§\81লিà¦\95à§\87 à¦¸à§\8dবয়à¦\82à¦\95à§\8dরিয়ভাবà§\87 à¦\95à§\8dরমিà¦\95 à¦¨à¦®à§\8dবর à¦¦à§\87য়া à¦¹à§\8bà¦\95",
+       "tog-showtoolbar": "সমà§\8dপাদনা à¦¸à¦°à¦\9eà§\8dà¦\9cামদণà§\8dড à¦¦à§\87à¦\96ানà§\8b à¦¹à§\8bà¦\95",
+       "tog-editondblclick": "দুইবার ক্লিক করে পাতা সম্পাদনা করা হোক",
+       "tog-editsectiononrightclick": "পরিচ্ছেদের শিরোনামে ডান ক্লিক করার মাধ্যমে পরিচ্ছেদ সম্পাদনা করার সুবিধাটি সক্রিয় করা হোক",
+       "tog-watchcreations": "à¦\86মার à¦¤à§\88রি à¦\95রা à¦ªà¦¾à¦¤à¦¾à¦\97à§\81লি à¦\8fবà¦\82 à¦\86পলà§\8bড à¦\95রা à¦«à¦¾à¦\87লà¦\97à§\81লি আমার নজরতালিকায় যোগ করা হোক",
+       "tog-watchdefault": "আমার সম্পাদিত পাতাগুলি এবং ফাইলগুলি আমার নজরতালিকায় যোগ করা হোক",
+       "tog-watchmoves": "à¦\86মার à¦¦à§\8dবারা à¦¸à§\8dথানানà§\8dতরিত à¦ªà¦¾à¦¤à¦¾à¦\97à§\81লি à¦\8fবà¦\82 à¦«à¦¾à¦\87লà¦\97à§\81লি আমার নজরতালিকায় যোগ করা হোক",
+       "tog-watchdeletion": "à¦\86মার à¦¦à§\8dবারা à¦\85পসারিত à¦ªà¦¾à¦¤à¦¾à¦\97à§\81লি à¦\8fবà¦\82 à¦«à¦¾à¦\87লà¦\97à§\81লি আমার নজর তালিকায় যোগ করা হোক",
+       "tog-watchuploads": "à¦\86মার à¦\86পলà§\8bড à¦\95রা à¦¨à¦¤à§\81ন à¦«à¦¾à¦\87লà¦\97à§\81লি à¦\86মার à¦¨à¦\9cরতালিà¦\95ায় à¦¯à§\8bà¦\97 à¦\95রা à¦¹à§\8bà¦\95",
+       "tog-watchrollback": "আমার দ্বারা রোলব্যাক করা পাতাগুলি আমার নজরতালিকায় যোগ করা হোক",
        "tog-minordefault": "শুরুতেই সব সম্পাদনাকে অনুল্লেখ্য বলে চিহ্নিত করা হোক",
        "tog-previewontop": "সম্পাদনা বাক্সের আগে প্রাকদর্শন দেখানো হোক",
        "tog-previewonfirst": "প্রথম সম্পাদনার ক্ষেত্রে প্রাকদর্শন দেখানো হোক",
-       "tog-enotifwatchlistpages": "আমার নজর তালিকায় আছে এমন পাতা অথবা ফাইলে পরিবর্তন হলে আমাকে ই-মেইল করো",
+       "tog-enotifwatchlistpages": "আমার নজরতালিকায় আছে এমন কোন পাতা অথবা ফাইলে পরিবর্তন হলে আমাকে ই-মেইল করা হোক",
        "tog-enotifusertalkpages": "আমার ব্যবহারকারী আলোচনা পাতার পরিবর্তন হলে আমাকে ই-মেইল করা হোক",
-       "tog-enotifminoredits": "পাতা à¦\8fবà¦\82 à¦«à¦¾à¦\87লà¦\97à§\81লà§\8bতে অনুল্লেখ্য সম্পাদনার জন্যও আমাকে ই-মেইল করা হোক",
-       "tog-enotifrevealaddr": "বিজ্ঞপ্তি মেইলে আমার ই-মেইল ঠিকানা প্রকাশ করা হোক",
-       "tog-shownumberswatching": "নজরদারী করছে, এমন ব্যবহারকারীর সংখ্যা দেখানো হোক",
+       "tog-enotifminoredits": "পাতা à¦\8fবà¦\82 à¦«à¦¾à¦\87লà¦\97à§\81লিতে অনুল্লেখ্য সম্পাদনার জন্যও আমাকে ই-মেইল করা হোক",
+       "tog-enotifrevealaddr": "বিজ্ঞপ্তির ই-মেইলগুলিতে আমার ই-মেইল ঠিকানা প্রকাশ করা হোক",
+       "tog-shownumberswatching": "নজরদারী করছে এমন ব্যবহারকারীর সংখ্যা দেখানো হোক",
        "tog-oldsig": "আপনার বর্তমান স্বাক্ষর:",
-       "tog-fancysig": "সà§\8dবাà¦\95à§\8dষরà¦\95à§\87 à¦\89à¦\87à¦\95িà¦\9fà§\87à¦\95à§\8dসà¦\9f à¦¹à¦¿à¦¸à§\87বà§\87 à¦®à¦¨à§\87 à¦\95রà§\81ন (à¦\95à§\8bন à¦¸à¦¯à¦¼à¦\82à¦\95à§\8dরিয় à¦²à¦¿à¦\99à§\8dà¦\95 ছাড়া)",
-       "tog-uselivepreview": "তাà§\8eà¦\95à§\8dষণিà¦\95 à¦ªà§\8dরাà¦\95দরà§\8dশন à¦¬à§\8dযবহার à¦\95রà§\8b",
+       "tog-fancysig": "সà§\8dবাà¦\95à§\8dষরà¦\95à§\87 à¦\89à¦\87à¦\95িà¦\9fà§\87à¦\95à§\8dসà¦\9f à¦¹à¦¿à¦¸à§\87বà§\87 à¦®à¦¨à§\87 à¦\95রা à¦¹à§\8bà¦\95 (à¦\95à§\8bন à¦¸à§\8dবয়à¦\82à¦\95à§\8dরিয় à¦¸à¦\82যà§\8bà¦\97 ছাড়া)",
+       "tog-uselivepreview": "তাà§\8eà¦\95à§\8dষণিà¦\95 à¦ªà§\8dরাà¦\95দরà§\8dশন à¦¬à§\8dযবহার à¦\95রা à¦¹à§\8bà¦\95",
        "tog-forceeditsummary": "খালি সম্পাদনা সারাংশ প্রবেশ করানোর সময় আমাকে জানানো হোক",
-       "tog-watchlisthideown": "à¦\86মার à¦¸à¦®à§\8dপাদনাà¦\97à§\81লি à¦\86মার à¦¨à¦\9cরতালিà¦\95ায় à¦¨à¦¾ à¦¦à§\87à¦\96ানà§\8b হোক",
-       "tog-watchlisthidebots": "বà¦\9fà§\87র à¦\95রা à¦¸à¦®à§\8dপাদনাà¦\97à§\81লি à¦¨à¦\9cরতালিà¦\95ায় à¦¨à¦¾ à¦¦à§\87à¦\96ানà§\8b হোক",
-       "tog-watchlisthideminor": "অনুল্লেখ্য সম্পাদনাগুলো নজর তালিকায় না দেখানো হোক",
-       "tog-watchlisthideliu": "নà¦\9cরতালিà¦\95াতà§\87 à¦\85à§\8dযাà¦\95াà¦\89নà§\8dà¦\9fà§\87 à¦²à¦\97-à¦\87ন à¦\95রা à¦¬à§\8dযবহারà¦\95ারà§\80দà§\87র à¦¸à¦®à§\8dপাদনা à¦\86ড়ালে রাখা হোক",
-       "tog-watchlistreloadautomatically": "পà§\8dরতিবার à¦\8fà¦\95à¦\9fি à¦\9bাà¦\81à¦\95নি à¦ªà¦°à¦¿à¦¬à¦°à§\8dতন à¦¹à¦\93য়া à¦®à¦¾à¦¤à§\8dরà¦\87 à¦¸à§\8dবয়à¦\82à¦\95à§\8dরিয়ভাবà§\87 à¦¨à¦\9cরতালিà¦\95ায় à¦ªà§\81নà¦\83লà§\8bড à¦\95রà§\8b (জাভাস্ক্রিপ্ট প্রয়োজন)",
-       "tog-watchlisthideanons": "নà¦\9cরতালিà¦\95াতà§\87 à¦¬à§\87নামà§\80 à¦¬à§\8dযবহারà¦\95ারà§\80দà§\87র à¦¸à¦®à§\8dপাদনা আড়ালে রাখা হোক",
-       "tog-watchlisthidepatrolled": "পরীক্ষিত সম্পাদনা গুলো নজরতালিকায় আড়াল করো",
-       "tog-watchlisthidecategorization": "পাতার à¦¶à§\8dরà§\87ণà§\80বদà§\8dধà¦\95রণ à¦²à§\81à¦\95ান",
+       "tog-watchlisthideown": "à¦\86মার à¦¸à¦®à§\8dপাদনাà¦\97à§\81লি à¦\86মার à¦¨à¦\9cরতালিà¦\95ায় à¦²à§\81à¦\95িয়à§\87 à¦°à¦¾à¦\96া হোক",
+       "tog-watchlisthidebots": "বà¦\9fà§\87র à¦\95রা à¦¸à¦®à§\8dপাদনাà¦\97à§\81লি à¦¨à¦\9cরতালিà¦\95ায় à¦²à§\81à¦\95িয়à§\87 à¦°à¦¾à¦\96া হোক",
+       "tog-watchlisthideminor": "অনুল্লেখ্য সম্পাদনাগুলো নজরতালিকায় লুকিয়ে রাখা হোক",
+       "tog-watchlisthideliu": "à¦\85à§\8dযাà¦\95াà¦\89নà§\8dà¦\9fà§\87 à¦ªà§\8dরবà§\87শà¦\95à§\83ত à¦¬à§\8dযবহারà¦\95ারà§\80দà§\87র à¦¸à¦®à§\8dপাদনাà¦\97à§\81লি à¦¨à¦\9cরতালিà¦\95ায় à¦²à§\81à¦\95িয়ে রাখা হোক",
+       "tog-watchlistreloadautomatically": "পà§\8dরতিবার à¦\8fà¦\95à¦\9fি à¦\9bাà¦\81à¦\95নি à¦ªà¦°à¦¿à¦¬à¦°à§\8dতন à¦¹à¦\93য়া à¦®à¦¾à¦¤à§\8dরà¦\87 à¦¸à§\8dবয়à¦\82à¦\95à§\8dরিয়ভাবà§\87 à¦¨à¦\9cরতালিà¦\95াà¦\9fি à¦ªà§\81নà¦\83লà§\8bড à¦\95রা à¦¹à§\8bà¦\95 (জাভাস্ক্রিপ্ট প্রয়োজন)",
+       "tog-watchlisthideanons": "বà§\87নামà§\80 à¦¬à§\8dযবহারà¦\95ারà§\80দà§\87র à¦¸à¦®à§\8dপাদনাà¦\97à§\81লি à¦¨à¦\9cরতালিà¦\95ায় আড়ালে রাখা হোক",
+       "tog-watchlisthidepatrolled": "পরীক্ষিত সম্পাদনাগুলি নজরতালিকায় লুকিয়ে রাখা হোক",
+       "tog-watchlisthidecategorization": "পাতার à¦¶à§\8dরà§\87ণà§\80বদà§\8dধà¦\95রণ à¦²à§\81à¦\95িয়à§\87 à¦°à¦¾à¦\96া à¦¹à§\8bà¦\95",
        "tog-ccmeonemails": "অন্য ব্যবহারকারীর কাছে আমার পাঠানো ইমেইলের একটি অনুলিপি আমাকে পাঠানো হোক",
        "tog-diffonly": "পার্থক্যের নিচে পাতার বিষয়বস্তু না দেখানো হোক",
-       "tog-showhiddencats": "লà§\81à¦\95ায়িত à¦¬à¦¿à¦·à¦¯à¦¼à¦¶à§\8dরà§\87ণà§\80সমà§\82হ à¦¦à§\87à¦\96াà¦\93",
-       "tog-norollbackdiff": "রà§\8bলবà§\8dযাà¦\95à§\87র à¦ªà¦°à§\87 à¦ªà¦¾à¦°à§\8dথà¦\95à§\8dয à¦¦à§\87à¦\96িà¦\93 à¦¨à¦¾",
-       "tog-useeditwarning": "à¦\85সà¦\82রà¦\95à§\8dষিত à¦ªà¦°à¦¿à¦¬à¦°à§\8dতনসহ à¦\95à§\8bনà§\8b à¦ªà¦¾à¦¤à¦¾ à¦¤à§\8dযাà¦\97à§\87র à¦¸à¦®à¦¯à¦¼ à¦¸à¦¾à¦¬à¦§à¦¾à¦¨ à¦\95রà§\8b",
-       "tog-prefershttps": "প্রবেশ করার সময় সবসময় নিরাপদ সংযোগ ব্যবহার করুন",
+       "tog-showhiddencats": "লà§\81à¦\95ায়িত à¦¬à¦¿à¦·à¦¯à¦¼à¦¶à§\8dরà§\87ণà§\80সমà§\82হ à¦¦à§\87à¦\96ানà§\8b à¦¹à§\8bà¦\95",
+       "tog-norollbackdiff": "রà§\8bলবà§\8dযাà¦\95à§\87র à¦ªà¦°à§\87 à¦¸à¦\82সà§\8dà¦\95রণà¦\97à§\81লির à¦ªà¦¾à¦°à§\8dথà¦\95à§\8dয à¦¨à¦¾ à¦¦à§\87à¦\96ানà§\8b à¦¹à§\8bà¦\95",
+       "tog-useeditwarning": "à¦\95à§\8bনà§\8b à¦¸à¦®à§\8dপাদনা à¦ªà¦¾à¦¤à¦¾ à¦¤à§\8dযাà¦\97à§\87র à¦¸à¦®à¦¯à¦¼ à¦ªà¦°à¦¿à¦¬à¦°à§\8dতনà¦\97à§\81লি à¦¸à¦\82রà¦\95à§\8dষিত à¦¨à¦¾ à¦¹à¦¯à¦¼à§\87 à¦¥à¦¾à¦\95লà§\87 à¦\86মাà¦\95à§\87 à¦¸à¦¾à¦¬à¦§à¦¾à¦¨ à¦\95রা à¦¹à§\8bà¦\95",
+       "tog-prefershttps": "à¦\85à§\8dযাà¦\95াà¦\89নà§\8dà¦\9fà§\87 à¦ªà§\8dরবà§\87শ à¦\95রার à¦¸à¦®à¦¯à¦¼ à¦¸à¦¬à¦¸à¦®à¦¯à¦¼ à¦¨à¦¿à¦°à¦¾à¦ªà¦¦ à¦¸à¦\82যà§\8bà¦\97 à¦¬à§\8dযবহার à¦\95রà§\81ন",
        "underline-always": "সব সময়",
        "underline-never": "কখনো নয়",
        "underline-default": "স্কিন অথবা ব্রাউজারে যেমনভাবে নির্দিষ্ট করা আছে",
-       "editfont-style": "সমà§\8dপাদনা à¦\8fলাà¦\95ার à¦«à¦¨à§\8dà¦\9f à¦¸à§\8dà¦\9fাà¦\87ল:",
-       "editfont-default": "ব্রাউজার পূর্বনির্ধারিত",
+       "editfont-style": "সমà§\8dপাদনা à¦\8fলাà¦\95ার à¦«à¦¨à§\8dà¦\9f à¦¶à§\88লà§\80:",
+       "editfont-default": "বà§\8dরাà¦\89à¦\9cার à¦¦à§\8dবারা à¦ªà§\82রà§\8dবনিরà§\8dধারিত",
        "editfont-monospace": "মনোস্পেস ফন্ট",
        "editfont-sansserif": "স্যান্স-সেরিফ ফন্ট",
        "editfont-serif": "সেরিফ ফন্ট",
        "subcategories": "উপবিষয়শ্রেণীসমূহ",
        "category-media-header": "\"$1\" বিষয়শ্রেণীতে অন্তর্ভুক্ত মিডিয়া ফাইলগুলি",
        "category-empty": "''এই বিষয়শ্রণীতে বর্তমানে কোন পাতা বা মিডিয়া ফাইল নেই।''",
-       "hidden-categories": "{{PLURAL:$1|লà§\81à¦\95ায়িত à¦¬à¦¿à¦·à¦¯à¦¼à¦¶à§\8dরà§\87ণà§\80|লà§\81à¦\95ায়িত à¦¬à¦¿à¦·à¦¯à¦¼à¦¶à§\8dরà§\87ণà§\80সমà§\82হ}}",
+       "hidden-categories": "{{PLURAL:$1|à¦\9fি à¦²à§\81à¦\95ায়িত à¦¬à¦¿à¦·à¦¯à¦¼à¦¶à§\8dরà§\87ণà§\80}}",
        "hidden-category-category": "লুকায়িত বিষয়শ্রেণীসমূহ",
        "category-subcat-count": "{{PLURAL:$2|এই বিষয়শ্রেণীতে কেবলমাত্র নিচের উপবিষয়শ্রেণীটি আছে।|এই বিষয়শ্রেণীতে অন্তর্ভুক্ত মোট $2টি উপবিষয়শ্রেণীর মধ্যে {{PLURAL:$1|টি উপবিষয়শ্রেণী|$1টি উপবিষয়শ্রেণী}} নিচে দেখানো হয়েছে।}}",
        "category-subcat-count-limited": "এই বিষয়শ্রেণীতে নিচের {{PLURAL:$1|টি উপবিষয়শ্রেণী|$1টি উপবিষয়শ্রেণী আছে}}।",
        "listingcontinuesabbrev": "আরও আছে",
        "index-category": "নির্ঘণ্ট পাতা",
        "noindex-category": "নির্ঘণ্ট নয় এমন পাতা",
-       "broken-file-category": "à¦\85à¦\95ারà§\8dযà¦\95র à¦\9aিতà§\8dর সংযোগসহ পাতাসমূহ",
+       "broken-file-category": "à¦\85à¦\95ারà§\8dযà¦\95র à¦«à¦¾à¦\87ল সংযোগসহ পাতাসমূহ",
        "about": "পরিচিতি",
        "article": "বিষয়বস্তুর পাতা",
        "newwindow": "(নতুন উইন্ডোতে খুলবে)",
        "qbbrowse": "ব্রাউজ",
        "qbedit": "সম্পাদনা",
        "qbpageoptions": "এই পাতা",
-       "qbmyoptions": "à¦\86মার à¦ªà¦¾à¦¤à¦¾à¦¸à¦®à§\82হ",
+       "qbmyoptions": "à¦\86মার à¦ªà¦¾à¦¤à¦¾à¦\97à§\81লি",
        "faq": "প্রাজিপ্র",
        "faqpage": "Project:প্রাজিপ্র",
        "actions": "কার্যক্রম",
        "namespaces": "নামস্থান",
        "variants": "বিকল্পসমূহ",
-       "navigation-heading": "পরিভà§\8dরমণ à¦®à§\87নà§\81",
+       "navigation-heading": "পরিভà§\8dরমণ à¦¬à¦¾à¦\9bাà¦\87তালিà¦\95া",
        "errorpagetitle": "ত্রুটি",
        "returnto": "$1 পাতায় ফেরত যান।",
        "tagline": "{{SITENAME}} থেকে",
        "help": "সাহায্য",
        "search": "অনুসন্ধান",
+       "search-ignored-headings": " #<!-- এই লাইনটিকে ঠিক যেমন আছে তেমনটি রেখে দিন --> <pre>\n# যেসব শিরোনাম অনুসন্ধানে অগ্রাহ্য করা হবে।\n# যখনই শিরোনামযুক্ত পাতাটি সূচীভুক্ত হবে, তখনই এখানকার কোন পরিবর্তন বাস্তবায়িত হবে।\n# আপনি একটি নাল/শূন্য সম্পাদনা করে পাতাটিকে বলপূর্বক পুনঃসূচীভুক্ত করতে পারেন।\n# সিনট্যাক্স বা পদক্রম/পদবিন্যাসের নিয়মগুলি নিম্নরূপ:\n#   * অক্ষর থেকে শুরু করে লাইনের শেষ পর্যন্ত সবকিছু হচ্ছে একটি মন্তব্য বা কমেন্ট।\n#   * প্রতিটি অশূন্য লাইন হচ্ছে যে শিরোনামটি অগ্রাহ্য করা হবে, বড় হাতের লেখা এবং অন্যান্য সবকিছু গণনায় ধরে।\nতথ্যসূত্র\nবহিঃসংযোগ\nআরও দেখুন\n#</pre> <!-- এই লাইনটিকে ঠিক যেমন আছে তেমনটি রেখে দিন -->",
        "searchbutton": "অনুসন্ধান",
        "go": "চলো",
        "searcharticle": "চলো",
        "tool-link-userrights-readonly": "{{GENDER:$1|ব্যবহারকারী}} দল দেখুন",
        "tool-link-emailuser": "এই {{GENDER:$1|ব্যবহারকারী}}কে ইমেইল পাঠান",
        "userpage": "ব্যাবহারকারীর পাতা দেখুন",
-       "projectpage": "মà§\87à¦\9fা-পাতা দেখুন",
+       "projectpage": "পà§\8dরà¦\95লà§\8dপ à¦ªà¦¾à¦¤à¦¾à¦\9fি দেখুন",
        "imagepage": "ফাইল পাতা দেখুন",
        "mediawikipage": "বার্তার পাতা দেখুন",
        "templatepage": "টেমপ্লেট পাতা দেখুন",
        "lastmodifiedat": "এ পাতায় শেষ পরিবর্তন হয়েছিল $2টার সময়, $1 তারিখে।",
        "viewcount": "এ পাতাটি {{PLURAL:$1|বার|$1 বার}} দেখা হয়েছে।",
        "protectedpage": "সুরক্ষিত পাতা",
-       "jumpto": "à¦\9dাà¦\81প à¦¦াও:",
+       "jumpto": "সরাসরি à¦¯াও:",
        "jumptonavigation": "পরিভ্রমণ",
        "jumptosearch": "অনুসন্ধান",
        "view-pool-error": "দুঃখিত, সার্ভারে এ মূহুর্তে অতিরিক্ত চাপ রয়েছে।\nঅনেক বেশি সংখ্যক ব্যবহারকারী এই পাতাটি দেখার চেষ্টা করছেন।\nনতুন করে এ পাতাটি দেখার চেষ্টা করার আগে কিছুক্ষণ অপেক্ষা করুন।\n\n$1",
        "editsectionhint": "অনুচ্ছেদ সম্পাদনা: $1",
        "toc": "পরিচ্ছেদসমূহ",
        "showtoc": "দেখাও",
-       "hidetoc": "à¦\86ড়ালà§\87 à¦°à¦¾à¦\96à§\8b",
+       "hidetoc": "লà§\81à¦\95িয়à§\87 à¦°à¦¾à¦\96া à¦¹à§\8bà¦\95",
        "collapsible-collapse": "সংকোচন",
        "collapsible-expand": "প্রসারণ",
        "confirmable-confirm": "{{GENDER:$1|আপনি}} কি নিশ্চিত?",
        "page-atom-feed": "\"$1\" অ্যাটম ফিড",
        "feed-atom": "অ্যাটম",
        "red-link-title": "$1 (পাতার অস্তিত্ব নেই)",
-       "sort-descending": "à¦\89লà§\8dà¦\9fà§\8b à¦¬à¦°à§\8dণà¦\95à§\8dরমà§\87 à¦¸à¦¾à¦\9cাà¦\93",
-       "sort-ascending": "বরà§\8dণানà§\81à¦\95à§\8dরমà§\87 à¦¸à¦¾à¦\9cাà¦\93",
+       "sort-descending": "à¦\89লà§\8dà¦\9fà§\8b à¦¬à¦°à§\8dণà¦\95à§\8dরমà§\87 à¦¸à¦¾à¦\9cানà§\8b à¦¹à§\8bà¦\95",
+       "sort-ascending": "বরà§\8dণানà§\81à¦\95à§\8dরমà§\87 à¦¸à¦¾à¦\9cানà§\8b à¦¹à§\8bà¦\95",
        "nstab-main": "পাতা",
        "nstab-user": "ব্যবহারকারীর পাতা",
        "nstab-media": "মিডিয়া পাতা",
        "nosuchspecialpage": "এমন কোন বিশেষ পাতা নেই",
        "nospecialpagetext": "<strong>আপনি একটি অবৈধ বিশেষ পাতার অনুরোধ করেছেন।</strong>\n\n[[Special:SpecialPages|{{int:specialpages}}]]-এ বৈধ বিশেষ পাতাগুলির একটি তালিকা পাবেন।",
        "error": "ত্রুটি",
-       "databaseerror": "ডাà¦\9fাবà§\87স ত্রুটি",
-       "databaseerror-text": "ডাটাবেজ অনুসন্ধান ত্রুটি।\nএটি সফটওয়্যারের একটি ত্রুটি হতে পারে।",
-       "databaseerror-textcl": "ডাটাবেজ অনুসন্ধান ত্রুটি।",
+       "databaseerror": "ডাà¦\9fাবà§\87à¦\9c ত্রুটি",
+       "databaseerror-text": "ডাটাবেজ অনুসন্ধানে একটি ত্রুটি উৎপন্ন হয়েছে।\nএটি সফটওয়্যারের কোন ত্রুটির কারণে হতে পারে।",
+       "databaseerror-textcl": "ডাটাবেজ অনুসন্ধানে একটি ত্রুটি উৎপন্ন হয়েছে।",
        "databaseerror-query": "অনুসন্ধান: $1",
        "databaseerror-function": "ফাংশন: $1",
        "databaseerror-error": "ত্রুটি: $1",
-       "laggedslavemode": "সতর্কীকরণ: পাতাটি সম্ভবত সম্প্রতি হালনাগাদকৃত নয়।",
-       "readonly": "ডেটাবেজের ব্যবহার সীমাবদ্ধ",
-       "enterlockreason": "তালাবদ্ধ করার কারণ কি তা বলুন, সাথে কখন তালা খুলবেন তার আনুমানিক সময় উল্লখ্য করুন",
-       "readonlytext": "নতুন ভুক্তি এবং অন্যান্য সম্পাদনার জন্য ডাটাবেজ বর্তমানে বন্ধ করা আছে। সম্ভবত ডাটাবেজ রক্ষণাবেক্ষণের নিয়মিত কাজ চলছে। কিছুক্ষণ পরে এটি স্বাভাবিক অবস্থায় ফিরে আসবে।\n\nসিস্টেম প্রশাসক যিনি এটি বন্ধ করেছেন তিনি এই ব্যাখ্যা দিয়েছেন: $1",
-       "missing-article": "\"$1\" $2 লেখাটি ডাটাবেসের কোন পাতায় খুজে পাওয়া যায়নি।\n\nমুছে ফেলা কোন পাতায় সংযোগ থাকার কারনেই সাধারণত এমনটি ঘটে।\n\nযদি এমনটি না হয়, তাহলে আপনি সফটওয়্যারে কোন ত্রুটি খুজে পেয়েছেন।\nদয়াকরে এ ব্যাপার সম্পর্কে ইউআরএল সহ কোন [[Special:ListUsers/sysop|প্রশাসককে]] জানান।",
+       "transaction-duration-limit-exceeded": "দীর্ঘ পুনঃসৃষ্টি বিলম্ব এড়ানোর জন্য এই ট্রানজাকশনটি বাতিল করা হল, কারণ লিখনের স্থায়িত্ব ($1) $2 সেকেন্ড সীমাটিকে অতিক্রম করে গিয়েছিল। \nযদি আপনি অনেকগুলি আইটেম একসাথে পরিবর্তন করতে চান, তাহলে একাধিক ক্ষুদ্রতর অপারেশন সম্পন্ন করার চেষ্টা করুন।",
+       "laggedslavemode": "<strong>সতর্ক বার্তা:</strong> পাতাটি সম্ভবত সম্প্রতি হালনাগাদ করা হয়নি।",
+       "readonly": "ডাটাবেজ তালাবদ্ধ",
+       "enterlockreason": "তালাবদ্ধ করার কারণ কি তা বলুন, সাথে কখন তালা খুলবেন তার আনুমানিক সময় উল্লেখ  করুন",
+       "readonlytext": "নতুন ভুক্তি এবং অন্যান্য সম্পাদনার জন্য ডাটাবেজ বর্তমানে তালাবদ্ধ করা আছে। সম্ভবত ডাটাবেজ রক্ষণাবেক্ষণের নিয়মিত কাজ চলছে। কাজ শেষ হলে এটি স্বাভাবিক অবস্থায় ফিরে আসবে।\n\nযে সিস্টেম প্রশাসক এটি তালাবদ্ধ করেছেন, তিনি এই ব্যাখ্যা দিয়েছেন: $1",
+       "missing-article": "\"$1\" পাতাটির $2 লেখাটি ডাটাবেজ খুঁজে পায়নি, যদিও খুঁজে পাওয়ার কথা ছিল।\n\nসাধারণত কোন মেয়াদোত্তীর্ণ সংশোধন পার্থক্য অনুসরণ করলে অথবা  \nমুছে ফেলা কোন পাতার ইতিহাসের সংযোগ অনুসরণ করলে এমনটি ঘটে।\n\nযদি এমনটি না হয়, তাহলে আপনি হয়ত সফটওয়্যারে কোন ত্রুটি খুঁজে পেয়েছেন।\n\nঅনুগ্রহ করে ইউআরএল-টি উল্লেখ করে এ ব্যাপারে কোন [[Special:ListUsers/sysop|প্রশাসককে]] অবহিত করুন।",
        "missingarticle-rev": "(সংস্করণ#: $1)",
        "missingarticle-diff": "(পার্থক্য: $1, $2)",
-       "readonly_lag": "ডাà¦\9fাবà§\87à¦\9c à¦¸à§\8dবয়à¦\82à¦\95à§\8dরিয়ভাবà§\87 à¦¬à¦¨্ধ করে দেয়া হয়েছে, যাতে অধীন ডাটাবেজ সার্ভারগুলি প্রধান ডাটাবেজ সার্ভারের অবস্থায় আসতে পারে।",
+       "readonly_lag": "ডাà¦\9fাবà§\87à¦\9c à¦¸à§\8dবয়à¦\82à¦\95à§\8dরিয়ভাবà§\87 à¦¤à¦¾à¦²à¦¾à¦¬à¦¦্ধ করে দেয়া হয়েছে, যাতে অধীন ডাটাবেজ সার্ভারগুলি প্রধান ডাটাবেজ সার্ভারের অবস্থায় আসতে পারে।",
        "nonwrite-api-promise-error": "'Promise-Non-Write-API-Action' HTTP শিরলেখে পাঠানো হয়েছিল কিন্তু অনুরোধটি একটি API লিখন মডিউলে ছিল।",
-       "internalerror": "à¦\86ভ্যন্তরীণ ত্রুটি",
-       "internalerror_info": "à¦\86ভ্যন্তরীণ ত্রুটি: $1",
+       "internalerror": "à¦\85ভ্যন্তরীণ ত্রুটি",
+       "internalerror_info": "à¦\85ভ্যন্তরীণ ত্রুটি: $1",
        "internalerror-fatal-exception": "\"$1\" ধরনের মারাত্মক ব্যতিক্রম",
-       "filecopyerror": "\"$1\" à¦¥à§\87à¦\95à§\87 \"$2\" à¦«à¦¾à¦\87ল à¦\85নà§\81লিপি করা যায়নি।",
-       "filerenameerror": "\"$1\" à¦«à¦¾à¦\87লà¦\9fির à¦¨à¦¾à¦® à¦¬à¦¦à¦²à§\87 \"$2\" à¦\95রা à¦¸à¦®à§\8dভব à¦¹à¦\9aà§\8dà¦\9bà§\87 à¦¨à¦¾।",
-       "filedeleteerror": "\"$1\" à¦«à¦¾à¦\87লà¦\9fি à¦®à§\81à¦\9bà§\87 à¦«à§\87লা à¦¸à¦®à§\8dভব à¦¹à¦\9aà§\8dà¦\9bà§\87 à¦¨à¦¾।",
-       "directorycreateerror": "\"$1\" à¦¡à¦¾à¦\87রà§\87à¦\95à§\8dà¦\9fরি তৈরি করা যায়নি।",
-       "directoryreadonlyerror": "নির্দেশিকা \"$1\" শুধুমাত্র পাঠযোগ্য।",
-       "directorynotreadableerror": "নির্দেশিকা \"$1\" পাঠযোগ্য নয়।",
-       "filenotfound": "\"$1\" à¦«à¦¾à¦\87লà¦\9fি à¦\96à§\81à¦\81à¦\9cà§\87 à¦ªà¦¾à¦\93য়া à¦¯à¦¾à¦\9aà§\8dà¦\9bà§\87 à¦¨à¦¾।",
+       "filecopyerror": "\"$1\" à¦¨à¦¾à¦® à¦¥à§\87à¦\95à§\87 \"$2\" à¦¨à¦¾à¦®à§\87 à¦«à¦¾à¦\87ল à¦ªà§\8dরতিলিপি করা যায়নি।",
+       "filerenameerror": "\"$1\" à¦«à¦¾à¦\87লà¦\9fির à¦¨à¦¾à¦® à¦ªà¦°à¦¿à¦¬à¦°à§\8dতন à¦\95রà§\87 \"$2\" à¦\95রা à¦¸à¦®à§\8dভব à¦¹à¦¯à¦¼à¦¨à¦¿।",
+       "filedeleteerror": "\"$1\" à¦«à¦¾à¦\87লà¦\9fি à¦®à§\81à¦\9bà§\87 à¦«à§\87লা à¦¸à¦®à§\8dভব à¦¹à¦¯à¦¼à¦¨à¦¿।",
+       "directorycreateerror": "\"$1\" à¦¨à¦¾à¦®à§\87 à¦¨à¦¿à¦°à§\8dদà§\87শিà¦\95া তৈরি করা যায়নি।",
+       "directoryreadonlyerror": "\"$1\" নামের নির্দেশিকাটি শুধুমাত্র পাঠযোগ্য।",
+       "directorynotreadableerror": "\"$1\" নামের নির্দেশিকাটি পাঠযোগ্য নয়।",
+       "filenotfound": "\"$1\" à¦¨à¦¾à¦®à§\87র à¦«à¦¾à¦\87লà¦\9fি à¦\96à§\81à¦\81à¦\9cà§\87 à¦ªà¦¾à¦\93য়া à¦¯à¦¾à¦¯à¦¼à¦¨à¦¿।",
        "unexpected": "অপ্রত্যাশিত মান: \"$1\"=\"$2\"।",
-       "formerror": "তà§\8dরà§\81à¦\9fি: à¦«à¦°à¦®à¦\9fি à¦\9cমা à¦¦à§\87à¦\93য়া à¦¯à¦¾à¦¯à¦¼à¦¨à¦¿",
+       "formerror": "তà§\8dরà§\81à¦\9fি: à¦«à¦°à¦®à¦\9fি à¦\9cমা à¦¦à§\87à¦\93য়া à¦¸à¦®à§\8dভব à¦¹à¦¯à¦¼à¦¨à¦¿à¥¤",
        "badarticleerror": "এই পাতায় এই কাজটি করা সম্ভব নয়।",
-       "cannotdelete": "\"$1\" à¦ªà¦¾à¦¤à¦¾ à¦¬à¦¾ à¦«à¦¾à¦\87লà¦\9fি à¦®à§\8bà¦\9bা à¦¸à¦®à§\8dভব à¦¨à¦¾।\nসম্ভবত অন্য কেউ আগেই এটিকে মুছে ফেলেছেন।",
-       "cannotdelete-title": "\"$1\" à¦ªà§\83ষà§\8dঠা মুছে ফেলা যাচ্ছে না।",
-       "delete-hook-aborted": "হà§\82à¦\95 à¦¦à§\8dবারা à¦¸à¦®à§\8dপাদনা à¦ªà¦°à¦¿à¦¤à§\8dযà¦\95à§\8dত à¦¹à¦¯à¦¼à§\87à¦\9bà§\87।\nà¦\8fর à¦\95à§\8bন à¦¬à§\8dযাà¦\96à§\8dযা à¦¨à¦¾à¦\87।",
-       "no-null-revision": "\"$1\" পাতার জন্য ফাঁকা সংস্করণ তৈরী করা যায়নি",
-       "badtitle": "শিরà§\8bনামà¦\9fি à¦\97à§\8dরহনযà§\8bà¦\97à§\8dয à¦¨à¦¯à¦¼à¥¤",
+       "cannotdelete": "\"$1\" à¦ªà¦¾à¦¤à¦¾ à¦¬à¦¾ à¦«à¦¾à¦\87লà¦\9fি à¦®à§\8bà¦\9bা à¦¸à¦®à§\8dভব à¦¹à¦¯à¦¼à¦¨à¦¿।\nসম্ভবত অন্য কেউ আগেই এটিকে মুছে ফেলেছেন।",
+       "cannotdelete-title": "\"$1\" à¦¶à¦¿à¦°à§\8bনামà§\87র à¦ªà¦¾à¦¤à¦¾à¦\9fি মুছে ফেলা যাচ্ছে না।",
+       "delete-hook-aborted": "হà§\81à¦\95à§\87র à¦\95ারণà§\87 à¦ªà¦¾à¦¤à¦¾ à¦®à§\8bà¦\9bার à¦\95াà¦\9cà¦\9fি à¦ªà¦°à¦¿à¦¤à§\8dযà¦\95à§\8dত à¦¹à¦¯à¦¼à§\87à¦\9bà§\87।\nà¦\95à§\8bন à¦¬à§\8dযাà¦\96à§\8dযা à¦¦à§\87য়া à¦¹à¦¯à¦¼à¦¨à¦¿।",
+       "no-null-revision": "\"$1\" à¦¨à¦¾à¦®à§\87র à¦ªà¦¾à¦¤à¦¾à¦° à¦\9cনà§\8dয à¦«à¦¾à¦\81à¦\95া à¦¸à¦\82সà§\8dà¦\95রণ à¦¤à§\88রà§\80 à¦\95রা à¦¯à¦¾à¦¯à¦¼à¦¨à¦¿",
+       "badtitle": "ভà§\81ল à¦¶à¦¿à¦°à§\8bনাম",
        "badtitletext": "অনুরোধকৃত পাতার শিরোনামটি অবৈধ, খালি কিংবা কোন ভুল আন্তঃভাষা বা আন্তঃউইকি শিরোনাম সংযোগ ছিল। এটিতে সম্ভবত এমন এক (একাধিক) ক্যারেক্টার আছে, যা (যেগুলি) শিরোনামে ব্যবহারযোগ্য নয়।",
        "title-invalid-empty": "অনুরোধকৃত পাতার শিরোনামটি খালি বা শুধুমাত্র একটি নামস্থানের নাম ধারণ করে।",
        "title-invalid-utf8": "অনুরোধকৃত পাতার শিরোনামটিতে একটি অবৈধ ইউটিএফ-৮ অনুক্রম রয়েছে।",
        "title-invalid-interwiki": "অনুরোধকৃত পাতার শিরোনামে একটি আন্তঃউইকি সংযোগ উপস্থিত রয়েছে যা শিরোনামে ব্যবহার করা যাবে না।",
-       "title-invalid-talk-namespace": "অনুরোধকৃত পাতার শিরোনাম একটি আলাপ পাতা নির্দেশ করে যার অস্তিত্ব থাকতে পারে না।",
+       "title-invalid-talk-namespace": "à¦\85নà§\81রà§\8bধà¦\95à§\83ত à¦ªà¦¾à¦¤à¦¾à¦° à¦¶à¦¿à¦°à§\8bনাম à¦\8fমন à¦\8fà¦\95à¦\9fি à¦\86লাপ à¦ªà¦¾à¦¤à¦¾ à¦¨à¦¿à¦°à§\8dদà§\87শ à¦\95রà§\87 à¦¯à¦¾à¦° à¦\85সà§\8dতিতà§\8dব à¦¥à¦¾à¦\95তà§\87 à¦ªà¦¾à¦°à§\87 à¦¨à¦¾à¥¤",
        "title-invalid-characters": "অনুরোধকৃত পাতার শিরোনামে অবৈধ অক্ষর রয়েছে: \"$1\"।",
        "title-invalid-relative": "শিরনামে রিলেটিভ পাথ ব্যবহার করা হয়েছে (./, ../), রিলেটিভ পাথ ব্যবহার উপযোগী নয়, কারণ ব্যবহারকারীর ব্রাউজারে এটি সঠিকভাবে কাজ করে না।",
        "title-invalid-magic-tilde": "অনুরোধকৃত পাতার শিরোনামে অবৈধ জাদু টিল্ডা অনুক্রম (<nowiki>~~~</nowiki>) রয়েছে।",
-       "title-invalid-too-long": "পাতার à¦¶à¦¿à¦°à§\8bনামà¦\9fি à¦\85তà§\8dযাধিà¦\95 à¦¦à§\80রà§\8dà¦\98। à¦\87à¦\89à¦\9fিà¦\8fফ-৮ à¦\8fনà¦\95à§\8bডিà¦\82 à¦\85নà§\81যায়à§\80 à¦\8fà¦\9fি $1 {{PLURAL:$1|বাà¦\87à¦\9fà§\87র}} à¦¥à§\87à¦\95à§\87 à¦¦à§\80রà§\8dà¦\98 হতে পারবে না।",
-       "title-invalid-leading-colon": "à¦\85নà§\81রà§\8bধà¦\95à§\83ত à¦ªà¦¾à¦¤à¦¾à¦° à¦¶à¦¿à¦°à§\8bনামà§\87র à¦¶à§\81রà§\81তà§\87 à¦\8fà¦\95à¦\9fি à¦\85বà§\88ধ à¦\95à§\8bলন রয়েছে।",
+       "title-invalid-too-long": "à¦\85নà§\81রà§\8bধà¦\95à§\83ত à¦ªà¦¾à¦¤à¦¾à¦° à¦¶à¦¿à¦°à§\8bনামà¦\9fি à¦\85তà§\8dযধিà¦\95 à¦¦à§\80রà§\8dà¦\98। à¦\87à¦\89à¦\9fিà¦\8fফ-৮ à¦¸à¦¾à¦\82à¦\95à§\87তিà¦\95à§\80à¦\95রণ à¦\85নà§\81যায়à§\80 à¦\8fà¦\9fি $1 {{PLURAL:$1|বাà¦\87à¦\9fà§\87র}} à¦¥à§\87à¦\95à§\87 à¦¦à§\80রà§\8dà¦\98তর হতে পারবে না।",
+       "title-invalid-leading-colon": "à¦\85নà§\81রà§\8bধà¦\95à§\83ত à¦ªà¦¾à¦¤à¦¾à¦° à¦¶à¦¿à¦°à§\8bনামà¦\9fির à¦¶à§\81রà§\81তà§\87 à¦\8fà¦\95à¦\9fি à¦\85বà§\88ধ à¦\95à§\8bলন à¦\9aিহà§\8dন (:) রয়েছে।",
        "perfcached": "নিচের উপাত্তগুলো ক্যাশ থেকে নেয়া এবং সম্পূর্ণ হালনাগাদকৃত না-ও হতে পারে। সর্বোচ্চ {{PLURAL:$1|একটি ফলাফল|$1 টি ফলাফল}} ক্যাশে থাকতে পারে।",
-       "perfcachedts": "নিচের উপাত্তগুলো ক্যাশ থেকে নেয়া এবং $1 তারিখে হালনাগাদ করা হয়েছে। সর্বোচ্চ {{PLURAL:$4|একটি ফলাফল|$4 টি ফলাফল}} ক্যাশে থাকতে পারে।",
-       "querypage-no-updates": "এই পাতার জন্য হালনাগাদ নিষ্ক্রিয় করা হয়েছে। এখানে রাখা উপাত্ত এ মুহূর্তে রিফ্রেশ করা হবে না।",
+       "perfcachedts": "নিচের উপাত্তগুলো ক্যাশ থেকে নেয়া এবং সর্বশেষ $1 তারিখে হালনাগাদ করা হয়েছে। সর্বোচ্চ {{PLURAL:$4|একটি ফলাফল|$4 টি ফলাফল}} ক্যাশে থাকতে পারে।",
+       "querypage-no-updates": "এই পাতার জন্য হালনাগাদ নিষ্ক্রিয় করা হয়েছে। এখানে রাখা উপাত্তগুলি এ মুহূর্তে হালনাগাদ করা হবে না।",
        "viewsource": "উৎস দেখুন",
-       "viewsource-title": "$1 à¦\8fর উৎস দেখুন",
+       "viewsource-title": "$1 à¦¨à¦¾à¦®à§\87র à¦ªà¦¾à¦¤à¦¾à¦\9fির উৎস দেখুন",
        "actionthrottled": "কাজের গতি ধীরকরণ",
-       "actionthrottledtext": "সà§\8dপà§\8dযাম-রà§\8bধà§\80 à¦¸à¦®à¦¾à¦§à¦¾à¦¨ à¦¹à¦¿à¦¸à§\87বà§\87 à¦\8fà¦\87 à¦\95াà¦\9cà¦\9fি à¦\96à§\81ব à¦\95ম à¦¸à¦®à¦¯à¦¼à§\87 à¦\85নà§\87à¦\95 à¦¬à§\87শিবার à¦¸à¦®à§\8dপাদনা à¦\95রার সীমা বেঁধে দেওয়া হয়েছে, এবং আপনি সেই সীমা অতিক্রম করেছেন।\nঅনুগ্রহ করে কয়েক মিনিট পরে আবার চেষ্টা করুন।",
-       "protectedpagetext": "সমà§\8dপাদনা à¦\85থবা à¦¸à§\8dথানানà§\8dতর à¦\8fড়াতà§\87 à¦\8f à¦ªà¦¾à¦¤à¦¾à¦\9fির à¦¬à§\8dযবহার à¦¨à¦¿à¦¯à¦¼à¦¨à§\8dতà§\8dরণ à¦\95রা হয়েছে।",
-       "viewsourcetext": "à¦\8f à¦ªà¦¾à¦¤à¦¾à¦\9fি à¦\86পনি à¦¦à§\87à¦\96তà§\87 à¦\8fবà¦\82 à¦\89à§\8eসà§\87র à¦\85নà§\81লিপি à¦¨à¦¿তে পারবেন।",
-       "viewyourtext": "আপনি এই পাতায় <strong>আপনার সম্পাদনা</strong>দেখতে এবং অনুলিপি করতে পারেন।",
-       "protectedinterface": "এই পাতার বিষয়বস্তু এই উইকি সফটওয়্যারের একটি ইন্টারফেস বার্তা প্রদান করে, তাই এটিকে সুরক্ষিত করে রাখা হয়েছে।\nসকল উইকির অনুবাদে কোনো ধরনের সংযোজন বা পরিবর্তন করতে, অনুগ্রহ করে মিডিয়াউইকি স্থানীয়করন প্রকল্প [https://translatewiki.net/ translatewiki.net] ব্যবহার করুন।",
-       "editinginterface": "<strong>সতর্কীকরণ:</strong> আপনি এমন একটি পাতা সম্পাদনা করছেন যা সফটওয়্যারের জন্য ইন্টারফেস টেক্সট প্রদান করে।\nএই পাতাতে সংঘটিত পরিবর্তন এই উইকির ব্যবহারকারীদের ইন্টারফেসে প্রভাব ফেলবে, যা অন্য ব্যবহারকারীরা দেখতে পাবেন।",
-       "translateinterface": "সকল উইকির জন্য অনুবাদ যোগ বা পরিবর্তন করতে, দয়া করে [https://translatewiki.net/ translatewiki.net], মিডিয়াউইকি স্থানীয়করণ প্রকল্প ব্যবহার করুন।",
-       "cascadeprotected": "এই পাতাটি সম্পাদনা থেকে সুরক্ষিত কারণ এটি নিম্নোক্ত {{PLURAL:$1|পাতায়|পাতাসমূহে}} অন্তর্ভুক্ত, যা \"প্রপাতাকার\" বৈশিষ্ট্য সহযোগে সুরক্ষিত করা আছে:\n$2",
-       "namespaceprotected": "'''$1''' নামস্থানে কোন পাতা আপনার সম্পাদনা করার অনুমতি নেই।",
+       "actionthrottledtext": "à¦\85পবà§\8dযবহার à¦ªà§\8dরতিরà§\8bধà¦\95 à¦¸à¦®à¦¾à¦§à¦¾à¦¨ à¦¹à¦¿à¦¸à§\87বà§\87 à¦\8fà¦\87 à¦\95াà¦\9cà¦\9fি à¦\96à§\81ব à¦\95ম à¦¸à¦®à¦¯à¦¼à§\87 à¦\85নà§\87à¦\95 à¦¬à§\87শিবার à¦¸à¦®à§\8dপাদন à¦\95রার à¦\89পর সীমা বেঁধে দেওয়া হয়েছে, এবং আপনি সেই সীমা অতিক্রম করেছেন।\nঅনুগ্রহ করে কয়েক মিনিট পরে আবার চেষ্টা করুন।",
+       "protectedpagetext": "সমà§\8dপাদনা à¦\85থবা à¦\85নà§\8dযানà§\8dয à¦\95াà¦\9cà§\87 à¦¬à¦¾à¦§à¦¾ à¦¦à¦¿à¦¤à§\87 à¦ªà¦¾à¦¤à¦¾à¦\9fিà¦\95à§\87 à¦¸à§\81রà¦\95à§\8dষিত হয়েছে।",
+       "viewsourcetext": "à¦\8f à¦ªà¦¾à¦¤à¦¾à¦\9fি à¦\86পনি à¦¦à§\87à¦\96তà§\87 à¦\8fবà¦\82 à¦\89à§\8eসà§\87র à¦ªà§\8dরতিলিপি à¦\95রতে পারবেন।",
+       "viewyourtext": "আপনি এই পাতায় করা <strong>আপনার সম্পাদনাগুলি</strong>দেখতে এবং প্রতিলিপি করতে পারেন।",
+       "protectedinterface": "এই পাতার বিষয়বস্তু এই উইকি সফটওয়্যারের একটি ইন্টারফেস বার্তা প্রদান করে, তাই এটি যাতে অপব্যবহারে না করা হয়, সেজন্য এটিকে সুরক্ষিত করে রাখা হয়েছে।\nসকল উইকির অনুবাদে কোনো ধরনের সংযোজন বা পরিবর্তন করতে অনুগ্রহ করে মিডিয়াউইকি স্থানীয়করণ প্রকল্প [https://translatewiki.net/ translatewiki.net] ব্যবহার করুন।",
+       "editinginterface": "<strong>সতর্ক বার্তা:</strong> আপনি এমন একটি পাতা সম্পাদনা করছেন যা সফটওয়্যারের জন্য ইন্টারফেস টেক্সট সরবরাহ করে।\nএই পাতাতে সংঘটিত পরিবর্তন এই উইকির অন্যান্য ব্যবহারকারীদের জন্য দৃশ্যমান ইন্টারফেসে প্রভাব ফেলবে।",
+       "translateinterface": "সকল উইকির জন্য অনুবাদ যোগ বা পরিবর্তন করতে দয়া করে [https://translatewiki.net/ translatewiki.net], মিডিয়াউইকি স্থানীয়করণ প্রকল্প ব্যবহার করুন।",
+       "cascadeprotected": "এই পাতাটিকে সম্পাদনা থেকে সুরক্ষিত করা হয়েছে, কারণ এটি নিম্নোক্ত {{PLURAL:$1|টি পাতায়}} অন্তর্ভুক্ত, যেগুলি \"প্রপাতাকার\" বৈশিষ্ট্য সহযোগে সুরক্ষিত করা আছে:\n$2",
+       "namespaceprotected": "<strong>$1</strong> নামস্থানের কোন পাতা আপনার সম্পাদনা করার অনুমতি নেই।",
        "customcssprotected": "আপনার এই সিএসএস পাতাটি সম্পাদনা করার অনুমতি নেই, কারণ এ পাতায় অন্য ব্যবহারকারীর নিজস্ব সেটিংস রয়েছে।",
        "customjsprotected": "আপনার এই জাভাস্ক্রিপ্ট পাতাটি সম্পাদনা করার অনুমতি নেই, কারণ এ পাতায় অন্য ব্যবহারকারীর নিজস্ব সেটিংস রয়েছে।",
        "mycustomcssprotected": "আপনার এই সিএসএস পাতাটি সম্পাদনা করার অনুমতি নেই।",
        "cannotloginnow-title": "এখন প্রবেশ করা যাবে না",
        "cannotloginnow-text": "$1 ব্যবহার করার সময় প্রবেশ করা সম্ভব নয়।",
        "cannotcreateaccount-title": "অ্যাকাউন্ট তৈরি করা যাবে না",
-       "cannotcreateaccount-text": "সরাসরি à¦\85à§\8dযাà¦\95াà¦\89নà§\8dà¦\9f à¦¸à§\83ষà§\8dà¦\9fিà¦\95রণ à¦\8fà¦\87 à¦\89à¦\87à¦\95িতà§\87 à¦¸à¦\95à§\8dরিয় নয়।",
+       "cannotcreateaccount-text": "সরাসরি à¦\85à§\8dযাà¦\95াà¦\89নà§\8dà¦\9f à¦¤à§\88রিà¦\95রণ à¦\8fà¦\87 à¦\89à¦\87à¦\95িতà§\87 à¦¸à¦®à§\8dভব নয়।",
        "yourdomainname": "আপনার ডোমেইন:",
        "password-change-forbidden": "আপনি এই উইকিতে পাসওয়ার্ড পরিবর্তন করতে পারবেন না।",
        "externaldberror": "হয় কোন বহিঃস্থ যাচাইকরণ ডাটাবেজ ত্রুটি ঘটেছে অথবা আপনার বহিঃস্থ অ্যাকাউন্ট হালনাগাদ করার অনুমতি নেই।",
        "login": "প্রবেশ",
        "login-security": "আপনার পরিচয় যাচাই করুন",
        "nav-login-createaccount": "প্রবেশ/নতুন অ্যাকাউন্ট",
-       "userlogin": "প্রবেশ/নতুন অ্যাকাউন্ট",
-       "userloginnocreate": "প্রবেশ",
        "logout": "প্রস্থান করুন",
        "userlogout": "প্রস্থান",
        "notloggedin": "আপনি সংযুক্ত নন",
        "userlogin-noaccount": "কোনও অ্যাকাউন্ট নেই?",
        "userlogin-joinproject": "{{SITENAME}}-এ যোগ দিন",
-       "nologin": "আপনার কি উইকিপিডিয়াতে অ্যাকাউন্ট নেই? তাহলে '''$1'''।",
-       "nologinlink": "অ্যাকাউন্ট তৈরি করুন",
        "createaccount": "নতুন অ্যাকাউন্ট খুলুন",
-       "gotaccount": "আপনার কি ইতিমধ্যে একটি অ্যাকাউন্ট তৈরি করা আছে? '''$1''' করুন।",
-       "gotaccountlink": "প্রবেশ",
-       "userlogin-resetlink": "আপনার প্রবেশকরণের তথ্যাদি ভুলে গেছেন?",
        "userlogin-resetpassword-link": "পাসওয়ার্ড ভুলে গেছেন?",
        "userlogin-helplink2": "প্রবেশ সংক্রান্ত সাহায্য",
        "userlogin-loggedin": "আপনি বর্তমানে {{GENDER:$1|$1}} হিসাবে প্রবেশরত আছেন।\nঅন্য ব্যবহারকারী নামে প্রবেশ করতে চাইলে নিচের ফর্মটি ব্যবহার করুন।",
        "createaccountmail": "একটি র‌্যান্ডম পাসওয়ার্ড নির্বাচন করুন এবং নির্ধারিত ইমেইল ঠিকানায় পাঠিয়ে দিন",
        "createaccountmail-help": "পাসওয়ার্ড জানা ছাড়াই অন্য ব্যক্তির জন্য অ্যাকাউন্ট তৈরি করতে ব্যবহার করা যেতে পারে।",
        "createacct-realname": "আসল নাম (ঐচ্ছিক)",
-       "createaccountreason": "কারণ:",
        "createacct-reason": "কারণ",
        "createacct-reason-ph": "কেন আপনি আরেকটি অ্যাকাউন্ট তৈরি করছেন",
        "createacct-reason-help": "অ্যাকাউন্ট তৈরির লগে দেখানো বার্তা",
        "usernameinprogress": "এই ব্যবহারকারী নামের জন্য একটি অ্যাকাউন্ট তৈরি আগে থেকেই চলছে। দয়া করে অপেক্ষা করুন।",
        "userexists": "এই ব্যবহারকারী নামটি ইতমধ্যে ব্যবহার করা হয়েছে।\nঅনুগ্রহ করে অন্য নাম বেছে নিন।",
        "loginerror": "প্রবেশ করতে সমস্যা হয়েছে",
-       "createacct-error": "অ্যাকাউন্ট তৈরি ত্রুটি",
+       "createacct-error": "অ্যাকাউন্ট তৈরিতে ত্রুটি",
        "createaccounterror": "অ্যাকাউন্ট তৈরি হয়নি: $1",
        "nocookiesnew": "ব্যবহারকারীর অ্যাকাউন্টটি সৃষ্টি করা হয়েছে, কিন্তু আপনি এখনও অ্যাকাউন্টে প্রবেশ করেননি। {{SITENAME}}-তে কুকি ব্যবহার করে ব্যবহারকারীদের অ্যাকাউন্টে প্রবেশ করানো হয়। আপনার ব্রাউজারে কুকিগুলি নিষ্ক্রিয় করা আছে। অনুগ্রহ করে কুকিগুলি সক্রিয় করুন এবং আপনার নতুন ব্যবহারকারী নাম ও পাসওয়ার্ড ব্যবহার করে অ্যাকাউন্টে প্রবেশ করুন।",
        "nocookieslogin": "ব্যবহারকারীদের প্রবেশ সম্পন্ন করতে {{SITENAME}} কুকি ব্যবহার করে। আপনার ব্রাউজারে কুকি নিষ্ক্রিয় করা আছে। কুকি চালু করে আবার চেষ্টা করুন।",
        "emaildisabled": "এই সাইটটিতে ই-মেইল প্রদানের সুবিধা নেই।",
        "accountcreated": "অ্যাকাউন্ট তৈরি করা হয়েছে",
        "accountcreatedtext": "[[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|আলাপ]]) এর জন্য ব্যবহারকারী অ্যাকাউন্ট তৈরি করা হয়েছে।",
-       "createaccount-title": "{{SITENAME}}-à¦\8fর à¦\9cনà§\8dয à¦\85à§\8dযাà¦\95াà¦\89নà§\8dà¦\9f à¦¸à§\83ষà§\8dà¦\9fি",
-       "createaccount-text": "à¦\95à§\87à¦\89 $2-à¦\8fর à¦\9cনà§\8dয {{SITENAME}}-à¦\8f à¦\8fà¦\95à¦\9fি à¦\85à§\8dযাà¦\95াà¦\89নà§\8dà¦\9f à¦¸à§\83ষà§\8dà¦\9fি à¦\95রà§\87à¦\9bà§\87ন ($4)। \"$2\"-à¦\8fর à¦\9cনà§\8dয à¦ªà¦¾à¦¸à¦\93য়ারà§\8dড à¦¹à¦² \"$3\"। à¦\86পনার à¦\8fà¦\96ন à¦\85à§\8dযাà¦\95াà¦\89নà§\8dà¦\9fà§\87 à¦ªà§\8dরবà§\87শ à¦\95রà§\87 à¦ªà¦¾à¦¸à¦\93য়ারà§\8dড à¦ªà¦°à¦¿à¦¬à¦°à§\8dতন à¦\95রা à¦\89à¦\9aিত।\n\nযদি à¦­à§\81ল à¦\95রà§\87 à¦\85à§\8dযাà¦\95াà¦\89নà§\8dà¦\9fà¦\9fি à¦¸à§\83ষà§\8dà¦\9fি হয়ে থাকে, তাহলে এই বার্তাটি উপেক্ষা করুন।",
+       "createaccount-title": "{{SITENAME}}-à¦\8fর à¦\9cনà§\8dয à¦\85à§\8dযাà¦\95াà¦\89নà§\8dà¦\9f à¦¤à§\88রিà¦\95রণ",
+       "createaccount-text": "à¦\95à§\87à¦\89 $2-à¦\8fর à¦\9cনà§\8dয {{SITENAME}}-à¦\8f à¦\8fà¦\95à¦\9fি à¦\85à§\8dযাà¦\95াà¦\89নà§\8dà¦\9f à¦¤à§\88রি à¦\95রà§\87à¦\9bà§\87ন ($4)। \"$2\"-à¦\8fর à¦\9cনà§\8dয à¦ªà¦¾à¦¸à¦\93য়ারà§\8dড à¦¹à¦² \"$3\"। à¦\86পনার à¦\8fà¦\96ন à¦\85à§\8dযাà¦\95াà¦\89নà§\8dà¦\9fà§\87 à¦ªà§\8dরবà§\87শ à¦\95রà§\87 à¦ªà¦¾à¦¸à¦\93য়ারà§\8dড à¦ªà¦°à¦¿à¦¬à¦°à§\8dতন à¦\95রা à¦\89à¦\9aিত।\n\nযদি à¦­à§\81ল à¦\95রà§\87 à¦\85à§\8dযাà¦\95াà¦\89নà§\8dà¦\9fà¦\9fি à¦¤à§\88রি হয়ে থাকে, তাহলে এই বার্তাটি উপেক্ষা করুন।",
        "login-throttled": "আপনি সাম্প্রতিক সময়ে পরপর বেশ কয়েকবার প্রবেশের চেষ্টা করেছেন।\nপুনরায় চেষ্টা করার পূর্বে অনুগ্রহ করে $1 অপেক্ষা করুন।",
        "login-abort-generic": "আপনার প্রবেশ ব্যর্থ হয়েছে - বাতিল করা হয়েছে",
        "login-migrated-generic": "আপনার অ্যাকাউন্ট স্থানান্তরিত করা হয়েছে, এবং আপনার ব্যবহারকারী নাম আর এই উইকিতে বিদ্যমান নয়।",
        "loginlanguagelabel": "ভাষা: $1",
-       "suspicious-userlogout": "à¦\86পনার à¦ªà§\8dরসà§\8dথানà§\87র à¦\85নà§\81রà§\8bধ à¦¬à¦¾à¦¤à¦¿à¦² à¦¹à¦¯à¦¼à§\87à¦\9bà§\87 à¦\95ারণ à¦\85নà§\81মিত à¦¯à§\87 à¦\86পনার à¦¬à§\8dরাà¦\89à¦\9cার à¦\85সমà§\8dপà§\82রà§\8dণ à¦\85থবা à¦ªà§\82বরà§\8dবতà§\80 à¦¤à¦¥à§\8dয প্রেরণ করেছে।",
+       "suspicious-userlogout": "à¦\85à§\8dযাà¦\95াà¦\89নà§\8dà¦\9f à¦¥à§\87à¦\95à§\87 à¦\86পনার à¦ªà§\8dরসà§\8dথানà§\87র à¦\85নà§\81রà§\8bধ à¦ªà§\8dরতà§\8dযাà¦\96ান à¦\95রা à¦¹à¦¯à¦¼à§\87à¦\9bà§\87 à¦\95ারণ à¦®à¦¨à§\87 à¦¹à¦\9aà§\8dà¦\9bà§\87 à¦¯à§\87 à¦\85নà§\81রà§\8bধà¦\9fি à¦\8fà¦\95à¦\9fি à¦\85à¦\95ারà§\8dযà¦\95র à¦¬à§\8dরাà¦\89à¦\9cার à¦\85থবা à¦\95à§\8dযাশ à¦\95রà§\87 à¦\8fমন à¦ªà§\8dরà¦\95à§\8dসি à¦¸à¦¾à¦°à§\8dভার প্রেরণ করেছে।",
        "createacct-another-realname-tip": "আসল নাম ঐচ্ছিক।\nআপনি যদি তা দিতে চান, তাহলে তা ব্যবহারকারীকে তাদের কাজের জন্য স্বীকৃতিদানে ব্যবহার করা হবে।",
        "pt-login": "প্রবেশ",
        "pt-login-button": "প্রবেশ",
        "oldpassword": "পুরনো পাসওয়ার্ড:",
        "newpassword": "নতুন পাসওয়ার্ড:",
        "retypenew": "নতুন পাসওয়ার্ড আবার লিখুন:",
-       "resetpass_submit": "পাসà¦\93য়ারà§\8dড à¦¦à¦¾à¦\93 à¦\8fবà¦\82 à¦²à¦\97-à¦\87ন à¦\95রà§\8b",
+       "resetpass_submit": "পাসà¦\93য়ারà§\8dড à¦¨à¦¿à¦°à§\8dধারণ à¦\95রà§\87 à¦\85à§\8dযাà¦\95াà¦\89নà§\8dà¦\9fà§\87 à¦ªà§\8dরবà§\87শ à¦\95রà§\81ন",
        "changepassword-success": "আপনার পাসওয়ার্ড পরিবর্তন করা হয়েছে!",
-       "changepassword-throttled": "আপনি সম্প্রতি পরপর বেশ কয়েকবার প্রবেশের চেষ্টা করেছেন। পুনরায় চেষ্টা করার পূর্বে অনুগ্রহ করে $1 অপেক্ষা করুন।",
+       "changepassword-throttled": "à¦\86পনি à¦¸à¦®à§\8dপà§\8dরতি à¦ªà¦°à¦ªà¦° à¦¬à§\87শ à¦\95য়à§\87à¦\95বার à¦\85à§\8dযাà¦\95াà¦\89নà§\8dà¦\9fà§\87 à¦ªà§\8dরবà§\87শà§\87র à¦\9aà§\87ষà§\8dà¦\9fা à¦\95রà§\87à¦\9bà§\87ন। à¦ªà§\81নরায় à¦\9aà§\87ষà§\8dà¦\9fা à¦\95রার à¦ªà§\82রà§\8dবà§\87 à¦\85নà§\81à¦\97à§\8dরহ à¦\95রà§\87 $1 à¦\85পà§\87à¦\95à§\8dষা à¦\95রà§\81ন।",
        "botpasswords": "বট পাসওয়ার্ড",
-       "botpasswords-disabled": "বট পাসওয়ার্ড নিষ্ক্রিয় করা।",
-       "botpasswords-no-central-id": "বট পাসওয়ার্ড ব্যবহার করার জন্য, আপনাকে একটি কেন্দ্রীভূত অ্যাকাউন্টে প্রবেশ করতে হবে।",
-       "botpasswords-existing": "বিদ্যমান বট শব্দচাবি",
+       "botpasswords-summary": "<em>বট পাসওয়ার্ডগুলি</em> এপিআই-এর মাধ্যমে অ্যাকাউন্টের প্রবেশের জন্য দরকারী মূল পরিচয়সূচক তথ্য ছাড়াই ব্যবহারকারীর অ্যাকাউন্টে প্রবেশাধিকার প্রদান করে। বট পাসওয়ার্ড দিয়ে অ্যাকাউন্টে প্রবেশ করলে ব্যবহারকারীর জন্য লভ্য অধিকারগুলি সীমিত হতে পারে।  \n\nএ কাজটি কেন করবেন, তা যদি অবগত না থাকেন, তাহলে সম্ভবত আপনার কাজটি করা উচিত নয়। অন্য কোনও ব্যক্তির কথায় কখনো এধরনের কিছু সৃষ্টি করবেন না এবং তাকে বা তাদেরকে এটি দেবেন না।",
+       "botpasswords-disabled": "বট পাসওয়ার্ডগুলি নিষ্ক্রিয় রয়েছে।",
+       "botpasswords-no-central-id": "বট পাসওয়ার্ড ব্যবহার করার জন্য আপনাকে একটি কেন্দ্রীভূত অ্যাকাউন্টে প্রবেশ করতে হবে।",
+       "botpasswords-existing": "বিদ্যমান বট পাসওয়ার্ড",
        "botpasswords-createnew": "একটি নতুন বট পাসওয়ার্ড তৈরি করুন",
        "botpasswords-editexisting": "একটি বিদ্যমান বট পাসওয়ার্ড পরিবর্তন করুন",
        "botpasswords-label-appid": "বটের নাম:",
-       "botpasswords-label-create": "তৈরি করো",
-       "botpasswords-label-update": "হালনাগাদ",
-       "botpasswords-label-cancel": "বাতিল",
-       "botpasswords-label-delete": "অপসারণ",
-       "botpasswords-label-resetpassword": "পাসওয়ার্ড পুনঃস্থাপন",
-       "botpasswords-label-grants": "প্রয়োগযোগ্য মঞ্জুরি:",
+       "botpasswords-label-create": "তৈরি করুন",
+       "botpasswords-label-update": "হালনাগাদ করুন",
+       "botpasswords-label-cancel": "বাতিল করুন",
+       "botpasswords-label-delete": "অপসারণ করুন",
+       "botpasswords-label-resetpassword": "পাসওয়ার্ড পুনঃনির্ধারণ করা হোক",
+       "botpasswords-label-grants": "প্রয়োগযোগ্য অনুমোদন:",
+       "botpasswords-help-grants": "অনুমোদনগুলি সেইসব অধিকারের সুবিধা দেয়, যেগুলি ইতিমধ্যেই আপনার ব্যবহারকারী অ্যাকাউন্টে বিদ্যমান। এখানে একটি অনুমোদনকে সক্রিয় করলে এমন কোন অধিকারের সুবিধা পাওয়া যাবে না, যা আপনার অ্যাকাউন্টের অন্যথায় নেই। আরও তথ্যের জন্য [[Special:ListGrants|অনুমোদনসমূহের সারণী]] দেখুন।",
        "botpasswords-label-grants-column": "অনুমোদিত",
        "botpasswords-bad-appid": "\"$1\" বট নামটি সঠিক নয়।",
-       "botpasswords-insert-failed": "\"$1\" à¦¨à¦¾à¦®à§\87র à¦¬à¦\9f à¦¯à§\81à¦\95à§\8dত à¦\95রা à¦¯à¦¾à¦¯à¦¼à¦¨à¦¿à¥¤ à¦\86à¦\97à§\87 à¦¥à§\87à¦\95à§\87à¦\87 তালিকায় রয়েছে?",
-       "botpasswords-update-failed": "\"$1\" নামের বট যুক্ত করা যায়নি। আগে অপসারণ করা হয়েছিল?",
+       "botpasswords-insert-failed": "\"$1\" à¦¨à¦¾à¦®à§\87র à¦¬à¦\9f à¦¯à§\81à¦\95à§\8dত à¦\95রা à¦¯à¦¾à¦¯à¦¼à¦¨à¦¿à¥¤ à¦\8fà¦\9fি à¦\95ি à¦\86à¦\97à§\87 à¦¥à§\87à¦\95à§\87à¦\87 à¦¬à¦\9fà§\87র তালিকায় রয়েছে?",
+       "botpasswords-update-failed": "\"$1\" à¦¨à¦¾à¦®à§\87র à¦¬à¦\9f à¦¯à§\81à¦\95à§\8dত à¦\95রা à¦¯à¦¾à¦¯à¦¼à¦¨à¦¿à¥¤ à¦\8fà¦\9fি à¦\95ি à¦\86à¦\97à§\87 à¦\85পসারণ à¦\95রা à¦¹à¦¯à¦¼à§\87à¦\9bিল?",
        "botpasswords-created-title": "বট পাসওয়ার্ড তৈরী করা হয়েছে",
        "botpasswords-created-body": "ব্যবহারকারী \"$2\"-এর \"$1\" নামের বটের জন্য বট পাসওয়ার্ড তৈরী করা হয়েছে।",
-       "botpasswords-updated-title": "বà¦\9f à¦ªà¦¾à¦¸à¦\93য়ারà§\8dড à¦\86পডà§\87à¦\9f করা হয়েছে",
+       "botpasswords-updated-title": "বà¦\9f à¦ªà¦¾à¦¸à¦\93য়ারà§\8dড à¦¹à¦¾à¦²à¦¨à¦¾à¦\97াদ করা হয়েছে",
        "botpasswords-updated-body": "ব্যবহারকারী \"$2\"-এর \"$1\" নামের বটের জন্য বট পাসওয়ার্ড হালনাগাদ করা হয়েছে।",
-       "botpasswords-deleted-title": "বà¦\9f à¦ªà¦¾à¦¸à¦\93য়ারà§\8dড à¦\85পসারণ à¦\95রা হয়েছে",
+       "botpasswords-deleted-title": "বà¦\9f à¦ªà¦¾à¦¸à¦\93য়ারà§\8dড à¦®à§\81à¦\9bà§\87 à¦«à§\87লা হয়েছে",
        "botpasswords-deleted-body": "ব্যবহারকারী \"$2\"-এর \"$1\" নামের বটের জন্য বট পাসওয়ার্ড মুছে ফেলা হয়েছিল।",
-       "botpasswords-no-provider": "BotPasswordsSessionProvider উপলব্ধ নয়।",
-       "botpasswords-restriction-failed": "বট পাসওয়ার্ডের সীমাবদ্ধতা এই প্রবেশ প্রতিরোধ করেছে।",
+       "botpasswords-newpassword": "<strong>$1</strong> ব্যবহারকারী নাম দিয়ে প্রবেশ করার সময় যে নতুন পাসওয়ার্ডটি ব্যবহার করতে হবে, তা হল <strong>$2</strong>। <em>অনুগ্রহ করে ভবিষ্যৎ নির্দেশনার জন্য এটিকে সংরক্ষণ করুন।</em> <br> (যেসব পুরাতন বটের জন্য প্রবেশকরণ নাম এবং ব্যবহারকারী নাম শেষ পর্যন্ত একই হওয়া আবশ্যক, সেগুলির জন্য আপনি ব্যবহারকারী নাম হিসেবে <strong>$3</strong> এবং পাসওয়ার্ড হিসেবে  <strong>$4</strong> -ও ব্যবহার করতে পারেন।)",
+       "botpasswords-no-provider": "BotPasswordsSessionProvider লভ্য নয়।",
+       "botpasswords-restriction-failed": "বট পাসওয়ার্ডের সীমাবদ্ধতার কারণে অ্যাকাউন্টে প্রবেশের এই প্রচেষ্টাটিকে প্রতিরোধ করা হয়েছে।",
+       "botpasswords-invalid-name": "নির্দিষ্টকৃত ব্যবহারকারী নামটিতে বট পাসওয়ার্ড পৃথকীকারক অক্ষরটি (\"$1\") নেই।",
        "botpasswords-not-exist": "ব্যবহারকারী \"$1\"-এর \"$2\" নামক বট পাসওয়ার্ডটি নেই।",
        "resetpass_forbidden": "পাসওয়ার্ড পরিবর্তন করা সম্ভব নয়",
        "resetpass_forbidden-reason": "পাসওয়ার্ড পরিবর্তন করা যাবে না: $1",
-       "resetpass-no-info": "এই পাতাটিতে সরাসরি প্রবেশাধিকার পেতে আপনাকে অবশ্যই প্রবেশ করতে হবে।",
+       "resetpass-no-info": "à¦\8fà¦\87 à¦ªà¦¾à¦¤à¦¾à¦\9fিতà§\87 à¦¸à¦°à¦¾à¦¸à¦°à¦¿ à¦ªà§\8dরবà§\87শাধিà¦\95ার à¦ªà§\87তà§\87 à¦\86পনাà¦\95à§\87 à¦\85বশà§\8dযà¦\87 à¦\85à§\8dযাà¦\95াà¦\89নà§\8dà¦\9fà§\87 à¦ªà§\8dরবà§\87শ à¦\95রতà§\87 à¦¹à¦¬à§\87।",
        "resetpass-submit-loggedin": "পাসওয়ার্ড পরিবর্তন",
        "resetpass-submit-cancel": "বাতিল",
        "resetpass-wrong-oldpass": "ভুল অস্থায়ী অথবা বর্তমান পাসওয়ার্ড।\nসম্ভবতঃ আপনি ইতোমধ্যেই আপনার পাসওয়ার্ডটি পরিবর্তন করেছেন অথবা একটি নতুন অস্থায়ী পাসওয়ার্ডের জন্য অনুরোধ করেছেন।",
-       "resetpass-recycled": "à¦\85নà§\81à¦\97à§\8dরহ à¦\95রà§\87 à¦¬à¦°à§\8dতমানà§\87 à¦¬à§\8dযবহার à¦\95রà¦\9bà§\87ন à¦\8fমন পাসওয়ার্ডের পরিবর্তে নতুন একটি পাসওয়ার্ড নির্ধারণ করুন।",
-       "resetpass-temp-emailed": "আপনি ইমেইলকৃত সাময়িক কোড দিয়ে প্রবেশ করেছেন।\nপ্রবেশ করার জন্য আপনাকে অবশ্যই একটি নতুন পাসওয়ার্ড নির্ধারণ করতে হবে:",
+       "resetpass-recycled": "à¦\85নà§\81à¦\97à§\8dরহ à¦\95রà§\87 à¦¬à¦¿à¦¦à§\8dযমান পাসওয়ার্ডের পরিবর্তে নতুন একটি পাসওয়ার্ড নির্ধারণ করুন।",
+       "resetpass-temp-emailed": "আপনি ইমেইলকৃত সাময়িক কোড দিয়ে প্রবেশ করেছেন। অ্যাকাউন্টে\nপ্রবেশ সম্পন্ন করার জন্য আপনাকে অবশ্যই একটি নতুন পাসওয়ার্ড নির্ধারণ করতে হবে:",
        "resetpass-temp-password": "অস্থায়ী পাসওয়ার্ড:",
        "resetpass-abort-generic": "পাসওয়ার্ড পরিবর্তন একটি এক্সটেনশনের কারণে স্থগিত করা হয়েছে।",
-       "resetpass-expired": "আপনার পাসওয়ার্ডের মেয়াদ উত্তীর্ণ হয়েছে। অনুগ্রহ করে নতুন পাসওয়ার্ড নির্ধারণ করুন।",
+       "resetpass-expired": "à¦\86পনার à¦ªà¦¾à¦¸à¦\93য়ারà§\8dডà§\87র à¦®à§\87য়াদ à¦\89তà§\8dতà§\80রà§\8dণ à¦¹à¦¯à¦¼à§\87à¦\9bà§\87। à¦\85à§\8dযাà¦\95াà¦\89নà§\8dà¦\9fà§\87 à¦ªà§\8dরবà§\87শà§\87র à¦\9cনà§\8dয à¦\85নà§\81à¦\97à§\8dরহ à¦\95রà§\87 à¦¨à¦¤à§\81ন à¦ªà¦¾à¦¸à¦\93য়ারà§\8dড à¦¨à¦¿à¦°à§\8dধারণ à¦\95রà§\81ন।",
        "resetpass-expired-soft": "আপনার পাসওয়ার্ডের মেয়াদ উত্তীর্ণ হয়েছে এবং আপনাকে একটি নতুন পাসওয়ার্ড নির্ধারণ করতে হবে। অনুগ্রহ করে এখনই একটি নতুন পাসওয়ার্ড নির্ধারণ করুন অথবা পরে পরিবর্তন করতে চাইলে \"{{int:authprovider-resetpass-skip-label}}\" বাটনে ক্লিক করুন।",
        "resetpass-validity-soft": "আপনার পাসওয়ার্ড বৈধ নয়: $1\n\nদয়া করে একটি নতুন পাসওয়ার্ড নির্ধারণ করুন অথবা পরে করার জন্য \"{{int:authprovider-resetpass-skip-label}}\" ক্লিক করুন।",
        "passwordreset": "পাসওয়ার্ড রিসেট",
        "passwordreset-nosuchcaller": "আহ্বানকারীর অস্তিত্ব নেই: $1",
        "passwordreset-ignored": "পাসওয়ার্ড পুনঃধার্যকরণ করা যায়নি। হয়তো কোন প্রদানকারী কনফিগার করা হয়েনি?",
        "passwordreset-invalidemail": "ভুল ইমেইল ঠিকানা",
-       "passwordreset-nodata": "à¦\8fà¦\95à¦\9fি à¦¬à§\8dযবহারà¦\95ারà§\80র à¦¨à¦¾à¦® à¦¬à¦¾ à¦\8fà¦\95à¦\9fি à¦\87মà§\87ল à¦ à¦¿à¦\95ানা à¦¦à§\81à¦\9fির à¦\8fà¦\95à¦\9fিà¦\93 à¦¸à¦°à¦¬à¦°à¦¾ à¦¦à§\87য়া হয়নি",
+       "passwordreset-nodata": "বà§\8dযবহারà¦\95ারà§\80র à¦¨à¦¾à¦® à¦¬à¦¾ à¦\87মà§\87ল à¦ à¦¿à¦\95ানা à¦¦à§\81à¦\9fির à¦\8fà¦\95à¦\9fিà¦\93 à¦¸à¦°à¦¬à¦°à¦¾à¦¹ à¦\95রা হয়নি",
        "changeemail": "ই-মেইল ঠিকানা পরিবর্তন বা বাতিল",
-       "changeemail-header": "à¦\86পনার à¦\87মà§\87ল à¦ à¦¿à¦\95ানা à¦ªà¦°à¦¿à¦¬à¦°à§\8dতন à¦\95রতà§\87 à¦\8fà¦\87 à¦«à¦°à¦®à¦\9fি à¦ªà§\82রণ à¦\95রà§\81ন। à¦\86পনি à¦¯à¦¦à¦¿ à¦\86পনার à¦\8fà¦\95াà¦\89নà§\8dà¦\9f à¦¥à§\87à¦\95à§\87 à¦¯à§\87 à¦\95à§\8bন à¦\87মà§\87ল à¦ à¦¿à¦\95ানার à¦\8fসà§\8bসিয়à§\87শন à¦\85পসারণ à¦\95রতà§\87 চান, তাহলে ফরমটি জমা দেওয়ার সময় নতুন ইমেইল ঠিকানা খালি রাখুন।",
-       "changeemail-no-info": "এই পাতাটিতে সরাসরি প্রবেশাধিকার পেতে আপনাকে অবশ্যই প্রবেশ করতে হবে।",
-       "changeemail-oldemail": "বর্তমান ই-মেইল ঠিকানা:",
-       "changeemail-newemail": "নতুন ই-মেইল ঠিকানা:",
-       "changeemail-newemail-help": "à¦\86পনার à¦\87মà§\87à¦\87ল à¦ à¦¿à¦\95ানা à¦\85পসরণ à¦\95রতà§\87 à¦\9aাà¦\87লà§\87 à¦\8fà¦\87 à¦\9cায়à¦\97াà¦\9fি à¦«à¦¾à¦\81à¦\95া à¦\9bà§\87ড়à§\87 à¦¦à§\87à¦\93য়া à¦\89à¦\9aিত। à¦\87মà§\87à¦\87ল à¦ à¦¿à¦\95ানা à¦\85পসরণ à¦\95রলà§\87 à¦\86পনি à¦­à§\81লà§\87 à¦¯à¦¾à¦\93য়া à¦ªà¦¾à¦¸à¦\93য়ারà§\8dড à¦ªà§\81নà¦\83ধারà§\8dয করতে পারবেন না এবং এই উইকি থেকে আপনাকে কোন ইমেইল পাঠানো হবে না।",
-       "changeemail-none": "(à¦\95িà¦\9bà§\81 à¦¨à¦¾ই)",
+       "changeemail-header": "à¦\86পনার à¦\87মà§\87ল à¦ à¦¿à¦\95ানা à¦ªà¦°à¦¿à¦¬à¦°à§\8dতন à¦\95রতà§\87 à¦\8fà¦\87 à¦«à¦°à¦®à¦\9fি à¦ªà§\82রণ à¦\95রà§\81ন। à¦\86পনি à¦¯à¦¦à¦¿ à¦\86পনার à¦\85à§\8dযাà¦\95াà¦\89নà§\8dà¦\9fà§\87র à¦¸à¦¾à¦¥à§\87 à¦\95à§\8bনà¦\93 à¦\87মà§\87à¦\87ল à¦ à¦¿à¦\95ানার à¦¸à¦\82শà§\8dলিষà§\8dà¦\9fতা à¦°à¦¾à¦\96তà§\87 à¦¨à¦¾ চান, তাহলে ফরমটি জমা দেওয়ার সময় নতুন ইমেইল ঠিকানা খালি রাখুন।",
+       "changeemail-no-info": "à¦\8fà¦\87 à¦ªà¦¾à¦¤à¦¾à¦\9fিতà§\87 à¦¸à¦°à¦¾à¦¸à¦°à¦¿ à¦ªà§\8dরবà§\87শাধিà¦\95ার à¦ªà§\87তà§\87 à¦\86পনাà¦\95à§\87 à¦\85বশà§\8dযà¦\87 à¦\85à§\8dযাà¦\95াà¦\89নà§\8dà¦\9fà§\87 à¦ªà§\8dরবà§\87শ à¦\95রতà§\87 à¦¹à¦¬à§\87।",
+       "changeemail-oldemail": "বর্তমান ইমেইল ঠিকানা:",
+       "changeemail-newemail": "নতুন ইমেইল ঠিকানা:",
+       "changeemail-newemail-help": "à¦\86পনার à¦\87মà§\87à¦\87ল à¦ à¦¿à¦\95ানা à¦\85পসারণ à¦\95রতà§\87 à¦\9aাà¦\87লà§\87 à¦\8fà¦\87 à¦\9cায়à¦\97াà¦\9fি à¦«à¦¾à¦\81à¦\95া à¦°à§\87à¦\96à§\87 à¦¦à§\87à¦\93য়া à¦\89à¦\9aিত। à¦\87মà§\87à¦\87ল à¦ à¦¿à¦\95ানা à¦\85পসারণ à¦\95রলà§\87 à¦\86পনি à¦­à§\81লà§\87 à¦¯à¦¾à¦\93য়া à¦ªà¦¾à¦¸à¦\93য়ারà§\8dড à¦ªà§\81নà¦\83নিরà§\8dধারণ করতে পারবেন না এবং এই উইকি থেকে আপনাকে কোন ইমেইল পাঠানো হবে না।",
+       "changeemail-none": "(নà§\87ই)",
        "changeemail-password": "আপনার {{SITENAME}} পাসওয়ার্ড:",
-       "changeemail-submit": "ই-মেইল পরিবর্তন",
-       "changeemail-throttled": "আপনি পরপর বেশ কয়েকবার প্রবেশের চেষ্টা করেছেন। পুনরায় চেষ্টা করার পূর্বে অনুগ্রহ করে $1 অপেক্ষা করুন।",
-       "changeemail-nochange": "দয়া à¦\95রà§\87 à¦\8fà¦\95à¦\9fি à¦­à¦¿à¦¨à§\8dন à¦¨à¦¤à§\81ন à¦\87মà§\87à¦\87ল à¦ à¦¿à¦\95ানা à¦²à¦¿à¦\96à§\81ন।",
-       "resettokens": "টোকেন পুনঃস্থাপন করুন",
-       "resettokens-text": "à¦\86পনি à¦\9fà§\8bà¦\95à§\87ন à¦ªà§\81নà¦\83সà§\8dথাপন à¦\95রতà§\87 à¦ªà¦¾à¦°à§\87ন, à¦¯à¦¾ à¦\85à§\8dযাà¦\95াà¦\89নà§\8dà¦\9fà§\87র à¦¸à¦¾à¦¥à§\87 à¦¸à¦®à§\8dপরà§\8dà¦\95িত à¦\86পনার à¦¬à§\8dযà¦\95à§\8dতিà¦\97ত à¦¤à¦¥à§\8dয à¦¦à§\87à¦\96ার à¦\95াà¦\9cà§\87 à¦¬à§\8dযবহার à¦\95রা à¦¹à¦¯à¦¼।",
-       "resettokens-no-tokens": "পà§\81নà¦\83সà§\8dথাপন করার মত কোনো টোকেন নেই।",
+       "changeemail-submit": "ইমেইল ঠিকানা পরিবর্তন",
+       "changeemail-throttled": "à¦\86পনি à¦ªà¦°à¦ªà¦° à¦¬à§\87শ à¦\95য়à§\87à¦\95বার à¦\85à§\8dযাà¦\95াà¦\89নà§\8dà¦\9fà§\87 à¦ªà§\8dরবà§\87শà§\87র à¦\9aà§\87ষà§\8dà¦\9fা à¦\95রà§\87à¦\9bà§\87ন। à¦ªà§\81নরায় à¦\9aà§\87ষà§\8dà¦\9fা à¦\95রার à¦ªà§\82রà§\8dবà§\87 à¦\85নà§\81à¦\97à§\8dরহ à¦\95রà§\87 $1 à¦\85পà§\87à¦\95à§\8dষা à¦\95রà§\81ন।",
+       "changeemail-nochange": "দয়া à¦\95রà§\87 à¦\8fà¦\95à¦\9fি à¦­à¦¿à¦¨à§\8dন à¦\93 à¦¨à¦¤à§\81ন à¦\87মà§\87à¦\87ল à¦ à¦¿à¦\95ানা à¦ªà§\8dরবà§\87শ à¦\95রান।",
+       "resettokens": "টোকেনগুলি পুনঃনির্ধারণ করুন",
+       "resettokens-text": "যà§\87 à¦\9fà§\8bà¦\95à§\87নà¦\97à§\81লি à¦\85à§\8dযাà¦\95াà¦\89নà§\8dà¦\9fà§\87র à¦¸à¦¾à¦¥à§\87 à¦¸à¦®à§\8dপরà§\8dà¦\95িত à¦\86পনার à¦¨à¦¿à¦°à§\8dদিষà§\8dà¦\9f à¦\95িà¦\9bà§\81 à¦¬à§\8dযà¦\95à§\8dতিà¦\97ত à¦¤à¦¥à§\8dয à¦¦à§\87à¦\96ার à¦\95াà¦\9cà§\87 à¦¬à§\8dযবহার à¦\95রা à¦¹à¦¯à¦¼, à¦¸à§\87à¦\97à§\81লি à¦\86পনি à¦ªà§\81নà¦\83নিরà§\8dধারণ à¦\95রতà§\87 à¦ªà¦¾à¦°à§\87ন।\n\nযদি à¦¦à§\81রà§\8dà¦\98à¦\9fনাà¦\95à§\8dরমà§\87 à¦\9fà§\8bà¦\95à§\87নà¦\97à§\81লি à¦\95াà¦\89à¦\95à§\87 à¦¦à¦¿à¦¯à¦¼à§\87 à¦¥à¦¾à¦\95à§\87ন à¦\85থবা à¦\86পনার à¦\85à§\8dযাà¦\95াà¦\89নà§\8dà¦\9f à¦¯à¦¦à¦¿ à¦¬à¦¹à¦¿à¦\83à¦\86à¦\95à§\8dরমণà§\87র à¦¶à¦¿à¦\95ার à¦¹à¦¯à¦¼, à¦¤à¦¾à¦¹à¦²à§\87 à¦\86পনার à¦\8f à¦\95াà¦\9cà¦\9fি à¦\95রা à¦\89à¦\9aিত।",
+       "resettokens-no-tokens": "পà§\81নà¦\83নিরà§\8dধারণ করার মত কোনো টোকেন নেই।",
        "resettokens-tokens": "টোকেন:",
        "resettokens-token-label": "$1 (বর্তমান: $2)",
-       "resettokens-watchlist-token": "ওয়েব ফিড (Atom/RSS) টোকেন পরিবর্তনের জন্য [[Special:Watchlist|নজরতালিকায় থাকা পাতাগুলোতে পরিবর্তন এসেছে]]",
-       "resettokens-done": "টোকেন পুনঃস্থাপন।",
-       "resettokens-resetbutton": "নির্বাচিত টোকেন পুনঃস্থাপন করুন",
+       "resettokens-watchlist-token": "[[Special:Watchlist|নজরতালিকায় থাকা পাতাগুলোতে পরিবর্তন]] সংক্রান্ত ওয়েব ফিডের (Atom বা RSS) টোকেন",
+       "resettokens-done": "টোকেনগুলি সফলভাবে পুনঃনির্ধারিত হয়েছে।",
+       "resettokens-resetbutton": "নির্বাচিত টোকেনগুলি পুনঃনির্ধারণ করা হোক",
        "bold_sample": "গাঢ় লেখা",
        "bold_tip": "গাঢ় লেখা",
-       "italic_sample": "তà§\80র্যক লেখা",
-       "italic_tip": "তà§\80র্যক লেখা",
-       "link_sample": "সংযোগের শিরোনাম",
-       "link_tip": "à¦\86ভ্যন্তরীণ সংযোগ",
-       "extlink_sample": "http://www.example.com সংযোগ শিরোনাম",
-       "extlink_tip": "বহিঃসংযোগ (মনে রাখবেন http:// উপসর্গ)",
+       "italic_sample": "তির্যক লেখা",
+       "italic_tip": "তির্যক লেখা",
+       "link_sample": "à¦\85ভà§\8dযনà§\8dতরà§\80ণ à¦¸à¦\82যà§\8bà¦\97à§\87র à¦¶à¦¿à¦°à§\8bনাম",
+       "link_tip": "à¦\85ভ্যন্তরীণ সংযোগ",
+       "extlink_sample": "http://www.example.com à¦¬à¦¹à¦¿à¦\83সà¦\82যà§\8bà¦\97 à¦¶à¦¿à¦°à§\8bনাম",
+       "extlink_tip": "বহিঃসংযোগ (http:// উপসর্গটি যোগ করতে ভুলবেন না)",
        "headline_sample": "শিরোনাম",
        "headline_tip": "২য় স্তরের শিরোনাম",
-       "nowiki_sample": "অ-ফরম্যাটকৃত টেক্সট এখানে যোগ করুন",
+       "nowiki_sample": "অবিন্যাসকৃত পাঠ্য এখানে যোগ করুন",
        "nowiki_tip": "উইকি ফরম্যাটিং উপেক্ষা করা হোক",
        "image_sample": "উদাহরণ.jpg",
        "image_tip": "গ্রথিত ফাইল",
        "preview": "প্রাকদর্শন",
        "showpreview": "প্রাকদর্শন",
        "showdiff": "পরিবর্তনসমূহ",
-       "blankarticle": "<strong>সতরà§\8dà¦\95 à¦¬à¦¾à¦°à§\8dতা:</strong> à¦\86পনি à¦\8fà¦\95à¦\9fি à¦\96ালি à¦ªà¦¾à¦¤à¦¾ à¦¤à§\88রà§\80 à¦\95রতà§\87 à¦¯à¦¾à¦\9aà§\8dà¦\9bà§\87ন।\nà¦\86পনি à¦¯à¦¦à¦¿ à¦ªà§\81নরায় \"{{int:savearticle}}\" à¦¬à¦¾à¦\9fন à¦\95à§\8dলিà¦\95 à¦\95রà§\87ন à¦¤à¦¾à¦¹à¦²à§\87, à¦ªà¦¾à¦¤à¦¾à¦\9fি à¦¤à§\88রà§\80 à¦¹à¦¬à§\87 à¦¯à§\87à¦\96ানà§\87 à¦\95à§\8bনà§\8b à¦¤à¦¥à§\8dয à¦²à§\87à¦\96া à¦¨à§\87à¦\87।",
-       "anoneditwarning": "<strong>সতর্কতা:</strong> আপনি বর্তমানে প্রবেশ করেননি। যদি আপনি সম্পাদনা করেন এই পাতার সম্পাদনার ইতিহাসে আপনার আইপি ঠিকানা সার্বজনীনভাবে সংরক্ষিত হবে। যদি আপনি  <strong>[$1 প্রবেশ করেন]</strong> বা  <strong>[$2 একটি অ্যাকাউন্ট তৈরি করেন]</strong>, তাহলে আপনি আপনার আইপি ঠিকানা গোপন রাখতে পারবেন ও অন্যান্য অনেক কিছু সুবিধা পাবেন।",
-       "anonpreviewwarning": "<em>à¦\86পনি à¦ªà§\8dরবà§\87শ à¦\95রà§\87ননি। à¦¸à¦®à§\8dপাদনা করলে এই পাতার সম্পাদনার ইতিহাসে আপনার আইপি ঠিকানা সংরক্ষিত হবে।</em>",
-       "missingsummary": "'''à¦\96à§\87য়াল à¦\95রà§\81ন''':  à¦\86পনি à¦\95িনà§\8dতà§\81 à¦¸à¦®à§\8dপাদনার à¦¸à¦¾à¦°à¦¾à¦\82শ à¦¦à§\87ননি। à¦\86বার à¦¯à¦¦à¦¿ \"সà¦\82রà¦\95à§\8dষণ\" বোতামে ক্লিক করেন, তাহলে ঐ সারাংশ বাক্যটি ছাড়াই আপনার সম্পাদনা সংরক্ষিত হবে।",
+       "blankarticle": "<strong>সতরà§\8dà¦\95 à¦¬à¦¾à¦°à§\8dতা:</strong> à¦\86পনি à¦\8fà¦\95à¦\9fি à¦\96ালি à¦ªà¦¾à¦¤à¦¾ à¦¤à§\88রà§\80 à¦\95রতà§\87 à¦¯à¦¾à¦\9aà§\8dà¦\9bà§\87ন।\nà¦\86পনি à¦¯à¦¦à¦¿ à¦ªà§\81নরায় \"{{int:savearticle}}\" à¦¬à§\8bতামà¦\9fি à¦\95à§\8dলিà¦\95 à¦\95রà§\87ন à¦¤à¦¾à¦¹à¦²à§\87 à¦\95à§\8bন à¦ªà¦¾à¦ à§\8dয à¦¬à¦¿à¦·à¦¯à¦¼à¦¬à¦¸à§\8dতà§\81 à¦\9bাড়াà¦\87 à¦ªà¦¾à¦¤à¦¾à¦\9fি à¦¤à§\88রà§\80 à¦¹à¦¬à§\87।",
+       "anoneditwarning": "<strong>সতর্ক বার্তা:</strong> আপনি বর্তমানে আপনার অ্যাকাউন্টে প্রবেশ করেননি। যদি এ অবস্থায় আপনি সম্পাদনা সংরক্ষণ করেন তাহলে এই পাতার সম্পাদনার ইতিহাসে আপনার আইপি ঠিকানা জনসমক্ষে দৃশ্যমান হবে। যদি আপনি  <strong>[$1 অ্যাকাউন্টে প্রবেশ করেন]</strong> বা  <strong>[$2 একটি অ্যাকাউন্ট তৈরি করেন]</strong>, তাহলে আপনি আপনার আইপি ঠিকানা গোপন রাখতে পারবেন ও অন্যান্য বেশ কিছু সুবিধা পাবেন।",
+       "anonpreviewwarning": "<em>à¦\86পনি à¦\85à§\8dযাà¦\95াà¦\89নà§\8dà¦\9fà§\87 à¦ªà§\8dরবà§\87শ à¦\95রà§\87ননি। à¦¸à¦®à§\8dপাদনা à¦¸à¦\82রà¦\95à§\8dষণ করলে এই পাতার সম্পাদনার ইতিহাসে আপনার আইপি ঠিকানা সংরক্ষিত হবে।</em>",
+       "missingsummary": "'''à¦\96à§\87য়াল à¦\95রà§\81ন''':  à¦\86পনি à¦\86পনার à¦¸à¦®à§\8dপাদনার à¦\95à§\8bনà¦\93 à¦¸à¦¾à¦°à¦¾à¦\82শ à¦¦à§\87ননি। à¦\86বার à¦¯à¦¦à¦¿ \"{{int:savearticle}}\" বোতামে ক্লিক করেন, তাহলে ঐ সারাংশ বাক্যটি ছাড়াই আপনার সম্পাদনা সংরক্ষিত হবে।",
        "selfredirect": "<strong>সতর্কতা:</strong> আপনি এই পাতাকে এর নিজের দিকে পুনঃনির্দেশিত করছেন।\nআপনাকে পুনঃনির্দেশিত করার জন্য হয় ভুল লক্ষ্য নির্দিষ্ট করেছেন, অথবা আপনি ভুল পাতা সম্পাদনা করছেন।\nআপনি যদি আবার \"{{int:savearticle}}\" ক্লিক করেন, পুনর্নির্দেশ যেকোনোভাবেই হোক তৈরি করা হবে।",
        "missingcommenttext": "দয়া করে নিচে মন্তব্য যোগ করুন।",
-       "missingcommentheader": "<strong>খেয়াল করুন:</strong> আপনি এই মন্তব্যের জন্য কোন বিষয় প্রদান করেননি।আপনি যদি আবার \"{{int:savearticle}}\" বোতামে ক্লিক করেন, আপনার এই সম্পাদনা কোন বিষয় ছাড়াই সংরক্ষিত হবে।",
+       "missingcommentheader": "<strong>খেয়াল করুন:</strong> আপনি এই মন্তব্যের জন্য কোনও বিষয় প্রদান করেননি। আপনি যদি আবার \"{{int:savearticle}}\" বোতামে ক্লিক করেন, আপনার এই সম্পাদনা কোন বিষয় ছাড়াই সংরক্ষিত হবে।",
        "summary-preview": "সম্পাদনা সারাংশের প্রাকদর্শন:",
        "subject-preview": "বিষয়ের প্রাকদর্শন:",
        "previewerrortext": "আপনার পরিবর্তনগুলি প্রাকদর্শন করার চেষ্টা করার সময় একটি ত্রুটি ঘটেছে।",
        "blockedtitle": "ব্যবহারকারীকে বাধা দেয়া হয়েছে",
-       "blockedtext": "আপনার ব্যবহারকারী নাম বা আইপি ঠিকানার ঊপর নিষেধাজ্ঞা আরোপিত হয়েছে।\n\n$1 নিষেধাজ্ঞা আরোপ করেছেন। নিষেধের কারণ হিসেবে বলা হয়েছে:''$2''।\n\n* নিষেধাজ্ঞা শুরুর সময়:$8\n* নিষেধাজ্ঞা উঠিয়ে নেয়ার সময়: $6\n* যার উপর নিষেধাজ্ঞা আরোপ করা হয়েছে: $7\n\nআপনি $1 অথবা [[{{MediaWiki:Grouppage-sysop}}|প্রশাসকদের]] কারও সাথে এই নিষেধাজ্ঞা সংক্রান্ত বিষয়ে আলোচনা করতে পারেন।\n\nআপনি '(ব্যবহারকারীকে) ইমেইল করুন' ফিচারটি ব্যবহার করতে পারবেন না। তবে [[Special:Preferences|আপনার পছন্দ তালিকাতে]] যদি একটি বৈধ ই-মেইল ঠিকানা নির্দিষ্ট করা হয়ে থাকে এবং ফিচারটি ব্যবহারে যদি আপনাকে বাধা না দেওয়া হয়ে থাকে, তবে আপনি ফিচারটি ব্যবহার করতে পারবেন।\n\nআপনার বর্তমান আইপি ঠিকানা $3, এবং আপনার নিষেধাজ্ঞা নং হল #$5।\n\nদয়া করে আপনার যেকোন জিজ্ঞাসাতে উপরের সমস্ত বিবরণ অন্তর্ভুক্ত করুন।",
-       "autoblockedtext": "আপনার আইপি ঠিকানাকে স্বয়ংক্রিয়ভাবে বাধা দেয়া হয়েছে কারণ এটি আরেকজন ব্যবহারকারী দ্বারা ব্যবহৃত হয়েছে, যাকে $1 বাধা দিয়েছেন।\nযে কারণে বাধা দেয়া হয়েছে:\n\n:''$2''\n\n* বাধা শুরুর সময়: $8\n* বাধা শেষের সময়: $6\n* যাকে বাধা দেওয়ার চেষ্টা করা হয়েছে: $7\n\nআপনি $1-এর সাথে কিংবা অন্য যেকোন [[{{MediaWiki:Grouppage-sysop}}|প্রশাসকের]] সাথে যোগাযোগ করে বাধার ব্যাপারটি আলোচনা করতে পারেন।\n\nলক্ষ্য করুন, যদি আপনি \"এই ব্যবহারকারীকে ই-মেইল করুন\" বৈশিষ্ট্যটি ব্যবহার করতে চান, তবে আপনার [[Special:Preferences|পছন্দ]] অপশনে একটি বৈধ ইমেইল ঠিকানা নিবন্ধিত থাকতে হবে এবং আপনার সেটি ব্যবহারে কোন বাধা থাকতে পারবে না।\n\nআপনার বর্তমান আইপি ঠিকানা হচ্ছে $3, এবং বাধা দানের আইডি হল #$5।\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|আপনার পছন্দ তালিকাতে]] যদি একটি বৈধ ইমেইল ঠিকানা নির্দিষ্ট করা হয়ে থাকে এবং সুবিধাটি ব্যবহারে যদি আপনাকে বাধা না দেওয়া হ<strong>য়ে থাকে, তবে আপনি সুবিধাটি ব্যবহার করতে পারবেন।\n\nআপনার বর্তমান আইপি ঠিকানা $3, এবং আপনার বাধা নং হল #$5।\n\nদয়া করে আপনার যেকোন জিজ্ঞাসাতে উপরের সমস্ত বিবরণ অন্তর্ভুক্ত করুন।",
+       "autoblockedtext": "আপনার আইপি ঠিকানাটিকে স্বয়ংক্রিয়ভাবে সম্পাদনায় বাধাদান করা হয়েছে কারণ এমন আরেকজন ব্যবহারকারী এটি ব্যবহার করেছেন, যাকে $1 বাধা দিয়েছেন।\nযে কারণে বাধা দেওয়া হয়েছে সেটি হল:\n\n:<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দয়া করে আপনার যেকোন জিজ্ঞাসাতে উপরের সমস্ত বিবরণ অন্তর্ভুক্ত করুন।",
+       "systemblockedtext": "আপনার ব্যবহারকারী নাম অথবা আইপি ঠিকানাটিকে স্বয়ংক্রিয়ভাবে মিডিয়াউইকি দ্বারা বাধাদান করা হয়েছে। যে কারণটি দেওয়া হয়েছে, সেটি হল:\n\n:<em>$2</em>\n\n* বাধা শুরুর সময়: $8\n* বাধা উঠিয়ে নেয়ার সময়: $6\n* যাকে বাধাদান করা হয়েছে: $7\n\nআপনার বর্তমান আইপি ঠিকানাটি হল $3।\nদয়া করে আপনার যেকোন জিজ্ঞাসাতে উপরের সমস্ত বিবরণ অন্তর্ভুক্ত করুন।",
        "blockednoreason": "কোন কারণ দেওয়া হয়নি",
-       "whitelistedittext": "পাতায় à¦¸à¦®à§\8dপাদনা à¦\95রতà§\87 à¦\86বশà§\8dযà¦\87 $1 à¦\95রতà§\87 à¦¹à¦¬à§\87।",
+       "whitelistedittext": "পাতায় à¦¸à¦®à§\8dপাদনা à¦\95রতà§\87 à¦\85নà§\81à¦\97à§\8dরহ à¦\95রà§\87 $1 à¦\95রà§\81ন।",
        "confirmedittext": "কোন সম্পাদনা করার আগে আপনার ই-মেইল ঠিকানাটি অবশ্যই নিশ্চিত করতে হবে। দয়া করে আপনার ই-মেইল ঠিকানাটি [[Special:Preferences|ব্যবহারকারীর পছন্দতালিকায়]] ঠিকমত দিন।",
        "nosuchsectiontitle": "অনুচ্ছেদ পাওয়া যায়নি",
        "nosuchsectiontext": "আপনি এমন একটি অনুচ্ছেদ সম্পাদনার চেষ্টা করেছেন, যার কোন অস্তিত্ব নেই।\nযখন এই পাতাটি দেখার চেষ্টা করছে, তখন হয়তো এটি সরিয়ে অথবা অপসারণ করা হয়েছে।",
        "accmailtitle": "পাসওয়ার্ড পাঠানো হয়েছে",
        "accmailtext": "[[User talk:$1|$1]] এর জন্য দৈব ভাবে উৎপন্ন শব্দ চাবি $2 এ পাঠানো হয়েছে।\nলগ-ইন করার পর ''[[Special:ChangePassword|পাসওয়ার্ড পরিবর্তন]]'' পাতা থেকে এটি পরিবর্তন করা যাব।",
        "newarticle": "(নতুন)",
-       "newarticletext": "à¦\86পনি à¦\8fমন à¦\8fà¦\95à¦\9fি à¦²à¦¿à¦\82à¦\95 à¦\85নà§\81সরণ à¦\95রà¦\9bà§\87ন, à¦¯à¦¾ à¦¨à§\87à¦\87।\nপাতাà¦\9fি à¦¤à§\88রি à¦\95রতà§\87, à¦¨à¦¿à¦\9aà§\87র à¦¬à¦¾à¦\95à§\8dসà§\87 à¦¤à¦¾ à¦\9fাà¦\87প à¦\95রা à¦¶à§\81রà§\81 à¦\95রà§\81ন (à¦\86রà¦\93 à¦¤à¦¥à§\8dয à¦\9cানতà§\87 [$1 à¦¸à¦¹à¦¾à¦¯à¦¼à¦¿à¦\95া à¦ªà¦¾à¦¤à¦¾] à¦¦à§\87à¦\96à§\81ন)।\nà¦\86পনি à¦¯à¦¦à¦¿ à¦­à§\81ল à¦\95রà§\87 à¦\8fà¦\96ানà§\87 à¦\8fসà§\87 à¦¥à¦¾à¦\95à§\87ন, à¦¤à¦¾à¦¹à¦²à§\87 à¦\86পনার à¦¬à§\8dরাà¦\89à¦\9cারà§\87র '''back''' à¦¬à§\8bতাম ক্লিক করুন।",
+       "newarticletext": "à¦\86পনি à¦\8fমন à¦\8fà¦\95à¦\9fি à¦ªà¦¾à¦¤à¦¾à¦° à¦¸à¦\82যà§\8bà¦\97 à¦\85নà§\81সরণ à¦\95রà¦\9bà§\87ন, à¦¯à¦¾à¦° à¦\85সà§\8dতিসà§\8dত à¦¨à§\87à¦\87।\nপাতাà¦\9fি à¦¤à§\88রি à¦\95রতà§\87, à¦¨à¦¿à¦\9aà§\87র à¦¬à¦¾à¦\95à§\8dসà§\87 à¦¤à¦¾ à¦\9fাà¦\87প à¦\95রা à¦¶à§\81রà§\81 à¦\95রà§\81ন (à¦\86রà¦\93 à¦¤à¦¥à§\8dয à¦\9cানতà§\87 [$1 à¦¸à¦¹à¦¾à¦¯à¦¼à¦¿à¦\95া à¦ªà¦¾à¦¤à¦¾] à¦¦à§\87à¦\96à§\81ন)।\nà¦\86পনি à¦¯à¦¦à¦¿ à¦­à§\81ল à¦\95রà§\87 à¦\8fà¦\96ানà§\87 à¦\8fসà§\87 à¦¥à¦¾à¦\95à§\87ন, à¦¤à¦¾à¦¹à¦²à§\87 à¦\86পনার à¦¬à§\8dরাà¦\89à¦\9cারà§\87র <strong>পিà¦\9bন</strong> à¦¬à§\8bতামà§\87 ক্লিক করুন।",
        "anontalkpagetext": "----\n<em>এটি একটি বেনামী ব্যবহারকারীর আলাপের পাতা, যিনি এখনও কোন অ্যাকাউন্ট তৈরি করেননি, কিংবা তিনি অ্যাকাউন্টটি ব্যবহার করছেন না।</em>\nআমরা তাই সাংখ্যিক আইপি ঠিকানা ব্যবহার করে তাঁকে শনাক্ত করছি।\nএকাধিক ব্যবহারকারী এরকম একটি আইপি ঠিকানা ব্যবহার করতে পারেন।\nআপনি যদি একজন বেনামী ব্যবহারকারী হয়ে থাকেন এবং যদি অনুভব করেন যে আপনার প্রতি অপ্রাসঙ্গিক মন্তব্য করা হয়েছে, তাহলে অন্যান্য বেনামী ব্যবহারকারীর সাথে ভবিষ্যতে বিভ্রান্তি এড়াতে অনুগ্রহ করে [[Special:CreateAccount|একটি অ্যাকাউন্ট তৈরি করুন]] অথবা  [[Special:UserLogin|অ্যাকাউন্টে প্রবেশ করুন]]।",
        "noarticletext": "বর্তমানে এই পাতায় কোন লেখা নেই।\nআপনি চাইলে অন্যান্য পাতায় [[Special:Search/{{PAGENAME}}| এই শিরোনামটি অনুসন্ধান করতে পারেন]],\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} এ সম্পর্কিত লগ অনুসন্ধান করতে পারেন], \nকিংবা [{{fullurl:{{FULLPAGENAME}}|action=edit}} এই পাতাটি তৈরি করতে পারেন]</span>।",
        "noarticletext-nopermission": "বর্তমানে এই পাতায় কোন লেখা নেই।\nআপনি চাইলে অন্য পাতায় [[Special:Search/{{PAGENAME}}| শিরোনামটি অনুসন্ধান করতে পারেন]], অথবা <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} সম্পর্কিত লগ অনুসন্ধান করতে পারেন]</span>, কিন্তু আপনার এই পাতাটি তৈরী করার অনুমতি নেই।",
        "continue-editing": "সম্পাদনা করুন",
        "previewconflict": "এই প্রাকদর্শনটি সম্পাদনা ক্ষেত্রের উপরের অংশটির টেক্সট সংরক্ষণ করলে যেরকম দেখাবে, তা দেখাচ্ছে।",
        "session_fail_preview": "দুঃখিত! সেশন ডাটা হারিয়ে যাওয়ার কারণে আপনার সম্পাদনাটি সংরক্ষণ করা সম্ভব হয়নি।\n\nআপনি সম্ভবত সংযোগ হারিয়েছন। <strong>দয়া করে যাচাই করুন যে আপনি এখনও প্রবেশরত রয়েছেন এবং আবার চেষ্টা করুন</strong>। যদি এটি এখনও কাজ না করে, তাহলে দয়া করে [[Special:UserLogout|অ্যাকাউন্ট থেকে প্রস্থান করুন]] এবং আবার অ্যাকাউন্টে প্রবেশ করে চেষ্টা করুন এবং এবং পরীক্ষা করুন যে আপনার ব্রাউজার এই সাইটে কুকি ব্যবহারের অনুমতি দেয়।",
-       "session_fail_preview_html": "দুঃখিত! সেশন উপাত্ত হারিয়ে যাওয়ার কারণে আমরা আপনার সম্পাদনাটি প্রক্রিয়া করতে পারিনি।\n\n<em>{{SITENAME}}-এ raw HTML সক্রিয় আছে বলে জাভাস্ক্রিপ্ট ভিত্তিক আক্রমণ থেকে প্রতিরক্ষার জন্য প্রাকদর্শনটি দেখানো হচ্ছে না।</em>\n\n<strong>যদি এটি সম্পাদনার একটি বৈধ প্রচেষ্টা হয়, তবে অনুগ্রহ করে আবার চেষ্টা করুন।</strong>\nযদি তারপরেও কাজ না হয়, তবে অ্যাকাউন্ট থেকে [[Special:UserLogout|বেরিয়ে গিয়ে]] আবার প্রবেশ করুন, এবং পরীক্ষা করে দেখুন যে আপনার ব্রাউজারে এই সাইট থেকে কুকি অনুমতি দেয়।",
+       "session_fail_preview_html": "দুঃখিত! সেশনের উপাত্ত হারিয়ে যাওয়ার কারণে আমরা আপনার সম্পাদনাটি প্রক্রিয়াভুক্ত করতে পারিনি।\n\n<em>{{SITENAME}}-এ raw HTML সক্রিয় আছে বলে জাভাস্ক্রিপ্ট ভিত্তিক আক্রমণ থেকে প্রতিরক্ষার জন্য প্রাকদর্শনটি দেখানো হচ্ছে না।</em>\n\n<strong>যদি এটি সম্পাদনার একটি বৈধ প্রচেষ্টা হয়, তবে অনুগ্রহ করে আবার চেষ্টা করুন।</strong>\nযদি তারপরেও কাজ না হয়, তবে অ্যাকাউন্ট থেকে [[Special:UserLogout|বেরিয়ে গিয়ে]] আবার প্রবেশ করুন, এবং পরীক্ষা করে দেখুন যে আপনার ব্রাউজারে এই সাইট থেকে কুকি রাখার অনুমতি আছে কি না।",
        "token_suffix_mismatch": "'''আপনার সম্পাদনাটি প্রত্যাখ্যান করা হয়েছে, কারণ আপনার ক্লায়েন্ট প্রোগ্রামটি সম্পাদনা টেক্সটের বিরামচিহ্নগুলি গুলিয়ে ফেলেছে। পাতাটির টেক্সটে যাতে ক্ষতি না হয় সেজন্য সম্পাদনাটি প্রত্যাখ্যান করা হয়েছে। আপনি কোন ত্রুটিপূর্ণ ওয়েব-ভিত্তিক বেনামী প্রক্সি সেবা ব্যবহার করলে এরকম হতে পারে।'''",
        "edit_form_incomplete": "'''আপনার সম্পাদনার কিছু অংশ সার্ভারে পৌছায় নি; আপনার সম্পাদনা সম্পূর্ণরুপে আছে কিনা নিশ্চিত হয়ে আবার চেষ্টা করুন'''",
        "editing": "সম্পাদনা করছেন: $1",
        "editingsection": "সম্পাদনা করছেন $1 (অনুচ্ছেদ)",
        "editingcomment": "সম্পাদনা করছেন $1 (নতুন অনুচ্ছেদ)",
        "editconflict": "সম্পাদনা দ্বন্দ্ব: $1",
-       "explainconflict": "à¦\86পনি à¦ªà¦¾à¦¤à¦¾à¦\9fি à¦¸à¦®à§\8dপাদনা à¦¶à§\81রà§\81 à¦\95রার à¦ªà¦° à¦\85নà§\8dয à¦\95à§\87à¦\89 à¦ªà¦¾à¦¤à¦¾à¦\9fিতà§\87 à¦ªà¦°à¦¿à¦¬à¦°à§\8dতন à¦\8fনà§\87à¦\9bà§\87।\nà¦\9fà§\87à¦\95à§\8dসà¦\9f à¦\8fলাà¦\95ার à¦\89পরà§\87র à¦\85à¦\82শà§\87 à¦¬à¦°à§\8dতমানà§\87 à¦\9fà§\87à¦\95à§\8dসà¦\9f à¦¯à§\87ভাবà§\87 à¦\86à¦\9bà§\87, à¦¤à¦¾ à¦¦à§\87à¦\96ানà§\8b à¦¹à¦¯à¦¼à§\87à¦\9bà§\87।\nà¦\86পনার à¦ªà¦°à¦¿à¦¬à¦°à§\8dতনà¦\97à§\81লি à¦\9fà§\87à¦\95à§\8dসà¦\9f à¦\8fলাà¦\95ার à¦¨à¦¿à¦\9aà§\87র à¦\85à¦\82শà§\87 à¦¦à§\87à¦\96ানà§\8b à¦¹à¦¯à¦¼à§\87à¦\9bà§\87।\nà¦\86পনাà¦\95à§\87 à¦\86পনার à¦ªà¦°à¦¿à¦¬à¦°à§\8dতনà¦\97à§\81লি à¦¬à¦°à§\8dতমানà§\87 à¦¬à¦¿à¦¦à§\8dযমান à¦\9fà§\87à¦\95à§\8dসà¦\9fà§\87র à¦¸à¦¾à¦¥à§\87 à¦®à¦¿à¦²à¦¿à¦¯à¦¼à§\87 à¦¦à¦¿à¦¤à§\87 à¦¹à¦¬à§\87।\nà¦\86পনি \"সà¦\82রà¦\95à§\8dষণ\" à¦\9aাপলà§\87 '''শà§\81ধà§\81মাতà§\8dর''' à¦\9fà§\87à¦\95à§\8dসà¦\9f এলাকার উপরের অংশটি সংরক্ষিত হবে।",
+       "explainconflict": "à¦\86পনি à¦ªà¦¾à¦¤à¦¾à¦\9fি à¦¸à¦®à§\8dপাদনা à¦¶à§\81রà§\81 à¦\95রার à¦ªà¦° à¦\85নà§\8dয à¦\95à§\87à¦\89 à¦ªà¦¾à¦¤à¦¾à¦\9fিতà§\87 à¦ªà¦°à¦¿à¦¬à¦°à§\8dতন à¦\8fনà§\87à¦\9bà§\87।\nপাঠà§\8dয à¦\8fলাà¦\95ার à¦\89পরà§\87র à¦\85à¦\82শà§\87 à¦¬à¦°à§\8dতমানà§\87 à¦ªà¦¾à¦  à¦¯à§\87ভাবà§\87 à¦\86à¦\9bà§\87 à¦¤à¦¾ à¦¦à§\87à¦\96ানà§\8b à¦¹à¦¯à¦¼à§\87à¦\9bà§\87।\nà¦\86পনার à¦ªà¦°à¦¿à¦¬à¦°à§\8dতনà¦\97à§\81লি à¦ªà¦¾à¦ à§\8dয à¦\8fলাà¦\95ার à¦¨à¦¿à¦\9aà§\87র à¦\85à¦\82শà§\87 à¦¦à§\87à¦\96ানà§\8b à¦¹à¦¯à¦¼à§\87à¦\9bà§\87।\nà¦\86পনাà¦\95à§\87 à¦\86পনার à¦ªà¦°à¦¿à¦¬à¦°à§\8dতনà¦\97à§\81লি à¦¬à¦°à§\8dতমানà§\87 à¦¬à¦¿à¦¦à§\8dযমান à¦ªà¦¾à¦ à§\8dযà§\87র à¦¸à¦¾à¦¥à§\87 à¦®à¦¿à¦²à¦¿à¦¯à¦¼à§\87 à¦¦à¦¿à¦¤à§\87 à¦¹à¦¬à§\87।\nà¦\86পনি \"{{int:savearticle}}\" à¦\9aাপলà§\87 <strong>শà§\81ধà§\81মাতà§\8dর</strong> à¦ªà¦¾à¦ à§\8dয এলাকার উপরের অংশটি সংরক্ষিত হবে।",
        "yourtext": "আপনার লেখা বিষয়বস্তু",
        "storedversion": "সংরক্ষিত সংস্করণ",
        "nonunicodebrowser": "'''সতর্কীকরণ: আপনার ব্রাউজার ইউনিকোড-বন্ধুভাবাপন্ন নয়। আপনি যাতে বিপদ ছাড়াই পাতা সম্পাদনা করতে পারেন, সে জন্য সমাধান আছে: অ-আস্কি ক্যারেক্টারগুলি হেক্সাডেসিমাল কোড হিসেবে দেখানো হবে।'''",
        "edittools": "<!-- সম্পাদনা এবং আপলোড ফরমের নীচে এখানের লেখা দেখানো হবে। -->",
        "edittools-upload": "-",
        "nocreatetext": "{{SITENAME}}-এ নতুন পাতা সৃষ্টি করার ক্ষমতা সীমাবদ্ধ করা হয়েছে।\nআপনি ফিরে গিয়ে ইতিমধ্যে বিদ্যমান কোন পাতা সম্পাদনা করতে পারেন, অথবা [[Special:UserLogin|অ্যাকাউন্টে প্রবেশ কিংবা অ্যাকাউন্ট সৃষ্টি করতে পারেন]]।",
-       "nocreate-loggedin": "নতà§\81ন à¦ªà¦¾à¦¤à¦¾ à¦¤à§\88রিতà§\87 à¦\86পনাà¦\95à§\87 à¦\85নà§\81মà§\8bতি à¦¦à§\87à¦\93য়া à¦¹à¦¯à¦¼à¦¨à¦¿।",
+       "nocreate-loggedin": "à¦\86পনার à¦¨à¦¤à§\81ন à¦ªà¦¾à¦¤à¦¾ à¦¤à§\88রি à¦\95রার à¦\85নà§\81মà§\8bদন à¦¨à§\87à¦\87।",
        "sectioneditnotsupported-title": "অনুচ্ছেদ সম্পাদনা সমর্থন করে না",
        "sectioneditnotsupported-text": "এই সম্পাদনা পাতায় অনুচ্ছেদ সম্পাদনা সমর্থন করে না",
        "permissionserrors": "অনুমতি ত্রুটিসমূহ",
        "permissionserrorstext": "আপনার এটা করার অনুমতি নেই, নিচের {{PLURAL:$1|টি কারণের|টি কারণের}} জন্য:",
-       "permissionserrorstext-withaction": "à¦\86পনার $2 à¦\85নà§\81মতি à¦¨à§\87à¦\87, à¦¯à¦¾à¦° {{PLURAL:$1|à¦\95ারণ|à¦\95ারণসমà§\82হ}} à¦¹à¦²:",
+       "permissionserrorstext-withaction": "নিমà§\8dনà§\8bà¦\95à§\8dত {{PLURAL:$1|à¦\9fি à¦\95ারণà§\87র}} à¦\9cনà§\8dয à¦\86পনার $2-র à¦\85নà§\81মà§\8bদন à¦¨à§\87à¦\87:",
        "contentmodelediterror": "আপনি এই পুনর্বিবেচনা সম্পাদনা করতে পারবেন না কারণ এর বিষয়বস্তু মডেল <code>$1</code>, যা বর্তমান বিষয়বস্তু মডেল <code>$2</code>-এর থেকে ভিন্ন।",
        "recreate-moveddeleted-warn": "'''সতর্কীকরণ: আপনি এমন একটি পাতা পুনরায় তৈরি করছেন যা পূর্বে অপসারণ করা হয়েছিল।'''\n\nআপনি পাতাটি সম্পাদনা চালিয়ে যাওয়া ঠিক হবে কিনা, তা বিবেচনা করুন।\nআপনার সুবিধার্থে পাতাটির অপলুপ্তি লগ এখানে দেয়া হলো:",
        "moveddeleted-notice": "এই পাতাটি অপসারণ করা হয়েছে।\nসূত্র হিসেবে নিচে এ পাতার অবলুপ্তি লগ দেওয়া হলো।",
        "undo-norev": "সম্পাদনাটি বাতিল করা যাচ্ছেনা কারণ এটি আর নেই বা মুছে ফেলা হয়েছে।",
        "undo-nochange": "সম্পাদনাটি পূর্বেই বাতিল করা হয়েছে।",
        "undo-summary": "[[Special:Contributions/$2|$2]] ([[User talk:$2|আলাপ]])-এর সম্পাদিত $1 নম্বর সংশোধনটি বাতিল করা হয়েছে",
-       "undo-summary-username-hidden": "à¦\8fà¦\95à¦\9cন à¦²à§\81à¦\95ানà§\8b à¦¬à§\8dযবহারà¦\95ারà§\80 $1 à¦¸à¦\82শà§\8bধন à¦ªà§\81নরায় à¦«à¦¿à¦°à¦¿à¦¯à¦¼à§\87 à¦\8fনà§\87à¦\9bà§\87ন",
+       "undo-summary-username-hidden": "à¦\8fà¦\95à¦\9cন à¦²à§\81à¦\95ায়িত à¦¬à§\8dযবহারà¦\95ারà§\80র à¦\95রা $1 à¦¨à¦\82 à¦¸à¦\82শà§\8bধনà¦\9fি à¦¬à¦¾à¦¤à¦¿à¦² à¦\95রা à¦¹à¦¯à¦¼à§\87à¦\9bà§\87",
        "cantcreateaccount-text": "[[User:$3|$3]] এই আইপি ঠিকানা('''$1''') থেকে অ্যাকাউন্ট সৃষ্টিতে বাধা দিয়েছেন।\n\n$3-এর দেয়া কারণ হল ''$2''",
        "cantcreateaccount-range-text": "[[User:$3|$3]] কর্তৃক আইপি ঠিকানার ব্যাপ্তি <strong>$1</strong>-এর মধ্যে অ্যাকাউন্ট তৈরি করা অবরুদ্ধ করা হয়েছে। যাতে আপনার আইপি ঠিকানাও (<strong>$4</strong>) রয়েছে। \n\n$3 কর্তৃক <em>$2</em> কারণ দেখানো হয়েছে।",
        "viewpagelogs": "এই পাতার জন্য লগগুলো দেখুন",
        "nohistory": "এই পাতার কোন সম্পাদনার ইতিহাস নেই।",
-       "currentrev": "সর্বশেষ সংস্করণ",
-       "currentrev-asof": "$1 à¦¤à¦¾à¦°à¦¿à¦\96à§\87 à¦¸à¦®à§\8dপাদিত à¦¬à¦°à§\8dতমান সংস্করণ",
-       "revisionasof": "$1 তারিখে সংস্করণ",
-       "revision-info": "$2 কর্তৃক $1 পর্যন্ত সংস্করণে $7",
+       "currentrev": "সরà§\8dবশà§\87ষ à¦¸à¦\82শà§\8bধিত à¦¸à¦\82সà§\8dà¦\95রণ",
+       "currentrev-asof": "$1 à¦¸à¦®à¦¯à¦¼ à¦\93 à¦¤à¦¾à¦°à¦¿à¦\96à§\87 à¦¸à¦®à§\8dপাদিত à¦¸à¦°à§\8dবশà§\87ষ à¦¸à¦\82শà§\8bধিত সংস্করণ",
+       "revisionasof": "$1 তারিখে সংশোধিত সংস্করণ",
+       "revision-info": "{{GENDER:$6|$2}} কর্তৃক $1 সময় ও তারিখে সংশোধিত সংস্করণ $7",
        "previousrevision": "←পুর্বের সংস্করণ",
        "nextrevision": "পরবর্তী সংস্করণ→",
        "currentrevisionlink": "সর্বশেষ সংস্করণ",
        "last": "পূর্ববর্তী",
        "page_first": "প্রথম",
        "page_last": "শেষ",
-       "histlegend": "পারà§\8dথà¦\95à§\8dয à¦¨à¦¿à¦°à§\8dবাà¦\9aন: à¦¯à§\87 à¦¸à¦\82সà§\8dà¦\95রণà¦\97à§\81লà§\8b à¦¤à§\81লনা à¦\95রতà§\87 à¦\9aান, à¦¸à§\87à¦\97à§\81লà§\8b à¦\9aিহà§\8dনিত à¦\95রà§\87 à¦\8fনà§\8dà¦\9fার à¦¬à¦¾ à¦¨à¦¿à¦\9aà§\87র à¦¬à§\8bতামà¦\9fি à¦\9fিপà§\81ন।<br />\nনিরà§\8dদà§\87শিà¦\95া: (বরà§\8dতমান) = à¦¬à¦°à§\8dতমান à¦¸à¦\82সà§\8dà¦\95রণà§\87র à¦¸à¦¾à¦¥à§\87 à¦ªà¦¾à¦°à§\8dথà¦\95à§\8dয, (পà§\82রà§\8dববরà§\8dতà§\80) =  à¦ªà§\82রà§\8dবà§\87র à¦¸à¦\82সà§\8dà¦\95রণà§\87র à¦¸à¦¾à¦¥à§\87 à¦ªà¦¾à¦°à§\8dথà¦\95à§\8dয, à¦\85 = অনুল্লেখ্য সম্পাদনা।",
-       "history-fieldset-title": "বà§\8dরাà¦\89à¦\9c à¦\87তিহাস",
-       "history-show-deleted": "শà§\81ধà§\81মাতà§\8dর à¦\85পসারণ",
+       "histlegend": "পারà§\8dথà¦\95à§\8dয à¦¨à¦¿à¦°à§\8dবাà¦\9aন: à¦¯à§\87 à¦¸à¦\82সà§\8dà¦\95রণà¦\97à§\81লি à¦¤à§\81লনা à¦\95রতà§\87 à¦\9aান, à¦¸à§\87à¦\97à§\81লি à¦\9aিহà§\8dনিত à¦\95রà§\87 à¦\8fনà§\8dà¦\9fার à¦¬à¦¾ à¦¨à¦¿à¦\9aà§\87র à¦¬à§\8bতামà¦\9fি à¦\9fিপà§\81ন।<br />\nনিরà§\8dদà§\87শিà¦\95া: <strong>(বরà§\8dতমান)</strong>  = à¦¬à¦°à§\8dতমান à¦¸à¦\82সà§\8dà¦\95রণà§\87র à¦¸à¦¾à¦¥à§\87 à¦ªà¦¾à¦°à§\8dথà¦\95à§\8dয, <strong>(পà§\82রà§\8dববরà§\8dতà§\80)<strong> =  à¦ªà§\82রà§\8dবà§\87র à¦¸à¦\82সà§\8dà¦\95রণà§\87র à¦¸à¦¾à¦¥à§\87 à¦ªà¦¾à¦°à§\8dথà¦\95à§\8dয, <strong>à¦\85<strong> = অনুল্লেখ্য সম্পাদনা।",
+       "history-fieldset-title": "সà¦\82শà§\8bধিত à¦¸à¦\82সà§\8dà¦\95রণà§\87র à¦\9cনà§\8dয à¦\85নà§\81সনà§\8dধান à¦\95রà§\81ন",
+       "history-show-deleted": "শà§\81ধà§\81মাতà§\8dর à¦\85পসারিত à¦¸à¦\82শà§\8bধন",
        "histfirst": "সবচেয়ে পুরনো",
        "histlast": "সবচেয়ে নতুন",
        "historysize": "({{PLURAL:$1|১ বাইট|$1 বাইট}})",
        "historyempty": "(খালি)",
-       "history-feed-title": "সংশোধন ইতিহাস",
-       "history-feed-description": "এ উইকিতে এই পাতার সংশোধনের ইতিহাস",
+       "history-feed-title": "সংশোধনের ইতিহাস",
+       "history-feed-description": "এ উইকিতে এই পাতার সংশোধনের ইতিহাস",
        "history-feed-item-nocomment": "$2-এ $1",
        "history-feed-empty": "অনুরোধকৃত পাতাটির কোন অস্তিত্ব নেই।\nহয়ত পাতাটি উইকি থেকে মুছে ফেলা হয়েছে, কিংবা নতুন নামকরণ করা হয়েছে।\nপ্রাসঙ্গিক নতুন পাতাগুলির জন্য [[Special:Search|উইকি অনুসন্ধানের]] চেষ্টা করুন।",
        "history-edit-tags": "নির্বাচিত সংশোধনের ট্যাগ সম্পাদনা করুন",
        "rev-deleted-comment": "(সম্পাদনা সারাংশ অপসারিত)",
        "rev-deleted-user": "(ব্যবহারকারীর নাম সরিয়ে নেওয়া হয়েছে)",
        "rev-deleted-event": "(লগ তথ্য সরানো হয়েছে)",
-       "rev-deleted-user-contribs": "বà§\8dযবহারà¦\95ারà§\80র à¦¨à¦¾à¦® à¦\85থবা à¦\86à¦\87পি à¦ à¦¿à¦\95ানা à¦\85পসারিত à¦¹à¦¯à¦¼à§\87à¦\9bà§\87 - à¦\85বদান à¦¥à§\87à¦\95à§\87 à¦¸à¦®à§\8dপাদনা à¦\86ড়াল à¦\95রা হয়েছে",
+       "rev-deleted-user-contribs": "বà§\8dযবহারà¦\95ারà§\80র à¦¨à¦¾à¦® à¦\85থবা à¦\86à¦\87পি à¦ à¦¿à¦\95ানা à¦\85পসারিত à¦¹à¦¯à¦¼à§\87à¦\9bà§\87 - à¦\85বদান à¦¥à§\87à¦\95à§\87 à¦¸à¦®à§\8dপাদনা à¦²à§\81à¦\95িয়à§\87 à¦°à¦¾à¦\96া হয়েছে",
        "rev-deleted-text-permission": "পাতার এই সংস্করণটি '''অপসারিত''' হয়েছে।\nবিস্তারিত কারণ এর [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} অপসারণ লগে] পাওয়া যেতে পারে।",
        "rev-suppressed-text-permission": "পাতার সংশোধনটি <strong>গোপন</strong> করা হয়েছে।\nবিস্তারিত বিবরণ [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} গোপনকার্যের লগে] থাকতে পারে।",
        "rev-deleted-text-unhide": "পাতার এই সংস্করণটি '''অপসারিত''' হয়েছে।\nবিস্তারিত কারণ এর [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} অপসারণ লগে] পাওয়া যেতে পারে।\nআপনি ইচ্ছা পোষণ করলে [$1 এই সংস্করণটি দেখতে পারেন]।",
        "rev-showdeleted": "দেখাও",
        "revisiondelete": "অবলুপ্ত/পুনঃস্থাপন সংশোধনসমূহ",
        "revdelete-nooldid-title": "বেঠিক লক্ষ্য সংশোধন",
-       "revdelete-nooldid-text": "à¦\8fà¦\87 à¦\95াà¦\9cà¦\9fি à¦¸à¦®à§\8dপনà§\8dন à¦\95রার à¦\9cনà§\8dয à¦\86পনি à¦\95à§\8bন à¦²à¦\95à§\8dষà§\8dয à¦¸à¦\82শà§\8bধন à¦¨à¦¿à¦°à§\8dবাà¦\9aন à¦\95রà§\87ননি à¦¯à§\87à¦\96ানà§\87 à¦\8fà¦\87 à¦\95াà¦\9cà¦\9fি à¦¸à¦®à§\8dপাদন à¦\95রা à¦¹à¦¬à§\87, à¦\85থবা à¦¨à¦¿à¦°à§\8dবাà¦\9aিত à¦¸à¦\82শà§\8bধনà¦\9fি à¦¨à§\87à¦\87, à¦\85থবা à¦\86পনি à¦¬à¦°à§\8dতমান à¦¸à¦\82শà§\8bধন à¦\86ড়াল à¦\95রার চেষ্টা করছেন।",
+       "revdelete-nooldid-text": "à¦\8fà¦\87 à¦\95াà¦\9cà¦\9fি à¦¸à¦®à§\8dপনà§\8dন à¦\95রার à¦\9cনà§\8dয à¦\86পনি à¦\95à§\8bন à¦²à¦\95à§\8dষà§\8dয à¦¸à¦\82শà§\8bধন à¦¨à¦¿à¦°à§\8dবাà¦\9aন à¦\95রà§\87ননি à¦¯à§\87à¦\96ানà§\87 à¦\8fà¦\87 à¦\95াà¦\9cà¦\9fি à¦¸à¦®à§\8dপাদন à¦\95রা à¦¹à¦¬à§\87, à¦\85থবা à¦¨à¦¿à¦°à§\8dবাà¦\9aিত à¦¸à¦\82শà§\8bধনà¦\9fি à¦¨à§\87à¦\87, à¦\85থবা à¦\86পনি à¦¬à¦°à§\8dতমান à¦¸à¦\82শà§\8bধন à¦²à§\81à¦\95িয়à§\87 à¦°à¦¾à¦\96ার চেষ্টা করছেন।",
        "revdelete-no-file": "নির্ধারিত ফাইলটি নেই।",
        "revdelete-show-file-confirm": "আপনি কি নিশ্চিত যে \"<nowiki>$1</nowiki>\" ফাইলের $2 তারিখের $3 টার অপসারণ লগ দেখানো হবে?",
        "revdelete-show-file-submit": "হ্যাঁ",
        "revdelete-text-text": "অপসারিত সংস্করণসমূহ এখনও পাতা ইতিহাসে প্রদর্শিত হয়, কিন্তু সেই বিষয়বস্তুর অংশগুলি সর্বসাধারণ দেখতে পারবে না।",
        "revdelete-text-file": "অপসারিত ফাইলের সংস্করণসমূহ এখনও ফাইল ইতিহাসে প্রদর্শিত হয়, কিন্তু সেই বিষয়বস্তুর অংশগুলি সর্বসাধারণ দেখতে পারবে না।",
        "logdelete-text": "অপসারিত লগ ইভেন্টসমূহ এখনও লগে প্রদর্শিত হয়, কিন্তু সেই বিষয়বস্তুর অংশগুলি সর্বসাধারণ দেখতে পারেবে না।",
-       "revdelete-text-others": "à¦\85নà§\8dযানà§\8dয à¦ªà§\8dরশাষà¦\95à¦\97ণ à¦\8fà¦\87 à¦²à§\81à¦\95ানà§\8b à¦¤à¦¥à§\8dয à¦\97à§\81লà§\8b দেখতে পারবেন এবং প্রয়োজনে সেগুলো ফিরিয়ে আনতে পারবেন, যদি অন্যান্য কোনো বাধা না থাকে।",
+       "revdelete-text-others": "à¦\85নà§\8dযানà§\8dয à¦ªà§\8dরশাসà¦\95à§\87রা à¦¤à¦¾à¦° à¦ªà¦°à§\87à¦\93 à¦\8fà¦\87 à¦²à§\81à¦\95ানà§\8b à¦¬à¦¿à¦·à¦¯à¦¼à¦¬à¦¸à§\8dতà§\81à¦\97à§\81লি দেখতে পারবেন এবং প্রয়োজনে সেগুলো ফিরিয়ে আনতে পারবেন, যদি অন্যান্য কোনো বাধা না থাকে।",
        "revdelete-confirm": "অনুগ্রহ করে নিশ্চিত করুন যে আপনি এটি করতে চাচ্ছিলেন, আপনি এর ফলাফল সম্পর্কে অবগত আছেন, এবং [[{{MediaWiki:Policy-url}}|নীতিমালার]] উপর ভিত্তি করেই এই কাজটি করছেন।",
        "revdelete-suppress-text": "নিচের বিষয়গুলোর ক্ষেত্রেই '''কেবলমাত্র'''  চাপাচাপি করা যাবে:\n* সম্ভাব্য মানহানিকর তথ্য\n* ভুল ব্যক্তিগত তথ্য\n*: ''বাসার ঠিকানা এবং ফোন নম্বর, সোসাল সিকিউরিটি নম্বর, ইত্যাদি।''",
        "revdelete-legend": "দৃষ্টিপাত সীমাবদ্ধ করো",
-       "revdelete-hide-text": "সà¦\82সà§\8dà¦\95রণের লেখা",
-       "revdelete-hide-image": "ফাà¦\87লà§\87র à¦¬à¦¿à¦·à¦¯à¦¼à¦¬à¦¸à§\8dতà§\81 à¦\86ড়াল à¦\95রà§\8b",
+       "revdelete-hide-text": "সà¦\82শà§\8bধনের লেখা",
+       "revdelete-hide-image": "ফাà¦\87লà§\87র à¦¬à¦¿à¦·à¦¯à¦¼à¦¬à¦¸à§\8dতà§\81 à¦²à§\81à¦\95িয়à§\87 à¦°à¦¾à¦\96া à¦¹à§\8bà¦\95",
        "revdelete-hide-name": "লক্ষ্য ও প্যারামিটার আড়াল করো",
        "revdelete-hide-comment": "সম্পাদনা সারাংশ",
-       "revdelete-hide-user": "সম্পাদকে ব্যবহারকারীর নাম/আইপি",
+       "revdelete-hide-user": "সম্পাদকের ব্যবহারকারী নাম/আইপি ঠিকানা",
        "revdelete-hide-restricted": "প্রশাসকবৃন্দ এবং অন্যদের ক্ষেত্রে এই ডাটা রোধ করো",
-       "revdelete-radio-same": "পরিবরà§\8dতন à¦¨à¦¯à¦¼",
-       "revdelete-radio-set": "লà§\81à¦\95ানà§\8b",
+       "revdelete-radio-same": "à¦\85পরিবরà§\8dতিত à¦¥à¦¾à¦\95",
+       "revdelete-radio-set": "লà§\81à¦\95ায়িত",
        "revdelete-radio-unset": "দৃশ্যমান",
        "revdelete-suppress": "সব প্রশাসক ও অন্যান্যদের কাছ থেকে উপাত্ত লুকিয়ে রাখা হোক।",
        "revdelete-unsuppress": "সংশোধন পুনঃস্থাপনের উপর সীমাবদ্ধতা দূর করো",
        "revdel-restore": "দৃশ্যমানতা পরিবর্তন করো",
        "pagehist": "পাতার ইতিহাস",
        "deletedhist": "ইতিহাস মুছে ফেলো",
-       "revdelete-hide-current": "$2, $1 সময়ের বিষয়টি লুকানো যাচ্ছে না: এটি বর্তমান সংস্করণ।\nএটি লুকানো সম্ভব নয়।",
+       "revdelete-hide-current": "$2 সময় ও $1 তারিখের আইটেমটি লুকানো যাচ্ছে না: এটি বর্তমান সংস্করণ।\nএটি লুকানো সম্ভব নয়।",
        "revdelete-show-no-access": "$2, $1 তারিখের ছবিটি দেখাতে সমস্যা হচ্ছে: এটি ''রেসট্রিটেড'' হিসাবে চিহ্নিত করা রয়েছে।\nআপনার এটি দেখার অনুমতি নেই।",
        "revdelete-modify-no-access": "$2, $1 তারিখের ছবিটি সম্পাদনা করতে সমস্যা হচ্ছে: এটি ''রেসট্রিটেড'' হিসাবে চিহ্নিত করা রয়েছে।\nআপনার এটি দেখার অনুমতি নেই।",
        "revdelete-modify-missing": "$1 আইডি সম্বলিত তথ্যটি সম্পাদনা করা যাচ্ছে না: এটি ডাটাবেজ থেকে হারিয়ে গিয়েছে!",
        "revdelete-edit-reasonlist": "অপসারণের কারণ সম্পাদনা",
        "revdelete-offender": "সংশোধন লেখক:",
        "suppressionlog": "দমন লগ",
-       "suppressionlogtext": "নিà¦\9aà§\87র à¦¤à¦¾à¦²à¦¿à¦\95ায় à¦ªà§\8dরশাসà¦\95দà§\87র à¦¥à§\87à¦\95à§\87 à¦²à§\81à¦\95ানà§\8b à¦°à¦¯à¦¼à§\87à¦\9bà§\87 à¦\8fমন à¦¤à¦¥à§\8dযসহ à¦\85নà§\8dযনà§\8dয অপসারণ এবং বাধাদানের লগ রয়েছে।\nঅনুগ্রহ করে অস্থায়ী ব্যান এবং বাধাদানের লগ সম্পর্কে বিস্তারিত জানতে [[Special:BlockList|বাধাদানের লগ দেখুন]]।",
+       "suppressionlogtext": "নিà¦\9aà§\87র à¦¤à¦¾à¦²à¦¿à¦\95ায় à¦ªà§\8dরশাসà¦\95দà§\87র à¦\95াà¦\9b à¦¥à§\87à¦\95à§\87 à¦²à§\81à¦\95ানà§\8b à¦°à¦¯à¦¼à§\87à¦\9bà§\87 à¦\8fমন à¦¤à¦¥à§\8dযসহ অপসারণ এবং বাধাদানের লগ রয়েছে।\nঅনুগ্রহ করে অস্থায়ী ব্যান এবং বাধাদানের লগ সম্পর্কে বিস্তারিত জানতে [[Special:BlockList|বাধাদানের লগ দেখুন]]।",
        "mergehistory": "পাতার ইতিহাসগুলি একত্র করা হোক",
        "mergehistory-header": "এই পাতাটির মাধ্যমে আপনি একটি উৎস পাতার ইতিহাস একটি নতুনতর পাতার সাথে একত্র করতে পারবেন।\nপাতার ইতিহাসের পারম্পর্য যেন রক্ষা পায়, সে ব্যাপারটি নিশ্চিত করুন।",
        "mergehistory-box": "দুইটি পাতার একত্রীকরণ সংশোধনগুলি:",
        "mergehistory-fail-no-change": "ইতিহাস একত্রীকরণ কোন পুনর্বিবেচনা একত্রিত করে না। দয়া করে পাতা এবং সময় পরামিতি আবার পরীক্ষা করুন।",
        "mergehistory-fail-permission": "ইতিহাস একত্রীকরণের জন্য পর্যাপ্ত অনুমতি নেই।",
        "mergehistory-fail-self-merge": "উৎস এবং গন্তব্য পাতা একই।",
+       "mergehistory-fail-timestamps-overlap": "উৎসের সংশোধনগুলি হয় সম্পূর্ণ আলাদা নয় অথবা ঈপ্সিত সংশোধনগুলির পরে এসেছে।",
        "mergehistory-fail-toobig": "ইতিহাস থেকে আগের পাতাগুলো একীকরণ সম্ভব নয়, কারণ এর ফলে সর্বোচ্চ $1 টি {{PLURAL:$1|সংস্করণ}} স্থানান্তরের সীমানা অতিক্রম করবে।",
        "mergehistory-no-source": "$1 বলে কোন উৎস পাতার অস্তিত্ব নেই।",
        "mergehistory-no-destination": "$1 বলে কোন গন্তব্য পাতার অস্তিত্ব নেই।",
        "mergehistory-invalid-source": "উৎস পাতার অবশ্যই একটি বৈধ শিরোনাম থাকতে হবে।",
        "mergehistory-invalid-destination": "গন্তব্য পাতার একটি বৈধ শিরোনাম থাকতে হবে।",
-       "mergehistory-autocomment": "[[:$1]] à¦\95à§\87 [[:$2]] -à¦\8f à¦\8fà¦\95তà§\8dরà§\80ত করা হয়েছে",
-       "mergehistory-comment": "[[:$1]] à¦\95à§\87 [[:$2]] -à¦\8f à¦\8fà¦\95তà§\8dরà§\80ত করা হয়েছে: $3",
+       "mergehistory-autocomment": "[[:$1]] à¦ªà¦¾à¦¤à¦¾à¦\9fিà¦\95à§\87 [[:$2]] à¦ªà¦¾à¦¤à¦¾à¦\9fির à¦¸à¦¾à¦¥à§\87 à¦\8fà¦\95তà§\8dরিত করা হয়েছে",
+       "mergehistory-comment": "[[:$1]] à¦ªà¦¾à¦¤à¦¾à¦\9fিà¦\95à§\87 [[:$2]] à¦ªà¦¾à¦¤à¦¾à¦\9fির à¦¸à¦¾à¦¥à§\87 à¦\8fà¦\95তà§\8dরিত করা হয়েছে: $3",
        "mergehistory-same-destination": "উৎস এবং গন্তব্য পাতা একই হতে পারবে না",
        "mergehistory-reason": "কারণ:",
        "mergelog": "একত্রীকরণ লগ",
        "revertmerge": "একত্রীকরণ বাতিল",
        "mergelogpagetext": "নিচে সবচেয়ে সাম্প্রতিক ঘটা এক পাতার ইতিহাসের সাথে অন্য পাতার ইতিহাসের একত্রীকরণের একটি তালিকা দেওয়া হল।",
-       "history-title": "\"$1\" à¦\8fর সংশোধনের ইতিহাস",
-       "difference-title": "\"$1\"-এর বিভিন্ন সংস্করণের মধ্যে পার্থক্য",
-       "difference-title-multipage": "\"$1\" ও \"$2\"-পাতার মধ্যে পার্থক্য",
-       "difference-multipage": "পাতাà¦\97à§\81লà§\8bর মধ্যে পার্থক্য",
+       "history-title": "\"$1\" à¦ªà¦¾à¦¤à¦¾à¦\9fির সংশোধনের ইতিহাস",
+       "difference-title": "\"$1\" পাতাটির দুইটি সংশোধিত সংস্করণের মধ্যে পার্থক্য",
+       "difference-title-multipage": "\"$1\" ও \"$2\" শিরোনামের পাতাগুলির মধ্যে পার্থক্য",
+       "difference-multipage": "পাতাà¦\97à§\81লির মধ্যে পার্থক্য",
        "lineno": "$1 নং লাইন:",
-       "compareselectedversions": "নিরà§\8dবাà¦\9aিত à¦¸à¦\82সà§\8dà¦\95রণà¦\97à§\81লà§\8b à¦¤à§\81লনা à¦\95রà§\8b",
-       "showhideselectedversions": "নিরà§\8dবাà¦\9aিত à¦¸à¦\82শà§\8bধনà¦\97à§\81লà§\8b দেখাও/লুকাও",
-       "editundo": "পà§\82রà§\8dবাবসà§\8dথায় à¦\86নà§\8b",
+       "compareselectedversions": "নিরà§\8dবাà¦\9aিত à¦¸à¦\82শà§\8bধিত à¦¸à¦\82সà§\8dà¦\95রণà¦\97à§\81লির à¦¤à§\81লনা",
+       "showhideselectedversions": "নিরà§\8dবাà¦\9aিত à¦¸à¦\82শà§\8bধনà¦\97à§\81লি দেখাও/লুকাও",
+       "editundo": "পà§\82রà§\8dবাবসà§\8dথায় à¦«à§\87রত",
        "diff-empty": "(কোন পার্থক্য নেই)",
        "diff-multi-sameuser": "(একই ব্যবহারকারী দ্বারা সম্পাদিত {{PLURAL:$1|একটি মধ্যবর্তী সংশোধন|$1টি মধ্যবর্তী সংশোধন}} দেখানো হচ্ছে না)",
        "diff-multi-otherusers": "({{PLURAL:$2|একজন|$2 জন}} ব্যবহারকারী দ্বারা সম্পাদিত {{PLURAL:$1|একটি|$1টি}} মধ্যবর্তী সংশোধন দেখানো হচ্ছে না)",
-       "diff-multi-manyusers": "($2 জন {{PLURAL:$2|ব্যবহারাকারীর}} সম্পাদিত {{PLURAL:$1|একটি সাম্প্রতিক সংস্করণ|$1 টি সাম্প্রতিক সংস্করণ}} প্রদর্শিত হচ্ছে না)",
-       "difference-missing-revision": "$1 পার্থক্যের {{PLURAL:$2|একটি সংস্করণ|$2টি সংস্করণ}} খুঁজে পাওয়া যাচ্ছে না।\n\nসাধারণত মুছে ফেলা হয়েছে এমন পাতার মেয়াদ উত্তীর্ণ ইতিহাস পাতার লিংক খোলার কারণে এটি হতে পারে। \n[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} অপসারণ লগে] বিস্তারিত তথ্য জানা যাবে।",
+       "diff-multi-manyusers": "($2 জনের বেশি {{PLURAL:$2|ব্যবহারকারীর}} সম্পাদিত {{PLURAL:$1|একটি মধ্যবর্তী সংশোধন|$1টি মধ্যবর্তী সংশোধন}} প্রদর্শিত হচ্ছে না)",
+       "difference-missing-revision": "এই পার্থক্যের ($1) অন্তর্গত {{PLURAL:$2|একটি সংশোধিত সংস্করণ|$2টি সংশোধিত সংস্করণ}} খুঁজে পাওয়া যাচ্ছে না।\n\nসাধারণত মুছে ফেলা হয়েছে এমন পাতার মেয়াদ উত্তীর্ণ ইতিহাস পাতার লিংক খোলার কারণে এটি হতে পারে। \n[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} পাতা অবলুপ্তি লগে] বিস্তারিত তথ্য জানা যাবে।",
        "searchresults": "অনুসন্ধানের ফলাফল",
        "searchresults-title": "\"$1\" অনুসন্ধানের ফলাফল",
        "titlematches": "নিবন্ধের শিরোনাম মিলেছে",
        "textmatches": "পাতার লেখার সাথে মিলেছে",
-       "notextmatches": "কোন পাতার লেখার সাথে মিলে নেই",
+       "notextmatches": "কোন পাতার লেখার সাথে মিলেনি",
        "prevn": "পূর্ববর্তী {{PLURAL:$1|$1}}টি",
        "nextn": "পরবর্তী {{PLURAL:$1|$1}}টি",
        "prev-page": "পূর্ববর্তী পাতা",
        "shown-title": "প্রতি পাতায় $1টি {{PLURAL:$1|ফলাফল}} দেখাও",
        "viewprevnext": "($1 {{int:pipe-separator}} $2) ($3) দেখানো হোক।",
        "searchmenu-exists": "'''এই উইকিতে \"[[:$1]]\" নামে একটি পাতা রয়েছে'''",
-       "searchmenu-new": "<strong>\"[[:$1]]\" পাতাটি এই উইকিতে তৈরি করুন!</strong> {{PLURAL:$2|0=|এছাড়া আপনার অনুসন্ধানের সাথে পাওয়া পাতা দেখুন।|এছাড়া অনুসন্ধানে পাওয়া ফলাফলগুলি দেখুন।}}",
-       "searchprofile-articles": "বিষয়বসà§\8dতà§\81র পাতা",
+       "searchmenu-new": "<strong>\"[[:$1]]\" পাতাটি এই উইকিতে তৈরি করুন!</strong> {{PLURAL:$2|0=|এছাড়া আপনার অনুসন্ধানের সাথে পাওয়া পাতাটি দেখুন।|এছাড়া অনুসন্ধানে পাওয়া ফলাফলগুলিও দেখুন।}}",
+       "searchprofile-articles": "বিষয়বসà§\8dতà§\81সমà§\83দà§\8dধ পাতা",
        "searchprofile-images": "মাল্টিমিডিয়া",
        "searchprofile-everything": "সমস্তকিছু",
-       "searchprofile-advanced": "à¦\89à¦\9aà§\8dà¦\9aতর",
+       "searchprofile-advanced": "à¦\89নà§\8dনততর à¦\85নà§\81সনà§\8dধান",
        "searchprofile-articles-tooltip": "$1 এ অনুসন্ধান",
        "searchprofile-images-tooltip": "ফাইলের জন্য অনুসন্ধান",
-       "searchprofile-everything-tooltip": "সà¦\95ল à¦¬à¦¿à¦·à¦¯à¦¼à¦¬à¦¸à§\8dতà§\81 à¦\85নà§\81সনà§\8dধান à¦\95রà§\8b (à¦\86লাপà§\87র à¦ªà¦¾à¦¤à¦¾ সহ)",
-       "searchprofile-advanced-tooltip": "সà§\8dবনিরà§\8dধারিত à¦¨à¦¾à¦®à¦¸à§\8dথানà§\87 à¦\85নà§\81সনà§\8dধান à¦\95রà§\8b",
+       "searchprofile-everything-tooltip": "সà¦\95ল à¦¬à¦¿à¦·à¦¯à¦¼à¦¬à¦¸à§\8dতà§\81 à¦\85নà§\81সনà§\8dধান à¦\95রা à¦¹à§\8bà¦\95 (à¦\86লাপà§\87র à¦ªà¦¾à¦¤à¦¾সহ)",
+       "searchprofile-advanced-tooltip": "সà§\8dবনিরà§\8dধারিত à¦¨à¦¾à¦®à¦¸à§\8dথানà§\87 à¦\85নà§\81সনà§\8dধান à¦\95রা à¦¹à§\8bà¦\95",
        "search-result-size": "$1 ({{PLURAL:$2|১টি শব্দ|$2টি শব্দ}})",
-       "search-result-category-size": "{{PLURAL:$1 |১টি সদস্য |$1টি সদস্য}} ({{PLURAL:$2 |১টি উপবিষয়শ্রেণী|$2টি উপবিষয়শ্রেণী}}, {{PLURAL:$3 |১টি ফাইল |$3টি ফাইল}})",
+       "search-result-category-size": "{{PLURAL:$1|১টি সদস্য|$1টি সদস্য}} ({{PLURAL:$2|১টি উপবিষয়শ্রেণী|$2টি উপবিষয়শ্রেণী}}, {{PLURAL:$3|১টি ফাইল |$3টি ফাইল}})",
        "search-redirect": "($1 থেকে পুনর্নির্দেশিত)",
-       "search-section": "(অনুচ্ছেদ $1)",
-       "search-category": "(বিষয়শ্রেণী $1)",
-       "search-file-match": "(নথির à¦¬à¦¿à¦·à¦¯à¦¼à¦¬à¦¸à§\8dতà§\81 মিলে যায়)",
-       "search-suggest": "à¦\86পনি à¦¸à¦®à§\8dভবত à¦¬à§\81à¦\9dাতà§\87 à¦\9aাà¦\87à¦\9bà§\87ন: $1",
-       "search-rewritten": "$1-এর জন্য ফলাফল দেখানো হচ্ছে। এর পরিবর্তে $2-এর জন্য অনুসন্ধান করুন।",
+       "search-section": "($1 পরিচ্ছেদ)",
+       "search-category": "($1 বিষয়শ্রেণী)",
+       "search-file-match": "(ফাà¦\87লà§\87র à¦¬à¦¿à¦·à¦¯à¦¼à¦¬à¦¸à§\8dতà§\81র à¦¸à¦¾à¦¥à§\87 মিলে যায়)",
+       "search-suggest": "à¦\86পনি à¦\95ি \"$1\" à¦¬à§\8bà¦\9dাতà§\87 à¦\9aাà¦\9aà§\8dà¦\9bà§\87ন?",
+       "search-rewritten": "$1-à¦\8fর à¦\9cনà§\8dয à¦\85নà§\81সনà§\8dধানà§\87র à¦«à¦²à¦¾à¦«à¦² à¦¦à§\87à¦\96ানà§\8b à¦¹à¦\9aà§\8dà¦\9bà§\87। à¦\8fর à¦ªà¦°à¦¿à¦¬à¦°à§\8dতà§\87 $2-à¦\8fর à¦\9cনà§\8dয à¦\85নà§\81সনà§\8dধান à¦\95রà§\81ন।",
        "search-interwiki-caption": "সহপ্রকল্পসমূহ",
-       "search-interwiki-default": "$1 থেকে ফলাফলসমূহ:",
+       "search-interwiki-default": "$1 à¦¥à§\87à¦\95à§\87 à¦ªà§\8dরাপà§\8dত à¦«à¦²à¦¾à¦«à¦²à¦¸à¦®à§\82হ:",
        "search-interwiki-more": "(আরও)",
        "search-interwiki-more-results": "আরও ফলাফল",
        "search-relatedarticle": "সম্পর্কিত",
        "searchall": "সমস্ত",
        "showingresults": "নিচে '''$2''' নং থেকে শুরু করে {{PLURAL:$1|'''1''' ফলাফল|'''$1''' ফলাফলসমূহ}} দেখানো হল।",
        "showingresultsinrange": "#<strong>$2</strong> থেকে #<strong>$3</strong> পরিসীমার মধ্যে {{PLURAL:$1|<strong>১টি</strong> ফলাফল|<strong>$1টি</strong> ফলাফল}} নিচে দেখানো হচ্ছে।",
-       "search-showingresults": "{{PLURAL:$4|<strong>$3</strong>-এর মধ্যে <strong>$1</strong>টি ফলাফল|<strong>$3</strong>-এর মধ্যে <strong>$1 - $2</strong>টি ফলাফল}}",
-       "search-nonefound": "à¦\96à§\8bà¦\81à¦\9cà¦\95à§\83ত à¦ªà¦¾à¦¤ার সাথে মিলে যায় এমন কোনো ফলাফল নেই।",
-       "search-nonefound-thiswiki": "à¦\96à§\8bà¦\81à¦\9c à¦\95রার সাথে মিলে যায় এমন কোনো ফলাফল এই সাইটে নেই।",
-       "powersearch-legend": "উন্নত অনুসন্ধান",
-       "powersearch-ns": "নামসà§\8dথানà§\87 à¦\85নà§\81সনà§\8dধান à¦\95রà§\8b:",
-       "powersearch-togglelabel": "পরà§\80à¦\95à§\8dষা:",
-       "powersearch-toggleall": "সà¦\95ল",
-       "powersearch-togglenone": "à¦\95িà¦\9bà§\81 নয়",
-       "powersearch-remember": "ভবিষà§\8dযত à¦\85নà§\81সনà§\8dধানà¦\97à§\81লির à¦\9cনà§\8dয à¦¨à¦¿à¦°à§\8dবাà¦\9aন à¦®à¦¨à§\87 à¦°à¦¾à¦\96à§\81ন",
+       "search-showingresults": "মোট {{PLURAL:$4|<strong>$3</strong>টি ফলাফলের মধ্যে <strong>$1</strong>টি ফলাফল|মোট <strong>$3</strong>টি ফলাফলের মধ্যে <strong>$1 - $2</strong> নং ফলাফল}}",
+       "search-nonefound": "à¦\85নà§\81সনà§\8dধানà¦\95à§\83ত à¦\9cিà¦\9cà§\8dà¦\9eাসার সাথে মিলে যায় এমন কোনো ফলাফল নেই।",
+       "search-nonefound-thiswiki": "à¦\85নà§\81সনà§\8dধানà¦\95à§\83ত à¦\9cিà¦\9cà§\8dà¦\9eাসার সাথে মিলে যায় এমন কোনো ফলাফল এই সাইটে নেই।",
+       "powersearch-legend": "উন্নততর অনুসন্ধান",
+       "powersearch-ns": "নিà¦\9aà§\87র à¦¨à¦¿à¦°à§\8dবাà¦\9aিত à¦¨à¦¾à¦®à¦¸à§\8dথানà¦\97à§\81লিতà§\87 à¦\85নà§\81সনà§\8dধান à¦\95রা à¦¹à§\8bà¦\95:",
+       "powersearch-togglelabel": "নিরà§\8dবাà¦\9aন à¦\95রা à¦¹à§\8bà¦\95:",
+       "powersearch-toggleall": "সবà¦\97à§\81লি",
+       "powersearch-togglenone": "à¦\95à§\8bনà¦\9fিà¦\87 নয়",
+       "powersearch-remember": "ভবিষà§\8dযত à¦\85নà§\81সনà§\8dধানà¦\97à§\81লির à¦\9cনà§\8dয à¦¨à¦¿à¦°à§\8dবাà¦\9aন à¦®à¦¨à§\87 à¦°à¦¾à¦\96া à¦¹à§\8bà¦\95",
        "search-external": "বহিঃস্থ অনুসন্ধান",
        "searchdisabled": "{{SITENAME}} অনুসন্ধান এখন নিষ্ক্রিয় আছে। আপনি গুগলের মাধ্যমে অনুসন্ধান চালাতে পারেন। লক্ষ্য করুন যে {{SITENAME}}-এর বিষয়বস্তুর উপর গুগলের ইন্ডেক্সগুলি হালনাগাদ না-ও করা থাকতে পারে।",
-       "search-error": "অনুসন্ধানের সময় একটি ত্রুটি হয়েছে: $1",
-       "search-warning": "অনুসন্ধানের সময় একটি সতর্কীকরণ দেখিয়েছে: $1",
+       "search-error": "à¦\85নà§\81সনà§\8dধানà§\87র à¦¸à¦®à¦¯à¦¼ à¦\8fà¦\95à¦\9fি à¦¤à§\8dরà§\81à¦\9fি à¦\89à§\8eপনà§\8dন à¦¹à¦¯à¦¼à§\87à¦\9bà§\87: $1",
+       "search-warning": "অনুসন্ধানের সময় একটি সতর্ক বার্তা উৎপন্ন হয়েছে: $1",
        "preferences": "আমার পছন্দ",
        "mypreferences": "পছন্দসমূহ",
        "prefs-edits": "সম্পাদনা সংখ্যা:",
-       "prefsnologintext2": "à¦\86পনার à¦ªà¦\9bনà§\8dদসমà§\82হ à¦ªà¦°à¦¿à¦¬à¦°à§\8dতন à¦\95রতে প্রবেশ করুন।",
+       "prefsnologintext2": "à¦\86পনার à¦ªà¦\9bনà§\8dদà¦\97à§\81লি à¦ªà¦°à¦¿à¦¬à¦°à§\8dতন à¦\95রতà§\87 à¦\85নà§\81à¦\97à§\8dরহ à¦\95রà§\87 à¦\85à§\8dযাà¦\95াà¦\89নà§\8dà¦\9fে প্রবেশ করুন।",
        "prefs-skin": "আবরণ",
        "skin-preview": "প্রাকদর্শন",
        "datedefault": "কোন পছন্দ নেই",
-       "prefs-labs": "পরà§\80à¦\95à§\8dষাà¦\97ার à¦¬à§\88শিষà§\8dà¦\9fসমূহ",
+       "prefs-labs": "পরà§\80à¦\95à§\8dষাà¦\97ার à¦¸à§\81বিধাসমূহ",
        "prefs-user-pages": "ব্যবহারকারীর পাতা",
        "prefs-personal": "ব্যবহারকারীর বৃত্তান্ত",
        "prefs-rc": "সাম্প্রতিক পরিবর্তনসমূহ",
        "prefs-watchlist": "নজরতালিকা",
-       "prefs-editwatchlist": "নজরতালিকা সম্পাদনা করো",
+       "prefs-editwatchlist": "নজরতালিকা সম্পাদনা",
        "prefs-editwatchlist-label": "আপনার নজরতালিকার ভুক্তিসমূহ সম্পাদনা করুন:",
-       "prefs-editwatchlist-edit": "আপনার নজরতালিকায় থাকা শিরোনাম দেখুন ও সরান",
+       "prefs-editwatchlist-edit": "আপনার নজরতালিকায় থাকা শিরোনামগুলি দেখুন ও সরিয়ে ফেলুন",
        "prefs-editwatchlist-raw": "অশোধিত নজরতালিকা সম্পাদনা করুন",
-       "prefs-editwatchlist-clear": "নà¦\9cরতালিà¦\95া à¦ªà¦°à¦¿à¦¸à§\8dà¦\95ার করুন",
-       "prefs-watchlist-days": "যত দিনের নজরতালিকা দেখানো হবে:",
+       "prefs-editwatchlist-clear": "নà¦\9cরতালিà¦\95া à¦\96ালি করুন",
+       "prefs-watchlist-days": "যতসংখ্যক দিনের নজরতালিকা দেখানো হবে:",
        "prefs-watchlist-days-max": "সর্বোচ্চ $1 {{PLURAL:$1|দিন|দিন}}",
-       "prefs-watchlist-edits": "সম্প্রসারিত নজর তালিকায় সর্বোচ্চ সংখ্যার পরিবর্তন দেখানোর জন্য:",
-       "prefs-watchlist-edits-max": "সরà§\8dবà§\8bà¦\9aà§\8dà¦\9a à¦¨à¦®à§\8dবর: ১০০০",
+       "prefs-watchlist-edits": "সম্প্রসারিত নজরতালিকায় প্রদর্শিত পরিবর্তনের সর্বোচ্চ সংখ্যা:",
+       "prefs-watchlist-edits-max": "সরà§\8dবà§\8bà¦\9aà§\8dà¦\9a à¦¸à¦\82à¦\96à§\8dযা: ১০০০",
        "prefs-watchlist-token": "নজরতালিকা টোকেন:",
        "prefs-misc": "বিবিধ",
        "prefs-resetpass": "পাসওয়ার্ড পরিবর্তন",
        "prefs-changeemail": "ইমেইল ঠিকানা পরিবর্তন বা বাতিল করুন",
-       "prefs-setemail": "একটি ই-মেইল ঠিকানা নির্ধারণ করুন",
-       "prefs-email": "ই-মেইল অপশন",
+       "prefs-setemail": "একটি ইমেইল ঠিকানা নির্ধারণ করুন",
+       "prefs-email": "ইমেইল-সংক্রান্ত পছন্দগুলি",
        "prefs-rendering": "অবয়ব",
        "saveprefs": "সংরক্ষণ",
-       "restoreprefs": "সà¦\95ল à¦ªà§\82রà§\8dবনিরà§\8dধারিত à¦¸à§\87à¦\9fিà¦\82 à¦«à¦¿à¦°à¦¿à¦¯à¦¼à§\87 à¦\86নà§\8b (সà¦\95ল à¦\85নà§\81à¦\9aà§\8dà¦\9bà§\87দে)",
+       "restoreprefs": "সà¦\95ল à¦ªà§\82রà§\8dবনিরà§\8dধারিত à¦¸à§\87à¦\9fিà¦\82 à¦«à¦¿à¦°à¦¿à¦¯à¦¼à§\87 à¦\86নà§\8b (সà¦\95ল à¦\85à¦\82শে)",
        "prefs-editing": "সম্পাদনা",
        "searchresultshead": "অনুসন্ধান",
-       "stub-threshold": "à¦\85সমà§\8dপà§\82রà§\8dণ à¦²à¦¿à¦\99à§\8dà¦\95 à¦¬à¦¿à¦¨à§\8dযাসà§\87র à¦\9cনà§\8dয à¦ªà§\8dরানà§\8dতিà¦\95 à¦®à¦¾à¦ª ($1):",
+       "stub-threshold": "à¦\85সমà§\8dপà§\82রà§\8dণ à¦¨à¦¿à¦¬à¦¨à§\8dধà§\87র à¦¸à¦\82যà§\8bà¦\97 à¦«à¦°à¦®à§\8dযাà¦\9fিà¦\82-à¦\8fর à¦\9cনà§\8dয à¦\8fরà¦\95ম à¦¨à¦¿à¦¬à¦¨à§\8dধà§\87র à¦\86à¦\95ারà§\87র à¦ªà§\8dরানà§\8dতসà§\80মা ($1):",
        "stub-threshold-sample-link": "নমুনা",
        "stub-threshold-disabled": "নিস্ক্রিয়",
-       "recentchangesdays": "সাম্প্রতিক পরিবর্তনে দিনসমূহ দেখানোর জন্য:",
-       "recentchangesdays-max": "সর্বোচ্চ $1 {{PLURAL:$1|দিন|দিন}}",
-       "recentchangescount": "সাম্প্রতিক পরিবর্তনে প্রদর্শিত সম্পাদনার সংখ্যা:",
-       "prefs-help-recentchangescount": "à¦\8fতà§\87 à¦¸à¦¾à¦®à§\8dপà§\8dরতিà¦\95 à¦ªà¦°à¦¿à¦¬à¦°à§\8dতনসমà§\82হ, à¦ªà¦¾à¦¤à¦¾à¦° à¦\87তিহাস à¦\8fবà¦\82 à¦²à¦\97 অন্তর্ভুক্ত।",
-       "prefs-help-watchlist-token2": "à¦\8fà¦\9fি à¦\86পনার à¦¨à¦\9cরতালিà¦\95ার à¦\93য়à§\87ব à¦«à¦¿à¦¡à§\87র à¦\97à§\8bপন à¦\9aাবি। à¦¯à§\87 à¦\95à§\87à¦\89 à¦¯à¦¿à¦¨à¦¿ à¦\8fà¦\9fা à¦\9cানà§\87ন তিনি আপনার নজরতালিকা পড়তে সক্ষম হবেন, তাই এটি প্রকাশ করবেন না। [[Special:ResetTokens|আপনার এটি পুনঃনির্ধারণ করার প্রয়োজন হলে এখানে ক্লিক করুন]]।",
-       "savedprefs": "à¦\86পনার à¦ªà¦\9bনà§\8dদà¦\97à§\81লà§\8b সংরক্ষণ করা হয়েছে।",
+       "recentchangesdays": "সাম্প্রতিক পরিবর্তন পাতায় প্রদর্শিত দিনের সংখ্যা:",
+       "recentchangesdays-max": "সর্বোচ্চ $1 {{PLURAL:$1|দিনের}} সাম্প্রতিক পরিবর্তন প্রদর্শনযোগ্য",
+       "recentchangescount": "সামà§\8dপà§\8dরতিà¦\95 à¦ªà¦°à¦¿à¦¬à¦°à§\8dতনà§\87 à¦ªà§\8dরদরà§\8dশিত à¦¸à¦®à§\8dপাদনার à¦ªà§\82রà§\8dবনিরà§\8dধারিত à¦¸à¦\82à¦\96à§\8dযা:",
+       "prefs-help-recentchangescount": "à¦\8fতà§\87 à¦¸à¦¾à¦®à§\8dপà§\8dরতিà¦\95 à¦ªà¦°à¦¿à¦¬à¦°à§\8dতনà¦\97à§\81লি, à¦ªà¦¾à¦¤à¦¾à¦° à¦\87তিহাসà¦\97à§\81লি à¦\8fবà¦\82 à¦²à¦\97à¦\97à§\81লি অন্তর্ভুক্ত।",
+       "prefs-help-watchlist-token2": "à¦\8fà¦\9fি à¦\86পনার à¦¨à¦\9cরতালিà¦\95ার à¦\93য়à§\87ব à¦«à¦¿à¦¡à§\87র à¦\97à§\8bপন à¦\9aাবি। à¦\95à§\87à¦\89 à¦¯à¦¦à¦¿ à¦\8fà¦\9fি à¦\9cানতà§\87 à¦ªà¦¾à¦°à§\87ন, à¦¤à¦¾à¦¹à¦²à§\87 তিনি আপনার নজরতালিকা পড়তে সক্ষম হবেন, তাই এটি প্রকাশ করবেন না। [[Special:ResetTokens|আপনার এটি পুনঃনির্ধারণ করার প্রয়োজন হলে এখানে ক্লিক করুন]]।",
+       "savedprefs": "à¦\86পনার à¦ªà¦\9bনà§\8dদà¦\97à§\81লি সংরক্ষণ করা হয়েছে।",
        "savedrights": "{{GENDER:$1|$1}}-এর ব্যবহারকারী দল সংরক্ষিত হয়েছে।",
-       "timezonelegend": "সময়স্থান:",
+       "timezonelegend": "সময় অঞ্চল:",
        "localtime": "স্থানীয় সময়:",
        "timezoneuseserverdefault": "উইকির পূর্বনির্ধারিত সময় ব্যবহার করো ($1)",
        "timezoneuseoffset": "অন্য (অফসেট নির্দিষ্ট করুন)",
        "prefs-signature": "স্বাক্ষর",
        "prefs-dateformat": "তারিখ বিন্যাস",
        "prefs-timeoffset": "সময় অফসেট",
-       "prefs-advancedediting": "সাধারণ à¦\85পশন",
+       "prefs-advancedediting": "সাধারণ à¦ªà¦\9bনà§\8dদà¦\97à§\81লি",
        "prefs-editor": "সম্পাদক",
        "prefs-preview": "প্রাকদর্শন",
-       "prefs-advancedrc": "à¦\89à¦\9aà§\8dà¦\9aতর à¦\85পশন",
+       "prefs-advancedrc": "à¦\89à¦\9aà§\8dà¦\9aতর à¦ªà¦\9bনà§\8dদà¦\97à§\81লি",
        "prefs-advancedrendering": "উচ্চতর অপশন",
-       "prefs-advancedsearchoptions": "à¦\89à¦\9aà§\8dà¦\9aতর à¦\85পশন",
+       "prefs-advancedsearchoptions": "à¦\89à¦\9aà§\8dà¦\9aতর à¦ªà¦\9bনà§\8dদà¦\97à§\81লি",
        "prefs-advancedwatchlist": "উচ্চতর অপশন",
-       "prefs-displayrc": "প্রদর্শনী অপশন",
+       "prefs-displayrc": "প্রদর্শনীর পছন্দগুলি",
        "prefs-displaywatchlist": "প্রদর্শনী অপশন",
        "prefs-tokenwatchlist": "টোকেন",
        "prefs-diffs": "পার্থক্য",
        "prefs-help-prefershttps": "পরবর্তী প্রবেশের পর থেকে এই পরিবর্তনগুলো কার্যকর হবে।",
        "prefswarning-warning": "আপানি পছন্দসমূহ পাতায় পাতায় পরিবর্তন করেছেন যেগুলো সংরক্ষণ করা হয়নি। আপনি যদি এই পাতাটি ছেড়ে যাওয়ার আগে \"$1\" ক্লিক না করেন তবে পছন্দসমূহ হালনাগাদ হবে না।",
        "prefs-tabs-navigation-hint": "সাহায্য: আপনি ডান এবং বাম অ্যারো বাটন ব্যবহার করে বিভিন্ন ট্যাবগুলোতে যেতে পারবেন।",
-       "userrights": "ব্যবহারকারী অধিকার ব্যবস্থাপনা",
+       "userrights": "ব্যবহারকারী অধিকার",
        "userrights-lookup-user": "একজন ব্যবহারকারী নির্বাচন করুন",
        "userrights-user-editname": "ব্যবহারকারীর নাম লিখুন:",
        "editusergroup": "ব্যবহারকারী দল লোড করুন",
        "userrights-expiry-options": "১ দিন:1 day,১ সপ্তাহ:1 week,১ মাস:1 month,৩ মাস:3 months,৬ মাস:6 months,১ বছর:1 year",
        "userrights-invalid-expiry": "\"$1\" দলের জন্য মেয়াদোত্তীর্ণের সময় অবৈধ।",
        "userrights-expiry-in-past": "\"$1\" দলের জন্য মেয়াদোত্তীর্ণের সময় অতীতে।",
+       "userrights-cannot-shorten-expiry": "\"$1\" দলটির মেয়াদোত্তীর্ণ হবার সময় ও তারিখ আপনি পূর্ববর্তী কোন সময়ে এগিয়ে নিয়ে আসতে পারবেন না। যেসব ব্যবহারকারীর এই দলটি যোগ বা অপসারণ করার অনুমতি আছে, কেবল তারাই মেয়াদোত্তীর্ণ হবার সময় ও তারিখ এগিয়ে নিয়ে আসতে পারবেন।",
        "userrights-conflict": "ব্যবহারকারী অধিকার দ্বন্দ্ব! অনুগ্রহ করে নিশ্চিত হোন এবং পুনরায় চেষ্টা করুন।",
        "group": "দল:",
        "group-user": "ব্যবহারকারীগণ",
        "grouppage-sysop": "{{ns:project}}:প্রশাসক",
        "grouppage-bureaucrat": "{{ns:project}}:ব্যুরোক্র্যাট",
        "grouppage-suppress": "{{ns:project}}:দমনকারী",
-       "right-read": "পাতাসমà§\82হ à¦ªà¦¡à¦¼à§\81ন",
-       "right-edit": "পাতা à¦¸à¦®à§\8dপাদনা à¦\95রà§\81ন",
-       "right-createpage": "পাতা à¦¤à§\88রি à¦\95রà§\8b (à¦\86লাপà§\87র à¦ªà¦¾à¦¤à¦¾ à¦¨à¦¯à¦¼)",
-       "right-createtalk": "à¦\86লà§\8bà¦\9aনা à¦ªà¦¾à¦¤à¦¾ à¦¤à§\88রি à¦\95রà§\81ন",
+       "right-read": "যà§\87à¦\95à§\8bন à¦ªà¦¾à¦¤à¦¾ à¦ªà¦¡à¦¼à¦¾",
+       "right-edit": "পাতা à¦¸à¦®à§\8dপাদনা à¦\95রা",
+       "right-createpage": "à¦\86লাপ à¦ªà¦¾à¦¤à¦¾ à¦¨à¦¯à¦¼, à¦\8fমন à¦ªà¦¾à¦¤à¦¾ à¦¤à§\88রি à¦\95রা",
+       "right-createtalk": "à¦\86লাপ à¦ªà¦¾à¦¤à¦¾ à¦¤à§\88রি à¦\95রা",
        "right-createaccount": "নতুন ব্যবহারকারীর অ্যাকাউন্ট তৈরি করুন",
        "right-autocreateaccount": "স্বয়ংক্রিয়ভাবে একটি বাহ্যিক ব্যবহারকারী অ্যাকাউন্ট দিয়ে প্রবেশ করুন",
-       "right-minoredit": "à¦\85নà§\81লà§\8dলà§\87à¦\96à§\8dয à¦¸à¦®à§\8dপাদনা à¦¹à¦¿à¦¸à§\87বà§\87 à¦\9aিহà§\8dনিত",
+       "right-minoredit": "à¦\95à§\8bনà¦\93 à¦¸à¦®à§\8dপাদনা à¦\85নà§\81লà§\8dলà§\87à¦\96à§\8dয à¦¹à¦¿à¦¸à§\87বà§\87 à¦\9aিহà§\8dনিত à¦\95রা",
        "right-move": "পাতা সরান",
        "right-move-subpages": "পাতাগুলোকে তার উপপাতাসহ সরিয়ে নিন",
        "right-move-rootuserpages": "root ব্যবহারকারীর পাতাগুলো সরিয়ে ফেলুন",
        "right-suppressredirect": "পাতা স্থানান্তরের সময় মূল পাতা থেকে পুনর্নির্দেশ তৈরী করছে না",
        "right-upload": "ফাইল আপলোড করুন",
        "right-reupload": "বিদ্যমান ফাইল প্রতিস্থাপন করো",
-       "right-reupload-own": "à¦\95ারà¦\93 à¦\86পলà§\8bডà¦\95à§\83ত à¦«à¦¾à¦\87ল à¦\93ভাররাà¦\87à¦\9f à¦\95রà§\81ন",
+       "right-reupload-own": "নিà¦\9cà§\87র à¦¦à§\8dবারা à¦\86পলà§\8bডà¦\95à§\83ত à¦«à¦¾à¦\87ল à¦¯à¦¾ à¦\87তিমধà§\8dযà§\87à¦\87 à¦¬à¦¿à¦¦à§\8dযমান, à¦¸à§\87à¦\9fি à¦®à§\81à¦\9bà§\87 à¦ªà§\81নরায় à¦¨à¦¤à§\81ন à¦\95রà§\87 à¦\86পলà§\8bড à¦\95রা",
        "right-reupload-shared": "স্থানীয়ভাবে শেয়ার্ড মিডিয়া রিপোজিটরীর ফাইল ওভাররাইড",
        "right-upload_by_url": "URL থেকে ফাইল আপলোড",
-       "right-purge": "নিশà§\8dà¦\9aিতà¦\95রণ à¦\9bাড়াà¦\87 à¦¸à¦¾à¦\87à¦\9fà§\87র à¦\95à§\8dযাশ à¦ªà¦¾à¦°à§\8dà¦\9c à¦\95রà§\81ন",
+       "right-purge": "নিশà§\8dà¦\9aিতà¦\95রণ à¦\9bাড়াà¦\87 à¦¸à¦¾à¦\87à¦\9fà§\87র à¦\95à§\8dযাশ à¦¶à§\8bধন à¦\95রা",
        "right-autoconfirmed": "অর্ধ-সুরক্ষিত পাতা সম্পাদনা",
        "right-bot": "সয়ংক্রিয় পদ্ধতি হিসাবে চিহ্নিত করণ",
        "right-nominornewtalk": "বার্তা লেখার মত আলাপ পাতায় কোনো অনুল্লেখ্য সম্পাদনা নেই",
        "right-deletedtext": "অপরাসারিত সংশোধনের অপরাসারিত লেখা এবং পরিবর্তনসমূহ দেখাও",
        "right-browsearchive": "অপসারিত পাতা অনুসন্ধান করো",
        "right-undelete": "পাতাটি পুনরুদ্ধার করুন",
-       "right-suppressrevision": "যà§\87à¦\95à§\8bন à¦¬à§\8dযবহারà¦\95ারà§\80 à¦¥à§\87à¦\95à§\87 à¦ªà¦¾à¦¤à¦¾à¦° à¦¨à¦¿à¦°à§\8dদিষà§\8dà¦\9f à¦¸à¦\82শà§\8bধন à¦¦à§\87à¦\96à§\81ন, à¦\86ড়াল à¦\95রà§\81ন à¦\8fবà¦\82 à¦\85-à¦\86ড়াল à¦\95রুন",
-       "right-viewsuppressed": "সà¦\95ল à¦¬à§\8dযবহারà¦\95ারà§\80র à¦\9cনà§\8dয à¦²à§\81à¦\95িয়াত à¦¸à¦\82শà§\8bধন à¦ªà§\8dরদরà§\8dশন à¦\95র",
+       "right-suppressrevision": "যà§\87à¦\95à§\8bন à¦¬à§\8dযবহারà¦\95ারà§\80 à¦¥à§\87à¦\95à§\87 à¦ªà¦¾à¦¤à¦¾à¦° à¦¨à¦¿à¦°à§\8dদিষà§\8dà¦\9f à¦¸à¦\82শà§\8bধন à¦¦à§\87à¦\96à§\81ন, à¦²à§\81à¦\95িয়à§\87  à¦°à¦¾à¦\96à§\81ন à¦\8fবà¦\82 à¦ªà§\8dরà¦\95াশà§\8dযà§\87 à¦\86নুন",
+       "right-viewsuppressed": "যà§\87à¦\95à§\8bন à¦¬à§\8dযবহারà¦\95ারà§\80র à¦\95াà¦\9b à¦¥à§\87à¦\95à§\87 à¦²à§\81à¦\95ায়িত à¦¸à¦\82সà§\8dà¦\95রণà¦\97à§\81লি à¦¦à§\87à¦\96à§\81ন",
        "right-suppressionlog": "ব্যক্তিগত লগ দেখাও",
        "right-block": "সম্পাদনা করতে কোনো ব্যবহারকারীকে বাঁধা দাও",
        "right-blockemail": "ই-মেইল পাঠাতে কোনো ব্যবহারকারীকে বাঁধা দাও",
        "right-rollback": "একটি নির্দিষ্ট পাতার সর্বশেষ ব্যবহারকারীর সম্পদনা পূর্বাবস্থায় ফিরিয়ে আনুন",
        "right-markbotedits": "ফেরত আনা সম্পাদনাসমূহকে বট সম্পাদনা হিসেবে চিহ্নিত করে",
        "right-noratelimit": "রেট লিমিটের ভিত্তিতে পরিবর্তন হবে না",
-       "right-import": "à¦\85নà§\8dয à¦\89à¦\87à¦\95ি à¦¥à§\87à¦\95à§\87 à¦ªà¦¾à¦¤à¦¾ à¦\86মদানà§\80 à¦\95রà§\8b",
+       "right-import": "à¦\85নà§\8dয à¦\89à¦\87à¦\95ি à¦¥à§\87à¦\95à§\87 à¦ªà¦¾à¦¤à¦¾ à¦\86মদানি à¦\95রা",
        "right-importupload": "ফাইল আপলোড থেকে এই পাতাগুলো আমদানী করো",
        "right-patrol": "অন্যের সম্পাদনা পরীক্ষিত বলে চিহ্নিত করো",
        "right-autopatrol": "কারও নিজের সম্পাদনা সয়ংক্রিয়ভাবে পরীক্ষাণ হিসাবে চিহ্নিত",
        "right-userrights-interwiki": "অন্যান্য উইকির ব্যবহারকারীদের অধিকারসমূহ সম্পাদনা করুন।",
        "right-siteadmin": "ডাটাবেজ বন্ধ এবং খুলুন",
        "right-override-export-depth": "৫ম স্তর পর্যন্ত সংযুক্তিসহ একটি পাতা রপ্তানী করুন",
-       "right-sendemail": "অন্য ব্যবহারকারীকে ইমেইল পাঠান",
+       "right-sendemail": "অন্য ব্যবহারকারীকে ইমেইল পাঠান",
        "right-managechangetags": "[[Special:Tags|ট্যাগ]] তৈরি ও সক্রিয়/নিষ্ক্রিয় করুন",
-       "right-applychangetags": "সমà§\8dপাদনার à¦¸à¦¾à¦¥à§\87 [[Special:Tags|à¦\9fà§\8dযাà¦\97]] à¦¯à§\81à¦\95à§\8dত à¦\95রà§\81ন",
+       "right-applychangetags": "নিà¦\9cসà§\8dব à¦¸à¦®à§\8dপাদনার à¦¸à¦¾à¦¥à§\87 [[Special:Tags|à¦\9fà§\8dযাà¦\97]] à¦¯à§\81à¦\95à§\8dত à¦\95রা",
        "right-changetags": "নির্দিষ্ট সংস্করণ এবং দীর্ঘ সম্পাদনাগুলোতে [[Special:Tags|ট্যাগ]] সংযোজন ও অপসারণ করুন",
        "right-deletechangetags": "ডাটাবেজ থেকে [[Special:Tags|ট্যাগ]] অপসারণ করা",
        "grant-generic": "\"$1\" অধিকার স্তর",
        "grant-editpage": "বিদ্যমান পাতা সম্পাদনা করুন",
        "grant-editprotected": "সংরক্ষিত পাতা সম্পাদনা করুন",
        "grant-highvolume": "উচ্চ-মাত্রার সম্পাদনা",
-       "grant-oversight": "বà§\8dযবহারà¦\95ারà§\80 à¦²à§\81à¦\95ান à¦\93 à¦\87তিহাস à¦\85পসারণ",
+       "grant-oversight": "বà§\8dযবহারà¦\95ারà§\80 à¦²à§\81à¦\95িয়à§\87 à¦°à¦¾à¦\96া à¦\93 à¦¸à¦\82শà§\8bধন à¦¦à¦®à¦¨",
        "grant-patrol": "পাতার পরিবর্তনে টহল দেয়া",
        "grant-privateinfo": "ব্যক্তিগত তথ্যে প্রবেশাধিকার",
        "grant-protect": "পাতাসমূহ সুরক্ষা ও অরক্ষিত করুন",
        "action-move": "পাতাটি সরিয়ে ফেলুন",
        "action-move-subpages": "পাতাটি এবং এর উপপাতাগুলো সরিয়ে ফেলুন",
        "action-move-rootuserpages": "root ব্যবহারকারীর পাতাগুলো সরিয়ে ফেলুন",
-       "action-move-categorypages": "বিষয়শ্রেণী পাতাসমূহ স্থানান্তর করুন",
+       "action-move-categorypages": "বিষয়শ্রেণী পাতা স্থানান্তর করা",
        "action-movefile": "এই ফাইল স্থানান্তর করার",
        "action-upload": "এই ফাইল আপলোড করার",
        "action-reupload": "বিদ্যমান ফাইল প্রতিস্থাপন করো",
        "action-block": "এই ব্যবহারকারীকে সম্পাদনা করতে বাঁধা দেয়ার",
        "action-protect": "এই পাতার সুরক্ষার মাত্রা পরিবর্তন করার",
        "action-rollback": "একটি নির্দিষ্ট পাতার সর্বশেষ ব্যবহারকারীর সম্পদনা পূর্বাবস্থায় ফিরিয়ে আনুন",
-       "action-import": "à¦\85নà§\8dয à¦\89à¦\87à¦\95ি à¦¥à§\87à¦\95à§\87 à¦ªà¦¾à¦¤à¦¾ à¦\86মদানà§\80 à¦\95রà§\8b",
+       "action-import": "à¦\85নà§\8dয à¦\89à¦\87à¦\95ি à¦¥à§\87à¦\95à§\87 à¦ªà¦¾à¦¤à¦¾ à¦\86মদানি à¦\95রা",
        "action-importupload": "ফাইল আপলোড থেকে পাতা আমদানী করো",
        "action-patrol": "অন্যদের সম্পাদনা পরীক্ষিত বলে চিহ্নিত করো",
        "action-autopatrol": "পরীক্ষিত বলে চিহ্নিত কি আপনি সম্পাদনা করেছেন",
        "action-editcontentmodel": "পাতার কন্টেন্ট মডেল সম্পাদনা করুন",
        "action-managechangetags": "ট্যাগ তৈরি ও সক্রিয়/নিষ্ক্রিয়",
        "action-applychangetags": "আপনার পরিবর্তনগুলোর সাথে ট্যাগ সংযোজন করুন",
-       "action-changetags": "নিরà§\8dদিষà§\8dà¦\9f à¦¸à¦\82সà§\8dà¦\95রণ à¦\8fবà¦\82 à¦¦à§\80রà§\8dà¦\98 à¦¸à¦®à§\8dপাদনাà¦\97à§\81লà§\8bতà§\87 à¦\9fà§\8dযাà¦\97 à¦¸à¦\82যà§\8bà¦\9cন à¦\93 à¦\85পসারণ à¦\95রà§\81ন",
+       "action-changetags": "নিরà§\8dদিষà§\8dà¦\9f à¦¸à¦\82সà§\8dà¦\95রণ à¦\8fবà¦\82 à¦²à¦\97 à¦­à§\81à¦\95à§\8dতিà¦\97à§\81লিতà§\87 à¦¯à¦¥à§\87à¦\9aà§\8dà¦\9bভাবà§\87 à¦\9fà§\8dযাà¦\97 à¦¸à¦\82যà§\8bà¦\9cন à¦\93 à¦\85পসারণ à¦\95রা",
        "action-deletechangetags": "ডাটাবেজ থেকে ট্যাগ অপসরণ করার",
        "action-purge": "এই পাতা হালনাগাদ করার",
        "nchanges": "$1টি {{PLURAL:$1|পরিবর্তন}}",
        "enhancedrc-since-last-visit": "{{PLURAL:$1|সর্বশেষ প্রদর্শনের পর}} $1টি",
        "enhancedrc-history": "ইতিহাস",
        "recentchanges": "সাম্প্রতিক পরিবর্তন",
-       "recentchanges-legend": "সামà§\8dপà§\8dরতিà¦\95 à¦ªà¦°à¦¿à¦¬à¦°à§\8dতনà§\87র à¦ªà¦\9bনà§\8dদসমà§\82হ",
+       "recentchanges-legend": "সামà§\8dপà§\8dরতিà¦\95 à¦ªà¦°à¦¿à¦¬à¦°à§\8dতনà§\87র à¦ªà¦\9bনà§\8dদà¦\97à§\81লি",
        "recentchanges-summary": "এই পাতায় উইকিটির সবচেয়ে সাম্প্রতিক পরিবর্তনগুলি অনুসরণ করুন।",
        "recentchanges-noresult": "নির্ধারিত সময়ের মধ্যে কোনো পরিবর্তন পাওয়া যায়নি।",
        "recentchanges-feed-description": "এই ফিডে উইকিটির সবচেয়ে সাম্প্রতিক পরিবর্তনগুলি অনুসরণ করুন।",
        "rcfilters-invalid-filter": "অকার্যকর ফিল্টার",
        "rcfilters-empty-filter": "কোনো সক্রিয় ফিল্টার নেই। সমস্ত অবদান দেখানো হয়েছে।",
        "rcfilters-filterlist-title": "ছাঁকনি",
+       "rcfilters-filterlist-whatsthis": "এটি কী?",
+       "rcfilters-filterlist-feedbacklink": "নতুন (বিটা) ছাঁকনির উপর মতামত প্রদান করুন",
        "rcfilters-highlightbutton-title": "ফলাফল আলোকপাত করুন",
        "rcfilters-highlightmenu-title": "একটি রং নির্বাচন করুন",
+       "rcfilters-highlightmenu-help": "এই বৈশিষ্ট্য আলোকপাত করতে একটি রঙ নির্বাচন করুন",
        "rcfilters-filterlist-noresults": "কোনও ফিল্টার পাওয়া যায়নি",
+       "rcfilters-noresults-conflict": "কোনও ফলাফল পাওয়া যায়নি কারণ অনুসন্ধানের মাপকাঠিগুলির মধ্যে সংঘর্ষ আছে",
+       "rcfilters-state-message-subset": "এই ছাঁকনিটির কোন প্রভাব নেই কারণ এর ফলাফলগুলি নিম্নোক্ত বৃহত্তর পরিধির {{PLURAL:$2|টি ছাঁকনির}} মধ্যে অন্তর্ভুক্ত আছে (আলোকপাত করে এটিকে আলাদা করে দেখার চেষ্টা করুন): $1",
+       "rcfilters-state-message-fullcoverage": "কোন দলের সমস্ত ছাঁকনি নির্বাচন করা এবং কোন ছাঁকনিই নির্বাচন না করা একই কথা, তাই এই ছাঁকনিটির কোন প্রভাব নেই। এই দলে অন্তর্ভুক্ত ছাঁকনিগুলি হল: $1",
        "rcfilters-filtergroup-registration": "ব্যবহারকারী নিবন্ধন",
        "rcfilters-filter-registered-label": "নিবন্ধিত",
        "rcfilters-filter-registered-description": "প্রবেশকৃত সম্পাদকবৃন্দ।",
        "rcfilters-filter-unregistered-label": "অনিবন্ধিত",
        "rcfilters-filter-unregistered-description": "সম্পাদক যারা প্রবেশ করেন নি।",
+       "rcfilters-filter-unregistered-conflicts-user-experience-level": "এই ছাঁকনিটির সাথে নিম্নোক্ত ব্যবহারকারী অভিজ্ঞতা-সংক্রান্ত {{PLURAL:$2|টি ছাঁকনির}} সংঘর্ষ আছে; এই {{PLURAL:$2|টি ছাঁকনি}} কেবলমাত্র নিবন্ধিত ব্যবহারকারীদের খুঁজে বের করে: $1",
        "rcfilters-filtergroup-authorship": "কৃতি সম্পাদনা",
        "rcfilters-filter-editsbyself-label": "আপনার নিজস্ব সম্পাদনা",
        "rcfilters-filter-editsbyself-description": "আপনার দ্বারা সম্পাদনা।",
        "rcfilters-filter-editsbyother-label": "অন্যদের দ্বারা সম্পাদনা",
        "rcfilters-filter-editsbyother-description": "অন্য ব্যবহারকারীদের দ্বারা করা সম্পাদনা (আপনার না)।",
        "rcfilters-filtergroup-userExpLevel": "অভিজ্ঞতার স্তর (শুধু মাত্র নিবন্ধিত ব্যবহারকারীর জন্য)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "নতুন আগত",
-       "rcfilters-filter-userExpLevel-newcomer-description": "১০টি সম্পাদনার কম ও ৪ দিনের কার্যকলাপ।",
-       "rcfilters-filter-userExpLevel-learner-label": "শিক্ষার্থী",
-       "rcfilters-filter-userExpLevel-experienced-label": "অভিজ্ঞ ব্যবহারকারী",
-       "rcfilters-filter-userExpLevel-experienced-description": "৩০ দিনের বেশী কার্যকলাপ ও ৫০০টি সম্পাদনা।",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered": "অভিজ্ঞতা-সংক্রান্ত ছাঁকনিগুলি কেবলমাত্র নিবন্ধিত ব্যবহারকারীদের খুঁজে বের করে, তাই এই ছাঁকটি \"অনিবন্ধিত\" ছাঁকনিটির সাথে সংঘর্ষে আছে।",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered-global": "\"অনিবন্ধিত\" ছাঁকনিটি এক বা তার অধিক অভিজ্ঞতা-সংক্রান্ত ছাঁকনির সাথে সংঘর্ষে আছে, যে ছাঁকনিগুলি কেবলমাত্র নিবন্ধিত ব্যবহারকারীদের খুঁজে বের করে। সংঘর্ষরত ছাঁকনিগুলিকে উপরের \"সক্রিয় ছাঁকনিসমূহ\" এলাকাতে চিহ্নিত করা হয়েছে।",
+       "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-filtergroup-reviewstatus": "পর্যালোচনার অবস্থা",
+       "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-filter-major-description": "যেসব সম্পাদনাকে অনুল্লেখ্য হিসেবে চিহ্নিত করা হয়নি।",
        "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-categorization-description": "বিষয়শ্রেণী পাতা সংযোজন বা অপসারণের তালিকা",
        "rcfilters-filter-logactions-label": "প্রবেশকৃত কার্য",
        "rcfilters-filter-logactions-description": "প্রশাসনিক কর্ম, অ্যাকাউন্ট সৃষ্টিকরণ, পাতা অপসারণ, আপলোড....",
+       "rcfilters-hideminor-conflicts-typeofchange-global": "\"অনুল্লেখ্য সম্পাদনা\" ছাঁকনিটির সাথে এক বা ততোধিক \"পরিবর্তনের ধরন\"-সংক্রান্ত ছাঁকনির সংঘর্ষ আছে, কারণ কিছু নির্দিষ্ট ধরনের সম্পাদনা \"অনুল্লেখ্য\" হিসেবে চিহ্নিত করা সম্ভব নয়। সংঘর্ষে থাকা ছাঁকনিগুলিকে উপরের \"সক্রিয় ছাঁকনিসমূহ\" এলাকাতে চিহ্নিত করা হয়েছে।",
+       "rcfilters-hideminor-conflicts-typeofchange": "কিছু নির্দিষ্ট ধরনের সম্পাদনা \"অনুল্লেখ্য\" হিসেবে চিহ্নিত করা সম্ভব নয়, তাই এই ছাঁকনিটির সাথে নিম্নোক্ত \"পরিবর্তনের ধরন\"-সংক্রান্ত ছাঁকনিগুলির সংঘর্ষ আছে: $1",
+       "rcfilters-typeofchange-conflicts-hideminor": "এই \"পরিবর্তনের ধরন\"-সংক্রান্ত ছাঁকনিটির সাথে \"অনুল্লেখ্য সম্পাদনা\" ছাঁকনিটির সংঘর্ষ আছে। কিছু নির্দিষ্ট ধরনের সম্পাদনা \"অনুল্লেখ্য\" হিসেবে চিহ্নিত করা সম্ভব নয়।",
        "rcnotefrom": "<strong>$2</strong>টা থেকে সংঘটিত পরিবর্তনগুলি (সর্বোচ্চ <strong>$1টি</strong> দেখানো হয়েছে)।",
        "rclistfrom": "$2, $3 তারিখের পর সংঘটিত নতুন পরিবর্তনগুলো দেখাও",
        "rcshowhideminor": "অনুল্লেখ্য পরিবর্তনগুলো $1",
        "rcshowhideminor-show": "দেখাও",
-       "rcshowhideminor-hide": "à¦\86ড়াল à¦\95রো",
+       "rcshowhideminor-hide": "লà§\81à¦\95িয়à§\87 à¦°à¦¾à¦\96ো",
        "rcshowhidebots": "বটগুলো $1",
        "rcshowhidebots-show": "দেখাও",
-       "rcshowhidebots-hide": "à¦\86ড়াল à¦\95রো",
+       "rcshowhidebots-hide": "লà§\81à¦\95িয়à§\87 à¦°à¦¾à¦\96ো",
        "rcshowhideliu": "নিবন্ধিত ব্যবহারকারীদের $1",
        "rcshowhideliu-show": "দেখাও",
-       "rcshowhideliu-hide": "à¦\86ড়াল à¦\95রো",
+       "rcshowhideliu-hide": "লà§\81à¦\95িয়à§\87 à¦°à¦¾à¦\96ো",
        "rcshowhideanons": "বেনামী ব্যবহারকারীদের $1",
        "rcshowhideanons-show": "দেখাও",
-       "rcshowhideanons-hide": "à¦\86ড়াল à¦\95রো",
+       "rcshowhideanons-hide": "লà§\81à¦\95িয়à§\87 à¦°à¦¾à¦\96ো",
        "rcshowhidepatr": "পরীক্ষিত সম্পাদনা $1",
        "rcshowhidepatr-show": "দেখাও",
-       "rcshowhidepatr-hide": "à¦\86ড়াল à¦\95রো",
+       "rcshowhidepatr-hide": "লà§\81à¦\95িয়à§\87 à¦°à¦¾à¦\96ো",
        "rcshowhidemine": "আমার সম্পাদনাগুলো $1",
        "rcshowhidemine-show": "দেখাও",
-       "rcshowhidemine-hide": "à¦\86ড়াল à¦\95রো",
+       "rcshowhidemine-hide": "লà§\81à¦\95িয়à§\87 à¦°à¦¾à¦\96ো",
        "rcshowhidecategorization": "পাতা শ্রেণীবদ্ধকরণ $1",
        "rcshowhidecategorization-show": "দেখাও",
-       "rcshowhidecategorization-hide": "à¦\86ড়াল à¦\95রো",
+       "rcshowhidecategorization-hide": "লà§\81à¦\95িয়à§\87 à¦°à¦¾à¦\96ো",
        "rclinks": "'''প্রদর্শনের ধরন'''<br />\n* বিগত ($2) দিনের শেষ ($1)টি পরিবর্তন দেখাও\n* $3",
        "diff": "পরিবর্তন",
        "hist": "ইতিহাস",
-       "hide": "দà§\87à¦\96িà¦\93 à¦¨à¦¾",
+       "hide": "লà§\81à¦\95িয়à§\87 à¦°à¦¾à¦\96à§\8b",
        "show": "দেখাও",
        "minoreditletter": "অ",
        "newpageletter": "ন",
        "rc-change-size-new": "পরিবর্তনের পর $1 {{PLURAL:$1|বাইট}}",
        "newsectionsummary": "/* $1 */ নতুন অনুচ্ছেদ",
        "rc-enhanced-expand": "বিস্তারিত দেখাও",
-       "rc-enhanced-hide": "বিসà§\8dতারিত à¦²à§\81à¦\95াà¦\93",
+       "rc-enhanced-hide": "বিসà§\8dতারিত à¦²à§\81à¦\95িয়à§\87 à¦°à¦¾à¦\96à§\8b",
        "rc-old-title": "মূলত \"$1\" হিসাবে তৈরী করা হয়েছিল",
        "recentchangeslinked": "সম্পর্কিত পরিবর্তন",
        "recentchangeslinked-feed": "সম্পর্কিত পরিবর্তন",
        "fileexists-duplicate-version": "এই আপলোডটি <strong>[[:$1]]</strong>-এর একটি {{PLURAL:$2|পুরনো সংস্করণের}} হুবহু প্রতিলিপি।",
        "file-exists-duplicate": "এই ফাইলটি নিচের {{PLURAL:$1|ফাইল|ফাইলগুলির}} অনুলিপি:",
        "file-deleted-duplicate": "এই ফাইলটির মত একটি ফাইল ([[:$1]]) পূর্বে অপসারণ করা হয়েছে।\nপুনরায় আপলোড করার পূর্বে আপনার উচিত আগের ফাইলটির অপসারণের কারণ জানা।",
+       "file-deleted-duplicate-notitle": "এই ফাইলটির মত হুবহু একটি ফাইল আগেই মুছে ফেলা হয়েছে, এবং শিরোনামটিও অবলোপন করা হয়েছে। \nএই ফাইলটিকে পুনরায় আপলোড করার আগে এমন কাউকে জিজ্ঞাসা করে নিন যিনি অবলুপ্ত ফাইল উপাত্তগুলি দেখার ক্ষমতা রাখেন বলে এই পরিস্থিতিটি পর্যালোচনা করতে পারেন।",
        "uploadwarning": "আপলোড সতর্কবাণী",
        "uploadwarning-text": "অনুগ্রহ করে নিচে ফাইলের বর্ণনা পরিবর্তন করে আবার চেষ্টা করুন।",
        "savefile": "সংরক্ষণ",
        "uploaddisabledtext": "ফাইল আপলোড নিষ্ক্রিয়।",
        "php-uploaddisabledtext": "পিএইপি -এ ফাইল আপলোড নিস্ক্রিয় রয়েছে।\nঅনুগ্রহ করে file_uploads সেটিং পরীক্ষা করুন।",
        "uploadscripted": "এই ফাইলে এমন HTML বা স্ক্রিপ্ট কোড আছে যা একটি ওয়েব ব্রাউজার ভুল বুঝতে পারে।",
+       "upload-scripted-pi-callback": "এক্সএমএল-স্টাইলশিট প্রক্রিয়াকরণ নির্দেশনাবিশিষ্ট কোন ফাইল আপলোড করা সম্ভব নয়।",
        "uploaded-script-svg": "আপলোডকৃত SVG ফাইলে স্ক্রিপ্টযোগ্য উপাদান \"$1\" পাওয়া গেছে।",
        "uploaded-hostile-svg": "আপলোড করা SVG ফাইলের শৈলী উপাদানে অনিরাপদ সিএসএস পাওয়া গেছে।",
+       "uploaded-event-handler-on-svg": "এসভিজি ফাইলের জন্য <code>$1=\"$2\"</code> ইভেন্ট-হ্যান্ডলার বৈশিষ্ট্যটি নির্ধারণ করা অনুমোদিত নয়।",
+       "uploaded-href-attribute-svg": "এসভিজি ফাইলের href বৈশিষ্ট্যগুলির জন্য কেবলমাত্র http:// বা https:// লক্ষ্যগুলি অনুমোদিত; কিন্তু <code>&lt;$1 $2=\"$3\"&gt;</code> পাওয়া গেছে।",
        "uploaded-href-unsafe-target-svg": "অনিরাপদ উপাত্তে href পাওয়া গেছে: আপলোডকৃত SVG ফাইলে URI লক্ষ্য ছিল <code>&lt;$1 $2=\"$3\"&gt;</code>।",
+       "uploaded-animate-svg": "\"animate\" ট্যাগটি পাওয়া গেছে যা আপলোডকৃত এসভিজি ফাইলের <code>&lt;$1 $2=\"$3\"&gt;</code> - এই \"from\" অ্যাট্রিবিউটটি ব্যবহার করে href পরিবর্তন করতে পারে।",
+       "uploaded-setting-event-handler-svg": "ইভেন্ট-হ্যান্ডলার অ্যাট্রিবিউট সেট করতে বাধা দেওয়া হয়েছে। আপলোডকৃত এসভিজি ফাইলে <code>&lt;$1 $2=\"$3\"&gt;</code> খুঁজে পাওয়া গেছে।",
+       "uploaded-setting-href-svg": "\"set\" ট্যাগটি ব্যবহার করে \"href\" অ্যাট্রিবিউট পিতৃ-উপাদানে যোগ করতে বাধাদান করা হয়েছে।",
+       "uploaded-wrong-setting-svg": "\"set\" ট্যাগটি ব্যবহার করে যেকোন অ্যাট্রিবিউটে কোন রিমোট/ডাটা/স্ক্রিপ্ট লক্ষ্য যোগ করতে বাধা দেওয়া হয়েছে। আপলোডকৃত এসভিজি ফাইলে <code>&lt;set to=\"$1\"&gt;</code> খুঁজে পাওয়া গেছে।",
+       "uploaded-setting-handler-svg": "যে এসভিজি ফাইল রিমোট/ডাটা/স্ক্রিপ্ট দিয়ে \"handler\" অ্যাট্রিবিউটটি সেট করে, সেটিকে বাধা দেওয়া হয়েছে। আপলোডকৃত এসভিজি ফাইলে <code>$1=\"$2\"</code> খুঁজে পাওয়া গেছে।",
+       "uploaded-remote-url-svg": "যে এসভিজি ফাইল রিমোট ইউআরএল দিয়ে যেকোন শৈলী অ্যাট্রিবিউটট সেট করে, সেটিকে বাধা দেওয়া হয়েছে। আপলোডকৃত এসভিজি ফাইলে <code>$1=\"$2\"</code> খুঁজে পাওয়া গেছে।",
        "uploaded-image-filter-svg": "আপলোডকৃত SVG ফাইলে URL: <code>&lt;$1 $2=\"$3\"&gt;</code> সহ ছবি পরিশোধক পাওয়া গেছে।",
        "uploadscriptednamespace": "এই SVG ফাইলে অবৈধ নামস্থান \"<nowiki>$1</nowiki>\" রয়েছে",
        "uploadinvalidxml": "আপলোডকৃত ফাইলে XML পার্স করা যাবে না।",
        "destfilename": "লক্ষ্য ফাইলের নাম:",
        "upload-maxfilesize": "ফাইলের সর্বোচ্চ আকার: $1",
        "upload-description": "ফাইলের বর্ণনা",
-       "upload-options": "আপলোড-অপশন",
+       "upload-options": "আপলোডের পছন্দগুলি",
        "watchthisupload": "এই ফাইলটি নজরে রাখুন",
        "filewasdeleted": "এই নামের একটি ফাইল পূর্বে আপলোড করা হয়েছিল এবং তারপর মুছে ফেলা হয়েছিল। আপনি ফাইলটি আবার আপলোড করার আগে $1 পরীক্ষা করে দেখুন।",
+       "filename-thumb-name": "এটিকে একটি ক্ষুদ্র প্রাকপ্রদর্শনকারী চিত্রের (thumbnail) শিরোনাম বলে মনে হচ্ছে। দয়া করে একই উইকিতে ক্ষুদ্র প্রাকপ্রদর্শনকারী চিত্র পুনরায় আপলোড করবেন না। অন্যথায় অনুগ্রহ করে ফাইলের নামটি ঠিক করুন যাতে এটির অর্থ আরও বেশি বোধগম্য হয়, এবং যাতে এটির সাথে কোন ক্ষুদ্র প্রাকপ্রদর্শনকারী চিত্রের উপসর্গ না থাকে।",
        "filename-bad-prefix": "আপনি যে ফাইলটি আপলোড করছেন, তার নাম '''\"$1\"''' দিয়ে শুরু হয়েছে। এ ধরনের নাম সাধারণত ডিজিটাল ক্যামেরাগুলি স্বয়ংক্রিয়ভাবে দিয়ে থাকে এবং এগুলি ব্যাখ্যামূলক নয়। অনুগ্রহ করে আপনার ফাইলের জন্য আরও ব্যাখ্যামূলক একটি নাম পছন্দ করুন।",
        "upload-proto-error": "ভুল প্রোটোকল",
        "upload-proto-error-text": "দূরবর্তী আপলোডের জন্য URLগুলি <code>http://</code> বা <code>ftp://</code> দিয়ে শুরু হওয়া আবশ্যক।",
        "upload-too-many-redirects": "এই ইউআরএলটিতে অনেক বেশি পুনর্নির্দেশনা রয়েছে",
        "upload-http-error": "একটি এইচটিটিপি ত্রুটি দেখা দিয়েছে: $1",
        "upload-copy-upload-invalid-domain": "এই ডোমেইন থেকে আপলোড সম্ভব নয়।",
+       "upload-foreign-cant-upload": "এই উইকি থেকে অনুরোধকৃত বহিঃস্থ ফাইল সংগ্রহশালাতে ফাইল আপলোড করার ক্ষমতা পূর্বসংজ্ঞায়িত নেই।",
+       "upload-foreign-cant-load-config": "বহিঃস্থ ফাইল সংগ্রহশালাতে ফাইল আপলোড করার জন্য পূর্বনির্ধারিত সংজ্ঞাগুলি লোড করা ব্যর্থ হয়েছে।",
        "upload-dialog-disabled": "এই ডায়ালগ ব্যবহার করে ফাইল আপলোড করা এই উইকিতে নিষ্ক্রিয় করা হয়েছে।",
        "upload-dialog-title": "ফাইল আপলোড করুন",
        "upload-dialog-button-cancel": "বাতিল",
        "upload-form-label-infoform-categories": "বিষয়শ্রেণীসমূহ",
        "upload-form-label-infoform-date": "তারিখ",
        "upload-form-label-own-work-message-generic-local": "আমি নিশ্চিত করছি যে আমি {{SITENAME}}-এর পরিষেবা এবং লাইসেন্সকরণ নীতির শর্তাবলী অনুসরণ করে এই ফাইল আপলোড করছি।",
+       "upload-form-label-not-own-work-message-generic-local": "{{SITENAME}}-এর নীতিমালা অনুযায়ী যদি আপনি এই ফাইলটি আপলোড করতে না পারেন, অনুগ্রহ করে এই কথোপকথনটি বন্ধ করুন এবং অন্য একটি পদ্ধতিতে চেষ্টা করুন।",
        "upload-form-label-not-own-work-local-generic-local": "এছাড়াও আপনি [[Special:Upload|ডিফল্ট আপলোডের পাতা]] চেষ্টা করতে পারেন।",
+       "upload-form-label-own-work-message-generic-foreign": "আমি বুঝেছি যে আমি একটি শেয়ারকৃত সংগ্রহশালায় এই ফাইলটি আপলোড করতে যাচ্ছি। আমি নিশ্চিত করছি যে আমি সেখানকার সেবা এবং লাইসেন্সের নীতিমালা মেনে কাজটি করছি।",
+       "upload-form-label-not-own-work-message-generic-foreign": "যদি আপনি শেয়ারকৃত সংগ্রহশালার নীতিমালা মেনে এই ফাইলটি আপলোড করতে না পারেন, তাহলে অনুগ্রহ করে এই কথোপকথনটি বন্ধ করুন এবং অন্য একটি উপায়ে চেষ্টা করুন।",
        "upload-form-label-not-own-work-local-generic-foreign": "এছাড়াও আপনি [[Special:Upload|{{SITENAME}}-এর আপলোডের পাতা]] ব্যবহার করার চেষ্টা করতে পারেন, যদি এই ফাইলটি তাদের নীতিমালা অধীনে সেখানে আপলোড করা যায়।",
        "backend-fail-stream": "\"$1\" ফাইলের স্ট্রিম দেখানো যাচ্ছে না।",
        "backend-fail-backup": "\"$1\" ফাইলের ব্যাকআপ তৈরী সম্ভব নয়।",
        "license": "লাইসেন্সকরণ:",
        "license-header": "লাইসেন্স প্রদান",
        "nolicense": "কিছুই নির্বাচন করা হয়নি",
-       "licenses-edit": "লাইসেন্স অপশন সম্পাদনা করুন",
+       "licenses-edit": "লাইসেন্স-সংক্রান্ত পছন্দগুলি সম্পাদনা করুন",
        "license-nopreview": "(প্রাকদর্শন লভ্য নয়)",
        "upload_source_url": " (আপনি একটি বৈধ, উন্মুক্ত URL থেকে ফাইল চয়ন করেছেন)",
        "upload_source_file": "(আপনার কম্পিউটারের একটি ফাইল)",
        "duplicatesoffile": "নিচের {{PLURAL:$1|ফাইলটি|$1 ফাইলগুলো}} এই ফাইলের প্রতিলিপি ([[Special:FileDuplicateSearch/$2|বিস্তারিত দেখুন]]):",
        "sharedupload": "এই ফাইলটি $1 থেকে নেওয়া হয়েছে এবং এবং অন্যান্য প্রকল্পেও ব্যবহৃত হতে পারে।",
        "sharedupload-desc-there": "এই ফাইলটি $1 থেকে দেখানো হচ্ছে এবং হয়তো এটি অন্যান্য প্রকল্পতেও ব্যবহৃত হয়েছে।\nঅনুগ্রহ করে বিস্তারিত জানার জন্য [$2 ফাইলটির বর্ণনা পাতা] দেখুন।",
-       "sharedupload-desc-here": "à¦\8fà¦\87 à¦«à¦¾à¦\87লà¦\9fি $1 à¦¥à§\87à¦\95à§\87 à¦\8fবà¦\82 à¦\85নà§\8dযানà§\8dয à¦ªà§\8dরà¦\95লà§\8dপà§\87 à¦¬à§\8dযবহà§\83ত à¦¹à¦¤à§\87 à¦ªà¦¾à¦°à§\87।\nà¦\8fর [$2 à¦«à¦¾à¦\87ল à¦¬à¦¿à¦¬à¦°à¦£ à¦ªà§\83ষà§\8dঠা] à¦\89পর à¦¬à¦°à§\8dণনা à¦¨à¦¿à¦®à§\8dনে দেখানো হলো।",
+       "sharedupload-desc-here": "à¦\8fà¦\87 à¦«à¦¾à¦\87লà¦\9fি $1 à¦¥à§\87à¦\95à§\87 à¦\86à¦\97ত à¦\8fবà¦\82 à¦\85নà§\8dযানà§\8dয à¦ªà§\8dরà¦\95লà§\8dপà§\87 à¦¬à§\8dযবহà§\83ত à¦¹à¦¤à§\87 à¦ªà¦¾à¦°à§\87।\nসà§\87à¦\96ানà§\87 à¦\85বসà§\8dথিত [$2 à¦«à¦¾à¦\87লà¦\9fির à¦¬à¦¿à¦¬à¦°à¦£ à¦ªà¦¾à¦¤à¦¾à¦¯à¦¼] à¦°à¦¾à¦\96া à¦¬à¦¿à¦¬à¦°à¦£ à¦¨à¦¿à¦\9aে দেখানো হলো।",
        "sharedupload-desc-edit": "এই ফাইলটি $1 থেকে এবং অন্যান্য প্রকল্পে ব্যবহৃত হতে পারে।\n[$2 ফাইলটির বর্ণনা পাতা] থেকে আপনি ফাইলটি বর্ণনা সম্পাদনা করতে পারেন।",
        "sharedupload-desc-create": "This file is from $1 and may be used by other projects.\nMaybe you want to edit the description on its [$2 file description page] there.",
        "filepage-nofile": "এই নামের কোন ফাইল নেই।",
        "filerevert-submit": "ফেরত যাওয়া হোক",
        "filerevert-success": "'''[[Media:$1|$1]]''' ফাইলটি  [$3, $2-এর $4 সংস্করণে] ফেরত নেওয়া হয়েছে।",
        "filerevert-badversion": "প্রদত্ত তারিখ ও সময়ের জন্য এই ফাইলটির কোন স্থানীয় সংস্করণ নেই।",
+       "filerevert-identical": "ফাইলটির বর্তমান সংস্করণের সাথে নির্বাচিত সংস্করণটির হুবহু মিল রয়েছে।",
        "filedelete": "$1 মুছে ফেলা হোক",
        "filedelete-legend": "ফাইল মুছে ফেলা হোক",
        "filedelete-intro": "আপনি '''[[Media:$1|$1]]''' ফাইলটি এর সমস্ত ইতিহাসহ অপসারণ করছেন।",
        "statistics-users": "নিবন্ধিত [[Special:ListUsers|ব্যবহারকারী]]",
        "statistics-users-active": "সক্রিয় ব্যবহারকারী",
        "statistics-users-active-desc": "ব্যবহারকারী যারা বিগত {{PLURAL:$1|দিনে|$1 দিনে}} একটি কাজ করেছেন।",
-       "pageswithprop": "পাতার à¦\89পাদান à¦¸à¦®à§\8dবলিত à¦ªà§\83ষà§\8dঠাসমূহ",
+       "pageswithprop": "পাতার à¦¬à§\88শিষà§\8dà¦\9fà§\8dয à¦¸à¦®à§\8dবলিত à¦ªà¦¾à¦¤াসমূহ",
        "pageswithprop-legend": "পাতার উপাদান সম্বলিত পৃষ্ঠাসমূহ",
        "pageswithprop-text": "একটি নির্দিষ্ট পাতার বৈশিষ্ট রয়েছে এমন পাতাসমূহের তালিকা।",
        "pageswithprop-prop": "বৈশিষ্টের নাম:",
        "uncategorizedcategories": "যেসব বিষয়শ্রেণীর শ্রেণীকরণ প্রয়োজন",
        "uncategorizedimages": "যেসব ফাইলের শ্রেণীকরণ প্রয়োজন",
        "uncategorizedtemplates": "যেসব টেমপ্লেটের বিষয়শ্রেণী নেই",
+       "uncategorized-categories-exceptionlist": "# এখানে এমন কিছু বিষয়শ্রেণীর একটি তালিকা থাকবে, যেগুলি Special:UncategorizedCategories পাতায় উল্লেখ করা উচিত নয়। প্রতি লাইনে একটি করে থাকবে, প্রতিটি লাইন \"*\" অক্ষর দিয়ে শুরু করতে হবে। যেসব লাইন অন্য কোন অক্ষর (এমনকি ফাঁকা স্থান-ও) দিয়ে শুরু হলে সেটিকে অগ্রাহ্য করা হবে। মন্তব্যের জন্য \"#\" ব্যবহার করুন।",
        "unusedcategories": "অব্যবহৃত বিষয়শ্রেণীসমূহ",
        "unusedimages": "অব্যবহৃত ফাইলসমূহ",
        "wantedcategories": "বাঞ্ছনীয় বিষয়শ্রেণীগুলি",
        "wantedpages": "বাঞ্ছনীয় পাতাগুলি",
+       "wantedpages-summary": "অন্য পাতাগুলি থেকে সবচেয়ে বেশি সংযোগ দেওয়া কিন্তু অবর্তমান পাতাগুলির তালিকা। যেসব অবর্তমান পাতাতে কেবলমাত্র পুনর্নির্দেশ থেকে সংযোগ দেওয়া আছে, সেগুলি এই তালিকাতে অন্তর্ভুক্ত নয়। যেসব অবর্তমান পাতাতে পুনর্নির্দেশগুলি থেকে সংযোগ দেওয়া আছে, সেগুলির তালিকার জন্য [[{{#special:BrokenRedirects}}|অকার্যকর পুনর্নির্দেশনাগুলির তালিকা]] দেখুন।",
        "wantedpages-badtitle": "ফলাফলে ভুল শিরনাম: $1",
        "wantedfiles": "আবশ্যিক ফাইলসমূহ",
        "wantedfiletext-cat": "নিচের ফাইলগুলো ব্যবহৃত হচ্ছে কিন্তু এগুলো অপসারিত হয়েছে। অন্যান্য রিপোজিটরী থেকে ব্যবহৃত ফাইলগুলো এভাবে প্রদর্শিত হতে পারে। এই ধরনের কোন ফাইল খুজে পেলে <del>অপসারণ করুন</del>। এছাড়া অপসারিত হয়েছে এমন ছবির সংযোগ রয়েছে এমন পাতাসমূহের লিংক পাওয়া যাবে এখানে [[:$1]]।",
+       "wantedfiletext-cat-noforeign": "নিম্নোক্ত ফাইলগুলি ব্যবহৃত হচ্ছে কিন্তু এগুলির অস্তিত্ব নেই। এছাড়া, যেসব পাতাতে অস্তিত্বহীন ফাইল গ্রথিত আছে, সেগুলির তালিকা [[:$1]]-এ পাওয়া যাবে।",
        "wantedfiletext-nocat": "নিচের ফাইলগুলো ব্যবহৃত হচ্ছে কিন্তু এগুলো অপসারিত হয়েছে। অন্যান্য রিপোজিটরী থেকে ব্যবহৃত ফাইলগুলো এভাবে প্রদর্শিত হতে পারে। এই ধরনের ভূলগুলো শিঘ্রই <del>অপসারিত হবে</del>।",
        "wantedfiletext-nocat-noforeign": "নিম্নলিখিত ফাইলসমূহ ব্যবহৃত হয়েছে কিন্তু এর অস্তিত্ব নেই।",
        "wantedtemplates": "আবশ্যিক টেমপ্লেটসমূহ",
        "protectedpages-indef": "শুধুমাত্র অসীম সুরক্ষা",
        "protectedpages-summary": "এই পাতাটি বর্তমানে সুরক্ষিত থাকা বিদ্যমান পাতগুলির তালিকা। সৃষ্টি করা থেকে সুরক্ষিত রয়েছে এমন পাতার তালিকার জন্য, [[{{#special:ProtectedTitles}}|{{int:protectedtitles}}]] দেখুন।",
        "protectedpages-cascade": "শুধুমাত্র প্রপাতাকার সুরক্ষা",
-       "protectedpages-noredirect": "পà§\81নরà§\8dনিরà§\8dদà§\87শনাà¦\97à§\81লà§\8b à¦²à§\81à¦\95াà¦\93",
+       "protectedpages-noredirect": "পà§\81নরà§\8dনিরà§\8dদà§\87শনাà¦\97à§\81লà§\8b à¦²à§\81à¦\95িয়à§\87 à¦°à¦¾à¦\96া à¦¹à§\8bà¦\95",
        "protectedpagesempty": "কোন পাতা বর্তমানে এই প্যারামিটারগুলিসহ সুরক্ষিত নয়।",
        "protectedpages-timestamp": "সময়বার্তা",
        "protectedpages-page": "পাতা",
        "apisandbox": "এপিআই খেলাঘর",
        "apisandbox-jsonly": "API খেলাঘর ব্যবহার করতে জাভাস্ক্রিপ্ট প্রয়োজন।",
        "apisandbox-api-disabled": "এপিআই এই সাইটে নিষ্ক্রিয় করা আছে।",
+       "apisandbox-intro": "<strong>মিডিয়াউইকি ওয়েব সেবা এপিআই</strong> নিয়ে পরীক্ষানিরীক্ষা চালাতে এই পাতাটি ব্যবহার করুন। \nএপিআই ব্যবহারের উপর বিস্তারিত জানতে [[mw:API:Main page|এপিআই ডকুমেন্টেশন]] দেখুন।\nউদাহরণ: [https://www.mediawiki.org/wiki/API#A_simple_example get the content of a Main Page]। আরও উদাহরণ দেখার জন্য একটি কর্ম নির্বাচন করুন।\n\nলক্ষ করুন যে যদিও এটি একটি খেলাঘর, তা সত্ত্বেও এই পাতায় করা আপনার সম্পাদনাগুলি উইকিতে পরিবর্তন সাধন করতে পারে।",
        "apisandbox-fullscreen": "প্যানেল সম্প্রসারণ করুন",
        "apisandbox-fullscreen-tooltip": "ব্রাউজারের উইন্ডো পূরণ করতে খেলাঘরের প্যানেল প্রসারিত করুন।",
        "apisandbox-unfullscreen": "পাতা দেখাও",
        "apisandbox-alert-field": "এই ক্ষেত্রের মান বৈধ নয়।",
        "apisandbox-continue": "অব্যাহত",
        "apisandbox-continue-clear": "পরিস্কার",
+       "apisandbox-continue-help": "{{int:apisandbox-continue}} সর্বশেষ অনুরোধটি [https://www.mediawiki.org/wiki/API:Query#Continuing_queries চলমান] রাখবে; {{int:apisandbox-continue-clear}} চলমানতা-সংক্রান্ত পরামিতিগুলি খালি করবে।",
        "apisandbox-param-limit": "সর্বোচ্চ সীমা ব্যবহার করতে <kbd>max</kbd> লিখুন।",
        "apisandbox-multivalue-all-namespaces": "$1 (সব নামস্থান)",
        "apisandbox-multivalue-all-values": "$1 (সব মান)",
        "allpagesprefix": "এই উপসর্গবিশিষ্ট পাতাগুলো দেখাও:",
        "allpagesbadtitle": "প্রদত্ত পাতার শিরোনামটি অবৈধ ছিল অথবা এটিতে কোন আন্তঃভাষা বা আন্তঃউইকি উপসর্গ ছিল। এটিতে এক বা একাধিক ক্যারেক্টার থাকতে পারে যা শিরোনামে ব্যবহার করা সম্ভব নয়।",
        "allpages-bad-ns": "{{SITENAME}}-এ \"$1\" নামের কোন নামস্থান নেই।",
-       "allpages-hide-redirects": "পà§\81নরà§\8dনিরà§\8dদà§\87শনাà¦\97à§\81লà§\8b à¦²à§\81à¦\95াà¦\93",
+       "allpages-hide-redirects": "পà§\81নরà§\8dনিরà§\8dদà§\87শনাà¦\97à§\81লà§\8b à¦²à§\81à¦\95িয়à§\87 à¦°à¦¾à¦\96া à¦¹à§\8bà¦\95",
        "cachedspecial-viewing-cached-ttl": "আপনি এই পৃষ্ঠায় একটি ক্যাশে সংস্করণ দেখছেন, যা $1 দিনের পুরানো হতে পারে।",
        "cachedspecial-viewing-cached-ts": "আপনি এই পৃষ্ঠায় একটি ক্যাশে সংস্করণ দেখছেন, যা সম্পূর্ণরূপে হালনাগাদকৃত নাও হতে পারে।",
        "cachedspecial-refresh-now": "সাম্প্রতিকগুলো প্রদর্শন করো।",
        "listusersfrom": "সেই সব ব্যবহারকারী দেখাও যাদের নাম এই অক্ষর দিয়ে শুরু:",
        "listusers-submit": "দেখাও",
        "listusers-noresult": "কোন ব্যবহারকারী খুঁজে পাওয়া যায়নি।",
-       "listusers-blocked": "(বà§\8dলà¦\95à¦\95à§\83ত)",
+       "listusers-blocked": "(বাধাপà§\8dরাপà§\8dত)",
        "activeusers": "সক্রিয় ব্যবহারকারী তালিকা",
        "activeusers-intro": "এটি ব্যবহারকারী তালিকা যাদের $1 {{PLURAL:$1|দিনে|দিনে}} যেকোন কর্মকান্ড রয়েছে।",
        "activeusers-count": "গত {{PLURAL:$3|কালে|$3 দিনে}} সর্বমোট {{PLURAL:$1|কর্মের}} সংখ্যা $1টি",
        "activeusers-excludegroups": "এই দলভুক্ত ব্যবহারকারী বাদ দিন:",
        "activeusers-noresult": "কোনো ব্যবহারকারী পাওয়া যায়নি।",
        "activeusers-submit": "সক্রিয় ব্যবহারকারী প্রদর্শন করুন",
-       "listgrouprights": "দলà¦\97ত à¦¬à§\8dযবহারà¦\95ারী অধিকার",
-       "listgrouprights-summary": "à¦\8fà¦\87 à¦\89à¦\87à¦\95ির à¦¬à§\8dযবহারà¦\95ারà§\80দà§\87র à¦\8fà¦\95à¦\9fি à¦\97à§\8dরà§\81পà¦\97à§\81লà§\8bর à¦¤à¦¾à¦²à¦¿à¦\95া à¦¦à§\87à¦\96ানà§\8b à¦¹à¦\9aà§\8dà¦\9bà§\87, à¦¸à¦¾à¦¥à§\87 à¦\97à§\8dরà§\81পà§\87র à¦\95ারà§\8dযপরিধিà¦\93 à¦\89লà§\8dলà§\87à¦\96 à¦\95রা à¦¹à¦¯à¦¼à§\87à¦\9bà§\87।\nনিরà§\8dদিষà§\8dà¦\9f à¦\97à§\8dরà§\81পà§\87র à¦\95ারà§\8dযপরিধি à¦¸à¦®à§\8dপরà§\8dà¦\95à§\87 à¦\9cানতà§\87 [[{{MediaWiki:Listgrouprights-helppage}}|à¦\85তিরিà¦\95à§\8dত à¦¤à¦¥à§\8dয]] à¦¦à§\87à¦\96à§\81ন।",
-       "listgrouprights-key": "লিà¦\9cà§\87নà§\8dড:\n* <span class=\"listgrouprights-granted\">à¦\85নà§\81মà§\8bদিত à¦\85ধিà¦\95ার</span>\n* <span class=\"listgrouprights-revoked\">বাধাপà§\8dরাপà§\8dত অধিকার</span>",
+       "listgrouprights": "বà§\8dযবহারà¦\95ারà§\80 à¦¦à¦² à¦\85নà§\81যায়ী অধিকার",
+       "listgrouprights-summary": "à¦\8fà¦\87 à¦\89à¦\87à¦\95িতà§\87 à¦¸à¦\82à¦\9cà§\8dà¦\9eায়িত à¦¬à§\8dযবহারà¦\95ারà§\80 à¦¦à¦²à¦\97à§\81লির à¦\8fà¦\95à¦\9fি à¦¤à¦¾à¦²à¦¿à¦\95া à¦¨à¦¿à¦\9aà§\87 à¦¦à§\87à¦\96ানà§\8b à¦¹à¦\9aà§\8dà¦\9bà§\87, à¦¸à¦¾à¦¥à§\87 à¦¦à¦²à§\87র à¦¸à¦¾à¦¥à§\87 à¦¸à¦\82শà§\8dলিষà§\8dà¦\9f à¦\85ধিà¦\95ারসমà§\82হà¦\93 à¦\89লà§\8dলà§\87à¦\96 à¦\95রা à¦¹à¦¯à¦¼à§\87à¦\9bà§\87।\nনিরà§\8dদিষà§\8dà¦\9f à¦¬à§\8dযà¦\95à§\8dতির à¦\85ধিà¦\95ারà¦\97à§\81লি à¦¸à¦®à§\8dপরà§\8dà¦\95à§\87 [[{{MediaWiki:Listgrouprights-helppage}}|à¦\85তিরিà¦\95à§\8dত à¦¤à¦¥à§\8dয]] à¦¥à¦¾à¦\95তà§\87 à¦ªà¦¾à¦°à§\87।",
+       "listgrouprights-key": "বà§\8dযাà¦\96à§\8dযা:\n* <span class=\"listgrouprights-granted\">à¦\85নà§\81মà§\8bদিত à¦\85ধিà¦\95ার</span>\n* <span class=\"listgrouprights-revoked\">পà§\8dরতà§\8dযাহারà¦\95à§\83ত অধিকার</span>",
        "listgrouprights-group": "দল",
        "listgrouprights-rights": "অধিকারসমূহ",
        "listgrouprights-helppage": "Help:দলের অধিকার",
        "listgrouprights-removegroup-self-all": "নিজের অ্যাকাউন্ট থেকে সকল দল অপসারণ",
        "listgrouprights-namespaceprotection-header": "নামস্থান নিষেধাজ্ঞাসমূহ",
        "listgrouprights-namespaceprotection-namespace": "নামস্থান",
-       "listgrouprights-namespaceprotection-restrictedto": "à¦\85ধিà¦\95ার à¦¯à¦¾ à¦¬à§\8dযবহারà¦\95ারà§\80à¦\95à§\87 সম্পাদনা করার অনুমতি দেয়",
+       "listgrouprights-namespaceprotection-restrictedto": "à¦\8fà¦\87 à¦\85ধিà¦\95ারà¦\9fি à¦¬à§\8dযবহারà¦\95ারà§\80à¦\95à§\87 à¦¯à¦¾ সম্পাদনা করার অনুমতি দেয়",
        "listgrants": "কার্যভার",
        "listgrants-summary": "নিম্নে ব্যবহারকারী অধিকারের সাথে যুক্ত প্রবেশাধিকারসহ তাদের কার্যভারের একটি তালিকা দেয়া হয়েছে। ব্যবহারকারীরা তাদের অ্যাকাউন্ট ব্যবহার করতে অ্যাপ্লিকেশনকে অনুমোদন দিতে পারে, কিন্তু কার্যভারের উপর ভিত্তি করে সীমিত অনুমতি ব্যবহারকারীরা অ্যাপ্লিকেশনকে দিতে পারবেন। মূলত, একটি অ্যাপ্লিকেশন একজন ব্যবহারকারীর দেয়া অধিকারের অতিরিক্ত অধিকার ব্যবহার করতে পারবে না। পৃথক অধিকার সম্পর্কে [[{{MediaWiki:Listgrouprights-helppage}}|অতিরিক্ত তথ্য]] দেখুন।",
        "listgrants-grant": "কার্যভার",
        "listgrants-rights": "অধিকারসমূহ",
        "trackingcategories": "বিষয়শ্রেণীসমূহ অনুসরণ করা হচ্ছে",
+       "trackingcategories-summary": "এই পাতাতে মিডিয়াউইকি সফটওয়্যার দ্বারা স্বয়ংক্রিয়ভাবে সৃষ্ট অনুসরণকারী বিষয়শ্রেণীগুলির তালিকা আছে। সংশ্লিষ্ট সিস্টেম বার্তাগুলিকে {{ns:8}} নামস্থানে পরিবর্তন করে এগুলির নাম পরিবর্তন করা যাবে।",
        "trackingcategories-msg": "বিষয়শ্রেণী অনুসরণ করা হচ্ছে",
        "trackingcategories-name": "বার্তা নাম",
        "trackingcategories-desc": "বিষয়শ্রেণী অন্তর্ভুক্তির মানদণ্ড",
        "restricted-displaytitle-ignored": "উপেক্ষিত প্রদর্শন শিরোনামসহ পাতা",
        "restricted-displaytitle-ignored-desc": "পাতাটি একটি <code><nowiki>{{DISPLAYTITLE}}</nowiki></code> উপেক্ষা করেছে কারণ এটা পাতাটির আসল শিরোনামের সাথে সমতুল্য নয়।",
+       "noindex-category-desc": "এই পাতাটি রোবটদের দ্বারা সূচীভুক্ত করা হয়নি কারণ এটিতে <code><nowiki>__NOINDEX__</nowiki></code> জাদুশব্দটি আছে এবং এটি এমন একটি নামস্থানে আছে যেখানে এই ধরনের চিহ্নিতকরণ অনুমোদিত।",
+       "index-category-desc": "এই পাতাটিতে একটি <code><nowiki>__INDEX__</nowiki></code> আছে (এবং পাতাটি এমন একটি নামস্থানে অবস্থিত যেখানে এই ধরনের চিহ্নিতকরণ সম্ভব) এবং এ কারণে রোবটগুলি এ পাতাটিকে তাদের সূচীভূক্ত করে, যদিও সাধারণত এমনটি হবার কথা নয়।",
+       "post-expand-template-inclusion-category-desc": "সবগুলি টেমপ্লেট প্রসারিত করলে পাতার আকার <code>$wgMaxArticleSize</code>-এর চেয়ে বেশি হয়ে যায়, তাই কিছু টেমপ্লেট প্রসারিত করা হয়নি।",
+       "post-expand-template-argument-category-desc": "একটি টেমপ্লেট আর্গুমেন্ট সম্প্রসারণ করার পর (<code>{{{Foo}}}</code> এরকম করে তিনটি দ্বিতীয় বন্ধনীতে আবদ্ধ কোনওকিছু) পাতাটি <code>$wgMaxArticleSize</code>-এর চেয়ে বেশি বড় হয়ে গেছে।",
+       "expensive-parserfunction-category-desc": "পাতাটি অতিরিক্ত সংখ্যক ব্যয়বহুল পার্সার ফাংশন (<code>#ifexist</code>-এর মত) ব্যবহার করছে। [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgExpensiveParserFunctionLimit Manual:$wgExpensiveParserFunctionLimit] দেখুন।",
        "broken-file-category-desc": "এই পাতায় একটি ভাঙ্গা ফাইলের লিঙ্ক রয়েছে (একটি ফাইল এম্বেড করার জন্য একটি লিঙ্ক যখন ফাইলটির অস্তিত্ব নেই)",
        "hidden-category-category-desc": "এই বিষয়শ্রেণীটির পাতার বিষয়বস্তুর মধ্যে <code><nowiki>__HIDDENCAT__</nowiki></code> উপস্থিত রয়েছে, যা পূর্ব-নির্ধারিতভাবে পাতার বিষয়শ্রেণীর সংযোগে দেখায় না।",
        "trackingcategories-nodesc": "কোন বর্ণনা নেই।",
        "wlheader-showupdated": "আপনার শেষ আগমনের পর থেকে যেসব পাতায় পরিবর্তন হয়েছে সেগুলি '''গাঢ়''' করে দেখানো হয়েছে।",
        "wlnote": "নিচে $3, $4 তারিখ থেকে বিগত {{PLURAL:$2|১ ঘন্টায়|<strong>$2</strong> ঘন্টায়}} সংঘটিত {{PLURAL:$1|শেষ ১টি পরিবর্তন|শেষ <strong>$1টি</strong> পরিবর্তন}} দেখানো হল।",
        "wlshowlast": "সর্বশেষ $1 ঘণ্টা $2 দিনে দেখাও",
-       "watchlist-hide": "à¦\86ড়াল à¦\95রà§\8b",
+       "watchlist-hide": "লà§\81à¦\95িয়à§\87 à¦°à¦¾à¦\96া à¦¹à§\8bà¦\95",
        "watchlist-submit": "দেখাও",
        "wlshowtime": "প্রদর্শনের সময় কাল:",
        "wlshowhideminor": "অনুল্লেখ্য সম্পাদনা",
        "wlshowhidepatr": "পরীক্ষিত সম্পাদনা",
        "wlshowhidemine": "আমার সম্পাদনা",
        "wlshowhidecategorization": "পাতা শ্রেণীবদ্ধকরণ",
-       "watchlist-options": "নজর তালিকা পছন্দসমূহ",
+       "watchlist-options": "নজর তালিকার পছন্দগুলি",
        "watching": "নজর রাখা হচ্ছে...",
        "unwatching": "নজর তুলে নেওয়া হচ্ছে...",
        "watcherrortext": "\"$1\" এর নজরতালিকা পরিবর্তনের সময় একটি ত্রুটি হয়েছে।",
        "deletecomment": "কারণ:",
        "deleteotherreason": "অন্য/অতিরিক্ত কারণ:",
        "deletereasonotherlist": "অন্য কারণ",
-       "deletereason-dropdown": "*মà§\81à¦\9bà§\87 à¦«à§\87লার à¦¸à¦¾à¦§à¦¾à¦°à¦£ à¦\95ারণà¦\97à§\81লি\n** à¦¸à§\8dপà§\8dযাম\n** ধ্বংসপ্রবণতা\n** কপিরাইট ভঙ্গ\n** লেখকের অনুরোধ\n** অকার্যকর পুনঃনির্দেশ",
+       "deletereason-dropdown": "*মà§\81à¦\9bà§\87 à¦«à§\87লার à¦¸à¦¾à¦§à¦¾à¦°à¦£ à¦\95ারণà¦\97à§\81লি\n** à¦\85বাà¦\9eà§\8dà¦\9bিত à¦ªà§\81নরাবà§\83তà§\8dত à¦¸à¦®à§\8dপাদনা (spam)\n** ধ্বংসপ্রবণতা\n** কপিরাইট ভঙ্গ\n** লেখকের অনুরোধ\n** অকার্যকর পুনঃনির্দেশ",
        "delete-edit-reasonlist": "অপসারণের কারণ সম্পাদনা",
        "delete-toobig": "এই পাতার সম্পাদনার ইতিহাস অনেক বড়, যা $1টি {{PLURAL:$1|সংস্করণের|সংস্করণের}} বেশি।\n{{SITENAME}}-এর দূর্ঘটনাজনিত সমস্যা এড়াতে এই ধরনের পাতা মুছার ব্যপারে সীমাবদ্ধতা আরোপিত হয়েছে।",
        "delete-warning-toobig": "এই পাতাটির একটি বৃহৎ সম্পাদনা ইতিহাস রয়েছে, যা $1 {{PLURAL:$1|সংস্করণেরও|সংস্করণেরও}} বেশি।\nএই পাতাটি মুছে ফেললে তা {{SITENAME}} সাইটের ডেটাবেজ সমস্যার কারণ হতে পারে;\nসাবধানতার সাথে এগিয়ে যান।",
        "changecontentmodel-submit": "পরিবর্তন করুন",
        "changecontentmodel-success-title": "বিষয়বস্তুর প্রতিরূপ পরিবর্তিত হয়েছিলো",
        "changecontentmodel-success-text": "[[:$1]]-এর বিষয়বস্তুর ধরণ পরিবর্তন হয়েছে।",
+       "changecontentmodel-cannot-convert": "[[:$1]] নামের পাতার বিষয়বস্তু $2 নামক স্থানীয়কৃত ধরনে রূপান্তরিত করা সম্ভব নয়।",
        "changecontentmodel-nodirectediting": "$1 বিষয়বস্তুর রূপ সরাসরি সম্পাদনা করা সমর্থন করে না",
        "changecontentmodel-emptymodels-title": "কোন বিষয়বস্তুর রূপ উপলব্ধ নয়",
+       "changecontentmodel-emptymodels-text": "[[:$1]] নামের পাতার বিষয়বস্তু কোন রকমের বিষইয়বস্তু ধরনেই রূপান্তরিত করা সম্ভব নয়।",
        "log-name-contentmodel": "বিষয়বস্তুর রূপ পরিবর্তন লগ",
+       "log-description-contentmodel": "এই পাতাতে পাতাগুলির বিষয়বস্তুর মডেলের পরিবর্তনের একটি তালিকা আছে। এছাড়াও পূর্বনির্ধারিত মডেল ব্যতীত অন্য মডেলে তৈরি করা পাতাগুলিও তালিকাতে দেওয়া আছে।",
+       "logentry-contentmodel-new": "$1 পূর্বনির্ধারিত নয় এমন একটি বিষয়বস্তু মডেল \"$5\" ব্যবহার $3 নামের পাতাটি {{GENDER:$2|তৈরি করেছেন}}",
        "logentry-contentmodel-change": "$1 $3 পাতার বিষয়বস্তুর রূপ \"$4\" থেকে \"$5\"-এ {{GENDER:$2|পরিবর্তন করেছেন}}",
        "logentry-contentmodel-change-revertlink": "প্রত্যাবর্তন",
        "logentry-contentmodel-change-revert": "প্রত্যাবর্তন",
        "protectexpiry": "মেয়াদোত্তীর্ণ হবে:",
        "protect_expiry_invalid": "মেয়াদোত্তীর্ণ সময় অবৈধ।",
        "protect_expiry_old": "মেয়াদোত্তীর্ণ সময় অতীতে অবস্থিত।",
-       "protect-unchain-permissions": "সà§\81রà¦\95à§\8dষিত à¦\95রার à¦\85নà§\8dযনà§\8dয à¦\85পশনà¦\97à§\81লà§\8b à¦\86নলà¦\95 à¦\95রুন",
+       "protect-unchain-permissions": "সà§\81রà¦\95à§\8dষা-সà¦\82à¦\95à§\8dরানà§\8dত à¦\85নà§\8dযানà§\8dয à¦ªà¦\9bনà§\8dদà¦\97à§\81লি à¦¦à§\87à¦\96ার à¦\9cনà§\8dয à¦¤à¦¾à¦²à¦¾ à¦\96à§\81লুন",
        "protect-text": "'''$1''' পাতাটির জন্য সুরক্ষার স্তর আপনি এখানে দেখতে ও পরিবর্তন করতে পারেন।",
        "protect-locked-blocked": "বাধাপ্রাপ্ত অবস্থায় আপনি পাতাটির সুরক্ষা স্তর পরিবর্তন করতে পারবেন না। এখানে '''$1''' পাতাটির বর্তমান সেটিংস দেওয়া হল:",
        "protect-locked-dblock": "ডাটাবেজ বন্ধ থাকায় সুরক্ষা স্তর পরিবর্তন করা যাবে না।\nএখানে '''$1''' পাতাটির বর্তমান সেটিংস দেওয়া হল:",
        "undelete-show-file-submit": "হ্যাঁ",
        "namespace": "নামস্থান:",
        "invert": "বিপরীতক্রমে নির্বাচন",
-       "tooltip-invert": "যà§\87 à¦¸à¦\95ল à¦¨à¦¾à¦®à¦¸à§\8dথানà§\87র à¦ªà¦¾à¦¤à¦¾à¦\97à§\81লà§\8bর à¦ªà¦°à¦¿à¦¬à¦°à§\8dতনসমà§\82হর à¦¦à§\87à¦\96তà§\87 à¦\9aাà¦\9aà§\8dà¦\9bà§\87ন à¦¨à¦¾ à¦¸à§\87à¦\97à§\81লà§\8bর à¦¨à¦¾à¦®à§\87র à¦ªà¦¾à¦¶à§\87 à¦\9fিà¦\95 à¦¦à¦¿à¦¨",
+       "tooltip-invert": "নিরà§\8dবাà¦\9aিত à¦¨à¦¾à¦®à¦¸à§\8dথানà¦\9fির (à¦\8fবà¦\82 à¦¸à¦\82শà§\8dলিষà§\8dà¦\9f à¦¨à¦¾à¦®à¦¸à§\8dথানà¦\9fি, à¦¯à¦¦à¦¿ à¦¨à¦¿à¦°à§\8dবাà¦\9aিত à¦¹à¦¯à¦¼à§\87 à¦¥à¦¾à¦\95à§\87) à¦\85নà§\8dতরà§\8dà¦\97ত à¦ªà¦¾à¦¤à¦¾à¦\97à§\81লির à¦ªà¦°à¦¿à¦¬à¦°à§\8dতনসমà§\82হ à¦²à§\81à¦\95িয়à§\87 à¦°à¦¾à¦\96তà§\87 à¦\9aাà¦\87লà§\87 à¦\8fà¦\87 à¦¬à¦¾à¦\95à§\8dসà§\87 à¦\9fিà¦\95 à¦¦à¦¿à¦¨à¥¤",
        "tooltip-whatlinkshere-invert": "নির্বাচিত নামস্থানের পাতা থেকে লিঙ্ক আড়াল করতে এই বাক্সে টিক দিন।",
        "namespace_association": "সংশ্লিষ্ট নামস্থান",
        "tooltip-namespace_association": "এখানে টিক দেয়ার মাধ্যমে সংশ্লিষ্ট নামস্থান এবং আলাপপাতাসমূহ অন্তর্ভুক্ত করছেন",
        "sp-contributions-username": "আইপি (IP) ঠিকানা অথবা ব্যবহারকারীর নাম:",
        "sp-contributions-toponly": "শুধুমাত্র সেই সম্পাদনাগুলি দেখাও যেগুলো সাম্প্রতিক সংস্করণের অন্তর্ভুক্ত",
        "sp-contributions-newonly": "শুধুমাত্র পাতা সৃষ্টি করা সম্পাদনাগুলি দেখাও",
-       "sp-contributions-hideminor": "à¦\85নà§\81লà§\8dলà§\87à¦\96à§\8dয à¦ªà¦°à¦¿à¦¬à¦°à§\8dতন à¦\86ড়াল à¦\95রà§\81ন",
+       "sp-contributions-hideminor": "à¦\85নà§\81লà§\8dলà§\87à¦\96à§\8dয à¦¸à¦®à§\8dপাদনাà¦\97à§\81লি à¦²à§\81à¦\95িয়à§\87 à¦°à¦¾à¦\96া à¦¹à§\8bà¦\95",
        "sp-contributions-submit": "অনুসন্ধান",
        "whatlinkshere": "সংযোগকারী পাতাসমূহ",
        "whatlinkshere-title": "যে পাতাগুলি থেকে \"$1\"-এর প্রতি সংযোগ আছে",
        "whatlinkshere-hidetrans": "অন্তর্ভুক্তকরণ $1",
        "whatlinkshere-hidelinks": "সংযোগ $1",
        "whatlinkshere-hideimages": "ফাইল সংযোগ $1",
-       "whatlinkshere-filters": "à¦\9bাà¦\95নà§\80",
+       "whatlinkshere-filters": "à¦\9bাà¦\81à¦\95নি",
        "whatlinkshere-submit": "চলো",
        "autoblockid": "স্বয়ংক্রিয় বাধা #$1",
        "block": "ব্যবহারকারীকে বাধা দাও",
        "unblock": "ব্যবহারকারীর উপর থেকে বাধা অপসারণ",
        "blockip": "{{GENDER:$1|ব্যবহারকারীকে}} বাধা দাও",
        "blockip-legend": "ব্যবহারকারীকে বাধা দেওয়া হোক",
-       "blockiptext": "কোন নির্দিষ্ট আইপি ঠিকানা বা ব্যবহারকারীর লেখার অধিকারে বাধা দিতে নিচের ফর্মটি ব্যবহার করুন।\nএটি কেবলমাত্র ধ্বংসপ্রবণতা প্রতিরোধে ও [[{{MediaWiki:Policy-url}}|নীতিমালা]] মেনে সম্পাদন করা উচিত।\nনিচে একটি নির্দিষ্ট কারণ দিন (উদাহরণস্বরূপ, যেসব পাতার ধ্বংসসাধন করা হয়েছে, সেগুলি উল্লেখ করতে পারেন)।",
+       "blockiptext": "কোন নির্দিষ্ট আইপি ঠিকানা বা ব্যবহারকারীর লেখার অধিকারে বাধা দিতে নিচের ফর্মটি ব্যবহার করুন।\nএটি কেবলমাত্র ধ্বংসপ্রবণতা প্রতিরোধে ও [[{{MediaWiki:Policy-url}}|নীতিমালা]] মেনে সম্পাদন করা উচিত।\nনিচে একটি নির্দিষ্ট কারণ দিন (উদাহরণস্বরূপ, যেসব পাতার ধ্বংসসাধন করা হয়েছে, সেগুলি উল্লেখ করতে পারেন)।\nআপনি একটি নির্দিষ্ট সীমার অন্তর্গত একাধিক আইপি ঠিকানাকে বাধা দিতে পারেন; এজন্য [https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing CIDR] সিনট্যাক্স বা পদবিন্যাসবিধি ব্যবহার করুন; এরকম বৃহত্তম অনুমোদিত সীমা হচ্ছে IPv4-এর ক্ষেত্রে /$1 এবং IPv6-এর ক্ষেত্রে /$2।",
        "ipaddressorusername": "আইপি ঠিকানা বা ব্যবহারকারীর নাম:",
        "ipbexpiry": "যখন মেয়াদোত্তীর্ণ হবে:",
        "ipbreason": "কারণ:",
-       "ipbreason-dropdown": "*বাধা দানের সাধারণ কারণ\n** মিথ্যা তথ্য ঢোকানো\n** পাতা থেকে বিষয়বস্তু মুছে ফেলা\n** বাইরের কোন সাইটের সংযোগ স্প্যাম করা\n** পাতাগুলিতে অর্থহীন বিষয়বস্তু ঢোকানো\n** ভীতি উদ্রেককারী আচরণ/হয়রানি\n** একাধিক অ্যাকাউন্টের অপব্যবহার\n** ব্যবহারকারী নাম অ-গ্রহণযোগ্য",
+       "ipbreason-dropdown": "*বাধা দানের সাধারণ কারণগুলি\n** মিথ্যা তথ্য প্রবিষ্ট করা\n** পাতা থেকে বিষয়বস্তু মুছে ফেলা\n** অবাঞ্ছিত বহিঃস্থ কোন সাইটের প্রতি সংযোগ বারংবার যোগ করা\n** পাতাগুলিতে অর্থহীন বিষয়বস্তু প্রবিষ্ট করা\n** ভীতি উদ্রেককারী আচরণ/হয়রানি\n** একাধিক অ্যাকাউন্টের অপব্যবহার\n** ব্যবহারকারী নাম অগ্রহণযোগ্য",
        "ipb-hardblock": "এই আইপি ঠিকানা থেকে লগ-ইনকৃত ব্যবহারকারীদেরকে সম্পাদনায় বাধা দাও",
        "ipbcreateaccount": "অ্যাকাউন্ট সৃষ্টিতে বাধা দেওয়া হোক",
        "ipbemailban": "ব্যবহারকারীকে ই-মেইল পাঠাতে বাধা দেওয়া হোক",
        "blocklist": "বাধাপ্রাপ্ত ব্যবহারকারী",
        "ipblocklist": "বাধাপ্রাপ্ত ব্যবহারকারী",
        "ipblocklist-legend": "বাধা দেওয়া কোন ব্যবহারকারীকে অনুসন্ধান করুন",
-       "blocklist-userblocks": "à¦\85à§\8dযাà¦\95াà¦\89নà§\8dà¦\9f à¦¬à¦¾à¦§à¦¾ à¦²à§\81à¦\95াà¦\93",
+       "blocklist-userblocks": "à¦\85à§\8dযাà¦\95াà¦\89নà§\8dà¦\9f à¦¬à¦¾à¦§à¦¾ à¦²à§\81à¦\95ানà§\8b à¦¹à§\8bà¦\95",
        "blocklist-tempblocks": "অস্থায়ী বাধা লুকাও",
-       "blocklist-addressblocks": "à¦\8fà¦\95à¦\95 à¦\86à¦\87পি à¦¬à¦¾à¦§à¦¾ à¦²à§\81à¦\95াà¦\93",
+       "blocklist-addressblocks": "à¦\8fà¦\95à¦\95 à¦\86à¦\87পি à¦¬à¦¾à¦§à¦¾ à¦²à§\81à¦\95ানà§\8b à¦¹à§\8bà¦\95",
        "blocklist-rangeblocks": "রেঞ্জ ব্লকসমূহ লুকান",
        "blocklist-timestamp": "সময়বার্তা",
        "blocklist-target": "লক্ষ্য",
        "ipb_hide_invalid": "এই অ্যাকাউন্ট বাধা দেয়া সম্ভব নয়; এটি {{PLURAL:$1|একের অধিক|$1টি}} সম্পাদনা করেছে।",
        "ipb_already_blocked": "\"$1\" ইতিমধ্যে ব্লক",
        "ipb-needreblock": "$1 ইতিমধ্যেই বাধাপ্রাপ্ত আছেন। আপনি কি সেটিংস পরিবর্তন করতে চান?",
-       "ipb-otherblocks-header": "অন্যান্য {{PLURAL:$1|বাধাঁ|বাধাঁসমূহ}}",
+       "ipb-otherblocks-header": "অন্যান্য {{PLURAL:$1|বাধা|বাধাসমূহ}}",
        "unblock-hideuser": "আপনি এই ব্যবহারকারীকে বাধা মুক্ত করতে পারবেন না, কারণ এই ব্যবহারকারীদের ব্যবহারকারী নাম লুকানো রয়েছে।",
        "ipb_cant_unblock": "ত্রুটি: $1 ব্লক আইডি খুঁজে পাওয়া যায়নি। হয়ত ইতিমধ্যেই এটির উপর থেকে বাধা তুলে নেওয়া হয়েছে।",
        "ipb_blocked_as_range": "ত্রুটি: $1 আইপি ঠিকানাটিকে সরাসরি বাধা দেওয়া হয়নি এবং বাধা তুলে নেওয়া যাবে না। তবে ঠিকানাটি $2 সীমার অন্তর্ভুক্ত এবং সেটি থেকে বাধা তুলে নেওয়া সম্ভব।",
        "allmessagescurrent": "বর্তমান টেক্সট",
        "allmessagestext": "এটি মিডিয়াউইকি নামস্থানে অন্তর্ভুক্ত সিস্টেম বার্তাগুলোর একটি তালিকা।\nআপনি যদি সাধারণ মিডিয়াউইকির স্থানীয়করণে অবদান রাখতে আগ্রহী হন, অনুগ্রহ করে [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation মিডিয়াউইকি স্থানীয়করণ] এবং [https://translatewiki.net translatewiki.net] দেখুন।",
        "allmessagesnotsupportedDB": "এই পাতা ব্যবহার করা যাবে না কারণ '''$wgUseDatabaseMessages''' বন্ধ করে রাখা আছে।",
-       "allmessages-filter-legend": "à¦\9bাà¦\95নà§\80",
+       "allmessages-filter-legend": "à¦\9bাà¦\81à¦\95নি",
        "allmessages-filter": "Filter by customization state:",
        "allmessages-filter-unmodified": "অপরিবর্তিত",
        "allmessages-filter-all": "সমস্ত",
        "thumbnail_image-type": "চিত্রের ধরন সমর্থন করে না",
        "thumbnail_gd-library": "অসম্পূর্ণ জিডি লাইব্রেরী কনফিগারেশন: $1 ফাংশন নেই",
        "thumbnail_image-missing": "ফাইলটি খুজে পাওয়া যাচ্ছে না: $1",
+       "thumbnail_image-failure-limit": "সাম্প্রতিককালে এই ক্ষুদ্র প্রাকপ্রদর্শনমূলক চিত্রটিকে (thumbnail) রেন্ডার করার চেষ্টা অত্যধিকবার ($1 বা তার বেশিবার) ব্যর্থ হয়েছে। অনুগ্রহ করে কিছুক্ষণ পরে আবার চেষ্টা করুন।",
        "import": "পাতা আমদানি",
        "importinterwiki": "অন্য উইকি থেকে আমদানী",
        "import-interwiki-text": "আমদানির জন্য একটি উইকি ও পাতার শিরোনাম নির্বাচন করুন।\nসংশোধনের তারিখগুলি এবং সম্পাদকদের নামগুলি সংরক্ষণ করা হবে।\nঅন্যান্য উইকি থেকে সমস্ত আমদানি [[Special:Log/import|আমদানি লগে]] লিপিবদ্ধ আছে।",
        "import-error-special": "\"$1\" পাতাটি আমদানি করা যায়নি কারণ এটি একটি বিশেষ নামস্থানকে নির্দেশ করে যেটি সম্পাদনার জন্য অনুমোদিত নয়।",
        "import-error-invalid": "\"$1\" পাতাটি আমদানি করা যায়নি কারণ নামটি সঠিক নয়।",
        "import-error-unserialize": "$1 পাতার $2 সংস্করণটি সিরিয়ালাইজ করা যাচ্ছে না। এই রিভিশনে $4 হিসাবে $3 কন্টেন্ট মডেলে সিরিয়ালাইজ করা আছে।",
-       "import-options-wrong": "ভুল {{PLURAL:$2|অপশন|অপশনসমূহ}}: <nowiki>$1</nowiki>",
+       "import-error-bad-location": "বিষয়বস্তু মডেল $3 ব্যবহার করে সম্পাদিত $2 নং সংশোধনটি \"$1\" নামের পাতায় সংরক্ষণ করা যাবে না, কারণ ঐ মডেলটি ঐ পাতাতে প্রযোজ্য নয়।",
+       "import-options-wrong": "{{PLURAL:$2|পছন্দ}} নির্বাচনে ভুল: <nowiki>$1</nowiki>",
        "import-rootpage-invalid": "মূল পাতার ভুল শিরনাম দেয়া হয়েছে।",
        "import-rootpage-nosubpage": "মূল পাতার \"$1\" নামস্থানে উপপাতা তৈরী অনুমোদিত নয়।",
        "importlogpage": "আমদানি লগ",
        "anonusers": "{{SITENAME}} বেনামী {{PLURAL:$2|ব্যবহারকারী|ব্যবহারকারীগণ}} $1",
        "creditspage": "পাতার স্বীকৃতি",
        "nocredits": "এই পাতাটির জন্য কোন কৃতিত্ব-সম্পর্কিত তথ্য নেই।",
-       "spamprotectiontitle": "সà§\8dপà§\8dযাম à¦ªà§\8dরতিরà¦\95à§\8dষা à¦«à¦¿à¦²à§\8dà¦\9fার",
-       "spamprotectiontext": "à¦\86পনি à¦¯à§\87 à¦ªà¦¾à¦¤à¦¾à¦\9fি à¦¸à¦\82রà¦\95à§\8dষণ à¦\95রতà§\87 à¦\9aà§\87য়à§\87à¦\9bà§\87ন, à¦¤à¦¾ à¦¸à§\8dপà§\8dযাম à¦«à¦¿à¦²à§\8dà¦\9fার à¦¬à¦¾à¦§à¦¾ à¦¦à¦¿à¦¯à¦¼à§\87à¦\9bà§\87। à¦¸à¦®à§\8dভবত à¦\95ালà§\8b à¦¤à¦¾à¦²à¦¿à¦\95াভà§\81à¦\95à§\8dত à¦¬à¦¹à¦¿à¦\83সà§\8dথ à¦\95à§\8bন à¦¸à¦¾à¦\87à¦\9fà§\87র à¦¸à¦\82যà§\8bà¦\97à§\87র à¦\95ারণà§\87 à¦\8fমনà¦\9fা ঘটেছে।",
-       "spamprotectionmatch": "নিà¦\9aà§\87র à¦\9fà§\87à¦\95à§\8dসà¦\9fà¦\9fি à¦\86মাদà§\87র à¦¸à§\8dপà§\8dযাম à¦«à¦¿à¦²à§\8dà¦\9fারকে সক্রিয় করেছে: $1",
-       "spambot_username": "মিডিয়াà¦\89à¦\87à¦\95ি à¦¸à§\8dপà§\8dযাম পরিস্কার",
+       "spamprotectiontitle": "à¦\85বাà¦\9eà§\8dà¦\9bিত à¦ªà§\81নরাবà§\83তà§\8dত à¦¸à¦®à§\8dপাদনা (spam) à¦ªà§\8dরতিরà¦\95à§\8dষা à¦\9bাà¦\81à¦\95নি",
+       "spamprotectiontext": "à¦\86পনি à¦¯à§\87 à¦ªà¦¾à¦¤à¦¾à¦\9fি à¦¸à¦\82রà¦\95à§\8dষণ à¦\95রতà§\87 à¦\9aà§\87য়à§\87à¦\9bà§\87ন, à¦¤à¦¾ à¦\85বাà¦\9eà§\8dà¦\9bিত à¦ªà§\81নরাবà§\83তà§\8dত à¦¸à¦®à§\8dপাদনার à¦\9bাà¦\81à¦\95নি à¦¬à¦¾à¦§à¦¾ à¦¦à¦¿à¦¯à¦¼à§\87à¦\9bà§\87। à¦¸à¦®à§\8dভবত à¦\95ালà§\8bতালিà¦\95াভà§\81à¦\95à§\8dত à¦¬à¦¹à¦¿à¦\83সà§\8dথ à¦\95à§\8bন à¦¸à¦¾à¦\87à¦\9fà§\87র à¦¸à¦\82যà§\8bà¦\97à§\87র à¦\95ারণà§\87 à¦\8fমনà¦\9fি ঘটেছে।",
+       "spamprotectionmatch": "নিà¦\9aà§\87র à¦\9fà§\87à¦\95à§\8dসà¦\9fà¦\9fি à¦\86মাদà§\87র à¦\85বাà¦\9eà§\8dà¦\9bিত à¦ªà§\81নরাবà§\83তà§\8dত à¦¸à¦®à§\8dপাদনার à¦\9bাà¦\81à¦\95নিকে সক্রিয় করেছে: $1",
+       "spambot_username": "মিডিয়াà¦\89à¦\87à¦\95ি à¦\85বাà¦\9eà§\8dà¦\9bিত à¦ªà§\81নরাবà§\83তà§\8dত à¦¸à¦®à§\8dপাদনা পরিস্কার",
        "spam_reverting": "$1-এর প্রতি কোন সংযোগ নেই, এমন সর্বশেষ সংস্করণে ফেরত নেওয়া হচ্ছে।",
        "spam_blanking": "$1-এর প্রতি সংযোগ অন্তর্ভুক্ত আছে এমন সমস্ত সংশোধন খালি করা হচ্ছে",
        "spam_deleting": "$1-এর প্রতি সংযোগ অন্তর্ভুক্ত আছে এমন সমস্ত সংশোধন অপসারণ করা হচ্ছে",
        "newimages": "নতুন ফাইলের গ্যালারি",
        "imagelisttext": "নিচে '''$1''' {{PLURAL:$1|ফাইলের|ফাইলের}} একটি তালিকা যা $2 এ সংরক্ষিত রয়েছে।",
        "newimages-summary": "এই বিশেষ পাতা সর্বশেষ আপলোডকৃত ফাইল দেখাবে।",
-       "newimages-legend": "à¦\9bাà¦\95নà§\80",
+       "newimages-legend": "à¦\9bাà¦\81à¦\95নি",
        "newimages-label": "ফাইলের নাম (অথবা এর কোন অংশ):",
        "newimages-showbots": "বটের আপলোড গুলো দেখাও।",
-       "newimages-hidepatrolled": "à¦\9fহলà¦\95à§\83ত à¦\86পলà§\8bড à¦\86ড়াল à¦\95রà§\8b",
+       "newimages-hidepatrolled": "à¦\9fহলà¦\95à§\83ত à¦\86পলà§\8bড à¦²à§\81à¦\95ানà§\8b à¦¹à§\8bà¦\95",
        "noimages": "দেখার মত কিছু নেই।",
        "gallery-slideshow-toggle": "থাম্বনেল ভাসান",
        "ilsubmit": "অনুসন্ধান",
        "metadata": "অধি-উপাত্ত",
        "metadata-help": "এই ফাইলে অতিরিক্ত কিছু তথ্য আছে। সম্ভবত যে ডিজিটাল ক্যামেরা বা স্ক্যানারের মাধ্যমে এটি তৈরি বা ডিজিটায়িত করা হয়েছিল, সেটি কর্তৃক তথ্যগুলি যুক্ত হয়েছে। যদি ফাইলটি তার আদি অবস্থা থেকে পরিবর্তিত হয়ে থাকে, কিছু কিছু বিবরণ পরিবর্তিত ফাইলটির জন্য প্রযোজ্য না-ও হতে পারে।",
        "metadata-expand": "সম্প্রসারিত সবিস্তারে দেখাও",
-       "metadata-collapse": "সমà§\8dপà§\8dরসারিত à¦¸à¦¬à¦¿à¦¸à§\8dতারà§\87 à¦¦à§\87à¦\96িà¦\93 à¦¨à¦¾",
+       "metadata-collapse": "সমà§\8dপà§\8dরসারিত à¦¬à¦¿à¦¸à§\8dতারিত à¦¬à¦¿à¦¬à¦°à¦£ à¦²à§\81à¦\95ানà§\8b à¦¹à§\8bà¦\95",
        "metadata-fields": "এই বার্তায় তালিকাভুক্ত চিত্র মেটাডাটা ক্ষেত্রগুলি ছবির পাতায় প্রদর্শন করা হবে, যখন অধি-উপাত্ত সারণিটি সংকুচিত করা হবে। অন্য ক্ষেত্রগুলি স্বাভাবিক অবস্থায় লুকায়িত থাকবে।\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude",
        "exif-imagewidth": "চওড়া",
        "exif-imagelength": "লম্বা",
        "invalidateemail": "ইমেইল নিশ্চিতকরণ বাতিল করুন",
        "notificationemail_subject_changed": "{{SITENAME}}-এ নিবন্ধীকৃত ইমেল ঠিকানা পরিবর্তন করা হয়েছে",
        "notificationemail_subject_removed": "{{SITENAME}}-এ নিবন্ধীকৃত ইমেল ঠিকানা সরানো হয়েছে",
+       "notificationemail_body_changed": "কেউ, সম্ভবত আপনি-ই, $1 আইপি ঠিকানাটি থেকে {{SITENAME}}-এর \"$2\" নামক অ্যাাকাউন্টের সাথে সংশ্লিষ্ট ই-মেইল ঠিকানাটি \"$3\"-এ পরিবর্তন করেছেন।\n\nযদি এটি আপনি না করে থাকেন তাহলে, অবিলম্বে সাইট প্রশাসকের সাথে যোগাযোগ করুন।",
+       "notificationemail_body_removed": "কেউ, সম্ভবত আপনি-ই, $1 আইপি ঠিকানা থেকে  {{SITENAME}}-এর \"$2\" নামক অ্যাকাউন্টের সাথে সংশ্লিষ্ট ই-মেইল ঠিকানাটি মুছে দিয়েছেন।\n\nযদি এটি আপনি না করে থাকেন তাহলে, অবিলম্বে সাইট প্রশাসকের সাথে যোগাযোগ করুন।",
        "scarytranscludedisabled": "[আন্তঃউইকি আন্তঃভুক্তি নিষ্ক্রিয়]",
        "scarytranscludefailed": "[$1 এর জন্য টেমপ্লেট আনা অসফল হয়েছে]",
        "scarytranscludefailed-httpstatus": "[$1: HTTP $2 এর জন্য টেমপ্লেট আনা বিফল হয়েছে]",
        "version-specialpages": "বিশেষ পাতাসমূহ",
        "version-parserhooks": "পার্সার হুক",
        "version-variables": "চলক",
-       "version-antispam": "সà§\8dপà§\8dযাম প্রতিরোধ",
+       "version-antispam": "à¦\85বাà¦\9eà§\8dà¦\9bিত à¦ªà§\81নরাবà§\83তà§\8dত à¦¸à¦®à§\8dপাদনা প্রতিরোধ",
        "version-other": "অন্য",
        "version-mediahandlers": "মিডিয়া ব্যবস্থাপক",
        "version-hooks": "হুক",
        "fileduplicatesearch-result-n": "\"$1\" এই ফাইলের {{PLURAL:$2|1 একইরকম অনুলিপি|$2 একইরকম অনুলিপি}} রয়েছে।",
        "fileduplicatesearch-noresults": "\"$1\" নামের কোনো ফাইল খুঁজে পাওয়া যায়নি।",
        "specialpages": "বিশেষ পাতাসমূহ",
-       "specialpages-note-top": "লিà¦\9cà§\87নà§\8dড",
+       "specialpages-note-top": "বà§\8dযাà¦\96à§\8dযা",
        "specialpages-note": "* সাধারণ বিশেষ পাতাসমূহ।\n* <span class=\"mw-specialpagerestricted\">সীমাবদ্ধ বিশেষ পাতা।</span>",
        "specialpages-group-maintenance": "রক্ষণাবেক্ষণের কার্যবিবরণীসমূহ",
        "specialpages-group-other": "অন্যান্য বিশেষ পাতাসমূহ",
        "specialpages-group-pagetools": "পাতা সংক্রান্ত সরঞ্জাম",
        "specialpages-group-wiki": "উপাত্ত এবং সরঞ্জামসমূহ",
        "specialpages-group-redirects": "বিশেষ পাতাগুলি পুনর্নির্দেশ করা হচ্ছে",
-       "specialpages-group-spam": "সà§\8dপà§\8dযামরà§\8bধà§\80 à¦¹à¦¾à¦¤à¦¿à¦¯à¦¼à¦¾à¦°",
+       "specialpages-group-spam": "à¦\85বাà¦\9eà§\8dà¦\9bিত à¦ªà§\81নরাবà§\83তà§\8dত à¦¸à¦®à§\8dপাদনারà§\8bধà§\80 à¦¸à¦°à¦\9eà§\8dà¦\9cামসমà§\82হ",
        "specialpages-group-developer": "ডেভলপারের সরঞ্জাম",
        "blankpage": "খালি পাতা",
        "intentionallyblankpage": "এই পাতাটি ইচ্ছা করে খালি রাখা হয়েছে",
        "external_image_whitelist": "  #এই লাইন ঠিক যেমন আছে<প্রাক> তেমন রাখুন<pre>\n #রেগুলার এক্সপ্রেশনের টুকরা নীচে (শুধুমাত্র অংশ / / মধ্যে যে যায়) বসান\n#এইগুলি এক্সটার্নাল (hotlinked) ইমেজের URL-এর সাথে মেলানো হবে\n#যেগুলি মিলবে, সেগুলি চিত্র হিসাবে প্রদর্শিত হবে, অন্যথায় শুধুমাত্র ইমেজ লিঙ্ক প্রদর্শিত হবে\n#যে লাইনের প্রারম্ভে # আছে সেই লাইনগুলি মন্তব্যসমূহ হিসাবে ব্যবহার করা হয়\n#এটি কেস-অসংবেদী\n\n#এই রেখার উপরের regex টুকরা বসান. এই লাইন ঠিক যেমন আছে তেমন রাখুন</pre>",
        "tags": "বৈধ পরিবর্তন ট্যাগ",
-       "tag-filter": "[[Special:Tags|à¦\9fà§\8dযাà¦\97]] à¦\9bাà¦\95নà§\80:",
-       "tag-filter-submit": "à¦\9bাà¦\95নà§\80",
+       "tag-filter": "[[Special:Tags|à¦\9fà§\8dযাà¦\97]] à¦\9bাà¦\81à¦\95নি:",
+       "tag-filter-submit": "à¦\9bাà¦\81à¦\95নি",
        "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|ট্যাগ}}]]: $2)",
        "tag-mw-contentmodelchange": "বিষয়বস্তুর রূপ পরিবর্তন",
        "tag-mw-contentmodelchange-description": "সম্পাদনা যা একটি পাতার [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:ChangeContentModel বিষয়বস্তুর রূপ পরিবর্তন] করে",
        "tags-deactivate": "নিষ্ক্রিয়",
        "tags-hitcount": "$1টি {{PLURAL:$1|পরিবর্তন}}",
        "tags-manage-no-permission": "আপনার ট্যাগ পরিবর্তন পরিচালনা করার অনুমতি নেই।",
+       "tags-manage-blocked": "বাধাপ্রাপ্ত থাকাকালীন সময়ে {{GENDER:$1|আপনি}} ট্যাগ পরিবর্তন ব্যবস্থাপনা করতে পারবেন না।",
        "tags-create-heading": "নতুন ট্যাগ তৈরি করুন",
        "tags-create-explanation": "পূর্বনির্ধারিতরূপে, নব নির্মিত ট্যাগ ব্যবহারকারী এবং বট দ্বারা ব্যবহারের জন্য উপলব্ধ করা হবে।",
        "tags-create-tag-name": "ট্যাগের নাম:",
        "tags-create-reason": "কারণ:",
        "tags-create-submit": "তৈরি করুন",
        "tags-create-no-name": "আপনাকে একটি ট্যাগের নাম অবশ্যই উল্লেখ করতে হবে।",
+       "tags-create-invalid-chars": "ট্যাগের নামে কমা (<code>,</code>) বা ফরোয়ার্ড স্ল্যাশ (<code>/</code>) থাকতে পারবে না।",
+       "tags-create-invalid-title-chars": "ট্যাগের নাম এমন অক্ষর থাকতে পারবে না যা পাতার শিরোনামে ব্যবহার করা যায় না।",
        "tags-create-already-exists": "\"$1\" ট্যাগ ইতিমধ্যেই বিদ্যমান।",
+       "tags-create-warnings-above": "\"$1\" ট্যাগটি তৈরির প্রচেষ্টার সময় নিম্নোক্ত {{PLURAL:$2|টি সতর্ক বার্তা}} উৎপন্ন হয়েছে:",
        "tags-create-warnings-below": "আপনি কি ট্যাগটি তৈরি করা চালিয়ে যেতে চান?",
        "tags-delete-title": "ট্যাগ অপসারণ",
+       "tags-delete-explanation-initial": "আপনি ডাটাবেজ থেকে \"$1\" ট্যাগটি অপসারণ করতে চলেছেন।",
+       "tags-delete-explanation-in-use": "ট্যাগটি বর্তমানে যে {{PLURAL:$2|$2 টি সংশোধন এবং/বা লগ ভুক্তি}}তে প্রযুক্ত হয়েছে, সেগুলি থেকে এটিকে অপসারণ করা হবে।",
+       "tags-delete-explanation-warning": "এই কাজটি <strong>অপরিবর্তনযোগ্য</strong> এবং এটিকে ভবিষ্যতে <strong>বাতিল করা সম্ভব নয়</strong>, এমনকি ডাটাবেজ প্রশাসকরাও এটি বাতিল করতে পারবেন না। এই ট্যাগটিই মুছে ফেলতে চাচ্ছেন কি না, সে ব্যাপারে সুনিশ্চিত হোন।",
+       "tags-delete-explanation-active": "<strong>\"$1\" ট্যাগটি এখনও সক্রিয় এবং ভবিষ্যতে এটিকে প্রয়োগ করা যাবে।</strong> এই ব্যাপারটি ঘটা বন্ধ করার জন্য যেসব স্থানে ট্যাগটিকে প্রয়োগ করার জন্য সেট করা হয়েছে, সেসব স্থানে গিয়ে সেটিকে নিষ্ক্রিয় করুন।",
        "tags-delete-reason": "কারণ:",
        "tags-delete-submit": "অপরিবর্তনীয় এই ট্যাগ অপসারন করো",
+       "tags-delete-not-allowed": "এক্সটেনশন দ্বারা সংজ্ঞায়িত ট্যাগ অপসারণ করা সম্ভব নয়, যদি না এক্সটেনশনটি বিশেষভাবে এটি করার অনুমতি দিয়ে থাকে।",
        "tags-delete-not-found": "\"$1\" ট্যাগ বিদ্যমান নয়।",
        "tags-delete-too-many-uses": "\"$1\" ট্যাগটি $2টিরও অধিক {{PLURAL:$2|সংশোধনে}} প্রয়োগ করা হয়েছে, যার অর্থ এটি অপসারণ করা যাবে না।",
+       "tags-delete-warnings-after-delete": "\"$1\" ট্যাগটি মুছে ফেলা হয়েছে, কিন্তু নিম্নোক্ত {{PLURAL:$2|টি সতর্ক বার্তা}} উৎপন্ন হয়েছে:",
        "tags-delete-no-permission": "আপনার পরিবর্তন ট্যাগ মুছে ফেলার অনুমতি নেই।",
        "tags-activate-title": "সক্রিয় ট্যাগ",
        "tags-activate-question": "আপনি ট্যাগ \"$1\" সক্রিয় করতে চলেছেন।",
        "tags-deactivate-not-allowed": "ট্যাগ \"$1\" নিষ্ক্রিয় করা সম্ভব নয়।",
        "tags-deactivate-submit": "নিষ্ক্রিয়",
        "tags-apply-no-permission": "আপনার পরিবর্তনসহ আপনার ট্যাগ পরিবর্তন প্রয়োগ করার অনুমতি নেই।",
+       "tags-apply-blocked": "বাধা থাকাকালীন অবস্থায় {{GENDER:$1|আপনি}} আপনার সম্পাদিত পরিবর্তনগুলির সাথে সাথে ট্যাগ পরিবর্তন প্রয়োগ করতে পারবেন না।",
        "tags-apply-not-allowed-one": "\"$1\" ট্যাগটি ম্যানুয়ালি প্রয়োগ করা যাবে না।",
        "tags-apply-not-allowed-multi": "নিন্মলিখিত {{PLURAL:$2|ট্যাগটি|ট্যাগগুলি}} ম্যানুয়ালি প্রয়োগ করা যাবে না: $1",
        "tags-update-no-permission": "স্বতন্ত্র সংশোধন বা লগের ভুক্তি থেকে আপনার ট্যাগ পরিবর্তন যোগ বা বাতিল করার অনুমতি নেই।",
+       "tags-update-blocked": "বাধাপ্রাপ্ত থাকাকালীন সময়ে {{GENDER:$1|আপনি}} ট্যাগ যোগ বা অপসারণ করতে পারবেন না।",
        "tags-update-add-not-allowed-one": "\"$1\" ট্যাগটি ম্যানুয়ালি যোগ করা যাবে না।",
        "tags-update-add-not-allowed-multi": "নিন্মলিখিত {{PLURAL:$2|ট্যাগটি|ট্যাগগুলি}} ম্যানুয়ালি যোগ করা যাবে না: $1",
        "tags-update-remove-not-allowed-one": "\"$1\" ট্যাগটি বাতিল করা যাবে না।",
        "tags-edit-manage-link": "ট্যাগ পরিচালনা করুন",
        "tags-edit-revision-selected": "[[:$2]] পাতার {{PLURAL:$1|নির্বাচিত সংশোধন|নির্বাচিত সংশোধনসমূহ}}:",
        "tags-edit-logentry-selected": "{{PLURAL:$1|নির্বাচিত লগ ইভেন্ট}}:",
+       "tags-edit-revision-legend": "{{PLURAL:$1|এই সংশোধনে|$1টি সংশোধনের সবগুলিতে}} ট্যাগ যোগ বা অপসারণ করুন।",
        "tags-edit-logentry-legend": "{{PLURAL:$1|এই লগের ভুক্তি|$1টি লগের ভুক্তি}} থেকে ট্যাগ যোগ বা বাতিল করুন",
        "tags-edit-existing-tags": "বিদ্যমান ট্যাগ:",
        "tags-edit-existing-tags-none": "<em>কোনটি নয়</em>",
        "tags-edit-success": "পরিবর্তন প্রয়োগ করা হয়েছে।",
        "tags-edit-failure": "পরিবর্তন প্রয়োগ করা যায়নি: $1",
        "tags-edit-nooldid-title": "লক্ষ্য সংশোধন অবৈধ",
+       "tags-edit-nooldid-text": "আপনি হয় কোন লক্ষ্য সংশোধনটিতে এই ফাংশনটি সম্পাদন করতে হবে তা নির্দিষ্ট করে দেননি, অথবা নির্দিষ্টকৃত সংশোধনটির অস্তিত্ব নেই।",
        "tags-edit-none-selected": "যোগ করতে অথবা অপসারণ করতে অন্ততপক্ষে একটি ট্যাগ দয়া করে নির্বাচন করুন।",
        "comparepages": "পাতার তুলনা",
        "compare-page1": "পাতা ১",
        "logentry-protect-protect-cascade": "$1 $3 {{GENDER:$2|সুরক্ষিত করেছেন}} $4 [প্রপাতাকার]",
        "logentry-protect-modify": "$1 $3-এর জন্য সুরক্ষা স্তর {{GENDER:$2|পরিবর্তন করেছেন}} $4",
        "logentry-protect-modify-cascade": "$1 $3-এর জন্য সুরক্ষা স্তর {{GENDER:$2|পরিবর্তন করেছেন}} $4 [প্রপাতাকার]",
-       "logentry-rights-rights": "$1 à¦¬à§\8dযবহারà¦\95ারà§\80, {{GENDER:$6|$3}}-à¦\8fর à¦¦à¦²à¦\97ত à¦¸à¦¦à¦¸à§\8dযপদ $4 à¦¥à§\87à¦\95à§\87 $5 এ {{GENDER:$2|পরিবর্তন}} করেছেন",
+       "logentry-rights-rights": "$1 à¦¨à¦¾à¦®à¦\95 à¦¬à§\8dযবহারà¦\95ারà§\80 {{GENDER:$6|$3}}-à¦\8fর à¦¦à¦²à§\80য় à¦¸à¦¦à¦¸à§\8dযপদ $4  à¦¥à§\87à¦\95à§\87 $5 -এ {{GENDER:$2|পরিবর্তন}} করেছেন",
        "logentry-rights-rights-legacy": "$1 দলের সদস্যপদ পরিবর্তন করেছেন {{GENDER:$2|changed}} এর জন্য $3",
        "logentry-rights-autopromote": "$1 স্বয়ংক্রিয়ভাবে $4 থেকে $5-এ {{GENDER:$2|উন্নীত}} হয়েছেন",
        "logentry-upload-upload": "$1 $3 {{GENDER:$2|আপলোড করেছেন}}",
        "logentry-upload-overwrite": "$1 $3-এর একটি নতুন সংস্করণ {{GENDER:$2|আপলোড করেছেন}}",
        "logentry-upload-revert": "$1 $3 {{GENDER:$2|আপলোড করেছেন}}",
        "log-name-managetags": "ট্যাগ ব্যবস্থাপনা লগ",
+       "log-description-managetags": "এই পাতাতে [[Special:Tags|ট্যাগ]] ব্যবস্থাপনা কার্যাবলির একটি তালিকা আছে। এই লগে কেবলমাত্র সেইসব কর্মের তালিকা আছে, যেগুলি একজন প্রশাসক নিজ হাতে সম্পাদন করেছেন; উইকি সফটওয়্যার দিয়ে ট্যাগ সৃষ্টি বা অপসারণ করা সম্ভব, যার কোন ভুক্তি এই লগে সংরক্ষিত হবে না।",
        "logentry-managetags-create": "$1 \"$4\" ট্যাগটি {{GENDER:$2|তৈরি করেছেন}}",
        "logentry-managetags-delete": "$1 \"$4\" ট্যাগটি {{GENDER:$2|অপসারণ করেছেন}} ($5টি {{PLURAL:$5|সংস্করণ বা লগ ভুক্তি|সংস্করণ ও/বা লগ ভুক্তি}} সরানো হয়েছে)",
+       "logentry-managetags-activate": "$1 \"$4\" ট্যাগটি ব্যবহারকারী ও বট দ্বারা ব্যবহারের জন্য {{GENDER:$2|সক্রিয়}} করেছেন",
        "logentry-managetags-deactivate": "$1 \"$4\" ট্যাগটি ব্যবহারকারী ও বট দ্বারা ব্যবহারের জন্য {{GENDER:$2|নিষ্ক্রিয়}} করেছেন",
        "log-name-tag": "ট্যাগ লগ",
+       "log-description-tag": "এই পাতাতে দেখানো হয়েছে কখন কখন ব্যবহারকারীরা নির্দিষ্ট সংশোধন বা লগ ভুক্তিতে [[Special:Tags|ট্যাগ]] যোগ বা সেখান থেকে ট্যাগ অপসারণ করেছেন। যখন কোন সম্পাদনা, অপসারণ বা এই জাতীয় কর্মের অংশ হিসেবে ট্যাগ করা হয়, সেই ট্যাগগুলি এই লগে তালিকাভুক্ত করা হয় না।",
+       "logentry-tag-update-add-revision": "$1 নামক ব্যবহারকারী $6 এই {{PLURAL:$7|টি ট্যাগ}} $3 নামক পাতার $4 নং সংস্করণে {{GENDER:$2|যোগ করেছেন}}",
+       "logentry-tag-update-add-logentry": "$1 নামক ব্যবহারকারী $6 এই {{PLURAL:$7|টি ট্যাগ}} $3 নামক পাতার $5 নং লগ ভুক্তিতে {{GENDER:$2|যোগ করেছেন}}",
+       "logentry-tag-update-remove-revision": "$1 নামক ব্যবহারকারী $8 এই {{PLURAL:$9|টি ট্যাগ}} $3 নামক পাতার $4 নং সংস্করণ থেকে {{GENDER:$2|অপসারণ করেছেন}}",
+       "logentry-tag-update-remove-logentry": "$1 নামক ব্যবহারকারী $8 এই {{PLURAL:$9|টি ট্যাগ}} $3 নামক পাতার $5 নং লগ ভুক্তি থেকে {{GENDER:$2|অপসারণ করেছেন}}",
+       "logentry-tag-update-revision": "$1 নামক ব্যবহারকারী $3 নামক পাতার $4 নং সংস্করণের ট্যাগগুলি  {{GENDER:$2|হালনাগাদ করেছেন}} ($6 এই {{PLURAL:$7|টি যোগ করা হয়েছে}};$8 এই {{PLURAL:$9|টি অপসারণ করা হয়েছে}})",
+       "logentry-tag-update-logentry": "$1 নামক ব্যবহারকারী $3 নামক পাতার $5 নং লগ ভুক্তির ট্যাগগুলি  {{GENDER:$2|হালনাগাদ করেছেন}} ($6 এই {{PLURAL:$7|টি যোগ করা হয়েছে}};$8 এই {{PLURAL:$9|টি অপসারণ করা হয়েছে}})",
        "rightsnone": "(কিছু নাই)",
-       "revdelete-summary": "সম্পাদনা সারাংশ",
        "rightslogentry-temporary-group": "$1 (সাময়িক, $2 পর্যন্ত)",
        "feedback-adding": "পাতায় প্রতিক্রিয়া যোগ হচ্ছে...",
        "feedback-back": "পিছনে",
        "pagelang-reason": "কারণ",
        "pagelang-submit": "জমা দাও",
        "pagelang-nonexistent-page": "$1 শিরোনামে কোন পাতা নেই।",
-       "pagelang-db-failed": "ডাটাবেস পৃষ্ঠার ভাষা পরিবর্তন করতে ব্যর্থ হয়েছে।",
+       "pagelang-unchanged-language": "$1 পাতাটি ইতিমধ্যে $2 ভাষায় নির্ধারণ করা আছে।",
+       "pagelang-unchanged-language-default": "$1 পাতাটি ইতিমধ্যেই উইকির পূর্বনির্ধারিত বিষয়বস্তুর ভাষায় নির্ধারণ করা আছে।",
+       "pagelang-db-failed": "ডাটাবেস পাতার ভাষা পরিবর্তন করতে ব্যর্থ হয়েছে।",
        "right-pagelang": "পাতার ভাষা পরিবর্তন করুন",
        "action-pagelang": "পাতার ভাষা পরিবর্তন করুন",
        "log-name-pagelang": "ভাষা পরিবর্তন লগ",
        "log-description-pagelang": "এটি পাতার ভাষা পরিবর্তনের লগ।",
        "logentry-pagelang-pagelang": "$1 $3-এর ভাষা $4 থেকে $5-এ {{GENDER:$2|পরিবর্তন}} করেছেন",
+       "default-skin-not-found": "ওহো! আপনার উইকির যে পুনর্নির্ধারিত বহিরাবরণ, যেটি <code dir=\"ltr\">$wgDefaultSkin</code>-এ <code>$1</code> হিসেবে সংজ্ঞায়িত, সেটি পাওয়া যাচ্ছে না।\n\nআপনার ইনস্টলেশনে মনে হচ্ছে নিম্নোক্ত {{PLURAL:$4|টি বহিরাবরণ}} অন্তর্ভুক্ত আছে। কী করে {{PLURAL:$4।|এটি|এগুলি}} সক্রিয় করতে হবে এবং পূর্বনির্ধারিতটি নির্বাচন করতে হবে, তার জন্য [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual: Skin configuration] দেখুন। \n\n$2\n\n; যদি আপনি খুব সম্প্রতি মিডিয়াউইকি ইন্সটল করে থাকেন:\n: আপনি সম্ভবত গিট থেকে অথবা সরাসরি উৎস কোড থেকে অন্য কোন পদ্ধতি অনুসরণ করে ইন্সটল করেছেন। এমনটাই প্রত্যাশিত।  [https://www.mediawiki.org/wiki/Category:All_skins mediawiki.org-এর বহিরাবরণ নির্দেশিকা] থেকে নিচের পদ্ধতিগুলির সাহায্যে কিছু বহিরাবরণ ইন্সটল করার চেষ্টা করুন:\n:* [https://www.mediawiki.org/wiki/Download টারবল ইন্সটলারটি] ডাউনলোড করে; এটিতে অনেকগুলি বহিরাবরণ ও এক্সটেনশন রয়েছে। আপনি এটির  <code>skins/</code> ডাইরেকটরিটি প্রতিলিপি করে সাঁটতে পারেন।\n:* নির্দিষ্ট বহিরাবরণ টারবলগুলি [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org] থেকে ডাউনলোড করতে পারেন।\n:* [https://www.mediawiki.org/wiki/Download_from_Git#Using_Git_to_download_MediaWiki_skins গিট ব্যবহার করে বহিরাবরণ ডাউনলোড করতে পারেন]\n: আপনি যদি মিডিয়াউইকি ডেভেলপার হয়ে থাকেন, তাহলে এ কাজটি করলে আপনার গিট সংগ্রহশালার সাথে এটির সংঘাত হবে না।\n; আপনি যদি খুব সম্প্রতি মিডিয়াউইকির সর্বশেষ সংস্করণে হালনাগাদ করে থাকেন:\n: মিডিয়াউইকির ১.২৪ এবং নতুনতর সংস্করণগুলি ইন্সটলকৃত বহিরাবরণগুলি আর স্বয়ংক্রিয়ভাবে সক্রিয় করে না। ([https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery Manual: Skin autodiscovery] দেখুন)। আপনি <code>LocalSettings.php</code> ফাইলটির ভেতরে নিম্নোক্ত  {{PLURAL:$5|টি লাইন}} সেঁটে ইন্সটলকৃত {{PLURAL:$5|টি বহিরাবরণ}} {{PLURAL:$5|সবগুলি}} সক্রিয় করতে পারেন:\n\n<pre dir=\"ltr\">$3</pre>\n\n; আপনি যদি খুব সম্প্রতি <code>LocalSettings.php</code> পরিবর্তন করে থাকেন:\n: টাইপিং ত্রুটির জন্য বহিরাবরণের নামগুলি পুনরায় পরীক্ষা করুন।",
+       "default-skin-not-found-no-skins": "ওহো! আপনার উইকির যে পুনর্নির্ধারিত বহিরাবরণ, যেটি <code dir=\"ltr\">$wgDefaultSkin</code>-এ <code>$1</code> হিসেবে সংজ্ঞায়িত, সেটি পাওয়া যাচ্ছে না।\n\nআপনার কোন বহিরাবরণ ইন্সটল করা হয়নি।\n\n; যদি আপনি খুব সম্প্রতি মিডিয়াউইকি ইন্সটল করে থাকেন বা মিডিয়াউইকির সর্বশেষ সংস্করণে হালনাগাদ করে থাকেন:\n: আপনি সম্ভবত গিট থেকে অথবা সরাসরি উৎস কোড থেকে অন্য কোন পদ্ধতি অনুসরণ করে ইন্সটল করেছেন। এমনটাই প্রত্যাশিত। মিডিয়াউইকির ১.২৪ এবং নতুনতর সংস্করণগুলি মূল সংগ্রহশালাতে এখন আর কোন বহিরাবরণ অন্তর্ভুক্ত থাকে না।  আর স্বয়ংক্রিয়ভাবে সক্রিয় করে না।  [https://www.mediawiki.org/wiki/Category:All_skins mediawiki.org-এর বহিরাবরণ নির্দেশিকা] থেকে নিচের পদ্ধতিগুলির সাহায্যে কিছু বহিরাবরণ ইন্সটল করার চেষ্টা করুন:\n:* [https://www.mediawiki.org/wiki/Download টারবল ইন্সটলারটি] ডাউনলোড করে; এটিতে অনেকগুলি বহিরাবরণ ও এক্সটেনশন রয়েছে। আপনি এটির  <code>skins/</code> ডাইরেকটরিটি প্রতিলিপি করে সাঁটতে পারেন।\n:* নির্দিষ্ট বহিরাবরণ টারবলগুলি [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org] থেকে ডাউনলোড করতে পারেন।\n:* [https://www.mediawiki.org/wiki/Download_from_Git#Using_Git_to_download_MediaWiki_skins গিট ব্যবহার করে বহিরাবরণ ডাউনলোড করতে পারেন]\n: আপনি যদি মিডিয়াউইকি ডেভেলপার হয়ে থাকেন, তাহলে এ কাজটি করলে আপনার গিট সংগ্রহশালার সাথে এটির সংঘাত হবে না।([https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual: Skin configuration]-এ দেখুন) কীভাবে বহিরাবরণগুলি সক্রিয় করতে হয় এবং কোন বহিরাবরণটি পুনর্নির্ধারিত  হবে, তা কীভাবে নির্বাচন করতে হয়।",
        "default-skin-not-found-row-enabled": "* <code>$1</code> / $2 (সক্রিয় করা)",
        "default-skin-not-found-row-disabled": "* <code>$1</code> / $2 (<strong>নিষ্ক্রিয় করা</strong>)",
        "mediastatistics": "মিডিয়া পরিসংখ্যান",
        "json-error-ctrl-char": "অক্ষর নিয়ন্ত্রণ ত্রুটি, সম্ভবত ভুল এনকোডকৃত",
        "json-error-syntax": "সিনট্যাক্স ত্রুটি",
        "json-error-utf8": "ত্রুটিপূর্ণ ইউটিএফ-৮ অক্ষর, সম্ভবত ভুল এনকোডকৃত",
+       "json-error-recursion": "যে ভ্যালুটি এনকোড করা হবে সেটিতে এক বা তার অধিক রিকার্সিভ রেফারেন্স আছে।",
+       "json-error-inf-or-nan": "এক বা তার অধিক NAN অথবা INF ভ্যালু এনকোড করার জন্য প্রবিষ্ট ভ্যালুতে বিদ্যমান।",
        "json-error-unsupported-type": "এনকোড করা যাবে না এমন একটি মানের ধরন দেয়া হয়েছে",
        "headline-anchor-title": "এই অনুচ্ছেদে সংযোগ",
        "special-characters-group-latin": "লাতিন",
        "log-action-filter-contentmodel-change": "বিষয়বস্তুর রূপ পরিবর্তন",
        "log-action-filter-contentmodel-new": "অ-মানক বিষয়বস্তুর রূপসহ পাতা তৈরি",
        "log-action-filter-delete-delete": "পাতা অপসারণ",
+       "log-action-filter-delete-delete_redir": "পুনর্নির্দেশ মুছে নতুন করে লেখা",
        "log-action-filter-delete-restore": "পাতা পুনঃরুদ্ধার",
        "log-action-filter-delete-event": "লগ অপসারণ",
        "log-action-filter-delete-revision": "সংশোধন অপসারণ",
        "log-action-filter-managetags-delete": "ট্যাগ অপসারণ",
        "log-action-filter-managetags-activate": "ট্যাগ সক্রিয়করণ",
        "log-action-filter-managetags-deactivate": "ট্যাগ নিষ্ক্রিয়করণ",
+       "log-action-filter-move-move": "পুনর্নির্দেশগুলি মুছে নতুন করে না লিখে স্থানান্তর",
+       "log-action-filter-move-move_redir": "পুনর্নির্দেশগুলি মুছে নতুন করে লিখে স্থানান্তর",
        "log-action-filter-newusers-create": "বেনামী ব্যবহারকারী দ্বারা সৃষ্টি",
        "log-action-filter-newusers-create2": "নিবন্ধিত ব্যবহারকারী দ্বারা সৃষ্টি",
        "log-action-filter-newusers-autocreate": "স্বয়ংক্রিয় সৃষ্টি",
        "log-action-filter-protect-move_prot": "সুরক্ষা স্থানান্তরিত",
        "log-action-filter-rights-rights": "ম্যানুয়াল পরিবর্তন",
        "log-action-filter-rights-autopromote": "স্বয়ংক্রিয় পরিবর্তন",
+       "log-action-filter-suppress-event": "লগ বিলোপন",
+       "log-action-filter-suppress-revision": "সম্পাদনা দমন",
+       "log-action-filter-suppress-delete": "পাতা বিলোপন",
+       "log-action-filter-suppress-block": "বাধাদানের মাধ্যমে ব্যবহারকারী দমন",
+       "log-action-filter-suppress-reblock": "পুনরায় বাধাদানের মাধ্যমে ব্যবহারকারী দমন",
        "log-action-filter-upload-upload": "নতুন আপলোড",
        "log-action-filter-upload-overwrite": "পুনঃআপলোড",
+       "authmanager-authn-not-in-progress": "শনাক্তকরণ প্রক্রিয়াটি আর অগ্রসর হচ্ছে না কিংবা সেশনের উপাত্ত হারিয়ে গেছে। অনুগ্রহ করে আবার শুরু থেকে শুরু করুন।",
        "authmanager-authn-no-primary": "সরবরাহকৃত পরিচয়পত্রের অনুমোদন যাচাই করা যায়নি।",
+       "authmanager-authn-no-local-user": "সরবরাহকৃত পরিচয়জ্ঞাপক তথ্যগুলি এই উইকির কোনও ব্যবহারকারীর সাথে সংশ্লিষ্ট নয়।",
+       "authmanager-authn-no-local-user-link": "সরবরাহকৃত পরিচয়জ্ঞাপক তথ্যগুলি সঠিক আছে, কিন্তু এই উইকির কোনও ব্যবহারকারীর সাথে সংশ্লিষ্ট নয়। ভিন্ন কোন পদ্ধতিতে অ্যাকাউন্টে প্রবেশ করুন, অথবা নতুন নামে একটি ব্যবহারকারী অ্যাকাউন্ট সৃষ্টি করুন। তাহলে পূর্বের পরিচয়জ্ঞাপক তথ্যগুলি ঐ অ্যাাকাউন্টের সাথে সংযুক্ত করার একটি সুযোগ পাবেন।",
        "authmanager-authn-autocreate-failed": "একটি স্থানীয় অ্যাকাউন্টের স্বয়ংক্রিয়-সৃষ্টি ব্যর্থ হয়েছে: $1",
+       "authmanager-change-not-supported": "সরবরাহকৃত পরিচয়জ্ঞাপক উপাত্তগুলি পরিবর্তন করা সম্ভব নয়, কারণ কোনকিছুই এগুলি ব্যবহার করবে না।",
        "authmanager-create-disabled": "অ্যাকাউন্ট সৃষ্টিকরণ নিষ্ক্রিয় করা হয়েছে।",
        "authmanager-create-from-login": "আপনার একাউন্ট তৈরি করতে, ক্ষেত্রগুলি পূরণ করুন।",
+       "authmanager-create-not-in-progress": "অ্যাকাউন্ট সৃষ্টির প্রক্রিয়াটি আর অগ্রসর হচ্ছে না কিংবা সেশনের উপাত্ত হারিয়ে গেছে। অনুগ্রহ আবার শুরু থেকে শুরু করুন।",
+       "authmanager-create-no-primary": "সরবরাহকৃত পরিচয়জ্ঞাপক উপাত্তগুলি অ্যাকাউন্ট সৃষ্টির জন্য ব্যবহার করা সম্ভব হ‍য়নি।",
+       "authmanager-link-no-primary": "সরবরাহকৃত পরিচয়জ্ঞাপক উপাত্তগুলি অ্যাকাউন্ট সংযুক্তকরণের জন্য ব্যবহার করা সম্ভব হয়নি।",
+       "authmanager-link-not-in-progress": "অ্যাকাউন্ট সংযুক্তকরণ প্রক্রিয়াটি আর অগ্রসর হচ্ছে না কিংবা সেশনের উপাত্ত হারিয়ে গেছে। অনুগ্রহ আবার শুরু থেকে শুরু করুন।",
        "authmanager-authplugin-setpass-failed-title": "পাসওয়ার্ড পরিবর্তন ব্যর্থ হয়েছে",
        "authmanager-authplugin-setpass-failed-message": "প্রমাণীকরণ প্লাগইন পাসওয়ার্ড পরিবর্তন করতে অস্বীকৃতি জানিয়েছে।",
        "authmanager-authplugin-create-fail": "প্রমাণীকরণ প্লাগইন অ্যাকাউন্ট তৈরি করতে অস্বীকৃতি জানিয়েছে।",
+       "authmanager-authplugin-setpass-denied": "প্রমাণীকরণ প্লাগইন পাসওয়ার্ড পরিবর্তন করার অনুমতি দেয় না।",
        "authmanager-authplugin-setpass-bad-domain": "অবৈধ ডোমেইন।",
        "authmanager-autocreate-noperm": "স্বয়ংক্রিয় অ্যাকাউন্ট সৃষ্টি মঞ্জুরিপ্রাপ্ত নয়।",
+       "authmanager-autocreate-exception": "স্বয়ংক্রিয় অ্যাকাউন্ট সৃষ্টিকরণ পূর্ববর্তী ত্রুটির কারণে সাময়িকভাবে অক্ষম করা হয়েছে।",
        "authmanager-userdoesnotexist": "ব্যবহারকারী অ্যাকাউন্ট \"$1\" অনিবন্ধিত।",
+       "authmanager-userlogin-remembermypassword-help": "পাসওয়ার্ডটিকে আপনার সংযুক্তাবস্থা বা সেশনের দৈর্ঘ্যের চেয়ে বেশী সময়ের জন্য মনে রাখতে হবে কি না",
        "authmanager-username-help": "প্রমাণীকরণের জন্য ব্যবহারকারী নাম।",
        "authmanager-password-help": "প্রমাণীকরণের জন্য পাসওয়ার্ড।",
        "authmanager-domain-help": "বহিঃস্থ প্রমাণীকরণের জন্য ডোমেইন।",
        "authmanager-provider-password": "পাসওয়ার্ড-ভিত্তিক প্রমাণীকরণ।",
        "authmanager-provider-password-domain": "পাসওয়ার্ড ও ডোমেইন-ভিত্তিক প্রমাণীকরণ।",
        "authmanager-provider-temporarypassword": "অস্থায়ী পাসওয়ার্ড",
+       "authprovider-confirmlink-message": "আপনার সাম্প্রতিক অ্যাকাউন্টে প্রবেশের প্রচেষ্টাগুলির উপর ভিত্তি করে জানা গেছে যে নিচের অ্যাকাউন্টগুলির সাথে আপনার উইকি অ্যাকাউন্টটি সংযুক্ত করে দেওয়া সম্ভব। ঐ অ্যাকাউন্টগুলির সাথে সংযুক্ত হলে আপনি ঐগুলি থেকে প্রবেশ করতে পারবেন। অনুগ্রহ যে অ্যাকাউন্টগুলির সাথে সংযুক্ত হতে চান, সেগুলি নির্বাচন করুন।",
        "authprovider-confirmlink-request-label": "অ্যাকাউন্ট যা সংযুক্ত হওয়া উচিত",
        "authprovider-confirmlink-success-line": "$1: সংযোগ করা সফল হয়েছে।",
        "authprovider-confirmlink-failed": "অ্যাকাউন্ট সংযোগ করা সম্পূর্ণরূপে সফল হয়নি: $1",
index 7b6c458..1ecfc7e 100644 (file)
@@ -31,8 +31,9 @@
        "tog-enotifminoredits": "امیل به مو سی صفحات ناقص اصلاح شده",
        "tog-enotifrevealaddr": "نشودادن امیل مو درامیلهای آگاهی-خبری",
        "tog-shownumberswatching": "نشودادن شماره کاربران درحال کار یاتماشا",
-       "tog-fancysig": "امضاهای ناتمام - بدون لینکهای اتوماتیک",
-       "tog-uselivepreview": "استفاده زه پیش نمایش زنده(جاوااسکریپ) (تجربی )",
+       "tog-oldsig": "امضا ایسنی",
+       "tog-fancysig": "امضایل ناتموم",
+       "tog-uselivepreview": "پیش سئیل زندە ڤن ڤا کار",
        "tog-forceeditsummary": "یادآوری سریع به مو هنگام اصلاح عقیم وخلاصه",
        "tog-watchlisthideown": "قایم کردن اصلاحات مو  زه لیست پیگیریها",
        "tog-watchlisthidebots": "قایم کردن اصلاحات بوت زه لیست پیگیریها",
        "yourdomainname": "پوشگر ايسا:",
        "login": "اویدن به سیستم",
        "nav-login-createaccount": "اویدن به سیستم",
-       "userlogin": "اویدن به سیستم / درست کردن حساب کاربری",
-       "userloginnocreate": "ڤامین اوڤیڌن",
        "logout": "رهدن زه سیستم",
        "userlogout": "رهدن زه سیستم",
        "userlogin-noaccount": "یأ هساڤ کارياري دارين؟",
        "userlogin-joinproject": "أندوم ديارگأ {{SITENAME}} ڤابۈین",
-       "nologin": "آیا ایسا حساب کاربری ندارین? '''$1'''.",
-       "nologinlink": "درست کردن یه حساب کاربری",
        "createaccount": "درست کردن حساب کاربری",
-       "gotaccount": "آیا تقریبا یه حساب کاربری دارین? '''$1'''.",
-       "gotaccountlink": "اویدن به",
        "userlogin-resetpassword-link": "رازینإ گوڤأرتن تۈ ز ڤيرتۈن رأهڌإ",
        "userlogin-helplink2": "هومياري کردن سي ڤامإن أڤوڌن",
        "createacct-emailrequired": "تيرنشۈن أنجومانامأ",
        "createacct-emailoptional": "تيرنشۈن أنجومانامأ",
        "createacct-email-ph": "تيرنشۈن أنجومانامأ تۈنأ بزنين",
        "createacct-another-email-ph": "تيرنشۈن أنجومانامأ تۈنأ بزنين",
-       "createaccountreason": "دلیل:",
        "createacct-reason": "دلیل",
        "createacct-submit": "هساڤ خوتۈنإ راسد کونين",
        "createacct-another-submit": "راسد کردن هساڤ کارياري",
+       "createacct-benefit-heading": "{{SITENAME}}  ڤئ دسد خلکي چي ايسا رأڤأندیاری ڤابيڌإ.",
        "createacct-benefit-body1": "{{PLURAL:$1|ڤيرایشد|ڤيرایشدا}}",
        "createacct-benefit-body2": "{{PLURAL:$1|بألگأ|بألگإ آ}}",
        "createacct-benefit-body3": "تازأ{{PLURAL:$1|هوميار|هوميارا}}",
        "preview": "پیش نمایش",
        "showpreview": "پیش‌نمایش",
        "showdiff": "نشودادن تغییرات",
-       "anoneditwarning": "'''توجه:''' ایسا داخل سیستم نوابیدین.\nآی پی آدرستو درگزارش اصلاح صفحه ضبط ابوه.",
+       "anoneditwarning": "<strong>زئنار:</strong> شوما هأنی نیوٙمایتە ڤامین. تیرنئشوٙن آی پی شوما سی هأر گاتی کئ آلئشتکاری بأکیت سی کول خألک دیاری می کە. أر <strong>[$1 روئیت ڤامین]</strong> یا <strong>[$2 یئ گئل حئساڤ کاریاری راس بأکیت]</strong>، ڤیرایئشتیا شوما ڤئ نوم کاریاری خوتوٙ دیاری می کە و سی شوما بیتأرە.",
        "summary-preview": "پیش نمایش - خلاصه:",
        "blockedtext": " \"'''دسترسی نام کاربری یا نشانی اینترنتی ایسا بسته وابیده.'''\nای کار توسط $1 انجام شده‌است.\nدلیلی که گده اینه: $2''\n* آغاز قطع دسترسی: $8\n* زمان اتمام ای قطع دسترسی: $6\n* کاربری که قطع دسترسی‌اش در نظر بیده: $7\nایساترین با $1 یا یکی از [[{{MediaWiki:Grouppage-sysop}}|مدیران]] تماس بگیرین و در ای باره صحبت کنین.\nتوجه کنین که ایسا نترین زه امکان «ارسال پست الکترونیکی به ای کاربر» استفاده کنین مگر این که نشانی پست الکترونیکی معتبری در [[Special:Preferences|اولویتهای کاربری]]خود ثبت کرده بوین.\nنشانی IP ایسا $3 و شماره قطع دسترسی ایسا $5 است. لطفاً ای شماره‌ها را در همه کاوشهاتون ذکر کنین.\nایسا ترین با $1 یا یکی دیه زه [[{{MediaWiki:Grouppage-sysop}}|مدیران]] تماس بگیرین، تا در باره ای قطع دسترسی صحبت کنین.\nدقت کنین که سی ارسال پست الکترونیکی در ویکی، وا پست الکترونیکی خود را زه طریق صفحه[[Special:Preferences|تنظیمات]] فعال کرده بوین، و نیز، وا امکان استفاده زه ای ویژگی سی ایساقطع نبوه.\nنشانی اینترنتی الان ایسا $3 است و شماره قطع دسترسی $5 است.\nلطفاً ای شماره را در هر درخواستی که در ای مورد مطرح اکنین ذکر کنین",
        "loginreqtitle": "ڤامإن إڤوڌن لازومإ",
        "newarticle": "(تازه)",
        "newarticletext": "ايسا ز دين یأ هومپیڤأندي هڌين کإ نيڌس. سي رأڤأندياري بألگإ شورۈ کونين مإن اي جأڤإ دإڤۈني بنڤيسين(سي دونسدن بیشدر سإیل [$1]کونین).\nأر ايسا سي إشتڤاکاري ايچونين، دوگمإ رأهڌن ڤاپوشد نأ بپۈرنين.",
        "noarticletext": " ايسإ اي بألگإ نإڤشدإیي نارإ، ايسا تإرين [[Special:Search/{{PAGENAME}}داسۈن اي بألگإ نإ مإن بألگإآ ديأري پی جۈري کونين]] یا [{{fullurl:{{FULLPAGENAME}}|action=edit}} اي بألگإ نأ ڤيرایشد کونين].",
+       "noarticletext-nopermission": " ايسإ اي بألگإ نإڤشدإیي نارإ، ايسا تإرين [[Special:Search/{{PAGENAME}}داسۈن اي بألگإ نإ مإن بألگإآ ديأري پی جۈري کونين]] یا [{{fullurl:{{FULLPAGENAME}}|action=edit}} اي بألگإ نأ ڤيرایشد کونين].",
        "previewnote": "'''ای فقط یه پیش نمایشه;\nتغییراتی که ایسا دادین هنی ضبط نوابیده!'''",
        "editing": "درحال اصلاح $1",
        "creating": "راسد کردن $1",
        "templatesusedpreview": "قالبها  یا الگوهای استفاده وابیده در ای پیش نمایش:",
        "template-protected": "(تحت حمایت)",
        "template-semiprotected": "(نیمه حمایت وابیده)",
+       "hiddencategories": "اي بلگأ یکي ز أندوما {{PLURAL:$1|1 hidden category|$1 hidden categories}} إ:",
        "nocreatetext": "{{SITENAME}}قابلیت درست کردن صفحات تازه را محدود کرده‌. ترین برگردین و صفحه‌ موجود را اصلاح کنین یا اینکه  [[Special:UserLogin|به سیستم داخل بوین یا حساب کاربری درست کنین]].",
        "permissionserrorstext-withaction": "ايسا سی نياگري $2 سإلا\nنارين {{PLURAL:$1|دلیل|دليلا}}:",
        "recreate-moveddeleted-warn": "'''هشدار: ایسا در حال درست کردن دوباره صفحه‌ای هدین که قبلاً حذف وابیده '''در نظر داشته بوین که ادامه اصلاح ای صفحه کار درستی هده یا نه. نمایه حذف مربوط به ای صفحه سی راحتی کار در ادامه اویده",
        "lineno": "سطر $1:",
        "compareselectedversions": "مقایسه نسخه‌های انتخاب‌ وابیده",
        "editundo": "لغو اصلاح آخر",
+       "diff-multi-sameuser": "({{PLURAL:$1|یه دۈنإ نسقه مینجایی|$1 نسقه یل مینجایی}} ب دسد{{PLURAL:$2|کاریاری ديأ|$2 کاريارا}} نشۈن داڌإ نڤابيڌإ)",
        "searchresults": "نتيجأ آ پی جۈري سي",
        "searchresults-title": "نتيجإ آ پی جوري سي \"$1\"",
        "prevn": "قبلی {{PLURAL:$1|$1}}",
        "nextn-title": "نيایي $1 {{PLURAL:$1|نتيجه|نتيجإآ}}",
        "shown-title": "نإشۈن دائن $1 {{PLURAL:$1|نتيجأ|نتيجإ آ}} سي هر بألگأ",
        "viewprevnext": "مشاهده ($1 {{int:pipe-separator}} $2) ($3)",
+       "searchmenu-new": "<strong>اي بلگإ نأ مإن \"[[:$1]]\" اي ڤيکي راسد کو!</strong> {{PLURAL:$2|0=|See also the page found with your search.|See also the search results found.}}",
        "searchprofile-articles": "بلگه آ مینونه دار",
        "searchprofile-images": "ڤارسگرا خلکمند",
        "searchprofile-everything": "همه چی",
        "search-suggest": "منزۈرت یو بي:$1",
        "search-interwiki-more": "(بيشدر)",
        "searchall": "همه",
+       "search-showingresults": "{{PLURAL:$4|نتیجه یل<strong>$1</strong> د <strong>$3</strong>|نتیجه یل<strong>$1 - $2</strong د <strong>$3</strong>}}",
        "search-nonefound": "هیژ نتیجه یی وا پی جست تو یکی نئ.",
        "powersearch-toggleall": "همأ",
        "powersearch-togglenone": "هيش کوم",
        "enhancedrc-history": "ڤیرگار",
        "recentchanges": "تغییرات اخیر",
        "recentchanges-legend": "گزينإ آ آلشدا ايسإني",
+       "recentchanges-summary": "دو بیشتر آلشدا تازباو نه د ویکی نه د ای بلگه پیگری کو.",
        "recentchanges-feed-description": "ردیابی آخرین تغییرات  ویکی در ای خورد",
        "recentchanges-label-newpage": "ای ويرايشت يه بلگه تازه راس كرده",
        "recentchanges-label-minor": "یو یه ويرايشت کوچيره",
        "recentchangeslinked-title": "تغییرهای مرتبط با $1",
        "recentchangeslinked-summary": " ای صفحه خاص تغییرات اخیر در صفحه‌های لینک داده شده به این صفحه را نشو اده.\nصفحه‌هایی که در لیست پی‌گیریهای ایسا بون به شکل '''سیاه''' نشو داده ابون.",
        "recentchangeslinked-page": "نوم بألگە:",
+       "recentchangeslinked-to": "آلشتیایی که د بلگه یا هوم پیوند بینه وه جا بلگه دئیه بیه نشو بیه",
        "upload": "آپلود فایل",
        "uploadbtn": "آپلود فایل",
        "uploadlogpage": "نمایه آپلود",
        "tooltip-recreate": "دوباره درست کردن صفحه ای که زه رو کینه وغرض پاک وابیده",
        "tooltip-upload": "شروع آپلود",
        "tooltip-rollback": "\"اعاده\" برگرداندن به وضع اولیه سی ای صفحه که بخاطر مشارکت  آخر اصلاح وابیده بایک کلیک",
+       "tooltip-undo": "انجوم نگرتن ای ویرایشت ورگن و همه فرمیا ویرایشت تانه که حالت پیش سیل واکو.یه اجازه میئه سی اضاف کردن یه دلیل د چکسته.",
        "tooltip-summary": "یأ چکسدأ کۈچير ڤارڌ کونين",
        "simpleantispam-label": "Anti-spam check.\nپور<strong>نکنين</strong> ايچو نأ!",
        "pageinfo-toolboxlink": "دونسمندیا بلگه",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|چک چنه]])",
        "version": "ترجمه یا تفسیر",
        "specialpages": "صفحات ویژه",
-       "tag-filter": "[[Special:سرديسا|سرديس]] فيلتر :",
+       "tag-filter": "[[Special:سرديسا|سرديس]] فيلتر:",
        "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|سرديس|سرديسا}}]]: $2)",
        "logentry-delete-delete": "$1 بألگأ {{GENDER:$2|پاکسا ڤابيأ}} $3",
        "logentry-move-move": "$1 {{GENDER:$2|جا ب جا کردإ}} بألگأ $3 نأ سي $4",
index a47a9e4..b32913e 100644 (file)
        "login": "Kevreañ",
        "login-security": "Gwiriit hoc'h identelezh",
        "nav-login-createaccount": "Krouiñ ur gont pe kevreañ",
-       "userlogin": "Kevreañ / krouiñ ur gont",
-       "userloginnocreate": "Kevreañ",
        "logout": "Digevreañ",
        "userlogout": "Digevreañ",
        "notloggedin": "Digevreet",
        "userlogin-noaccount": "Kont ebet ganeoc'h c'hoazh ?",
        "userlogin-joinproject": "Kemer perzh e {{SITENAME}}",
-       "nologin": "N'hoc'h eus kont ebet ? $1.",
-       "nologinlink": "Krouiñ ur gont",
        "createaccount": "Krouiñ ur gont nevez",
-       "gotaccount": "Ur gont zo ganeoc'h dija ? '''$1'''.",
-       "gotaccountlink": "Kevreañ",
-       "userlogin-resetlink": "Ha disoñjet eo bet ho titouroù kevreañ ganeoc'h ?",
        "userlogin-resetpassword-link": "Ankouaet ho ker-tremen ganeoc'h ?",
        "userlogin-helplink2": "Skoazell evit kevreañ",
        "userlogin-loggedin": "Kevreet oc'h dija evel {{GENDER:$1|$1}}.\nImplijit ar furmskrid amañ dindan evit kevreañ evel un implijer all.",
        "createaccountmail": "Implijout ur ger-tremen dibad ha kas anezhañ d'ar chomlec'h postel diferetDre bostel",
        "createaccountmail-help": "Gallout a ra bezañ implijet evit krouiñ ur gont evit unan bennak all hep gouzout ar ger-tremen.",
        "createacct-realname": "Anv gwir (diret)",
-       "createaccountreason": "Abeg :",
        "createacct-reason": "Abeg",
        "createacct-reason-ph": "Perak emaoc'h o krouiñ ur gont all",
        "createacct-reason-help": "Kemennadenn embannet e marilh ar c'hrouiñ kontoù",
        "page_first": "kentañ",
        "page_last": "diwezhañ",
        "histlegend": "Sellet ouzh an diforc'hioù : lakait un ask adal d'ar stummoù a fell deoc'h keñveriañ ha pouezit war kadarnaat pe war ar bouton en traoñ.<br />\nAlc'hwez : (red) = diforc'hioù gant ar stumm a-vremañ,\n(diwez) = diforc'hioù gant ar stumm kent, D = kemm dister",
-       "history-fieldset-title": "Furchal en istor",
-       "history-show-deleted": "Diverket hepken",
+       "history-fieldset-title": "Klask adweladennoù",
+       "history-show-deleted": "Stumm diverket hepken",
        "histfirst": "koshañ",
        "histlast": "nevezañ",
        "historysize": "({{PLURAL:$1|$1 okted|$1 okted}})",
        "revdelete-no-file": "N'eus ket eus ar restr spisaet ganeoc'h.",
        "revdelete-show-file-confirm": "Ha sur oc'h e fell deoc'h gwelet stumm diverket ar restr \"<nowiki>$1</nowiki>\" deiziataet eus an $2 da $3?",
        "revdelete-show-file-submit": "Ya",
-       "revdelete-selected-text": "{{PLURAL:$1|Stummoù diuzet|Stumm diuzet}} of [[:$2]]:",
+       "revdelete-selected-text": "{{PLURAL:$1|Stumm diuzet}} eus [[:$2]]:",
        "revdelete-selected-file": "{{PLURAL:$1|Stumm eus ar restr diuzet}} evit [[:$2]] :",
        "logdelete-selected": "{{PLURAL:$1|Darvoud eus ar marilh diuzet}} :",
        "revdelete-text-text": "Dont a raio c'hoazh war wel ar stummoù diverket en istor ar bajenn met ne c'hallo ket an dud gwelet darn eus an danvez ken.",
        "prefs-help-prefershttps": "Efediñ a ray an dibarzh-mañ kentañ gwech ma kevreoc'h.",
        "prefswarning-warning": "Kemmet eo bet ho penndibaboù ganeoc'h, met enrollet n'int ket bet avat.\nMar kuitait ar bajenn-mañ hep klikañ war \"$1\" ne vo ket nevesaet ho penndibaboù",
        "prefs-tabs-navigation-hint": "Titourig : Gallout a rit implijout an touchennoù bir kleiz ha bir dehoù evit merdeiñ etre an ivinelloù e roll an ivinelloù.",
-       "userrights": "Merañ statud an implijerien",
+       "userrights": "Gwirioù an implijer",
        "userrights-lookup-user": "Diuzañ un implijer",
        "userrights-user-editname": "Lakait un anv implijer :",
        "editusergroup": "Kargañ strolladoù implijerien",
        "rcfilters-invalid-filter": "Sil direizh",
        "rcfilters-empty-filter": "Sil oberiant ebet. War wel emañ an holl gemmoù.",
        "rcfilters-filterlist-title": "Siloù",
+       "rcfilters-filterlist-whatsthis": "Petra eo se ?",
        "rcfilters-filterlist-feedbacklink": "Reiñ ho soñj diwar-benn ar siloù (beta) nevez",
        "rcfilters-highlightbutton-title": "Lakaat an disoc'hoù war wel",
        "rcfilters-highlightmenu-title": "Dibabit ul liv",
+       "rcfilters-highlightmenu-help": "Diuzañ ul liv evit lakaat ar perzh-mañ war wel",
        "rcfilters-filterlist-noresults": "N'eus bet kavet sil ebet",
+       "rcfilters-noresults-conflict": "N'eus bet kavet disoc'h ebet rak dezverkoù klask kontrol zo",
+       "rcfilters-state-message-subset": "Ar sil-mañ ne ra netra rak kavet e vez e zisoc'hoù e-mesk ar {{PLURAL:$2|sil|siloù}} klask da heul (klaskit e lakaat war wel evit diforc'han anezhañ) : $1",
+       "rcfilters-state-message-fullcoverage": "Diuzañ an holl siloù en ur strollad zo evel diuzañ netra, setu ne raio ket netra ar sil-mañ. Er strollad emañ : $1",
        "rcfilters-filtergroup-registration": "Enskrivadur an implijer",
        "rcfilters-filter-registered-label": "Marilhet",
        "rcfilters-filter-registered-description": "Aozerien gevreet.",
        "rcfilters-filter-unregistered-label": "Divarilh",
        "rcfilters-filter-unregistered-description": "Aozerien n'int ket kevreet.",
+       "rcfilters-filter-unregistered-conflicts-user-experience-level": "Tabut zo etre ar sil-mañ hag ar {{PLURAL:$2|sil|siloù}} Arroutet, na {{PLURAL:$2|gav|gavont}} nemet an implijerien enrollet : $1",
        "rcfilters-filtergroup-authorship": "Kemmañ anv an aozer",
        "rcfilters-filter-editsbyself-label": "Kemmet ganeoc'h",
        "rcfilters-filter-editsbyself-description": "Kemmet ganeoc'h",
        "rcfilters-filter-editsbyother-label": "Kemmet gant tud all",
        "rcfilters-filter-editsbyother-description": "Kemmoù graet gant implijerien all (ket ganeoc'h).",
        "rcfilters-filtergroup-userExpLevel": "Live skiant-prenañ (evit an implijer enrollet hepken)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "Tud nevez-deuet",
-       "rcfilters-filter-userExpLevel-newcomer-description": "Nebeutoc'h eget 10 kemm ha 4 devezh obererezh.",
-       "rcfilters-filter-userExpLevel-learner-label": "Deskarded",
-       "rcfilters-filter-userExpLevel-learner-description": "Muioc'h a zeizioù obererezh hag a gemmoù eget \"deraouidi\" hogen nebeutoc'h eget an \"implijerien arroutet\".",
-       "rcfilters-filter-userExpLevel-experienced-label": "Implijerien arroutet",
-       "rcfilters-filter-userExpLevel-experienced-description": "Ouzhpenn 30 devezh oberiantiz ha 500 kemm.",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered": "Ar siloù Arroutet ne gavont nemet implijerien enrollet, se zo kaoz zo tabut etre ar sil-mañ hag ar sil \"Dienroll\".",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered-global": "Emañ ar sil \"Dienroll\" o tabutal gant gant ur sil Arroutet pe gant meur a hini. Ar siloù Arroutet a gav implijerien enrollet hepken. Ar siloù o tabutal zo merket en takad Siloù oberiant a-us.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Tud nevez-deuet",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Nebeutoc'h eget 10 kemm ha 4 devezh obererezh.",
+       "rcfilters-filter-user-experience-level-learner-label": "Deskarded",
+       "rcfilters-filter-user-experience-level-learner-description": "Muioc'h a zeizioù obererezh hag a gemmoù eget \"deraouidi\" hogen nebeutoc'h eget an \"implijerien arroutet\".",
+       "rcfilters-filter-user-experience-level-experienced-label": "Implijerien arroutet",
+       "rcfilters-filter-user-experience-level-experienced-description": "Ouzhpenn 30 devezh oberiantiz ha 500 kemm.",
        "rcfilters-filtergroup-automated": "Degasadennoù emgefre",
        "rcfilters-filter-bots-label": "Robot",
        "rcfilters-filter-bots-description": "Kemmoù graet gant ostilhoù emgefre.",
        "rcfilters-filter-humans-label": "Den (ket ur robot)",
        "rcfilters-filter-humans-description": "Kemmoù graet gant tud kig-hag-eskern.",
+       "rcfilters-filtergroup-reviewstatus": "Adwelet ar statud",
+       "rcfilters-filter-patrolled-label": "Gwiriet",
+       "rcfilters-filter-patrolled-description": "Merkañ ar c'hemmoù evel gwiriet.",
+       "rcfilters-filter-unpatrolled-label": "Anwiriet",
+       "rcfilters-filter-unpatrolled-description": "Kemmoù n'int ket merket evit gwiriet.",
        "rcfilters-filtergroup-significance": "Talvoudegezh",
        "rcfilters-filter-minor-label": "Kemmoù dister",
        "rcfilters-filter-minor-description": "Kemmoù merket evel dister gant an aozer.",
        "rcfilters-filter-categorization-description": "Roll ar pajennoù ouzhpennet da rummadoù zo pe dilamet diouto.",
        "rcfilters-filter-logactions-label": "Obererezhioù enrollet",
        "rcfilters-filter-logactions-description": "Obererezhioù melestradurel, krouiñ kontoù, diverkañ pajennoù, enporzhiañ...",
+       "rcfilters-hideminor-conflicts-typeofchange-global": "Tabut zo etre ar sil \"Kemmoù dister\" hag unan pe meur a sil a Seurt kemmoù peogwir n'haller merkañ kemmoù zo evel \"dister\". Kavet e vo ar siloù o tabutal e takad ar siloù gweredekaet, a-us.",
+       "rcfilters-hideminor-conflicts-typeofchange": "Seurtoù kemmoù zo n'hallont ket bezañ merket evel \"dister,\", rak se ez eus tabut etre ar sil-mañ ha siloù ar Seurtoù kemmoù da heul : $1",
+       "rcfilters-typeofchange-conflicts-hideminor": "Tabut zo etre ar sil-mañ Seurt kemmoù gant sil ar \"c'hemmoù dister\". Kemmoù zo n'hallont ket bezañ merket evel \"dister\".",
        "rcnotefrom": "Setu aze {{PLURAL:$5|ar c'hemm|ar c'hemmoù}} c'hoarvezet abaoe an <strong>$3, $4</strong> (<strong>$1</strong> d'ar muiañ).",
        "rclistfrom": "Diskouez ar c'hemmoù diwezhañ abaoe an/ar $3 $2",
        "rcshowhideminor": "$1 ar c'hemmoù dister",
        "listgrouprights-namespaceprotection-namespace": "Esaouenn anv",
        "listgrouprights-namespaceprotection-restrictedto": "Gwir(ioù) hag a aotre an implijer da aozañ",
        "listgrants": "Aotreoù",
+       "listgrants-summary": "Setu aze ur roll eus an aotreoù gant ar gwirioù moned stag ouzh ar gwirioù implijer. Gallout a ra an implijerien aotren an arloadoù da implijout o c'hont gant aotreoù strishaet diazezet war ar gwirioù bet grataet d'an arload gant an implijer. Un arload a ra en anv un implijer n'hall ket ober gant gwirioù n'int ket bet roet d'an implijer da gentañ. Gallout a ra bezañ tammoù [[{{MediaWiki:Listgrouprights-helppage}}|titouroù ouzhpenn]] diwar-benn ar gwirioù hiniennel.",
        "listgrants-grant": "Aotren",
        "listgrants-rights": "Gwirioù",
        "trackingcategories": "Rummadoù evezhiañ",
+       "trackingcategories-summary": "Rollañ a ra ar bajenn-mañ ar rummadoù heuliañ leuniet ent emgefre gant MediaWiki. Gallout a ra o anvioù bezañ cheñchet en ur gemmañ ar c'hemennadennoù reizhiad a glot ganto en esaouenn anv {{ns:8}}.",
        "trackingcategories-msg": "Rummad evezhiañ",
        "trackingcategories-name": "Anv ar gemennadenn",
        "trackingcategories-desc": "Dezverkoù evit degemer rummadoù",
        "restricted-displaytitle-ignored": "Pajennoù gant titloù diskwel lezet a-gostez",
        "restricted-displaytitle-ignored-desc": "Ar bajenn-mañ zo dezhi un <code><nowiki>{{DISPLAYTITLE}}</nowiki></code> zo bet laosket a-gostez peogwir n'eo ket kevatal d'an titl zo d'ar bajenn bremañ.",
        "noindex-category-desc": "Ar bajenn-mañ n'eo ket menegeret gant ar robotoù rak ar ger hud <code><nowiki>__NOINDEX__</nowiki></code> zo enni hag emañ en un esaouenn anv m'eo aotreet ar merkañ.",
+       "index-category-desc": "Un <code><nowiki>__INDEX__</nowiki></code> zo er bajenn (hag emañ en un esaouenn anv m'eo aotreet ober gant ar merk-se). Abalamour da se e vo menegeret gant robotoù pa ne vije ket bet a-hend-all.",
+       "post-expand-template-inclusion-category-desc": "Brasoc'h eo ment ar bajenn eget <code>$wgMaxArticleSize</code> ur wech dispaket he holl batromoù. Gant se n'eus ket bet gallet dispakañ patromoù zo.",
+       "post-expand-template-argument-category-desc": "Brasoc'h eo ar bajenn eget <code>$wgMaxArticleSize</code> ur wech dispaket arguzenn ur patrom (un dra bennak etre un triad briataennoù, evel <code>{{{Foo}}}</code>).",
+       "expensive-parserfunction-category-desc": "Ur re implij eus arc'hwelioù koustus an dielfenner a vez graet gant ar bajenn (evel <code>#ifexist</code>). Gwelet [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgExpensiveParserFunctionLimit Manual:$wgExpensiveParserFunctionLimit].",
        "broken-file-category-desc": "Er bajenn-mañ ez eus ul liamm restr torr (ul liamm da enframmañ ur restr pa n'eus ket eus ar restr-se).",
+       "hidden-category-category-desc": "E pajenn ar rummad emañ <code><nowiki>__HIDDENCAT__</nowiki></code>, ar pezh a vir outi a zont war wel e takad al liammoù rummad dre ziouer.",
        "trackingcategories-nodesc": "N'eus deskrivadur ebet.",
        "trackingcategories-disabled": "Diweredekaet eo ar rummad",
        "mailnologin": "Chomlec'h ebet",
        "emailccsubject": "Eilenn eus ho kemennadenn da $1: $2",
        "emailsent": "Postel kaset",
        "emailsenttext": "Kaset eo bet ho postel.",
-       "emailuserfooter": "Kaset eo bet ar postel-mañ gant $1 da $2 dre an arc'hwel \"Kas ur postel d'an implijer\" war {{SITENAME}}.",
+       "emailuserfooter": "{{GENDER:$1|Kaset}} eo bet ar postel-mañ gant $1 da {{GENDER:$2|$2}} dre an arc'hwel \"{{int:emailuser}}\" war {{SITENAME}}. Ma {{GENDER:$2|respontit}} d'ar postel-mañ e vo kaset {{GENDER:$2|ho}} postel war-eeun d'ar {{GENDER:$1|c'haser|gaserez}} orin a {{GENDER:$1|c'hallo}} gwelet {{GENDER:$2|ho}} chomlec'h postel .",
        "usermessage-summary": "En deus laosket ur gemennadenn sistem.",
        "usermessage-editor": "Kemennerezh ar reizhiad",
        "watchlist": "Roll evezhiañ",
        "watchlistanontext": "Ret eo deoc'h kevreañ evit gwelet pe aozañ an elfennoù a zo en ho roll evezhiañ.",
        "watchnologin": "Digevreet",
        "addwatch": "Ouzhpennañ d'ar roll evezhiañ",
-       "addedwatchtext": "Ouzh ho [[Special:Watchlist|rollad evezhiañ]] eo bet ouzhpennet ar bajenn \"[[:$1]]\".\nAmañ e vo rollet ar c'hemmoù da zont evit ar bajenn-mañ hag ar bajenn gaozeal stag outi.",
+       "addedwatchtext": "Ouzh ho [[Special:Watchlist|rollad evezhiañ]] eo bet ouzhpennet ar bajenn \"[[:$1]]\" hag ar bajenn gaozeal stag outi.",
+       "addedwatchtext-talk": "Ouzhpennet eo bet \"[[:$1]]\" hag ar bajenn stag outi ouzh ho [[Special:Watchlist|roll evezhiañ]].",
        "addedwatchtext-short": "Ouzhpennet eo bet ar bajenn \"$1\" d'ho roll-evezhiañ.",
        "removewatch": "Lemel a-ziwar ar roll evezhiañ",
-       "removedwatchtext": "Lamet eo bet ar bajenn \"[[:$1]]\" a-ziwar ho [[Special:Watchlist|roll evezhiañ]].",
+       "removedwatchtext": "Lamet eo bet ar bajenn \"[[:$1]]\" hag ar bajenn gaozeal stag outi a-ziwar ho [[Special:Watchlist|roll evezhiañ]].",
+       "removedwatchtext-talk": "Lamet eo bet \"[[:$1]]\" hag ar bajenn stag outi a-ziwar ho [[Special:Watchlist|roll evezhiañ]].",
        "removedwatchtext-short": "Lamet eo bet ar bajenn \"$1\" eus ho roll-evezhiañ.",
        "watch": "Evezhiañ",
        "watchthispage": "Evezhiañ ar bajenn-mañ",
        "enotif_lastvisited": "Sellet ouzh $1 evit gwelet an holl gemmoù abaoe ho selladenn ziwezhañ.",
        "enotif_lastdiff": "Gwelet $1 evit sellet ouzh ar c'hemm-mañ.",
        "enotif_anon_editor": "implijer dizanv $1",
-       "enotif_body": "$WATCHINGUSERNAME ker,\n\n$CHANGEDORCREATED eo bet pajenn $PAGETITLE {{SITENAME}} gant $PAGEEDITOR d'an $PAGEEDITDATE gwelet $PAGETITLE_URL evit gwelet ar stumm red.\n\n$NEWPAGE\n\nDiverrañ an aozer : $PAGESUMMARY $PAGEMINOREDIT\n\nMont e darempred gant an aozer :\npostel: $PAGEEDITOR_EMAIL\nwiki: $PAGEEDITOR_WIKI\n\nNemet ez afec'h da welet ar bajenn end-eeun, ne vo kemenn all ebet ma vez kemmet pelloc'h.\nGallout a rit nevesaat doare ar pennadoù evezhiet ganeoc'h en ho rollad evezhiañ ivez.\n\n            Ho reizhiad kemenn {{SITENAME}} muiañ karet\n\n--\nEvit kemmañ arventennoù ho kemennoù dre bostel, sellit ouzh\n{{canonicalurl:{{#special:Preferences}}}}\n\nEvit kemmañ doare ho rollad evezhiañ, sellit ouzh\n{{canonicalurl:{{#special:EditWatchlist}}}}\n\nEvit dilemel ar bajenn eus ho rollad evezhiañ, sellit ouzh\n$UNWATCHURL\n\nEvezhiadennoù ha skoazell pelloc'h :\n$HELPPAGE",
+       "enotif_body": "$WATCHINGUSERNAME ker,\n\n$PAGEINTRO $NEWPAGE\n\nDiverrañ an aozer : $PAGESUMMARY $PAGEMINOREDIT\n\nMont e darempred gant an aozer :\npostel: $PAGEEDITOR_EMAIL\nwiki: $PAGEEDITOR_WIKI\n\nNemet ez afec'h da welet ar bajenn end-eeun en ur vezañ kevreet, ne vo kemenn all ebet ma vez un tamm obererezh pelloc'h.\n\n\n            Ho reizhiad kemenn {{SITENAME}} muiañ karet\n\n--\nEvit kemmañ arventennoù ho kemennoù dre bostel, sellit ouzh\n{{canonicalurl:{{#special:Preferences}}}}\n\nEvit kemmañ doare ho rollad evezhiañ, sellit ouzh\n{{canonicalurl:{{#special:EditWatchlist}}}}\n\nEvit dilemel ar bajenn eus ho rollad evezhiañ, sellit ouzh\n$UNWATCHURL\n\nEvezhiadennoù ha skoazell pelloc'h :\n$HELPPAGE",
        "created": "Krouet",
        "changed": "kemmet",
        "deletepage": "Diverkañ ur bajenn",
        "confirm": "Kadarnaat",
        "excontent": "endalc'had '$1'",
-       "excontentauthor": "an danvez a oa : '$1' (ha '[[Special:Contributions/$2|$2]]' a oa bet an implijer nemetañ)",
+       "excontentauthor": "an danvez a oa : ''$1'' ha ''[[Special:Contributions/$2|$2]]'' ([[User talk:$2|kaozeal]]) a oa bet an implijer nemetañ",
        "exbeforeblank": "A-raok diverkañ e oa an endalc'had : '$1'",
        "delete-confirm": "Diverkañ \"$1\"",
        "delete-legend": "Diverkañ",
        "delete-toobig": "Bras eo istor ar bajenn-mañ, ouzhpenn $1 {{PLURAL:$1|stumm|stumm}} zo. Bevennet eo bet an diverkañ pajennoù a-seurt-se kuit da zegas reuz war {{SITENAME}} dre fazi .",
        "delete-warning-toobig": "Bras eo istor ar bajenn-mañ, ouzhpenn {{PLURAL:$1|stumm|stumm}} zo.\nDiverkañ anezhi a c'hallo degas reuz war mont en-dro diaz titouroù {{SITENAME}};\ntaolit evezh bras.",
        "deleteprotected": "Ne c'hallit ket dilemel ar bajenn-mañ rak gwarezet eo bet.",
+       "deleting-backlinks-warning": "<strong>Taolit pled :</strong> [[Special:WhatLinksHere/{{FULLPAGENAME}}|Pajennoù all]] zo enno liammoù war-zu ar bajenn emaoc'h o vont da zilemel pe a zo treuzkludet ar bajenn enno.",
        "rollback": "disteuler ar c'hemmoù",
        "rollbacklink": "disteuler",
        "rollbacklinkcount": "disteurel $1 {{PLURAL:$1|kemm}}",
        "editcomment": "Diverradenn ar c'hemm a oa : <em>$1</em>.",
        "revertpage": "Kemmoù distaolet gant [[Special:Contributions/$2|$2]] ([[User talk:$2|Kaozeal]]); adlakaet d'ar stumm diwezhañ a-gent gant [[User:$1|$1]]",
        "revertpage-nouser": "Disteuler kemmoù un implijer kuzhet ha distreiñ d'ar stumm diwezhañ gant an {{GENDER:$1|[[implijer :$1|$1]]}}",
-       "rollback-success": "Disteuler kemmoù $1; distreiñ da stumm diwezhañ $2.",
+       "rollback-success": "Nullet ar c'hemmoù gant {{GENDER:$3|$1}};\nadlakaet diouzh ar stumm diwezhañ gant {{GENDER:$4|$2}}.",
+       "rollback-success-notify": "Nullet ar c'hemmoù gant $1;\nadlakaet diouzh ar stumm diwezhañ gant $2. [$3 Diskouez ar c'hemmoù]",
        "sessionfailure-title": "Fazi dalc'h",
        "sessionfailure": "Evit doare ez eus ur gudenn gant ho talc'h;\nNullet eo bet an ober-mañ a-benn en em wareziñ diouzh an tagadennoù preizhañ.\nKlikit war \"kent\" hag adkargit ar bajenn oc'h deuet drezi; goude klaskit en-dro.",
        "changecontentmodel": "Cheñch patrom danvez ur bajenn",
        "changecontentmodel-success-title": "Cheñchet eo bet ar patrom danvez",
        "changecontentmodel-success-text": "Kemmet eo bet patrom danvez [[:$1]].",
        "changecontentmodel-cannot-convert": "N'hall ket danvez [[:$1]] bezañ troet en ur seurt $2.",
+       "changecontentmodel-nodirectediting": "N'haller ket ober kemmoù ar-eeun gant ar patrom danvez $1",
        "changecontentmodel-emptymodels-title": "N'eus patrom danvez hegerz ebet",
+       "changecontentmodel-emptymodels-text": "N'haller ket amdreiñ danvez [[:$1]] e doare ebet.",
+       "log-name-contentmodel": "Marilh kemmañ patrom danvez",
+       "log-description-contentmodel": "Rollañ a ra ar bajenn-mañ ar c'hemmoù graet e patrom danvez ar pajennoù hag ar pajennoù a oa bet krouet gant ur patrom danvez all estreget an hini a zeu dre ziouer.",
+       "logentry-contentmodel-new": "{{GENDER:$2|Krouet eo bet}} ar bajenn $3 gant $1 en ur ober gant ur patrom danvez \"$5\" disheñvel diouzh an hini dre ziouer",
+       "logentry-contentmodel-change": "$1 {{GENDER:$2|Kemmet eo bet}} patrom danvez ar bajenn $3 gant $1, eus \"$4\" da \"$5\"",
        "logentry-contentmodel-change-revertlink": "disteuler",
        "logentry-contentmodel-change-revert": "disteuler",
        "protectlogpage": "Log_gwareziñ",
        "modifiedarticleprotection": "Kemmañ live gwareziñ \"[[$1]]\"",
        "unprotectedarticle": "diwarezet eo bet ''[[$1]]''",
        "movedarticleprotection": "en deus adkaset an arventennoù gwareziñ eus \"[[$2]]\" da \"[[$1]]\"",
+       "protectedarticle-comment": "{{GENDER:$2|En deus gwarezet|He deus gwarezet}} \"[[$1]]\"",
+       "modifiedarticleprotection-comment": "{{GENDER:$2|En deus kemmet live gwareziñ|He deus kemmet live gwareziñ}} \"[[$1]]\"",
+       "unprotectedarticle-comment": "{{GENDER:$2|En deus lamet gwarez|He deus lamet gwarez}} \"[[$1]]\"",
        "protect-title": "Kemmañ al live gwareziñ evit \"$1\"",
        "protect-title-notallowed": "Gwelet al live gwareziñ evit \"$1\"",
        "prot_1movedto2": "[[$1]] adkaset war-du [[$2]]",
        "protect-locked-blocked": "E-keit ha ma viot stanket ne viot ket evit cheñch al live gwareziñ. Setu aze arventennoù a-vremañ ar bajenn '''$1''':",
        "protect-locked-dblock": "N'haller ket cheñch al liveoù gwareziñ rak prennet eo an diaz titouroù.\nSetu doare a-vremañ ar bajenn '''$1''' :",
        "protect-locked-access": "N'eo ket aotreet ho kont da zegas kemmoù e live gwareziñ ur bajenn.\nSetu an doare a-vremañ evit ar bajenn-mañ '''$1''':",
-       "protect-cascadeon": "Gwarezet eo ar bajenn-mañ peogwir he c'haver er {{PLURAL:$1|bajenn|pajennoù}} da-heul zo gweredekaet enno ar gwareziñ dre skalierad. Gallout a rit kemmañ al live gwareziñ met ne cheñcho ket ar gwareziñ dre skalierad.",
+       "protect-cascadeon": "Gwarezet eo ar bajenn-mañ peogwir emañ treuzkludet er {{PLURAL:$1|bajenn|pajennoù}} da-heul zo gweredekaet enno ar gwareziñ dre skalierad. Ma kemmit live gwareziñ ar bajenn-mañ ne cheñcho ket ar gwareziñ dre skalierad.",
        "protect-default": "Aotren an holl implijerien",
        "protect-fallback": "Degemer hepken an implijerien gant an aotre \"$1\"",
        "protect-level-autoconfirmed": "Degemer hepken an implijerien emgadarnaet",
        "protect-othertime": "Termen all :",
        "protect-othertime-op": "termen all",
        "protect-existing-expiry": "Termen echuiñ merket : $3, $2",
+       "protect-existing-expiry-infinity": "Termen echuiñ merket : difin",
        "protect-otherreason": "Abeg all/ouzhpenn :",
        "protect-otherreason-op": "Abeg all",
        "protect-dropdown": "*Abegoù gwareziñ boutin\n** Vandalerezh betek re\n** Stroberezh betek re\n** Tabutoù toull war kemmoù zo\n** Pajenn kemmet alies-tre",
        "undeletepagetext": "Diverket eo bet {{PLURAL:$1|ar bajenn da-heul; emañ|ar pajennoù da-heul; emaint}} e bank roadennoù an dielloù, ma c'hallont bezañ assavet.\nIngal e c'hall an diell bezañ goullonderet.",
        "undelete-fieldset-title": "Assevel ar stummoù",
        "undeleteextrahelp": "Evit assevel istor klok ar bajenn, laoskit goullo an holl logoù ha klikit war '''''{{int:undeletebtn}}'''''.\nEvit assevel stummoù zo hepken, askit ar logoù a glot gant ar stummoù da vezañ assavet, ha klikit war '''''{{int:undeletebtn}}'''''.",
-       "undeleterevisions": "$1 {{PLURAL:$1|stumm|stumm}} diellaouet",
+       "undeleterevisions": "$1 {{PLURAL:$1|adweladenn}} diverket",
        "undeletehistory": "Ma tiziverkit ar bajenn e vo erlec'hiet an holl gemmoù bet degaset enni er roll istor.\n\nMa'z eus bet krouet ur bajenn nevez dezhi an hevelep anv abaoe an diverkadenn, e teuio war wel ar c'hemmoù assavet er roll istor kent ha ne vo ket erlec'hiet ar stumm red en un doare emgefre ken.",
        "undeleterevdel": "Ne vo ket adsavet ar stumm-se eus ar bajenn ma talvez kement ha diverkañ evit darn an doare diwezhañ anezhi. En degouezh-mañ e rankit diaskañ pe diguzhat ar stummoù diverket da ziwezhañ.",
        "undeletehistorynoadmin": "Diverket eo bet ar pennad-mañ. Displeget eo perak en diverradenn a-is, war un dro gant munudoù an implijerien o deus kemmet ar bajenn a-raok na vije diverket. N'eus nemet ar verourien a c'hall tapout krog en destenn bet diverket.",
        "undelete-revision": "Stumm diverket eus $1, (gwiriadenn eus $4 da $5) gant $3 :",
        "undeleterevision-missing": "Stumm fall pe diank. Pe hoc'h eus heuliet ul liamm fall, pe eo bet diziverket ar stumm pe c'hoazh eo bet lamet diouzh an dielloù.",
+       "undeleterevision-duplicate-revid": "N'eus ket bet gallet assevel {{PLURAL:$1|ur stumm|$1 stumm}} peogwir e oa en implij {{PLURAL:$1|e|o}} <code>rev_id</code> c'hoazh.",
        "undelete-nodiff": "N'eus bet kavet stumm kent ebet.",
        "undeletebtn": "Assevel",
        "undeletelink": "gwelet/assevel",
        "undeletedrevisions": "Adsavet {{PLURAL:$1|1 stumm|$1 stumm}}",
        "undeletedrevisions-files": "Adsavet ez ez eus bet {{PLURAL:$1|1 stumm|$1 stumm}} ha {{PLURAL:$2|1 restr|$2 restr}}",
        "undeletedfiles": "{{PLURAL:$1|1 restr|$1 restr}} adsavet",
-       "cannotundelete": "Dibosupl eo diziverkañ:\n$1",
+       "cannotundelete": "Dibosupl eo bet nullañ diziverkadennoù zo pe an holl anezho :\n$1",
        "undeletedpage": "'''Diziverket eo bet $1'''\n\nSellit ouzh [[Special:Log/delete|marilh an diverkadennoù]] evit teuler ur sell ouzh an diverkadennoù diwezhañ.",
        "undelete-header": "Gwelet [[Special:Log/delete|al log diverkañ]] evit ar pajennoù diverket nevez zo.",
        "undelete-search-title": "Klask pajennoù bet diverket",
        "namespace": "Esaouenn anv :",
        "invert": "Eilpennañ an dibab",
        "tooltip-invert": "Askañ ar voest-mañ da guzhat ar c'hemmoù er pajennoù stag ouzh an esaouenn anv diuzet (hag an esaouenn anv stag, m'emañ asket)",
+       "tooltip-whatlinkshere-invert": "Askañ ar log-mañ evit kuzhat liammoù ar pajennoù en esaouenn anv diuzet.",
        "namespace_association": "Esaouennoù anv liammet",
        "tooltip-namespace_association": "Askañ ar voest-mañ da lakaat ivez e-barzh ar gaozeadenn pe danvez an esaouenn anv liammet ouzh an esaouenn anv diuzet",
        "blanknamespace": "(Pennañ)",
        "sp-contributions-newbies-sub": "Evit an implijerien nevez",
        "sp-contributions-newbies-title": "Degasadennoù implijer evit ar c'hontoù nevez",
        "sp-contributions-blocklog": "Roll ar stankadennoù",
-       "sp-contributions-suppresslog": "degasadennoù diverket un implijer",
-       "sp-contributions-deleted": "Degasadennoù diverket",
+       "sp-contributions-suppresslog": "degasadennoù diverket {{GENDER:$1|an implijer|an implijerez}}",
+       "sp-contributions-deleted": "degasadennoù diverket {{GENDER:$1|an implijer|an implijerez}}",
        "sp-contributions-uploads": "Enporzhiadennoù",
        "sp-contributions-logs": "marilhoù",
        "sp-contributions-talk": "kaozeal",
        "unblock": "Distankañ an implijer",
        "blockip": "Stankañ an {{GENDER:$1|implijer|implijerez}}",
        "blockip-legend": "Stankañ an implijer",
-       "blockiptext": "Grit gant ar furmskrid a-is evit stankañ ar moned skrivañ ouzh ur chomlec'h IP pe un implijer bennak.\nSeurt diarbennoù n'hallont bezañ kemeret nemet evit mirout ouzh ar vandalerezh hag a-du gant an [[{{MediaWiki:Policy-url}}|erbedadennoù ha reolennoù da heuliañ]].\nRoit a-is an abeg resis (o verkañ, da skouer, roll ar pajennoù bet graet gaou outo).",
+       "blockiptext": "Grit gant ar furmskrid a-is evit stankañ ar moned skrivañ ouzh ur chomlec'h IP pe un implijer bennak.\nSeurt diarbennoù n'hallont bezañ kemeret nemet evit mirout ouzh ar vandalerezh hag a-du gant ar [[{{MediaWiki:Policy-url}}|reolennoù da vezañ heuliet]].\nRoit a-is an abeg resis (o verkañ, da skouer, roll ar pajennoù bet graet gaou outo).\nGallout a rit stankañ lijorennoù chomlec'hioù IP en ur ober gant an ereadur [https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing CIDR] syntax; /$1 eo al lijorenn hirañ aotreet evit IPv4 ha /$2 evit IPv6.",
        "ipaddressorusername": "Chomlec'h IP pe anv implijer",
        "ipbexpiry": "Pad ar stankadenn",
        "ipbreason": "Abeg :",
        "proxyblockreason": "Stanket eo bet hoc'h IP rak ur proksi digor eo. Trugarez da gelaouiñ ho pourvezer moned ouzh ar Genrouedad pe ho skoazell deknikel eus ar gudenn surentez-mañ.",
        "sorbsreason": "Rollet eo ho chomlec'h IP evel ur proksi digor en DNSBL implijet gant {{SITENAME}}.",
        "sorbs_create_account_reason": "Rollet eo ho chomlec'h IP evel ur proksi digor war an DNSBL implijet gant {{SITENAME}}. N'hallit ket krouiñ ur gont",
+       "softblockrangesreason": "N'eo ket aotreet kemmañ netra ebet gan tho chomlec'h IP ($1). Kevreit mar plij.",
+       "xffblockreason": "Stanket ez eus bet ur chomlec'h IP en talbenn X-Forwarded-For, ho hini pe hini ur servijer proksi implijet ganeoc'h. Setu aze abeg ar stankadenn : $1",
        "cant-see-hidden-user": "Stanket ha kuzhet eo bet dija an implijer emaoc'h o klask stankañ. Dre ma n'emañ ket ganeoc'h ar gwir hideuser, n'hallit ket gwelet pe kemmañ stankadenn an implijer.",
        "ipbblocked": "Ne c'hellit ket stankañ pe distankañ implijerien all, dre ma 'z oc'h stanket",
        "ipbnounblockself": "N'oc'h ket aotreet d'en em zistankañ ho unan",
        "lockedbyandtime": "(gant $1 d'an $2 da $3)",
        "move-page": "Dilec'hiañ $1",
        "move-page-legend": "Adenvel ur pennad",
-       "movepagetext": "Grit gant ar furmskrid a-is evit adenvel ur pennad hag adkas an holl stummoù kent anezhañ war-zu an anv nevez.\nDont a raio an titl kozh da vezañ ur bajenn adkas war-zu an titl nevez.\nGallout a rit nevesaat ent emgefre an adkasoù a-vremañ a gas d'an titl orin.\nNe vo ket kemmet liammoù an titl kozh ha ne vo ket dilec'hiet ar bajenn gaozeal, ma'z eus anezhi.\n\nMa rit ho soñj chom hep en ober, gwiriit mat an holl [[Special:DoubleRedirects|adkasoù doubl]] pe [[Special:BrokenRedirects|adkasoù torret]].\nC'hwi eo zo karget da wiriañ e kas mat al liammoù d'al lec'h int sañset kas.\n\nNotit mat '''ne vo ket''' dilec'hiet ma'z eus dija ur bajenn ganti an anv nevez, nemet e vefe un adkas ha ne vefe tamm istor ebet stag outi.\nDre se e c'haller adkas ur bajenn war-zu he lec'h orin ma oa kamm an adkas.\n\n'''DIWALLIT!'''\nGallout a ra kement-se bezañ ur c'hemm bras ha dic'hortoz evit ur pennad a vez sellet outi alies;\nbezit sur e komprenit mat an heuliadoù a-raok kenderc'hel ganti.",
-       "movepagetext-noredirectfixer": "Grit gant ar furmskrid a-is evit adenvel ur bajenn hag adkas an istor anezhi war-zu an anv nevez.\nDont a raio an titl kozh da vezañ ur bajenn adkas war-zu an titl nevez.\nGwiriit mat an [[Special:DoubleRedirects|adkasoù doubl]] hag an [[Special:BrokenRedirects|adkasoù torr]].\nEnnoc'h emañ fiziet gwiriañ e kendalc'h al liammoù da gas war-zu ar bajenn a rankont kas daveti.\n\nNotit mat ne vo '''ket''' dilec'hiet ar bajenn ma'z eus dija unan gant an titl nevez nemet e vefe goullo istor ar c'hemmoù degaset enni hag e vefe pe goullo ar bajenn pe e vefe un adkas anezhi. Gant se e c'haller adenvel ur bajenn war-zu he lec'h orin mard eo faziek an dilec'hiañ ha dibosupl eo frikañ ur bajenn zo anezhi c'hoazh. \n\n'''Diwallit !'''\nUr c'hemm bras ha dic'hortoz e c'hall bezañ evit ur bajenn a vez sellet outi alies ; bezit sur hoc'h eus komprenet mat an heuliadoù a-raok kenderc'hel ganti.",
-       "movepagetalktext": "Gant se e vo adanvet ent emgefre ar bajenn gaozeal stag, ma'z eus anezhi '''nemet ma:'''\n*ec'h adanvit ur bajenn war-du ul lec'h all,\n*ez eus ur bajenn gaozeal c'hoazh gant an anv nevez, pe\n*diweredekaet hoc'h eus ar bouton a-is.\n\nEn degouezh-se e rankot adenvel pe gendeuziñ ar bajenn c'hwi hoc'h-unan ma karit.",
+       "movepagetext": "Grit gant ar furmskrid a-is evit adenvel ur pennad hag adkas an holl stummoù kent anezhañ war-zu an anv nevez.\nDont a raio an titl kozh da vezañ ur bajenn adkas war-zu an titl nevez.\nGallout a rit nevesaat ent emgefre an adkasoù a-vremañ a gas d'an titl orin.\nMa rit ho soñj chom hep en ober, gwiriit mat an holl [[Special:DoubleRedirects|adkasoù doubl]] pe [[Special:BrokenRedirects|adkasoù torr]].\nC'hwi eo zo karget da wiriañ e kas mat al liammoù d'al lec'h int sañset kas.\n\nNotit mat <strong>ne vo ket</strong> dilec'hiet ar bjenn ma'z eus dija ur unan ganti an anv nevez, nemet e vefe un adkas ha ne vefe tamm istor ebet stag outi.\nDre se e c'haller adkas ur bajenn war-zu he lec'h orin ma oa kamm an adkas ha ne c'hallit ket frikañ ur bajenn zo anezhi c'hoazh.\n\n<strong>NOTENN :</strong>\nGallout a ra kement-se bezañ ur c'hemm bras ha dic'hortoz evit ur pennad a vez sellet outi alies;\nbezit sur e komprenit mat an heuliadoù a-raok kenderc'hel ganti.",
+       "movepagetext-noredirectfixer": "Grit gant ar furmskrid a-is evit adenvel ur bajenn hag adkas an istor anezhi war-zu an anv nevez.\nDont a raio an titl kozh da vezañ ur bajenn adkas war-zu an titl nevez.\nGwiriit mat an [[Special:DoubleRedirects|adkasoù doubl]] hag an [[Special:BrokenRedirects|adkasoù torr]].\nEnnoc'h emañ fiziet gwiriañ e kendalc'h al liammoù da gas war-zu ar bajenn a rankont kas daveti.\n\nNotit mat <strong>ne vo ket</strong> dilec'hiet ar bajenn ma'z eus dija unan gant an titl nevez nemet e vefe goullo istor ar c'hemmoù degaset enni hag e vefe pe goullo ar bajenn pe e vefe un adkas anezhi. Gant se e c'haller adenvel ur bajenn war-zu he lec'h orin mard eo faziek an dilec'hiañ ha dibosupl eo frikañ ur bajenn zo anezhi c'hoazh. \n\n<strong>'''Diwallit !</strong>\nUr c'hemm bras ha dic'hortoz e c'hall bezañ evit ur bajenn a vez sellet outi alies ; bezit sur hoc'h eus komprenet mat an heuliadoù a-raok kenderc'hel ganti.",
+       "movepagetalktext": "Ma askit al log-mañ e vo adkaset ent emgefre ar bajenn gaozeal stag outi d'an titl nevez nemet e vefe ur bajenn gaozeal na vefe ket goullo. \n\nEn degouezh-se e rankot adenvel pe gendeuziñ ar bajenn c'hwi hoc'h-unan ma karit.",
        "moveuserpage-warning": "'''Diwallit : ''' War-nes dilec'hiañ ur bajenn implijer emaoc'h. Notit mat n'eus nemet ar bajenn a vo dilec'hiet ha ne vo ''ket'' adanvet an implijer.",
+       "movecategorypage-warning": "<strong>Diwallit :</strong> Emaoc'h o vont da zilec'hiañ ur bajenn rummad. Taolit pled ne vo dilec'hiet nemet ar rummad ha ne vo ket treuzkaset <em>pajenn ebet</em> eus ar rummad kozh er rummad nevez.",
        "movenologintext": "A-benn gellout adenvel ur pennad e rankit bezañ un implijer enrollet ha bezañ [[Special:UserLogin|kevreet]].",
        "movenotallowed": "N'oc'h ket aotreet da zilec'hiañ pajennoù.",
        "movenotallowedfile": "N'oc'h ket aoteret da adenvel restroù.",
        "cant-move-to-user-page": "Noc'h ket aotreet da adenvel ur bajenn gant anv hini un implijer all (nemet un ispajenn e vefe).",
        "cant-move-category-page": "N'oc'h ket aotreet da zilec'hiañ pajennoù rummad.",
        "cant-move-to-category-page": "N'oc'h ket aotreet da zilec'hiañ ur bajenn d'ur bajenn rummad.",
+       "cant-move-subpages": "N'oc'h ket aotreet da zilec'hiañ ispajennoù.",
+       "namespace-nosubpages": "N'eo ket aotreet ober gant ispajennoù gant an esaouenn anv \"$1\".",
        "newtitle": "Titl nevez :",
        "move-watch": "Evezhiañ ar bajenn-mañ",
        "movepagebtn": "Adenvel ar pennad",
        "movelogpagetext": "Setu roll ar pajennoù bet savet un adkas evito.",
        "movesubpage": "{{PLURAL:$1|Ispajenn}}",
        "movesubpagetext": "Bez' ez eus $1 {{PLURAL:$1|ispajenn|ispajenn}} diskouezet a-is d'ar bajenn-mañ.",
+       "movesubpagetalktext": "Ar bajenn gaozeal stag he deus $1 {{PLURAL:$1|ispajenn}} diskouezet a-is.",
        "movenosubpage": "Ispajenn ebet d'ar bajenn-mañ.",
        "movereason": "Abeg :",
        "revertmove": "nullañ",
-       "delete_and_move_text": "==Ezhomm diverkañ==\n\nSavet eo ar pennad tal \"[[:$1]]\" c'hoazh.\nDiverkañ anezhañ a fell deoc'h ober evit reiñ lec'h d'an adkas ?",
+       "delete_and_move_text": "Savet eo ar bajenn dal \"[[:$1]]\" c'hoazh.\nDiverkañ anezhi a fell deoc'h ober evit reiñ lec'h d'an adkas ?",
        "delete_and_move_confirm": "Ya, diverkañ ar bajenn",
        "delete_and_move_reason": "Diverket evit ober lec'h d'an adkas \"[[$1]]\"",
        "selfmove": "Heñvel eo titl ar poent loc'hañ ha hini ar pal; n'haller ket adkas ur bajenn war-du he lec'h orin.",
        "immobile-target-namespace-iw": "N'eo ket ur pal mat al liammoù Interwiki evit adenvel pajennoù.",
        "immobile-source-page": "N'haller ket adenvel ar bajenn-mañ.",
        "immobile-target-page": "N'haller ket kas ar bajenn-mañ war-du an titl-se.",
+       "bad-target-model": "Ar pal c'hoantaet a ra gant ur patrom danvez disheñvel. N'haller ket treiñ e $2 adalek $1.",
        "imagenocrossnamespace": "N'haller ket dilec'hiañ ur skeudenn war-du un esaouenn anv n'eo ket hini ur skeudenn.",
        "nonfile-cannot-move-to-file": "N'haller ket dilec'hiañ un dra ha n'eo ket ur restr war-du an esaouenn anv restr",
        "imagetypemismatch": "Ne glot ket astenn nevez ar restr gant ar furmad-mañ.",
        "move-leave-redirect": "Lezel un adkas war-du an titl nevez",
        "protectedpagemovewarning": "'''DIWALLIT :''' Prennet eo bet ar bajenn-mañ, setu n'eus nemet an implijerien ganto gwrioù merañ a c'hall adenvel anezhi. Kasadenn ziwezhañ ar marilh a zo diskouezet amañ a-is evel dave :",
        "semiprotectedpagemovewarning": "'''NOTENN :''' Prennet eo bet ar bajenn-mañ, setu n'hall bezañ adanvet nemet gant an implijerien enskrivet. Kasadenn ziwezhañ ar marilh a zo diskouezet amañ a-is evel dave :",
-       "move-over-sharedrepo": "== Bez' ez eus eus ar restr-se dija ==\nBez' ez eus eus [[:$1]] war ur sanailh kenrannet dija. Ma cheñchit anv ar restr ne viot ket mui evit tizhout ar restr zo er sanailh kenrannet.",
+       "move-over-sharedrepo": "Bez' ez eus eus [[:$1]] war ur sanailh kenrannet dija. Ma cheñchit anv ar restr e vo friket ar restr kenrannet.",
        "file-exists-sharedrepo": "Implijet c'hoazh eo an anv dibabet gant ur restr zo war ur sanailh kenrannet.\nGrit gant un anv all.",
        "export": "Ezporzhiañ pajennoù",
        "exporttext": "Gallout a rit ezporzhiañ en XML an destenn ha pennad istor ur bajenn pe ur strollad pajennoù;\na-benn neuze e c'hall an disoc'h bezañ enporzhiet en ur wiki all a ya en-dro gant ar meziant MediaWiki dre [[Special:Import|ar bajenn enporzhiañ]].\n\nA-benn ezporzhiañ pajennoù, merkit an titloù anezho er voest skrid a-is, un titl dre linenn. Diuzit mar fell deoc'h kaout, pe get, ar stumm a-vremañ gant an holl stummoù kozh, gant linennoù itor ar bajenn, pe just ar bajenn red gant titouroù diwar-benn ar c'hemm diwezhañ.\n\nMard eo se e c'hallit ivez implijout ul liamm a seurt gant [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] evit ar bajenn [[{{MediaWiki:Mainpage}}]].",
        "thumbnail_image-type": "N'eo ket skoret ar seurt skeudennoù",
        "thumbnail_gd-library": "Kefluniadur diglok al levraoueg GD : dibosupl kavout an arc'hwel $1",
        "thumbnail_image-missing": "Evit doare n'eus ket eus ar restr : $1",
+       "thumbnail_image-failure-limit": "Re a daolioù-esae ($1 pe muioc'h) zo bet evit rentañ ar munud-mañ. Klaskit en-dro diwezhatoc'hik.",
        "import": "Enporzhiañ pajennoù",
-       "importinterwiki": "enporzhiadenn etrewiki",
-       "import-interwiki-text": "Diuzit ur wiki hag ur bajenn da enporzhiañ.\nMiret e vo deiziadoù ar stummmoù hag anvioù an aozerien.\nMiret eo an holl enporzhiadennoù etrewiki e-barzh [[Special:Log/import|log an enporzhiadennoù]].",
+       "importinterwiki": "Enporzhiadenn diwar ur wiki all",
+       "import-interwiki-text": "Diuzit ur wiki hag ur bajenn da enporzhiañ.\nMiret e vo deiziadoù ar stummoù hag anvioù an aozerien.\nMiret eo an holl enporzhiadennoù diwar wikioù all e-barzh [[Special:Log/import|istor an enporzhiadennoù]].",
        "import-interwiki-sourcewiki": "Wiki mammenn :",
        "import-interwiki-sourcepage": "Pajenn orin :",
        "import-interwiki-history": "Eilañ holl stummoù istor ar bajenn-mañ",
        "import-interwiki-submit": "Enporzhiañ",
        "import-mapping-default": "Enporzhiañ d'al lec'hiadurioù dre ziouer",
        "import-mapping-namespace": "Enporzhiañ d'un esaouenn anv :",
+       "import-mapping-subpage": "Enporzhiañ evel ispajennoù eus ar bajenn da-heul :",
        "import-upload-filename": "Anv ar restr :",
        "import-comment": "Notenn :",
        "importtext": "Ezporzhiit ar restr adal ar wiki orin en ur ober gant an arc'hwel [[Special:Export|ezporzhiañ]].\nEnrollit ar bajenn war hoc'h urzhiataer ha kargit anezhi amañ.",
        "importcantopen": "N'eus ket bet gallet digeriñ ar restr enporzhiet",
        "importbadinterwiki": "Liamm etrewiki fall",
        "importsuccess": "Deuet eo an enporzhiadenn da benn vat!",
-       "importnosources": "N'eus bet spisaet tamm mammenn etrewiki ebet ha diweredekaet eo enporzhiañ an Istor war-eeun.",
+       "importnosources": "N'eus bet spisaet wiki ebet da enporzhiañ diwarnañ ha diweredekaet eo enporzhiañ an istorioù war-eeun.",
        "importnofile": "N'eus bet enporzhiet restr ebet.",
        "importuploaderrorsize": "C'hwitet eo bet enporzhiañ ar restr. Brasoc'h eo ar restr eget ar vent aotreet.",
        "importuploaderrorpartial": "C'hwitet eo vet enporzhiañ ar restr. Enporzhiet evit darn eo bet hepken.",
        "import-nonewrevisions": "N'eus bet enporzhiet degasadenn ebet (aze e oant dija, pe distaolet e oant bet abalamour da fazioù).",
        "xml-error-string": "$1 war al linenn $2, bann $3 (okted $4) : $5",
        "import-upload": "Enporzhiañ roadennoù XML",
-       "import-token-mismatch": "Kollet eo bet roadennoù an dalc'h. Klaskit en-dro.",
+       "import-token-mismatch": "Kollet eo bet roadennoù an dalc'h.\n\nMarteze oc'h bet digevreet. <strong>Gwiriit emaoc'h mat kevreet ha klaskit en-dro</strong>.\nMa ne'z a ket en-dro c'hoazh, klaskit [[Special:UserLogout|digevreañ]] hag adkevreañ en-dro, ha gwiriit mat ec'h asant ho merdeer degemer toupinoù digant al lec'hienn-mañ.",
        "import-invalid-interwiki": "Dibosupl enporzhiañ adal ar wiki spisaet.",
        "import-error-edit": "N'eo ket bet enporzhiet ar bajenn \"$1\" peogwir n'oc'h ket aotreet da zegas kemmoù enni.",
        "import-error-create": "N'eo ket bet enporzhiet ar bajenn \"$1\" peogwir n'oc'h ket aotreet da grouiñ anezhi.",
        "import-error-interwiki": "Ne vez ket enporzhiet ar bajenn \"$1\" rak miret eo an anv evit liammoù diavaez (etrewiki).",
-       "import-error-special": "Ne vez ket enporzhiet ar bajenn \"$1\" rak stag eo ouzh un esaouenn anv dibar na aotre ket pajennoù.",
+       "import-error-special": "N'eo ket bet enporzhiet ar bajenn \"$1\" rak stag eo ouzh un esaouenn anv dibar na aotre ket pajennoù.",
        "import-error-invalid": "N'eo ket bet enporzhiet ar bajenn \"$1\" rak direizh e vefe hec'h anv er wiki-mañ.",
+       "import-error-unserialize": "N'eus ket bet gallet distiradekaat stumm $2 ar bajenn \"$1\". Merket eo ar stumm evel unan a ra gant ar patrom danvez $3 stiradekaat evel $4.",
+       "import-error-bad-location": "N'eus ket bet gallet stokañ war \"$1\" ar wiki-mañ ar stumm $2 a ra gant ar patrom danvez $3. N'eo ket skoret ar patrom-se er bajenn-se.",
        "import-options-wrong": "{{PLURAL:$2|Dibab fall|Dibaboù fall}}: <nowiki>$1</nowiki>",
        "import-rootpage-invalid": "Pourchas a ra ar bennbajenn un titl n'eo ket reizh.",
        "import-rootpage-nosubpage": "Esaouenn anvioù \"$1\" eus ar bennpajenn ne aotre ket an ispajennoù.",
        "pageinfo-watchers": "Niver a dud o heuliañ",
        "pageinfo-visiting-watchers": "Niver a dud oc'h evezhiañ ar bajenn-mañ o deus sellet ouzh ar c'hemmoù diwezhañ bet graet enni",
        "pageinfo-few-watchers": "Nebeutoc'h eget $1 {{PLURAL:$1|lenner}}",
+       "pageinfo-few-visiting-watchers": "Gallout a ra bezañ, pe get, un implijer o teurel ur sell ouzh ar c'hemmoù diwezhañ",
        "pageinfo-redirects-name": "Niver a adkasoù war-zu ar bajenn-mañ",
        "pageinfo-subpages-name": "Ispajennoù eus ar bajenn-mañ",
        "pageinfo-subpages-value": "$1 ($2 {{PLURAL:$2|kasadur|kasadurioù}}; $3 {{PLURAL:$3|nann kasaduri|nann kasadurioù}})",
        "pageinfo-toolboxlink": "Titouroù ar bajenn",
        "pageinfo-redirectsto": "Adkas a ra da",
        "pageinfo-redirectsto-info": "Titouroù",
+       "pageinfo-contentpage": "Kontet evel ur bajenn danvez enni",
        "pageinfo-contentpage-yes": "Ya",
+       "pageinfo-protect-cascading": "Gwarezioù a-skalieradoù adalek amañ",
        "pageinfo-protect-cascading-yes": "Ya",
+       "pageinfo-protect-cascading-from": "Emañ ar gwarezioù o skalieradiñ adalek",
        "pageinfo-category-info": "Titouroù ar rummad",
        "pageinfo-category-total": "Niver hollek a izili",
        "pageinfo-category-pages": "Niver a bajennoù",
        "pageinfo-user-id": "ID an implijer",
        "markaspatrolleddiff": "Merkañ evel gwiriet",
        "markaspatrolledtext": "Merkañ ar pennad-mañ evel gwiriet",
+       "markaspatrolledtext-file": "Merkañ ar stumm-mañ eus ar restr evel gwiriet",
        "markedaspatrolled": "Merkañ evel gwiriet",
        "markedaspatrolledtext": "Merket eo bet ar stumm diuzet eus [[:$1]] evel gwiriet.",
        "rcpatroldisabled": "Diweredekaet ar gwiriañ ar C'hemmoù diwezhañ",
        "markedaspatrollederrortext": "Ret eo deoc'h spisaat ur stumm a-benn e verkañ evel gwiriet.",
        "markedaspatrollederror-noautopatrol": "N'oc'h ket aotreet da verkañ evel gwiriet ar c'hemmoù degaset ganeoc'h.",
        "markedaspatrollednotify": "Ar c'hemm-mañ da $1 zo bet merket evel gwiriet.",
+       "markedaspatrollederrornotify": "N'eus ket bet gallet merkañ evel gwiriet.",
        "patrol-log-page": "Log gwiriañ",
        "patrol-log-header": "Setu ur marilh eus ar stummoù patrouilhet.",
        "log-show-hide-patrol": "$1 istor ar stummoù gwiriet",
        "log-show-hide-tag": "$1 marilh an dikedenn",
        "confirm-markpatrolled-button": "Mat eo",
+       "confirm-markpatrolled-top": "Merkañ adweladenn $3 eus $2 evel gwiriet ?",
        "deletedrevision": "Diverket stumm kozh $1.",
        "filedeleteerror-short": "Fazi e-ser diverkañ ar restr : $1",
        "filedeleteerror-long": "Fazioù zo bet kavet e-ser diverkañ ar restr :\n\n$1",
        "svg-long-error": "Restr SVG direizh : $1",
        "show-big-image": "Restr orin",
        "show-big-image-preview": "Ment ar rakweled-mañ : $1.",
+       "show-big-image-preview-differ": "Ment rakwel $3 ar restr $2 : $1.",
        "show-big-image-other": "{{PLURAL:$2|pizhder all|pizhderioù all}} : $1.",
        "show-big-image-size": "$1 × $2 piksel",
        "file-info-gif-looped": "e kelc'h",
        "newimages-legend": "Sil",
        "newimages-label": "Anv ar restr (pe darn anezhi) :",
        "newimages-showbots": "Diskouez an ezporzhiadennoù graet gant robotoù",
+       "newimages-hidepatrolled": "Kuzhat ar enporzhiadennoù gwiriet",
        "noimages": "Netra da welet.",
+       "gallery-slideshow-toggle": "Gwintañ ar munudoù",
        "ilsubmit": "Klask",
        "bydate": "dre an deiziad anezho",
        "sp-newimages-showfrom": "Diskouez ar restroù nevez adal $1, $2",
        "invalidateemail": "Nullañ kadarnaat ar postel",
        "notificationemail_subject_changed": "Cheñchet eo bet ar chomlec'h postel enrollet e {{SITENAME}}",
        "notificationemail_subject_removed": "Lamet eo bet ar chomlec'h postel enrollet e {{SITENAME}}",
+       "notificationemail_body_changed": "Unan bennak, c'hwi moarvat, gant ar chomlec'h IP $1,\nen deus cheñchet chomlec'h postel ar gont \"$2\" da \"$3\" war {{SITENAME}}.\n\nMa n'eo ket bet graet ganeoc'h, kit e darempred gant unan eus merourien al lec'hienn raktal.",
+       "notificationemail_body_removed": "Unan bennak, c'hwi moarvat, gant ar chomlec'h IP $1,\nen deus dilamet chomlec'h postel ar gont \"$2\" war {{SITENAME}}.\n\nMa n'eo ket bet graet ganeoc'h, kit e darempred gant unan eus merourien al lec'hienn raktal.",
        "scarytranscludedisabled": "[Diweredekaet eo an treuzkludañ etrewiki]",
        "scarytranscludefailed": "[N'eus ket bet gallet tapout ar patrom evit $1]",
        "scarytranscludefailed-httpstatus": "[c'hwitet adtapout ar patrom evit $1: HTTP $2]",
        "scarytranscludetoolong": "[URL re hir]",
        "deletedwhileediting": "'''Diwallit''' : Diverket eo bet ar bajenn-mañ bremañ ha krog e oac'h da zegas kemmoù enni!",
-       "confirmrecreate": "Diverket eo bet ar pennad-mañ gant [[User:$1|$1]] ([[User talk:$1|kaozeal]]) goude ma vije bet kroget ganeoc'h kemmañ anezhañ :\n: ''$2''\nKadarnait mar plij e fell deoc'h krouiñ ar pennad-mañ da vat.",
-       "confirmrecreate-noreason": "Diverket eo bet ar pennad-mañ gant [[User:$1|$1]] ([[User talk:$1|kaozeal]]) goude ma vije bet kroget ganeoc'h kemmañ anezhañ. Kadarnait e fell deoc'h adkrouiñ ar pennad-mañ e gwirionez.",
+       "confirmrecreate": "{{GENDER:$1|Diverket}} eo bet ar bajenn-mañ gant [[User:$1|$1]] ([[User talk:$1|kaozeal]]) goude ma vije bet kroget ganeoc'h kemmañ anezhi :\n: ''$2''\nKadarnait mar plij e fell deoc'h krouiñ ar pennad-mañ en-dro.",
+       "confirmrecreate-noreason": "{{GENDER:$1|Diverket}} eo bet ar bajenn-mañ gant [[User:$1|$1]] ([[User talk:$1|kaozeal]]) goude ma vije bet kroget ganeoc'h kemmañ anezhi. Kadarnait e fell deoc'h adkrouiñ ar pennad-mañ e gwirionez.",
        "recreate": "Adkrouiñ",
        "confirm_purge_button": "Mat eo",
        "confirm-purge-top": "Spurjañ krubuilh ar bajenn-mañ?",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|kaozeal]])",
        "timezone-local": "Lec'hel",
        "duplicate-defaultsort": "Diwallit : Frikañ a ra an alc'hwez dre ziouer \"$2\" an hini a oa a-raok \"$1\".",
+       "duplicate-displaytitle": "<strong>Diwallit :</strong> An titl da ziskwel \"$2\" a friko an hini a oa a oa betek-henn \"$1\".",
+       "restricted-displaytitle": "<strong>Diwallit :</strong> Lezet eo bet an titl da ziskwel \"$1\" a-gostez peogwir ne glot ket gant titl ar bajenn evel m'emañ bremañ.",
+       "invalid-indicator-name": "<strong>Fazi :</strong> Ne c'hall ket perzh <code>name</code> merkerioù statud ar bajenn bezañ goullo.",
        "version": "Stumm",
        "version-extensions": "Astennoù staliet",
        "version-skins": "Gwiskadurioù staliet",
        "version-ext-colheader-description": "Deskrivadur",
        "version-ext-colheader-credits": "Aozerien",
        "version-license-title": "Aotre-implijout evit $1",
+       "version-license-not-found": "N'eus bet kavet tamm titour pizh ebet diwar-benn an astenn-mañ.",
        "version-credits-title": "Kredoù evit $1",
+       "version-credits-not-found": "N'eus bet kavet tamm titour trukarekaat pizh ebet evit an astenn-mañ",
        "version-poweredby-credits": "Mont a ra ar wiki-mañ en-dro a-drugarez da '''[https://www.mediawiki.org/ MediaWiki]''', copyright © 2001-$1 $2.",
        "version-poweredby-others": "re all",
        "version-poweredby-translators": "troerien translatewiki.net",
        "version-libraries-license": "Aotre-implijout",
        "version-libraries-description": "Deskrivadur",
        "version-libraries-authors": "Aozerien",
+       "redirect": "Adkas dre restroù, implijerien, pajennoù, stummoù pe ID marilhañ",
+       "redirect-summary": "Adkas a ra ar bajenn dibar-mañ war-zu ur restr (anv ar restr roet), ur bajenn (ID ar stumm pe ar bajenn roet), ur bajenn implijer (ID niverel an implijer roet), pe ur moned en ur marilh (ID ar marilh roet). Implij : [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], [[{{#Special:Redirect}}/user/101]], or [[{{#Special:Redirect}}/logid/186]].",
        "redirect-submit": "Mont",
        "redirect-lookup": "Klask :",
        "redirect-value": "Talvoud :",
        "tag-filter-submit": "Silañ",
        "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|Dikedenn|Tikedenn}}]] : $2)",
        "tag-mw-contentmodelchange": "cheñch ar patrom danvez",
+       "tag-mw-contentmodelchange-description": "KEmmoù a [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:ChangeContentModel cheñch patrom danvez] ur bajenn",
        "tags-title": "Tikedennoù",
        "tags-intro": "Rollañ a ra ar bajenn-mañ an tikedennoù a c'hall ar meziant implijout da verkañ kemmoù hag o zalvoudegezh.",
        "tags-tag": "Anv an dikedenn",
        "tags-active-yes": "Ya",
        "tags-active-no": "Ket",
        "tags-source-extension": "Termenet gant ar meziant",
+       "tags-source-manual": "Lakaet e pleustr gant an dorn gant an implijerien hag ar robotoù",
        "tags-source-none": "N'emañ ket en implij ken",
        "tags-edit": "aozañ",
        "tags-delete": "diverkañ",
        "tags-manage-no-permission": "N'oc'h ket aotreet da verañ ar c'hemmañ tikedennoù.",
        "tags-manage-blocked": "N'hallit ket merañ ar c'hemmañ tikedennoù e-keit hag {{GENDER:$1|emaoc'h}} stanket.",
        "tags-create-heading": "Krouiñ un dikedenn nevez",
+       "tags-create-explanation": "Dre ziouer e c'hallo an implijerien hag ar robotoù ober gant an tikedennoù nevez krouet.",
        "tags-create-tag-name": "Anv an dikedenn :",
        "tags-create-reason": "Abeg :",
        "tags-create-submit": "Krouiñ",
        "tags-create-no-name": "Rekis eo merkañ anv un dikedenn.",
+       "tags-create-invalid-chars": "Ne c'hall ket bezañ skejoù (<code>,</code>) pe beskelloù (<code>/</code>) en anvioù an tikedennoù.",
+       "tags-create-invalid-title-chars": "Ne c'hall ket anvioù an tikedennoù ober gant arouezennoù na c'hallont ket bezañ implijet e titloù ar pajennoù .",
        "tags-create-already-exists": "Bez' ez eus eus an tikedenn \"$1\" c'hoazh.",
+       "tags-create-warnings-above": "Setu aze ar {{PLURAL:$2|c'hemenn-diwall zo|c'hemennoù-diwall zo}} deuet war wel p'eo bet klasket krouiñ an dikedenn \"$1\" :",
        "tags-create-warnings-below": "Kenderc'hel da grouiñ an dikedenn a fell deoc'h ?",
        "tags-delete-title": "Diverkañ an dikedenn",
+       "tags-delete-explanation-initial": "Emaoc'h o vont da ziverkañ an dikedenn \"$1\" a-ziwar an diaz roadennoù.",
+       "tags-delete-explanation-in-use": "Dilamet e vo diouzh an {{PLURAL:$2|$2 stumm pe moned marilh|holl $2 stumm ha/pe monedoù marilh}} m'emañ bet lakaet evit ar mare.",
+       "tags-delete-explanation-warning": "<strong>Ne vo ket posupl distreiñ</strong> war an ober-mañ <strong>n'haller ket nullañ</strong>, ha pa vefe gant merourien an diaz roadennoù zoken. Bezit peursur eo homañ an dikedenn a fell deoc'h diverkañ.",
+       "tags-delete-explanation-active": "Oberiant eo c'hoazh <strong>an dikedenn \"$1\" ha kenderc'hel a raio da vezañ kemeret e kont en dazont.</strong> Evit mirout na c'hoarvezfe, mont d'al lec'h(ioù) m'emañ an dikedenn da vezañ lakaet da dalvezout ha diweredekaat anezhi eno.",
        "tags-delete-reason": "Abeg :",
+       "tags-delete-submit": "Diverkañ an dikedenn-mañ da viken",
+       "tags-delete-not-allowed": "N'haller ket diverkañ an tikedennoù termenet gant un astenn nemet e vefe aotreet en un doare sklaer d'en ober gant an astenn.",
        "tags-delete-not-found": "N'eus ket eus an dikedenn \"$1\".",
+       "tags-delete-too-many-uses": "Talvezout a ra an dikedenn \"$1\" evit muioc'h eget $2 {{PLURAL:$2|stumm}}, ar pezh a dalvez ne c'hall ket bezañ diverket.",
+       "tags-delete-warnings-after-delete": "Diverket eo bet an dikedenn \"$1\" met kavet eo bet ar {{PLURAL:$2|c'hemenn|c'hemennoù}} da-heul :",
+       "tags-delete-no-permission": "N'oc'h ket aotreet da ziverkañ an dikedennoù kemmañ.",
        "tags-activate-title": "Gweredekaat an dikedenn",
+       "tags-activate-question": "Emaoc'h o vont da weredekaat an dikedenn \"$1\".",
        "tags-activate-reason": "Abeg :",
+       "tags-activate-not-allowed": "N'haller ket gweredekaat an dikedenn \"$1\".",
+       "tags-activate-not-found": "N'eus ket eus an dikedenn \"$1\".",
        "tags-activate-submit": "Gweredekaat",
        "tags-deactivate-title": "Diweredekaat an dikedenn",
+       "tags-deactivate-question": "Emaoc'h o vont da ziweredekaat an dikedenn \"$1\".",
        "tags-deactivate-reason": "Abeg :",
+       "tags-deactivate-not-allowed": "N'haller ket diweredekaat an dikedenn \"$1\".",
        "tags-deactivate-submit": "Diweredekaat",
+       "tags-apply-no-permission": "N'oc'h ket aotreet da lakaat tikedennoù kemmañ da dalvezout a-gevret gant ho kemmoù.",
+       "tags-apply-blocked": "N'hallit ket lakaat da dalvezout ar c'hemmañ tikedennoù hag ho kemmoù e-keit hag {{GENDER:$1|emaoc'h}} stanket.",
+       "tags-apply-not-allowed-one": "N'haller ket lakaat an dikedenn \"$1\" da dalvezout gant an dorn.",
+       "tags-apply-not-allowed-multi": "N'eo ket aotreet lakaat an {{PLURAL:$2|dikedenn}} da heul da dalvezout gant an dorn : $1",
+       "tags-update-no-permission": "N'oc'h ket aotreet da ouzhpennañ pe da lemel kuit tikedennoù kemmañ diwar stummoù hiniennel pe monedoù marilh.",
+       "tags-update-blocked": "N'hallit ket ouzhpennañ pe dilemel tikedennoù kemmañ e-keit hag {{GENDER:$1|emaoc'h}} stanket.",
+       "tags-update-add-not-allowed-one": "N'haller ket ouzhpennañ an dikedenn \"$1\" gant an dorn.",
+       "tags-update-add-not-allowed-multi": "N'eo ket aotreet ouzhpennañ an {{PLURAL:$2|dikedenn}} da heul gant an dorn : $1",
+       "tags-update-remove-not-allowed-one": "N'haller dilemel an dikedenn \"$1\".",
+       "tags-update-remove-not-allowed-multi": "N'haller ket dilemel an {{PLURAL:$2|dikedenn}} gant an dorn : $1",
        "tags-edit-title": "Kemmañ an tikedennoù",
        "tags-edit-manage-link": "Merañ an tikedennoù",
+       "tags-edit-revision-selected": "{{PLURAL:$1|stumm diuzet}} eus [[:$2]]:",
+       "tags-edit-logentry-selected": "{{PLURAL:$1|Darvoud eus ar marilh diuzet}} :",
+       "tags-edit-revision-legend": "Ouzhpennañ pe lemel tikedennoù a-ziwar {{PLURAL:$1|ar stumm-mañ|an $1 stumm zo}}",
+       "tags-edit-logentry-legend": "Ouzhpennañ pe dilemel tikedennoù a-ziwar {{PLURAL:$1|ar moned marilh-mañ|ar $1 moned marilh zo}}",
        "tags-edit-existing-tags": "Tikedennoù zo anezho :",
        "tags-edit-existing-tags-none": "<em>Hini ebet</em>",
        "tags-edit-new-tags": "Tikedennoù nevez :",
        "tags-edit-remove": "Dilemel an tikedennoù-mañ :",
        "tags-edit-remove-all-tags": "(dilemel an holl dikedennoù)",
        "tags-edit-chosen-placeholder": "Diuzañ un nebeud tikedennoù",
+       "tags-edit-chosen-no-results": "N'eus bet kavet tikedenn ebet o klotañ",
        "tags-edit-reason": "Abeg :",
+       "tags-edit-revision-submit": "Lakaat ar c'hemmoù da dalvezout evit {{PLURAL:$1|ar stumm-mañ|$1 stumm}}",
+       "tags-edit-logentry-submit": "Lakaat ar c'hemmoù da dalvezout evit {{PLURAL:$1|ar moned marilh-mañ|$1 moned marilh}}",
        "tags-edit-success": "Lakaet eo bet ar c'hemmoù da dalvezout",
+       "tags-edit-failure": "N'eus ket bet gallet lakaat ar c'hemmoù da dalvezout :\n$1",
+       "tags-edit-nooldid-title": "Stumm pal direizh",
+       "tags-edit-nooldid-text": "Pe n'eus ket bet spisaet ganeoc'h stumm pal resis ebet da lakaat an arc'hwel-mañ da oberiañ warnañ, pe n'eus ket eus ar stumm spisaet.",
+       "tags-edit-none-selected": "Diuzit da nebeutañ un dikedenn da vezañ ouzhpennet pe dilamet.",
        "comparepages": "Keñveriañ pajennoù",
        "compare-page1": "Pajenn 1",
        "compare-page2": "Pajenn 2",
        "compare-revision-not-exists": "N'eus ket eus an adweladenn spisaet ganeoc'h.",
        "dberr-problems": "Ho tigarez ! Kudennoù teknikel zo gant al lec'hienn-mañ.",
        "dberr-again": "Gortozit un nebeud munutennoù a-raok adkargañ.",
-       "dberr-info": "(Dibosupl kevreañ ouzh servijer an diaz roadennoù: $1)",
-       "dberr-info-hidden": "(Ne c'haller ket mont da servijer an diaz roadennoù)",
+       "dberr-info": "(Dibosupl kevreañ ouzh an diaz roadennoù : $1)",
+       "dberr-info-hidden": "(Ne c'haller ket mont d'an diaz roadennoù)",
        "dberr-usegoogle": "E-keit-se esaeit klask dre c'hGoogle.",
        "dberr-outofdate": "Notit mat e c'hall o menegerioù dezho bezañ dispredet e-keñver ar boued zo ganeomp.",
        "dberr-cachederror": "Un eilstumm memoret eus ar bajenn goulennet eo hemañ, gallout a ra bezañ dispredet.",
        "htmlform-date-placeholder": "BBBB-MM-DD",
        "htmlform-time-placeholder": "HH:MM:SS",
        "htmlform-datetime-placeholder": "BBBB-MM-DD HH:MM:SS",
+       "htmlform-date-invalid": "An talvoud lakaet ganeoc'h n'eo ket un deiziad anavezet. Klaskit gant ar furmad BBBB-MM-DD.",
+       "htmlform-time-invalid": "An talvoud lakaet ganeoc'h n'eo ket un eur anavezet. Klaskit gant ar furmad HH:MM:SS.",
+       "htmlform-datetime-invalid": "An talvoud lakaet ganeoc'h n'eo ket un deiziad nag un eur anavezet. Klaskit gant ar furmad BBBB-MM-DD HH:MM:SS.",
+       "htmlform-date-toolow": "An talvoud lakaet ganeoc'h zo a-raok an deiziad aotreet abretañ hag a zo $1.",
+       "htmlform-date-toohigh": "An talvoud lakaet ganeoc'h zo war-lerc'h an deiziad aotreet diwezhañ hag a zo $1.",
+       "htmlform-time-toolow": "An talvoud lakaet ganeoc'h zo a-raok an eur aotreet abretañ hag a zo $1.",
+       "htmlform-time-toohigh": "An talvoud lakaet ganeoc'h zo war-lerc'h an eur aotreet diwezhañ hag a zo $1.",
+       "htmlform-datetime-toolow": "An talvoud lakaet ganeoc'h zo a-raok an deiziad hag eur aotreet abretañ hag a zo $1.",
+       "htmlform-datetime-toohigh": "An talvoud lakaet ganeoc'h zo war-lerc'h an deiziad hag eur aotreet diwezhañ hag a zo $1.",
+       "htmlform-title-badnamespace": "N'emañ ket [[:$1]] en esaouenn anv \"{{ns:$2}}\".",
+       "htmlform-title-not-creatable": "N'haller ket reiñ an titl \"$1\" d'ur bajenn bennak",
        "htmlform-title-not-exists": "N'eus ket eus $1.",
        "htmlform-user-not-exists": "N'eus ket eus <strong>$1</strong>.",
        "htmlform-user-not-valid": "Un anv implijer direizh eo <strong>$1</strong>.",
        "logentry-delete-delete": "Diverket eo bet ar bajenn $3 gant $1",
+       "logentry-delete-delete_redir": "{{GENDER:$2|Friket}} eo bet an adkas $3 gant $1",
        "logentry-delete-restore": "Assavet eo bet ar bajenn $3 gant $1",
        "logentry-delete-event": "Kemmet eo bet gwelusted {{PLURAL:$5|un darvoud eus ar marilh|$5 darvoud eus ar marilh}} d'an $3 gant $1 : $4",
        "logentry-delete-revision": "{{GENDER:$2|Kemmet}} eo bet gwelusted {{PLURAL:$5|reizhadenn|$5 reizhadenn}} war ar bajenn $3 gant $1 : $4",
        "logentry-suppress-event-legacy": "{{GENDER:$2|Kemmet}} eo bet dre guzh gwelusted darvoudoù ar marilh d'an $3 gant $1",
        "logentry-suppress-revision-legacy": "{{GENDER:$2|Kemmet}} eo bet dre guzh gwelusted ar reizhadennoù war ar bajenn $3 gant $1",
        "revdelete-content-hid": "danvez kuzet",
-       "revdelete-summary-hid": "kemmañ an diverrañ kuzhet",
+       "revdelete-summary-hid": "kuzhet diverradenn ar c'hemmoù",
        "revdelete-uname-hid": "anv implijer kuzhet",
        "revdelete-content-unhid": "danvez war wel",
        "revdelete-summary-unhid": "kemmañ an diverrañ zo war wel",
        "revdelete-uname-unhid": "anv implijer war wel",
        "revdelete-restricted": "Lakaat ar strishadurioù da dalvezout evit ar verourien",
        "revdelete-unrestricted": "dilemel ar strishadurioù evit ar verourien",
+       "logentry-block-block": "$1 {{GENDER:$2|Stanket}} eo bet {{GENDER:$4|$3}} gant $1 e-pad $5 $6",
+       "logentry-block-unblock": "{{GENDER:$2|Distanket}} eo bet {{GENDER:$4|$3}} gant $1",
+       "logentry-block-reblock": "{{GENDER:$2|Kemmet}} eo bet gant $1 doareoù stankañ {{GENDER:$4|$3}} gant ur pad kevatal da $5 $6",
+       "logentry-suppress-block": "{{GENDER:$2|Stanket}} eo bet {{GENDER:$4|$3}} gant $1 e-pad $5 $6",
+       "logentry-suppress-reblock": "{{GENDER:$2|Kemmet}} eo bet gant $1 doareoù stankañ {{GENDER:$4|$3}} e-pad $5 $6",
+       "logentry-import-upload": "{{GENDER:$2|Enporzhiet}} eo bet $3 dre bellgargañ gant $1",
+       "logentry-import-upload-details": "{{GENDER:$2|Enporzhiet}} eo bet $3 gant $1 dre bellgargañ restroù ($4 {{PLURAL:$4|adweladenn}})",
+       "logentry-import-interwiki": "{{GENDER:$2|Enporzhiet}} eo bet $3 gant $1 adalek ur wiki all",
+       "logentry-import-interwiki-details": "{{GENDER:$2|Enporzhiet}} eo bet $3 adalek $5 gant $1 ($4 {{PLURAL:$4|adweladenn}})",
+       "logentry-merge-merge": "$1 {{GENDER:$2|en deus lakaet|he deus lakaet}} $3 da gendeuziñ e $4 (adweladennoù betek $5)",
        "logentry-move-move": "$1 en deus kaset ar bajenn $3 da $4",
        "logentry-move-move-noredirect": "kaset ar bajenn $3 da $4 gant $1 hep adkas",
        "logentry-move-move_redir": "kaset ar bajenn $3 da $4 gant $1 dreist un adkas",
        "logentry-newusers-create2": "Gant $1 eo bet krouet ar gont implijer $3",
        "logentry-newusers-byemail": "Krouet eo bet ar gont implijer $3 gant $1 ha kaset eo bet ar ger-tremen dre bostel",
        "logentry-newusers-autocreate": "{{GENDER:$2|Krouet}} eo bet kont $1 ent emgefre",
+       "logentry-protect-move_prot": "$1 {{GENDER:$2|en deus|he deus}} cheñchet an arventennoù gwarez eus $4 da $3",
+       "logentry-protect-unprotect": "{{GENDER:$2|Lamet eo bet}} gwarez $3 gant $1",
        "logentry-protect-protect": "$1 {{GENDER:$2|en|he}} deus gwarezet $3 $4",
+       "logentry-protect-protect-cascade": "{{GENDER:$2|Gwarezet eo bet}} $3 $4 [dre skalierad] gant $1",
+       "logentry-protect-modify": "{{GENDER:$2|KEmmet eo bet}} live gwareziñ $3 $4 gant $1",
+       "logentry-protect-modify-cascade": "{{GENDER:$2|Kemmet eo bet}} live gwareziñ $3 $4 [dre skalierad] gant $1",
+       "logentry-rights-rights": "{{GENDER:$2|Kemmet eo bet}} gant $1 emezeladur {{GENDER:$6|$3}} er strollad eus $4 da $5",
+       "logentry-rights-rights-legacy": "$1 {{GENDER:$2|Kemmet eo bet}} gant $1 emezeladur $3 er strollad",
        "logentry-rights-autopromote": "$1 zo bet {{GENDER:$2|anvet}} ent emgefre a $4 da $5",
        "logentry-upload-upload": "$1 {{GENDER:$2|en deus|he deus}} ezporzhiet $3",
        "logentry-upload-overwrite": "$1 {{GENDER:$2|en deus|he deus}} ezporzhiet ur stumm nevez eus $3",
        "logentry-upload-revert": "$1 {{GENDER:$2|en deus|he deus}} ezporzhiet $3",
+       "log-name-managetags": "Marilh merañ an tikedennoù",
+       "log-description-managetags": "Rollañ a ra ar bajenn-mañ an trevelloù liammet ouzh an [[Special:Tags|tikedennoù]]. N'eus er marilh nemet an oberoù bet kaset da benn dre zorn gant ur merour ; gallout a rafe ar meziant wiki bezañ bet krouet tikedennoù hep na vefent bet enrollet er marilh-mañ.",
+       "logentry-managetags-create": "{{GENDER:$2|Krouet eo bet}} an dikedenn \"$4\" gant $1",
+       "logentry-managetags-delete": "{{GENDER:$2|Diverket eo bet}} an dikedenn \"$4\" gant $1 (lamet diouzh $5 {{PLURAL:$5|adweladenn pe ur marilh moned}})",
+       "logentry-managetags-activate": "{{GENDER:$2|Gweredekaet eo bet}} an dikedenn \"$4\" gant $1 a dalvez evit an implijerien hag ar robotoù",
+       "logentry-managetags-deactivate": "{{GENDER:$2|Diweredekaet eo bet}} an dikedenn \"$4\" gant $1 a dalvez evit an implijerien hag ar robotoù",
+       "log-name-tag": "Marilh tikedennoù",
+       "log-description-tag": "Diskouez a ra ar bajenn-mañ pegoulz ez eus bet ouzhpennet pe dilamet [[Special:Tags|tikedennoù]] gant implijerien diouzh adweladennoù hiniennel pe monedoù marilh. N'eo ket rollet gant ar marilh an oberoù tikedenniñ pa'z int bet graet en ur gemmañ, diverkañ pe en ur ober un dra bennak all damheñvel",
+       "logentry-tag-update-add-revision": "$1 {{GENDER:$2|en deus ouzhpennet|he deus ouzhpennet}} {{PLURAL:$7|an dikedenn|an tikedennoù}} $6 da adweladennn $4 ar bajenn $3",
+       "logentry-tag-update-add-logentry": "$1 {{GENDER:$2|end eus ouzhpennet|he deus ouzhpennet}}  {{PLURAL:$7|an dikedenn|an tikedennoù}} $6 da voned ar marilh $5 eus ar bajenn $3",
+       "logentry-tag-update-remove-revision": "$1 {{GENDER:$2|en deus lamet kuit|he deus lamet kuit}} {{PLURAL:$9|an dikedenn|an tikedennoù}} $8 diouzh adweladenn $4 ar bajenn $3",
+       "logentry-tag-update-remove-logentry": "$1 {{GENDER:$2|en deus lamet kuit|he deus lamet kuit}}  {{PLURAL:$9|an dikedenn|an tikedennoù}} $8 diouzh moned marilh $5 ar bajenn $3",
+       "logentry-tag-update-revision": "$1 {{GENDER:$2|en deus hizivaet|he deus hizivaet}} tikedennoù en adweladenn $4 ar bajenn $3 ({{PLURAL:$7|ouzhpennet}} $6; {{PLURAL:$9|dilamet}} $8)",
+       "logentry-tag-update-logentry": "$1 {{GENDER:$2|en deus hizivaet|he deus hizivaet}} tikedennoù e moned ar marilh $5 eus ar bajenn $3 ({{PLURAL:$7|ouzhpennet}} $6; {{PLURAL:$9|dilamet}} $8)",
        "rightsnone": "(netra)",
-       "revdelete-summary": "diverradenn eus ar c'hemmoù",
        "rightslogentry-temporary-group": "$1 (da c'hortoz, betek $2)",
        "feedback-adding": "Oc'h ouzhpennañ ho soñj war ar bajenn...",
        "feedback-back": "Distreiñ",
        "feedback-bugornote": "Ma'z oc'h prest da zeskrivañ ur gudenn deknikel dre ar munud e c'hallit [$1 kemenn un draen].\nA-hend-all e c'hallit ober gant ar furmskrid eeunaet dindan. Ouzhpennet e vo hoc'h evezhiadenn d'ar bajenn \"[$3 $2]\", a-gevret gant hoc'h anv implijer hag anv ar merdeer a rit gantañ.",
        "feedback-cancel": "Nullañ",
        "feedback-close": "Graet",
+       "feedback-external-bug-report-button": "Kas un trevell teknikel",
+       "feedback-dialog-title": "Kas evezhiadennoù",
+       "feedback-dialog-intro": "Gallout a rit ober gant ar furmskrid eeun dindan evit kas hoc'h evezhiadennoù. Ouzhpennet e vo ho soñj d'ar bajenn \"$1\", a-gevret gant hoc'h anv implijer.",
        "feedback-error1": "Fazi : disoc'h dianav a-berzh an API",
        "feedback-error2": "Fazi : N'eus ket bet gallet degemer ar c'hemmoù",
        "feedback-error3": "Fazi : respont ebet a-berzh an API",
+       "feedback-error4": "Fazi : dibosupl eo embann gant an titl zo bet lakaet d'an evezhiadenn",
        "feedback-message": "Kemennadenn :",
        "feedback-subject": "Danvez :",
        "feedback-submit": "Kas",
+       "feedback-terms": "Kompren a ran ervat emañ e-barzh titouroù ma gwazour implijer titouroù diwar-benn ma merdeer ha stumm ma reizhiad korvoiñ hag a vo rannet gant an holl asambles gant ma evezhiadennoù.",
+       "feedback-termsofuse": "A-du emaon da gas evezhiadennoù diouzh an termenoù implij.",
        "feedback-thanks": "Ho trugarekaat ! Postet eo bet hoc'h evezhiadenn d'ar bajenn \"[$2 $1]\".",
        "feedback-thanks-title": "Trugarez !",
+       "feedback-useragent": "Gwazour timplijer :",
        "searchsuggest-search": "Klask e {{SITENAME}}",
        "searchsuggest-containing": "ennañ...",
        "api-error-badtoken": "Fazi diabarzh : \"jedouer\" fall.",
        "limitreport-walltime-value": "$1 {{PLURAL:$1|eiladenn}}",
        "limitreport-ppvisitednodes": "Niver a skoulmoù rakprosesor gweladennet",
        "limitreport-ppgeneratednodes": "Niver a skoulmoù rakprosesor ganet",
+       "limitreport-postexpandincludesize": "Ment ensoc'hañ goude an emled",
        "limitreport-postexpandincludesize-value": "$1/$2 {{PLURAL:$2|okted}}",
        "limitreport-templateargumentsize": "Ment arguzenn ar patrom",
        "limitreport-templateargumentsize-value": "$1/$2 {{PLURAL:$2|okted}}",
        "expand_templates_generate_xml": "Gwelet ar gwezennadur XML",
        "expand_templates_generate_rawhtml": "Diskouez an HTML kriz",
        "expand_templates_preview": "Rakwelet",
+       "expand_templates_preview_fail_html": "<em>Dre m'eo gweredekaet HTML kriz {{SITENAME}} ha dre ma'z eus bet kollet roadennoù e-pad an dalc'h eo kuzhet ar rakwel abalamour d'en em wareziñ diouzh tagadennoù JavaScript.</em>\n\n<strong>Klaskit en-dro m'eo dinoaz ho koulenn rakwel.</strong>\nMa ne'z a ket en-dro c'hoazh, klaskit [[Special:UserLogout|digevreañ]] hag adkevreañ goude-se, goude bezañ gwiriet mat eo digor ho merdeer d'an toupinoù evit al lec'hienn-mañ.",
+       "expand_templates_preview_fail_html_anon": "<em>Dre m'eo gweredekaet HTML kriz {{SITENAME}} ha dre ma n'oc'h ket kevreet eo kuzhet ar rakwel abalamour d'en em wareziñ diouzh tagadennoù JavaScript.</em>\n\n<strong>M'eo dinoaz ho koulenn rakwel, [[Special:UserLogin|kevreit]] ha klaskit en-dro.</strong>",
+       "expand_templates_input_missing": "Ret eo deoc'h lakaat da nebeutañ un tamm testenn moned.",
        "pagelanguage": "Kemmañ yezh ar bajenn",
        "pagelang-name": "Pajenn",
        "pagelang-language": "Yezh",
        "pagelang-submit": "Kas",
        "pagelang-nonexistent-page": "N'eus ket eus ar bajenn $1.",
        "pagelang-unchanged-language": "Kefluniet eo c'hoazh ar bajenn $1 e $2.",
+       "pagelang-unchanged-language-default": "Arventennet eo ar bajenn $1 evit bezañ e yezh dre ziouer danvez ar wiki dija.",
+       "pagelang-db-failed": "N'en deus ket gallet an diaz roadennoù cheñch yezh ar bajenn",
        "right-pagelang": "Cheñch yezh ar bajenn",
        "action-pagelang": "cheñch yezh ar bajenn",
        "log-name-pagelang": "Marilh ar cheñchamantoù yezh",
        "log-description-pagelang": "Hemañ zo ur marilh eus ar c'hemmoù e pajenn ar yezhoù.",
        "logentry-pagelang-pagelang": "$1 {{GENDER:$2|en deus|he deus}} cheñchet yezh ar bajenn $3 eus $4 da $5.",
+       "default-skin-not-found": "Hopala ! N'haller ket tizhout gwiskadur dre ziouer ho wiki termenet gant <code dir=\"ltr\">$wgDefaultSkin</code> evel <code>$1</code>.\n\nEvit doare emañ ar {{PLURAL:$4|gwiskadur|gwiskadurioù}} da heul en ho staliadur. Sellit ouzh [https://www.mediawiki.org/wiki/Manual:Skin_configuration dornlevr kefluniañ ar gwiskadurioù] evit gouzout penaos gweredekaat {{PLURAL:$4|anezhañ|anezho}} ha dibab an hini dre ziouer.\n\n$2\n\n; M'emaoc'h o paouez staliañ MediaWiki :\n: eo bet staliet ganeoc'h adalek git moarvat, pe war-eeun adalek ar c'hod tarzh gant un doare bennak all. Normal eo. Klaskit staliañ ar gwiskadurioù adalek [https://www.mediawiki.org/wiki/Category:All_skins kavlec'h gwiskadurioù mediawiki.org], dre :\n:* Pellgargañ [https://www.mediawiki.org/wiki/Download restr tar ar stalier], zo ennañ meus a wiskadur hag astennoù. Gallout a rit eilañ pegañ ar c'havlec'h <code>skins/</code> alese.\n:* Pellgargañ restroù tar ar gwiskadurioù hiniennel adalek [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org].\n:* [https://www.mediawiki.org/wiki/Download_from_Git#Using_Git_to_download_MediaWiki_skins Pellgargañ gwiskadurioù gant Git].\n: Ma rit evel-se ne zlefe ket trubuilhañ ho sanailh git ma'z oc'h un diorroer eus MediaWiki.\n\n; M'emaoc'h o paouez hizivaat MediaWiki :\n: Ne vez ket mui gweredekaet ent emgefre ar gwiskadurioù stalier gant MediaWiki 1.24 ha pelloc'h (gwelet [https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery dornlevr dizoleiñ ar gwiskadurioù ent emgefre]). Pegañ {{PLURAL:$5|al linenn da heul|al linennoù da heul}} a c'hallit e <code>LocalSettings.php</code> evit gweredekaat {{PLURAL:$5|ar gwiskadur zo staliet c'hoazh|an holl wiskadurioù staliet evit poent}} :\n\n<pre dir=\"ltr\">$3</pre>\n\n; M'emaoc'h o paouez cheñch <code>LocalSettings.php</code> :\n: gwiriit div wech anv ar gwiskadurioù kuit na vije vioù-koukoug.",
+       "default-skin-not-found-no-skins": "Hopala ! N'hallet ket tizhout gwiskadur dre ziouer ho wiki termenet gant <code>$wgDefaultSkin</code> comme <code>$1</code>.\n\nN'eus bet staliet gwiskadur ebet.\n\n; M'emaoc'h o paouez staliañ pe hizivaat MediaWiki :\n: Eo bet graet ganeoc'h adalek git moarvat, pe war-eeun adalek ar c'hod tarzh gant un doare bennak all. Normal eo. Abaoe MediaWiki 1.24 ha pelloc'h n'eus mui gwiskadur ebet er sanailh pennañ. Klaski staliañ gwiskadurioù adalek [https://www.mediawiki.org/wiki/Category:All_skins kavlec'h gwiskadurioù mediawiki.org], dre :\n:* Pellgargañ [https://www.mediawiki.org/wiki/Download restr tar ar stalier] zo ennañ meus a seurt gwiskadur hag astennoù. Gallout a rit eilan-pegañ ar c'havlec'h <code>skins/</code> alese.\n:* Pellgargañ restroù tar ar gwiskadurioù hiniennel adalek [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org].\n:* [https://www.mediawiki.org/wiki/Download_from_Git#Using_Git_to_download_MediaWiki_skins Ober gant Git evit pellgargañ gwiskadurioù].\n: Ma rit evel-se ne zlefe ket trubuilhañ ho sanailh git ma'z oc'h un diorroer eus MediaWiki. Gwelet [https://www.mediawiki.org/wiki/Manual:Skin_configuration dornlevr kefluniañ ar gwiskadurioù] evit gouzout an doare da weredekaat ar gwiskadurioù ha da zibab an hini dre ziouer.",
        "default-skin-not-found-row-enabled": "* <code>$1</code> / $2 (gweredekaet)",
        "default-skin-not-found-row-disabled": "* <code>$1</code> / $2 (<strong>diweredekaet</strong>)",
        "mediastatistics": "Stadegoù ar media",
+       "mediastatistics-summary": "Stadegoù diwar-benn ar seurt restroù enporzhiet. Ne gemer e kont nemet stumm nevesañ ar restroù. A-gostez e vez laosket ar stummoù kozh pe diverket.",
        "mediastatistics-nbytes": "{{PLURAL:$1|$1 okted|$1 a oktedoù}} ($2; $3%)",
+       "mediastatistics-bytespertype": "Ment hollek ar restr evit ar rann-mañ : {{PLURAL:$1|$1 okted}} ($2; $3%).",
+       "mediastatistics-allbytes": "Ment hollek evit an holl restrom : {{PLURAL:$1|$1 okted}} ($2).",
        "mediastatistics-table-mimetype": "Seurt MIME",
        "mediastatistics-table-extensions": "Astennoù hag a c'haller lakaat",
        "mediastatistics-table-count": "Niver a restroù",
        "mediastatistics-header-drawing": "Tresadennoù (skeudennoù vektorel)",
        "mediastatistics-header-audio": "Kleved",
        "mediastatistics-header-video": "Videoioù",
+       "mediastatistics-header-multimedia": "Media fonnus",
        "mediastatistics-header-office": "Burev",
        "mediastatistics-header-text": "Testenn",
+       "mediastatistics-header-executable": "Parzhioù erounezadus",
        "mediastatistics-header-archive": "Furmadoù gwasket",
        "mediastatistics-header-total": "An holl restroù",
        "json-warn-trailing-comma": "$1 {{PLURAL:$1|virgulenn|a virgulennoù}} dibenn zo bet lamet eus JSON",
        "json-error-unknown": "Ur gudenn a oa gant ar JSON. Fazi : $1",
        "json-error-depth": "Aet eur en tu all da zonder brasañ an torn",
        "json-error-state-mismatch": "JSON direizh pe stummet fall",
+       "json-error-ctrl-char": "Fazi arouezenn gontrolliñ. Enkodet eo bet fall marteze.",
        "json-error-syntax": "Fazi ereadur",
        "json-error-utf8": "Arouezennoù UTF-8 stummet fall, enkodet en un doare direizh marteze",
+       "json-error-recursion": "Bez' ez eus unan pe meur a zaveenn rekursivel en talvoud da enkodiñ",
+       "json-error-inf-or-nan": "Bez' ez eus unan pe meur a dalvoud NAN pe INF en talvoud da enkodiñ",
+       "json-error-unsupported-type": "Lakaet ez eus bet ur seurt talvoud n'hall ket bezañ enkodet.",
        "headline-anchor-title": "Liamm war-zu ar rannbennad-mañ",
        "special-characters-group-latin": "Latin",
        "special-characters-group-latinextended": "Latin astennet",
        "special-characters-group-thai": "Thai",
        "special-characters-group-lao": "Laoseg",
        "special-characters-group-khmer": "Khmer",
+       "special-characters-title-endash": "tired berr",
+       "special-characters-title-emdash": "tired hir",
+       "special-characters-title-minus": "arouezenn nemet",
+       "mw-widgets-dateinput-no-date": "N'eus bet diuzet deiziad ebet",
+       "mw-widgets-mediasearch-input-placeholder": "Klask mediaoù",
        "mw-widgets-mediasearch-noresults": "N'eus bet kavet disoc'h ebet.",
        "mw-widgets-titleinput-description-new-page": "N'eus ket eus ar bajenn-se c'hoazh",
        "mw-widgets-titleinput-description-redirect": "adkas war-zu $1",
        "mw-widgets-categoryselector-add-category-placeholder": "Ouzhpennañ ur rummad...",
        "mw-widgets-usersmultiselect-placeholder": "Ouzhpennañ muioc'h...",
+       "sessionmanager-tie": "N'hallet ket kevrediñ meur a seurt reked dilesañ : $1.",
        "sessionprovider-generic": "$1 estez",
        "sessionprovider-mediawiki-session-cookiesessionprovider": "Eztez diazezet war toupinoù",
        "sessionprovider-nocookies": "Marteze eo diweredekaet an toupinoù. Bezit sur eo gweredekaet an toupinoù ha klaskit en-dro.",
        "log-action-filter-suppress-reblock": "Diverkañ implijerien dre stankadennoù lies",
        "log-action-filter-upload-upload": "Enporzhiadenn nevez",
        "log-action-filter-upload-overwrite": "Adenporzhiañ",
+       "authmanager-authn-not-in-progress": "Ne'z a ket war-raok an dilesadur pe kollet ez eus bet roadennoù dalc'h marteze. Adkrogit adalek ar penn-kentañ.",
        "authmanager-authn-no-primary": "N'eus ket bet gallet gwiriañ an titouroù kred lakaet.",
+       "authmanager-authn-no-local-user": "An titouroù anaout pourchaset n'int ket liammet gant implijer ebet er wiki-mañ.",
        "authmanager-authn-no-local-user-link": "Reizh eo an titouroù kred lakaet met n'int ket liammet ouzh implijer ebet eus ar wiki-mañ. Ma kevreit en ur mod all pe ma krouit ur gont implijer nevez e c'hallot liammañ ho titouroù kred kent ouzh ar gont-mañ.",
+       "authmanager-authn-autocreate-failed": "C'hwitet eo bet krouidigezh ur gont lec'hel ent emgefre : $1",
        "authmanager-change-not-supported": "N'haller ket cheñch an titouroù kred rak netra na rafe ganto.",
        "authmanager-create-disabled": "Diweredekaet eo ar c'hrouiñ kontoù.",
        "authmanager-create-from-login": "Evit krouiñ ho kont, leuniit ar maeziennoù.",
+       "authmanager-create-not-in-progress": "Ne'z a ket war-raok krouidigezh ar gont pe kollet ez eus bet roadennoù dalc'h marteze. Adkrogit adalek ar penn-kentañ.",
        "authmanager-create-no-primary": "N'eus ket bet gallet implijout an titouroù kred lakaet evit krouiñ ur gont.",
+       "authmanager-link-no-primary": "Ne c'hallomp ket liammañ ur gont gant an titouroù anaout pourchaset.",
+       "authmanager-link-not-in-progress": "Ne'z a ket war-raok al liammañ kontoù pe kollet ez eus bet roadennoù dalc'h marteze. Adkrogit adalek ar penn-kentañ.",
        "authmanager-authplugin-setpass-failed-title": "C'hwitet eo bet ar cheñchamant ger-tremen",
+       "authmanager-authplugin-setpass-failed-message": "Nac'het eo bet cheñch ar ger-tremen gant an adveziant dilesa.",
+       "authmanager-authplugin-create-fail": "Nac'het eo bet krouiñ ar gont gant an adveziant dilesa.",
+       "authmanager-authplugin-setpass-denied": "N'eo ket aotreet cheñch gerioù-tremen gant an adveziant dilesa.",
        "authmanager-authplugin-setpass-bad-domain": "Domani direizh.",
+       "authmanager-autocreate-noperm": "N'haller ket krouiñ kontoù ent emgefre.",
+       "authmanager-autocreate-exception": "Diweredekaet eo bet ar c'hrouiñ kontoù evit ar mare abalamour da fazioù kent.",
        "authmanager-userdoesnotexist": "N'eo ket enrollet ar gont implijer \"$1\".",
+       "authmanager-userlogin-remembermypassword-help": "Daoust ha rankout a reer derc'hel soñj eus ar ger-tremen pelloc'h eget pad an dalc'h.",
        "authmanager-username-help": "Anv implijer evit ar gwiriekaat.",
        "authmanager-password-help": "Ger-tremen evit ar gwiriekaat.",
        "authmanager-domain-help": "Domani evit ar gwiriekaat diavaez.",
        "authmanager-realname-label": "Anv gwir",
        "authmanager-realname-help": "Anv gwir an implijer",
        "authmanager-provider-password": "Gwiriekadur diazezet war ur ger-termen",
+       "authmanager-provider-password-domain": "Dilesadur diazezet war ur ger-tremen hag an domani",
        "authmanager-provider-temporarypassword": "Ger-tremen da c'hortoz",
+       "authprovider-confirmlink-message": "Diwar an taolioù-esae diwezhañ graet ganeoc'h evit kevreañ e c'haller liammañ ar c'hontoù da heul ouzh ho kont wiki. Ur wech liammet e c'hallit kevreañ dre ar c'hontoù-se. Diuzit ar re zo da vezañ liammet.",
        "authprovider-confirmlink-request-label": "Kontoù a zlefe bezañ liammet",
        "authprovider-confirmlink-success-line": "$1: bet liammet ervat.",
+       "authprovider-confirmlink-failed": "N'omp ket deuet a-benn da liamm ar gont : $1",
+       "authprovider-confirmlink-ok-help": "Kenderc'hel goude bezañ diskwelet kemennadennoù c'hwitadenn al liammañ.",
        "authprovider-resetpass-skip-label": "Lammat",
        "authprovider-resetpass-skip-help": "Lammat adderaouekaat ar ger-tremen.",
+       "authform-nosession-login": "Mat eo bet an dilesadur met ho merdeer n'eo ket evit \"kaout soñj\" eo bet kevreet.\n\n$1",
+       "authform-nosession-signup": "Krouet eo bet ar gont ervat met ho merdeer n'eo ket evit \"kaout soñj\" eo bet kevreet.\n\n$1",
        "authform-newtoken": "Jedouer a vank. $1",
        "authform-notoken": "Jedouer a vank",
        "authform-wrongtoken": "Jedouer fall",
        "specialpage-securitylevel-not-allowed-title": "Berzet",
+       "specialpage-securitylevel-not-allowed": "Ho tigarez, n'oc'h ket aotreet d'ober gant ar bajenn-mañ rak n'eus ket bet gallet gwiriañ piv oc'h.",
        "authpage-cannot-login": "N'haller ket kregiñ da gevreañ",
+       "authpage-cannot-login-continue": "Dibosupl kenderc'hel gant ar gevreadenn. Echu eo an dalc'h evit doare.",
        "authpage-cannot-create": "N'haller ket kregiñ da grouiñ ar gont.",
+       "authpage-cannot-create-continue": "Dibosupl eo kenderc'hel da grouiñ ar gont. Echu eo an dalc'h evit doare.",
        "authpage-cannot-link": "Dibosupl kregiñ da liammañ ar gont.",
        "authpage-cannot-link-continue": "Dibosupl kenderc'hel da liammañ ar gont. Aet eo an eztez d'he zermen moarvat.",
        "cannotauth-not-allowed-title": "Aotre nac'het",
        "unlinkaccounts": "Diliammañ ar c'hontoù",
        "unlinkaccounts-success": "Diliammet eo bet ar gont.",
        "authenticationdatachange-ignored": "N'eus ket bet gallet cheñch ho roadennoù anaout. Marteze a-wac'h peogwir ne oa ket bet kefluniet pourvezer ebet.",
+       "userjsispublic": "Notit mat : ne zlefe ket bezañ roadennoù personel en ispajennoù JavaScript rak an implijerien all a c'hall gwelet anezho.",
+       "usercssispublic": "Notit mat : ne zlefe ket bezañ roadennoù personel en ispajennoù CSS rak an implijerien all a c'hall gwelet anezho.",
        "restrictionsfield-badip": "Chomlec'h IP pe lijorenn direizh : $1",
        "restrictionsfield-label": "Lijorennoù IP aotreet :",
        "restrictionsfield-help": "Ur chomlec'h IP pe un esaouenn CIDR dre linenn. Evit gweredekaat pep tra, ober gant <pre>0.0.0.0/0\n::/0</pre>",
index fc83760..968d024 100644 (file)
        "category_header": "Stranice u kategoriji \"$1\"",
        "subcategories": "Potkategorije",
        "category-media-header": "Datoteke u kategoriji \"$1\"",
-       "category-empty": "''Ova kategorija trenutno ne sadrži članke ni medije.''",
+       "category-empty": "<em>Ova kategorija trenutno ne sadrži članke ni medije.</em>",
        "hidden-categories": "{{PLURAL:$1|Sakrivena kategorija|Sakrivene kategorije}}",
        "hidden-category-category": "Skrivene kategorije",
        "category-subcat-count": "{{PLURAL:$2|Ova kategorija samo ima sljedeću potkategoriju.|Ova kategorija ima {{PLURAL:$1|sljedeću potkategoriju|sljedeće $1 potkategorije|sljedećih $1 potkategorija}}, od $2 ukupno.}}",
        "aboutsite": "O {{GRAMMAR:dativ|{{SITENAME}}}}",
        "aboutpage": "Project:O {{GRAMMAR:dativ|{{SITENAME}}}}",
        "copyright": "Sadržaj je dostupan pod licencom $1 osim ako je navedeno drugačije.",
-       "copyrightpage": "{{ns:project}}:Autorska_prava",
+       "copyrightpage": "{{ns:project}}:Autorska prava",
        "currentevents": "Novosti",
        "currentevents-url": "Project:Novosti",
        "disclaimers": "Odricanje odgovornosti",
        "login": "Prijavi me",
        "login-security": "Potvrdite svoj identitet",
        "nav-login-createaccount": "Prijavi se / Registruj se",
-       "userlogin": "Prijavi se / napravi račun",
-       "userloginnocreate": "Prijavi se",
        "logout": "Odjavi me",
        "userlogout": "Odjavi me",
        "notloggedin": "Niste prijavljeni",
        "userlogin-noaccount": "Nemate korisnički račun?",
        "userlogin-joinproject": "Pridružite se {{GRAMMAR:dativ|{{SITENAME}}}}",
-       "nologin": "Nemate korisničko ime? $1.",
-       "nologinlink": "Otvorite račun",
        "createaccount": "Napravi korisnički račun",
-       "gotaccount": "Već imate korisnički račun? $1.",
-       "gotaccountlink": "Prijavite se",
-       "userlogin-resetlink": "Zaboravili ste detalje vaše prijave?",
        "userlogin-resetpassword-link": "Zaboravili ste lozinku?",
        "userlogin-helplink2": "Pomoć pri prijavljivanju",
        "userlogin-loggedin": "Već ste prijavljeni kao {{GENDER:$1|$1}}.\nKoristite donji obrazac da biste se prijavili kao drugi korisnik.",
        "createaccountmail": "Koristite privremenu, slučajno stvorenu lozinku i pošaljite na navedenu adrеsu e-pošte",
        "createaccountmail-help": "Može se koristiti da se nekome napravi račun bez da se sazna lozinka.",
        "createacct-realname": "Pravo ime (opcionalno)",
-       "createaccountreason": "Razlog:",
        "createacct-reason": "Razlog",
        "createacct-reason-ph": "Zašto pravite još jedan korisnički račun?",
        "createacct-reason-help": "Poruka koja se prikazuje u zapisniku stvaranja korisničkih računa",
        "rcfilters-filter-editsbyother-label": "Tuđe izmjene",
        "rcfilters-filter-editsbyother-description": "Izmjene koje su napravili drugi korisnici (ne Vi).",
        "rcfilters-filtergroup-userExpLevel": "Korisničko iskustvo (samo za registrirane)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "Novajlije",
-       "rcfilters-filter-userExpLevel-newcomer-description": "Manje od 10 izmjena i 4 dana aktivnosti.",
-       "rcfilters-filter-userExpLevel-learner-label": "Učenici",
-       "rcfilters-filter-userExpLevel-learner-description": "Više dana aktivnosti i izmjena od \"novajlija\", ali manje od \"iskusnih korisnika\".",
-       "rcfilters-filter-userExpLevel-experienced-label": "Iskusni korisnici",
-       "rcfilters-filter-userExpLevel-experienced-description": "Preko 30 dana aktivnosti i 500 izmjena.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Novajlije",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Manje od 10 izmjena i 4 dana aktivnosti.",
+       "rcfilters-filter-user-experience-level-learner-label": "Učenici",
+       "rcfilters-filter-user-experience-level-learner-description": "Više dana aktivnosti i izmjena od \"novajlija\", ali manje od \"iskusnih korisnika\".",
+       "rcfilters-filter-user-experience-level-experienced-label": "Iskusni korisnici",
+       "rcfilters-filter-user-experience-level-experienced-description": "Preko 30 dana aktivnosti i 500 izmjena.",
        "rcfilters-filtergroup-automated": "Automatski doprinosi",
        "rcfilters-filter-bots-label": "Bot",
        "rcfilters-filter-bots-description": "Izmjene napravljene automatiziranim alatima.",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|ažurirao|ažurirala}} je oznake na verziji $4 strane $3 ({{PLURAL:$7|dodano}} $6; {{PLURAL:$9|uklonjeno}} $8)",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|ažurirao|ažurirala}} je oznake na zapisničkom unosu $5 strane $3 ({{PLURAL:$7|dodano}} $6; {{PLURAL:$9|uklonjeno}} $8)",
        "rightsnone": "(nema)",
-       "revdelete-summary": "sažetak",
        "rightslogentry-temporary-group": "$1 (privremeno, do $2)",
        "feedback-adding": "Dodajem povratne informacije na stranicu...",
        "feedback-back": "Nazad",
index 140bbf4..fb4b3c3 100644 (file)
        "login": "Inici de sessió",
        "login-security": "Verificació de la identitat",
        "nav-login-createaccount": "Inicia una sessió / crea un compte",
-       "userlogin": "Inicia una sessió / crea un compte",
-       "userloginnocreate": "Inici de sessió",
        "logout": "Finalitza la sessió",
        "userlogout": "Finalitza la sessió",
        "notloggedin": "Sense sessió iniciada",
        "userlogin-noaccount": "No teniu cap compte?",
        "userlogin-joinproject": "Uniu-vos a {{SITENAME}}",
-       "nologin": "No teniu un compte? '''$1'''.",
-       "nologinlink": "Crea un compte",
        "createaccount": "Crea un compte",
-       "gotaccount": "Ja teniu un compte? $1.",
-       "gotaccountlink": "Inicia una sessió",
-       "userlogin-resetlink": "Heu oblidat les vostres dades d'accés?",
        "userlogin-resetpassword-link": "Heu oblidat la contrasenya?",
        "userlogin-helplink2": "Ajuda amb el registre",
        "userlogin-loggedin": "Heu iniciat una sessió com {{GENDER:$1|$1}}.\nFeu servir el formulari de sota per iniciar la sessió com un altre usuari.",
        "createaccountmail": "Utilitza una contrasenya aleatòria temporal i envia-la a l'adreça de correu indicada",
        "createaccountmail-help": "Pot utilitzar-se per crear un compte per a una altra persona sense necessitar una contrasenya.",
        "createacct-realname": "Nom real (opcional)",
-       "createaccountreason": "Motiu:",
        "createacct-reason": "Motiu",
        "createacct-reason-ph": "Per què creeu un altre compte",
        "createacct-reason-help": "Missatge mostrat en el registre de creació de comptes",
        "selfredirect": "<strong>Avís:</strong> Esteu redirigint la pàgina a si mateixa.\nPodeu haver especificat un objectiu erroni per a la redirecció, o potser esteu modificant una pàgina incorrecta.\nSi feu clic a «{{int:savearticle}}» una vegada més, la redirecció es crearà de totes maneres.",
        "missingcommenttext": "Introduïu un comentari a continuació.",
        "missingcommentheader": "<strong>Recordatori:</strong> no heu proporcionat un assumpte/encapçalament per al comentari.\nSi feu clic de nou al botó «{{int:savearticle}}», la vostra contribució es desarà sense cap.",
-       "summary-preview": "Previsualització del resum:",
+       "summary-preview": "Previsualització del resum de modificació:",
        "subject-preview": "Previsualització de l’assumpte:",
        "previewerrortext": "S'ha produït un error quan es provava de previsualitzar els canvis.",
        "blockedtitle": "L'usuari està blocat",
        "page_first": "primera",
        "page_last": "última",
        "histlegend": "Simbologia: (act) = diferència amb la versió actual,\n(prev) = diferència amb la versió anterior, m = modificació menor",
-       "history-fieldset-title": "Cerca a l'historial",
-       "history-show-deleted": "Només esborrats",
+       "history-fieldset-title": "Cerca revisions",
+       "history-show-deleted": "Només revisions esborrades",
        "histfirst": "més antigues",
        "histlast": "més noves",
        "historysize": "({{PLURAL:$1|1 octet|$1 octets}})",
        "prefs-help-prefershttps": "Aquesta preferència tindrà efecte quan inicieu una nova sessió.",
        "prefswarning-warning": "Heu fet canvis a les preferències que encara no s'han desat.\nSi abandoneu la pàgina sense fer clic a «$1», les preferències no s'actualitzaran.",
        "prefs-tabs-navigation-hint": "Consell: Podeu utilitzar les tecles de cursor de dreta i esquerra per a navegar entre les pestanyes.",
-       "userrights": "Gestió dels permisos d’usuari",
+       "userrights": "Permisos d'usuari",
        "userrights-lookup-user": "Seleccioneu un usuari",
        "userrights-user-editname": "Introduïu un nom d'usuari:",
        "editusergroup": "Carrega els grups d'usuari",
        "userrights-groupsmember": "Membre de:",
        "userrights-groupsmember-auto": "Membre implícit de:",
        "userrights-groupsmember-type": "$1",
-       "userrights-groups-help": "Podeu modificar els grups als quals pertany {{GENDER:$1|aquest usuari|aquesta usuària}}.\n* Una casella marcada significa que {{GENDER:$1|l’usuari|la usuària}} pertany a aquest grup.\n* Una casella no marcada significa que {{GENDER:$1|l’usuari|la usuària}} no pertany a aquest grup.\n* Un asterisc (*) indica que no {{GENDER:$1|el|la}} podreu treure del grup una vegada l'hàgiu afegit o viceversa.",
+       "userrights-groups-help": "Podeu modificar els grups als quals pertany {{GENDER:$1|aquest usuari|aquesta usuària}}.\n* Una casella marcada significa que {{GENDER:$1|l’usuari|la usuària}} pertany a aquest grup.\n* Una casella no marcada significa que {{GENDER:$1|l’usuari|la usuària}} no pertany a aquest grup.\n* Un asterisc (*) indica que no {{GENDER:$1|el|la}} podreu treure del grup una vegada l'hàgiu afegit o viceversa.\n* Un coixinet (#) indica que només podeu retardar la data d'expiració d'aquest grup i que no la podeu avançar.",
        "userrights-reason": "Motiu:",
        "userrights-no-interwiki": "No teniu permisos per a editar els permisos d'usuari d'altres wikis.",
        "userrights-nodatabase": "La base de dades $1 no existeix o no és local.",
        "userrights-expiry-existing": "Temps de venciment actual: $3, $2",
        "userrights-expiry-othertime": "Altre temps:",
        "userrights-expiry-options": "1 dia:1 day,1 setmana:1 week,1 mes:1 month,3 mesos:3 months,6 mesos:6 months,1 any:1 year",
+       "userrights-invalid-expiry": "La data d'expiració per al grup «$1» no és vàlida.",
        "userrights-conflict": "Conflicte de canvis dels permisos d'usuari. Reviseu i confirmeu els canvis.",
        "group": "Grup:",
        "group-user": "Usuaris",
        "rcfilters-invalid-filter": "Filtre no vàlid",
        "rcfilters-empty-filter": "No hi ha cap filtre actiu. Es mostren totes les contribucions.",
        "rcfilters-filterlist-title": "Filtres",
+       "rcfilters-filterlist-whatsthis": "Què és això?",
        "rcfilters-highlightbutton-title": "Ressalta els resultats",
        "rcfilters-highlightmenu-title": "Selecciona un color",
+       "rcfilters-highlightmenu-help": "Seleccioneu un color per ressaltar la propietat",
        "rcfilters-filterlist-noresults": "No s'ha trobat cap filtre",
+       "rcfilters-noresults-conflict": "No s'ha trobat cap resultat perquè els criteris de cerca són en conflicte",
+       "rcfilters-state-message-fullcoverage": "Seleccionant tots els filtres en un grup és el mateix que no seleccionar-ne cap, de manera que aquest filtre no té cap efecte. El grup inclou: $1",
        "rcfilters-filtergroup-registration": "Registre d'usuari",
        "rcfilters-filter-registered-label": "Registrats",
        "rcfilters-filter-registered-description": "Editors que han iniciat sessió",
        "rcfilters-filter-editsbyother-label": "Modificacions d'altres",
        "rcfilters-filter-editsbyother-description": "Modificacions creades per altres usuaris (no vostres).",
        "rcfilters-filtergroup-userExpLevel": "Nivell d'experiència (només per a usuaris registrats)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "Novells",
-       "rcfilters-filter-userExpLevel-newcomer-description": "Menys de 10 edicions i 4 dies d'activitat.",
-       "rcfilters-filter-userExpLevel-learner-label": "Aprenents",
-       "rcfilters-filter-userExpLevel-learner-description": "Més dies d'activitat i més edicions que els 'novells' però menys que els 'usuaris experimentats'.",
-       "rcfilters-filter-userExpLevel-experienced-label": "Usuaris experimentats",
-       "rcfilters-filter-userExpLevel-experienced-description": "Més de 30 dies d'activitat i més de 500 edicions.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Novells",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Menys de 10 edicions i 4 dies d'activitat.",
+       "rcfilters-filter-user-experience-level-learner-label": "Aprenents",
+       "rcfilters-filter-user-experience-level-learner-description": "Més dies d'activitat i més edicions que els 'novells' però menys que els 'usuaris experimentats'.",
+       "rcfilters-filter-user-experience-level-experienced-label": "Usuaris experimentats",
+       "rcfilters-filter-user-experience-level-experienced-description": "Més de 30 dies d'activitat i més de 500 edicions.",
        "rcfilters-filtergroup-automated": "Contribucions automatitzades",
        "rcfilters-filter-bots-label": "Bot",
        "rcfilters-filter-bots-description": "Modificacions fetes per eines automatitzades.",
        "rcfilters-filter-humans-label": "Humà (no bot)",
        "rcfilters-filter-humans-description": "Modificacions fetes per editors humans.",
+       "rcfilters-filtergroup-reviewstatus": "Estat de revisió",
+       "rcfilters-filter-patrolled-label": "Patrullat",
+       "rcfilters-filter-patrolled-description": "Modificacions marcades com a patrullades.",
+       "rcfilters-filter-unpatrolled-label": "No patrullat",
+       "rcfilters-filter-unpatrolled-description": "Modificacions no marcades com a patrullades.",
        "rcfilters-filtergroup-significance": "Significació",
        "rcfilters-filter-minor-label": "Modificacions menors",
        "rcfilters-filter-minor-description": "Modificacions que l'autor va etiquetar com a menors.",
        "upload-too-many-redirects": "L'URL conté massa redireccions",
        "upload-http-error": "Ha ocorregut un error HTTP: $1",
        "upload-copy-upload-invalid-domain": "Les càrregues de còpia no són disponibles des d'aquest domini.",
+       "upload-foreign-cant-upload": "Aquest wiki no està configurat per pujar fitxers al repositori extern sol·licitat.",
        "upload-dialog-disabled": "La càrrega de fitxers utilitzant aquest quadre de diàleg està desactivada en aquest wiki.",
        "upload-dialog-title": "Carrega un fitxer",
        "upload-dialog-button-cancel": "Cancel·la",
        "unusedimages": "Fitxers no utilitzats",
        "wantedcategories": "Categories demanades",
        "wantedpages": "Pàgines demanades",
+       "wantedpages-summary": "Llista de pàgines no existents amb el major nombre d'enllaços cap a elles, excloent-ne les pàgines que només hi enllacen amb redireccions. Per a una llista de pàgines no existents que tenen redireccions que hi enllacen, vegeu la [[{{#special:BrokenRedirects}}|llista de redireccions trencades]].",
        "wantedpages-badtitle": "Títol invàlid al conjunt de resultats: $1",
        "wantedfiles": "Fitxers demanats",
        "wantedfiletext-cat": "Els fitxers següents s'utilitzen per no existeixen. Els fitxers de repositoris aliens poden ser llistats encara que existeixin. Aquells que siguin fals positius es <del>ratllaran</del>. A més, les pàgines que tinguin fitxers incrustats que no existeixin es llistaran a [[:$1]].",
        "editcomment": "El resum d'edició és: <em>$1</em>.",
        "revertpage": "Revertides les edicions de [[Special:Contributions/$2|$2]] ([[User talk:$2|discussió]]) a l'última versió de [[User:$1|$1]]",
        "revertpage-nouser": "Edicions revertides per un usuari ocult a l'última revisió de {{GENDER:$1|[[User:$1|$1]]}}",
-       "rollback-success": "Edicions revertides de $1; s'ha canviat a la darrera versió de $2.",
+       "rollback-success": "Revertides les edicions de {{GENDER:$3|$1}}; recuperant la darrera versió de {{GENDER:$4|$2}}.",
        "rollback-success-notify": "Modificacions revertides per $1;\ns'ha revertit a la darrera versió de $2. [$3 Mostra els canvis]",
        "sessionfailure-title": "Error de sessió",
        "sessionfailure": "S'ha produït un error amb la vostra sessió. S'ha anul·lat aquesta acció en prevenció de pirateig de sessió. Premeu «Torna», recarregueu la pàgina des d'on veniu i torneu-ho a intentar.",
        "undeletedrevisions": "{{PLURAL:$1|Una revisió restaurada|$1 revisions restaurades}}",
        "undeletedrevisions-files": "{{PLURAL:$1|Una revisió|$1 revisions}} i {{PLURAL:$2|un fitxer|$2 fitxers}} restaurats",
        "undeletedfiles": "$1 {{PLURAL:$1|fitxer restaurat|fitxers restaurats}}",
-       "cannotundelete": "Hi ha hagut un error en el procés de restauració:\n$1",
+       "cannotundelete": "Hi ha hagut un error en algunes o totes les restauracions:\n$1",
        "undeletedpage": "'''S'ha restaurat «$1»'''\n\nConsulteu el [[Special:Log/delete|registre d'esborraments]] per a veure els esborraments i els restauraments més recents.",
        "undelete-header": "Vegeu [[Special:Log/delete|el registre d'eliminació]] per a veure les pàgines eliminades recentment.",
        "undelete-search-title": "Cerca de pàgines esborrades",
        "proxyblockreason": "S'ha blocat la vostra adreça IP perquè és un proxy obert. Contactau el vostre proveïdor d'Internet o servei tècnic i informau-los d'aquest seriós problema de seguretat.",
        "sorbsreason": "La vostra adreça IP està llistada com a servidor intermediari (''proxy'') obert dins la llista negra de DNS que fa servir el projecte {{SITENAME}}.",
        "sorbs_create_account_reason": "La vostra adreça IP està llistada com a servidor intermediari (''proxy'') obert a la llista negra de DNS que utilitza el projecte {{SITENAME}}. No podeu crear-vos-hi un compte",
+       "softblockrangesreason": "Les aportacions anònimes no són admeses des de la vostra adreça IP ($1). Inicieu una sessió.",
        "xffblockreason": "Una adreça IP present en la capçalera X-Forwarded-For, sigui vostra o la d'un servidor proxy que esteu utilitzant, ha estat blocada. El motiu inicial del bloqueig és: $1",
        "cant-see-hidden-user": "L'usuari que esteu intentant blocar ja ha estat blocat i ocultat. Com que no teniu el permís hideuser no podeu veure ni modificar el seu blocatge.",
        "ipbblocked": "No podeu blocar o desblocar altres usuaris, perquè vós {{GENDER:|mateix|mateixa|mateix}} esteu {{GENDER:|blocat|blocada|blocat}}.",
        "pageinfo-article-id": "ID de la pàgina",
        "pageinfo-language": "Llengua del contingut de la pàgina",
        "pageinfo-language-change": "canvia",
-       "pageinfo-content-model": "Plantilla de contingut de pàgina",
+       "pageinfo-content-model": "Model de contingut de la pàgina",
        "pageinfo-content-model-change": "canvia",
        "pageinfo-robot-policy": "Indexació per robots",
        "pageinfo-robot-index": "Permès",
        "invalidateemail": "Cancel·lació d'adreça electrònica",
        "notificationemail_subject_changed": "L'adreça registrada de {{SITENAME}} ha canviat",
        "notificationemail_subject_removed": "L'adreça registrada de {{SITENAME}} ha estat suprimida",
+       "notificationemail_body_changed": "Algú des de l'adreça IP $1, probablement vós, ha canviat l'adreça de correu electrònic del compte a {{SITENAME}} de «$2» a «$3».\n\nSi no heu estat vós mateix, contacteu immediatament amb un administrador del lloc.",
+       "notificationemail_body_removed": "Algú des de l'adreça IP $1, probablement vós, ha eliminat l'adreça de correu electrònic «$2» del compte a {{SITENAME}}.\n\nSi no heu estat vós mateix, contacteu immediatament amb un administrador del lloc.",
        "scarytranscludedisabled": "[S'ha inhabilitat la transclusió interwiki]",
        "scarytranscludefailed": "[Ha fallat la recuperació de la plantilla per a $1]",
        "scarytranscludefailed-httpstatus": "[Ha fallat la recuperació de la plantilla per a $1: HTTP $2]",
        "scarytranscludetoolong": "[L'URL és massa llarg]",
        "deletedwhileediting": "'''Avís''': S'ha eliminat aquesta pàgina després que haguéssiu començat a modificar-la!",
-       "confirmrecreate": "L'usuari [[User:$1|$1]] ([[User talk:$1|discussió]]) va eliminar aquesta pàgina que havíeu creat donant-ne el següent motiu:\n: ''$2''\nConfirmeu que realment voleu tornar-la a crear.",
-       "confirmrecreate-noreason": "L'{{GENDER:$1|usuari|usuària}} [[User:$1|$1]] ([[User talk:$1|discussió]]) va esborrar aquesta pàgina després que la comencéssiu a modificar. Si us plau, confirmeu que realment voleu tornar-la a crear.",
+       "confirmrecreate": "{{GENDER:$1|L'usuari|La usuària}} [[User:$1|$1]] ([[User talk:$1|discussió]]) va eliminar aquesta pàgina que havíeu creat donant-ne el següent motiu:\n: <em>$2</em>\nConfirmeu que realment voleu tornar-la a crear.",
+       "confirmrecreate-noreason": "{{GENDER:$1|L'usuari|La usuària}} [[User:$1|$1]] ([[User talk:$1|discussió]]) va esborrar aquesta pàgina després que la comencéssiu a modificar. Confirmeu que realment voleu tornar-la a crear.",
        "recreate": "Torna a crear",
        "confirm_purge_button": "D'acord",
        "confirm-purge-top": "Voleu buidar la memòria cau d'aquesta pàgina?",
        "timezone-local": "Local",
        "duplicate-defaultsort": "Atenció: La clau d'ordenació per defecte \"$2\" invalida l'anterior clau \"$1\".",
        "duplicate-displaytitle": "<strong>Avís:</strong> El títol a mostrar «$2» sobreescriu l'anterior títol a mostrar «$1».",
+       "restricted-displaytitle": "<strong>Avís:</strong> El títol a mostrar «$1» ha estat ignorat ja que no és equivalent al títol real de la pàgina.",
        "invalid-indicator-name": "<strong>Error:</strong> No pot estar buit l'atribut <code>name</code> dels indicadors d'estat de la pàgina.",
        "version": "Versió",
        "version-extensions": "Extensions instal·lades",
        "version-libraries-license": "Llicència",
        "version-libraries-description": "Descripció",
        "version-libraries-authors": "Autors",
-       "redirect": "Redirigeix per fitxer, usuari, pàgina o ID de la revisió",
-       "redirect-summary": "Aquesta pàgina especial redirigeix a un fitxer (donat el nom del fitxer), una pàgina (donats un ID de la revisió o un ID de pàgina), o a una pàgina d'usuari (donat un ID numèric d'usuari). Ús: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], or [[{{#Special:Redirect}}/user/101]].",
+       "redirect": "Redirigeix per identificador de fitxer, usuari, pàgina, revisió o registre",
+       "redirect-summary": "Aquesta pàgina especial redirigeix a un fitxer (donat el nom del fitxer), a una pàgina (donats un ID de la revisió o un ID de pàgina), a una pàgina d'usuari (donat un ID numèric d'usuari) o a una entrada de registre (donat l'ID de registre). Ús: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], [[{{#Special:Redirect}}/user/101]] o [[{{#Special:Redirect}}/logid/186]].",
        "redirect-submit": "Vés-hi",
        "redirect-lookup": "Consulta:",
        "redirect-value": "Valor:",
        "tags-delete-not-allowed": "Les etiquetes definides per una extensió no es poden esborrar tret que l'extensió ho permeti específicament.",
        "tags-delete-not-found": "L'etiqueta «$1» no existeix.",
        "tags-delete-too-many-uses": "L'etiqueta «$1» s'aplica a més {{PLURAL:$2|d'$2 revisió|de $2 revisions}} i, per tant, no pot eliminar-se.",
-       "tags-delete-warnings-after-delete": "L'etiqueta \"$1\" ha estat esborrada satisfactòriament, però {{PLURAL:$2|s'ha registrat l'advertència següent|s'han registrat les advertències següents}}:",
+       "tags-delete-warnings-after-delete": "L'etiqueta «$1» ha estat esborrada, però {{PLURAL:$2|s'ha registrat l'advertència següent|s'han registrat les advertències següents}}:",
        "tags-delete-no-permission": "No teniu permisos per a eliminar les etiquetes de canvis.",
        "tags-activate-title": "Activa l'etiqueta",
        "tags-activate-question": "Esteu a punt d'activar l'etiqueta «$1».",
        "logentry-protect-protect-cascade": "$1 {{GENDER:$2|ha protegit}} $3 $4 [en cascada]",
        "logentry-protect-modify": "$1 {{GENDER:$2|ha canviat}} el nivell de protecció de $3 $4",
        "logentry-protect-modify-cascade": "$1 {{GENDER:$2|ha canviat}} el nivell de protecció de $3 $4 [en cascada]",
-       "logentry-rights-rights": "$1 {{GENDER:$2|ha canviat}} la pertinença de grup per $3 de $4 a $5",
+       "logentry-rights-rights": "$1 {{GENDER:$2|ha canviat}} la pertinença de grup per {{GENDER:$6|$3}} de $4 a $5",
        "logentry-rights-rights-legacy": "$1 {{GENDER:$2|ha canviat}} la pertinença de grup per $3",
        "logentry-rights-autopromote": "$1 ha estat {{GENDER:$2|promogut}} automàticament de $4 a $5",
        "logentry-upload-upload": "$1 {{GENDER:$2|ha carregat}} $3",
        "logentry-managetags-deactivate": "$1 {{GENDER:$2|ha desactivat}} l'etiqueta \"$4\" per a ser utilitzada en usuaris i bots",
        "log-name-tag": "Registre d'etiquetes",
        "rightsnone": "(cap)",
-       "revdelete-summary": "el resum d'edició",
        "rightslogentry-temporary-group": "$1 (temporal, fins a $2)",
        "feedback-adding": "S'està afegint el comentari a la pàgina...",
        "feedback-back": "Enrere",
        "api-error-emptypage": "No es permet la creació de pàgines noves en blanc.",
        "api-error-publishfailed": "Error intern: el servidor no ha pogut publicar el fitxer temporal.",
        "api-error-stashfailed": "Error intern: el servidor no ha pogut emmagatzemar fitxers temporals.",
-       "api-error-unknown-warning": "Avís desconegut: $1",
+       "api-error-unknown-warning": "Avís desconegut: «$1».",
        "api-error-unknownerror": "Error desconegut: «$1».",
        "duration-seconds": "$1 {{PLURAL:$1|segon|segons}}",
        "duration-minutes": "$1 {{PLURAL:$1|minut|minuts}}",
        "log-name-pagelang": "Registre de canvi de llengua",
        "log-description-pagelang": "Aquest és un registre dels canvis en les llengües de les pàgines.",
        "logentry-pagelang-pagelang": "$1 {{GENDER:$2|ha canviat}} la llengua de $3 de $4 a $5",
-       "default-skin-not-found": "Òndia! L'aparença per defecte per al wiki, definit en <code dir=\"ltr\">$wgDefaultSkin</code> com <code>$1</code>, no està disponible.\n\nLa vostra instal·lació sembla que inclou les següents aparences. Consulteu [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual: Configuració d'aparences] per a la informació de com habilitar-les i triar-ne el valor per defecte.\n\n$2\n\n; Si heu acabat d'instal·lar MediaWiki:\n: Probablement l'instal·làveu des de git, o directament des del codi font utilitzant algun altre mètode. Això és l'esperat. Intenteu instal·lar algunes aparences des del [https://www.mediawiki.org/wiki/Category:All_skins directori d'aparences de mediawiki.org], per:\n: * Descarregar l'[https://www.mediawiki.org/wiki/Download instal·lador tarball], que ve amb diverses aparences i ampliacions. Podeu copiar i enganxar el directori <code>skins/</code> des d'aquí.\n: * Clonar un dels repositoris <code>mediawiki/skins/*</code> a través de git en el directori <code dir=\"ltr\">skins/</code> de la vostra instal·lació de MediaWiki.\n: Fent això no s'hauria d'interferir amb el vostre dipòsit git si sou un desenvolupador de MediaWiki.\n\n; Si només heu actualitzat MediaWiki:\n: Per MediaWiki 1.24 i posteriors ja no permet aparences instal·lades automàticament (consulteu [https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery Manual: Aparences autodiscovery]). Podeu enganxar les línies següents en <code>LocalSettings.php</code> per permetre totes les aparences instal·lades actualment:\n\n<pre dir=\"ltr\">$3</pre>\n\n; Si només heu modificat <code>LocalSettings.php</code>:\n: Reviseu els noms de l'aparença per errors tipogràfics.",
-       "default-skin-not-found-no-skins": "Òndia! L'aparença per defecte pel vostre wiki, definida a <code>$wgDefaultSkin</code> com <code>$1</code>, no està disponible.\n\nNo teniu cap aparença instal·lada.\n\n\n; Si heu acabat d'instal·lar o actualitzar MediaWiki:\n: Probablement l'heu instal·lat des de git, o directament des del codi font utilitzant algun altre mètode. Això és l'esperat. Per MediaWiki 1.24 i posteriors ja no s'inclouen aparences en el repositori principal. Proveu d'instal·lar algunes aparences des del [https://www.mediawiki.org/wiki/Category:All_skins directori d'aparences de mediawiki.org] per:\n: * Descarregar l'[https://www.mediawiki.org/wiki/Download instal·lador ''tarball''], que ve amb diverses aparences i extensions. Podeu copiar i enganxar el directori <code>skins/</code> des d'aquí.\n: * Clonar un dels repositoris <code>mediawiki/skins/*</code> a través de git en el directori <code dir=\"ltr\">skins/</code> de la vostra instal·lació de MediaWiki.\n: Fent això no s'hauria d'interferir amb el vostre repositori de git si sou un desenvolupador de MediaWiki. Consulteu [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual:Skin configuration] per a més informació sobre com permetre aparences i triar-ne per defecte.",
+       "default-skin-not-found": "Vaja! L'aparença per defecte per al wiki, definit en <code dir=\"ltr\">$wgDefaultSkin</code> com <code>$1</code>, no està disponible.\n\nLa vostra instal·lació sembla que inclou {{PLURAL:$4|la següent aparença|les següents aparences}}. Consulteu [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual: Configuració d'aparences] per a la informació de com habilitar-{{PLURAL:$4|la|les i triar-ne una per defecte}}.\n\n$2\n\n; Si heu acabat d'instal·lar MediaWiki:\n: Probablement l'instal·làveu des de git, o directament des del codi font utilitzant algun altre mètode. Això és l'esperat. Intenteu instal·lar algunes aparences des del [https://www.mediawiki.org/wiki/Category:All_skins directori d'aparences de mediawiki.org], per:\n: * Descarregar l'[https://www.mediawiki.org/wiki/Download instal·lador tarball], que ve amb diverses aparences i ampliacions. Podeu copiar i enganxar el directori <code>skins/</code> des d'aquí.\n: * Descarregar tarballs de skin individuals de [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org].\n:* [https://www.mediawiki.org/wiki/Download_from_Git#Using_Git_to_download_MediaWiki_skins Usar Git per a descarregar skins].\n: Fent això no s'hauria d'interferir amb el vostre dipòsit git si sou un desenvolupador de MediaWiki.\n\n; Si només heu actualitzat MediaWiki:\n: Per MediaWiki 1.24 i posteriors ja no permet aparences instal·lades automàticament (consulteu [https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery Manual: Aparences autodiscovery]). Podeu enganxar {{PLURAL:$5|la línia següent|les línies següents}} en <code>LocalSettings.php</code> per permetre {{PLURAL:$5|l'aparença instal·lada|totes les aparences instal·lades}} actualment:\n\n<pre dir=\"ltr\">$3</pre>\n\n; Si només heu modificat <code>LocalSettings.php</code>:\n: Assegureu-vos que no hi hagi errors tipogràfics en els noms de l'aparença.",
+       "default-skin-not-found-no-skins": "Vaja! L'aparença per defecte pel vostre wiki, definida a <code>$wgDefaultSkin</code> com <code>$1</code>, no està disponible.\n\nNo teniu cap aparença instal·lada.\n\n\n; Si heu acabat d'instal·lar o actualitzar MediaWiki:\n: Probablement l'heu instal·lat des de git, o directament des del codi font utilitzant algun altre mètode. Això és l'esperat. Per MediaWiki 1.24 i posteriors ja no s'inclouen aparences en el repositori principal. Proveu d'instal·lar algunes aparences des del [https://www.mediawiki.org/wiki/Category:All_skins directori d'aparences de mediawiki.org] per:\n: * Descarregar l'[https://www.mediawiki.org/wiki/Download instal·lador ''tarball''], que ve amb diverses aparences i extensions. Podeu copiar i enganxar el directori <code>skins/</code> des d'aquí.\n:* [https://www.mediawiki.org/wiki/Download_from_Git#Using_Git_to_download_MediaWiki_skins Usar Git per a descarregar aparences].\n: Fent això no s'hauria d'interferir amb el vostre repositori de git si sou un desenvolupador de MediaWiki. Consulteu [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual:Skin configuration] per a més informació sobre com permetre aparences i triar-ne per defecte.",
        "default-skin-not-found-row-enabled": "* <code>$1</code> / $2 (habilitat)",
        "default-skin-not-found-row-disabled": "* <code>$1</code> / $2 (<strong>inhabilitat</strong>)",
        "mediastatistics": "Estadístiques dels multimèdia",
        "log-action-filter-managetags-delete": "Supressió de l'etiqueta",
        "log-action-filter-managetags-activate": "Activació de l'etiqueta",
        "log-action-filter-managetags-deactivate": "Desactivació d'etiquetes",
+       "log-action-filter-newusers-create": "Creació per usuari anònim",
        "log-action-filter-newusers-create2": "Creació per usuari registrat",
        "log-action-filter-newusers-autocreate": "Creació automàtica",
        "log-action-filter-patrol-patrol": "Patrullatge manual",
index ec38e90..bc2b03a 100644 (file)
        "login": "Системин довзийтар",
        "login-security": "Хьой хилар бакъде",
        "nav-login-createaccount": "Довзийтар / дӀаяздар кхоллар",
-       "userlogin": "Довзийтар я декъашхочун дӀаяздар кхоллар",
-       "userloginnocreate": "Довзийта",
        "logout": "Болх дӀаберзор",
        "userlogout": "Болх дӀаберзор",
        "notloggedin": "ЦӀарца доцуш",
        "userlogin-noaccount": "Декъашхочун дӀаяздар дац хьа?",
        "userlogin-joinproject": "Проектехь дӀаяздар кхоллар",
-       "nologin": "Декъашхочун дӀаяздар дац хьа? '''$1'''.",
-       "nologinlink": "Кхолла декъашхочун дӀаяздар",
        "createaccount": "Кхолла декъашхочун дӀаяздар",
-       "gotaccount": "ДӀаяздар кхоьллин ахь? '''$1'''.",
-       "gotaccountlink": "Довзийта",
-       "userlogin-resetlink": "Чуволу/йолу хаам биц бела?",
        "userlogin-resetpassword-link": "Пароль кхоссар?",
        "userlogin-helplink2": "Системин чудахаран гӀодар",
        "userlogin-loggedin": "Хьо {{GENDER:$1|$1}} цӀарца чохь ву/ю.\nЛахара форманца кхин цӀарца чугӀо.",
        "createacct-another-email-ph": "ДӀаязде электронан поштан адрес",
        "createaccountmail": "Лелае цахууш нисйина хана пароль, кхин язйинчу электронан адрес тӀе яийта и.",
        "createacct-realname": "Хьан цӀе (ца язйича мега)",
-       "createaccountreason": "Бахьана:",
        "createacct-reason": "Бахьана",
        "createacct-reason-ph": "Стен кхуллуш ду ахьа керла декъашхочун дӀаяздар",
        "createacct-submit": "Кхолла декъашхочун дӀаяздар",
        "rcfilters-filter-editsbyself-label": "Хьан дисдарш",
        "rcfilters-filter-editsbyself-description": "Хьан нисдарш.",
        "rcfilters-filter-editsbyother-label": "Кхечу декъашхойн нисдарш",
-       "rcfilters-filter-userExpLevel-newcomer-label": "Керланиш",
-       "rcfilters-filter-userExpLevel-learner-label": "Доьшуш берш",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Керланиш",
+       "rcfilters-filter-user-experience-level-learner-label": "Доьшуш берш",
        "rcnotefrom": "Лахахь гайтина тӀера <strong>$2</strong> (хийцамаш <strong>$1</strong> кӀезиг).",
        "rclistfrom": "Гайта хийцам {{CURRENTYEAR}} шеран {{CURRENTDAY}} {{CURRENTMONTHNAMEGEN}} {{CURRENTTIME}} бина болу",
        "rcshowhideminor": "$1 кегийра нисдарш",
        "uploadnologintext": "Серверан чу файлаш яха ахьа дан дезарг ду $1.",
        "uploaderror": "Файл чуяккхаран гӀалат",
        "upload-recreate-warning": "'''Тегам бе: иштта цӀе йолу файл дӀаяьккхина я цӀе хийцина.'''\n\nЛахахьа гойтуш ю хӀокху агӀона тептар:",
-       "uploadtext": "Ð\9bелайе Ñ\85Ó\80аÑ\80а Ð°Ð³Ó\80о Ñ\81еÑ\80веÑ\80 Ñ\87Ñ\83 Ñ\84айлаÑ\88 Ð¹Ð¾Ñ\85Ñ\83Ñ\88.\nÐ¥Ñ\8cалÑ\85о Ñ\87Ñ\83Ñ\8fÑ\8cÑ\85на Ñ\84айлаÑ\88 Ñ\85Ñ\8cажа,  [[Special:FileList|кÑ\85Ñ\83заÑ\85Ñ\8c]]. Ð\9aÑ\85ин Ñ\87Ñ\83Ñ\8fÑ\8cÑ\85на Ñ\84айлаÑ\88 Ð´Ó\80аÑ\8fзло [[Special:Log/upload|Ñ\87Ñ\83Ñ\8fÑ\85аÑ\80ан Ñ\82епÑ\82аÑ\80 Ñ\87оÑ\85Ñ\8c]], Ð´Ó\80аÑ\8fÑ\8cÑ\85на Ñ\84айлаÑ\88 ÐºÐ°Ñ\80о Ð¹Ð¸Ñ\88 Ñ\8e [[Special:Log/delete|кÑ\85Ñ\83заÑ\85Ñ\8c]].\n\nФайл Ð°Ð³Ó\80она Ñ\87Ñ\83йилла Ð»ÐµÐ»Ð°Ð±Ðµ Ð»Ð°Ñ\85аÑ\80а Ð¼Ð¾Ð³Ó\80анаÑ\88:\n* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></code>''' Ñ\84айла Ð¤Ð°Ð¹Ð»Ð°Ð½ Ñ\8eÑ\8cззина Ð²ÐµÑ\80Ñ\81и Ñ\87Ñ\83йиллÑ\83Ñ\88;\n* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.png|200px|thumb|left|Ñ\86Ñ\83наÑ\85Ñ\8c Ð»Ð°Ñ\8cÑ\86на Ñ\85аам]]</nowiki></code>''' 200 Ð¿Ð¸ÐºÑ\81елÑ\8c Ð±Ð°Ñ\80амеÑ\85Ñ\8c Ñ\84айл Ñ\87Ñ\83йилаÑ\80 Ð±Ñ\83Ñ\85аÑ\85Ñ\8c Ñ\86Ñ\83наÑ\85Ñ\8c лаьцна могӀа а болуш;\n* '''<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki></code>''' файлан тӀе хьажорг хӀотайо файл агӀонгахь ца гуш.",
+       "uploadtext": "Ð\9bелайе Ñ\85Ó\80аÑ\80а Ð°Ð³Ó\80о Ñ\81еÑ\80веÑ\80 Ñ\87Ñ\83 Ñ\84айлаÑ\88 Ð¹Ð¾Ñ\85Ñ\83Ñ\88.\nÐ¥Ñ\8cалÑ\85о Ñ\87Ñ\83Ñ\8fÑ\8cÑ\85на Ñ\84айлаÑ\88 Ñ\85Ñ\8cажа,  [[Special:FileList|кÑ\85Ñ\83заÑ\85Ñ\8c]]. Ð\9aÑ\85ин Ñ\87Ñ\83Ñ\8fÑ\8cÑ\85на Ñ\84айлаÑ\88 Ð´Ó\80аÑ\8fзло [[Special:Log/upload|Ñ\87Ñ\83Ñ\8fÑ\85аÑ\80ан Ñ\82епÑ\82аÑ\80 Ñ\87оÑ\85Ñ\8c]], Ð´Ó\80аÑ\8fÑ\8cÑ\85на Ñ\84айлаÑ\88 ÐºÐ°Ñ\80о Ð¹Ð¸Ñ\88 Ñ\8e [[Special:Log/delete|кÑ\85Ñ\83заÑ\85Ñ\8c]].\n\nФайл Ð°Ð³Ó\80она Ñ\87Ñ\83йилла Ð»ÐµÐ»Ð°Ð±Ðµ Ð»Ð°Ñ\85аÑ\80а Ð¼Ð¾Ð³Ó\80анаÑ\88:\n* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></code>''' Ñ\84айла Ð¤Ð°Ð¹Ð»Ð°Ð½ Ñ\8eÑ\8cззина Ð²ÐµÑ\80Ñ\81и Ñ\87Ñ\83йиллÑ\83Ñ\88;\n* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.png|200px|thumb|left|Ñ\86Ñ\83наÑ\85Ñ\8c Ð»Ð°Ñ\8cÑ\86на Ñ\85аам]]</nowiki></code>''' 200 Ð¿Ð¸ÐºÑ\81елÑ\8c Ð±Ð°Ñ\80амеÑ\85Ñ\8c Ñ\84айл Ñ\87Ñ\83йиллаÑ\80 Ð±Ñ\83Ñ\85аÑ\85Ñ\8c Ñ\86Ñ\83Ñ\8cнаÑ\85 лаьцна могӀа а болуш;\n* '''<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki></code>''' файлан тӀе хьажорг хӀотайо файл агӀонгахь ца гуш.",
        "upload-permitted": "Магийна файлийн тайпанаш: $1.",
        "upload-preferred": "Магийна файлийн тайпанаш: $1.",
        "upload-prohibited": "Магийна доцу файлийн тайпанаш: $1.",
        "logentry-managetags-create": "$1 {{GENDER:$2|Кхоьллина}} билгало «$4»",
        "log-name-tag": "Билгалонийн тептар",
        "rightsnone": "(яц)",
-       "revdelete-summary": "хийцамах лаьцна",
        "feedback-adding": "АгӀона хетарг тӀетохар...",
        "feedback-back": "ЮхагӀо",
        "feedback-bugornote": "Хьайн техникин халонах лаьцна яздан хӀума делахь, дехар до, [$1 хаам бе тхоьга].\nДацахь хьан йиш ю хӀокху атта кепаца «[$3 $2]» агӀонг къамел тӀетоха хьан декъашхочун цӀарца, кхин лелош йолу браузер билгал еш.",
index 2a9ecd5..d99a3ad 100644 (file)
@@ -11,7 +11,8 @@
                        "לערי ריינהארט",
                        "아라",
                        "Leeheonjin",
-                       "Macofe"
+                       "Macofe",
+                       "Bentong Isles"
                ]
        },
        "tog-underline": "Binadlisan nga mga sumpay:",
        "actions": "Mga lihok",
        "namespaces": "Mga ngalang espasyo",
        "variants": "Mga baryant",
+       "navigation-heading": "Menu sa nabigasyon",
        "errorpagetitle": "Sayop",
        "returnto": "Balik sa $1.",
        "tagline": "Gikan sa {{SITENAME}}",
        "searcharticle": "Sige",
        "history": "Kaagi ning panid",
        "history_short": "Kaagi",
+       "history_small": "kaagi",
        "updatedmarker": "na-update sugod sa akong kataposang bisita",
        "printableversion": "Mapatik nga bersiyon",
        "permalink": "Permanenteng sumpay",
        "print": "I-print",
+       "view": "Tan-awa",
+       "view-foreign": "Tan-awa sa $1",
        "edit": "Usba",
        "create": "Himoa",
+       "create-local": "Pagpuno og lokal nga deskripsyon",
        "editthispage": "Usba kining panid",
        "create-this-page": "Himoa kining panid",
        "delete": "Papasa",
        "unprotectthispage": "Ayaw na kini protektahi",
        "newpage": "Bag-ong panid",
        "talkpage": "Hisgoti kining panid",
-       "talkpagelinktext": "Hisgot",
+       "talkpagelinktext": "hisgot",
        "specialpage": "Espesyal nga panid",
        "personaltools": "Personal nga galamiton",
        "articlepage": "Tan-awa ang panid sa sulod",
        "otherlanguages": "Sa ubang pinulongan",
        "redirectedfrom": "(Naredirek gikan sa $1)",
        "redirectpagesub": "Panid sa redirekta",
+       "redirectto": "Iadto sa:",
        "lastmodifiedat": "Kini nga panid kataposang giusab niadtong $2, $1.",
        "viewcount": "Naablihan na sa {{PLURAL:$1|maka-usa|$1 ka higayon}} ang kining panid.",
        "protectedpage": "Giprotektahang panid",
        "viewsourceold": "tan-awa ang ginikanan",
        "editlink": "usba",
        "viewsourcelink": "tan-awa ang ginikanan",
-       "editsectionhint": "Usba ang seksyong: $1",
+       "editsectionhint": "Usba ang seksyon: $1",
        "toc": "Mga sulod",
        "showtoc": "ipakita",
        "hidetoc": "tagoa",
        "nstab-template": "Plantilya",
        "nstab-help": "Panid sa tabang",
        "nstab-category": "Kategoriya",
+       "mainpage-nstab": "Unang Panid",
        "nosuchaction": "Walay maong aksyon",
        "nosuchactiontext": "Ang aksyon nga anaa sa URL wala gi-ila sa wiki",
        "nosuchspecialpage": "Walay maong espesyal nga panid",
        "externaldberror": "May nahitabong authentication database error o kaha wala ka tugoti nga mag-update sa imong eksternal nga akawnt.",
        "login": "Sulod",
        "nav-login-createaccount": "Rehistro / Dayon",
-       "userlogin": "Rehistro / Dayon",
        "logout": "Biya",
        "userlogout": "Bıveciye",
        "notloggedin": "Wala ka pa masulod",
-       "nologin": "Wala pay akawnt? '''$1'''.",
-       "nologinlink": "Paghimo og akawnt",
+       "userlogin-noaccount": "Wala pay akawnt?",
+       "userlogin-joinproject": "Apil sa {{SITENAME}}",
        "createaccount": "Paghimo'g akawnt",
-       "gotaccount": "Naa ka nay akawnt? '''$1'''.",
-       "gotaccountlink": "Dayon",
+       "createacct-emailoptional": "Adres sa email (opsyonal)",
        "createaccountmail": "sa e-mail",
+       "createacct-benefit-heading": "Ang {{SITENAME}} hinimo sa mga tawo sama kanimo.",
+       "createacct-benefit-body3": "labing bag-ong {{PLURAL:$1|ka tampo|ka mga tampo}}",
        "badretype": "Ang mga pasword nga imong gientra wala mag-match.",
        "userexists": "Ang ngalan sa tiggamit nga imong gisulat nagamit na.\nPalihug pagpili og lain nga ngalan.",
        "loginerror": "Sayop sa pagdayon",
        "wrongpassword": "Sayop nga pasword ang naentra.\nPalihog sulayi'g usab.",
        "mailmypassword": "I-email ang bag-ong pasword",
        "loginlanguagelabel": "Pinulongan: $1",
+       "pt-login": "Sulod",
+       "pt-createaccount": "Paghimo og akawnt",
        "changepassword": "Usba ang pasword",
+       "passwordreset": "Usba ang password",
        "bold_sample": "Gilugom nga teksto",
        "bold_tip": "Gilugom nga teksto",
        "italic_sample": "Gitakilid nga teksto",
        "preview": "Paunang tan-aw",
        "showpreview": "Paunang tan-aw",
        "showdiff": "Ipakita ang kalainan",
-       "anoneditwarning": "'''Pahibalo:''' Wala ikaw maka-login.\nAng imong ''IP address'' maoy itala sa kaagi niini nga panid.",
+       "anoneditwarning": "<strong>Pahimangno:</strong> Wala ka mailhi sa balayan. Ang imong <i>IP adress</i> makita sa publiko kon mohimo ka og mga pag-usab. Kon <strong>mo-<i>[$1 log in]</i></strong> ka o <strong>[$2 mohimo og akawnt]</strong>, ang imong mga pag-usab ingalan sa imong <i>username</i>, lakip na ang uban pang kaayohan.",
        "summary-preview": "Paunang tan-aw sa mubong sugid:",
+       "loginreqlink": "sulod",
        "newarticle": "(Bag-o)",
        "newarticletext": "Mitulpok ka sa sumpay ngadto sa usa ka wala pa masulat nga panid.\nAron mahimo ang maong panid, pagtayp sa kahon sa ubos (tan-awa ang [$1 panid sa tabang] alang sa dugang impormasyon).\nKon miabot ka dinhi pinaagi sa usa ka sayop, palihog tuploka ang back nga tuplokanan sa imong brawser.",
-       "noarticletext": "Sa kasamtangan walay sulod nga teksto ang kining panid.\nPuyde nimong  [[Special:Search/{{PAGENAME}}|pangitaon kining titulo sa panid]] sa ubang mga panid, <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} pangitaa ang related nga mga log],\no [{{fullurl:{{FULLPAGENAME}}|action=edit}} usba kining panid]</span>.",
+       "noarticletext": "Sa kasamtangan walay sulod nga teksto kining panid.\nPuyde nimong [[Special:Search/{{PAGENAME}}|pangitaon kining titulo sa panid]] sa ubang mga panid, <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} pangitaa ang mga may kalabotan nga log],\no [{{fullurl:{{FULLPAGENAME}}|action=edit}} mugnaa kining panid]</span>.",
+       "noarticletext-nopermission": "Sa kasamtangan walay sulod nga teksto kining panid.\nPuyde nimong [[Special:Search/{{PAGENAME}}|pangitaon kining titulo sa panid]] sa ubang mga panid, <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} pangitaa ang mga may kalabotan nga log]</span>, apan wala kay katungod nga mohimo ning maong panid.",
        "userpage-userdoesnotexist": "Ang akawnt sa tiggamit nga \"<nowiki>$1</nowiki>\" wala marehistro. Palihug tan-awa kon buot nimong himoon/usbon ang kining panid.",
        "previewnote": "'''Hinumdomi nga kini usa lang ka paunang tan-aw; wala pa matipigi ang imong giusab!'''",
        "editing": "Nagausab sa $1",
        "notextmatches": "Walay misaktong teksto sa panid",
        "prevn": "miaging {{PLURAL:$1|$1}}",
        "nextn": "sunod {{PLURAL:$1|$1}}",
+       "nextn-title": "Sunod nga $1 {{PLURAL:$1|resulta|mga resulta}}",
+       "shown-title": "Pagpakita og $1 {{PLURAL:$1|ka resulta|ka mga resulta}} matag panid",
        "viewprevnext": "Tan-awa sa ($1 {{int:pipe-separator}} $2) ($3)",
-       "searchprofile-everything": "Tanan ng bagay",
+       "searchmenu-new": "<strong>Mugnaa ang panid nga \"[[:$1]]\" dinhi ning maong wiki!</strong> {{PLURAL:$2|0=|Tan-awa usab ang panid nga nakit-an sa imong pagpangita.|Tan-awa usab ang mga resulta sa pagpangita.}}",
+       "searchprofile-articles": "Mga panid sa sulod",
+       "searchprofile-images": "Multimedia",
+       "searchprofile-everything": "Tanan",
+       "searchprofile-advanced": "Abanse",
+       "searchprofile-articles-tooltip": "Pangita sa $1",
+       "searchprofile-images-tooltip": "Pangita og mga payl",
+       "searchprofile-everything-tooltip": "Pangita sa tanang sulod (lakip ang mga panid sa hisgot)",
+       "searchprofile-advanced-tooltip": "Pangita sa mga espesyal nga <i>namespaces</i>",
        "search-result-size": "$1 ({{PLURAL:$2|1 pulong|$2 ka mga pulong}})",
-       "search-redirect": "(redirek $1)",
+       "search-redirect": "(redirek gikan sa $1)",
        "search-section": "(bahin $1)",
        "search-suggest": "Imo bang buot ipasabot: $1",
        "search-interwiki-caption": "Mga kaubang proyekto",
        "saveprefs": "Tipigi",
        "restoreprefs": "Ibalik ang tanang default settings",
        "prefs-editing": "Nagausab",
-       "rows": "Mga row:",
-       "columns": "Mga kolum:",
        "searchresultshead": "Pangitaa",
        "stub-threshold": "Threshold para sa <a href=\"#\" class=\"stub\">stub link</a> formatting (bytes):",
        "recentchangesdays": "Mga adlaw nga ipakita sa bag-ong giusab:",
        "prefs-signature": "Pirma",
        "group-sysop": "Mga tagdumala",
        "grouppage-sysop": "{{ns:project}}:Mga tigdumala",
+       "right-writeapi": "Paggamit sa write API",
        "newuserlogpage": "Log sa paghimo'g gumagamit",
        "newuserlogpagetext": "Kini mao ang ''log'' sa bag-ong namugnang mga gumagamit.",
        "rightslog": "Log sa mga katungod sa gumagamit",
        "action-undelete": "ayaaw papasa ang kining panid",
        "action-suppressrevision": "i-rebyu ug ibalik ang kining nakatagong rebisyon",
        "nchanges": "$1 {{PLURAL:$1|ka pag-usab|ka mga pag-usab}}",
+       "enhancedrc-history": "kaagi",
        "recentchanges": "Mga bag-ong giusab",
        "recentchanges-legend": "Mga opsyon sa bag-ong pag-usab",
+       "recentchanges-summary": "Bantayi ang kinabag-ohang mga pag-usab sa wiki dinhi niining panid.",
        "recentchanges-feed-description": "Bantayi ang kinabag-ohang mga pag-usab sa wiki niining feed.",
+       "recentchanges-label-newpage": "Kining pag-usab nagmugna og bag-ong panid",
+       "recentchanges-label-minor": "Ginagmay nga pag-usab",
+       "recentchanges-label-bot": "Kining pag-usab ginamit ang <i>bot</i>",
+       "recentchanges-label-unpatrolled": "Kining maong pag-usab wala pa masuhid",
+       "recentchanges-label-plusminus": "Ang gidak-on sa panid nausab ning gidaghanona sa byte",
+       "recentchanges-legend-heading": "<strong>Pagpasabot:</strong>",
        "rclistfrom": "Ipakita ang mga bag-ong pag-usab gikan $3 $2",
        "rcshowhideminor": "$1 menor nga pag-usab",
+       "rcshowhideminor-hide": "Tagoa",
        "rcshowhidebots": "$1 mga bot",
-       "rcshowhideliu": "$1 mga gumagamit nga naka-log-in",
+       "rcshowhidebots-show": "Tagoa",
+       "rcshowhideliu": "$1 ka mga gumagamit ang natala",
+       "rcshowhideliu-hide": "Tagoa",
        "rcshowhideanons": "$1 mga wala mailhing gumagamit",
+       "rcshowhideanons-show": "Ipakita",
+       "rcshowhideanons-hide": "Tagoa",
        "rcshowhidemine": "$1 akong mga pag-usab",
+       "rcshowhidemine-hide": "Tagoa",
        "rclinks": "Ipakita ang miaging $1 ka kausaban sa miaging $2 ka mga adlaw<br />$3",
        "diff": "kalainan",
        "hist": "kaagi",
        "minoreditletter": "m",
        "newpageletter": "B",
        "boteditletter": "b",
+       "rc-change-size-new": "$1 {{PLURAL:$1|byte|mga byte}} human sa pag-usab",
        "rc-enhanced-expand": "Ipakita ang mga detalye (JavaScript kinahanglan)",
        "rc-enhanced-hide": "Tagoa ang mga detalye",
        "recentchangeslinked": "Mga may kalabotang kausaban",
        "recentchangeslinked-to": "Ipakita na lang ang mga pag-usab sa mga panid nga nakasumpay sa nahatag nga panid",
        "upload": "Pagsumiter og payl",
        "uploadlogpage": "Log sa upload",
+       "filedesc": "Mubong sugid:",
        "license": "Paglilisensya:",
-       "license-header": "Paglilisensya",
+       "license-header": "Pagtugot",
        "file-anchor-link": "Payl",
        "filehist": "Kaagi sa payl",
        "filehist-help": "I-klik ang petsa/oras aron makit-an ang hulagway sa payl niadtong panahona.",
        "filehist-user": "Tiggamit",
        "filehist-dimensions": "Mga dimensyon",
        "filehist-comment": "Komento",
-       "imagelinks": "Mga sumpay sa payl",
+       "imagelinks": "Mga paggamit sa payl",
        "linkstoimage": "Ang mosunod nga {{PLURAL:$1|mga panid misumpay|$1 panid misumpay}} niining payl:",
        "sharedupload": "Ang kining payl gikan sa $1 ug mahimong gigamit sa ubang mga proyekto.",
+       "sharedupload-desc-here": "Kining maong payl gikan sa $1 ug mahimong gigamit sa ubang proyekto.\nAng [$2 deskripsyon] niini didto gipakita sa ubos.",
        "uploadnewversion-linktext": "Pag-upload og bag-ong bersyon niining payl",
+       "upload-disallowed-here": "Dili mo mahimong pulihan kining maong payl.",
        "randompage": "Bisan unsang panid",
        "statistics": "Estadistika",
        "nbytes": "$1 {{PLURAL:$1|byte|mga byte}}",
        "pager-older-n": "{{PLURAL:$1|mas daan1|mas daan $1}}",
        "booksources": "Mga reperensiyang libro",
        "booksources-search-legend": "Pangitaa ang mga reperensiyang libro",
+       "booksources-search": "Pangita",
        "log": "Mga log",
        "allpages": "Tanang panid",
        "prevpage": "Miaging panid ($1)",
        "undeletelink": "tan-awa/ibalik",
        "namespace": "Ngalang espasyo:",
        "invert": "Baliha ang gipili",
+       "tooltip-invert": "I-tsek kini nga kahon aron tagoon ang mga kausaban sa mga panid sa gipili nga <i>namespace</i> (ug sa <i>associated namespace</i> kon gi-tsekan)",
+       "tooltip-namespace_association": "I-tsek kini nga kahon aron iapil ang mga panid sa hisgot o <i>subject namespace</i> nga may kalabotan sa gipili nga <i>namespace</i>",
        "blanknamespace": "(Meyn)",
-       "contributions": "Mga tampo ning gumagamit",
+       "contributions": "Mga tampo ning {{GENDER:$1|gumagamit}}",
        "contributions-title": "Mga tampo sa gumagamit para kang $1",
        "mycontris": "Akong tampo",
+       "anoncontribs": "Mga tampo",
        "contribsub2": "Para $1 ($2)",
        "uctop": "(hitaas)",
        "month": "Gikan sa bulan (ug mas sayo pa):",
        "tooltip-pt-mycontris": "Talaan sa akong mga tampo",
        "tooltip-pt-login": "Gihangyo ka namo sa pag-''log-in'', apan wala kini gikinahanglan aron makausab ka sa mga panid.",
        "tooltip-pt-logout": "Biya",
+       "tooltip-pt-createaccount": "Gidasig ka sa paghimo og akawnt ug sa pagpaila; apan dili kini kinahanglanon",
        "tooltip-ca-talk": "Panaghisgot kabahin sa panid",
-       "tooltip-ca-edit": "Mahimo mong usbon ang kining panid. Palihog gamita ang ''Paunang tan-aw'' nga tuplokanan bag-o nimotipigan ang panid.",
+       "tooltip-ca-edit": "Usba kining panid",
        "tooltip-ca-addsection": "Paghimo'g bag-ong seksyon",
        "tooltip-ca-viewsource": "Giprotektahan kining panid.\nPwede nimong tan-awon ang ginikanan.",
        "tooltip-ca-history": "Mga miaging rebisyon ning panid",
        "tooltip-n-mainpage-description": "Bisitaha ang Unang Panid",
        "tooltip-n-portal": "Kabahin sa proyekto, unsay imong mahimo, asa mangita sa mga impormasyon",
        "tooltip-n-currentevents": "Pangita og nahaunang impormasyon sa mga bag-ong panghitabo",
-       "tooltip-n-recentchanges": "Ang talaan sa mga bag-ong giusab sa wiki.",
+       "tooltip-n-recentchanges": "Ang talaan sa mga bag-ong giusab sa wiki",
        "tooltip-n-randompage": "Pag-abli og bisan unsang panid",
        "tooltip-n-help": "Ang dapit nga angay mong pangitaan.",
        "tooltip-t-whatlinkshere": "Talaan sa mga wiki nga panid nga misumpay dinhi",
        "tooltip-t-recentchangeslinked": "Mga bag-ong pag-usab sa mga panid gikan ning panid",
        "tooltip-feed-rss": "Feed nga RSS niining panid",
        "tooltip-feed-atom": "Feed nga Atom niining panid",
-       "tooltip-t-contributions": "Tan-awa ang talaan sa mga tampo niining gumagamit",
+       "tooltip-t-contributions": "Talaan sa mga tampo {{GENDER:$1|niining gumagamit}}",
        "tooltip-t-emailuser": "Padalhi og e-mail ang kaning gumagamit",
        "tooltip-t-upload": "Pagsumiter og mga payl",
        "tooltip-t-specialpages": "Talaan sa mga espesyal nga panid",
        "tooltip-watch": "Ipuno kining maong panid sa imong mga gibantayan",
        "tooltip-rollback": "\"Rollback\" mo-revert sa (mga) pag-usab niining panid ngadto sa kinaulhing mitampo sa usa lang ka klik",
        "tooltip-undo": "Ang \"undo\" mo-revert niining pag-usab ug moabli sa edit form sa paunang tan-aw nga mode.\nPuyde dugangan og rason sa mubong sugid.",
+       "tooltip-summary": "Mubong sugid",
+       "simpleantispam-label": "Pagkontra sa <i>spam</i>.\n<strong>Ayaw</stong> ni sudli!",
+       "pageinfo-toolboxlink": "Impormasyon kabahin sa panid",
        "previousdiff": "Mas daang pag-usab",
        "nextdiff": "Mas bag-ong pag-usab →",
        "file-info-size": "$1 × $2 pixels, size sa payl: $3, MIME type: $4",
        "file-nohires": "Walay mas taas nga resolusyon.",
        "svg-long-desc": "SVG nga payl, nominally $1 × $2 pixels, size sa payl: $3",
        "show-big-image": "Tibuok resolusyon",
+       "show-big-image-preview": "Gidak-on ning maong paunang tan-aw: $1.",
+       "show-big-image-other": "Uban pang {{PLURAL:$2|resolusyon|mga resoluyon}}: $1.",
+       "show-big-image-size": "$1 x $2 ka mga piksel",
        "bad_image_list": "Ang pormat mao ang mosunod:\n\nAng mga list items (mga linya nga nagsugod sa*) ang gikonsiderar.\nAng unang sumpay sa linya kinahanglang sumpay sa payl nga daot.\nAng bisan unsang mosunod nga mga sumpay sa parehong linya gikonsiderar nga mga eksepsyon, i.e. mga panid diin ang payl mahimong inline.",
        "metadata": "Metadata",
        "metadata-help": "Ang kining payl adunay dugang nga impormasyon, mahimong nadugang gikan sa digital camera o scanner nga gigamit sa paghimo o pag-digitize niini.\nKon ang payl namodipikar gikan sa orihinal nga estado, ang ubang detalye mamahimong dili moreplek sa namodipikar nga payl.",
        "metadata-expand": "Ipakita ang mas daghang detalye",
        "metadata-collapse": "Tagoa ang mga ekstended nga detalye",
-       "metadata-fields": "Ang XIF metadata fields nga nakatala niining mensahe iapil sa display sa panid sa imahen kon gi-collapse ang metadata table.\nAng uban default nga nakatago.\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude",
+       "metadata-fields": "Ang <i>XIF metadata fields</i> nga nakatala niining mensahe iapil sa panid sa hulagway kon gi-<i>collapse</i> ang han-ay sa <i>metadata</i>.\n\nAng uban nakatago gawas kon ipakita.\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude",
+       "exif-orientation": "Oryentasyon",
+       "exif-xresolution": "Resolusyon (pahigda)",
+       "exif-yresolution": "Resolusyon (pabarog)",
+       "exif-datetime": "Petsa ug oras sa pagkausab sa payl",
+       "exif-make": "Tighimo sa kamera",
+       "exif-model": "Model sa kamera",
+       "exif-software": "Programa nga gigamit",
+       "exif-exifversion": "Bersyon sa Exif",
+       "exif-colorspace": "<i>Color space</i>",
+       "exif-datetimeoriginal": "Petsa ug oras sa pag-<i>generate</i> sa <i>data</i>",
+       "exif-datetimedigitized": "Petsa ug oras sa pag-<i>digitize</i>",
+       "exif-orientation-1": "Normal",
        "namespacesall": "tanan",
        "monthsall": "tanan",
        "watchlisttools-view": "Tan-awa ang may kalabotan nga mga pag-usab",
        "watchlisttools-edit": "Tan-awa ug usba ang mga gibantayan",
        "watchlisttools-raw": "Usba ang hilaw nga talaan sa gibantayan",
        "specialpages": "Espesyal nga mga panid",
+       "tag-filter": "[[Special:Tags|Tag]] nga pilter:",
+       "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|Tag|Mga tag}}]]: $2)",
+       "logentry-delete-delete": "Si $1 {{GENDER:$2|mipapas}} sa panid nga $3",
        "revdelete-restricted": "mga na-aplay nga restriksyon sa mga tagdumala",
        "revdelete-unrestricted": "gitangtang ang mga restriksyon alang sa mga tagdumala",
+       "logentry-newusers-create": "Ang akawnt nga $1 {{GENDER:$2|namugna}}",
        "rightsnone": "(wala)",
-       "revdelete-summary": "mubong sugid sa pag-usab"
+       "searchsuggest-search": "Pangitaa {{SITENAME}}"
 }
index f224ed7..d1865db 100644 (file)
        "no-null-revision": "نەتوانرا پێداچوونەوەی خاڵیی بۆ پەڕەی \"$1\" درووست بکرێت",
        "badtitle": "سەرناوی خراپ",
        "badtitletext": "سەرناوی پەڕەی داواکراو بەتاڵە، واڵایە یان سەرناوێکی نێوان-زمانی یان نێوانی-ویکییە کە بە شێوەیەکی ھەڵە بەستەری بۆ دراوە.\nڕەنگە یەک یان چەند کاراکتەری تێدا بێت کە ناکرێت لە سەرناوەکاندا بەکار بھێنرێت.",
+       "title-invalid-empty": "ئەو پەڕەیەی داواکراوە بەتاڵە یان تەنھا لە بۆشایی-ناو پێکھاتووە.",
+       "title-invalid-talk-namespace": "ئەو ناوی پەڕەیەی داواکراوە ئاماژە بۆ پەڕەیەکی وتووێژ دەکات کە نابێت ھەبێت.",
+       "title-invalid-characters": "سەرناوی ئەو پەڕەیەی داواکراوە کارەکتەرێکی ھەڵەی تێدا بەکارھاتووە: «$1».",
        "perfcached": "داتای خوارەوە پاشەکەوتکراوەیە و لەوانەیە بەڕۆژنەکرابێتەوە. لانی زۆر {{PLURAL:$1|یەک ئەنجام|$1 ئەنجام}} لە cacheدا لەبەردەستدایە.",
        "perfcachedts": "داتای خوارەوە cacheکراوە و دوایین جار لە $1 نوێ کراوەتەوە. لە cacheدا لانی زۆر {{PLURAL:$4|یەک ئەنجام|$4 ئەنجام}} لەبەردەستە.",
        "querypage-no-updates": "تازەکردنەوەکان بۆ ئەم پەڕە لە حاڵی ئێستادا ناچالاک کراوەتەوە.\nداتای ئێرە دەسبەجێ تازە ناکرێتەوە.",
        "login": "بچۆ ژوورەوە",
        "login-security": "شوناست دڵنیا بکەرەوە",
        "nav-login-createaccount": "بچۆ ژوورەوە / ھەژمار دروست بکە",
-       "userlogin": "بچۆ ژوورەوە / ھەژمار دروست بکە",
-       "userloginnocreate": "بچۆ ژوورەوە",
        "logout": "بچۆ دەرەوە",
        "userlogout": "بچۆ دەرەوە",
        "notloggedin": "لە ژوورەوە نیت",
        "userlogin-noaccount": "ھەژمارت نییە؟",
        "userlogin-joinproject": "ببە بە ئەندامی {{SITENAME}}",
-       "nologin": "ھەژمارت نییە؟  $1.",
-       "nologinlink": "ھەژمارێک دروست بکە",
        "createaccount": "ھەژمار دروست بکە",
-       "gotaccount": "ھەژمارت ھەیە لێرە؟ $1.",
-       "gotaccountlink": "بچۆ ژوورەوە",
-       "userlogin-resetlink": "وردەکارییەکانی چوونەژوورەوەتت لە بیر کردووە؟",
        "userlogin-resetpassword-link": "تێپەڕوشەکەت بیر کردووە؟",
        "userlogin-helplink2": "یارمەتی بۆ چوونەژوورەوە",
        "userlogin-loggedin": "تۆ ھەر ئێستا بە ناوی {{GENDER:$1|$1}} چوویتە ژوورەوە.\nفۆرمی ژێرەوە بەکاربھێنە بۆ چوونەژوورەوە وەک بەکارھێنەرێکی تر.",
        "createaccountmail": "تێپەڕوشەیەکی ھەڕەمەکیی کاتی بەکاربھێنە و بینێرە بۆ ناونیشانی ئیمەیلی دیاریکراو",
        "createaccountmail-help": "دەتوانرێت بەکار بھێندرێت بۆ دروستکردنی ھەژمار بۆ کەسێکی تر بەبێ زانینی تێپەڕ وشەکەی.",
        "createacct-realname": "ناوی ڕاستی (دڵخوازانە)",
-       "createaccountreason": "هۆکار:",
        "createacct-reason": "ھۆکار",
        "createacct-reason-ph": "بۆ ھەژمارێکی تر دروست دەکەی",
        "createacct-submit": "ھەژمارەکەت دروست بکە",
        "eauthentsent": "ئیمێلێکی پشتڕاستکردنەوە بۆ ناونیشانی ئیمێلی دیاریکراو نێررا.\nپێش ئەوەی ئیمەیلی تر بۆ ئەم ھەژمارە بنێررێت، دەبێت پەیڕەوی ڕێکارەکانی ناو ئیمێلەکە بکەیت بۆ پشتڕاستکردنەوەی ئەوەی کە ئەم هەژمارە بە ڕاستی ھی تۆیە.",
        "throttled-mailpassword": "ئیمەیلێکی ڕیکخستنەوەی تێپەڕوشە لە ماوەی {{PLURAL:$1|ساعەت}}ی ڕابردوودا نێردراوە.\nبۆ ڕێگری لە بەکارھێنانی خراپ، ھەر {{PLURAL:$1|ساعەت}} تاکە یەک ئیمەیلی ڕیکخستنەوەی تێپەڕوشە دەنێردرێت.",
        "mailerror": "هەڵە ڕوویدا لە ناردنی ئیمەیل: $1",
-       "acct_creation_throttle_hit": "بینەرانی ویکی بەکەڵک وەرگرتن لەم ئای‌پی ئەدرەسەی تۆ لە ڕۆژانی ڕابردوودا، دەستیان کردە بە درووست‌کردنی {{PLURAL:$1|هەژمارە}}، کە زۆرینە ڕیگەپێدان لە یەک ماوە‌دایە.\nوەک ئەنجامی ئەو ڕووداوە، ئەو بینەرانی لەم ئای‌پی ئەدرەسە کەڵک وەر دەگرن لەم کاتەدا ناتوانن هەژماری دیکە درووست‌بکەن.",
+       "acct_creation_throttle_hit": "بینەرانی ویکی بەکەڵک وەرگرتن لەم ناونیشانی ئای-پییەی تۆ لە ڕۆژانی ڕابردوودا، دەستیان کردە بە درووست‌کردنی {{PLURAL:$1|هەژمارە}}، کە زۆرینە ڕیگەپێدان لە یەک ماوە‌دایە.\nوەک ئەنجامی ئەو ڕووداوە، ئەو بینەرانی لەم ئای‌پی ئەدرەسە کەڵک وەر دەگرن لەم کاتەدا ناتوانن هەژماری دیکە درووست‌بکەن.",
        "emailauthenticated": "ناونیشانی ئیمەیلەکەت پشتڕاست کرایەوە لە $3ی $2دا.",
        "emailnotauthenticated": "ناونیشانی ئیمەیلەکەت ھێشتا پشتڕاست نەکراوتەوە.\nھیچ ئیمەیلێک بۆ ئەم تایبەتمەندییانەی ژێرەوە نانێردرێت.",
        "noemailprefs": "بۆ کەوتنە کاری ئەو تایبەتمەندیانە، لە هەڵبژاردەکانت ئەدرەسەکی ئی‌مێڵ دابین بکە.",
        "pt-createaccount": "ھەژمار دروست بکە",
        "pt-userlogout": "بچۆ دەرەوە",
        "user-mail-no-addy": "ھەوڵی ناردنی ئیمەڵ درا بەبێ ھەبوونی ناونیشانێکی ئیمەیڵ.",
+       "user-mail-no-body": "ھەوڵی ناردنی پۆستی ئەلیکترۆنی درا بە ناوەڕۆکێکی بەتاڵ یان زۆر کورت.",
        "changepassword": "تێپەڕوشە بگۆڕە",
        "resetpass_announce": "بۆ کۆتایی چوونە ژوورەوە، دەبێت تێپەڕوشەیەکی نوێ دابنێیت.",
        "resetpass_text": "<!-- تێپه‌ڕه‌وشه‌ی هه‌ژماره‌كه‌ سفر بكه‌ره‌وه‌ -->",
        "changepassword-throttled": "تۆ ھەوڵی زۆری چوونەژوورەوەت داوە. \nتکایە $1 چاوەڕوان بە پێش دووبارە ھەوڵدانەوە.",
        "botpasswords": "تێپەڕ وشەی بۆت",
        "botpasswords-disabled": "تێپەڕ وشەی بۆتەکان کوژێنرانەوە.",
+       "botpasswords-no-central-id": "بۆ بەکارھێنانی تێپەڕوشەی بۆت، دەبێت بە ھەژمارێکی جێگیر بچیتە ژوورەوە.",
+       "botpasswords-createnew": "تێپەڕوشەیەکی بۆتی نوێ دروست بکە",
+       "botpasswords-editexisting": "تێپەڕوشەیەک کە ھەیە دەستکاری بکە",
        "botpasswords-label-appid": "ناوی بۆت",
        "botpasswords-label-create": "دروستکردن",
        "botpasswords-label-update": "نوێکردنەوە",
        "botpasswords-label-delete": "سڕینەوە",
        "botpasswords-label-resetpassword": "ڕێکخستنەوەی تێپەڕوشە",
        "botpasswords-bad-appid": "ناوی بۆت «$1» دروست نییە.",
+       "botpasswords-insert-failed": "نەتواندرا ناوی بۆت «$1» زیاد بکرێت. ئایا پێشووتر زیاد کراوە؟",
+       "botpasswords-update-failed": "نەتواندرا ناوی بۆت «$1» نوێ بکرێتەوە. ئایا سڕدراوەتەوە؟",
        "botpasswords-created-title": "تێپەڕ وشەی بۆت دروست کرا",
+       "botpasswords-created-body": "تێپەڕوشەی بۆت بۆ بۆتی «$1» بەکارھێنەر «$2» دروست کرا.",
        "botpasswords-updated-title": "تێپەڕ وشەی بۆتەکە نوێ کرایەوە",
+       "botpasswords-updated-body": "تێپەڕ وشەی بۆت بۆ «$1»ی بەکارھێنەر «$2» نوێ کرایەوە.",
        "botpasswords-deleted-title": "تێپەڕ وشەی بۆت سڕدرایەوە",
        "resetpass_forbidden": "تێپەڕوشەکە ناگۆڕدرێت",
        "resetpass-no-info": "بۆ گەیشتنی راستەوخۆ بەم پەڕە ئەشێ بچیتە ژوورەوە.",
        "undo-summary": "گەڕاندنەوەی پێداچوونەوەی $1 لە لایەن [[Special:Contributions/$2|$2]] ([[User talk:$2|لێدوان]])",
        "undo-summary-username-hidden": "پوچەڵکردنەوەی دەستکاری $1 لەلایەن بەکارھێنەرێکی شاردراوەوە.",
        "cantcreateaccount-text": "درووست‌کردنی هەژمارە بۆ ناونیشانی ئای‌پی ('''$1''') لە لایەن [[User:$3|$3]] داخراوە.<br /><br />\n$3 هۆکاری \"$2\" خستوەتەڕوو",
+       "cantcreateaccount-range-text": "دروستکردنی ھەژمار لە مەودای ناونیشانی ئای-پی <strong>$1</strong>، کە ئای-پییەکەی تۆش لەخۆ دەگرێت (<strong>$4</strong>)، بەربەست کراوە لەلایەن [[User:$3|$3]]. \n\nھۆکاری بەربەستنکردنەکەی کە دراوە لەلایەن $3 ئەمەیە: <em>$2</em>",
        "viewpagelogs": "لۆگەکانی ئەم پەڕەیە ببینە",
        "nohistory": "هیچ مێژوویەکی دەستکاری نییە بۆ ئەم پەڕەیە.",
        "currentrev": "دوایین پێداچوونەوە",
        "showhideselectedversions": "دیاریکردنی پێداچوونەوە ھەڵبژێردراوەکان بگۆڕە",
        "editundo": "پووچەڵکردنەوە",
        "diff-empty": "(بەبێ جیاوازی)",
+       "diff-multi-sameuser": "({{PLURAL:$1|یەک دەستکاری مامناوەند|$1 دەستکاری}} لەلایەن ھەمان بەکارھێنەرەوە بیشاننادرێت.",
        "searchresults": "ئاکامەکانی گەڕان",
        "searchresults-title": "ئاکامەکانی گەڕان بۆ «$1»",
        "titlematches": "ئەو سەرناوانەی دەگونجن",
        "search-interwiki-caption": "پرۆژە خوشکەکان",
        "search-interwiki-default": "ئاکام لە $1:",
        "search-interwiki-more": "(زیاتر)",
+       "search-interwiki-more-results": "ئەنجامی زیاتر",
        "search-relatedarticle": "پەیوەست",
        "searchrelated": "پەیوەست",
        "searchall": "ھەموو",
        "prefs-editing": "دەستکاریکردن",
        "searchresultshead": "گەڕان",
        "stub-threshold": "سنوور بۆ شێوازی <a href=\"#\" class=\"stub\">بەستەری کۆڵکە</a> (بایت):",
+       "stub-threshold-sample-link": "نموونە",
        "stub-threshold-disabled": "ناچالاک",
        "recentchangesdays": "ژمارە ڕۆژە نیشاندراوەکان لە دوایین گۆڕانکارییەکان:",
        "recentchangesdays-max": "(ئەوپەڕی $1 {{PLURAL:$1|ڕۆژە|ڕۆژە}})",
        "gender-unknown": "پێم خۆشە باسی نەکەم",
        "gender-male": "پیاو",
        "gender-female": "ژن",
-       "prefs-help-gender": "دڵخÙ\88از: Ø¨Û\86 Ø¨Ø§Ù\86Ú¯ Ú©Ø±Ø¯Ù\86Û\8c Ø¯Ø±Ù\88ست Ø¨Û\95 Ø¯Û\95ستÛ\8c Ù\86Û\95رÙ\85اÙ\85Û\8eر.\nئÛ\95Ù\85 Ø²Ø§Ù\86Û\8cارÛ\8cÛ\8cÛ\95 Ú¯Ø´ØªÛ\8c Ø¦Û\95بÛ\8e.",
+       "prefs-help-gender": "ئÛ\95Ù\85 Ú¾Û\95ڵبÚ\98اردÛ\95Û\8cÛ\95 Ø¯ÚµØ®Ù\88ازاÙ\86Û\95Û\8cÛ\95.\nبÛ\86 Ø¨Ø§Ù\86گکردÙ\86 Ù\88 Ø¦Ø§Ù\85اÚ\98Û\95Ù¾Û\8eکردÙ\86 Ø¨Û\95 Ø´Û\8eÙ\88Û\95Û\8cÛ\95Ú©Û\8c Ø¯Ø±Ù\88ست Ù\84Û\95Ù\84اÛ\8cÛ\95Ù\86 Ù\86Û\95رÙ\85اÙ\85Û\8eرÛ\95Ù\88Û\95 Ø¨Û\95کاردÛ\8eت.\nئÛ\95Ù\85 Ø²Ø§Ù\86Û\8cارÛ\8cÛ\8cÛ\95 Ú¯Ø´ØªÛ\8c Ø¯Û\95بÛ\8eت.",
        "email": "ئیمەیل",
        "prefs-help-realname": "ناوی ڕاستەقینە دڵخوازە.\nئەگەر بنووسرێت، لەوانەیە بۆ ئاماژەدان بەرھەمەکەت بە کار بھێنرێت.",
        "prefs-help-email": "دانانی ناونیشانی ئیمەیل دڵخوازانەیە، بەڵام ئەگەر تێپەڕوشەکەت لەیادکرد، بۆ نوێ‌کردنەوەی تێپەڕوشە پێویست دەبێت.",
        "prefs-tokenwatchlist": "نیشانە",
        "prefs-diffs": "جیاوازییەکان",
        "prefs-help-prefershttps": "بەکارخستنی ئەم تایبەتمەندییە کاریگەری لەسەر چوونەژوورەوەی داھاتووت دروست دەکات",
-       "userrights": "بەڕێوەبردنی مافەکانی بەکارھێنەر",
-       "userrights-lookup-user": "بەڕێوەبردنی گرووپەکانی بەکارھێنەر",
+       "prefswarning-warning": "تۆ گۆڕانکاریت ئەنجامداوە لە ھەڵبژاردەکانتدا کە ھێشتا پاشەکەوتت نەکردوون. ئەگەر ئەم پەڕەیە بەجێبێڵیت بەبێ کرتەکردن لەسەر «$1» ھەڵبژاردەکانت پاشەکەوت نابن و نوێ نابنەوە.",
+       "prefs-tabs-navigation-hint": "زانیاری: دەتوانیت تیری چەپ و ڕاست بەکاربھێنیت بۆ گەڕان بە ناو تابەکان لە پێڕستی تابەکاندا.",
+       "userrights": "مافەکانی بەکارھێنەر",
+       "userrights-lookup-user": "بەکارھێنەرێک ھەڵبژێرە",
        "userrights-user-editname": "ناوی بەکارهێنەرێک بنووسە:",
-       "editusergroup": "گرÙ\88Ù\88Ù¾Û\95کاÙ\86Û\8c Ø¨Û\95کارھÛ\8eÙ\86Û\95ر Ø¯Û\95ستکارÛ\8c Ø¨Ú©ە",
+       "editusergroup": "گرÙ\88Ù\88Ù¾Û\95کاÙ\86Û\8c Ø¨Û\95کارھÛ\8eÙ\86Û\95ر Ø¨Ø¨Û\8cÙ\86ە",
        "editinguser": "گۆڕینی مافە بەکارھێنەرییەکانی {{GENDER:$1|بەکارھێنەر}} <strong>[[User:$1|$1]]</strong> $2",
-       "userrights-editusergroup": "گرووپە بەکارھێنەرییەکان دەستکاری بکە",
+       "viewinguserrights": "تۆ مافەکانی بەکارھێنەر {{GENDER:$1|بەکارھێنەر}} <strong>[[User:$1|$1]]</strong> $2 دەبینیت",
+       "userrights-editusergroup": "گرووپەکانی {{{{GENDER:$1|بەکارھێنەر}} دەستکاری بکە",
        "userrights-viewusergroup": "بینینی گرووپەکانی {{GENDER:$1|بەکارھێنەر}}",
        "saveusergroups": "گرووپەکانی بەکارھێنەر پاشەکەوت بکە",
        "userrights-groupsmember": "ئەندامە لە:",
        "userrights-groupsmember-auto": "ئەندامی ناڕاشکاوە لە:",
-       "userrights-groups-help": "دەتوانی ئەو گرووپانەی ئەم بەکار‌هێنەرە تێیدایە ئاڵوگۆڕ بکەی:\n* چوارچێوەی نیشان‌کراو یانی بەکارھێنەر لەو گرووپەدا هەیە.\n* چوارچێوەی نیشان‌نەکراو یانی بەکارھێنەر لەو گرووپەدا نییە.\n* ئەستێرەیەک (*) نیشان دەدا ناتوانی ئەو گرووپەی جارێکی تر زیادت کردووە لای‌بەری، و بە پێچەوانە.",
+       "userrights-groups-help": "دەتوانی ئەو گرووپانەی ئەم بەکار‌هێنەرە تێیدایە ئاڵوگۆڕ بکەی:\n* چوارچێوەی نیشانکراو واتە بەکارھێنەر لەو گرووپەدا هەیە.\n* چوارچێوەی نیشاننەکراو واتە بەکارھێنەر لەو گرووپەدا نییە.\n* ئەستێرەیەک (*) نیشان دەدات ناتوانی ئەو گرووپەی جارێکی تر زیادت کردووە لایبەریت، و بە پێچەوانە.",
        "userrights-reason": "هۆکار:",
        "userrights-no-interwiki": "دەسەڵاتی گۆڕینی مافەکانی بەکارهێنەر لە ویکی‌یەکانی دیکەت نیە.",
        "userrights-nodatabase": "بنکەدراوی $1 بوونی نیە یا لەم شوێنە نیە.",
        "userrights-changeable-col": "ئەو گرووپانەی دەتوانی بیگۆڕی",
        "userrights-unchangeable-col": "ئەو گرووپانەی ناتوانی بیگۆڕی",
+       "userrights-expiry-current": "بەسەردەچێ لە $1",
+       "userrights-expiry-none": "بەسەرناچێت",
+       "userrights-expiry": "بەسەردەچێت:",
+       "userrights-expiry-othertime": "کاتی تر:",
+       "userrights-invalid-expiry": "کاتی بەسەرچوون بۆ گرووپی «$1» ھەڵەیە.",
+       "userrights-expiry-in-past": "کاتی بەسەرچوون بۆ گرووپی «$1» لە ڕابردوودایە.",
        "group": "گرووپ:",
        "group-user": "بەکارھێنەران",
        "group-autoconfirmed": "بەکارھێنەرە خۆبەخۆ پەسندکراوەکان",
        "right-override-export-depth": "هەناردنی لاپەڕەکان کە لاپەڕەکانی بەستەر پێ‌دراو تا قووڵایی 5 لەخۆ بگرێت",
        "right-sendemail": "ناردنی ئیمەیل بۆ بەکارھێنەرانی تر",
        "right-managechangetags": "دروستکردن و سڕینەوەی [[Special:Tags|تاگەکان]] لە بنکەدراوە",
+       "right-deletechangetags": "سڕینەوەی [[Special:Tags|tags]] لە بنکەی زانیاری",
+       "grant-group-file-interaction": "مامەڵەکردن لەگەڵ میدیا",
        "grant-group-email": "ناردنی ئیمەیل",
+       "grant-createaccount": "دروستکردنی ھەژمار",
+       "grant-createeditmovepage": "دروستکردن، دەستکاریکردن و گواستنەوەی پەڕەکان",
        "grant-sendemail": "ناردنی ئیمەیل بۆ بەکارھێنەرانی تر",
+       "grant-uploadfile": "بەڕگەی نوێ بار بکە",
+       "grant-basic": "مافی سەرەکی",
+       "grant-viewdeleted": "بینینی پەڕگە و پەڕە سڕدراوەکان",
+       "grant-viewmywatchlist": "دیتنی پێرستی چاودێریت",
        "newuserlogpage": "لۆگی دروستکردنی بەکارھێنەر",
        "newuserlogpagetext": "ئەمە لۆگێکی دروستکردنی بەکارھێنەرە.",
        "rightslog": "لۆگی مافەکانی بەکارھێنەر",
        "rightslogtext": "ئەمە لۆگی دەستکاری مافەکانی بەکار‌هێنەرە.",
        "action-read": "خوێندنەوەی ئەم پەڕەیە",
        "action-edit": "دەستکاریی ئەم پەڕەیە",
-       "action-createpage": "درÙ\88ستکردÙ\86Û\8c Ù¾Û\95Ú\95Û\95کاÙ\86",
-       "action-createtalk": "درÙ\88ستکردÙ\86Û\8c Ù¾Û\95Ú\95Û\95کاÙ\86Û\8c Ù\88تÙ\88Ù\88Û\8eÚ\98",
+       "action-createpage": "ئÛ\95Ù\85 Ù¾Û\95Ú\95Û\95Û\8cÛ\95 Ø¯Ø±Ù\88ست Ø¨Ú©Û\95",
+       "action-createtalk": "ئÛ\95Ù\85 Ù¾Û\95Ú\95Û\95Û\8c Ù\88تÙ\88Ù\88Û\8eÚ\98Û\95 Ø¯Ø±Ù\88ست Ø¨Ú©Û\95",
        "action-createaccount": "دروست کردنی ئەم ھەژماری بەکارھێنەرییە",
        "action-history": "بینینی مێژووی ئەم پەڕەیە",
        "action-minoredit": "نیشان‌کردنی ئەم دەستکاریە وەک بچووک",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (ھەروەھا بڕوانە [[Special:NewPages|پێرستی پەڕە نوێکان]])",
        "recentchanges-legend-plusminus": "(''±۱٢٣'')",
        "recentchanges-submit": "نیشانی بدە",
+       "rcfilters-filterlist-whatsthis": "ئەمە چییە؟",
+       "rcfilters-highlightmenu-title": "ڕەنگێکی نوێ ھەڵبژێرە",
+       "rcfilters-filter-editsbyself-label": "مافەکانی خۆت",
+       "rcfilters-filter-editsbyself-description": "دەستکارییەکانی خۆت.",
+       "rcfilters-filter-editsbyother-label": "دەستکارییەکانی کەسانی تر",
+       "rcfilters-filter-user-experience-level-newcomer-label": "تازەکاران",
+       "rcfilters-filter-user-experience-level-newcomer-description": "کەمتر لە ١٠ دەستکاری و ٤ ڕۆژ لە چالاک بوون",
+       "rcfilters-filter-user-experience-level-experienced-label": "بەکارھێنەرانی پێشکەوتوو",
+       "rcfilters-filter-user-experience-level-experienced-description": "زیاتر لە ٣٠ ڕۆژ لە چالاکی و ٥٠٠ دەستکاری",
+       "rcfilters-filter-humans-label": "مرۆڤ (بۆت نییە)",
+       "rcfilters-filter-humans-description": "دەستکارییەکانی لەلایەن مرۆڤەکانەوە ئەنجام دراون",
+       "rcfilters-filter-patrolled-label": "پاسدراو",
+       "rcfilters-filter-patrolled-description": "ئەو دەستکارییانەی وەک پاسدراو دیاریکراون",
+       "rcfilters-filter-minor-label": "دەستکارییە بچووکەکان",
+       "rcfilters-filter-minor-description": "ئەو دەستکارییانەی کە دەستکاریکەر وەک بچووک ناوی بردووە",
+       "rcfilters-filter-major-label": "دەستکارییە نا-بچووکەکان",
        "rcnotefrom": "ژێرەوە {{PLURAL:$5|گۆڕانکارییەکەیە|گۆڕانکارییەکانە}} لە strong>$3، $4</strong>ەوە (ھەتا <strong>$1</strong> نیشان دراوە).",
        "rclistfrom": "گۆڕانکارییە نوێکان نیشان بدە بە دەستپێکردن لە $3 $2",
        "rcshowhideminor": "دەستکارییە بچووکەکان $1",
        "upload-too-many-redirects": "URL ڕەوانەکەری زۆری لەخۆ گرتووە",
        "upload-http-error": "هەڵەیەکی HTTP ڕووئ داوە: $1",
        "upload-dialog-button-cancel": "ھەڵوەشاندنەوە",
+       "upload-dialog-button-back": "گەڕانەوە",
+       "upload-dialog-button-done": "کرا",
+       "upload-dialog-button-save": "پاشەکەوتکردن",
        "upload-dialog-button-upload": "بارکردن",
+       "upload-form-label-infoform-title": "وردەکارییەکان",
+       "upload-form-label-infoform-name": "ناو",
+       "upload-form-label-infoform-description": "شیکردنەوە",
+       "upload-form-label-usage-title": "بەکارھێنان",
+       "upload-form-label-usage-filename": "ناوی پەڕگە",
        "upload-form-label-own-work": "ئەمە کاری خۆمە",
+       "upload-form-label-infoform-categories": "پۆلەكان",
+       "upload-form-label-infoform-date": "ڕێکەوت",
+       "upload-form-label-own-work-message-generic-local": "من دڵنیا دەکەمەوە کە ئەم پەڕگەیە باردەکەم بە گوێڕایەڵیکردنی مەرجەکانی بەکارھێنان و سیاسەتەکانی بەڵگەنامەکانی {{SITENAME}}.",
        "backend-fail-stream": "نەکرا پەڕگەی $1 بنێردرێت.",
        "backend-fail-notexists": "پەڕگەی $1 بوونی نییە.",
        "backend-fail-delete": "نەکرا پەڕگەی $1 بسڕدرێتەوە.",
        "undelete-show-file-submit": "بەڵێ",
        "namespace": "بۆشاییی ناو:",
        "invert": "ھەڵبژاردەکان پێچەوانە بکە",
+       "tooltip-invert": "نیشانە لەم بۆکسە بدە بۆ شاردنەوەی گۆڕانکارییەکانی ئەو پەڕانەی کە لە بۆشایی ناوی ھەڵبژێردراو و پەیوەندیدارەکاندا ئەنجام دراون.",
        "namespace_association": "بۆشاییی ناوی پەیوەندیدار",
+       "tooltip-namespace_association": "ھەروەھا نیشانە لەم بۆکسەش بدە بۆ شاردنەوەی پەڕەی لێدوانەکانیان",
        "blanknamespace": "(سەرەکی)",
        "contributions": "بەشدارییەکانی {{GENDER:$1|بەکارھێنەر}}",
        "contributions-title": "بەشدارییەکانی بەکارھێنەر $1",
        "logentry-upload-upload": "$1 $3ی {{GENDER:$2|بار کرد}}",
        "logentry-upload-overwrite": "$1 وەشانێکی نوێی $3ی {{GENDER:$2|بار کرد}}",
        "rightsnone": "(ھیچ)",
-       "revdelete-summary": "پوختەی دەستکاری",
        "feedback-back": "گەڕانەوە",
        "feedback-cancel": "ھەڵوەشاندنەوە",
        "feedback-close": "کرا",
index 9cf8622..f14b874 100644 (file)
        "login": "Přihlaste se",
        "login-security": "Ověřte svou identitu",
        "nav-login-createaccount": "Přihlášení / vytvoření účtu",
-       "userlogin": "Přihlášení / vytvoření účtu",
-       "userloginnocreate": "Přihlášení",
        "logout": "Odhlásit se",
        "userlogout": "Odhlášení",
        "notloggedin": "Nejste přihlášen(a)",
        "userlogin-noaccount": "Nemáte účet?",
        "userlogin-joinproject": "Přidejte se k {{grammar:3sg|{{SITENAME}}}}",
-       "nologin": "Dosud nemáte účet? $1.",
-       "nologinlink": "Zaregistrujte se",
        "createaccount": "Vytvořit účet",
-       "gotaccount": "Už jste registrováni? $1.",
-       "gotaccountlink": "Přihlaste se",
-       "userlogin-resetlink": "Zapomněli jste přihlašovací údaje?",
        "userlogin-resetpassword-link": "Zapomněli jste heslo?",
        "userlogin-helplink2": "Nápověda k přihlašování",
        "userlogin-loggedin": "Již jste {{GENDER:$1|přihlášen|přihlášena}} jako $1.\nPomocí formuláře níže se můžete přihlásit jako jiný uživatel.",
        "createaccountmail": "Použít dočasné náhodné heslo a odeslat ho na uvedenou e-mailovou adresu",
        "createaccountmail-help": "Lze využít k založení účtu pro jinou osobu bez prozrazení hesla.",
        "createacct-realname": "Skutečné jméno (nepovinné)",
-       "createaccountreason": "Důvod:",
        "createacct-reason": "Důvod",
        "createacct-reason-ph": "Proč si vytváříte další účet",
        "createacct-reason-help": "Zpráva zobrazená v knize nových uživatelů",
        "page_first": "první",
        "page_last": "poslední",
        "histlegend": "(teď) = rozdíly oproti nynější verzi, (předchozí) = rozdíly oproti předchozí verzi, <b>m</b> = malá editace",
-       "history-fieldset-title": "Procházení historie",
+       "history-fieldset-title": "Hledat revize",
        "history-show-deleted": "Pouze smazané",
        "histfirst": "nejstarší",
        "histlast": "nejnovější",
        "prefs-help-prefershttps": "Toto nastavení se projeví při příštím přihlášení.",
        "prefswarning-warning": "Provedli jste změny nastavení, které dosud nejsou uloženy. Pokud tuto stránku opustíte, aniž byste klikli na „$1“, vaše nastavení se nezmění.",
        "prefs-tabs-navigation-hint": "Tip: Pro přepínání mezi záložkami můžete používat šipky vlevo a vpravo.",
-       "userrights": "Správa uživatelských skupin",
+       "userrights": "Uživatelská práva",
        "userrights-lookup-user": "Vybrat uživatele",
        "userrights-user-editname": "Zadejte uživatelské jméno:",
        "editusergroup": "Načíst uživatelské skupiny",
        "recentchanges-legend-plusminus": "(''±123'')",
        "recentchanges-submit": "Zobrazit",
        "rcfilters-activefilters": "Aktivní filtry",
+       "rcfilters-restore-default-filters": "Obnovit výchozí filtry",
+       "rcfilters-clear-all-filters": "Zrušit všechny filtry",
+       "rcfilters-search-placeholder": "Filtrovat nedávné změny (prohlížejte nebo začněte psát)",
+       "rcfilters-invalid-filter": "Neplatný filtr",
+       "rcfilters-empty-filter": "Žádné aktivní filtry. Zobrazeny jsou všechny příspěvky.",
+       "rcfilters-filterlist-title": "Filtry",
+       "rcfilters-filterlist-whatsthis": "Co to je?",
+       "rcfilters-filterlist-feedbacklink": "Poskytnout novým (beta) filtrům zpětnou vazbu",
+       "rcfilters-highlightbutton-title": "Zvýraznit výsledky",
+       "rcfilters-highlightmenu-title": "Vybrat barvu",
+       "rcfilters-highlightmenu-help": "Vyberte barvu pro zvýraznění této vlastnosti",
+       "rcfilters-filterlist-noresults": "Nenalezeny žádné filtry",
+       "rcfilters-noresults-conflict": "Nenalezeny žádné výsledky, protože vyhledávací kritéria jsou v konfliktu",
+       "rcfilters-state-message-subset": "Tento filtr nemá žádný vliv, protože jeho výsledky jsou již zahrnuty {{PLURAL:$2|následujícím, širším filtrem|následujícími, širšími filtry}} (pro odlišení zkuste zvýraznění): $1",
+       "rcfilters-state-message-fullcoverage": "Výběr všech filtrů ve skupině odpovídá výběru žádného, proto tento filtr nemá žádný vliv. Skupina zahrnuje: $1",
+       "rcfilters-filtergroup-registration": "Registrace uživatele",
+       "rcfilters-filter-registered-label": "Registrovaní",
+       "rcfilters-filter-registered-description": "Přihlášení editoři.",
+       "rcfilters-filter-unregistered-label": "Neregistrovaní",
+       "rcfilters-filter-unregistered-description": "Editoři, kteří nejsou přihlášení",
+       "rcfilters-filter-unregistered-conflicts-user-experience-level": "Tento filtr je v konfliktu s {{PLURAL:$2|následujícím filtrem|následujícími filtry}} podle zkušeností, {{PLURAL:$2|vyhledávajícím|vyhledávajícími}} pouze registrované uživatele: $1",
        "rcfilters-filtergroup-authorship": "Autorství editace",
+       "rcfilters-filter-editsbyself-label": "Vaše vlastní editace",
+       "rcfilters-filter-editsbyself-description": "Vaše editace.",
+       "rcfilters-filter-editsbyother-label": "Editace ostatních",
+       "rcfilters-filter-editsbyother-description": "Editace vytvořené ostatními uživateli (ne vámi).",
+       "rcfilters-filtergroup-userExpLevel": "Úrveň zkušeností (pouze registrovaných uživatelů)",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered": "Filtr podle zkušeností vyhledává pouze registrované uživatele, tento filtr je tedy v konfliktu s filtrem „Neregistrovaní“.",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered-global": "Filtr „Neregistrovaní“ je v konfliktu s jedním nebo více filtry podle zkušeností, vyhledávajícími pouze registrované uživatele. Dotyčné filtry jsou označeny nahoře, v prostoru „Aktivní filtry“.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Nováčci",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Méně než 10 editací a 4 dny činnosti.",
+       "rcfilters-filter-user-experience-level-learner-label": "Začátečníci",
+       "rcfilters-filter-user-experience-level-learner-description": "Delší činnost a více editací než „Nováčci“, ale méně než „Zkušení uživatelé“.",
+       "rcfilters-filter-user-experience-level-experienced-label": "Zkušení uživatelé",
+       "rcfilters-filter-user-experience-level-experienced-description": "Více než 30 dní činnosti a 500 editací.",
+       "rcfilters-filtergroup-automated": "Automatizované příspěvky",
+       "rcfilters-filter-bots-label": "Bot",
+       "rcfilters-filter-bots-description": "Editace provedené pomocí automatizovaných nástrojů.",
+       "rcfilters-filter-humans-label": "Člověk (ne bot)",
+       "rcfilters-filter-humans-description": "Editace provedené lidmi.",
+       "rcfilters-filtergroup-reviewstatus": "Stav prověření",
+       "rcfilters-filter-patrolled-label": "Prověřené",
+       "rcfilters-filter-patrolled-description": "Editace označené jako prověřené.",
+       "rcfilters-filter-unpatrolled-label": "Neprověřené",
+       "rcfilters-filter-unpatrolled-description": "Editace označené jako neprověřené.",
+       "rcfilters-filtergroup-significance": "Důležitost",
+       "rcfilters-filter-minor-label": "Malé editace",
+       "rcfilters-filter-minor-description": "Editace, které autor označil jako malé.",
+       "rcfilters-filter-major-label": "Nemalé editace",
+       "rcfilters-filter-major-description": "Editace neoznačené jako malé.",
+       "rcfilters-filtergroup-changetype": "Typ změny",
+       "rcfilters-filter-pageedits-label": "Editace stránek",
+       "rcfilters-filter-pageedits-description": "Editace obsahu wiki, diskusí, popisů kategorií...",
+       "rcfilters-filter-newpages-label": "Založení stránek",
+       "rcfilters-filter-newpages-description": "Editace, které vytvářejí nové stránky.",
+       "rcfilters-filter-categorization-label": "Změny kategorií",
+       "rcfilters-filter-categorization-description": "Záznamy stránek zařazených do nebo vyřazených z kategorií.",
+       "rcfilters-filter-logactions-label": "Zaznamenané činnosti",
+       "rcfilters-filter-logactions-description": "Administrativní úkony, založení účtů, mazání stránek, načtení souborů...",
+       "rcfilters-hideminor-conflicts-typeofchange-global": "Filtr „Malé editace“ je v konfliktu s jedním nebo více filtry podle typu změny, protože určité typy změn nelze označit jako malé. Dotyčné filtry jsou označeny nahoře, v prostoru „Aktivní filtry.",
+       "rcfilters-hideminor-conflicts-typeofchange": "Určité typy změn nelze označit jako malé, tento filtr je proto v konfliktu s následujícími filtry podle typu změny: $1",
+       "rcfilters-typeofchange-conflicts-hideminor": "Tento filtr podle typu změny je v konfliktu s filtrem „Malé editace“. Určité typy změn nelze označit jako malé.",
        "rcnotefrom": "Níže {{PLURAL:$5|je změna|jsou změny}} od <strong>$3, $4</strong> ({{PLURAL:$1|zobrazena|zobrazeny|zobrazeno}} nejvýše <strong>$1</strong>).",
        "rclistfrom": "Ukázat nové změny, počínaje od $2, $3",
        "rcshowhideminor": "$1 malé editace",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|změnil|změnila}} značky na revizi $4 stránky $3 ({{PLURAL:$7|přidáno}} $6; {{PLURAL:$9|odebráno}} $8)",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|změnil|změnila}} značky na protokolovacím záznamu $5 k stránce $3 ({{PLURAL:$7|přidáno}} $6; {{PLURAL:$9|odebráno}} $8)",
        "rightsnone": "(žádné)",
-       "revdelete-summary": "shrnutí editace",
        "rightslogentry-temporary-group": "$1 (dočasně, do $2)",
        "feedback-adding": "Komentář se přidává na stránku…",
        "feedback-back": "Zpět",
index daebbc1..2c9f789 100644 (file)
@@ -10,7 +10,8 @@
                        "לערי ריינהארט",
                        "아라",
                        "Kirsan",
-                       "Ankry"
+                       "Ankry",
+                       "Matma Rex"
                ]
        },
        "tog-underline": "Pòdsztrëchiwùjë lënczi:",
        "aboutsite": "Ò {{SITENAME}}",
        "aboutpage": "Project:Ò_{{SITENAME}}",
        "copyright": "Zamkłosc hewòtny starnë je ùprzëstãpnianô wedle reglów $1, jeżlë nie pòdóno jinaczi.",
-       "copyrightpage": "{{ns:project}}:Ùsôdzkòwé_prawa",
+       "copyrightpage": "{{ns:project}}:Ùsôdzkòwé prawa",
        "currentevents": "Aktualné wëdarzenia",
        "currentevents-url": "Project:Aktualné wëdarzenia",
        "disclaimers": "Prawné zastrzedżi",
        "yourdomainname": "Twòjô domena",
        "login": "Wlogùjë mie",
        "nav-login-createaccount": "Logòwanié",
-       "userlogin": "Logòwanié",
-       "userloginnocreate": "Wlogùjë mie",
        "logout": "Wëlogùj mie",
        "userlogout": "Wëlogòwanié",
        "notloggedin": "Felëje logòwóniô",
        "userlogin-noaccount": "Ni môsz kònta?",
-       "nologin": "Ni môsz kònta? '''$1'''.",
-       "nologinlink": "Ùsadzë kònto",
        "createaccount": "Założë nowé kònto",
-       "gotaccount": "Masz ju kònto? '''$1'''.",
-       "gotaccountlink": "Wlogùjë",
        "userlogin-resetpassword-link": "Zabôcził jes hasło?",
        "userlogin-helplink2": "Pòmòc przë logòwaniu",
        "createacct-emailoptional": "Adres e-mail (òptacëjno)",
        "createacct-email-ph": "Pòdôj swój adres e-mail.",
        "createaccountmail": "Ùżij timczasowégò hasła i wësli je na pòdóny adres e-mail.",
-       "createaccountreason": "Przëczëna:",
        "createacct-reason": "Przëczëna",
        "createacct-submit": "Ùsadzë kònto",
        "badretype": "Wprowadzone parole jinaczą sã midze sobą.",
        "revdelete-restricted": "nastôwi ògrańczenia dlô sprôwników",
        "revdelete-unrestricted": "rëmôj ògrańczenia dlô sprôwników",
        "logentry-protect-protect": "$1 {{GENDER:$2|zazychrowôł|zazychrowała}} $3 $4",
-       "revdelete-summary": "òpisënk zjinaczi",
        "pagelang-reason": "Przëczëna",
        "special-characters-group-ipa": "IPA",
        "special-characters-group-symbols": "Céchë",
index 9d39994..999ba58 100644 (file)
        "createacct-yourpasswordagain-ph": "опакꙑ жє таино слово напьши",
        "login": "въниди",
        "nav-login-createaccount": "въниди / съꙁижди си мѣсто",
-       "userlogin": "въниди / съꙁижди си мѣсто",
-       "userloginnocreate": "въниди",
        "logout": "ис̾ходъ",
        "userlogout": "ис̾ходъ",
        "notloggedin": "тꙑ нє въшьлъ ѥси",
        "userlogin-noaccount": "мѣсто ти нѣстъ ли ?",
        "userlogin-joinproject": "въ {{grammar:locative|{{SITENAME}}}} чѧсть прими",
-       "nologin": "мѣсто ти нѣстъ ли ? $1",
-       "nologinlink": "съꙁижди си мѣсто",
        "createaccount": "съꙁижди си мѣсто",
-       "gotaccount": "мѣсто ти ѥстъ ли? $1",
-       "gotaccountlink": "въниди",
        "userlogin-resetpassword-link": "таино слово ꙁабꙑлъ ли ;",
        "userlogin-helplink2": "помощь въниждєниꙗ дѣлꙗ",
-       "createaccountreason": "какъ съмꙑслъ :",
        "createacct-reason": "какъ съмꙑслъ",
        "createacct-reason-ph": "чєсо дѣлꙗ ино польꙃєватєльско мѣсто сътворити хощєши ;",
        "createacct-submit": "съꙁижди си мѣсто",
        "logentry-move-move_redir": "$1 {{GENDER:$2|нарєчє}} страницѧ ⁖ $3 ⁖ имєньмь ⁖ $4 ⁖ врьхоу прѣнаправлѥниꙗ",
        "logentry-newusers-create": "польꙃєватєльско мѣсто ⁖ $1 ⁖ {{GENDER:$2|сътворѥно}} ѥстъ",
        "logentry-upload-upload": "$1 {{GENDER:$2|положишє}} $3",
-       "revdelete-summary": "мѣнꙑ опьсаниѥ",
        "feedback-cancel": "отъмѣтаниѥ",
-       "searchsuggest-search": "исканиѥ",
+       "searchsuggest-search": "{{SITENAME}} : исканиѥ",
        "searchsuggest-containing": "сѥ дрьжащи···",
        "api-error-unknownerror": "нєвѣдома блаꙁна : ⁖ $1 ⁖",
        "duration-seconds": "$1 {{PLURAL:$1|дєѵтєролєпто|дєѵтєролєпта|дєѵтєролєптъ}}",
index 455195f..0ddeac0 100644 (file)
@@ -47,7 +47,7 @@
        "tog-enotifminoredits": "Gyrru e-bost ataf hefyd ar gyfer golygiadau bychain i dudalennau a ffeiliau",
        "tog-enotifrevealaddr": "Datguddio fy nghyfeiriad e-bost mewn e-byst hysbysu",
        "tog-shownumberswatching": "Dangos y nifer o ddefnyddwyr sy'n gwylio",
-       "tog-oldsig": "Y llofnod cyfredol:",
+       "tog-oldsig": "Eich llofnod cyfredol:",
        "tog-fancysig": "Trin y llofnod fel testun wici (heb gyswllt wici awtomatig)",
        "tog-uselivepreview": "Defnyddio rhagolwg byw",
        "tog-forceeditsummary": "Tynnu fy sylw pan adawaf flwch crynodeb golygu yn wag",
@@ -64,7 +64,7 @@
        "tog-showhiddencats": "Dangos categorïau cuddiedig",
        "tog-norollbackdiff": "Hepgor dangos cymhariaeth ar ôl gwrthdroi golygiad",
        "tog-useeditwarning": "Tynnu fy sylw pan wyf ar fin gadael tudalen olygu heb roi'r newidiadau ar gadw",
-       "tog-prefershttps": "Defnyddio cysylltiad diogel bob amser tra fy mod wedi mewngofnodi",
+       "tog-prefershttps": "Defnyddio cysylltiad diogel bob amser tra'ch bod wedi mewngofnodi",
        "underline-always": "Bob amser",
        "underline-never": "Byth",
        "underline-default": "Rhagosodyn y porwr neu'r wedd",
        "newwindow": "(yn agor mewn ffenest newydd)",
        "cancel": "Diddymu",
        "moredotdotdot": "Rhagor...",
-       "morenotlisted": "Nid yw'r rhestr hon yn llawn.",
+       "morenotlisted": "Efallai nad yw'r rhestr hon yn gyflawn.",
        "mypage": "Tudalen defnyddiwr",
        "mytalk": "Sgwrs",
        "anontalk": "Sgwrs",
        "searcharticle": "Mynd",
        "history": "Hanes y dudalen",
        "history_short": "Hanes",
+       "history_small": "hanes",
        "updatedmarker": "diwygiwyd ers i mi ymweld ddiwethaf",
        "printableversion": "Fersiwn argraffu",
        "permalink": "Dolen barhaol",
        "talk": "Sgwrs",
        "views": "Golygon",
        "toolbox": "Offer",
+       "tool-link-userrights": "Newid {{GENDER:$1|grwpiau defnyddwyr}}",
+       "tool-link-userrights-readonly": "Cip ar {{GENDER:$1|grwpiau defnyddwyr}}",
+       "tool-link-emailuser": "Ebostiwch y {{GENDER:$1|defnyddiwr}}",
        "userpage": "Gweld tudalen y defnyddiwr",
        "projectpage": "Gweld tudalen y wici",
        "imagepage": "Gweld tudalen y ffeil",
        "pool-timeout": "Cafwyd goroedi wrth aros am y clo",
        "pool-queuefull": "Mae cwt y gronfa brosesu yn llawn",
        "pool-errorunknown": "Gwall anhysbys",
+       "pool-servererror": "Nid yw'r gwasanaeth ''pool counter'' ar gael ($1).",
        "poolcounter-usage-error": "Gwall defnydd: $1",
        "aboutsite": "Ynglŷn â {{SITENAME}}",
        "aboutpage": "Project:Amdanom",
        "virus-scanfailed": "methodd y sgan (côd $1)",
        "virus-unknownscanner": "gwrthfirysydd anhysbys:",
        "logouttext": "'''Rydych wedi allgofnodi.'''\n\nSylwer y bydd rhai tudalennau yn parhau i ymddangos fel ag yr oeddent pan oeddech wedi mewngofnodi hyd nes i chi glirio celc eich porwr.",
+       "cannotlogoutnow-title": "Ni ellir allgofnodi ar hyn o bryd",
+       "cannotlogoutnow-text": "Ni ellir allgofnodi tra'n defnyddio $1.",
        "welcomeuser": "Croeso, $1!",
        "welcomecreation-msg": "Peidiwch ag anghofio newid eich [[Special:Preferences|{{SITENAME}} preferences]].",
        "yourname": "Eich enw defnyddiwr:",
        "createacct-yourpasswordagain-ph": "Rhowch eich cyfrinair eto",
        "userlogin-remembermypassword": "Cadw'r sesiwn yn fyw tan i mi allgofnodi",
        "userlogin-signwithsecure": "Defnyddio cysylltiad diogel",
+       "cannotlogin-title": "Methwyd mewngofnodi",
+       "cannotlogin-text": "Mae mewngofnodi'n amhosibl.",
+       "cannotloginnow-title": "Ni ellir mewngofnodi ar hyn o bryd.",
+       "cannotloginnow-text": "Ni ellir mewngofnodi tra defnyddir $1.",
        "cannotcreateaccount-title": "Yn methu creu cyfrif",
+       "cannotcreateaccount-text": "Ni ellir creu cyfrif ar y wici hon.",
        "yourdomainname": "Eich parth:",
        "password-change-forbidden": "Ni allwch newid cyfrineiriau ar y wici hwn.",
        "externaldberror": "Naill ai: cafwyd gwall dilysu allanol ar databas neu: ar y llaw arall efallai nad oes hawl gennych chi i ddiwygio'ch cyfrif allanol.",
        "login": "Mewngofnodi",
+       "login-security": "Gwirwch eich ID.",
        "nav-login-createaccount": "Mewngofnodi",
-       "userlogin": "Mewngofnodi / creu cyfrif",
-       "userloginnocreate": "Mewngofnodi",
        "logout": "Allgofnoder",
        "userlogout": "Allgofnodi",
        "notloggedin": "Nid ydych wedi mewngofnodi",
        "userlogin-noaccount": "Dim cyfrif gennych?",
        "userlogin-joinproject": "Ymuno â {{SITENAME}}",
-       "nologin": "Dim cyfrif gennych? $1.",
-       "nologinlink": "Crëwch gyfrif",
        "createaccount": "Creu cyfrif newydd",
-       "gotaccount": "Oes cyfrif gennych eisoes? $1.",
-       "gotaccountlink": "Mewngofnodi",
-       "userlogin-resetlink": "Ydych chi wedi anghofio eich manylion mewngofnodi?",
        "userlogin-resetpassword-link": "Wedi anghofio eich cyfrinair?",
        "userlogin-helplink2": "Cymorth wrth fewngofnodi",
        "userlogin-loggedin": "Rydych eisoes wedi mewngofnodi wrth yr enw {{GENDER:$1|$1}}.\nDefnyddiwch y ffurflen isod i fewngofnodi wrth rhyw enw arall.",
+       "userlogin-reauth": "Mae'n rhaid i chi fewngofnodi eto er mwyn gwiro eich bod yn {{GENDER:$1|$1}}.",
        "userlogin-createanother": "Creu cyfrif ychwanegol",
        "createacct-emailrequired": "Cyfeiriad ebost",
        "createacct-emailoptional": "Cyfeiriad ebost (dewisol)",
        "createacct-another-email-ph": "Rhowch y cyfeiriad e-bost",
        "createaccountmail": "Defnyddio cyfrinair ar hap dros dro a'i anfon i'r cyfeiriad e-bost a roddwyd",
        "createacct-realname": "Enw cywir (dewisiol)",
-       "createaccountreason": "Rheswm:",
        "createacct-reason": "Rheswm",
        "createacct-reason-ph": "Pam ydych yn creu cyfrif arall?",
+       "createacct-reason-help": "Dangosir y neges yn y log creu cyfri.",
        "createacct-submit": "Creer y cyfrif",
        "createacct-another-submit": "Creu cyfrif",
        "createacct-continue-submit": "Parhau i greu cyfrif",
+       "createacct-another-continue-submit": "Parhau i greu cyfrif",
        "createacct-benefit-heading": "Ffrwyth llafur pobl fel chi yw {{SITENAME}}.",
        "createacct-benefit-body1": "{{PLURAL:$1|golygiad|golygiad|olygiad|golygiad}}",
        "createacct-benefit-body2": "{{PLURAL:$1|tudalen|dudalen|dudalen|tudalen|thudalen|tudalen}}",
        "createacct-benefit-body3": "{{PLURAL:$1|cyfranwyr yn|wedi cyfrannu'n}} ddiweddar",
        "badretype": "Nid yw'r cyfrineiriau'n union yr un fath.",
+       "usernameinprogress": "Mae creu cyfrif i'r enw-defnyddiwr hwn wrthi'n cael ei brosesu. Daliwch eich gafael!",
        "userexists": "Mae rhywun arall wedi dewis yr enw defnyddiwr hwn. \nDewiswch un arall os gwelwch yn dda.",
        "loginerror": "Problem mewngofnodi",
        "createacct-error": "Nam wrth greu cyfrif",
        "nocookiesnew": "Mae'r cyfrif defnyddiwr wedi cael ei greu, ond nid ydych wedi mewngofnodi. Mae {{SITENAME}} yn defnyddio cwcis wrth i ddefnyddwyr fewngofnodi. Rydych chi wedi analluogi cwcis. Mewngofnodwch eto gyda'ch enw defnyddiwr a'ch cyfrinair newydd os gwelwch yn dda, ar ôl galluogi cwcis.",
        "nocookieslogin": "Mae {{SITENAME}} yn defnyddio cwcis wrth i ddefnyddwyr fewngofnodi. Rydych chi wedi analluogi cwcis. Trïwch eto os gwelwch yn dda, ar ôl galluogi cwcis.",
        "nocookiesfornew": "Ni chrëwyd cyfrif defnyddiwr newydd, oherwydd na allem gadarnhau ei ffynhonnell.\nSicrhewch eich bod wedi galluogi cwcis, yna ail-lwythwch y dudalen hon a cheisiwch eto.",
+       "createacct-loginerror": "Crewyd y cyfrif yn llwyddiannus, ond nid oedd yn bosibl i chi fewngofnodi'n otomatig. Ewch i [[Special:UserLogin|fewngofnodi drwy law a llygad]].",
        "noname": "Dydych chi ddim wedi cynnig enw defnyddiwr dilys.",
        "loginsuccesstitle": "Llwyddodd y mewngofnodi",
        "loginsuccess": "'''Yr ydych wedi mewngofnodi i {{SITENAME}} fel \"$1\".'''",
        "wrongpassword": "Nid yw'r cyfrinair a deipiwyd yn gywir. Rhowch gynnig arall arni, os gwelwch yn dda.",
        "wrongpasswordempty": "Roedd y cyfrinair yn wag. Rhowch gynnig arall arni.",
        "passwordtooshort": "Mae'n rhaid fod gan gyfrinair o leia $1 {{PLURAL:$1|nod}}.",
+       "passwordtoolong": "Ni chaiff cyfrinair fod yn hirach na {{PLURAL:$1|1 llythyren|$1 llythyren}}.",
+       "passwordtoopopular": "Chewch chi ddim defnyddio cyfreinair rhy syml, rhy gyffredin. Dewisiwch un unigryw!",
        "password-name-match": "Rhaid i'ch cyfrinair a'ch enw defnyddiwr fod yn wahanol i'w gilydd.",
        "password-login-forbidden": "Gwaharddwyd defnyddio'r enw defnyddiwr a'r cyfrinair hwn.",
        "mailmypassword": "Ailosoder y cyfrinair",
        "createacct-another-realname-tip": "Gallwch ddewis roi eich enw go iawn.\nOs y gwnewch, fe gaiff yr enw go iawn ei defnyddio wrth dadogi'ch gwaith.",
        "pt-login": "Mewngofnodi",
        "pt-login-button": "Mewngofnoder",
+       "pt-login-continue-button": "Parhau i fewngofnodi",
        "pt-createaccount": "Crëwch gyfrif",
        "pt-userlogout": "Allgofnodi",
        "php-mail-error-unknown": "Gwall anhysbys yng ngweithrediad post() PHP",
        "resetpass_submit": "Gosod y cyfrinair a mewngofnodi",
        "changepassword-success": "Newidiwyd eich cyfrinair!",
        "changepassword-throttled": "Rydych wedi ceisio logio mewn yn rhy aml.\nArhoswch am $1 cyn trio eto.",
+       "botpasswords": "Cyfrineiriau bots",
+       "botpasswords-label-appid": "Enw bot:",
        "botpasswords-label-create": "Dechrau",
        "botpasswords-label-update": "Diweddaru",
        "botpasswords-label-cancel": "Canslo",
        "passwordreset-emailtext-ip": "Mae rhywun (chi yn ôl pob tebyg, o'r cyfeiriad IP $1) wedi gofyn am ailosod eich cyfrinair ar {{SITENAME}} ($4). Mae'r {{PLURAL:$3|cyfrif|cyfrif|cyfrifon}} canlynol ynghlwm wrth y cyfeiriad e-bost hwn:\n\n$2\n\nBydd y {{PLURAL:$3||cyfrinair dros dro hwn|cyfrineiriau dros dro hyn}} yn dod i ben ymhen {{PLURAL:$5||diwrnod |deuddydd|tridiau|$5 diwrnod}}. Dylech fewngofnodi nawr a dewis cyfrinair newydd. Os mai rhywun arall a ofynodd am ailosod y cyfrinair, neu os ydych wedi cofio eich cyfrinair gwreiddiol, neu os nad ydych am ei newid bellach, gallwch anwybyddu'r neges hon a pharhau i ddefnyddio eich hen gyfrinair.",
        "passwordreset-emailtext-user": "Gofynodd y defnyddiwr $1 ar {{SITENAME}} am gael ailosod ei gyfrinair ar {{SITENAME}}\n($4). Mae'r {{PLURAL:$3||cyfrif|cyfrifon}} canlynol ynghlwm wrth y cyfeiriad e-bost hwn:\n\n$2\n\nBydd y {{PLURAL:$3||cyfrinair|cyfrineiriau}} dros dro hyn yn dod i ben ymhen {{PLURAL:$5||diwrnod|deuddydd|tridiau|$5 diwrnod}}.\nDylech fewngofnodi nawr a dewis cyfrinair newydd. Os mai rhywun arall a ofynodd am ailosod y cyfrinair, neu os ydych wedi cofio eich cyfrinair gwreiddiol, neu os nad ydych am ei newid bellach, gallwch anwybyddu'r neges hon a pharhau i ddefnyddio eich hen gyfrinair.",
        "passwordreset-emailelement": "Enw'r defnyddiwr: \n$1\n\nY cyfrinair dros dro: \n$2",
-       "passwordreset-emailsentemail": "Anfonwyd e-bost i ailosod eich cyfrinair atoch.",
+       "passwordreset-emailsentemail": "Os yw'r ebost hwn ynghlwm wrth eich cyfrif, yna anfonir e-bost i ailosod eich cyfrinair atoch.",
+       "passwordreset-emailsentusername": "Os oes ebost ynghlwm wrth eich cyfrif, yna anfonir e-bost i ailosod eich cyfrinair atoch.",
+       "passwordreset-nocaller": "Rhaid darparu'r wybodaeth wreiddiol",
+       "passwordreset-nosuchcaller": "Nid yw'r ffynhonnell yn bodoli: $1",
        "passwordreset-ignored": "Ailosod y cyfrinair nad ymdriniwyd â. Efallai y nid y darparwr yn osod?",
        "passwordreset-invalidemail": "Cyfeiriad e-bost annilys",
+       "passwordreset-nodata": "Ni wnaethoch ddarparu ebost na chyfeiriad",
        "changeemail": "Newid y cyfeiriad e-bost",
        "changeemail-header": "Cwbwlhewch y ffurflen hon i newid cyfeiriad e-bost y cyfrifi. I ddileu pob cysylltiad i bob cyfeiriad ebost, gadewch e'n wag.",
        "changeemail-no-info": "Ni allwch fynd at y dudalen hon heblaw eich bod wedi mewngofnodi.",
        "changeemail-password": "Eich cyfrinair ar {{SITENAME}}:",
        "changeemail-submit": "Newidier y cyfeiriad e-bost",
        "changeemail-throttled": "'Da chi wedi trio mewngofnodi gormod o weithiau.\nDaliwch eich gafael am $1 cyn ceisio eto.",
+       "changeemail-nochange": "Darparwch cyfeiriad ebost newydd a gwahanol.",
        "resettokens": "Ailosod tocynnau",
        "resettokens-text": "Gallwch ailosod tocynnau sy'n galluogi mynediad at rai manylion preifat sydd ynghlwm wrth y cyfrif yma.\n\nDylech wneud hyn os wnaethoch rannu'r manylion hyn gyda rhywun ar ddamwain neu os oes problem wedi codi gyda diogelwch eich cyfrif.",
        "resettokens-no-tokens": "Nid oes unrhyw docynnau i'w hailosod.",
        "missingcommentheader": "<strong>Nodyn atgoffa:</strong> \nNid ydych wedi cynnig unrhywbeth yn y blwch 'Pwnc:'. Os y cliciwch \"{{int:savearticle}}\" eto fe gedwir y golygiad heb bennawd.",
        "summary-preview": "Rhagolwg o'r crynodeb:",
        "subject-preview": "Rhagolwg pwnc:",
+       "previewerrortext": "Cafwyd nam tra'n ceisio creu rhagolwg o'r newidiadau.",
        "blockedtitle": "Mae'r defnyddiwr hwn wedi cael ei flocio",
        "blockedtext": "'''Mae eich enw defnyddiwr neu gyfeiriad IP wedi cael ei flocio.'''\n\n$1 a osododd y bloc.\nY rheswm a roddwyd dros y blocio yw: ''$2''.\n\n*Dechreuodd y bloc am: $8\n*Bydd y bloc yn dod i ben am: $6\n*Bwriadwyd blocio: $7\n\nGallwch gysylltu â $1 neu un arall o'r [[{{MediaWiki:Grouppage-sysop}}|gweinyddwyr]] i drafod y bloc.\nSylwch mai dim ond y rhai sydd wedi gosod cyfeiriad e-bost yn eu [[Special:Preferences|dewisiadau defnyddiwr]], a hwnnw heb ei flocio, sydd yn gallu 'anfon e-bost at ddefnyddiwr' trwy'r wici.\n$3 yw eich cyfeiriad IP presennol. Cyfeirnod y bloc yw #$5.\nPan yn ysgrifennu at weinyddwr, cofiwch gynnwys yr holl fanylion uchod, os gwelwch yn dda.",
        "autoblockedtext": "Rhoddwyd bloc yn awtomatig ar eich cyfeiriad IP oherwydd iddo gael ei ddefnyddio gan ddefnyddiwr arall, a bod bloc wedi ei roi ar hwnnw gan $1.\nY rheswm a roddwyd dros y bloc oedd:\n\n:''$2''\n\n*Dechreuodd y bloc am: $8\n*Daw'r bloc i ben am: $6\n*Bwriadwyd blocio: $7\n\nGallwch gysylltu â $1 neu un arall o'r [[{{MediaWiki:Grouppage-sysop}}|gweinyddwyr]] i drafod y bloc.\n\nSylwch mai dim ond y rhai sydd wedi gosod cyfeiriad e-bost yn eu [[Special:Preferences|dewisiadau defnyddiwr]], a hwnnw heb ei flocio, sydd yn gallu 'anfon e-bost at ddefnyddiwr' trwy'r wici.\n\nEich cyfeiriad IP presennol yw $3. Cyfeirnod y bloc yw $5. Nodwch y manylion hyn wrth drafod y bloc.",
        "userpage-userdoesnotexist": "Nid oes defnyddiwr a'r enw \"<nowiki>$1</nowiki>\" yn bod. Gwnewch yn siwr eich bod am greu/golygu'r dudalen hon.",
        "userpage-userdoesnotexist-view": "Nid yw'r cyfrif defnyddiwr \"$1\" wedi ei gofrestri.",
        "blocked-notice-logextract": "Mae'r defnyddiwr hwn wedi ei flocio ar hyn o bryd.\nDyma'r cofnod lòg diweddaraf, er gwybodaeth:",
-       "clearyourcache": "'''Sylwer - Wedi i chi roi'r dudalen ar gadw, efallai y bydd angen mynd heibio celc eich porwr er mwyn gweld y newidiadau.'''\n*'''Firefox / Safari:''' Pwyswch ar ''Shift'' tra'n clicio ''Ail-lwytho/Reload'', neu gwasgwch ''Ctrl-F5'' neu ''Ctrl-R'' (''⌘-R'' ar Mac);\n*'''Google Chrome:'''Pwyswch ar Ctrl-Shift-R'' (''⌘-Shift-R'' ar Mac)\n*'''Internet Explorer:''' Pwyswch ar ''Ctrl'' tra'n clicio ''Adnewyddu/Refresh'', neu gwasgwch ''Ctrl-F5''. \n*'''Opera:''' gwacewch y celc yn llwyr trwy ''Offer → Dewisiadau / Tools→Preferences'';",
+       "clearyourcache": "'''Sylwer - Wedi i chi roi'r dudalen ar gadw, efallai y bydd angen mynd heibio celc eich porwr er mwyn gweld y newidiadau.'''\n*'''Firefox / Safari:''' Pwyswch ''Shift'' tra'n clicio ''Ail-lwytho/Reload'', neu bwyswch ''Ctrl-F5'' neu ''Ctrl-R'' (''⌘-R'' ar Mac);\n*'''Google Chrome:'''Pwyswch ar Ctrl-Shift-R'' (''⌘-Shift-R'' ar Mac)\n*'''Internet Explorer:''' Pwyswch ''Ctrl'' tra'n clicio ''Adnewyddu/Refresh'', neu bwyswch ''Ctrl-F5''. \n*'''Opera:''' gwagiwch y celc yn llwyr trwy ''Offer → Dewisiadau / Tools→Preferences'';",
        "usercssyoucanpreview": "'''Tip:''' Defnyddiwch y botwm \"{{int:showpreview}}\" er mwyn profi eich CSS newydd cyn ei gadw.",
        "userjsyoucanpreview": "'''Tip:''' Defnyddiwch y botwm \"{{int:showpreview}}\" er mwyn profi eich JS newydd cyn ei gadw.",
        "usercsspreview": "'''Cofiwch - dim ond rhagolwg o'ch CSS defnyddiwr yw hwn.'''\n'''Nid yw wedi'i gadw eto!'''",
        "yourdiff": "Gwahaniaethau",
        "copyrightwarning": "Mae pob cyfraniad i {{SITENAME}} yn cael ei ryddhau o dan termau'r Drwydded Ddogfen Rhydd ($2) (gwelwch $1 am fanylion). Os nad ydych chi'n fodlon i'ch gwaith gael ei olygu heb drugaredd, neu i gopïau ymddangos ar draws y we, peidiwch a'i gyfrannu yma.<br />\nRydych chi'n cadarnhau mai chi yw awdur y cyfraniad, neu eich bod chi wedi'i gopïo o'r parth cyhoeddus (''public domain'') neu rywle rhydd tebyg. '''Nid''' yw'r mwyafrif o wefannau yn y parth cyhoeddus.\n\n'''PEIDIWCH Â CHYFRANNU GWAITH O DAN HAWLFRAINT HEB GANIATÂD!'''",
        "copyrightwarning2": "Sylwch fod pob cyfraniad i {{SITENAME}} yn cael ei ryddhau o dan termau'r Drwydded Ddogfen Rhydd (gwelwch $1 am fanylion).\nOs nad ydych chi'n fodlon i'ch gwaith gael ei olygu heb drugaredd, neu i gopïau ymddangos ar draws y we, peidiwch a'i gyfrannu yma.<br />\nRydych chi'n cadarnhau mai chi yw awdur y cyfraniad, neu eich bod chi wedi'i gopïo o'r parth cyhoeddus (''public domain'') neu rywle rhydd tebyg.<br />\n'''PEIDIWCH Â CHYFRANNU GWAITH O DAN HAWLFRAINT HEB GANIATÂD!'''",
+       "editpage-cannot-use-custom-model": "Ni ellir newid cynnwys y ddalen.",
        "longpageerror": "'''GWALL: Mae'r testun yr ydych wedi ei osod yma yn {{PLURAL:$1|$1 cilobeit}} o hyd, ac yn hwy na'r hyd eithaf o {{PLURAL:$2|$2}} cilobeit.\nNi ellir ei roi ar gadw.'''",
-       "readonlywarning": "'''RHYBUDD: Mae'r gronfa ddata wedi'i chloi am gyfnod er mwyn cynnal a chadw, felly fyddwch chi ddim yn gallu cadw'ch golygiadau ar hyn o bryd.''' \nGallwch gopïo'r testun a'i gludo i ffeil destun er mwyn ei gadw tan yn hwyrach.\n\nCynigiodd y gweinyddwr a glodd y gronfa ddata y rheswm hwn dros ei chloi: $1",
+       "readonlywarning": "<strong>Rhybudd: Mae'r gronfa ddata wedi'i chloi am gyfnod er mwyn cynnal a chadw, felly fyddwch chi ddim yn gallu cadw'ch golygiadau ar hyn o bryd.</strong>\nGallwch gopïo'r testun a'i gludo i ffeil destun er mwyn ei gadw tan yn hwyrach.\n\nCynigiodd y gweinyddwr a glodd y gronfa ddata y rheswm hwn dros ei chloi: $1",
        "protectedpagewarning": "'''RHYBUDD: Mae'r dudalen hon wedi'i diogelu. Dim ond gweinyddwyr sydd yn gallu ei golygu.'''\nDyma'r cofnod lòg diweddaraf, er gwybodaeth:",
        "semiprotectedpagewarning": "'''Sylwer:''' Mae'r dudalen hon wedi ei chloi; dim ond defnyddwyr cofrestredig a allant ei golygu.\nDyma'r cofnod lòg diweddaraf, er gwybodaeth:",
-       "cascadeprotectedwarning": "'''Dalier sylw:''' Mae'r dudalen hon wedi ei diogelu fel nad ond defnyddwyr â galluoedd gweinyddwyr sy'n gallu ei newid, oherwydd ei bod yn rhan o'r {{PLURAL:$1|dudalen ganlynol|dudalen ganlynol|tudalennau canlynol}} sydd wedi {{PLURAL:$1|ei sgydol-ddiogelu|ei sgydol-ddiogelu|eu sgydol-diogelu}}.",
+       "cascadeprotectedwarning": "<strong>Dalier sylw:</strong> Mae'r dudalen hon wedi ei chloi fel mai dim ond defnyddwyr â galluoedd 'Gweinyddwyr' all ei newid, oherwydd ei bod yn rhan o'r {{PLURAL:$1|dudalen ganlynol|dudalen ganlynol|tudalennau canlynol}} sydd wedi {{PLURAL:$1|ei sgydol-ddiogelu|ei diogelu|eu diogelu}}.",
        "titleprotectedwarning": "'''RHYBUDD:  Mae'r dudalen hon wedi ei chloi; dim ond rhai defnyddwyr sydd â'r [[Special:ListGroupRights|gallu]] i'w chreu.'''\nDyma'r cofnod lòg diweddaraf, er gwybodaeth:",
        "templatesused": "Defnyddir y {{PLURAL:$1|nodyn hwn|nodyn hwn|nodiadau hyn|nodiadau hyn|nodiadau hyn|nodiadau hyn}} yn y dudalen hon:",
        "templatesusedpreview": "Defnyddir y {{PLURAL:$1|nodyn hwn|nodyn hwn|nodiadau hyn|nodiadau hyn|nodiadau hyn|nodiadau hyn}} yn y rhagolwg hwn:",
        "permissionserrorstext-withaction": "Nid yw'r gallu hwn ($2) ganddoch, am y {{PLURAL:$1|rheswm|rheswm|rhesymau|rhesymau|rhesymau|rhesymau}} canlynol:",
        "recreate-moveddeleted-warn": "'''Dalier sylw: Rydych yn ail-greu tudalen a ddilewyd rhywdro.'''\n\nYstyriwch a fyddai'n dda o beth i barhau i olygu'r dudalen hon.\nDyma'r logiau dileu a symud ar gyfer y dudalen, er gwybodaeth:",
        "moveddeleted-notice": "Dilëwyd y dudalen hon.\nDangosir y logiau dileu a symud ar gyfer y dudalen isod.",
+       "moveddeleted-notice-recent": "Ymddiheurwn! Dilewyd y ddalen hon yn ddiweddar (yn y 24 awr diwethaf).\nEr gwybodaeth, darperir isod yr holl wybodaeth berthnasol.",
        "log-fulllog": "Gweld y lòg cyflawn",
        "edit-hook-aborted": "Terfynwyd y golygiad cyn pryd gan fachyn.\nNi roddodd eglurhad.",
        "edit-gone-missing": "Ni ellid diweddaru'r dudalen.\nYmddengys iddi gael ei dileu.",
        "invalid-content-data": "Data annilys i'r cynnwys",
        "content-not-allowed-here": "Nid yw cynnwys ar ffurf \"$1\" yn cael ei ganiatau ar y dudalen [[$2]]",
        "editwarning-warning": "Os y gadewch y dudalen hon mae'n bosib y collwch eich newidiadau iddi.\nOs ydych wedi mewngofnodi gallwch ddiddymu'r rhybudd hwn yn yr adran \"{{int:prefs-editing}}\" yn eich dewisiadau.",
+       "editpage-invalidcontentmodel-title": "Nid yw'r model yma ar gael.",
+       "editpage-invalidcontentmodel-text": "Nid yw'r model \"$1\" ar gael.",
        "editpage-notsupportedcontentformat-title": "Dydy fformat y cynnwys hwn ddim yn cael ei gefnogi gennym.",
        "editpage-notsupportedcontentformat-text": "Dydy'r fformat $1 ar y cynnwys ddim yn cael ei gefnogi gan y model $2.",
        "content-model-wikitext": "cystrawen wici",
        "content-model-css": "CSS",
        "content-json-empty-object": "Dim gwrthrych",
        "content-json-empty-array": "Rhesi gwag",
+       "duplicate-args-warning": "<strong>Rhybudd:</strong> Mae [[:$1]] yn galw [[:$2]] gyda mwy nag un gwerthrif (''value'') i baramedr \"$3\". Dim ond y gwerthrif diwethaf gaiff ei ddefnyddio.",
        "duplicate-args-category": "Tudalennau gyda meysydd deublyg yn y Nodion",
        "duplicate-args-category-desc": "Mae'r dudalen hon yn cynnwys meysydd yn y Nodion, ddwy waith e.e.  <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> neu <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.",
        "expensive-parserfunction-warning": "'''Rhybudd:''' Mae gormod o alwadau ar ffwythiannau dosrannu sy'n dreth ar adnoddau yn y dudalen hon.\n\nDylai fod llai na $2 {{PLURAL:$2|galwad|alwad|alwad|galwad}} yn y dudalen, ond ar hyn o bryd mae $1 {{PLURAL:$1|galwad|alwad|alwad|galwad}} ynddi.",
        "history-feed-description": "Hanes diwygio'r dudalen hon ar y wici",
        "history-feed-item-nocomment": "$1 am $2",
        "history-feed-empty": "Nid yw'r dudalen a ofynwyd amdani'n bod.\nGall fod iddi gael ei dileu neu ei hailenwi.\nGallwch [[Special:Search|chwilio'r]] wici am dudalennau eraill perthnasol.",
+       "history-edit-tags": "Tagiau golygu y fersiynau a ddewisiwyd",
        "rev-deleted-comment": "(dilëwyd crynodeb y golygiad)",
        "rev-deleted-user": "(enw defnyddiwr wedi ei ddiddymu)",
        "rev-deleted-event": "(tynnwyd manylion y lòg)",
        "rev-showdeleted": "dangos",
        "revisiondelete": "Dileu/dad-ddileu diwygiadau",
        "revdelete-nooldid-title": "Anelwyd at olygiad annilys",
-       "revdelete-nooldid-text": "Naill ai; nid ydych wedi dynodi diwygiad yn darged y weithred, neu nid yw'r diwygiad penodedig yn bod, neu rydych wedi ceisio cuddio'r diwygiad presennol.",
+       "revdelete-nooldid-text": "Naill ai nid ydych wedi dynodi diwygiad yn darged y weithred, neu nid yw'r diwygiad penodedig yn bod, neu rydych wedi ceisio cuddio'r diwygiad presennol.",
        "revdelete-no-file": "Nid yw'r ffeil a nodwyd yn bod.",
        "revdelete-show-file-confirm": "Ydych chi'n sicr eich bod am weld y diwygiad dilëedig o'r ffeil \"<nowiki>$1</nowiki>\" a roddwyd ar gadw am $3 ar $2?",
        "revdelete-show-file-submit": "Ydw",
        "revdelete-unsuppress": "Tynnu'r cyfyngiadau ar y golygiadau a adferwyd",
        "revdelete-log": "Rheswm:",
        "revdelete-submit": "Rhoi ar waith ar y {{PLURAL:$1|golygiad|golygiad|golygiadau|golygiadau|golygiadau|golygiadau}} dewisedig",
-       "revdelete-success": "'''Diweddarwyd y gallu i weld golygiadau.'''",
+       "revdelete-success": "Diweddarwyd y golygiad.",
        "revdelete-failure": "'''Ni ellid newid y cyfyngiadau ar y gallu i weld y golygiad:'''\n$1",
-       "logdelete-success": "'''Llwyddwyd i guddio neu i ddatguddio'r digwyddiad rhag y lòg.'''",
+       "logdelete-success": "Cuddiwyd/datguddiwyd y digwyddiad rhag y lòg.",
        "logdelete-failure": "'''Ni ellid gosod cyfyngiadau ar y gallu i weld y cofnod lòg:'''\n$1",
        "revdel-restore": "Newid gwelededd",
        "pagehist": "Hanes y dudalen",
        "mergehistory-go": "Dangos y golygiadau y gellir eu cyfuno",
        "mergehistory-submit": "Cyfuner y diwygiadau",
        "mergehistory-empty": "Ni ellir cyfuno unrhyw ddiwygiadau.",
-       "mergehistory-done": "Cyfunwyd $3 {{PLURAL:$3|diwygiad|diwygiad|ddiwygiad|diwygiad|diwygiad|diwygiad}} o $1 yn llwyddiannus i'r dudalen [[:$2]].",
+       "mergehistory-done": "Cyfunwyd $3 {{PLURAL:$3|diwygiad}} o $1 a [[:$2]].",
        "mergehistory-fail": "Methodd y cyfuno hanes; a wnewch wirio paramedrau'r dudalen a'r amser unwaith eto.",
+       "mergehistory-fail-bad-timestamp": "Mae'r stamp-amser yn annilys.",
+       "mergehistory-fail-invalid-source": "Mae'r ddalen wreiddiol (y ''source page'') yn annilys.",
+       "mergehistory-fail-invalid-dest": "Mae'r ddalen-darged (y ''destination page'') yn annilys.",
+       "mergehistory-fail-no-change": "Ni chyfunwyd hanes yr adolygiadau. Gwirwch y ddalen a pharamedrau amser, os yw'n bodoli.",
+       "mergehistory-fail-permission": "Nid oes gennych yr hawliau digonol i gyfuno yr hanes.",
+       "mergehistory-fail-self-merge": "Mae'r dalennau gwreiddiol a tharged yr un! (''Source and destination pages are the same.'')",
        "mergehistory-no-source": "Nid yw'r dudalen gwreiddiol $1 yn bod.",
        "mergehistory-no-destination": "Nid yw'r dudalen cyrchfan $1 yn bod.",
        "mergehistory-invalid-source": "Rhaid bod teitl dilys gan y dudalen gwreiddiol.",
        "searchprofile-advanced-tooltip": "Chwilio drwy parthau dewisol",
        "search-result-size": "$1 ({{PLURAL:$2|dim geiriau|$2 gair|$2 air|$2 gair|$2 gair|$2 gair|}})",
        "search-result-category-size": "{{PLURAL:$1|$1 aelod}} ({{PLURAL:$2|$2 is-gategori}}, {{PLURAL:$3|$3 ffeil}})",
-       "search-redirect": "(ailgyfeiriad $1)",
+       "search-redirect": "(ailgyfeiriad $1)",
        "search-section": "(adran $1)",
        "search-category": "(categori $1)",
        "search-file-match": "(yn cyfateb i gynnwys y ffeil)",
        "search-suggest": "Ai am hyn y chwiliwch: $1",
+       "search-rewritten": "Dangosir canlyniadauar gyfer $1. Chwiliwch am $2.",
        "search-interwiki-caption": "Chwaer-brosiectau",
        "search-interwiki-default": "Y canlyniadau o $1:",
        "search-interwiki-more": "(rhagor)",
+       "search-interwiki-more-results": "rhagor o ganlyniadau",
        "search-relatedarticle": "Erthyglau eraill tebyg",
        "searchrelated": "erthyglau eraill tebyg",
        "searchall": "oll",
        "showingresultsinrange": "Yn dangos hyd at {{PLURAL:$1||<strong>1</strong> canlyniad|<strong>$1</strong> ganlyniad|$1 o ganlyniadau}} isod yn yr ystod #<strong>$2</strong> i #<strong>$3</strong>.",
        "search-showingresults": "{{PLURAL:$4|Result <strong>$1</strong> of <strong>$3</strong>|Canlyniadau: <strong>$1 - $2</strong> o <strong>$3</strong>}}",
        "search-nonefound": "Ni chafwyd dim canlyniadau i'r ymholiad.",
+       "search-nonefound-thiswiki": "Doedd dim un canlyniad er chwilio'r wefan gyfan.",
        "powersearch-legend": "Chwiliad uwch",
        "powersearch-ns": "Chwilio yn y parthau:",
        "powersearch-togglelabel": "Dewis:",
        "search-external": "Chwiliad allanol",
        "searchdisabled": "Mae'r teclyn chwilio ar {{SITENAME}} wedi'i analluogi dros dro.\nYn y cyfamser gallwch chwilio drwy Google.\nCofiwch y gall mynegeion Google o gynnwys {{SITENAME}} fod ar ei hôl hi.",
        "search-error": "Cafwyd gwall wrth chwilio: $1",
+       "search-warning": "Cafwyd rhybudd tra'n chwilio: $1",
        "preferences": "Dewisiadau",
        "mypreferences": "Dewisiadau",
        "prefs-edits": "Nifer y golygiadau:",
        "prefs-personal": "Data personol",
        "prefs-rc": "Newidiadau diweddar",
        "prefs-watchlist": "Rhestr wylio",
+       "prefs-editwatchlist": "Golygu'r rhestr wylio",
+       "prefs-editwatchlist-label": "Golygiadau ar eich rhestr wylio:",
+       "prefs-editwatchlist-edit": "Gosod a dileu teitlau o'ch rhestr wylio",
+       "prefs-editwatchlist-raw": "Golygu cod eich rhestr wylio",
+       "prefs-editwatchlist-clear": "Clirio eich rhestr wylio",
        "prefs-watchlist-days": "Nifer y diwrnodau i'w dangos yn y rhestr wylio:",
        "prefs-watchlist-days-max": "Hyd at $1 {{PLURAL:$1||diwrnod|ddiwrnod|diwrnod|diwrnod|diwrnod}}",
        "prefs-watchlist-edits": "Nifer y golygiadau i'w dangos wrth ehangu'r rhestr wylio:",
        "youremail": "Eich cyfeiriad e-bost",
        "username": "{{GENDER:$1|Enw defnyddiwr}}:",
        "prefs-memberingroups": "Yn {{GENDER:$2|aelod}} o'r {{PLURAL:$1|grŵp|grŵp|grwpiau}} canlynol:",
+       "group-membership-link-with-expiry": "$1 (gyd at $2)",
        "prefs-registration": "Amser dechrau'r cyfrif:",
        "yourrealname": "Eich enw cywir*",
        "yourlanguage": "Iaith y rhyngwyneb",
        "prefswarning-warning": "Rydych wedi newid eich Dewisiadau, ac nid ydynt eto wedi'u cadw.\nOs gadewch y dudalen hon heb glicio \"$1\" yna fe gollwch y newidiadau hyn.",
        "prefs-tabs-navigation-hint": "Awgrym: Gallwch ddefnyddio'r allweddellau sy'n saethau i'r chwith neu i'r dde i lywio rhwng y tabiau ar restr y tabiau.",
        "userrights": "Rheoli galluoedd defnyddwyr",
-       "userrights-lookup-user": "Rheoli grwpiau defnyddiwr",
+       "userrights-lookup-user": "Dewisiwch ddefnyddiwr",
        "userrights-user-editname": "Rhowch enw defnyddiwr:",
-       "editusergroup": "Golygu Grwpiau {{GENDER:$1|Defnyddwyr}}",
+       "editusergroup": "Golygu grwpiau defnyddwyr",
        "editinguser": "Newid galluoedd {{GENDER:$1|y defnyddiwr}} <strong>[[User:$1|$1]]</strong> $2",
-       "userrights-editusergroup": "Golygu grwpiau defnyddwyr",
+       "viewinguserrights": "Gweld galluoedd {{GENDER:$1|y defnyddiwr}} <strong>[[User:$1|$1]]</strong> $2",
+       "userrights-editusergroup": "Golygu grwpiau {{GENDER:$1|defnyddwyr}}",
+       "userrights-viewusergroup": "Gweld {{GENDER:$1|grwpiau defnyddwyr}}",
        "saveusergroups": "Cadw'r Grwpiau {{GENDER:$1|Defnyddwyr}}",
        "userrights-groupsmember": "Yn aelod o:",
        "userrights-groupsmember-auto": "Ac ynghlwm wrth aelodaeth y grwpiau uchod, yn aelod o:",
        "userrights-nodatabase": "Nid yw'r bas data $1 yn bod neu nid yw'n un lleol.",
        "userrights-changeable-col": "Grwpiau y gallwch eu newid",
        "userrights-unchangeable-col": "Grwpiau na allwch eu newid",
+       "userrights-expiry-current": "Daw i ben $1",
+       "userrights-expiry-none": "Diderfyn, o ran amser",
+       "userrights-expiry": "Daw i ben:",
+       "userrights-expiry-existing": "Amser dod i ben: $3, $2",
+       "userrights-expiry-othertime": "Cyfnod arall:",
+       "userrights-expiry-options": "1 dydd:1 day,1 wythnos:1 week,1 mis:1 month,3 mis:3 months,6 mis:6 months,1 blynedd:1 year",
        "userrights-conflict": "Gwrthdaro oherwydd newid i hawliau defnyddiwr! Adolygwch eich newidiadau a'u cadarnhau.",
        "group": "Grŵp:",
        "group-user": "Defnyddwyr",
        "right-siteadmin": "Cloi a datgloi'r databas",
        "right-override-export-depth": "Allforio tudalennau gan gynnwys tudalennau cysylltiedig hyd at ddyfnder o 5",
        "right-sendemail": "Anfon e-bost at ddefnyddwyr eraill",
-       "right-managechangetags": "Creu a dileu [[Special:Tags|tagiau]] o'r gronfa ddata",
+       "right-managechangetags": "Creu a dileu [[Special:Tags|tagiau]]",
+       "right-applychangetags": "Gosodwch y [[Special:Tags|tagiau]] gyda'r newidiadau",
+       "grant-generic": "Bwdel hawliau \"$1\"",
+       "grant-group-page-interaction": "Rhyngweithiwch gyda'r dalennau",
+       "grant-group-watchlist-interaction": "Rhyngweithiwch gyda'ch rhestr wylio",
        "grant-group-email": "Danfon ebost",
+       "grant-group-customization": "Eich dewisiadau chi",
+       "grant-group-administration": "Rhoi materion gweinyddol ar waith",
+       "grant-blockusers": "Blociwch a dadflociwch defnyddwyr",
+       "grant-createaccount": "Crewch gyfri",
+       "grant-createeditmovepage": "Creu, golygu a symud dalennau",
+       "grant-delete": "Dileu dalennau, adolygiadau a chofnodion y log",
+       "grant-editinterface": "Golygwch ''namespace'' MediaWiki a CSS/JavaScript y defnyddiwr",
+       "grant-editmycssjs": "Golygwch eich CSS/JavaScript",
+       "grant-editmyoptions": "Golygwch eich dewisiadau",
+       "grant-editmywatchlist": "Golygwch eich rhestr wylio",
+       "grant-editpage": "Golygwch dudalennau sy'n bodoli",
+       "grant-editprotected": "Golygwch dalennau sydd wedi'u cloi",
+       "grant-highvolume": "Golygu nifer ar yr un pryd",
+       "grant-oversight": "Cuddiwch y defnyddwyr a'u golygiadau",
+       "grant-patrol": "Newidiadau patrol y dalennau",
+       "grant-protect": "Cloi a datgloi dalennau",
+       "grant-rollback": "Dadwneud newidiadau dalennau",
+       "grant-sendemail": "Danfonwch ebost i ddefnyddwyr",
+       "grant-uploadeditmovefile": "Uwchlwythwch, ailosodwch a symudwch ffeiliau",
+       "grant-uploadfile": "Uwchlwythwch ffeiliau newydd",
        "grant-basic": "Hawliau sylfaenol",
        "grant-viewdeleted": "Gweld ffeiliau a ddilewyd",
        "grant-viewmywatchlist": "Gweld eich Rhestr Wylio",
+       "grant-viewrestrictedlogs": "Gweld cofnodion log cuddiedig",
        "newuserlogpage": "Lòg creu cyfrifon defnyddwyr newydd",
        "newuserlogpagetext": "Dyma restr o'r defnyddwyr newydd sydd wedi ymuno â'r wici.",
        "rightslog": "Lòg galluoedd defnyddiwr",
        "action-upload_by_url": "uwchlwytho'r ffeil o gyfeiriad URL",
        "action-writeapi": "defnyddio'r API i ysgrifennu a thrin y tudalennau",
        "action-delete": "dileu'r dudalen",
-       "action-deleterevision": "dileu'r golygiad",
-       "action-deletedhistory": "gweld hanes dilëedig y dudalen hon",
+       "action-deleterevision": "dileu'r newidiadau",
+       "action-deletelogentry": "dileu cofnodion log",
+       "action-deletedhistory": "gweld hanes dilëedig un ddalen",
+       "action-deletedtext": "Gweld newidiadau testun dalen a ddilewyd",
        "action-browsearchive": "chwilio drwy tudalennau dilëedig",
-       "action-undelete": "dad-ddileu'r dudalen",
+       "action-undelete": "dad-ddileu'r ddalen",
        "action-suppressrevision": "gweld ac adfer y golygiad cudd hwn",
        "action-suppressionlog": "gweld y lòg preifat hwn",
        "action-block": "atal y defnyddiwr hwn rhag golygu",
        "action-userrights-interwiki": "golygu galluoedd y defnyddwyr ar wicïau eraill",
        "action-siteadmin": "cloi neu ddatgloi'r databas",
        "action-sendemail": "anfon e-bost",
+       "action-editmyoptions": "golygwch eich dewisiadau",
        "action-editmywatchlist": "golygu eich rhestr wylio",
        "action-viewmywatchlist": "gweld eich rhestr wylio",
        "action-viewmyprivateinfo": "gweld eich manylion personol preifat",
        "action-editmyprivateinfo": "golygu eich manylion personol preifat",
        "action-editcontentmodel": "golygwch y cynnwys",
+       "action-managechangetags": "crewch a throwch y tagiau'n weithredol",
+       "action-applychangetags": "rhowch y tagiau ar waith, gyda'ch newidiadau",
+       "action-deletechangetags": "dilewch tagiau o'r gronfa ddata",
+       "action-purge": "carthwch y ddalen",
        "nchanges": "$1 {{PLURAL:$1|newid|newid|newid|newid|newid|o newidiadau}}",
        "enhancedrc-since-last-visit": "$1 {{PLURAL:$1|ers eich ymweliad diwethaf}}",
        "enhancedrc-history": "hanes",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (gweler hefyd [[Special:NewPages|restr y tudalennau newydd]])",
        "recentchanges-legend-plusminus": "(''±123'')",
        "recentchanges-submit": "Dangos",
+       "rcfilters-activefilters": "Hidlau sydd ar waith",
+       "rcfilters-restore-default-filters": "Ailosodwch y ffiltrau di-ofyn",
+       "rcfilters-clear-all-filters": "Cliriwch yr holl hidlau (ffiltrau)",
+       "rcfilters-search-placeholder": "Ffiltrwch y newidiadau diweddaraf",
+       "rcfilters-invalid-filter": "Hidl annilys",
+       "rcfilters-empty-filter": "Dim hidlau ar waith",
+       "rcfilters-filterlist-title": "Hidlau (ffiltrau)",
+       "rcfilters-filterlist-feedbacklink": "Rhowch adborth ar yr hidlau beta",
+       "rcfilters-highlightbutton-title": "Amlygwch y canlyniadau",
+       "rcfilters-highlightmenu-title": "Dewisiwch liw",
+       "rcfilters-highlightmenu-help": "Dewisiwch liw sy'n cyd-fynd gyda'r nodwedd hon",
+       "rcfilters-filterlist-noresults": "Dim hidl ar gael",
+       "rcfilters-filtergroup-registration": "Defnyddiwch y gofrestr",
+       "rcfilters-filter-registered-label": "Cofrestr",
+       "rcfilters-filter-registered-description": "Golygyddion sydd wedi mewngofnodi.",
+       "rcfilters-filter-unregistered-label": "Heb gofrestru",
+       "rcfilters-filter-unregistered-description": "Golygyddion nad ydynt wedi cofrestru.",
+       "rcfilters-filter-editsbyself-label": "Eich golygiadau chi",
+       "rcfilters-filter-editsbyself-description": "Golygiadau gennych chi.",
+       "rcfilters-filter-editsbyother-label": "Golygiadau gan eraill",
+       "rcfilters-filter-editsbyother-description": "Golygiadau a grewyd gan eraill (nid gennych chi).",
+       "rcfilters-filtergroup-userExpLevel": "Lefel profiad (defnyddwyr cofrestredig yn unig)",
+       "rcfilters-filter-patrolled-label": "Wedi derbyn patrol",
+       "rcfilters-filter-patrolled-description": "Marciwyd y golygiadau fel rhai sydd wedi derbyn patrol.",
+       "rcfilters-filter-unpatrolled-description": "Ni farciwyd y golygiadau fel rhai sydd wedi derbyn patrol.",
        "rcnotefrom": "Isod rhestrir pob newid er <strong>$3, $4</strong> (ymddengys <strong>$1</strong> ohonynt).",
        "rclistfrom": "Dangos newidiadau newydd, gan ddechrau ers $3 $2",
        "rcshowhideminor": "$1 golygiadau bychain",
        "upload-copy-upload-invalid-domain": "Ni ellir uwchlwytho ffeiliau o'r parth hwn.",
        "upload-dialog-title": "Uwchlwytho ffeil",
        "upload-dialog-button-cancel": "Canslo",
+       "upload-dialog-button-back": "Ewch nôl",
        "upload-dialog-button-done": "Wedi cwbwlhau",
        "upload-dialog-button-save": "Wedi ei gadw",
        "upload-dialog-button-upload": "Uwchlwytho",
        "uploadstash-badtoken": "Ni lwyddodd y weithred. Efallai oherwydd bod eich cymwysterau golygu wedi dod i ben. Ceisiwch eto.",
        "uploadstash-errclear": "Ni lwyddwyd i glirio'r ffeiliau.",
        "uploadstash-refresh": "Adnewyddu rhestr y ffeiliau",
+       "uploadstash-thumbnail": "gweld y ciplun",
        "invalid-chunk-offset": "Atred annilys i'r talpiau",
        "img-auth-accessdenied": "Ni chaniatawyd mynediad",
        "img-auth-nopathinfo": "PATH_INFO yn eisiau.\nNid yw'ch gweinydd wedi ei osod i fedru pasio'r wybodaeth hon.\nEfallai ei fod wedi ei seilio ar CGI, ac heb fod yn gallu cynnal img_auth.\nGweler https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization.",
        "apisandbox-helpurls": "Dolennau cymorth",
        "apisandbox-examples": "Engreifftiau",
        "apisandbox-results": "Canlyniadau",
+       "apisandbox-continue": "Parhau",
+       "apisandbox-continue-clear": "Clirio",
+       "apisandbox-multivalue-all-namespaces": "$1 (Pob ''namespace'')",
+       "apisandbox-multivalue-all-values": "$1 (Pob gwerth)",
        "booksources": "Ffynonellau llyfrau",
        "booksources-search-legend": "Chwilier am lyfrau",
        "booksources-search": "Chwilio",
        "confirm-watch-top": "Ychwaneger y dudalen hon at eich rhestr wylio?",
        "confirm-unwatch-button": "Iawn",
        "confirm-unwatch-top": "Tynner y dudalen hon oddi ar eich rhestr wylio?",
+       "confirm-rollback-top": "Dadwneud golygiadau'r ddalen hon?",
        "quotation-marks": "'$1'",
        "imgmultipageprev": "← i'r dudalen gynt",
        "imgmultipagenext": "i'r dudalen nesaf →",
        "watchlistedit-raw-done": "Diweddarwyd eich rhestr wylio.",
        "watchlistedit-raw-added": "Ychwanegwyd {{PLURAL:$1|1 teitl|$1 teitl|$1 deitl|$1 theitl|$1 theitl|$1 o deitlau}}:",
        "watchlistedit-raw-removed": "Tynnwyd {{PLURAL:$1|1 teitl|$1 teitl|$1 deitl|$1 theitl|$1 theitl|$1 o deitlau}}:",
-       "watchlistedit-clear-title": "Cliriwyd y rhestr wylio",
+       "watchlistedit-clear-title": "Clirio'r rhestr wylio",
        "watchlistedit-clear-legend": "Clirier y rhestr wylio",
        "watchlistedit-clear-explain": "Bydd holl deitlau eich rhestr wylio'n cael eu tynnu oddi yno",
        "watchlistedit-clear-titles": "Teitlau:",
        "watchlisttools-edit": "Gweld a golygu'r rhestr wylio",
        "watchlisttools-raw": "Golygu'r rhestr wylio syml",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|sgwrs]])",
+       "timezone-local": "Lleol",
        "duplicate-defaultsort": "Rhybudd: Mae'r allwedd trefnu diofyn \"$2\" yn gwrthwneud yr allwedd trefnu diofyn blaenorol \"$1\".",
        "duplicate-displaytitle": "<strong>Gofal:</strong> Mae arddangos \"$2\" yn clirio'r arddangosiadau cynharach \"$1\".",
        "invalid-indicator-name": "<strong>Gan bwyll:</strong> Ni ddylid gadael y man nodi statws  <code>name</code> yn wag.",
        "logentry-upload-overwrite": "Mae $1 {{GENDER:$2|wedi uwchlwytho}} fersiwn newydd o $3",
        "logentry-upload-revert": "Mae $1 {{GENDER:$2|wedi uwchlwytho}} $3",
        "rightsnone": "(dim)",
-       "revdelete-summary": "crynodeb golygu",
        "feedback-adding": "Wrthi'n ychwanegu adborth i'r dudalen...",
        "feedback-bugcheck": "Iawn! Gwnewch yn siwr yn gyntaf nag ydy hwn yn un o'r [$1 bygiau hysbys].",
        "feedback-bugnew": "Edrychais ar y bygiau hysbys. Mae byg newydd gennyf i'w adrodd",
index e3291ce..51d8ea3 100644 (file)
        "tog-enotifrevealaddr": "Vis min e-mailadresse i e-mails med besked om ændringer",
        "tog-shownumberswatching": "Vis antal brugere, der overvåger",
        "tog-oldsig": "Din nuværende signatur:",
-       "tog-fancysig": "Behandl signatur som wikitekst uden automatisk henvisning",
+       "tog-fancysig": "Behandl signatur som wikitekst (uden automatisk henvisning)",
        "tog-uselivepreview": "Benyt løbende forhåndsvisning",
-       "tog-forceeditsummary": "Advar mig hvis jeg ikke udfylder beskrivelsesfeltet",
+       "tog-forceeditsummary": "Advar mig, hvis jeg ikke udfylder beskrivelsesfeltet",
        "tog-watchlisthideown": "Skjul egne ændringer i overvågningslisten",
        "tog-watchlisthidebots": "Skjul ændringer fra botter i overvågningslisten",
        "tog-watchlisthideminor": "Skjul mindre ændringer i overvågningslisten",
        "tog-watchlisthideliu": "Skjul indloggede brugeres redigeringer i overvågningslisten",
-       "tog-watchlistreloadautomatically": "Opdater overvågningslisten automatisk, når et filter er ændret (JavaScript påkrævet)",
+       "tog-watchlistreloadautomatically": "Opdater overvågningslisten automatisk, når et filter ændres (kræver JavaScript)",
        "tog-watchlisthideanons": "Skjul anonyme brugeres redigeringer i overvågningslisten",
-       "tog-watchlisthidepatrolled": "Skjul patruljerede ændringer fra overvågningslisten",
+       "tog-watchlisthidepatrolled": "Skjul patruljerede ændringer i overvågningslisten",
        "tog-watchlisthidecategorization": "Skjul kategorisering af sider",
-       "tog-ccmeonemails": "Send mig kopier af e-mails som jeg sender til andre brugere",
+       "tog-ccmeonemails": "Send mig kopier af e-mails jeg sender til andre brugere",
        "tog-diffonly": "Vis ikke sideindhold neden under versionssammenligninger",
        "tog-showhiddencats": "Vis skjulte kategorier",
        "tog-norollbackdiff": "Vis ikke forskel efter udførelse af en tilbagerulning",
        "tog-prefershttps": "Brug altid en sikker forbindelse, når jeg er logget ind",
        "underline-always": "Altid",
        "underline-never": "Aldrig",
-       "underline-default": "Brug browserens indstilling eller standarden for det valgte udseende",
+       "underline-default": "Standard for browseren eller udseendet",
        "editfont-style": "Skriftstil ved redigering:",
        "editfont-default": "Brug browserens indstilling",
        "editfont-monospace": "Fastbreddeskrift",
        "login": "Log på",
        "login-security": "Bekræft din identitet",
        "nav-login-createaccount": "Opret en konto eller log på",
-       "userlogin": "Opret en konto eller log på",
-       "userloginnocreate": "Log på",
        "logout": "Log af",
        "userlogout": "Log af",
        "notloggedin": "Ikke logget på",
        "userlogin-noaccount": "Har du ikke en konto?",
        "userlogin-joinproject": "Slut dig til {{SITENAME}}",
-       "nologin": "Har du ingen konto? $1.",
-       "nologinlink": "Opret en ny brugerkonto",
        "createaccount": "Opret en ny brugerkonto",
-       "gotaccount": "Har du allerede en konto? $1.",
-       "gotaccountlink": "Log på",
-       "userlogin-resetlink": "Har du glemt dine login oplysninger?",
        "userlogin-resetpassword-link": "Glemt din adgangskode?",
        "userlogin-helplink2": "Hjælp med at logge på",
        "userlogin-loggedin": "Du er allerede logget på som {{GENDER:$1|$1}}.\nBrug formularen nedenfor til at logge på som en anden bruger.",
        "createaccountmail": "Brug en midlertidig tilfældig adgangskode og send den til den angivne e-mailadresse",
        "createaccountmail-help": "Kan bruges til at oprette konto til en anden person uden at lære deres adgangskode.",
        "createacct-realname": "Dit rigtige navn (valgfrit)",
-       "createaccountreason": "Begrundelse:",
        "createacct-reason": "Årsag",
        "createacct-reason-ph": "Hvorfor du vil oprette endnu en konto",
        "createacct-reason-help": "Besked vist i kontooprettelsesloggen.",
        "createacct-another-realname-tip": "Angivelse af rigtigt navn er valgfrit.\nHvis du vælger at oplyse dit navn, vil det blive brugt til at tilskrive dig dit arbejde.",
        "pt-login": "Log på",
        "pt-login-button": "Log på",
+       "pt-login-continue-button": "Fortsæt login",
        "pt-createaccount": "Opret konto",
        "pt-userlogout": "Log af",
        "php-mail-error-unknown": "Ukendt fejl i PHP funktionen mail()",
        "rcfilters-activefilters": "Aktive filtre",
        "rcfilters-invalid-filter": "Ugyldigt filter",
        "rcfilters-filterlist-title": "Filtre",
-       "rcfilters-filter-userExpLevel-experienced-label": "Erfarne brugere",
+       "rcfilters-filter-user-experience-level-experienced-label": "Erfarne brugere",
        "rcnotefrom": "Nedenfor er op til '''$1''' {{PLURAL:$5|ændring|ændringer}} siden '''$2''' vist.",
        "rclistfrom": "Vis nye ændringer startende fra den $3 kl. $2",
        "rcshowhideminor": "$1 mindre ændringer",
        "logentry-upload-overwrite": "$1 {{GENDER:$2|lagde}} en ny udgave af $3 op",
        "logentry-upload-revert": "$1 {{GENDER:$2|lagde}} $3 op",
        "rightsnone": "(-)",
-       "revdelete-summary": "redigeringsbeskrivelse",
        "rightslogentry-temporary-group": "$1 (midlertidig, indtil $2)",
        "feedback-adding": "Tilføjer kommentar til side...",
        "feedback-back": "Tilbage",
index 76f0eea..2cb90bb 100644 (file)
        "login": "Anmelden",
        "login-security": "Verifiziere deine Identität",
        "nav-login-createaccount": "Anmelden / Benutzerkonto erstellen",
-       "userlogin": "Anmelden / Benutzerkonto anlegen",
-       "userloginnocreate": "Anmelden",
        "logout": "Abmelden",
        "userlogout": "Abmelden",
        "notloggedin": "Nicht angemeldet",
        "userlogin-noaccount": "Du hast noch kein Benutzerkonto?",
        "userlogin-joinproject": "Bei {{SITENAME}} anmelden",
-       "nologin": "Du hast kein Benutzerkonto? $1.",
-       "nologinlink": "Neues Benutzerkonto anlegen",
        "createaccount": "Benutzerkonto anlegen",
-       "gotaccount": "Du hast bereits ein Benutzerkonto? $1.",
-       "gotaccountlink": "Anmelden",
-       "userlogin-resetlink": "Die Anmeldedaten vergessen?",
        "userlogin-resetpassword-link": "Passwort vergessen?",
        "userlogin-helplink2": "Hilfe beim Anmelden",
        "userlogin-loggedin": "Du bist bereits als {{GENDER:$1|$1}} angemeldet.\nBenutze das unten stehende Formular, um dich unter einem anderen Benutzernamen anzumelden.",
        "createaccountmail": "Ein temporäres Zufallspasswort verwenden und an die angegebene E-Mail-Adresse versenden",
        "createaccountmail-help": "Kann verwendet werden, um für eine andere Person ein Benutzerkonto zu erstellen, ohne das Passwort zu erfahren.",
        "createacct-realname": "Bürgerlicher Name (optional)",
-       "createaccountreason": "Grund:",
        "createacct-reason": "Begründung",
        "createacct-reason-ph": "Warum erstellst du ein anderes Benutzerkonto?",
        "createacct-reason-help": "Im Neuanmeldungs-Logbuch angezeigte Nachricht",
        "page_first": "Anfang",
        "page_last": "Ende",
        "histlegend": "Zur Anzeige der Änderungen einfach die zu vergleichenden Versionen auswählen und die Schaltfläche „{{int:compareselectedversions}}“ klicken.<br />\n* ({{int:cur}}) = Unterschied zur aktuellen Version, ({{int:last}}) = Unterschied zur vorherigen Version\n* Uhrzeit/Datum = Version zu dieser Zeit, Benutzername/IP-Adresse des Bearbeiters, {{int:minoreditletter}} = Kleine Änderung",
-       "history-fieldset-title": "In der Versionsgeschichte suchen",
+       "history-fieldset-title": "Nach Versionen suchen",
        "history-show-deleted": "Nur gelöschte Versionen zeigen",
        "histfirst": "älteste",
        "histlast": "neueste",
        "prefs-help-prefershttps": "Diese Einstellung wird bei deiner nächsten Anmeldung wirksam.",
        "prefswarning-warning": "Du hast Änderungen an deinen Einstellungen durchgeführt, die noch nicht gespeichert wurden.\nWenn du diese Seite verlässt ohne auf „$1“ zu klicken, werden deine Einstellungen nicht aktualisiert.",
        "prefs-tabs-navigation-hint": "Tipp: Du kannst die linke und rechte Pfeiltasten benutzen, um zwischen den Registerkarten in der Reiterliste zu navigieren.",
-       "userrights": "Benutzerrechte verwalten",
+       "userrights": "Benutzerrechte",
        "userrights-lookup-user": "Einen Benutzer auswählen",
        "userrights-user-editname": "Benutzername:",
        "editusergroup": "Benutzergruppen laden",
        "rcfilters-invalid-filter": "Ungültiger Filter",
        "rcfilters-empty-filter": "Keine aktiven Filter. Es werden alle Beiträge angezeigt.",
        "rcfilters-filterlist-title": "Filter",
+       "rcfilters-filterlist-whatsthis": "Was ist das?",
        "rcfilters-filterlist-feedbacklink": "Rückmeldung zu den neuen (Beta-)Filtern hinterlassen",
        "rcfilters-highlightbutton-title": "Ergebnisse hervorheben",
        "rcfilters-highlightmenu-title": "Eine Farbe auswählen",
        "rcfilters-highlightmenu-help": "Eine Farbe auswählen, um diese Eigenschaft hervorzuheben.",
        "rcfilters-filterlist-noresults": "Keine Filter gefunden",
+       "rcfilters-noresults-conflict": "Keine Ergebnisse gefunden, da sich die Suchkriterien in Konflikt befinden.",
+       "rcfilters-state-message-subset": "Dieser Filter hat keinen Effekt, da seine Ergebnisse mit denen {{PLURAL:$2|des folgenden breiteren Filters|der folgenden breiteren Filter}} einbezogen sind (versuche die Hervorhebung, um sie zu unterscheiden): $1",
+       "rcfilters-state-message-fullcoverage": "Das Auswählen aller Filter in einer Gruppe ist das Gleiche wie das Auswählen keines Filters. Deshalb hat dieser Filter keinen Effekt. Die Gruppe enthält: $1",
        "rcfilters-filtergroup-registration": "Benutzerregistrierung",
        "rcfilters-filter-registered-label": "Angemeldet",
        "rcfilters-filter-registered-description": "Angemeldete Autoren.",
        "rcfilters-filter-unregistered-label": "Unangemeldet",
        "rcfilters-filter-unregistered-description": "Autoren, die nicht angemeldet sind.",
+       "rcfilters-filter-unregistered-conflicts-user-experience-level": "Dieser Filter befindet sich in Konflikt mit {{PLURAL:$2|dem folgenden Erfahrungsfilter, der nur angemeldete Benutzer finden kann|den folgenden Erfahrungsfiltern, die nur angemeldete Benutzer finden können}}: $1",
        "rcfilters-filtergroup-authorship": "Bearbeitungs-Autorenschaft",
        "rcfilters-filter-editsbyself-label": "Deine eigenen Bearbeitungen",
        "rcfilters-filter-editsbyself-description": "Bearbeitungen von dir.",
        "rcfilters-filter-editsbyother-label": "Bearbeitungen von anderen",
        "rcfilters-filter-editsbyother-description": "Bearbeitungen von anderen Benutzern (nicht von dir).",
        "rcfilters-filtergroup-userExpLevel": "Erfahrungsniveau (nur für angemeldete Benutzer)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "Neulinge",
-       "rcfilters-filter-userExpLevel-newcomer-description": "Weniger als 10 Bearbeitungen und eine Aktivität von weniger als 4 Tagen.",
-       "rcfilters-filter-userExpLevel-learner-label": "Anfänger",
-       "rcfilters-filter-userExpLevel-learner-description": "Eine Aktivität von mehreren Tagen und mehr Bearbeitungen als „Neulinge“, aber weniger als „Erfahrene Benutzer“.",
-       "rcfilters-filter-userExpLevel-experienced-label": "Erfahrene Benutzer",
-       "rcfilters-filter-userExpLevel-experienced-description": "Eine Aktivität von mehr als 30 Tagen und mehr als 500 Bearbeitungen.",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered": "Erfahrungsfilter finden nur angemeldete Benutzer. Deshalb befindet sich dieser Filter in Konflikt mit dem Filter „Unangemeldet“.",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered-global": "Der Filter „Unangemeldet“ befindet sich in Konflikt mit einem oder mehreren Erfahrungsfiltern, die nur angemeldete Benutzer finden können. Die kollidierenden Filter sind oben im Bereich der aktiven Filter markiert.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Neulinge",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Weniger als 10 Bearbeitungen und eine Aktivität von weniger als 4 Tagen.",
+       "rcfilters-filter-user-experience-level-learner-label": "Anfänger",
+       "rcfilters-filter-user-experience-level-learner-description": "Eine Aktivität von mehreren Tagen und mehr Bearbeitungen als „Neulinge“, aber weniger als „Erfahrene Benutzer“.",
+       "rcfilters-filter-user-experience-level-experienced-label": "Erfahrene Benutzer",
+       "rcfilters-filter-user-experience-level-experienced-description": "Eine Aktivität von mehr als 30 Tagen und mehr als 500 Bearbeitungen.",
        "rcfilters-filtergroup-automated": "Automatisierte Beiträge",
        "rcfilters-filter-bots-label": "Bot",
        "rcfilters-filter-bots-description": "Bearbeitungen, die von automatisierten Werkzeugen durchgeführt wurden.",
        "rcfilters-filter-humans-label": "Mensch (kein Bot)",
        "rcfilters-filter-humans-description": "Bearbeitungen, die von menschlichen Autoren durchgeführt wurden.",
+       "rcfilters-filtergroup-reviewstatus": "Überprüfungsstatus",
+       "rcfilters-filter-patrolled-label": "Kontrolliert",
+       "rcfilters-filter-patrolled-description": "Bearbeitungen, die als kontrolliert markiert sind.",
+       "rcfilters-filter-unpatrolled-label": "Unkontrolliert",
+       "rcfilters-filter-unpatrolled-description": "Bearbeitungen, die nicht als kontrolliert markiert sind.",
        "rcfilters-filtergroup-significance": "Bedeutung",
        "rcfilters-filter-minor-label": "Kleine Änderungen",
        "rcfilters-filter-minor-description": "Bearbeitungen, die der Autor als geringfügig markiert hat.",
        "rcfilters-filter-categorization-description": "Einträge von Seiten, die zu Kategorien hinzugefügt oder aus ihnen entfernt wurden.",
        "rcfilters-filter-logactions-label": "Protokollierte Aktionen",
        "rcfilters-filter-logactions-description": "Administrative Aktionen, Benutzerkontenerstellungen, Seitenlöschungen, hochgeladene Dateien …",
+       "rcfilters-hideminor-conflicts-typeofchange-global": "Der Filter „Kleine Bearbeitungen“ kollidiert mit einem oder mehreren Änderungstypfiltern, da bestimmte Änderungstypen nicht als „klein“ festgelegt werden können. Die kollidierenden Filter sind oben im Bereich der aktiven Filter markiert.",
+       "rcfilters-hideminor-conflicts-typeofchange": "Bestimmte Änderungstypen können nicht als „klein“ festgelegt werden, so dass dieser Filter mit den folgenden Änderungstypfiltern kollidiert: $1",
+       "rcfilters-typeofchange-conflicts-hideminor": "Dieser Änderungstypfilter kollidiert mit dem Filter „Kleine Bearbeitungen“. Bestimmte Änderungstypen können nicht als „klein“ festgelegt werden.",
        "rcnotefrom": "Angezeigt {{PLURAL:$5|wird die Änderung|werden die Änderungen}} seit <strong>$3, $4</strong> (max. <strong>$1</strong> Einträge).",
        "rclistfrom": "Nur Änderungen seit $3, $2 Uhr zeigen.",
        "rcshowhideminor": "Kleine Änderungen $1",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|aktualisierte}} Markierungen der Version $4 der Seite $3 ($6 {{PLURAL:$7|hinzugefügt}}; $8 {{PLURAL:$9|entfernt}})",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|aktualisierte}} Markierungen des Logbucheintrags $5 der Seite $3 ($6 {{PLURAL:$7|hinzugefügt}}; $8 {{PLURAL:$9|entfernt}})",
        "rightsnone": "(–)",
-       "revdelete-summary": "Zusammenfassungskommentar",
        "rightslogentry-temporary-group": "$1 (temporär, bis $2)",
        "feedback-adding": "Rückmeldung wird zur Seite hinzugefügt …",
        "feedback-back": "Zurück",
index d8918e4..fa5b0c1 100644 (file)
        "viewsource-title": "Cı geyrayışê $1'i bıvin",
        "actionthrottled": "Kerden peysnaya",
        "actionthrottledtext": "Riyê tedbirê anti-spami ra,  wextê do kılmek de şıma nê fealiyeti nêşkenê zaf zêde bıkerê, şıma ki no hedi viyarna ra.\nÇend deqey ra tepeya reyna bıcerrebnên.",
-       "protectedpagetext": "Na per qey nêvuriyayiş ho pawyeno ya zi kerdışe bini.",
-       "viewsourcetext": "To şikinay çımey na pele bıvêne u kopya kerê:{{MediaWiki Wesiqe malumat}}",
+       "protectedpagetext": "Ena perre vırnayış u kerdışanê binan rê şevekniyaya.",
+       "viewsourcetext": "Şıma şenê çımey ena perre bıvênê u kopya kerê {{MediaWiki Wesiqe malumat}}",
        "viewyourtext": "Na pela '''Vurnayışê ke kerdê''' re şıma şenê kopya kerê:",
        "protectedinterface": "Na pela qandê nusnerin destegê verri dana u kes xırabin nêqero deye kerda kılit.",
        "editinginterface": "'''İqaz:''' Şıma yew perra ke softwarei rê nuştey miyan-bestoği dana cı, aye vırnenê.\nVırnayışê ena perre do eno wiki sero asayışê miyan-bestoğê karberanê binan de bıaso.\n\nTadayışi (çarnayışi) rê , yardımê [https://translatewiki.net/wiki/Main_Page?setlang=diq translatewiki.net]i ra haydarê procêdoşkerdışi de vınderê.",
        "welcomecreation-msg": "Hesabê şıma abiyo.\n[[Special:Preferences|{{SITENAME}} vurnayişê tercihanê xo]], xo vir ra mekere.",
        "yourname": "Namey karberi:",
        "userlogin-yourname": "Namey karberi",
-       "userlogin-yourname-ph": "Namey xoyê karberi cı kewe",
+       "userlogin-yourname-ph": "Namey xoyê karberi cı kewê",
        "createacct-another-username-ph": "Nameyê karberi cı kewe",
        "yourpassword": "Parola",
        "userlogin-yourpassword": "Parola",
-       "userlogin-yourpassword-ph": "Parolay xo cı kewe",
+       "userlogin-yourpassword-ph": "Parolay xo cı kewê",
        "createacct-yourpassword-ph": "Parola cıkewe",
        "yourpasswordagain": "Parola reyna bınusne:",
        "createacct-yourpasswordagain": "Parola tesdiq ke",
        "login": "Cı kewe",
        "login-security": "Kamiya xo araşt kerê",
        "nav-login-createaccount": "Dekew de / hesab vıraze",
-       "userlogin": "Cıkewtış / hesab vıraze",
-       "userloginnocreate": "Dekewtış",
        "logout": "Bıveciye",
        "userlogout": "Bıveciye",
        "notloggedin": "Şıma cıkewtış nêvıraşto",
        "userlogin-noaccount": "Hesabê şıma çıniyo?",
        "userlogin-joinproject": "Cıkewe {{SITENAME}}",
-       "nologin": "Hesabê şıma çıniyo? '''$1'''.",
-       "nologinlink": "Yew hesab ake",
        "createaccount": "Hesab vıraze",
-       "gotaccount": "Hesabê şıma esto? '''$1'''.",
-       "gotaccountlink": "Cıkewtış",
-       "userlogin-resetlink": "Melumatê cıkewtışi xo vira kerdê?",
        "userlogin-resetpassword-link": "Parola xo kerda xo vira?",
        "userlogin-helplink2": "Heqa qeydbiyayışi de peşti bıgêrên",
        "userlogin-loggedin": "Tı xora namey {{GENDER:$1|$1}} ra kewtê/kewtay cı.\nFormê cêrêni bıgureyne ke namey karberio bin ra cı kewê.",
        "createacct-another-email-ph": "Adresa e-posta de fi",
        "createaccountmail": "Yew parolaya rastameyiya ravêrdiye bıgurene û parola ena adresa e-postey rê bırışe",
        "createacct-realname": "Nameyo raştıkên (mecburi niyo)",
-       "createaccountreason": "Sebeb:",
        "createacct-reason": "Sebeb",
        "createacct-reason-ph": "Şımaye çı xo re zewbi hesab vırazeni?",
        "createacct-submit": "Hesabê xo vıraze",
        "minoredit": "No yew vırnayışo werdiyo",
        "watchthis": "Şıma bewnê ena perre",
        "savearticle": "Perre qeyd ke",
-       "savechanges": "Vırnayışan qeyd ke",
+       "savechanges": "Vırnayışan qeyd ke",
        "publishpage": "Perer bıhesırne",
        "publishchanges": "Vurnayışa vıla ke",
        "preview": "Verqayt",
        "sectioneditnotsupported-text": "Destekê vurnayışiê qısımi ena pela vurnayışi de çıniyo.",
        "permissionserrors": "İdari xeta",
        "permissionserrorstext": "Qey {{PLURAL:$1|sebeb|sebebê}} cêrini ra icazetê şıma çıniyo:",
-       "permissionserrorstext-withaction": "{{PLURAL:$1|Sebeba|Sebeb da}} cêri ra icazetê $2 çıniyo:",
+       "permissionserrorstext-withaction": "{{PLURAL:$1|Sebebê|Sebebê}} cêri ra icazetê $2y çıniyo:",
        "recreate-moveddeleted-warn": "'''Hişyari: no pel o ke şıma vırazeni vere cû vırazyayo.'''\n\nDiqet bıkeri no vurnayişê şıma re gerek esto:",
        "moveddeleted-notice": "Ena pela esteriya ya.\nQeydé  esternayışi u wedarnayışi cér dé deya yo.",
        "log-fulllog": "Temamê rocaneyi bıvine",
        "rev-deleted-text-permission": "Çımraviyarnayışê ena pele '''esteriyo'''.\nBeno ke [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log] de teferruat esto.",
        "rev-suppressed-text-permission": "Çımraviyarnayışê ena pele '''degusneyayo'''.\nŞıma be idarekerina xo ra şenê ey bıvênê; beno ke [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} degusnayış] de teferruat esto.",
        "rev-deleted-text-unhide": "Çım ra viyarnayışê enê riperri <strong>esteriya</strong>.\nTeferruati [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} qeydê esterıtışi] yenê diyene.\nŞıma hewna şenê [$1 nê vırnayışi bıvênê], eke wazenê dewam kerê.",
-       "rev-suppressed-text-unhide": "Çımra viyarnayışê ena pele '''Degusneyayo'''.\nBeno ke [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} degustış] de teferruat esto.\nŞıma be idarekerina xo ra şenê hewna [$1 nê çımraviyarnayışi bıvênê], eke wazenê dewam kerê.",
+       "rev-suppressed-text-unhide": "Çım ra viyarnayışê ena perre <strong>dewesnaeyê</strong>.\nEtıya [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} dewesnayış] de teferruat esto.\nŞıma pê idarekerina xo hewna şenê [$1 nê çım ra viyarnayışi bıvênê], eke wazenê dewam kerê.",
        "rev-deleted-text-view": "Çım ra viyarnayışê enê riperri '''vındarnao'''.\nŞıma şenê bıvênê; teferruat nao naca [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} besternayış].",
        "rev-suppressed-text-view": "Çımraviyarnayışê ena pele '''degusneyayo'''.\nŞıma be idarekerina xo ra şenê ey bıvênê; beno ke [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} degusnayış] de teferruat esto.",
        "rev-deleted-no-diff": "Şıma nêşenê nê ferqi bıvênê, çıke çımraviyarnayışan ra  yew '''esteriyo'''.\nBeno ke [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log] de teferruat esto.",
        "rev-suppressed-no-diff": "Revizyon '''esteriyayo\"' aye ra ti nieşkeno ena diff bivine.",
-       "rev-deleted-unhide-diff": "Çımra viyarnayışanê na ferqi ra  yew '''besterneyayo'''.\nBeno ke [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} besternayış] dı teferruat esto.\nŞıma be idarekerina xo ra şenê hewna [$1 nê ferqi bıvênê], eke wazenê dewam kerê.",
+       "rev-deleted-unhide-diff": "Çım ra viyarnayışanê nê ferqi ra  yew '''esterdeo'''.\nEtıya [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} esterey] de teferruat esto.\nŞıma pê idarekerina xo hewna şenê [$1 nê ferqi bıvênê], eke wazenê dewam kerê.",
        "rev-suppressed-unhide-diff": "Nê Timarkerdışi ra yewi '''çap biyo'''.\n[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} rocaneyê vındertışi] de teferru'ati esti.\nEke şıma serkari u devam bıkeri [$1 no vurnayiş şıma eşkeni bıvini].",
        "rev-deleted-diff-view": "Jew timarkerdışê ena versiyon '''wedariyayo''.\nÎdarekarî şenê ena versiyon bivîne; belki tiya de [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} wedarnayişî] de teferruat esto.",
        "rev-suppressed-diff-view": "Jew timarkerdışê ena versiyon '''Ploxneyış'' biyo.\nÎdarekarî eşkeno ena dif bivîne; belki tiya de [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} ploxnayış] de teferruat esto.",
        "wantedtemplates": "Şablonê ke waziyenê",
        "mostlinked": "Pelî ke tewr zafî lînk bîy.",
        "mostlinkedcategories": "Kategoriyê ke tewr zehf meqaley tede estê",
-       "mostlinkedtemplates": "Pelê ke zêdêr gureniyenê",
+       "mostlinkedtemplates": "Perrê ke vêşêr gırweniyenê",
        "mostcategories": "Pelan ke tewr zaf kategorî estê.",
        "mostimages": "Dosyayan ke tewr zaf link estê.",
        "mostinterwikis": "Pelan ke tewr zaf interwiki biyê.",
        "cant-move-user-page": "desturê şıma çino, şıma pelanê karberani bıkırışi (bê pelê cerıni).",
        "cant-move-to-user-page": "desturê şıma çino, şıma yew peli bıkırışi pelê yew karberi.",
        "newtitle": "Sernameyo newe:",
-       "move-watch": "Pela çıme u meqsedi seyr ke",
+       "move-watch": "Perra çımey u kırıştışi pıro bıdê",
        "movepagebtn": "Pele bere",
        "pagemovedsub": "Berdışi kerd temam",
        "movepage-moved": "'''\"$1\" berd \"$2\"'''",
        "tooltip-search": "{{SITENAME}} de cı geyre",
        "tooltip-search-go": "Ebe nê namey tami şo yew pela ke esta",
        "tooltip-search-fulltext": "Pelan miyan de nê metıni cı geyre",
-       "tooltip-p-logo": "Şo pela seri",
-       "tooltip-n-mainpage": "Şo pela seri",
-       "tooltip-n-mainpage-description": "Şo pela seri",
+       "tooltip-p-logo": "Şo perra seri",
+       "tooltip-n-mainpage": "Şo perra seri",
+       "tooltip-n-mainpage-description": "Şo perra seri",
        "tooltip-n-portal": "Heqa procey de, kes çı şeno bıkero, çı kamca vêniyeno",
        "tooltip-n-currentevents": "Vurnayışanê peyênan de melumatê pey bıvêne",
        "tooltip-n-recentchanges": "Wiki dı yew lista vurnayışanê peyênan",
        "log-name-managetags": "Qeydê idareyê etiketi",
        "log-name-tag": "Qeydê etiketi",
        "rightsnone": "(çıniyo)",
-       "revdelete-summary": "kılmvatışê vuriyayişi",
        "feedback-adding": "Pela rê peyxeberdar defêno...",
        "feedback-bugcheck": "Harika! Sadece [xırabina ke $1 ] çınyayışê cı kontrol keno.",
        "feedback-bugnew": "Mı kontrol kı. Xetay newi xeber kı.",
index 70705e5..219c204 100644 (file)
        "login": "Είσοδος",
        "login-security": "Επαληθεύστε την ταυτότητά σας",
        "nav-login-createaccount": "Είσοδος / δημιουργία λογαριασμού",
-       "userlogin": "Είσοδος / δημιουργία λογαριασμού",
-       "userloginnocreate": "Είσοδος",
        "logout": "Έξοδος",
        "userlogout": "Έξοδος",
        "notloggedin": "Δεν έχετε συνδεθεί",
        "userlogin-noaccount": "Δεν έχετε λογαριασμό;",
        "userlogin-joinproject": "Συνδεθείτε σε {{SITENAME}}",
-       "nologin": "Δεν έχετε λογαριασμό; $1.",
-       "nologinlink": "Δημιουργήστε έναν λογαριασμό",
        "createaccount": "Δημιουργία λογαριασμού",
-       "gotaccount": "Έχετε ήδη λογαριασμό; $1.",
-       "gotaccountlink": "Είσοδος",
-       "userlogin-resetlink": "Ξεχάσατε τα στοιχεία εισόδου σας;",
        "userlogin-resetpassword-link": "Ξεχάσατε τον κωδικό πρόσβασης;",
        "userlogin-helplink2": "Βοήθεια για τη σύνδεση",
        "userlogin-loggedin": "Είστε ήδη {{GENDER:$1|συνδεδεμένος|συνδεδεμένη}} ως $1.\nΧρησιμοποιήστε την παρακάτω φόρμα για να συνδεθείτε ως άλλος χρήστης.",
        "createaccountmail": "Χρήση τυχαίου προσωρινού κωδικού πρόσβασης και αποστολή του στην καθοριζόμενη διεύθυνση ηλεκτρονικού ταχυδρομείου",
        "createaccountmail-help": "Μπορεί να χρησιμοποιηθεί για την δημιουργία λογαριασμού τρίτων χωρίς την γνωστοποίηση των κωδικών πρόσβασής τους.",
        "createacct-realname": "Πραγματικό όνομα (προαιρετικό)",
-       "createaccountreason": "Αιτία:",
        "createacct-reason": "Λόγος",
        "createacct-reason-ph": "Γιατί δημιουργείτε έναν άλλο λογαριασμό",
        "createacct-reason-help": "Εμφανιζόμενο μήνυμα στο μητρώο δημιουργίας λογαριασμών",
        "logentry-tag-update-revision": "{{GENDER:$2|Ο|Η}} $1 ενημέρωσε ετικέτες στην αναθεώρηση $4 της σελίδας $3 (πρόσθεσε {{PLURAL:$7|την|τις}} $6• αφαίρεσε {{PLURAL:$9|την|τις}} $8)",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|ενημερώθηκαν}} ετικέτες για την καταχώριση αρχείου καταγραφής $5  της σελίδας $3 ({{PLURAL:$7|προστέθηκαν}} $6; {{PLURAL:$9|αφαιρέθηκαν}} $8)",
        "rightsnone": "(κανένα)",
-       "revdelete-summary": "επεξεργασία σύνοψης",
        "feedback-adding": "Προσθήκη σχολίων στην σελίδα...",
        "feedback-back": "Πίσω",
        "feedback-bugcheck": "Ωραία! Ελέγξτε μόνο ότι δεν είναι ήδη ένα από τα [$1 γνωστά σφάλματα].",
index bf06e49..23bfebe 100644 (file)
@@ -29,7 +29,8 @@
                        "Aefgh39622",
                        "Anomie",
                        "Dr. Shikha Jaggi",
-                       "Xð"
+                       "Xð",
+                       "Matma Rex"
                ]
        },
        "tog-underline": "Link underlining:",
        "and": "&#32;and",
        "qbfind": "Find",
        "qbbrowse": "Browse",
-       "qbedit": "संपादित करें",
-       "qbpageoptions": "यह पन्ना",
-       "qbmyoptions": "मेरे पृष्ठों",
+       "qbedit": "Edit",
+       "qbpageoptions": "This page",
+       "qbmyoptions": "My pages",
        "faq": "FAQ",
        "faqpage": "Project:FAQ",
        "actions": "Actions",
index b7078dd..0c8bf21 100644 (file)
        "login-security": "Verify your identity",
        "nav-login-createaccount": "Log in / create account",
        "loginprompt": "",
-       "userlogin": "Log in / create account",
-       "userloginnocreate": "Log in",
        "logout": "Log out",
        "userlogout": "Log out",
        "userlogout-summary": "",
        "notloggedin": "Not logged in",
        "userlogin-noaccount": "Don't have an account?",
        "userlogin-joinproject": "Join {{SITENAME}}",
-       "nologin": "Don't have an account? $1.",
-       "nologinlink": "Create an account",
        "createaccount": "Create account",
-       "gotaccount": "Already have an account? $1.",
-       "gotaccountlink": "Log in",
-       "userlogin-resetlink": "Forgotten your login details?",
        "userlogin-resetpassword-link": "Forgot your password?",
        "helplogin-url": "https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Logging_in",
        "userlogin-helplink2": "Help with logging in",
        "createaccountmail": "Use a temporary random password and send it to the specified email address",
        "createaccountmail-help": "Can be used to create account for another person without learning the password.",
        "createacct-realname": "Real name (optional)",
-       "createaccountreason": "Reason:",
        "createacct-reason": "Reason",
        "createacct-reason-ph": "Why you are creating another account",
        "createacct-reason-help": "Message shown in the account creation log",
        "post-expand-template-argument-warning": "<strong>Warning:</strong> This page contains at least one template argument that has a too large expansion size.\nThese arguments have been omitted.",
        "post-expand-template-argument-category": "Pages containing omitted template arguments",
        "parser-template-loop-warning": "Template loop detected: [[$1]]",
+       "template-loop-category": "Pages with template loops",
+       "template-loop-category-desc": "The page contains a template loop, ie. a template which calls itself recursively.",
        "parser-template-recursion-depth-warning": "Template recursion depth limit exceeded ($1)",
        "language-converter-depth-warning": "Language converter depth limit exceeded ($1)",
        "node-count-exceeded-category": "Pages where node count is exceeded",
        "page_first": "first",
        "page_last": "last",
        "histlegend": "Diff selection: Mark the radio boxes of the revisions to compare and hit enter or the button at the bottom.<br />\nLegend: <strong>({{int:cur}})</strong> = difference with latest revision, <strong>({{int:last}})</strong> = difference with preceding revision, <strong>{{int:minoreditletter}}</strong> = minor edit.",
-       "history-fieldset-title": "Browse history",
-       "history-show-deleted": "Deleted only",
+       "history-fieldset-title": "Search for revisions",
+       "history-show-deleted": "Revision deleted only",
        "history_copyright": "-",
        "histfirst": "oldest",
        "histlast": "newest",
        "prefs-help-prefershttps": "This preference will take effect on your next login.",
        "prefswarning-warning": "You've made changes to your preferences that have not been saved yet.\nIf you leave this page without clicking \"$1\" your preferences will not be updated.",
        "prefs-tabs-navigation-hint": "Tip: You can use the left and right arrow keys to navigate between the tabs in the tabs list.",
-       "userrights": "User rights management",
+       "userrights": "User rights",
        "userrights-summary": "",
        "userrights-lookup-user": "Select a user",
        "userrights-user-editname": "Enter a username:",
        "recentchanges-legend": "Recent changes options",
        "recentchanges-summary": "Track the most recent changes to the wiki on this page.",
        "recentchangestext": "-",
-       "recentchanges-noresult": "No changes during the given period matching these criteria.",
+       "recentchanges-noresult": "No changes during the given period match these criteria.",
        "recentchanges-feed-description": "Track the most recent changes to the wiki in this feed.",
        "recentchanges-label-newpage": "This edit created a new page",
        "recentchanges-label-minor": "This is a minor edit",
        "rcfilters-invalid-filter": "Invalid filter",
        "rcfilters-empty-filter": "No active filters. All contributions are shown.",
        "rcfilters-filterlist-title": "Filters",
+       "rcfilters-filterlist-whatsthis": "What's this?",
        "rcfilters-filterlist-feedbacklink": "Provide feedback on the new (beta) filters",
        "rcfilters-highlightbutton-title": "Highlight results",
        "rcfilters-highlightmenu-title": "Select a color",
        "rcfilters-highlightmenu-help": "Select a color to highlight this property",
        "rcfilters-filterlist-noresults": "No filters found",
+       "rcfilters-noresults-conflict": "No results found because the search criteria are in conflict",
+       "rcfilters-state-message-subset": "This filter has no effect because its results are included with those of the following, broader {{PLURAL:$2|filter|filters}} (try highlighting to distinguish it): $1",
+       "rcfilters-state-message-fullcoverage": "Selecting all filters in a group is the same as selecting none, so this filter has no effect. Group includes: $1",
        "rcfilters-filtergroup-registration": "User registration",
        "rcfilters-filter-registered-label": "Registered",
        "rcfilters-filter-registered-description": "Logged-in editors.",
        "rcfilters-filter-unregistered-label": "Unregistered",
-       "rcfilters-filter-unregistered-description": " Editors who aren’t logged in.",
+       "rcfilters-filter-unregistered-description": "Editors who aren’t logged in.",
+       "rcfilters-filter-unregistered-conflicts-user-experience-level": "This filter conflicts with the following Experience {{PLURAL:$2|filter|filters}}, which {{PLURAL:$2|finds|find}} only registered users: $1",
        "rcfilters-filtergroup-authorship": "Edit authorship",
        "rcfilters-filter-editsbyself-label": "Your own edits",
        "rcfilters-filter-editsbyself-description": "Edits by you.",
        "rcfilters-filter-editsbyother-label": "Edits by others",
        "rcfilters-filter-editsbyother-description": "Edits created by other users (not you).",
        "rcfilters-filtergroup-userExpLevel": "Experience level (for registered users only)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "Newcomers",
-       "rcfilters-filter-userExpLevel-newcomer-description": "Fewer than 10 edits and 4 days of activity.",
-       "rcfilters-filter-userExpLevel-learner-label": "Learners",
-       "rcfilters-filter-userExpLevel-learner-description": "More days of activity and edits than \"Newcomers\" but fewer than \"Experienced users\".",
-       "rcfilters-filter-userExpLevel-experienced-label": "Experienced users",
-       "rcfilters-filter-userExpLevel-experienced-description": "More than 30 days of activity and 500 edits.",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered": "Experience filters find only registered users, so this filter conflicts with the “Unregistered” filter.",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered-global": "The \"Unregistered\" filter conflicts with one or more Experience filters, which find registered users only. The conflicting filters are marked in the Active Filters area, above.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Newcomers",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Fewer than 10 edits and 4 days of activity.",
+       "rcfilters-filter-user-experience-level-learner-label": "Learners",
+       "rcfilters-filter-user-experience-level-learner-description": "More days of activity and edits than \"Newcomers\" but fewer than \"Experienced users\".",
+       "rcfilters-filter-user-experience-level-experienced-label": "Experienced users",
+       "rcfilters-filter-user-experience-level-experienced-description": "More than 30 days of activity and 500 edits.",
        "rcfilters-filtergroup-automated": "Automated contributions",
        "rcfilters-filter-bots-label": "Bot",
        "rcfilters-filter-bots-description": "Edits made by automated tools.",
        "rcfilters-filter-humans-label": "Human (not bot)",
        "rcfilters-filter-humans-description": "Edits made by human editors.",
+       "rcfilters-filtergroup-reviewstatus": "Review status",
+       "rcfilters-filter-patrolled-label": "Patrolled",
+       "rcfilters-filter-patrolled-description": "Edits marked as patrolled.",
+       "rcfilters-filter-unpatrolled-label": "Unpatrolled",
+       "rcfilters-filter-unpatrolled-description": "Edits not marked as patrolled.",
        "rcfilters-filtergroup-significance": "Significance",
        "rcfilters-filter-minor-label": "Minor edits",
        "rcfilters-filter-minor-description": "Edits the author labeled as minor.",
        "rcfilters-filter-categorization-description": "Records of pages being added or removed from categories.",
        "rcfilters-filter-logactions-label": "Logged actions",
        "rcfilters-filter-logactions-description": "Administrative actions, account creations, page deletions, uploads....",
+       "rcfilters-hideminor-conflicts-typeofchange-global": "The \"Minor edits\" filter conflicts with one or more Type of Change filters, because certain types of change cannot be designated as \"minor.\" The conflicting filters are marked in the Active Filters area, above.",
+       "rcfilters-hideminor-conflicts-typeofchange": "Certain types of change cannot be designated as \"minor,\" so this filter conflicts with the following Type of Change filters: $1",
+       "rcfilters-typeofchange-conflicts-hideminor": "This Type of Change filter conflicts with the \"Minor Edits\" filter. Certain types of change cannot be designated as \"minor.\"",
        "rcnotefrom": "Below {{PLURAL:$5|is the change|are the changes}} since <strong>$3, $4</strong> (up to <strong>$1</strong> shown).",
        "rclistfrom": "Show new changes starting from $2, $3",
        "rcshowhideminor": "$1 minor edits",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|updated}} tags on revision $4 of page $3 ({{PLURAL:$7|added}} $6; {{PLURAL:$9|removed}} $8)",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|updated}} tags on log entry $5 of page $3 ({{PLURAL:$7|added}} $6; {{PLURAL:$9|removed}} $8)",
        "rightsnone": "(none)",
-       "revdelete-logentry": "changed revision visibility of \"[[$1]]\"",
-       "logdelete-logentry": "changed event visibility of \"[[$1]]\"",
-       "revdelete-content": "content",
-       "revdelete-summary": "edit summary",
-       "revdelete-uname": "username",
-       "revdelete-hid": "hid $1",
-       "revdelete-unhid": "unhid $1",
-       "revdelete-log-message": "$1 for $2 {{PLURAL:$2|revision|revisions}}",
-       "logdelete-log-message": "$1 for $2 {{PLURAL:$2|event|events}}",
        "deletedarticle": "deleted \"[[$1]]\"",
        "suppressedarticle": "suppressed \"[[$1]]\"",
        "undeletedarticle": "restored \"[[$1]]\"",
index d5c5258..d50eb85 100644 (file)
        "login": "Ensaluti",
        "login-security": "Kontrolu vian identecon",
        "nav-login-createaccount": "Ensaluti / Krei novan konton",
-       "userlogin": "Ensaluti / Krei novan konton",
-       "userloginnocreate": "Ensaluti",
        "logout": "Elsaluti",
        "userlogout": "Elsaluti",
        "notloggedin": "Ne ensalutinta",
        "userlogin-noaccount": "Ĉu vi ne havas konton?",
        "userlogin-joinproject": "Aliĝu al {{SITENAME}}",
-       "nologin": "Ĉu vi ne havas konton? $1.",
-       "nologinlink": "Krei konton",
        "createaccount": "Krei konton",
-       "gotaccount": "Ĉu vi jam havas konton? $1.",
-       "gotaccountlink": "Ensaluti",
-       "userlogin-resetlink": "Ĉu vi forgesis ensalutajn detalojn?",
        "userlogin-resetpassword-link": "Ĉu vi forgesis vian pasvorton?",
        "userlogin-helplink2": "Helpo pri ensaluto",
        "userlogin-loggedin": "Vi jam estas ensalutita kiel {{GENDER:$1|$1}}.\nUzu la formularon suben por ensaluti kiel alia uzanto.",
        "createaccountmail": "Uzi provizoran hazardsignan pasvorton kaj sendi ĝin al la retpoŝta adreso ĉi-suba",
        "createaccountmail-help": "Uzebla por krei konton de alia persono sen lerni la pasvorton.",
        "createacct-realname": "Vera nomo (nedeviga)",
-       "createaccountreason": "Kialo:",
        "createacct-reason": "Kialo",
        "createacct-reason-ph": "Kial vi kreas plian konton",
        "createacct-reason-help": "Mesaĝo vidigita en la protokolo pri kreado de konto",
        "savearticle": "Konservi paĝon",
        "savechanges": "Konservi ŝanĝojn",
        "publishpage": "Eldoni paĝon",
-       "publishchanges": "Eldoni ŝanĝojn",
+       "publishchanges": "Publikigi ŝanĝojn",
        "preview": "Antaŭrigardo",
        "showpreview": "Antaŭrigardo",
        "showdiff": "Montri ŝanĝojn",
        "rcfilters-filter-editsbyother-label": "Redaktoj de aliuloj",
        "rcfilters-filter-editsbyother-description": "Redaktoj kreitaj far aliaj uzantoj (krom vi).",
        "rcfilters-filtergroup-userExpLevel": "Spertonivelo (nur por registritaj uzantoj)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "Novuloj",
-       "rcfilters-filter-userExpLevel-newcomer-description": "Malpli ol 10 redaktoj kaj 4 tagoj de aktiveco.",
-       "rcfilters-filter-userExpLevel-learner-label": "Lernantoj",
-       "rcfilters-filter-userExpLevel-learner-description": "Pliaj tagoj da aktiveco kaj redaktoj ol \"Novuloj\" sed malpli ol \"Spertaj uzantoj\".",
-       "rcfilters-filter-userExpLevel-experienced-label": "Spertaj uzantoj",
-       "rcfilters-filter-userExpLevel-experienced-description": "Pli ol 30 tagoj da aktiveco kaj 500 redaktoj.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Novuloj",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Malpli ol 10 redaktoj kaj 4 tagoj de aktiveco.",
+       "rcfilters-filter-user-experience-level-learner-label": "Lernantoj",
+       "rcfilters-filter-user-experience-level-learner-description": "Pliaj tagoj da aktiveco kaj redaktoj ol \"Novuloj\" sed malpli ol \"Spertaj uzantoj\".",
+       "rcfilters-filter-user-experience-level-experienced-label": "Spertaj uzantoj",
+       "rcfilters-filter-user-experience-level-experienced-description": "Pli ol 30 tagoj da aktiveco kaj 500 redaktoj.",
        "rcfilters-filtergroup-automated": "Aŭtomatigitaj kontribuoj",
        "rcfilters-filter-bots-label": "Roboto",
        "rcfilters-filter-bots-description": "Redaktoj farita de aŭtomatigitaj iloj.",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|ĝisdatigis}} etikedojn de la revizio $4 de la paĝo $3 ({{PLURAL:$7|aldonita|aldonitaj}} $6; {{PLURAL:$9|forigita|forigitaj}} $8)",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|ĝisdatigis}} etikedojn de la protokolero $5 de la paĝo $3 ({{PLURAL:$7|aldonita|aldonitaj}} $6; {{PLURAL:$9|forigita|forigitaj}} $8)",
        "rightsnone": "(nenia)",
-       "revdelete-summary": "redaktoresumon",
        "feedback-adding": "Aldonanta respondon al la paĝo...",
        "feedback-back": "Reen",
        "feedback-bugcheck": "Bonega! Nur konfirmu ke ĝi ne jam ekzistas inter la [$1 konataj cimoj].",
index 9a31dbd..6b8fe3c 100644 (file)
        "login": "Acceder",
        "login-security": "Verifica tu identidad",
        "nav-login-createaccount": "Acceder/crear cuenta",
-       "userlogin": "Acceder/crear cuenta",
-       "userloginnocreate": "Acceder",
        "logout": "Salir",
        "userlogout": "Salir",
        "notloggedin": "No has iniciado sesión",
        "userlogin-noaccount": "¿No tienes una cuenta?",
        "userlogin-joinproject": "Únete a {{SITENAME}}",
-       "nologin": "¿No tienes una cuenta? $1.",
-       "nologinlink": "Crear una cuenta",
        "createaccount": "Crear una cuenta",
-       "gotaccount": "¿Ya tienes una cuenta? $1.",
-       "gotaccountlink": "Acceder",
-       "userlogin-resetlink": "¿Olvidaste tus datos de acceso?",
        "userlogin-resetpassword-link": "¿Has olvidado tu contraseña?",
        "userlogin-helplink2": "Ayuda con el acceso",
        "userlogin-loggedin": "Ya estás {{GENDER:$1|conectado|conectada}} como $1.\nUsa el formulario de abajo para iniciar sesión como otro usuario.",
        "createaccountmail": "Utilizar una contraseña aleatoria temporal y enviarla a la dirección de correo electrónico especificada",
        "createaccountmail-help": "Puede usarse para crear una cuenta para otra persona sin revelar la contraseña.",
        "createacct-realname": "Nombre real (opcional)",
-       "createaccountreason": "Motivo:",
        "createacct-reason": "Motivo",
        "createacct-reason-ph": "Por qué estás creando otra cuenta",
        "createacct-reason-help": "Mensaje que se muestra en el registro de creación de cuentas",
        "page_first": "primeras",
        "page_last": "últimas",
        "histlegend": "Selección de diferencias: marca las casillas correspondientes a las versiones a comparar y pulsa Intro o el botón de abajo.<br />\nLeyenda: <strong>({{int:cur}})</strong> = diferencias con la versión actual,\n<strong>({{int:last}})</strong> = diferencias con la versión anterior, <strong>{{int:minoreditletter}}</strong> = edición menor.",
-       "history-fieldset-title": "Buscar en el historial",
-       "history-show-deleted": "Solo eliminadas",
+       "history-fieldset-title": "Buscar revisiones",
+       "history-show-deleted": "Solo revisiones eliminadas",
        "histfirst": "primeras",
        "histlast": "últimas",
        "historysize": "({{PLURAL:$1|1 byte|$1 bytes}})",
        "prefs-help-prefershttps": "Los cambios surtirán efecto en tu próximo inicio de sesión.",
        "prefswarning-warning": "Has hecho cambios en tus preferencias que todavía no se han guardado. Si sales de esta página sin pulsar en «$1» no se actualizarán las preferencias.",
        "prefs-tabs-navigation-hint": "Sugerencia: Puede utilizar las teclas de flecha izquierda y derecha para navegar entre las pestañas de la lista de pestañas.",
-       "userrights": "Gestión de permisos de usuario",
+       "userrights": "Permisos de usuario",
        "userrights-lookup-user": "Selecciona una cuenta de usuario",
        "userrights-user-editname": "Escribe un nombre de usuario:",
        "editusergroup": "Cargar grupos de usuarios",
        "userrights-nodatabase": "La base de datos $1 no existe o no es local.",
        "userrights-changeable-col": "Grupos que puedes cambiar",
        "userrights-unchangeable-col": "Grupos que no puedes cambiar",
+       "userrights-expiry-current": "Caduca el $1",
+       "userrights-expiry-none": "No caduca",
+       "userrights-expiry": "Caduca:",
+       "userrights-expiry-existing": "Fecha de caducidad actual: $2 a las $3",
+       "userrights-expiry-othertime": "Otro tiempo:",
        "userrights-expiry-options": "1 día:1 day,1 semana:1 week,1 mes:1 month,3 meses:3 months,6 meses:6 months,1 año:1 year",
+       "userrights-invalid-expiry": "El tiempo de caducidad del grupo \"$1\" no es válido.",
+       "userrights-expiry-in-past": "El tiempo de caducidad del grupo \"$1\" está en el pasado.",
        "userrights-conflict": "¡Conflicto de cambio de los permisos de usuario! Por favor, revisa y confirma tus cambios.",
        "group": "Grupo:",
        "group-user": "Usuarios",
        "rcfilters-invalid-filter": "Filtro no válido",
        "rcfilters-empty-filter": "No hay filtros activos. Se muestran todas las contribuciones.",
        "rcfilters-filterlist-title": "Filtros",
+       "rcfilters-filterlist-whatsthis": "¿Qué es esto?",
        "rcfilters-highlightbutton-title": "Resaltar los resultados",
        "rcfilters-highlightmenu-title": "Selecciona un color",
+       "rcfilters-highlightmenu-help": "Selecciona un color para resaltar esta propiedad",
        "rcfilters-filterlist-noresults": "No se encontraron filtros",
+       "rcfilters-noresults-conflict": "No se encontraron resultados porque los criterios de búsqueda están en conflicto.",
        "rcfilters-filtergroup-registration": "Registro de usuario",
        "rcfilters-filter-registered-label": "Registrados",
        "rcfilters-filter-registered-description": "Editores conectados.",
        "rcfilters-filter-editsbyother-label": "Ediciones de otros",
        "rcfilters-filter-editsbyother-description": "Ediciones creadas por otros usuarios (no por ti).",
        "rcfilters-filtergroup-userExpLevel": "Nivel de experiencia (solo para usuarios registrados)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "Recién llegados",
-       "rcfilters-filter-userExpLevel-newcomer-description": "Menos de 10 ediciones y 4 días de actividad.",
-       "rcfilters-filter-userExpLevel-learner-label": "Aprendices",
-       "rcfilters-filter-userExpLevel-learner-description": "Más días de actividad y ediciones que los «recién llegados», pero menos que los «usuarios experimentados».",
-       "rcfilters-filter-userExpLevel-experienced-label": "Usuarios experimentados",
-       "rcfilters-filter-userExpLevel-experienced-description": "Más de 30 días de actividad y 500 ediciones.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Recién llegados",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Menos de 10 ediciones y 4 días de actividad.",
+       "rcfilters-filter-user-experience-level-learner-label": "Aprendices",
+       "rcfilters-filter-user-experience-level-learner-description": "Más días de actividad y ediciones que los «recién llegados», pero menos que los «usuarios experimentados».",
+       "rcfilters-filter-user-experience-level-experienced-label": "Usuarios experimentados",
+       "rcfilters-filter-user-experience-level-experienced-description": "Más de 30 días de actividad y 500 ediciones.",
        "rcfilters-filtergroup-automated": "Contribuciones automatizadas",
        "rcfilters-filter-bots-label": "Bot",
        "rcfilters-filter-bots-description": "Ediciones realizadas por herramientas automatizadas.",
        "rcfilters-filter-humans-label": "Ser humano (no bot)",
        "rcfilters-filter-humans-description": "Ediciones realizadas por editores humanos.",
+       "rcfilters-filtergroup-reviewstatus": "Estado de revisión",
+       "rcfilters-filter-patrolled-label": "Patrulladas",
+       "rcfilters-filter-patrolled-description": "Ediciones marcadas como patrulladas.",
+       "rcfilters-filter-unpatrolled-label": "No patrulladas",
+       "rcfilters-filter-unpatrolled-description": "Ediciones no marcadas como patrulladas.",
        "rcfilters-filtergroup-significance": "Significación",
        "rcfilters-filter-minor-label": "Ediciones menores",
        "rcfilters-filter-minor-description": "Ediciones etiquetadas por el autor como menores.",
        "protect-cascadeon": "Actualmente esta página está protegida porque está transcluida en {{PLURAL:$1|la siguiente página, que tiene|las siguientes páginas, que tienen}} activada la opción de protección de cascada.\nPuedes cambiar el nivel de protección de esta página, pero no afectará a la protección de cascada.",
        "protect-default": "Permitir todos los usuarios",
        "protect-fallback": "Solo permitir usuarios con el permiso «$1»",
-       "protect-level-autoconfirmed": "Solo permitir usuarios autoconfirmados",
-       "protect-level-sysop": "Solo permitir administradores",
+       "protect-level-autoconfirmed": "Solo usuarios autoconfirmados",
+       "protect-level-sysop": "Solo administradores",
        "protect-summary-cascade": "en cascada",
        "protect-expiring": "caduca el $1 (UTC)",
        "protect-expiring-local": "caduca el $1",
        "reblock-logentry": "cambió el bloqueo para  [[$1]] con una caducidad de $2 $3",
        "blocklogtext": "Esto es un registro de acciones de bloqueo y desbloqueo de usuarios.\nLas direcciones IP bloqueadas automáticamente no aparecen aquí.\nConsulta la [[Special:BlockList|lista de bloqueos]] para ver la lista de bloqueos y prohibiciones de operar en vigor.",
        "unblocklogentry": "desbloqueó a $1",
-       "block-log-flags-anononly": "solo anónimos",
+       "block-log-flags-anononly": "solo usuarios anónimos",
        "block-log-flags-nocreate": "desactivada la creación de cuentas",
        "block-log-flags-noautoblock": "bloqueo automático desactivado",
        "block-log-flags-noemail": "correo electrónico desactivado",
        "htmlform-user-not-valid": "<strong>$1</strong> no es un nombre de usuario válido.",
        "logentry-delete-delete": "$1 {{GENDER:$2|borró}} la página $3",
        "logentry-delete-delete_redir": "$1 {{GENDER:$2|borró}} la redirección $3 con un traslado",
-       "logentry-delete-restore": "$1 restauró la página «$3»",
+       "logentry-delete-restore": "$1 restauró la página $3",
        "logentry-delete-event": "$1 {{GENDER:$2|modificó}} la visibilidad de {{PLURAL:$5|un evento|$5 eventos}} del registro en $3: $4",
        "logentry-delete-revision": "$1 {{GENDER:$2|modificó}} la visibilidad de {{PLURAL:$5|una revisión |$5 revisiones}} en la página  $3: $4",
        "logentry-delete-event-legacy": "$1 ha {{GENDER:$2|cambiado}} la visibilidad de eventos del registro en $3",
        "logentry-suppress-event-legacy": "$1 {{GENDER:$2|modificó}} secretamente la visibilidad de los eventos del registro en $3",
        "logentry-suppress-revision-legacy": "$1 {{GENDER:$2|modificó}} secretamente la visibilidad de las revisiones en la página $3",
        "revdelete-content-hid": "contenido ocultado",
-       "revdelete-summary-hid": "resumen de edición oculto",
+       "revdelete-summary-hid": "resumen de edición ocultado",
        "revdelete-uname-hid": "nombre de usuario ocultado",
        "revdelete-content-unhid": "contenido mostrado",
        "revdelete-summary-unhid": "resumen de edición mostrado",
        "logentry-block-block": "$1 {{GENDER:$2|bloqueó}} a {{GENDER:$4|$3}} durante un plazo de $5 $6",
        "logentry-block-unblock": "$1 {{GENDER:$2|desbloqueó}} {{GENDER:$4|$3}}",
        "logentry-block-reblock": "$1 {{GENDER:$2|cambió}} la configuración del bloqueo de {{GENDER:$4|$3}} durante un plazo de $5 $6",
-       "logentry-suppress-block": "$1 {{GENDER:$2|bloqueó}} {{GENDER:$4|$3}} durante un plazo de $5 $6",
+       "logentry-suppress-block": "$1 {{GENDER:$2|bloqueó a}} {{GENDER:$4|$3}} durante un plazo de $5 $6",
        "logentry-suppress-reblock": "$1 {{GENDER:$2|cambió}} la configuración del bloqueo de {{GENDER:$4|$3}} durante un plazo de $5 $6",
        "logentry-import-upload": "$1 {{GENDER:$2|importó}} $3 subiendo un archivo",
        "logentry-import-upload-details": "$1 {{GENDER:$2|importó}} $3 subiendo un archivo ($4 {{PLURAL:$4|revisión|revisiones}})",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|actualizó}} etiquetas de la revisión $4 de la página $3 ({{PLURAL:$7|agregó}} $6; {{PLURAL:$9|eliminó}} $8)",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|actualizó}} etiquetas de la entrada del registro $5 de la página $3 ({{PLURAL:$7|agregó}} $6; {{PLURAL:$9|eliminó}} $8)",
        "rightsnone": "(ninguno)",
-       "revdelete-summary": "resumen de edición",
        "rightslogentry-temporary-group": "$1 (provisional, hasta $2)",
        "feedback-adding": "Añadiendo comentarios a la página...",
        "feedback-back": "Volver",
index 61c6c6b..2c8fecf 100644 (file)
        "cannotlogin-title": "Ei saa sisse logida",
        "cannotlogin-text": "Sisselogimine pole võimalik.",
        "cannotloginnow-title": "Praegu ei saa sisse logida",
-       "cannotloginnow-text": "Sisselogimine pole võimalik, kui kasutad $1.",
+       "cannotloginnow-text": "Sisselogimine pole võimalik, kui kasutusel on $1.",
        "cannotcreateaccount-title": "Ei saa kontosid luua",
        "cannotcreateaccount-text": "Kontode käsitsi loomine pole selles vikis lubatud.",
        "yourdomainname": "Sinu domeen:",
        "login": "Sisselogimine",
        "login-security": "Identsuskontroll",
        "nav-login-createaccount": "Logi sisse või registreeru kasutajaks",
-       "userlogin": "Sisselogimine või kasutajakonto loomine",
-       "userloginnocreate": "Sisselogimine",
        "logout": "Logi välja",
        "userlogout": "Väljalogimine",
        "notloggedin": "Sisse logimata",
        "userlogin-noaccount": "Kas sul pole kontot?",
        "userlogin-joinproject": "Ühine projektiga {{SITENAME}}",
-       "nologin": "Kas sul pole kontot? $1.",
-       "nologinlink": "Registreeru siin",
        "createaccount": "Konto loomine",
-       "gotaccount": "Kui sul on juba konto, '''$1'''.",
-       "gotaccountlink": "logi sisse",
-       "userlogin-resetlink": "Kas oled unustanud oma sisselogimisandmed?",
        "userlogin-resetpassword-link": "Kas unustasid parooli?",
        "userlogin-helplink2": "Sisselogimisabi",
        "userlogin-loggedin": "Oled juba sisse logitud nimega {{GENDER:$1|$1}}.\nKasuta allolevat vormi, et logida sisse teise kasutajaga.",
        "createaccountmail": "Kasuta juhuslikku parooli ja saada see määratud e-posti aadressile",
        "createaccountmail-help": "Saab kasutada konto loomiseks teisele kasutajale ilma parooli teada saamata.",
        "createacct-realname": "Pärisnimi (valikuline)",
-       "createaccountreason": "Põhjus:",
        "createacct-reason": "Põhjus",
        "createacct-reason-ph": "Miks lood teist kontot?",
        "createacct-reason-help": "Sõnum, mida näidatakse konto loomise logis",
        "page_first": "esimene",
        "page_last": "viimane",
        "histlegend": "Märgi versioonid, mida tahad võrrelda ja vajuta võrdlemisnupule.\nLegend: (viim) = erinevused võrreldes viimase redaktsiooniga,\n(eel) = erinevused võrreldes eelmise redaktsiooniga, P = pisimuudatus",
-       "history-fieldset-title": "Ajaloo sirvimine",
-       "history-show-deleted": "Üksnes kustutatud",
+       "history-fieldset-title": "Redaktsioonide otsimine",
+       "history-show-deleted": "Üksnes kustutatud redaktsioonid",
        "histfirst": "vanimad",
        "histlast": "uusimad",
        "historysize": "({{PLURAL:$1|1 bait|$1 baiti}})",
        "prefs-help-prefershttps": "See eelistus jõustub pärast järgmist sisselogimist.",
        "prefswarning-warning": "Oled teinud eelistustes muudatusi, mida pole veel salvestatud.\nKui lahkud sellelt leheküljelt ilma nupul \"$1\" klõpsamata, jäävad kehtima senised eelistused.",
        "prefs-tabs-navigation-hint": "Spikker: Kaardiloendis toodud kaartide vahel liikumiseks saad kasutada vasakut ja paremat nooleklahvi.",
-       "userrights": "Kasutajaõiguste haldus",
+       "userrights": "Kasutajaõigused",
        "userrights-lookup-user": "Kasutaja valimine",
        "userrights-user-editname": "Sisesta kasutajanimi:",
        "editusergroup": "Laadi kasutajarühmad",
        "action-move-rootuserpages": "teisaldada kasutajalehekülgi",
        "action-move-categorypages": "teisaldada kategoorialehekülgi",
        "action-movefile": "seda faili teisaldada",
-       "action-upload": "seda faili üles laadida",
+       "action-upload": "faile üles laadida",
        "action-reupload": "seda olemasolevat faili üle kirjutada",
        "action-reupload-shared": "seda jagatud varamus asuvat faili üle kirjutada",
        "action-upload_by_url": "seda faili internetiaadressilt üles laadida",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|uuendas}} leheküljel \"$3\" redaktsiooni $4 märgiseid ({{PLURAL:$7|lisatud}} $6; {{PLURAL:$9|eemaldatud}} $8)",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|uuendas}} leheküljel \"$3\" logisissekande $5 märgiseid ({{PLURAL:$7|lisatud}} $6; {{PLURAL:$9|eemaldatud}} $8)",
        "rightsnone": "(puudub)",
-       "revdelete-summary": "resümee",
        "rightslogentry-temporary-group": "$1 (ajutine, tähtaeg $2)",
        "feedback-adding": "Tagasiside lisamine leheküljele...",
        "feedback-back": "Tagasi",
        "expand_templates_preview": "Eelvaade",
        "expand_templates_preview_fail_html": "<em>Kuna {{GRAMMAR:inessive|{{SITENAME}}}} on toor-HTML lubatud ja osa seansiandmeid läks kaotsi, siis on JavaScripti põhiste rünnakute vastase abinõuna eelvaade peidetud.</em>\n\n<strong>Kui see eelvaatekatse on õigustatud, proovi palun uuesti.</strong>\nKui see ikka ei tööta, proovi [[Special:UserLogout|logida välja]] ja tagasi sisse ning kontrolli, kas brauser lubab sellest võrgukohast küpsiseid.",
        "expand_templates_preview_fail_html_anon": "<em>Kuna {{GRAMMAR:inessive|{{SITENAME}}}} on toor-HTML lubatud ja sa pole sisse logitud, siis on JavaScripti põhiste rünnakute vastase abinõuna eelvaade peidetud.</em>\n\n<strong>Kui see eelvaatekatse on õigustatud, [[Special:UserLogin|logi]] palun sisse ja proovi uuesti.</strong>",
+       "expand_templates_input_missing": "Sul tuleb tekst sisestada.",
        "pagelanguage": "Lehekülje keele valik",
        "pagelang-name": "Lehekülg",
        "pagelang-language": "Keel",
        "pagelang-use-default": "Kasuta vaikekeelt",
        "pagelang-select-lang": "Vali keel",
+       "pagelang-reason": "Põhjus",
+       "pagelang-submit": "Saada",
+       "pagelang-nonexistent-page": "Lehekülge $1 pole olemas.",
+       "pagelang-unchanged-language": "Lehekülje $1 keeleks on juba määratud \"$2\".",
+       "pagelang-unchanged-language-default": "Lehekülje $1 keeleks on juba määratud viki sisu vaikekeel.",
+       "pagelang-db-failed": "Andmebaasis ei õnnestunud lehekülje keelt muuta.",
        "right-pagelang": "Muuta lehekülje keelt",
        "action-pagelang": "muuta lehekülje keelt",
        "log-name-pagelang": "Keele muutmise logi",
        "mw-widgets-dateinput-no-date": "Kuupäev valimata",
        "mw-widgets-dateinput-placeholder-day": "AAAA-KK-PP",
        "mw-widgets-dateinput-placeholder-month": "AAAA-KK",
+       "mw-widgets-mediasearch-input-placeholder": "Otsi meediafaile",
+       "mw-widgets-mediasearch-noresults": "Tulemusi ei leitud.",
        "mw-widgets-titleinput-description-new-page": "lehekülge pole veel",
        "mw-widgets-titleinput-description-redirect": "ümbersuunamine leheküljele \"$1\"",
        "mw-widgets-categoryselector-add-category-placeholder": "Lisa kategooria...",
+       "mw-widgets-usersmultiselect-placeholder": "Lisa veel...",
+       "sessionmanager-tie": "Ei saa ühitada mitut päringu autentimise tüüpi: $1.",
        "sessionprovider-generic": "klassi $1 seansse",
-       "sessionprovider-mediawiki-session-cookiesessionprovider": "küpsisepõhiseid seansse",
+       "sessionprovider-mediawiki-session-cookiesessionprovider": "küpsisepõhised seansid",
+       "sessionprovider-nocookies": "Võimalik, et küpsised on keelatud. Veendu, et sul on küpsised lubatud ja alusta uuesti.",
        "randomrootpage": "Juhuslik juurlehekülg",
        "log-action-filter-block": "Blokeeringu tüüp:",
        "log-action-filter-contentmodel": "Sisumudeli muudatuse tüüp:",
        "log-action-filter-suppress-reblock": "Kasutaja varjamine taasblokeerimise teel",
        "log-action-filter-upload-upload": "Uus üleslaadimine",
        "log-action-filter-upload-overwrite": "Uuesti üleslaadimine",
+       "authmanager-authn-not-in-progress": "Autentimine pole teoksil või seansiandmed läksid kaduma. Palun alusta uuesti.",
+       "authmanager-authn-no-primary": "Ette antud autentimisandmeid ei õnnestunud autentida.",
+       "authmanager-authn-no-local-user": "Ette antud autentimisandmed pole selles vikis seotud ühegi kasutajaga.",
+       "authmanager-authn-no-local-user-link": "Ette antud autentimisandmeid on kehtivad, aga pole selles vikis seotud ühegi kasutajaga. Logi sisse muul viisil või loo uus kasutajakonto, et saaksid siduda oma varasemad autentimisandmed selle kontoga.",
+       "authmanager-authn-autocreate-failed": "Kohaliku konto automaatne loomine ebaõnnestus: $1",
+       "authmanager-change-not-supported": "Ette antud autentimisandmeid ei õnnestunud muuta, kuna neil poleks edaspidi ühtegi kasutajat.",
+       "authmanager-create-disabled": "Kontode loomine on keelatud.",
+       "authmanager-create-from-login": "Et luua konto, täida palun väljad.",
+       "authmanager-create-not-in-progress": "Konto loomine pole teoksil või läksid seansiandmed kaduma. Palun alusta uuesti.",
+       "authmanager-create-no-primary": "Ette antud autentimisandmetega ei õnnestunud kontot luua.",
+       "authmanager-link-no-primary": "Ette antud autentimisandmetega ei õnnestunud kontot linkida.",
+       "authmanager-link-not-in-progress": "Konto linkimine pole teoksil või läksid seansiandmed kaduma. Palun alusta uuesti.",
+       "authmanager-authplugin-setpass-failed-title": "Parooli muutmine ebaõnnestus",
+       "authmanager-authplugin-setpass-failed-message": "Autentimise tarkvaralisa keeldus parooli muutmast.",
+       "authmanager-authplugin-create-fail": "Autentimise tarkvaralisa keeldus kontot loomast.",
+       "authmanager-authplugin-setpass-denied": "Autentimise tarkvaralisa ei luba paroole muuta.",
+       "authmanager-authplugin-setpass-bad-domain": "Vigane domeen.",
+       "authmanager-autocreate-noperm": "Kontode automaatne loomine pole lubatud.",
+       "authmanager-autocreate-exception": "Kontode automaatne loomine on varasemate tõrgete tõttu ajutiselt keelatud.",
+       "authmanager-userdoesnotexist": "Kasutajakonto \"$1\" pole registreeritud.",
+       "authmanager-userlogin-remembermypassword-help": "Kas parooli tuleks meeles pidada kauem kui seansi kestel.",
+       "authmanager-username-help": "Autentitav kasutajanimi.",
+       "authmanager-password-help": "Autentitav parool.",
+       "authmanager-domain-help": "Väliselt autentitav domeen.",
+       "authmanager-retype-help": "Uuesti parool, mida kinnitada.",
+       "authmanager-email-label": "E-post",
+       "authmanager-email-help": "E-posti aadress",
+       "authmanager-realname-label": "Pärisnimi",
+       "authmanager-realname-help": "Kasutaja pärisnimi",
        "authmanager-provider-password": "Paroolipõhine autentimine",
        "authmanager-provider-password-domain": "Parooli- ja domeenipõhine autentimine",
        "authmanager-provider-temporarypassword": "Ajutine parool",
+       "authprovider-confirmlink-message": "Sinu viimaste sisselogimiskatsete põhjal saab sinu vikikontoga linkida järgmiseid kontosid. Linkimine võimaldab sisse logida nende kontode kaudu. Palun vali, millised kontod tuleks linkida.",
+       "authprovider-confirmlink-request-label": "Kontod, mis tuleks linkida",
+       "authprovider-confirmlink-success-line": "$1: Edukalt lingitud.",
+       "authprovider-confirmlink-failed": "Konto linkimine ei õnnestunud täielikult: $1",
+       "authprovider-confirmlink-ok-help": "Jätka pärast linkimise nurjumissõnumite kuvamist.",
+       "authprovider-resetpass-skip-label": "Jäta vahele",
+       "authprovider-resetpass-skip-help": "Jäta parooli lähtestamine vahele.",
+       "authform-nosession-login": "Autentimine oli edukas, aga brauseril ei õnnestunud meeles pidada, et oled sisse logitud.\n\n$1",
+       "authform-nosession-signup": "Konto on loodud, aga brauseril ei õnnestunud meeles pidada, et oled sisse logitud.\n\n$1",
+       "authform-newtoken": "Luba puudub. $1",
+       "authform-notoken": "Luba puudub",
+       "authform-wrongtoken": "Vale luba",
+       "specialpage-securitylevel-not-allowed-title": "Pole lubatud",
+       "specialpage-securitylevel-not-allowed": "Kahjuks ei lubata sul seda lehekülge kasutada, kuna sinu identiteeti ei õnnestunud tõestada.",
        "changecredentials": "Autentimisandmete muutmine",
        "changecredentials-submit": "Muuda autentimisandmed",
        "changecredentials-success": "Sinu autentimisandmed on muudetud.",
        "credentialsform-provider": "Andmete tüüp:",
        "credentialsform-account": "Konto nimi:",
        "userjsispublic": "Pea silmas, et JavaScripti alamleheküljed ei tohiks sisaldada konfidentsiaalseid andmeid, kuna neid näevad teised kasutajad.",
+       "usercssispublic": "Palun pane tähele: CSS-alamleheküljel ei peaks olema konfidentsiaalseid andmeid, kuna teised kasutajad näevad seda.",
        "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>"
+       "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>",
+       "revid": "redaktsioon $1",
+       "pageid": "lehekülje identifikaator $1"
 }
index b0b5e1f..63508b4 100644 (file)
@@ -27,7 +27,8 @@
                        "Asierog",
                        "Matma Rex",
                        "Gorkaazk",
-                       "Vriullop"
+                       "Vriullop",
+                       "Osoitz"
                ]
        },
        "tog-underline": "Azpimarratu loturak:",
        "no-null-revision": "Ezin izan da \"$1\" orrialdearen berrikuspen huts bat sortu",
        "badtitle": "Izenburu ezegokia",
        "badtitletext": "Eskatutako orri izenburua ez da baliozkoa, hutsik dago, edo gaizki lotutako hizkuntzen arteko lotura da. Baliteke izenburuetan erabili ezin den karaktereren bat edukitzea.",
+       "title-invalid-talk-namespace": "Eskatutako orriaren izenburuak agian existitzen ez den eztabaida-orri bati egiten dio erreferentzia.",
+       "title-invalid-characters": "Eskatutako orriaren izenburuak baliagarri ez diren karaktereak ditu: \"$1\".",
        "perfcached": "Hurrengo datuak katxean gordeta daude eta litekeena da guztiz eguneratuta ez egotea. Gehienez {{PLURAL:$1|emaitza 1 dago|$1 emaitza daude}} eskuragarri katxean.",
        "perfcachedts": "Hurrengo datuak katxean daude, $1 eguneratu zen azkenekoz. {{PLURAL:$4|emaitza 1 dago|$4 emaitza daude}} eskuragarri katxean.",
        "querypage-no-updates": "Orrialde honen berritzeak ez dira baimentzen. Hemen dagoen data ez da zuzenean berrituko.",
        "cannotloginnow-title": "Ezin da saioa hasi orain",
        "cannotloginnow-text": "Saioa ezin da hasi $1 erabiltzean.",
        "cannotcreateaccount-title": "Kontuak ezin dira sortu",
+       "cannotcreateaccount-text": "Wiki honetan ezin da zuzenean kontu berri bat sortu.",
        "yourdomainname": "Zure domeinua",
        "password-change-forbidden": "Ezin duzu pasahitzarik aldatu wiki honetan.",
        "externaldberror": "Kanpoko datu-base autentifikazio errorea gertatu da edo ez duzu zure kanpo kontua eguneratzeko baimenik.",
        "login": "Hasi saioa",
        "login-security": "Zure nortasuna egiaztatu",
        "nav-login-createaccount": "Hasi saioa / sortu kontua",
-       "userlogin": "Saioa hasi / kontua sortu",
-       "userloginnocreate": "Hasi saioa",
        "logout": "Saioa itxi",
        "userlogout": "Saioa itxi",
        "notloggedin": "Saioa hasi gabe",
        "userlogin-noaccount": "Ez al duzu konturik?",
        "userlogin-joinproject": "Batu {{SITENAME}}(r)ekin",
-       "nologin": "Ez duzu erabiltzaile konturik? '''$1'''.",
-       "nologinlink": "Kontua sortu",
        "createaccount": "Kontua sortu",
-       "gotaccount": "Baduzu erabiltzaile kontua? '''$1'''.",
-       "gotaccountlink": "Hasi saioa",
-       "userlogin-resetlink": "Saioa hasteko datuak ahaztu dituzu?",
        "userlogin-resetpassword-link": "Zure pasahitza ahaztu duzu?",
        "userlogin-helplink2": "Saioa hasteko laguntza",
        "userlogin-loggedin": "Dagoeneko izena emana zaude {{GENDER:$1|$1}}.\nBeheko formularioa erabil ezazu beste erabiltzaile baten izenean sartzeko.",
+       "userlogin-reauth": "Saioa berriro hasi beharko duzu {{GENDER:$1|$1}} zarela baieztatzeko.",
        "userlogin-createanother": "Beste kontu bat sortu",
        "createacct-emailrequired": "E-posta helbidea",
        "createacct-emailoptional": "E-posta helbidea (hautazkoa)",
        "createacct-email-ph": "Sartu zure e-posta helbidea",
        "createacct-another-email-ph": "Posta elektronikoaren helbidea sartu",
        "createaccountmail": "Erabili behin-behineko pasahitz ausazko bat eta bidali agertzen den e-posta helbidera",
+       "createaccountmail-help": "Beste pertsona batentzat kontu berri bat sortzeko erabil daiteke, pasahitza ikasi gabe.",
        "createacct-realname": "Benetako izena (hautazkoa)",
-       "createaccountreason": "Arrazoia:",
        "createacct-reason": "Arrazoia",
        "createacct-reason-ph": "Zergatik ari zaren beste erabiltzaile kontu bat",
        "createacct-submit": "Kontua sortu",
        "botpasswords-label-cancel": "Utzi",
        "botpasswords-label-delete": "Ezabatu",
        "botpasswords-label-resetpassword": "Pasahitza berrezarri",
+       "botpasswords-label-grants-column": "Baimenduta",
+       "botpasswords-bad-appid": "Bot horren \"$1\" izen hori ez da baliagarria.",
+       "botpasswords-insert-failed": "Ezin izan da bot \"$1\" izen hori gehitu. Dagoeneko gehituta zegoen?",
        "resetpass_forbidden": "Ezin dira pasahitzak aldatu",
        "resetpass-no-info": "Orrialde honetara zuzenean sartzeko izena eman behar duzu.",
        "resetpass-submit-loggedin": "Pasahitza aldatu",
        "prefs-diffs": "Ezberdintasunak",
        "prefs-help-prefershttps": "Hobespen hauek eragina izango dute sartzen zaren hurrengoan.",
        "prefs-tabs-navigation-hint": "Gomendioa: Fitxen zerrendan nabigatzeko ezker eta eskuin geziak erabil ditzakezu.",
-       "userrights": "Erabiltzaile baimenen kudeaketa",
+       "userrights": "Erabiltzaile-baimenak",
        "userrights-lookup-user": "Erabiltzailea aukeratu",
        "userrights-user-editname": "Erabiltzaile izena idatzi:",
        "editusergroup": "Erabiltzaile taldeak kargatu",
        "logentry-upload-upload": "$1(e)k $3 {{GENDER:$2|igo du}}",
        "log-name-tag": "Etiketen erregistroa",
        "rightsnone": "(bat ere ez)",
-       "revdelete-summary": "aldaketaren laburpena",
        "feedback-adding": "Orriari feedbacka gehitzen...",
        "feedback-back": "Atzera",
        "feedback-bugnew": "Txekeatu dut. Bug berria bidaliko",
index ff28894..4bcece9 100644 (file)
        "login": "ورود به سامانه",
        "login-security": "هویتتان را تائید کنید",
        "nav-login-createaccount": "ورود به سامانه / ایجاد حساب کاربری",
-       "userlogin": "ورود به سامانه / ایجاد حساب کاربری",
-       "userloginnocreate": "ورود به سامانه",
        "logout": "خروج از سامانه",
        "userlogout": "خروج از سامانه",
        "notloggedin": "به سامانه وارد نشده‌اید",
        "userlogin-noaccount": "حساب کاربری ندارید؟",
        "userlogin-joinproject": "در {{SITENAME}} نام‌نویسی کنید!",
-       "nologin": "حساب کاربری ندارید؟ $1.",
-       "nologinlink": "یک حساب کاربری تازه بسازید",
        "createaccount": "ایجاد حساب کاربری",
-       "gotaccount": "حساب کاربری دارید؟ $1.",
-       "gotaccountlink": "به سامانه وارد شوید",
-       "userlogin-resetlink": "جزئیات ورود را فراموش کرده‌اید؟",
        "userlogin-resetpassword-link": "گذرواژه‌تان را فراموش کردید؟",
        "userlogin-helplink2": "کمک با ورود",
        "userlogin-loggedin": "شما در حال حاضر به عنوان {{GENDER:$1|$1}} وارد شده‌اید.\nاز فرم پایین برای ورود به عنوان یک کاربر دیگر استفاده کنید.",
        "createaccountmail": "استفاده از رمز عبور موقت تصادفی و ارسال آن به آدرس ایمیل مشخص شده",
        "createaccountmail-help": "جهت ايجاد حساب برای شخص ديگری بدون دانستن گذرواژهٔ آن کاربرد دارد.",
        "createacct-realname": "نام واقعی (اختیاری)",
-       "createaccountreason": "دلیل:",
        "createacct-reason": "دلیل",
        "createacct-reason-ph": "چرا شما حساب دیگری می‌سازید؟",
        "createacct-reason-help": "پیامی که در سياههٔ ایجاد حساب نمایش داده می‌شود",
        "prefs-help-prefershttps": "تأثیر این ترجیح بعد از ورود بعدی شما اعمال خواهد شد.",
        "prefswarning-warning": "تغییراتتان به ترجیحات هنوز ذحیره نشده است.\nاگر این صفحه بدون کلیک بر «$1» ترک کنید ترجیحاتتان ذخیره نخواهد شد.",
        "prefs-tabs-navigation-hint": "نکته: شما می توانید از کلیدهای جهت‌نمای چپ و راست برای حرکت بین زبانه‌ها در فهرست زبانه‌ها استفاده کنید.",
-       "userrights": "مدیریت اختیارات کاربر",
+       "userrights": "اختیارات کاربر",
        "userrights-lookup-user": "انتخاب یک کاربر",
        "userrights-user-editname": "یک نام کاربری وارد کنید:",
        "editusergroup": "بارگیری گروه‌های کاربر",
        "recentchanges": "تغییرات اخیر",
        "recentchanges-legend": "گزینه‌های تغییرات اخیر",
        "recentchanges-summary": "آخرین تغییرات ویکی را در این صفحه پی‌گیری کنید.",
-       "recentchanges-noresult": "هیچ تغییری در طول دورهٔ تعیین‌شده با این معیارها هم‌خوانی نداشت.",
+       "recentchanges-noresult": "در فاصله زمانی ارائه شده هیچ تغییری با این معیارهای صورت نگرفته است",
        "recentchanges-feed-description": "آخرین تغییرات ویکی را در این خوراک پی‌گیری کنید.",
        "recentchanges-label-newpage": "این ویرایش صفحه‌ای تازه ایجاد کرد",
        "recentchanges-label-minor": "این یک ویرایش جزئی است",
        "rcfilters-filterlist-feedbacklink": "ارسال بازخورد برای پالایه‌های جدید (آزمایشی)",
        "rcfilters-highlightbutton-title": "پررنگ کردن نتایج",
        "rcfilters-highlightmenu-title": "انتخاب رنگ",
+       "rcfilters-highlightmenu-help": "یک رنگ انتخاب کنید تا این خصوصیت پر رنگ شود",
        "rcfilters-filterlist-noresults": "پالایه‌ای یافت نشد",
        "rcfilters-filtergroup-registration": "ثبت‌نام کاربر",
        "rcfilters-filter-registered-label": "ثبت شده",
        "rcfilters-filter-registered-description": "ورود ویرایشگران.",
        "rcfilters-filter-unregistered-label": "ثبت‌نام نکرده",
        "rcfilters-filter-unregistered-description": "ویرایشگرانی که به سامانه وارد نشده‌اند.",
+       "rcfilters-filter-unregistered-conflicts-user-experience-level": "پالایهٔ ثبت‌نشده غیرفعال می‌شود و تاثیرات آن توسط  {{PLURAL:$2|پالایه|پالایه‌های}} تجربه شده که فقط توسط کاربران ثبت‌نام شده {{PLURAL:$2|می‌یابد|می‌یابند}}:$1",
        "rcfilters-filtergroup-authorship": "ویرایش نویسندگی",
        "rcfilters-filter-editsbyself-label": "ویرایش‌های شما",
        "rcfilters-filter-editsbyself-description": "ویرایش‌های انجام شده توسط شما.",
        "rcfilters-filter-editsbyother-label": "ویرایش‌های دیگران",
        "rcfilters-filter-editsbyother-description": "ویرایش‌های ایجاد شده توسط دیگران (نه شما).",
        "rcfilters-filtergroup-userExpLevel": "درجهٔ تجربه (فقط برای کاربران ثبت‌نام کرده)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "تازه‌واردها",
-       "rcfilters-filter-userExpLevel-newcomer-description": "کمتر از ۱۰ ویرایش یا ۴ روز فعالیت.",
-       "rcfilters-filter-userExpLevel-learner-label": "آموزندگان",
-       "rcfilters-filter-userExpLevel-learner-description": "فعالیت و تعداد روز بیشتر از تازه‌وارد ولی کمتر از کاربر باتجریه.",
-       "rcfilters-filter-userExpLevel-experienced-label": "کاربران باتجربه",
-       "rcfilters-filter-userExpLevel-experienced-description": "بیشتر از ۳۰ روز فعالیت و ۵۰۰ ویرایش.",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered": "این پالایه غیرفعال شد چون فقط کاربران ثبت‌نام کرده را پیدا می کرد در نتیجه پالایه کاربران ثبت‌نام نکرده تاثیرات آن را لغو می‌کند.",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered-global": "پالایه کاربران ثبت‌نام نکرده با پالایه‌های دیگر در تعارض است. پالایه‌‌های دیگر فقط کاربران ثبت‌نام شده را می‌یابند. این پالایه‌های در تعارض در بالا غیرفعال شده‌اند.",
+       "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-filtergroup-reviewstatus": "وضعیت بازبینی",
+       "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": "ویرایش‌هایی که به عنوان جزئی برچسب خورده‌اند.",
        "logentry-tag-update-revision": "$1 برچسب نسخهٔ $4 صفحهٔ $3 را {{GENDER:$2|به‌روز کرد}} ($6 {{PLURAL:$7|افزوده‌شد}}؛ $8 {{PLURAL:$9|حذف شد}})",
        "logentry-tag-update-logentry": "$1 برچسب سیاههٔ $5 صفحهٔ $3 را {{GENDER:$2|به‌روز کرد}} ($6 {{PLURAL:$7|افزوده‌شد}}؛ $8 {{PLURAL:$9|حذف شد}})",
        "rightsnone": "(هیچ)",
-       "revdelete-summary": "خلاصه ویرایش",
        "rightslogentry-temporary-group": "$1 (موقت، تا $2)",
        "feedback-adding": "افزودن بازخورد به صفحه...",
        "feedback-back": "بازگشت",
index aa1e090..26c372b 100644 (file)
        "login": "Kirjaudu sisään",
        "login-security": "Varmista henkilöllisyytesi",
        "nav-login-createaccount": "Kirjaudu sisään tai luo tunnus",
-       "userlogin": "Kirjaudu sisään tai luo tunnus",
-       "userloginnocreate": "Kirjaudu sisään",
        "logout": "Kirjaudu ulos",
        "userlogout": "Kirjaudu ulos",
        "notloggedin": "Et ole kirjautunut",
        "userlogin-noaccount": "Eikö sinulla vielä ole käyttäjätunnusta?",
        "userlogin-joinproject": "Liity {{GRAMMAR:illative|{{SITENAME}}}}",
-       "nologin": "Jos sinulla ei ole vielä käyttäjätunnusta, $1.",
-       "nologinlink": "voit luoda sellaisen",
        "createaccount": "Luo uusi käyttäjätunnus",
-       "gotaccount": "Jos sinulla on jo tunnus, voit '''$1'''.",
-       "gotaccountlink": "kirjautua sisään",
-       "userlogin-resetlink": "Unohditko salasanasi?",
        "userlogin-resetpassword-link": "Unohditko salasanasi?",
        "userlogin-helplink2": "Apua sisäänkirjautumiseen",
        "userlogin-loggedin": "Olet jo kirjautunut sisään tunnuksella {{GENDER:$1|$1}}.\nKäytä alla olevaa lomaketta kirjautuaksesi sisään toisena käyttäjänä.",
        "createaccountmail": "Käytä satunnaista väliaikaissalasanaa ja lähetä se alla olevaan sähköpostiosoitteeseen",
        "createaccountmail-help": "Voidaan käyttää luomaan tunnus toiselle käyttäjälle ilman salasanan tietämistä.",
        "createacct-realname": "Oikea nimi (vapaaehtoinen tieto)",
-       "createaccountreason": "Syy:",
        "createacct-reason": "Syy",
        "createacct-reason-ph": "Miksi olet luomassa toista käyttäjätunnusta",
        "createacct-reason-help": "Tunnustenluontilokissa näytetty viesti",
        "prefs-help-prefershttps": "Tämä asetus tulee voimaan seuraavan sisäänkirjautumisesi yhteydessä.",
        "prefswarning-warning": "Olet tehnyt asetuksiisi muutoksia, joita ei ole vielä tallennettu.\nJos poistut sivulta klikkaamatta \"$1\", asetuksiasi ei päivitetä.",
        "prefs-tabs-navigation-hint": "Vihje: Voit käyttää vasenta ja oikeata nuolinäppäintä liikkumiseen välilehtien välillä.",
-       "userrights": "Käyttöoikeuksien hallinta",
+       "userrights": "Käyttäjän oikeudet",
        "userrights-lookup-user": "Valitse käyttäjä",
        "userrights-user-editname": "Käyttäjätunnus:",
        "editusergroup": "Lataa käyttäjäryhmät",
        "userrights-expiry-current": "Vanhentuu $1",
        "userrights-expiry-none": "Ei vanhene",
        "userrights-expiry": "Vanhentuu:",
-       "userrights-expiry-existing": "Nykyinen vanhentumisaika: $3, $2",
+       "userrights-expiry-existing": "Nykyinen vanhentumisaika: $2 kello $3",
        "userrights-expiry-othertime": "Muu aika:",
        "userrights-expiry-options": "1 päivä:1 day,1 viikko:1 week,1 kuukausi:1 month,3 kuukautta:3 months,6 kuukautta:6 months,1 vuosi:1 year",
        "userrights-conflict": "Päällekkäinen käyttöoikeuksien muutos! Tarkista tekemäsi muutokset ja vahvista ne.",
        "rcfilters-invalid-filter": "Suodatin on epäkelpo",
        "rcfilters-empty-filter": "Ei aktiivisia suodattimia. Kaikki muutokset näytetään.",
        "rcfilters-filterlist-title": "Suodattimet",
+       "rcfilters-filterlist-whatsthis": "Mikä tämä on?",
+       "rcfilters-highlightbutton-title": "Korosta tulokset",
        "rcfilters-highlightmenu-title": "Valitse väri",
        "rcfilters-filterlist-noresults": "Ei löytynyt suodattimia",
        "rcfilters-filtergroup-registration": "Käyttäjän rekisteröinti",
        "rcfilters-filter-editsbyself-description": "Muokkauksesi",
        "rcfilters-filter-editsbyother-label": "Muiden muokkaukset",
        "rcfilters-filter-editsbyother-description": "Muutokset jotka tehneet muut käyttäjät (et sinä).",
-       "rcfilters-filter-userExpLevel-newcomer-label": "Tulokkaat",
-       "rcfilters-filter-userExpLevel-learner-label": "Oppijat",
-       "rcfilters-filter-userExpLevel-experienced-label": "Kokeneet käyttäjät",
-       "rcfilters-filter-userExpLevel-experienced-description": "Enemmän kuin 30 päivää aktiivisena ja 500 muokkausta.",
+       "rcfilters-filtergroup-userExpLevel": "Kokemustaso (vain rekisteröityneet käyttäjät)",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Tulokkaat",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Vähemmän kuin 10 muokkausta ja 4 päivää aktiivisuutta.",
+       "rcfilters-filter-user-experience-level-learner-label": "Oppijat",
+       "rcfilters-filter-user-experience-level-experienced-label": "Kokeneet käyttäjät",
+       "rcfilters-filter-user-experience-level-experienced-description": "Enemmän kuin 30 päivää aktiivisena ja 500 muokkausta.",
        "rcfilters-filtergroup-automated": "Automatisoidut muutokset",
        "rcfilters-filter-bots-label": "Botti",
        "rcfilters-filter-bots-description": "Muokkaukset jotka tehty automaattisilla työkaluilla.",
        "rcfilters-filter-humans-label": "Ihminen (ei botti)",
+       "rcfilters-filter-humans-description": "Muokkaukset, jotka tehnyt ihmismuokkaajat.",
+       "rcfilters-filtergroup-reviewstatus": "Tarkistuksen tila",
        "rcfilters-filtergroup-significance": "Merkitys",
        "rcfilters-filter-minor-label": "Pienet muutokset",
        "rcfilters-filter-major-label": "Ei-pienet muutokset",
        "rcfilters-filtergroup-changetype": "Muutoksen tyyppi",
        "rcfilters-filter-pageedits-label": "Sivun muokkaukset",
        "rcfilters-filter-pageedits-description": "Muokkaukset wikin sisältöön, keskusteluihin, luokkakuvauksiin....",
+       "rcfilters-filter-newpages-label": "Sivujen luonnit",
        "rcfilters-filter-newpages-description": "Muokkaukset jotka luovat uusia sivuja.",
        "rcfilters-filter-categorization-label": "Luokkamuutokset",
        "rcfilters-filter-logactions-label": "Kirjatut toimet",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|päivitti}} merkkauksia kohdeversiossa $4 sivulla $3 ({{PLURAL:$7|lisätty}} $6; {{PLURAL:$9|poistettu}} $8)",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|päivitti}} merkkauksia lokimerkinnässä $5 sivulla $3 ({{PLURAL:$7|lisätty}} $6; {{PLURAL:$9|poistettu}} $8)",
        "rightsnone": "(ei oikeuksia)",
-       "revdelete-summary": "yhteenvedon",
        "rightslogentry-temporary-group": "$1 (tilapäinen, $2 asti)",
        "feedback-adding": "Lisätään palautetta sivulle...",
        "feedback-back": "Takaisin",
index 29797b8..7342f35 100644 (file)
        "login": "Connexion",
        "login-security": "Vérifier votre identité",
        "nav-login-createaccount": "Créer un compte ou se connecter",
-       "userlogin": "Créer un compte ou se connecter",
-       "userloginnocreate": "Connexion",
        "logout": "Se déconnecter",
        "userlogout": "Déconnexion",
        "notloggedin": "Non connecté",
        "userlogin-noaccount": "Vous n’avez pas de compte ?",
        "userlogin-joinproject": "Rejoignez {{SITENAME}}",
-       "nologin": "Vous n’avez pas de compte ? $1.",
-       "nologinlink": "Créer un compte",
        "createaccount": "Créer un compte",
-       "gotaccount": "Vous avez déjà un compte ? $1.",
-       "gotaccountlink": "Connectez-vous",
-       "userlogin-resetlink": "Vous avez oublié vos détails de connexion ?",
        "userlogin-resetpassword-link": "Mot de passe oublié ?",
        "userlogin-helplink2": "Aide pour se connecter",
        "userlogin-loggedin": "Vous êtes déjà connecté{{GENDER:$1||e|(e)}} en tant que $1.\nUtilisez le formulaire ci-dessous pour vous connecter avec un autre compte utilisateur.",
        "createaccountmail": "Utiliser un mot de passe aléatoire temporaire et l’envoyer à l’adresse de courriel spécifiée",
        "createaccountmail-help": "Peut être utilisé pour créer un compte pour une autre personne sans connaître le mot de passe.",
        "createacct-realname": "Nom réel (facultatif)",
-       "createaccountreason": "Motif :",
        "createacct-reason": "Motif",
        "createacct-reason-ph": "Pourquoi créez-vous un autre compte",
        "createacct-reason-help": "Message affiché dans le journal de création de compte",
        "duplicate-args-category": "Pages utilisant des arguments dupliqués dans les appels de modèle",
        "duplicate-args-category-desc": "La page contient des appels de modèle qui utilisent des arguments dupliqués, comme <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> ou <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.",
        "expensive-parserfunction-warning": "<strong>Attention :</strong> cette page contient de trop nombreux appels à des fonctions coûteuses de l’analyseur syntaxique.\n\nIl devrait y avoir moins de $2 appel{{PLURAL:$2||s}}, alors qu’il y en a maintenant $1.",
-       "expensive-parserfunction-category": "Pages avec trop d'appels dispendieux de fonctions de l'analyseur syntaxique",
+       "expensive-parserfunction-category": "Pages avec trop d'appels dispendieux aux fonctions de l'analyseur syntaxique",
        "post-expand-template-inclusion-warning": "<strong>Attention :</strong> cette page contient trop d’inclusions de modèles. Certaines inclusions ne seront pas effectuées.",
        "post-expand-template-inclusion-category": "Pages contenant trop d'inclusions de modèles",
        "post-expand-template-argument-warning": "<strong>Attention :</strong> cette page contient au moins un paramètre de modèle dont la taille après expansion est trop importante. \nCes arguments n’ont donc pas été inclus.",
        "page_first": "première",
        "page_last": "dernière",
        "histlegend": "Sélection du diff : cochez les boutons radio des versions à comparer et appuyez sur entrée ou sur le bouton en bas.<br />\nLégende : <strong>({{int:cur}})</strong> = différence avec la dernière version, <strong>({{int:last}})</strong> = différence avec la version précédente, <strong>{{int:minoreditletter}}</strong> = modification mineure.",
-       "history-fieldset-title": "Naviguer dans l’historique",
-       "history-show-deleted": "Supprimés seulement",
+       "history-fieldset-title": "Rechercher des révisions",
+       "history-show-deleted": "Révision supprimée uniquement",
        "histfirst": "les plus anciennes",
        "histlast": "les plus récentes",
        "historysize": "($1 octet{{PLURAL:$1||s}})",
        "prefs-help-prefershttps": "Cette préférence sera effective lors de votre prochaine connexion.",
        "prefswarning-warning": "Vous avez effectué des modifications dans vos préférences qui n’ont pas encore été enregistrées.\nSi vous quittez cette page sans cliquer sur « $1 », vos préférences ne seront pas mises à jour.",
        "prefs-tabs-navigation-hint": "Astuce : Vous pouvez utiliser les flèches de gauche et de droite pour naviguer entre les onglets.",
-       "userrights": "Gestion des droits des utilisateurs",
+       "userrights": "Droits des utilisateurs",
        "userrights-lookup-user": "Sélectionner un utilisateur",
        "userrights-user-editname": "Entrez un nom d'utilisateur :",
        "editusergroup": "Charger des groupes d’utilisateurs",
        "rcfilters-invalid-filter": "Filtre non valide",
        "rcfilters-empty-filter": "Aucun filtre actif. Toutes les contributions sont affichées.",
        "rcfilters-filterlist-title": "Filtres",
+       "rcfilters-filterlist-whatsthis": "Qu’est-ce que c'est ?",
        "rcfilters-filterlist-feedbacklink": "Fournir un commentaire sur les nouveaux filtres (en bêta)",
        "rcfilters-highlightbutton-title": "Mettre en valeur les résultats",
        "rcfilters-highlightmenu-title": "Choisir une couleur",
        "rcfilters-highlightmenu-help": "Sélectionner une couleur pour mettre en évidence cette propriété",
        "rcfilters-filterlist-noresults": "Aucun filtre trouvé",
+       "rcfilters-noresults-conflict": "Aucun résultat trouvé car les critères de recherche sont en conflit",
+       "rcfilters-state-message-subset": "Ce filtre n'a aucun effet, parce que ses résultats sont inclus dans ceux de la recherche suivante, {{PLURAL:$2|filtre plus étendu|filtres plus étendus}} (essayez la mise en forme pour le différencier): $1",
+       "rcfilters-state-message-fullcoverage": "Sélectionner tous les filtres dans un groupe est la même chose que d'en sélectionner aucun, aussi ce filtre n'a aucun effet. Le groupe comprend: $1",
        "rcfilters-filtergroup-registration": "Inscription de l’utilisateur",
        "rcfilters-filter-registered-label": "Connectés",
        "rcfilters-filter-registered-description": "Éditeurs connectés.",
        "rcfilters-filter-unregistered-label": "Non connectés",
        "rcfilters-filter-unregistered-description": "Éditeurs qui ne sont pas connectés.",
+       "rcfilters-filter-unregistered-conflicts-user-experience-level": "Ce filtre est en conflit avec le{{PLURAL:$2| filtre|s filtres}}      Experience suivant, qui ne {{PLURAL:$2|trouve|trouvent}} que des utilisateurs inscrits : $1",
        "rcfilters-filtergroup-authorship": "Modifier la paternité",
        "rcfilters-filter-editsbyself-label": "Vos propres modifications",
        "rcfilters-filter-editsbyself-description": "Vos modifications.",
        "rcfilters-filter-editsbyother-label": "Modifications par d’autres.",
        "rcfilters-filter-editsbyother-description": "Modifications créées par d’autres utilisateurs (pas vous).",
        "rcfilters-filtergroup-userExpLevel": "Niveau d’expérience (uniquement pour les utilisateurs enregistrés)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "Nouveaux arrivants",
-       "rcfilters-filter-userExpLevel-newcomer-description": "Moins de 10 modifications et 4 jours d’activité.",
-       "rcfilters-filter-userExpLevel-learner-label": "Apprentis",
-       "rcfilters-filter-userExpLevel-learner-description": "Davantage de jours d’activité et de modifications que les « Nouveaux arrivants » mais moins que les « Utilisateurs expérimentés ».",
-       "rcfilters-filter-userExpLevel-experienced-label": "Utilisateurs expérimentés",
-       "rcfilters-filter-userExpLevel-experienced-description": "Plus de 30 jours d’activité et 500 modifications",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered": "Les filtres Experience ne trouvent que des utilisateurs enregistrés, et ce filtre est en conflit avec le filtre \"non enregistré\".",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered-global": "Le filtre \"non enregistrés\" est en conflit avec un ou plusieurs  filtres Expérience, qui ne trouvent que les utilisateurs inscrits seulement. Les filtres en conflit sont marqués dans le champ des filtres actifs, ci-dessus.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Nouveaux arrivants",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Moins de 10 modifications et 4 jours d’activité.",
+       "rcfilters-filter-user-experience-level-learner-label": "Apprentis",
+       "rcfilters-filter-user-experience-level-learner-description": "Davantage de jours d’activité et de modifications que les « Nouveaux arrivants » mais moins que les « Utilisateurs expérimentés ».",
+       "rcfilters-filter-user-experience-level-experienced-label": "Utilisateurs expérimentés",
+       "rcfilters-filter-user-experience-level-experienced-description": "Plus de 30 jours d’activité et 500 modifications",
        "rcfilters-filtergroup-automated": "Contributions automatisées",
        "rcfilters-filter-bots-label": "Robot",
        "rcfilters-filter-bots-description": "Modifications faites par des outils automatisés.",
        "rcfilters-filter-humans-label": "Humain (non robot)",
        "rcfilters-filter-humans-description": "Modifications faites par des éditeurs humains.",
+       "rcfilters-filtergroup-reviewstatus": "Etat de révision",
+       "rcfilters-filter-patrolled-label": "Patrouillé",
+       "rcfilters-filter-patrolled-description": "Modifications marquées comme patrouillées.",
+       "rcfilters-filter-unpatrolled-label": "Non patrouillé",
+       "rcfilters-filter-unpatrolled-description": "Modifications non marquées comme patrouillées.",
        "rcfilters-filtergroup-significance": "Signification",
        "rcfilters-filter-minor-label": "Modifications mineures",
        "rcfilters-filter-minor-description": "Modifications que l’auteur a marquées comme mineures.",
        "rcfilters-filter-categorization-description": "Enregistrements de pages ajoutées ou supprimées des catégories.",
        "rcfilters-filter-logactions-label": "Actions tracées",
        "rcfilters-filter-logactions-description": "Actions d’administration, créations de compte, suppression de pages, téléchargements…",
+       "rcfilters-hideminor-conflicts-typeofchange-global": "Le filtre « Modifications mineures » est en conflit avec au moins un filtre de Type de modification, parce que certains types de modification ne peuvent être marqués comme « mineurs ». Les filtres en conflit sont marqués dans la zone Filtres actifs ci-dessus.",
+       "rcfilters-hideminor-conflicts-typeofchange": "Certains types de modification ne peuvent pas être qualifiés de « mineurs », donc ce filtre est en conflit avec les filtres de Type de modification suivants : $1",
+       "rcfilters-typeofchange-conflicts-hideminor": "Ce filtre de Type de modification est en conflit avec le filtre « Modifications mineures ». Certains type sde modification ne peuvent pas être indiqués comme « mineurs ».",
        "rcnotefrom": "Ci-dessous {{PLURAL:$5|la modification effectuée|les modifications effectuées}} depuis le <strong>$3, $4</strong> (affichées jusqu’à <strong>$1</strong>).",
        "rclistfrom": "Afficher les nouvelles modifications depuis le $3 à $2",
        "rcshowhideminor": "$1 les modifications mineures",
        "movelogpagetext": "Voici la liste de toutes les pages renommées ou déplacées.",
        "movesubpage": "Sous-page{{PLURAL:$1||s}}",
        "movesubpagetext": "Cette page a $1 {{PLURAL:$1|sous-page affichée|sous-pages affichées}} ci-dessous.",
-       "movesubpagetalktext": "La page de discussion correspodnante a $1 {{PLURAL:$1|sous-page|sous-pages}} affichées ci-dessous.",
+       "movesubpagetalktext": "La page de discussion correspondante a $1 {{PLURAL:$1|sous-page|sous-pages}} affichées ci-dessous.",
        "movenosubpage": "Cette page n'a aucune sous-page.",
        "movereason": "Motif :",
        "revertmove": "rétablir",
        "htmlform-user-not-exists": "<strong>$1</strong> n’existe pas.",
        "htmlform-user-not-valid": "<strong>$1</strong> n’est pas un nom d’utilisateur valide.",
        "logentry-delete-delete": "$1 {{GENDER:$2|a supprimé}} la page $3",
-       "logentry-delete-delete_redir": "$1 a {{GENDER:$2|supprimé}} la redirection vers $3 par écrasement.",
+       "logentry-delete-delete_redir": "$1 a {{GENDER:$2|supprimé}} la redirection vers $3 par écrasement",
        "logentry-delete-restore": "$1 {{GENDER:$2|a restauré}} la page $3",
        "logentry-delete-event": "$1 {{GENDER:$2|a modifié}} la visibilité {{PLURAL:$5|d'un événement du journal|de $5 événements du journal}} sur $3: $4",
        "logentry-delete-revision": "$1 {{GENDER:$2|a modifié}} la visibilité {{PLURAL:$5|d'une révision|de $5 révisions}} sur la page $3 : $4",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|a mis à jour}} les balises de la révision $4 de la page $3 ($6 {{PLURAL:$7|ajoutée|ajoutées}} ; $8 {{PLURAL:$9|supprimée|supprimées}})",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|a mis à jour}} les balises de l’entrée de journal $5 de la page $3 ($6 {{PLURAL:$7|ajoutée|ajoutées}} ; $8 {{PLURAL:$9|supprimée|supprimées}})",
        "rightsnone": "(aucun)",
-       "revdelete-summary": "résumé de modification",
        "rightslogentry-temporary-group": "$1 (temporaire, jusqu'au $2)",
        "feedback-adding": "Ajout de vos commentaires à la page...",
        "feedback-back": "Retour",
index a022551..280b124 100644 (file)
        "newwindow": "(woort uun en nei wönang eeben maaget)",
        "cancel": "Ufbreeg",
        "moredotdotdot": "Muar ...",
-       "morenotlisted": "Detdiar list as ei komplet.",
+       "morenotlisted": "Detdiar list küd ei komplet wees.",
        "mypage": "Sidj",
        "mytalk": "Diskuschuun",
        "anontalk": "Diskuschuun",
        "externaldberror": "Deer läit en fäägel bai jü äkstärn autentifisiiring for, unti dü möist din äkstärn brükerkonto äi aktualisiire.",
        "login": "Uunmelde",
        "nav-login-createaccount": "Melde di uun of skriiw di iin",
-       "userlogin": "Melde di uun of skriiw di iin",
-       "userloginnocreate": "Uunmelde",
        "logout": "Ufmelde",
        "userlogout": "Ufmelde",
        "notloggedin": "Ei uunmeldet",
        "userlogin-noaccount": "Dü heest noch nian brükerkonto ?",
        "userlogin-joinproject": "Bi {{SITENAME}} mämaage",
-       "nologin": "Dü heest nian brükerkonto? $1.",
-       "nologinlink": "Nei brükerkonto iinracht",
        "createaccount": "Brükerkonto iinracht",
-       "gotaccount": "Dü hääst ål en brükerkonto? '''$1'''.",
-       "gotaccountlink": "Uunmelde",
-       "userlogin-resetlink": "Heest dü din login dooten ferjiden?",
        "userlogin-resetpassword-link": "Paaswurd ferjiden?",
        "userlogin-helplink2": "Halep bi't uunmeldin",
        "userlogin-loggedin": "Du beest al üs {{GENDER:$1|$1}} uunmeldet.\nBrük det formulaar diar oner, am di mä en öödern nööm uuntumeldin.",
        "createacct-another-email-ph": "E-Mail-adres uundu",
        "createaccountmail": "E-mail tu detdiar adres ferschüür mä en tidjwiis tufelag paaswurd",
        "createacct-realname": "Rocht nööm (optional)",
-       "createaccountreason": "Grünj:",
        "createacct-reason": "Grünj",
        "createacct-reason-ph": "Huaram dü en ööder brükerkonto iinrachtst",
        "createacct-submit": "Din brükerkonto iinracht",
        "nocookieslogin": "{{SITENAME}} brükt cookies för't uunmeldin faan brükern.\nDü heest cookies deaktiwiaret.\nWees so gud an aktiwiare jo uun dan browser, an do ferschük det noch ans.",
        "nocookiesfornew": "Det brükerkonto as ei iinracht wurden, auer wi ei witj, huar a dooten faan kem.\nÜüb dan kompjuuter skel cookies aktiwiaret wees. Do rep detheer sidj noch ans nei ap.",
        "noname": "Dü skel en rochten brükernööm uundu.",
-       "loginsuccesstitle": "Uunmeldin hää loket.",
+       "loginsuccesstitle": "Uunmeldet",
        "loginsuccess": "'''Dü beest nü üs „$1“ bi {{SITENAME}} uunmeldet.'''",
-       "nosuchuser": "Di brükernööm „$1“ jaft at ei. Aachte üüb det skriiwwiis (an uk üüb grat- an letjskriiwang), an do [[Special:CreateAccount|melde di nei uun]].",
+       "nosuchuser": "Di brükernööm „$1“ jaft at ei. Aachte üüb det skriiwwiis (an uk üüb grat- an letjskriiwang), of [[Special:CreateAccount|melde di nei uun]].",
        "nosuchusershort": "Diar as nään brüker mä di nööm \"$1\".\nHeest dü ham uk rocht skrewen?",
        "nouserspecified": "Dü skel en brükernööm uundu.",
        "login-userblocked": "Didiar brüker as speret wurden. Hi mut ham ei uunmelde.",
        "eauthentsent": "Diar as en e-mail tu det uunjiwen adres schüürd wurden.\n\nIar en e-mail faan ööder brükern auer det e-mail-funktjuun uunnimen wurd koon, skal seeker steld wurd, dat det e-mail-adres uk würelk tu di brüker hiart. Wees so gud an befulge jo uunwisangen uun det e-mail, wat dü jüst füngen heest.",
        "throttled-mailpassword": "Diar as uun a leetst {{PLURAL:$1|stünj|$1 stünj}} al ans am en nei paaswurd uunfraaget wurden. Am dat diar nään masbrük mä drewen woort, koon bluas {{PLURAL:$1|iansis per stünj|iansis per $1 stünj}} am en nei paaswurd uunfraaget wurd.",
        "mailerror": "Fäägel bai dåt siinjen foon e e-mail: $1",
-       "acct_creation_throttle_hit": "Beschükern faan detheer wiki mä din IP-adres haa di leetst dai {{PLURAL:$1|1 brükerkonto|$1 brükerkontos}} iinracht. Muar san ei tuläät.\n\nBeschükern mä detdiar IP-adres kön daalang nian brükerkontos muar iinracht.",
+       "acct_creation_throttle_hit": "Beschükern faan detheer wiki mä din IP-adres haa a leetst $2 {{PLURAL:$1|1 brükerkonto|$1 brükerkontos}} iinracht. Muar san ei tuläät.\n\nBeschükern mä detdiar IP-adres kön daalang nian brükerkontos muar iinracht.",
        "emailauthenticated": "Din e-mail-adres as di $2 am a klook $3 gudkäänd wurden.",
        "emailnotauthenticated": "Din e-mail-adres as noch ei gudkäänd. Jodiar e-mail-funktjuunen kön iarst brükt wurd, wan det adres gudkäänd wurden as.",
        "noemailprefs": "Du en e-mail-adres uun din iinstelangen iin, amdat dü jodiar funktjuunen brük könst.",
        "botpasswords-insert-failed": "Di bot-nööm \"$1\" küd ei apnimen wurd. Ferlicht as hi al diar?",
        "botpasswords-update-failed": "Di bot-nööm \"$1\" küd ei apnimen wurd. As hi stregen wurden?",
        "botpasswords-created-title": "Bot-paaswurd as iinracht wurden.",
-       "botpasswords-created-body": "Det bot-paaswurd \"$1\" as iinracht wurden an uun funktjuun.",
+       "botpasswords-created-body": "Det bot-paaswurd för di bot \"$1\" faan di brüker \"$2\" as iinracht wurden.",
        "botpasswords-updated-title": "Bot-paaswurd as aktualisiaret wurden.",
-       "botpasswords-updated-body": "Det bot-paaswurd \"$1\" as aktualisiaret wurden an uun funktjuun.",
+       "botpasswords-updated-body": "Det bot-paaswurd för di bot \"$1\" faan di brüker \"$2\" as aktualisiaret wurden.",
        "botpasswords-deleted-title": "Bot-paaswurd as stregen wurden.",
-       "botpasswords-deleted-body": "Det bot-paaswurd \"$1\" as stregen wurden.",
+       "botpasswords-deleted-body": "Det bot-paaswurd för di bot \"$1\" faan di brüker \"$2\" as stregen wurden.",
        "resetpass_forbidden": "Det paaswurd koon ei feranert wurd.",
        "resetpass-no-info": "Dü skel di uunmelde, am üüb det sidj tutugripen.",
        "resetpass-submit-loggedin": "Paaswurd feranre",
        "passwordreset-emailtext-ip": "Hoker mä det IP-Adres $1, woorskiinelk dü salew, wul hal brükerinformatsjuunen för {{SITENAME}} tusjüürd fu ($4). {{PLURAL:$3|Detdiar brükerkonto as|Jodiar brükerkontos san}} mä detdiar E-Mail-adres ferbünjen:\n\n$2\n\n{{PLURAL:$3|Detheer tidjwiis paaswurd lääpt|Joheer tidjwiis paaswurden luup}} efter {{PLURAL:$5|ään dai|$5 daar}} uf. \nDü skulst di uunmelde an en nei paaswurd iinracht. Wan hoker ööders detheer uunfraag steld hää an dü din ual paaswurd käänst, do säärst dü niks widjer onernem. Melde di ianfach widjerhen mä din ual paaswurd uun.",
        "passwordreset-emailtext-user": "Di brüker $1 üüb {{SITENAME}} hää am brükerinformatsjuunen för {{SITENAME}} uunfraaget ($4). {{PLURAL:$3|Detdiar brükerkonto as|Jodiar brükerkontos san}} mä detdiar E-Mail-Adres ferbünjen:\n\n$2\n\n{{PLURAL:$3|Detheer tidjwiis paaswurd lääpt|Joheer tidjwiis paaswurden luup}} efter {{PLURAL:$5|ään dai|$5 daar}} uf. Dü skulst di uunmelde an en nei paaswurd iinracht. Wan hoker ööders detheer uunfraag steld hää of dü din ual paaswurd käänst, säärst dü niks widjer onernem. Melde di ianfach mä din ual paaswurd uun.",
        "passwordreset-emailelement": "Brükernööm: \n$1\n\nTidjwiis paaswurd: \n$2",
-       "passwordreset-emailsentemail": "Diar as en E-Mail tu di onerwais.",
-       "changeemail": "Feranre det E-Mail-adres",
-       "changeemail-header": "Feranre det E-Mail-adres",
+       "passwordreset-emailsentemail": "Diar as en E-Mail tu di onerwais, wan dü en adres uunden heest.",
+       "changeemail": "Feranre of strik det E-Mail-adres",
+       "changeemail-header": "Fal det formulaar ütj, wan dü din E-Mail-adres feranre wel. Wan dü nian adres uundu wel, läät det fial man leesag.",
        "changeemail-no-info": "Dü möist önjmälded weese am ju sid diräkt tu tu gripen.",
        "changeemail-oldemail": "Aktuel e-mail adres",
        "changeemail-newemail": "Nei e-mail adres",
        "sig_tip": "Din onerskraft mä tidjstempel",
        "hr_tip": "Horisontaal streg (ei auerdriiw diarmä)",
        "summary": "Tuupfaadet:",
-       "subject": "Auerskraft:",
+       "subject": "Teemo:",
        "minoredit": "Det as man en letj feranrang",
        "watchthis": "Detdiar sidj uun't uug behual",
        "savearticle": "Sidj seekre",
+       "savechanges": "Sidj seekre",
+       "publishpage": "Sidj seekre",
+       "publishchanges": "Sidj seekre",
        "preview": "Iarst ans luke",
        "showpreview": "Iarst ans luke",
        "showdiff": "Feranrangen wise",
        "missingsummary": "'''Paase üüb:''' Dü heest det ei tuupfaadet.\nWan dü det sidj seekerst, woort det saner en kurtfaadet beskriiwang auernimen.",
        "selfredirect": "<strong>Paase üüb:</strong> Dü feerst detheer sidj tu detsalew sidj widjer.\nDü heest was det ferkiard mual uunden, of dü bewerkest det ferkiard sidj.\nWan dü noch ans üüb „{{int:savearticle}}“ trakst, woort det widjerfeerang likes iinracht.",
        "missingcommenttext": "Faade det oner tuup.",
-       "missingcommentheader": "'''Paase üüb:''' Dü heest nian auerskraft uunden.\nWan dü det sidj seekerst, woort det saner auerskraft auernimen.",
+       "missingcommentheader": "<strong>Paase üüb:</strong> Dü heest nian teemo uunden. Wan dü noch ans üüb „{{int:savearticle}}“ trakst, woort din feranrang saner auerskraft seekert.",
        "summary-preview": "Föörskau faan det tuupfaadang:",
        "subject-preview": "Föörskau faan det auerskraft:",
        "previewerrortext": "Diar as wat skiaf gingen, üs en föörskau faan din feranrangen wiset wurd skul.",
        "accmailtext": "En tufelag iinracht paaswurd för [[User talk:$1|$1]] as tu $2 ferschüürd wurden. Det koon üüb det spezial-sidj ''[[Special:ChangePassword|Paaswurd anre]]'' feranert wurd, wan dü uunmeldet beest.",
        "newarticle": "(Nei)",
        "newarticletext": "Dü beest en ferwisang tu en sidj fulagt, diar't noch ei jaft.\nAm det sidj iinturachten, skriiw dan tekst uun det fial för't bewerkin iin.\nÜüb det [$1 halepsidj] fanjst dü halep.\nWan dü ütj fersen heer beest, trak ianfach üüb di <strong>turag</strong>-knoop faan dan browser.",
-       "anontalkpagetext": "----''Üüb detheer sidj könst dü en ünbekäänden brüker en nooracht du. Det lääpt auer sin IP adres. IP adresen kön faan flook brükern brükt wurd. Wan dü mä detheer nooracht niks began könst, do as det ferlicht för hoker ööders mend weesen. Dü säärst niks widjer onernem. Wan dü en aanj [[Special:CreateAccount|brükerkonto iinrachst]] of di [[Special:UserLogin|uunmeldest]], komt sowat ei weder föör.",
+       "anontalkpagetext": "----\n<em>Üüb detdiar sidj könst dü hoker, wat ei uunmeldet as, bööd du.</em>\nDiarför woort sin IP-adres brükt. IP-adresen kön oober faan ünlik brükern nadagt wurd.\nWan dü mä jo komentaaren niks began könst, do as was en öödern brüker mend. Ferjid det ianfach.\nDü könst di uk en [[Special:CreateAccount|brükerkonto iinracht]] of di [[Special:UserLogin|uunmelde]], am dat dü ei mä ööder brükern ferwakselt woorst.",
        "noarticletext": "Üüb detdiar sidj stäänt noch niks.\nDü könst didiar tiitel üüb ööder sidjen [[Special:Search/{{PAGENAME}}|schük]],\n<span class=\"plainlinks\">uun [{{fullurl:{{#special:Log}}|page={{FULLPAGENAMEE}}}} logbuken schük] of detdiar sidj [{{fullurl:{{FULLPAGENAME}}|action=edit}} maage]</span>.",
        "noarticletext-nopermission": "Üüb detdiar sidj stäänt noch niks, oober dü mutst diar uk niks iinskriiw.\nDü könst diar üüb ööder sidjen efter [[Special:Search/{{PAGENAME}}|schük]] of a <span class=\"plainlinks\">[{{fullurl:{{#special:Log}}|page={{FULLPAGENAME}}}} logbuken uunluke].</span>",
        "missing-revision": "Det werjuun #$1 faan det sidj \"{{FULLPAGENAME}}\" jaft at ei.\n\nDet komt diar miast faan, dat en ual ferwisang stregen wurden as.\nDü könst det uun't [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} logbuk faan stregen sidjen] efterlees.",
        "previewnote": "'''Heer könst dü sä, hü det sidj wurd skal.'''\nDet sidj as oober noch ei seekert!",
        "continue-editing": "Gung tu't fial för't bewerkin",
        "previewconflict": "Detdiar föörskau wiset di boowenst dial faan dan tekst. So schocht hi ütj, wan dü ham nü seekerst.",
-       "session_fail_preview": "'''Din werk küd ei ufseekert wurd, diar as wat skiaf gingen.'''\nFerschük det man noch ans an trak do üüb ''Sidj seekre''.\nWan't do imer noch ei loket, [[Special:UserLogout|melde di uf]] an weder uun.",
+       "session_fail_preview": "Entskilage! Din werk küd ei ufseekert wurd. Diar as wat skiaf gingen.\n\nFerlicht beest dü ufmeldet wurden. <strong>Stel seeker, dat dü noch uunmeldet beest an ferschük det man noch ans</strong>.\nWan det ei wal, do mutst dü di man [[Special:UserLogout|ufmelde]] an do weder nei uunmelde. Dan browser skal cookies uunnem kön.",
        "session_fail_preview_html": "'''Din werk küd ei seekert wurd. Diar as wat skiaf gingen.'''\n\n''Uun {{SITENAME}} as HTML aktiwiaret, an diaram as JavaScript deaktiwiaret wurden.''\n\nFerschük det man noch ans an trak do üüb ''Sidj seekre''.\nWan't do imer noch ei loket, [[Special:UserLogout|melde di uf]] an weder uun.",
        "token_suffix_mismatch": "'''Din werk küd ei ufseekert wurd, auer diar frääm tiaken uun san.'''\n\nDet komt flooksis föör, wan Dan anonym Proxy-siinst ei rocht werket.",
        "edit_form_incomplete": "'''Enkelt dialen faan det formulaar san ei rocht uunkimen.'''\nWees so gud an kontroliare ales noch ans.",
        "copyrightwarning2": "Seenk diaram, dat det sidj {{SITENAME}} faan öödern bewerket, feranert of uk stregen wurd koon. Wan dü det ei wel, do skriiw heer niks iin! \n\nWan dü heer wat iinskrafst, do beest dü diarmä iinferstenen an seekerst tu, dat dü det '''salew skrewen''' heest of faan en steed auernimen heest, huar '''nian rochten''' üüb lei. (Luke bi $1, wan dü muar wed wel.)\n\n'''Auerdreeg nään frääm teksten an bilen saner ferloof!'''",
        "editpage-cannot-use-custom-model": "Det muude faan detheer sidj koon ei feranert wurd.",
        "longpageerror": "'''Error: Dan tekst as {{PLURAL:$1|ian kilobyte|$1 kilobytes}} lung, hi mut oober ei linger wees üs {{PLURAL:$2|ian kilobyte|$2 kilobytes}}.'''Hi koon ei ufspiikerd wurd.",
-       "readonlywarning": "'''Paase üüb: Dü könst uun uugenblak ei üüb det dootenbeenk tugrip. Din dooten kön ei seekert wurd.''' Wees so gud an seekre dan tekst iarst ans üüb dan reegner, an ferschük leederhen, ham tu auerdreegen.\n\nGrünj för det sperin: $1",
+       "readonlywarning": "<strong>Paase üüb: Dü könst uun uugenblak ei üüb det dootenbeenk tugrip. Din dooten kön ei seekert wurd.</strong> Wees so gud an seekre dan tekst iarst ans üüb dan reegner, an ferschük leederhen, ham tu auerdreegen.\n\nGrünj för det sper: $1",
        "protectedpagewarning": "'''Paase üüb: Detdiar sidj as speret wurden. Bluas administratooren kön det bewerke.'''\nUun't logbuk stäänt muar diartu:",
        "semiprotectedpagewarning": "'''Paase üüb: Detdiar sidj as dialwiis tu't bewerkin speret wurden. Bluas gudkäänd brükern kön det bewerke.'''\nUun't logbuk stäänt muar diartu:",
        "cascadeprotectedwarning": "<strong>Paase üüb:</strong> Detdiar sidj koon bluas faan administratooren bewerket wurd. Hat as uun {{PLURAL:$1|detdiar ööder sidj|jodiar ööder sidjen}} iinbünjen, diar troch en kaskaadensper seekert {{PLURAL:$1|as|san}}:",
        "page_first": "Began",
        "page_last": "Aanj",
        "histlegend": "Am a feranrangen uuntuwisin, schük tau werjuunen ütj an trak üüb „{{int:compareselectedversions}}“.<br />\n* '''({{int:cur}})''' = ferskeel tu't aktuel werjuun, '''({{int:last}})''' = ferskeel tu't leetst werjuun, '''{{int:minoreditletter}}''' = letj feranrang.",
-       "history-fieldset-title": "Schük uun a ferluup",
-       "history-show-deleted": "Bluas stregen werjuunen",
+       "history-fieldset-title": "Schük efter werjuunen",
+       "history-show-deleted": "Bluas stregen werjuunen wise",
        "histfirst": "Äälst",
        "histlast": "Neist",
        "historysize": "({{PLURAL:$1|1 byte|$1 bytes}})",
        "revdelete-unsuppress": "Weder iinsteld werjuunen luasmaage",
        "revdelete-log": "Grünj:",
        "revdelete-submit": "Widjer för {{PLURAL:$1|ütjsoocht werjuun|ütjsoocht werjuunen}}",
-       "revdelete-success": "'''Det werjuunsuunsicht as aktualisiaret wurden.'''",
+       "revdelete-success": "Det werjuunsuunsicht as aktualisiaret wurden.",
        "revdelete-failure": "'''Jü färsjoonsönjsicht köö ai aktualisiird wårde:'''\n$1",
-       "logdelete-success": "'''Logbukuunsicht as aktualisiaret wurden.'''",
+       "logdelete-success": "Logbukuunsicht as aktualisiaret wurden.",
        "logdelete-failure": "'''Det logbukuunsicht küd ei feranert wurd:'''\n$1",
        "revdel-restore": "Feranre, wat tu sen wees skal",
        "pagehist": "Ferluup faan werjuunen",
        "mergehistory-go": "Wise werjuunen, diar tuupfeerd wurd kön.",
        "mergehistory-submit": "Werjuunen tuupfeer",
        "mergehistory-empty": "Nian werjuunen kön tuupfeerd wurd.",
-       "mergehistory-done": "$3 {{PLURAL:$3|werjuun|werjuunen}} faan $1 tuupfeerd tu [[:$2]].",
+       "mergehistory-done": "{{PLURAL:$3|Ian werjuun as|$3 werjuunen san}} faan „$1“ tu „[[:$2]]“ tuupfeerd wurden.",
        "mergehistory-fail": "Werjuunen kön ei tuupfeerd wurd. Luke noch ans efter at sidj an a tidjen.",
        "mergehistory-fail-toobig": "A werjuunen küd ei tuupfeerd wurd, auer muar üs {{PLURAL:$1|ian werjuun|$1 werjuunen}} fersköwen {{PLURAL:$1|wurd skul|wurd skul}}.",
        "mergehistory-no-source": "Det iarst sidj \"$1\" as ai diar.",
        "prefs-watchlist-token": "Token för uun't uug behualen:",
        "prefs-misc": "Dit an dat",
        "prefs-resetpass": "Paaswurd feranre",
-       "prefs-changeemail": "Feranre det E-Mail-adres",
+       "prefs-changeemail": "Feranre of strik det E-Mail-adres",
        "prefs-setemail": "E-Mail-adres fäästlei:",
        "prefs-email": "E-Mail iinstelangen",
        "prefs-rendering": "Skak",
        "restoreprefs": "Normool iinstelangen weder haale (uun arke kirew)",
        "prefs-editing": "Bewerke",
        "searchresultshead": "Schük",
-       "stub-threshold": "Formatiarang faan links <a href=\"#\" class=\"stub\">för letj sidjen</a> (uun Byte):",
+       "stub-threshold": "Formatiarang faan ferwisangen faan letj sidjen ($1):",
        "stub-threshold-disabled": "Ufsteld",
        "recentchangesdays": "Soföl daar skel a „leetst feranrangen“ uunwise:",
        "recentchangesdays-max": "Ei muar üs {{PLURAL:$1|ään dai|$1 daar}}",
        "prefs-help-prefershttps": "Detdiar iinstelang täält, wan dü di naist tooch uunmeldest.",
        "prefswarning-warning": "A feranrangen bi din iinstelangen san noch ei seekert wurden.\nWan dü detheer sidj ferläätst, saner üüb \"$1\" tu traken, wurd din iinstelangen ei aktualisiaret.",
        "prefs-tabs-navigation-hint": "Halep: Dü könst a lachter of rochter wiiser-knoop brük, am tesken a ridjerkoorden boowen uun't menüü hen an weder tu springen.",
-       "userrights": "Brükerrochten bewerke",
-       "userrights-lookup-user": "Brükersköölen bewerke",
+       "userrights": "Brükerrochten",
+       "userrights-lookup-user": "En brüker besteme",
        "userrights-user-editname": "Brükernööm:",
-       "editusergroup": "Brükersköölen bewerke",
+       "editusergroup": "Brükersköölen loose",
        "editinguser": "Feranre brükerrochten {{GENDER:$1|faan di brüker}} <strong>[[User:$1|$1]]</strong> $2",
-       "userrights-editusergroup": "Lasmootskap tu brükersköölen bewerke",
-       "saveusergroups": "Brükersköölen seekre",
+       "userrights-editusergroup": "Lasmootskat tu brükersköölen faan {{GENDER:$1|di brüker|det brüker}} bewerke",
+       "saveusergroups": "{{GENDER:$1|Lasmootskap tu brükersköölen}} feranre",
        "userrights-groupsmember": "Lasmoot faan:",
        "userrights-groupsmember-auto": "Faan salew lasmoot faan:",
-       "userrights-groups-help": "Dü könst feranre, tu hün brükerskööl di brüker hiirt:\n* En uunkrüsagt kasche ment, di brüker hiirt diartu.\n* En ei uunkrüsagt kasche ment, di brüker hiart ei diartu.\n* En * ment, dat dü det brükerrocht ei weder wechnem könst (of amkiard).",
+       "userrights-groups-help": "Dü könst feranre, tu hün brükerskööl di brüker hiirt:\n* En uunkrüsagt kasche ment, di brüker hiirt diartu.\n* En ei uunkrüsagt kasche ment, di brüker hiart ei diartu.\n* En * ment, dat dü det brükerrocht ei weder wechnem könst (of amkiard).\n* En # ment, dat dü di tidjponkt bluas efter bääften fersküüw könst, ei efter föören.",
        "userrights-reason": "Grünj:",
        "userrights-no-interwiki": "Dü heest ei det rocht, am brükerrochten uun ööder wikis tu feranrin.",
        "userrights-nodatabase": "Det dootenbeenk $1 jaft at ei, tumanst ei lokaal.",
        "group-bot": "Bots",
        "group-sysop": "Administratooren",
        "group-bureaucrat": "Bürokraaten",
-       "group-suppress": "Oversighter",
+       "group-suppress": "Fersteeger",
        "group-all": "(Aal a)",
        "group-user-member": "{{GENDER:$1|Brüker}}",
        "group-autoconfirmed-member": "{{GENDER:$1|Registriaret brüker}}",
        "group-bot-member": "{{GENDER:$1|Bot}}",
        "group-sysop-member": "{{GENDER:$1|Administraator}}",
        "group-bureaucrat-member": "{{GENDER:$1|Bürokraat}}",
-       "group-suppress-member": "{{GENDER:$1|Oversighter}}",
+       "group-suppress-member": "{{GENDER:$1|Fersteeger}}",
        "grouppage-user": "{{ns:project}}:Brükern",
        "grouppage-autoconfirmed": "{{ns:project}}:Registriaret brükern",
        "grouppage-bot": "{{ns:project}}:Bots",
        "grouppage-sysop": "{{ns:project}}:Administratooren",
        "grouppage-bureaucrat": "{{ns:project}}:Bürokraaten",
-       "grouppage-suppress": "{{ns:project}}:Oversighter",
+       "grouppage-suppress": "{{ns:project}}:Fersteeg",
        "right-read": "Sidjen lees",
        "right-edit": "Sidjen bewerke",
        "right-createpage": "Sidjen maage (saner diskuschuunsidjen)",
        "right-siteadmin": "Dootenbeenk spere an eebenmaage",
        "right-override-export-depth": "Sidjen an onersidjen bit tu en jipde faan 5 eksportiare",
        "right-sendemail": "E-mails tu ööder brükern schüür",
-       "right-managechangetags": "[[Special:Tags|Markiarangen]] iinracht an uun't dootenbeenk strik",
+       "right-managechangetags": "[[Special:Tags|Markiarangen]] iinracht an (de)aktiwiare",
        "right-applychangetags": "[[Special:Tags|Markiarangen]] tuup mä ööder feranrangen brük",
        "right-changetags": "Feranre [[Special:Tags|markiarangen]] faan enkelt werjuunen of logbukiindracher",
        "newuserlogpage": "Neiuunmeldangs-logbuk",
        "rightslogtext": "Det as det logbuk auer feranrangen faan brükerrochten.",
        "action-read": "jüdeer sid leese",
        "action-edit": "detdiar sidj tu bewerkin",
-       "action-createpage": "nei sidjen tu maagin",
-       "action-createtalk": "diskuschuunsidjen maage",
+       "action-createpage": "an maage detdiar sidj",
+       "action-createtalk": "an maage detdiar diskuschuunsidj",
        "action-createaccount": "jüdeer brükerkonto mååge",
        "action-history": "di ferluup faan detdiar sidj uuntulukin.",
        "action-minoredit": "detdiar feranrang üs letj kääntiakne",
        "action-upload_by_url": "detdiar datei faan en URL-adres huuchtusjüüren",
        "action-writeapi": "iin uun det API tu skriiwen",
        "action-delete": "detdiar sidj strik",
-       "action-deleterevision": "werjuunen tu striken",
-       "action-deletedhistory": "det list mä stregen werjuunen uuntulukin",
+       "action-deleterevision": "an strik werjuunen",
+       "action-deletedhistory": "an luke det list mä stregen werjuunen uun",
        "action-browsearchive": "schük stregen sidjen",
-       "action-undelete": "detdiar sidj weder iinstel",
-       "action-suppressrevision": "det ferbürgen werjuun uuntulukin an weder turagtuhaalin",
+       "action-undelete": "an stel sidjen weder iin",
+       "action-suppressrevision": "an luke ferbürgen werjuunen uun of stel jo weder iin",
        "action-suppressionlog": "iin uun det priwoot logbuk tu lukin",
        "action-block": "di brüker tu sperin",
        "action-protect": "det seekerhaid faan sidjen tu feranrin",
        "action-viewmyprivateinfo": "din priwoot dooten uuntulukin",
        "action-editmyprivateinfo": "din priwoot dooten tu bewerkin",
        "action-editcontentmodel": "det model faan det sidj tu bewerkin",
-       "action-managechangetags": "markiarangen iinracht an uun't dootenbeenk strik",
+       "action-managechangetags": "an racht markiarangen iin an (de)aktiwiare jo",
        "action-applychangetags": "markiarangen tuup mä ööder feranrangen tu brüken",
        "action-changetags": "markiarangen faan enkelt werjuunen of logbukiindracher tu feranrin",
        "nchanges": "$1 {{PLURAL:$1|feranrang|feranrangen}}",
        "recentchangeslinked-page": "Sidjennööm:",
        "recentchangeslinked-to": "Wise feranrangen üüb sidjen, diar heerhen ferwise.",
        "recentchanges-page-added-to-category": "[[:$1]] tu kategorii saat",
-       "recentchanges-page-added-to-category-bundled": "[[:$1]] an [[Special:WhatLinksHere/$1|{{PLURAL:$2|ian sidj muar|$2 muar sidjen}}]] tu kategorii saat",
+       "recentchanges-page-added-to-category-bundled": "[[:$1]] tu kategorii saat, [[Special:WhatLinksHere/$1|detdiar sidj as uun ööder sidjen iinbünjen.]]",
        "recentchanges-page-removed-from-category": "[[:$1]] faan't kategorii wechnimen",
-       "recentchanges-page-removed-from-category-bundled": "[[:$1]] an {{PLURAL:$2|ian sidj muar|$2 muar sidjen}} faan det kategorii wechnimen",
+       "recentchanges-page-removed-from-category-bundled": "[[:$1]] faan det kategorii wechnimen, [[Special:WhatLinksHere/$1|detdiar sidj as uun ööder sidjen iinbünjen]]",
        "upload": "Datei huuchschüür",
        "uploadbtn": "Datei huuchschüür",
        "reuploaddesc": "Ufbreeg an turag tu't sidj för't huuchschüüren",
        "backend-fail-read": "Det datei $1 küd ei leesen wurd.",
        "backend-fail-create": "Det datei $1 küd ei seekert wurd.",
        "backend-fail-maxsize": "Det datei $1 küd ei seekert wurd, auer det grater üs {{PLURAL:$2|1 byte|$2 bytes}} as.",
-       "backend-fail-readonly": "Det süsteem „$1“ koon uun uugenblak bluas lees. Di grünj as: „$2“",
+       "backend-fail-readonly": "Det dootebeenk „$1“ koon uun uugenblak bluas lees. Di grünj as: <em>$2</em>",
        "backend-fail-synced": "Det datei „$1“ woort jüst faan't süsteem bewerket.",
        "backend-fail-connect": "Küd ei mä't süsteem „$1“ ferbinj.",
        "backend-fail-internal": "Uun't süsteem „$1“ as wat skiaf gingen.",
        "nopagetext": "Det sidj, wat fersköwen wurd skal, as ei diar.",
        "pager-newer-n": "{{PLURAL:$1|1 neier|$1 neier}}",
        "pager-older-n": "{{PLURAL:$1|1 ääler|$1 ääler}}",
-       "suppress": "Oversight",
+       "suppress": "Fersteeg",
        "querypage-disabled": "Detdiar spezial-sidj as ei aktiif, am det süsteem ei tu auerläästin.",
        "apihelp": "Halep för API",
        "apihelp-no-such-module": "Moduul \"$1\" ei fünjen.",
        "booksources-text": "Detdiar list ferwiset üüb wääbsteeden, diar nei an brükt buken ferkuupe. Diar feist dü uk muar tu weden. {{SITENAME}} hää mo jodiar kuuplidj oober niks tu dun.",
        "booksources-invalid-isbn": "Detdiar ISBN as woorskiinelk ferkiard. Luke noch ans efter, of det rocht auerdraanj wurden as.",
        "specialloguserlabel": "Brüker:",
-       "speciallogtitlelabel": "Mual (sidjennööm of brüker):",
+       "speciallogtitlelabel": "Mual (Tiitel of {{ns:user}}:brükernööm för di brüker):",
        "log": "Logbuken",
        "all-logs-page": "Aal a öfentelk logbuken",
        "alllogstext": "Diar wurd aal a logbuken faan {{SITENAME}} uunwiset.\nDet woort efter logbukslach, brüker of sidjennööm uunwiset. Grat- an letjskriiwang skel beaachtet wurd.",
        "emailccsubject": "Kopii faan din mädialang tu $1: $2",
        "emailsent": "E-mail as wechschüürd wurden",
        "emailsenttext": "Din e-mail as wechschüürd wurden.",
-       "emailuserfooter": "Detdiar e-mail as faan „$1“ tu „$2“ auer det funktjuun „{{int:emailuser}}“ bi {{SITENAME}} schüürd wurden.",
+       "emailuserfooter": "Detdiar E-Mail as faan „$1“ tu „{{GENDER:$2|$2}}“ mä det funktjuun „{{int:emailuser}}“ bi {{SITENAME}} {{GENDER:$1|schüürd}} wurden. Wan {{GENDER:$2|dü}} üüb detdiar E-Mail swaarest, woort det direkt tu {{GENDER:$1|di|det}} ufschüürer schüürd. Diarbi feit {{GENDER:$1|hi|hat}} {{GENDER:$2|din}} E-Mail-adres tu weden.",
        "usermessage-summary": "Süsteemnooracht seekert.",
        "usermessage-editor": "Süsteemnoorachten siinst",
        "watchlist": "Uun't uug behual",
        "deletepage": "Sidj strik",
        "confirm": "Gudkään",
        "excontent": "diar sted: „$1“",
-       "excontentauthor": "diar sted: „$1“ (iansagst bewerker: [[Special:Contributions/$2|$2]])",
+       "excontentauthor": "Diar sted: „$1“, an di iansagst bewerker wiar: [[Special:Contributions/$2|$2]] ([[User talk:$2|Diskuschuun]])",
        "exbeforeblank": "diar sted föör't leesag maagin: „$1“",
        "delete-confirm": "Strik \"$1\"",
        "delete-legend": "Strike",
        "delete-toobig": "Detdiar sidj hää muar üs $1 {{PLURAL:$1|werjuun|werjuunen}} . Sok sidjen kön ei so gau stregen wurd, ööders san a servers plaat.",
        "delete-warning-toobig": "Detdiar sidj hää muar üs $1 {{PLURAL:$1|werjuun|werjuunen}} . Det striken koon komer maage bi't dootenbeenk.",
        "deleteprotected": "Dü könst detdiar sidj ei strik, auer det seekert wurden as.",
-       "deleting-backlinks-warning": "'''Paase üüb:''' Diar ferwise noch [[Special:WhatLinksHere/{{FULLPAGENAME}}|ööder sidjen]] üüb det sidj, diar dü strik wel. Of det sidj as noch huarööders iinbünjen.",
+       "deleting-backlinks-warning": "<strong>Paase üüb:</strong> Diar ferwise noch [[Special:WhatLinksHere/{{FULLPAGENAME}}|ööder sidjen]] üüb det sidj, diar dü strik wel. Of det sidj as noch huarööders iinbünjen.",
        "rollback": "Feranrangen turagsaat",
        "rollbacklink": "turagsaat",
        "rollbacklinkcount": "$1 {{PLURAL:$1|feranrang|feranrangen}} turagsaat",
        "editcomment": "Tuupfaadet feranrang: <em>$1</em>.",
        "revertpage": "Feranrangen faan [[Special:Contributions/$2|$2]] ([[User talk:$2|Diskuschuun]]) san üüb di leetst stant faan [[User:$1|$1]] turagsaat wurden.",
        "revertpage-nouser": "Feranrangen faan en ferbürgenen brüker turagsaat an det leetst werjuun faan {{GENDER:$1|[[User:$1|$1]]}} weder iinsteld.",
-       "rollback-success": "Feranrangen faan $1 turagsaat an det leetst werjuun faan $2 weder iinsteld.",
+       "rollback-success": "Feranrangen faan {{GENDER:$3|$1}} san turagsaat an det leetst werjuun faan {{GENDER:$4|$2}} as weder iinsteld wurden.",
        "sessionfailure-title": "session feeler",
        "sessionfailure": "Diar as wat skiaf gingen bi't auerdreegen faan din brükerdooten.\nAm dat diar ei noch muar skiaf gongt, as det aktjuun ufbreegen wurden.\nGung turag, an began faan föören.",
        "changecontentmodel": "Det muude faan det sidj feranre",
        "changecontentmodel-cannot-convert": "Det muude faan [[:$1]] koon ei tu typ $2 feranert wurd.",
        "changecontentmodel-nodirectediting": "Uun det $1 muude könst dü ei direkt bewerke",
        "log-name-contentmodel": "Muude-feranrang-logbuk",
-       "log-description-contentmodel": "Föörkemen am det sidjenmuude",
+       "log-description-contentmodel": "Detdiar sidj wiset feranrangen bi det muude faan sidjen, an uk sok sidjen, diar efter en ööder muude maaget san.",
        "logentry-contentmodel-change": "$1 {{GENDER:$2|hää}} det muude faan sidj $3 faan „$4“ efter „$5“ feranert.",
        "logentry-contentmodel-change-revertlink": "turagsaat",
        "logentry-contentmodel-change-revert": "turagsaat",
        "sp-contributions-newbies-sub": "Faan nei brükern",
        "sp-contributions-newbies-title": "Brükerbidracher faan nei brükern",
        "sp-contributions-blocklog": "Sper-logbuk",
-       "sp-contributions-suppresslog": "Ei uunwiset brüker-bidracher",
-       "sp-contributions-deleted": "Stregen bidracher",
+       "sp-contributions-suppresslog": "Fersteecht {{GENDER:$1|brükerbidracher}}",
+       "sp-contributions-deleted": "Stregen {{GENDER:$1|brüker}} bidtacher",
        "sp-contributions-uploads": "Huuchschüürd bilen",
        "sp-contributions-logs": "Logbuken",
        "sp-contributions-talk": "Diskuschuun",
        "whatlinkshere-hideredirs": "$1 widjerfeerangen",
        "whatlinkshere-hidetrans": "$1 iinbünjen föörlaagen",
        "whatlinkshere-hidelinks": "$1 ferwisangen",
-       "whatlinkshere-hideimages": "Ferwisangen tu datein $1",
+       "whatlinkshere-hideimages": "$1 ferwisangen tu datein",
        "whatlinkshere-filters": "Filtere",
        "autoblockid": "Automaatisk sper #$1",
        "block": "Brüker spere",
        "cant-move-to-user-page": "Dü mutst nian sidjen üüb en brükersidj fersküüw (bluas üüb onersidjen).",
        "cant-move-category-page": "Dü mutst nian kategoriisidjen fersküüw.",
        "cant-move-to-category-page": "Dü mutst nian sidj tu en kategoriisidj fersküüw.",
-       "newtitle": "Müülj:",
+       "newtitle": "Nei tiitel:",
        "move-watch": "Jodiar sidjen uun't uug behual",
        "movepagebtn": "Sidj fersküüw",
        "pagemovedsub": "Fersküüwen hää loket",
        "movenosubpage": "Det sidj hää nian onersidjen.",
        "movereason": "Grünj:",
        "revertmove": "turag fersküüw",
-       "delete_and_move_text": "== Striken nuadag  ==\n\nDet sidj „[[:$1]]“ as al diar. Wel dü det strik, am det sidj tu fersküüwen?",
+       "delete_and_move_text": "Det sidj „[[:$1]]“ as al diar. Wel dü det strik, am det sidj tu fersküüwen?",
        "delete_and_move_confirm": "Ja, sidj strik",
        "delete_and_move_reason": "Stregen, am steeds för det fersküüwen faan „[[$1]]“ tu maagin.",
        "selfmove": "A nöömer san likedenang. Dü könst nian sidj üüb ham salew fersküüw.",
        "move-leave-redirect": "Widjerfeerang iinracht",
        "protectedpagemovewarning": "'''Paase üüb: Detdiar sidj as speret wurden. Bluas administratooren kön det fersküüw.'''\nUun't logbuk stäänt muar diartu:",
        "semiprotectedpagemovewarning": "'''Paase üüb:''' Detdiar sidj as dialwiis tu't bewerkin speret wurden. Bluas gudkäänd brükern kön det fersküüw.\nUun't logbuk stäänt muar diartu:",
-       "move-over-sharedrepo": "== Datei as al diar ==\n[[:$1]] stäänt uun en gemiansoom brükt archiif. Det fersküüwen üüb didiar nööm auerskraft det gemiansoom brükt datei.",
+       "move-over-sharedrepo": "[[:$1]] stäänt uun en gemiansoom brükt archiif. Det fersküüwen üüb didiar nööm auerskraft det gemiansoom brükt datei.",
        "file-exists-sharedrepo": "Didiar dateinööm woort al uun en gemiansoom archiif brükt. Wees so gud, an nem en öödern nööm.",
        "export": "Sidjen eksportiare",
        "exporttext": "Mä detdiar spezial-sidj könst dü di tekst mä aal sin werjuunen tu en XML-datei eksportiare. Det nei datei koon do faan en ööder MediaWiki-Wiki [[Special:Import|importiaret]] wurd.\n\nSkriiw a sidjennöömer iin uun det tekstfial (man bluas ään noom uun arke rä).\n\nDi eksport as uk mä [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] mögelk, tun bispal för det [[{{MediaWiki:Mainpage}}]].",
        "tooltip-feed-rss": "RSS-feed för detdiar sidj",
        "tooltip-feed-atom": "Atom-feed för detdiar sidj",
        "tooltip-t-contributions": "List mä bidracher faan {{GENDER:$1|didiar brüker|detdiar brüker}} uunluke",
-       "tooltip-t-emailuser": "En e-mail tu didiar brüker schüür",
+       "tooltip-t-emailuser": "En E-Mail tu {{GENDER:$1|didiar|detdiar}} brüker schüür",
        "tooltip-t-info": "Muar auer detdiar sidj",
        "tooltip-t-upload": "Datein huuchschüür",
        "tooltip-t-specialpages": "Auersicht auer aal a spezial-sidjen",
        "tooltip-ca-nstab-category": "Kategoriisidj uunluke",
        "tooltip-minoredit": "Detdiar feranrang üs letj kääntiakne.",
        "tooltip-save": "Feranrangen seekre",
+       "tooltip-publish": "Din feranrangen seekre",
        "tooltip-preview": "Föörskau faan feranrangen üüb detdiar sidj. Iarst noch ans luke, iar dü det sidj seekerst!",
        "tooltip-diff": "Feranrangen bi a tekst wise",
        "tooltip-compareselectedversions": "Ferskeel tesken tau werjuunen faan detdiar sidj uunwise.",
        "lastmodifiedatby": "Det sidj as tuleetst di $1 am a klook $2 faan $3 feranert wurden.",
        "othercontribs": "Üüb grünjlaag faan det werk faan $1.",
        "others": "öödern",
-       "siteusers": "{{SITENAME}} {{PLURAL:$2|brüker|brükern}} $1",
+       "siteusers": "{{SITENAME}} {{PLURAL:$2|{{GENDER:$1|brüker}}|brükern}} $1",
        "anonusers": "{{PLURAL:$2|anonüümen|anonüüm}} {{SITENAME}}-{{PLURAL:$2|brüker|brükern}} $1",
        "creditspage": "Sidjeninformatsjuunen",
        "nocredits": "Diar san nian sidjeninformatsjuunen",
        "logentry-managetags-deactivate": "$1 {{GENDER:$2|hää}} det markiarang \"$4\" för't bewerkin faan brükern of bots de-aktiwiaret.",
        "log-name-tag": "Markiarang-logbuk",
        "rightsnone": "(-)",
-       "revdelete-summary": "tuhuupefootings-komäntoor",
        "feedback-adding": "Komentaar woort tu det sidj skrewen ...",
        "feedback-back": "Turag",
        "feedback-bugcheck": "Gud! Luke noch ans efter, of det ei ferlicht en [$1 bekäänden feeler] as.",
index e10b921..56c3c62 100644 (file)
        "toc": "Ynhâld",
        "showtoc": "sjen litte",
        "hidetoc": "net sjen litte",
+       "collapsible-collapse": "Ynklappe",
+       "collapsible-expand": "Utklappe",
        "confirmable-yes": "Ja",
        "confirmable-no": "Nee",
        "thisisdeleted": "\"$1\" lêze of werombringe?",
        "externaldberror": "Der is in fout by it oanmelden by de database of jo hawwe gjin tastimming om jo ekstern account by te wurkjen.",
        "login": "Oanmelde",
        "nav-login-createaccount": "Oanmelde",
-       "userlogin": "Oanmelde",
-       "userloginnocreate": "Ynlogge",
        "logout": "Ofmelde",
        "userlogout": "Ofmelde",
        "notloggedin": "Net oanmelde",
        "userlogin-noaccount": "Hasto gjin akkount?",
        "userlogin-joinproject": "Meidwaan {{SITENAME}}",
-       "nologin": "Noch net oanmelden as meidogger? $1.",
-       "nologinlink": "Meitsje in brûker oan",
        "createaccount": "Registrearje",
-       "gotaccount": "Hawwe jo jo al as meidogger oanmelde? '''$1'''.",
-       "gotaccountlink": "Oanmelde",
-       "userlogin-resetlink": "Ynlochdata fergetten?",
        "userlogin-resetpassword-link": "Wachtwurd fergetten?",
        "createacct-emailrequired": "E-mailadres",
        "createacct-emailoptional": "E-mailadres (net ferplichte)",
        "createacct-another-email-ph": "E-mailadres ynfiere",
        "createaccountmail": "troch e-mail",
        "createacct-realname": "Echte namme (net ferplichte)",
-       "createaccountreason": "Reden:",
        "createacct-reason": "Reden",
        "createacct-reason-ph": "Wêrom makkesto in oare akkount?",
        "createacct-submit": "Meitsje in akkount",
        "revertmerge": "Gearfoeging ûngedien meitsje",
        "mergelogpagetext": "Hjirûnder stiet in list fan resinte gearfoegings fan ien side-skiednis nei in oaren.",
        "history-title": "$1: ferzjeskiednis",
+       "difference-title": "Ferskil tusken ferzjes fan \"$1\"",
        "lineno": "Rigel $1:",
        "compareselectedversions": "Ferlykje selektearre ferzjes",
        "showhideselectedversions": "Oantikke ferzjes wol/net sjen litte",
        "saveprefs": "Bewarje",
        "restoreprefs": "Tebek nei de standertynstellings",
        "prefs-editing": "Siden bewurkje",
-       "rows": "Rigen",
-       "columns": "Kolommen",
        "searchresultshead": "Sykje",
        "stub-threshold": "Drompel foar markearring <a href=\"#\" class=\"stub\">stobbe</a> (bytes):",
        "stub-threshold-disabled": "Utskeakele",
        "userrights-reason": "Reden:",
        "userrights-no-interwiki": "Jo hawwe gjin foech om rjochten fan meidoggers op oare wikis te wizigjen.",
        "userrights-nodatabase": "Databank $1 bestiet net of is net lokaal.",
-       "userrights-nologin": "Jo moatte jo [[Special:UserLogin|oanmelde]] as rjochtenútfurder om rjochten fan meidoggers wizigje te kinnen.",
-       "userrights-notallowed": "Jo hawwe gjin rjochten om rjochten fan meidoggers te wizigjen.",
        "userrights-changeable-col": "Groepen dy't jo beheare kinne",
        "userrights-unchangeable-col": "Groepen dy't jo net beheare kinne",
        "userrights-irreversible-marker": "$1*",
        "recentchanges-label-minor": "Dit is in tekstwiziging",
        "recentchanges-label-bot": "Dizze wiziging is troch in robot makke",
        "recentchanges-label-unpatrolled": "Dizze wiziging is noch net neisjûn",
+       "recentchanges-label-plusminus": "De sidegrutte is mei dit oantal bytes wizige",
        "recentchanges-legend-heading": "<strong>Leginda:</strong>",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (sjoch ek de [[Special:NewPages|list mei nije siden]])",
        "rcnotefrom": "Dit binne de feroarings sûnt <b>$2</b> (maksimaal <b>$1</b>).",
        "revdelete-restricted": "hat beheinings oplein oan behearders",
        "revdelete-unrestricted": "hat beheinings foar behearders goedmakke",
        "rightsnone": "(gjin)",
-       "revdelete-summary": "gearfetting bewurkje",
        "feedback-back": "Foarige",
        "feedback-cancel": "Annulearje",
        "feedback-close": "Dien",
        "feedback-submit": "Ferstjoere",
        "feedback-useragent": "Useragent:",
        "searchsuggest-search": "Sykje",
-       "api-error-unknown-code": "Unbekende flater: \"$1\".",
        "api-error-unknownerror": "Unbekende flater: \"$1\".",
        "duration-seconds": "$1 {{PLURAL:$1|sekonde|sekonden}}",
        "duration-minutes": "$1 {{PLURAL:$1|minút|minuten}}",
index ee93166..2382292 100644 (file)
        "login": "Acceder ao sistema",
        "login-security": "Verifique a súa identidade",
        "nav-login-createaccount": "Rexistro",
-       "userlogin": "Rexistro",
-       "userloginnocreate": "Rexistro",
        "logout": "Saír ao anonimato",
        "userlogout": "Saír ao anonimato",
        "notloggedin": "Non accedeu ao sistema",
        "userlogin-noaccount": "Non está rexistrado?",
        "userlogin-joinproject": "Únase a {{SITENAME}}",
-       "nologin": "Non está rexistrado? $1.",
-       "nologinlink": "Cree unha conta",
        "createaccount": "Crear unha conta",
-       "gotaccount": "Xa ten unha conta? $1.",
-       "gotaccountlink": "Acceda ao sistema",
-       "userlogin-resetlink": "Esqueceu os seus datos de rexistro?",
        "userlogin-resetpassword-link": "Esqueceu o contrasinal?",
        "userlogin-helplink2": "Axuda co rexistro",
        "userlogin-loggedin": "Xa accedeu ao sistema como {{GENDER:$1|$1}}.\nUtilice o formulario inferior para acceder como outro usuario.",
        "createaccountmail": "Utilizar un contrasinal aleatorio temporal e envialo ao enderezo de correo electrónico especificado",
        "createaccountmail-help": "Pode usarse para crear unha conta para outra persoa sen coñecer o contrasinal.",
        "createacct-realname": "Nome real (opcional)",
-       "createaccountreason": "Motivo:",
        "createacct-reason": "Motivo",
        "createacct-reason-ph": "Por que crea outra conta?",
        "createacct-reason-help": "Mensaxe mostrada no rexistro de creación de contas",
        "page_first": "primeira",
        "page_last": "derradeira",
        "histlegend": "Selección de diferenzas: Marque as versións que queira comparar e prema no botón ao final.<br />\nLenda: '''({{int:cur}})''' = diferenza coa versión actual, '''({{int:last}})''' = diferenza coa versión precedente, '''{{int:minoreditletter}}''' = edición pequena.",
-       "history-fieldset-title": "Explorar o historial",
-       "history-show-deleted": "Borrados soamente",
+       "history-fieldset-title": "Buscar revisións",
+       "history-show-deleted": "Só con borrados de revisións",
        "histfirst": "as máis antigas",
        "histlast": "as máis novas",
        "historysize": "({{PLURAL:$1|1 byte|$1 bytes}})",
        "prefs-help-prefershttps": "Esta preferencia ha aplicarse no seu vindeiro acceso ao sistema.",
        "prefswarning-warning": "Fixo cambios nas súas preferencias que aínda non se gardaron.\nSe deixa esta páxina sen premer en \"$1\", non se actualizarán as súas preferencias.",
        "prefs-tabs-navigation-hint": "Consello: Pode empregar as frechas esquerda e dereita para navegar polas lapelas da lista.",
-       "userrights": "Xestión dos dereitos de usuario",
+       "userrights": "Dereitos de usuario",
        "userrights-lookup-user": "Seleccionar un usuario",
        "userrights-user-editname": "Escriba un nome de usuario:",
        "editusergroup": "Cargar os grupos de usuario",
        "rcfilters-invalid-filter": "Filtro no válido",
        "rcfilters-empty-filter": "Non hai filtros activos. Móstranse tódalas contribucións.",
        "rcfilters-filterlist-title": "Filtros",
+       "rcfilters-filterlist-whatsthis": "Que é isto?",
        "rcfilters-filterlist-feedbacklink": "Deixar comentarios sobre os novos filtros (en fase beta)",
        "rcfilters-highlightbutton-title": "Resaltar resultados",
        "rcfilters-highlightmenu-title": "Seleccione unha cor",
+       "rcfilters-highlightmenu-help": "Seleccione unha cor para resaltar esta propiedade",
        "rcfilters-filterlist-noresults": "Non se atoparon filtros",
+       "rcfilters-noresults-conflict": "Non se atoparon resultados porque os criterios de busca están en conflito.",
+       "rcfilters-state-message-fullcoverage": "Seleccionar tódolos filtros dun grupo é o mesmo que non seleccionar ningún, polo que este filtro non ten efecto. O grupo inclúeː $1",
        "rcfilters-filtergroup-registration": "Rexistro de usuario",
        "rcfilters-filter-registered-label": "Rexistrado",
        "rcfilters-filter-registered-description": "Editores autenticados.",
        "rcfilters-filter-unregistered-label": "Non rexistrado",
        "rcfilters-filter-unregistered-description": "Editores que non están autenticados.",
+       "rcfilters-filter-unregistered-conflicts-user-experience-level": "Este filtro está en conflito {{PLURAL:$2|co seguinte filtro|cos seguintes filtros}} Experience, que {{PLURAL:$2|atopa|atopan}} só usuarios rexistradosː $1",
        "rcfilters-filtergroup-authorship": "Editar autoría",
        "rcfilters-filter-editsbyself-label": "As súas propias edicións",
        "rcfilters-filter-editsbyself-description": "Edicións súas.",
        "rcfilters-filter-editsbyother-label": "Edicións doutros.",
        "rcfilters-filter-editsbyother-description": "Edicións creadas por outros usuarios (non por vostede).",
        "rcfilters-filtergroup-userExpLevel": "Nivel de experiencia (só para usuarios rexistrados)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "Chegados recentemente",
-       "rcfilters-filter-userExpLevel-newcomer-description": "Menos de 10 edicións e 4 días de actividade.",
-       "rcfilters-filter-userExpLevel-learner-label": "Aprendices",
-       "rcfilters-filter-userExpLevel-learner-description": "Máis días de actividade e edicións que \"novatos\" pero menos que \"usuarios experimentados\".",
-       "rcfilters-filter-userExpLevel-experienced-label": "Usuarios experimentados",
-       "rcfilters-filter-userExpLevel-experienced-description": "Máis de 30 días de actividade e 500 edicións.",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered": "Os filtros Experience só atopan usuarios rexistrados, polo que este filtro está en conflito co filtro \"non rexistrado\".",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered-global": "O filtro \"non rexistrados\" está en conflito cun ou máis filtros Experience, que só atopan usuarios rexistrados. Os filtros en conflito están marcados na área dos filtros activos, arriba.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Chegados recentemente",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Menos de 10 edicións e 4 días de actividade.",
+       "rcfilters-filter-user-experience-level-learner-label": "Aprendices",
+       "rcfilters-filter-user-experience-level-learner-description": "Máis días de actividade e edicións que \"novatos\" pero menos que \"usuarios experimentados\".",
+       "rcfilters-filter-user-experience-level-experienced-label": "Usuarios experimentados",
+       "rcfilters-filter-user-experience-level-experienced-description": "Máis de 30 días de actividade e 500 edicións.",
        "rcfilters-filtergroup-automated": "Contribucións automatizadas",
        "rcfilters-filter-bots-label": "Bot",
        "rcfilters-filter-bots-description": "Edicións realizadas por ferramentas automatizadas.",
        "rcfilters-filter-humans-label": "Humano (non bot)",
        "rcfilters-filter-humans-description": "Edicións realizadas por editores humanos.",
+       "rcfilters-filtergroup-reviewstatus": "Revisar o estado",
+       "rcfilters-filter-patrolled-label": "Patrulladas",
+       "rcfilters-filter-patrolled-description": "Edicións marcadas como patrulladas.",
+       "rcfilters-filter-unpatrolled-label": "Sen patrullar",
+       "rcfilters-filter-unpatrolled-description": "Edicións non marcadas como patrulladas.",
        "rcfilters-filtergroup-significance": "Importancia",
        "rcfilters-filter-minor-label": "Edicións menores",
        "rcfilters-filter-minor-description": "Edicións que o autor etiquetou como menores.",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|actualizou}} etiquetas da revisión $4 da páxina $3 ({{PLURAL:$7|engadiu}} $6; {{PLURAL:$9|eliminou}} $8)",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|actualizou}} etiquetas da entrada do rexistro $5 da páxina $3 ({{PLURAL:$7|engadiu}} $6; {{PLURAL:$9|eliminou}} $8)",
        "rightsnone": "(ningún)",
-       "revdelete-summary": "o resumo de edición",
        "rightslogentry-temporary-group": "$1 (temporal, ata $2)",
        "feedback-adding": "Enviando os comentarios...",
        "feedback-back": "Volver",
index 93c5007..0a398af 100644 (file)
@@ -58,6 +58,7 @@
        "tog-watchlisthidebots": "Bot-Änderige in d Beobachtigslischt usblende",
        "tog-watchlisthideminor": "Chlyni Änderige nit in de Beobachtigslischte aazeige",
        "tog-watchlisthideliu": "Bearbeitige vu aagmäldete Benutzer usblände",
+       "tog-watchlistreloadautomatically": "Wänn e Filter gänderet woren isch, d Beobachtigslischt automatisch nei lade (brucht JavaScript)",
        "tog-watchlisthideanons": "Bearbeitige vu anonyme Benutzer (IP-Adresse) usblände",
        "tog-watchlisthidepatrolled": "vum Fäldhieter aagluegti Änderige in dr Beobachtigslischt usblände",
        "tog-watchlisthidecategorization": "Kategorisierig vo de Syte nid zeige",
        "tagline": "Us {{SITENAME}}",
        "help": "Hilf",
        "search": "Suech",
+       "search-ignored-headings": " #<!-- die Zylede nit ändere --> <pre>\n# Iberschrifte, wu vu dr Suechi ignoriert wäre.\n# Die Änderige wäre wirksam, sobald d Syte mit dr Iberschrift indexiert woren isch.\n# Du chasch d Sytenindexierig zwinge, indäm e Nulledit machsch.\n# Syntax:\n#   * Alles, was bis zum Zyledenänd noch ere Rute („#“) chunnt, isch e Kommentar.\n#   * E jedi nit-lääri Zylede isch dr Titel, wu exakt mueß ignoriert wäre.\nFueßnote\nWeblink\nLueg au\n #</pre> <!-- die Zylede nit ändere -->",
        "searchbutton": "Suech",
        "go": "Site",
        "searcharticle": "Sueche",
        "history": "Versione",
        "history_short": "Versione/Autore",
+       "history_small": "Versionsgschicht",
        "updatedmarker": "(gändret syt mym letschte Bsuech)",
        "printableversion": "Druck-Aasicht",
        "permalink": "Bschtändigi URL",
        "databaseerror-query": "Abfrog: $1",
        "databaseerror-function": "Funktion: $1",
        "databaseerror-error": "Fähler: $1",
+       "transaction-duration-limit-exceeded": "Go ne großi Verzegerig in dr Datereplikation z vermyyde, isch die Transaktion abbroche wore. D Schrybduur ($1) het d Gränze vu $2 Sekunden iberschritte. Wänn du vyl Objäkt uf s Mol ändere duesch, versuech statt däm, d Änderige uf mehreri Operationen ufzdeile.",
        "laggedslavemode": "Warnig: di letschte Änderige wäre u. U. nonig aazeigt!",
        "readonly": "Datebank isch gsperrt",
        "enterlockreason": "Bitte gib e Grund y, worum d Datebank soll gsperrt wäre un e Yschätzig wie lang si soll gsperrt blybe",
-       "readonlytext": "D {{SITENAME}}-Datebank isch e Zyd lang gsperrt fir Nejytreg un Änderige. Bitte versuech s speter no mol.\n\nGrund vu dr Sperrig: $1",
+       "readonlytext": "D Datebank isch e Zyt lang gsperrt fir Nejyytreg un Änderige. Bitte versuech s speter no mol.\n\nGrund vu dr Sperrig: $1",
        "missing-article": "Dr Täkscht fir „$1“ $2 isch nit in dr Datebank gfunde wore.\n\nDie Syte isch villicht glescht oder verschobe wore.\n\nWänn s des nit isch, hesch villicht e Fähler in dr Software gfunde. Bitte mäld des eme [[Special:ListUsers/sysop|Ammann]] un gib d URL derzue aa.",
        "missingarticle-rev": "(Versionsnummere: $1)",
        "missingarticle-diff": "(Unterschid zwische Versione: $1, $2)",
        "readonly_lag": "D Datebank isch automatisch gperrt wore, wil di verteilte Datebankserver (Sklave) mien mit em Hauptdatebankserver (Meischter) abgliche wäre.",
+       "nonwrite-api-promise-error": "Dr HTTP-Header „Promise-Non-Write-API-Action“ isch gsändet wore, aber d Aafrog isch an e API-Schrybmodul gange.",
        "internalerror": "Interner Fähler",
        "internalerror_info": "Interne Fähler: $1",
        "internalerror-fatal-exception": "Fatale Uusnahmefähler vum Typ „$1“",
        "cannotloginnow-title": "Aamälde goot grad nit",
        "cannotloginnow-text": "Aamälde goot nit, derwyylscht du $1 bruuchsch",
        "cannotcreateaccount-title": "Benutzerkonto cha nid aagleit wäre.",
+       "cannotcreateaccount-text": "S diräkt Aalege vu Benutzerkonten isch uf däm Wiki nit aktiviert.",
        "yourdomainname": "Dyyni Domäne",
        "password-change-forbidden": "Du chasch uf däm Wiki kei Passwerter ändere.",
        "externaldberror": "Entwäder s lit e Fähler bi dr externe Authentifizierung vor, oder Du derfsch Dyy extern Benutzerkonto nid aktualisiere.",
        "login": "Aamälde",
        "login-security": "Due dyni Identität verifiziere",
        "nav-login-createaccount": "Aamälde / Konto aalege",
-       "userlogin": "Aamälde/Konto aalege",
-       "userloginnocreate": "Aamälde",
        "logout": "Abmälde",
        "userlogout": "Abmälde",
        "notloggedin": "Nit aagmäldet",
        "userlogin-noaccount": "No kei Benutzerkonto?",
        "userlogin-joinproject": "Bi {{SITENAME}} aamälde",
-       "nologin": "No kei Benutzerkonto? $1.",
-       "nologinlink": "»Konto aaleege«",
        "createaccount": "Nöis Benutzerkonto aalege",
-       "gotaccount": "Du häsch scho a Konto? '''$1'''",
-       "gotaccountlink": "»Login fir Benutzer, wu scho aagmäldet sin«",
-       "userlogin-resetlink": "Hesch Dyy Aamäldedate vergässe?",
        "userlogin-resetpassword-link": "Passwort vergässe?",
        "userlogin-helplink2": "Hilf bim Aamälde",
        "userlogin-loggedin": "Du bisch scho as {{GENDER:$1|$1}} aagmäldet.\nBruuch s Formular unte go Di unter eme andere Benutzername aamälde.",
+       "userlogin-reauth": "Du muesch di nomol aamälde go z verifiziere, ass du {{GENDER:$1|$1}} bisch.",
        "userlogin-createanother": "En ander Benutzerkonto aalege",
        "createacct-emailrequired": "E-Mail-Adräss",
        "createacct-emailoptional": "E-Mail-Adräss (optional)",
        "createacct-email-ph": "Gib Dyy E-Mail-Adräss yy",
        "createacct-another-email-ph": "Gib Dyy E-Mail-Adräss yy",
        "createaccountmail": "E temporär Zuefallspasswort bruuchen un an di aagee E-Mail-Adräss schicke",
+       "createaccountmail-help": "Cha brucht wäre zum e Benutzerkonto fir e anderi Person aazlege, ohni ass mer s Passwort mueß wisse.",
        "createacct-realname": "Richtige Name (optional)",
-       "createaccountreason": "Grund:",
        "createacct-reason": "Grund",
        "createacct-reason-ph": "Wurum Du ne ander Benutzerkonto aaleisch",
+       "createacct-reason-help": "Im Neiaamäldigs-Logbuech aazeigti Nochricht",
        "createacct-submit": "Dyy Benutzerkonto aalege",
        "createacct-another-submit": "Benutzerkonto aalege",
+       "createacct-continue-submit": "Wytermache mit em Aalege vun eme Benutzerkonto",
+       "createacct-another-continue-submit": "Wytermache mit em Aalege vun eme Benutzerkonto",
        "createacct-benefit-heading": "{{SITENAME}} wird vu Mänsche wie Dir gschaffe.",
        "createacct-benefit-body1": "{{PLURAL:$1|Bearbeitig|Bearbeitige}}",
        "createacct-benefit-body2": "{{PLURAL:$1|Syte|Syte}}",
        "nocookiesnew": "Dr Benutzerzuegang isch aaglait wore, aber Du bisch nid yygloggt. {{SITENAME}} brucht fir die Funktion Cookies, bitte tue die aktiviere un logg Di derno mit Dyynem neje Benutzername un em Passwort, wu drzue ghert, yy.",
        "nocookieslogin": "{{SITENAME}} brucht Cookies fir e Aamäldig. Du hesch d Cookies deaktiviert. Aktivier si bitte un versuech s no mol.",
        "nocookiesfornew": "S Benutzerkonto isch nit aagleit wore, wel d Datehärchumft nit het chenne uusgmacht wäre.\nS mueß sichergstellt syy, ass Cookies aktiviert sin. Derno ddie Syte nomol lade un s wider versueche.",
+       "createacct-loginerror": "S Benutzerkonto isch erfolgrych aagleit wore, aber du hesch nit chenne automatisch aagmäldet wäre. Bitte mach wyter mit dr [[Special:UserLogin|manuälle Aamäldig]].",
        "noname": "Du muesch e Benutzername aagee.",
-       "loginsuccesstitle": "Aamäldig erfolgrych",
+       "loginsuccesstitle": "Aagmäldet",
        "loginsuccess": "'''Du bisch jetz als \"$1\" bi {{SITENAME}} aagmäldet.'''",
-       "nosuchuser": "Dr Benutzername \"$1\" git s nit.\n\nIberprief d Schrybwys, oder mäld Di as [[Special:CreateAccount|neje Benutzer aa]].",
+       "nosuchuser": "Dr Benutzername „$1“ git s nit.\n\nIberprief d Schrybwys, au d Groß- un Chlaischrybig, oder mäld Di as [[Special:CreateAccount|neje Benutzer aa]].",
        "nosuchusershort": "S git kei Benutzername „$1“. Bitte iberprief d Schrybwys.",
        "nouserspecified": "Bitte gib e Benutzername yy.",
        "login-userblocked": "Dää Benutzer isch gsperrt. Aamäldig nit erlaubt.",
        "minoredit": "Numen es birebitzeli gänderet",
        "watchthis": "Dä Artikel beobachte",
        "savearticle": "Syte spychere",
+       "publishpage": "Syte spychere",
+       "publishchanges": "Änderige spychere",
        "preview": "Vorschou",
        "showpreview": "Vorschau aaluege",
        "showdiff": "Änderige zeige",
        "logentry-tag-update-revision": "{{GENDER:$2|Der $1|D $1|$1}} het d Markierige bir Version $4 vor Syte $3 aktualisiert ({{PLURAL:$7|eini|$6}} derzueta, {{PLURAL:$9|eini|$8}} furtgnoh).",
        "logentry-tag-update-logentry": "{{GENDER:$2|Der $1|D $1|$1}} het d Markierige bim Logbuechytrag $5 vor Syte $3 aktualisiert ({{PLURAL:$7|eini|$6}} derzueta, {{PLURAL:$9|eini|$8}} furtgnoh).",
        "rightsnone": "(keini)",
-       "revdelete-summary": "Zämmefassig",
        "feedback-adding": "Ruggmäldig wird zur Syte dezuegfiegt …",
        "feedback-back": "Zrügg",
        "feedback-bugcheck": "Schen! Bitte iberprief no, eb s sich doderby nit um e scho [$1 bekannte Fähler] handlet.",
index 6a63089..8f7dd00 100644 (file)
@@ -36,7 +36,9 @@
                        "DatGuy",
                        "IKhitron",
                        "Matma Rex",
-                       "Or"
+                       "Or",
+                       "שמזן",
+                       "Uziel302"
                ]
        },
        "tog-underline": "סימון קישורים בקו תחתי:",
        "login": "כניסה לחשבון",
        "login-security": "אימות הזהות שלך",
        "nav-login-createaccount": "כניסה לחשבון / הרשמה",
-       "userlogin": "כניסה לחשבון / הרשמה",
-       "userloginnocreate": "כניסה לחשבון",
        "logout": "יציאה מהחשבון",
        "userlogout": "יציאה מהחשבון",
        "notloggedin": "לא בחשבון",
        "userlogin-noaccount": "אין לך חשבון?",
        "userlogin-joinproject": "הצטרפות ל{{grammar:תחילית|{{SITENAME}}}}",
-       "nologin": "אין לך חשבון? $1.",
-       "nologinlink": "הרשמה",
        "createaccount": "יצירת חשבון חדש",
-       "gotaccount": "כבר יש לך חשבון? $1.",
-       "gotaccountlink": "כניסה לחשבון",
-       "userlogin-resetlink": "שכחת את פרטי הכניסה?",
        "userlogin-resetpassword-link": "שכחת את הסיסמה?",
        "userlogin-helplink2": "עזרה בכניסה לחשבון",
        "userlogin-loggedin": "אתם כבר מחוברים לחשבון {{GENDER:$1|$1}}.\nהשתמשו בטופס שלהלן כדי להתחבר לחשבון אחר.",
        "createaccountmail": "שימוש בסיסמה זמנית אקראית ושליחתה לכתובת הדוא\"ל שצוינה",
        "createaccountmail-help": "יכול לשמש ליצירת חשבון לאדם אחר בלי לברר מה הססמה.",
        "createacct-realname": "שם אמיתי (לא חובה)",
-       "createaccountreason": "סיבה:",
        "createacct-reason": "סיבה",
        "createacct-reason-ph": "סיבה ליצירת חשבון נוסף",
        "createacct-reason-help": "הודעה שמוצגת ביומן רישום המשתמשים",
        "page_first": "ראשון",
        "page_last": "אחרון",
        "histlegend": "בחירת גרסאות להשוואה: {{GENDER:|בחר|בחרי|בחרו}} את הגרסאות ש{{GENDER:|ברצונך|ברצונך|ברצונכם}} להשוות ולאחר מכן {{GENDER:|הקש|הקישי|הקישו}} על Enter או {{GENDER:|לחץ|לחצי|לחצו}} על הכפתור שלמטה.<br />\nמקרא: <strong>({{int:cur}})</strong> = השוואה עם הגרסה הנוכחית, <strong>({{int:last}})</strong> = השוואה עם הגרסה הקודמת, <strong>{{int:minoreditletter}}</strong> = עריכה משנית.",
-       "history-fieldset-title": "×\97×\99פ×\95ש ×\91×\94×\99ס×\98×\95ר×\99×\99ת ×\94×\93×£",
-       "history-show-deleted": "ער×\99×\9bות מוסתרות בלבד",
+       "history-fieldset-title": "×\97×\99פ×\95ש ×\92רס×\90×\95ת",
+       "history-show-deleted": "×\92רס×\90ות מוסתרות בלבד",
        "histfirst": "הישנות ביותר",
        "histlast": "החדשות ביותר",
        "historysize": "({{PLURAL:$1|בייט אחד|$1 בייטים}})",
        "prefs-help-prefershttps": "העדפה זו תיכנס לתוקף בכניסה הבאה לחשבון.",
        "prefswarning-warning": "ביצעת שינויים בהעדפות שלך, והם עדיין לא נשמרו.\nעזיבת דף זה ללא לחיצה על \"$1\" תגרום לכך שההעדפות שלך לא יעודכנו.",
        "prefs-tabs-navigation-hint": "טיפ: ניתן להשתמש במקשי החצים הימני והשמאלי כדי לנווט בין הלשוניות ברשימת הלשוניות.",
-       "userrights": "× ×\99×\94×\95×\9c ×\94רש×\90×\95ת ×\9eשת×\9eש",
+       "userrights": "הרשאות משתמש",
        "userrights-lookup-user": "בחירת משתמש",
        "userrights-user-editname": "שם משתמש:",
        "editusergroup": "טעינת קבוצות המשתמש",
        "rcfilters-invalid-filter": "מסנן בלתי־תקין",
        "rcfilters-empty-filter": "אין מסננים פעילים. כל התרומות מוצגות.",
        "rcfilters-filterlist-title": "מסננים",
+       "rcfilters-filterlist-whatsthis": "מה זה?",
        "rcfilters-filterlist-feedbacklink": "שליחת משוב על המסננים החדשים (בטא)",
        "rcfilters-highlightbutton-title": "הבלטת התוצאות",
        "rcfilters-highlightmenu-title": "בחירת צבע",
        "rcfilters-highlightmenu-help": "בחירת צבע להדגשת מאפיין זה",
        "rcfilters-filterlist-noresults": "לא נמצאו מסננים",
+       "rcfilters-noresults-conflict": "לא נמצאו תוצאות משום שקריטריוני החיפוש מתנגשים",
+       "rcfilters-state-message-subset": "המסנן הזה אינו משפיע כי התוצאות שלו כלולות {{PLURAL:$2|במסנן הרחב יותר הבא|במסננים הרחבים יותר הבאים}} (נסו להדגיש כדי להבדיל ביניהם): $1",
+       "rcfilters-state-message-fullcoverage": "בחירת כל המסננים בקבוצה זהה לביטול כל הבחירות, אז למסנן הזה אין השפעה. הקבוצה כוללת: $1",
        "rcfilters-filtergroup-registration": "רישום העורכים",
        "rcfilters-filter-registered-label": "רשומים",
        "rcfilters-filter-registered-description": "עורכים שנכנסו לחשבון.",
        "rcfilters-filter-unregistered-label": "לא רשומים",
        "rcfilters-filter-unregistered-description": "עורכים שלא נכנסו לחשבון.",
+       "rcfilters-filter-unregistered-conflicts-user-experience-level": "המסנן הזה פעיל מתנגש עם {{PLURAL:$2|מסנן רמת הניסיון הבא, שמוצא|מסנני רמת הניסיון הבאים, שמוצאים}} רק משתמשים רשומים: $1",
        "rcfilters-filtergroup-authorship": "מבצעי העריכה",
        "rcfilters-filter-editsbyself-label": "עריכות שלך",
        "rcfilters-filter-editsbyself-description": "עריכות שביצעת בעצמך.",
        "rcfilters-filter-editsbyother-label": "עריכות של אחרים",
        "rcfilters-filter-editsbyother-description": "עריכות שבוצעו על־ידי משתמשים אחרים (מלבדך).",
-       "rcfilters-filtergroup-userExpLevel": "הניסיון והוותק (למשתמשים רשומים בלבד)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "חדשים",
-       "rcfilters-filter-userExpLevel-newcomer-description": "פחות מ־10 עריכות ומ־4 ימים של פעילות.",
-       "rcfilters-filter-userExpLevel-learner-label": "לומדים",
-       "rcfilters-filter-userExpLevel-learner-description": "יותר ימי פעילות ועריכות מ\"חדשים\", אבל פחות מ\"משתמשים מנוסים\".",
-       "rcfilters-filter-userExpLevel-experienced-label": "משתמשים מנוסים",
-       "rcfilters-filter-userExpLevel-experienced-description": "יותר מ־30 ימים של פעילות ו־500 עריכות.",
+       "rcfilters-filtergroup-userExpLevel": "רמת ניסיון (למשתמשים רשומים בלבד)",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered": "מסנני הניסיון מוצאים רק משתמשים רשומים, כך שמסנן זה מתנגש עם המסנן \"לא רשומים\".",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered-global": "המסנן \"לא רשומים\" מתנגש עם אחד או יותר ממסנני רמת הניסיון, שמוצאים משתמשים רשומים בלבד. המסננים המתנגשים מסומנים באזור המסננים הפעילים לעיל.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "חדשים",
+       "rcfilters-filter-user-experience-level-newcomer-description": "פחות מ־10 עריכות ומ־4 ימים של פעילות.",
+       "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": "יותר מ־30 ימים של פעילות ו־500 עריכות.",
        "rcfilters-filtergroup-automated": "תרומות אוטומטיות",
        "rcfilters-filter-bots-label": "בוטים",
        "rcfilters-filter-bots-description": "עריכות שבוצעו על־ידי כלים אוטומטיים.",
        "rcfilters-filter-humans-label": "בני אדם (לא בוטים)",
        "rcfilters-filter-humans-description": "עריכות שבוצעו על־ידי עורכים אנושיים.",
+       "rcfilters-filtergroup-reviewstatus": "מצב סקירה",
+       "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-categorization-description": "רישומים על דפים שנוספו לקטגוריות או הוסרו מהן.",
        "rcfilters-filter-logactions-label": "פעולות יומן",
        "rcfilters-filter-logactions-description": "פעולות מנהליות, יצירת חשבונות, מחיקת דפים, העלאות...",
+       "rcfilters-hideminor-conflicts-typeofchange-global": "מסנן \"עריכות משניות\" מתנגש עם מסנן סוג השינויים אחד או יותר, כי סוגים מסוימים של שינויים אינם יכולים להיות מסווגים בתור \"משניים\". המסננים המתנגשים מסומנים באזור המסננים הפעילים לעיל.",
+       "rcfilters-hideminor-conflicts-typeofchange": "סוגים מסוימים של שינויים אינם יכולים להיות מסווגים כ\"משניים\", כך שמסנן זה מתנגש עם מסנן סוג השינויים הבא: $1",
+       "rcfilters-typeofchange-conflicts-hideminor": "מסנן סוג השינויים הזה מתנגש עם מסנן \"עריכות משניות\". סוגים מסוימים של שינויים אינם יכולים מסווגים כ\"משניים\".",
        "rcnotefrom": "להלן {{PLURAL:$5|השינוי שבוצע|השינויים שבוצעו}} מאז <strong>$3, $4</strong> (מוצגים עד <strong>$1</strong>).",
        "rclistfrom": "הצגת שינויים חדשים החל מ־$2, $3",
        "rcshowhideminor": "$1 עריכות משניות",
        "uncategorizedcategories": "קטגוריות חסרות קטגוריה",
        "uncategorizedimages": "קבצים חסרי קטגוריה",
        "uncategorizedtemplates": "תבניות חסרות קטגוריה",
-       "uncategorized-categories-exceptionlist": " # מכיל רשימה של קטגוריות שאינן אמורות להופיע בדףSpecial:UncategorizedCategories. יש לכתוב קטגוריה אחת בכל שורה, ולהתחיל כל שורה בתו \"*\". התוכנה תתעלם משורות המתחילות בתווים אחרים (לרבות רווחים). התו \"#\" משמש להערות.",
+       "uncategorized-categories-exceptionlist": " # מכיל רשימה של קטגוריות שאינן אמורות להופיע בדף Special:UncategorizedCategories. יש לכתוב קטגוריה אחת בכל שורה, ולהתחיל כל שורה בתו \"*\". התוכנה תתעלם משורות המתחילות בתווים אחרים (לרבות רווחים). התו \"#\" משמש להערות.",
        "unusedcategories": "קטגוריות שאינן בשימוש",
        "unusedimages": "קבצים שאינם בשימוש",
        "wantedcategories": "קטגוריות מבוקשות",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|עדכן|עדכנה}} את התגיות בגרסה $4 של הדף $3 ({{PLURAL:$7|הוסיף|הוסיפה}} את $6; {{PLURAL:$9|הסיר|הסירה}} את $8)",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|עדכן|עדכנה}} את התגיות ברשומת היומן $5 של הדף $3 ({{PLURAL:$7|הוסיף|הוסיפה}} את $6; {{PLURAL:$9|הסיר|הסירה}} את $8)",
        "rightsnone": "(כלום)",
-       "revdelete-summary": "תקציר העריכה",
        "rightslogentry-temporary-group": "$1 (זמני, עד $2)",
        "feedback-adding": "הוספת משוב לדף...",
        "feedback-back": "חזרה",
index 33cf429..a560d24 100644 (file)
        "login": "प्रवेश",
        "login-security": "अपनी पहचान सत्यापित करें",
        "nav-login-createaccount": "सत्रारंभ / खाता खोलें",
-       "userlogin": "सत्रारंभ / खाता खोलें",
-       "userloginnocreate": "लॉग इन",
        "logout": "प्रस्थान करें",
        "userlogout": "प्रस्थान करें",
        "notloggedin": "लॉग इन नहीं किया है",
        "userlogin-noaccount": "खाता नहीं है?",
        "userlogin-joinproject": "{{SITENAME}} से जुड़ें",
-       "nologin": "क्या आपने सदस्यता नहीं ली है? '''$1'''।",
-       "nologinlink": "नया खाता बनाएँ",
        "createaccount": "खाता बनाएँ",
-       "gotaccount": "पहले से आपका खाता है? '''$1''' करें।",
-       "gotaccountlink": "प्रवेश करें",
-       "userlogin-resetlink": "अपनी प्रवेश जानकारी भूल गए हैं?",
        "userlogin-resetpassword-link": "अपना पासवर्ड भूल गए?",
        "userlogin-helplink2": "लॉग इन करने में सहायता",
        "userlogin-loggedin": "आप {{GENDER:$1|$1}} के रूप में पहले से लॉग्ड इन हैं।\nकिसी अन्य सदस्य के रूप में लॉग इन करने के लिए निम्नलिखित फ़ॉर्म का प्रयोग करें।",
        "createaccountmail": "एक अस्थायी यादृच्छिक (रैंडम) कूटशब्द चुनें और उसे निर्दिष्ट ई-मेल पते पर भेजें",
        "createaccountmail-help": "इसका उपयोग बिना पासवर्ड जाने किसी और के लिए खाता खोलने के लिए उपयोग किया जाता है।",
        "createacct-realname": "असली नाम (वैकल्पिक)",
-       "createaccountreason": "कारण:",
        "createacct-reason": "कारण",
        "createacct-reason-ph": "आप एक अन्य खाता क्यों बना रहे हैं",
        "createacct-reason-help": "खाता निर्माण लॉग में यह सन्देश दिखाई देगा।",
        "page_first": "पहला",
        "page_last": "आखिरी",
        "histlegend": "अन्तर चयन: अन्तर देखने के लिए पुराने अवतरणों के आगे दिए गए रेडियो बॉक्स पर क्लिक करें तथा एण्टर करें अथवा नीचे दिए हुए बटन पर क्लिक करें<br />\nलिजण्ड: (चालू) = सद्य अवतरण के बीच में अन्तर,\n(आखिरी) = पिछले अवतरण के बीच में अन्तर, छो = छोटा बदलाव।",
-       "history-fieldset-title": "à¤\87तिहास à¤\95ा à¤µà¤¿à¤\9aरण à¤\95रें",
-       "history-show-deleted": "सà¥\82à¤\9aà¥\80 à¤®à¥\87à¤\82 à¤\95à¥\87वल à¤\9bà¥\81पाà¤\8f à¤¹à¥\81à¤\8f à¤\85वतरण à¤¦à¤¿à¤\96ाà¤\8fà¤\81",
+       "history-fieldset-title": "à¤\85वतरण à¤¹à¥\87तà¥\81 à¤\96à¥\8bà¤\9cें",
+       "history-show-deleted": "हà¤\9fायà¥\87 à¤\97à¤\8f à¤\85वतरण à¤¹à¥\80",
        "histfirst": "सबसे पुराना",
        "histlast": "सबसे नया",
        "historysize": "($1 {{PLURAL:$1|बाइट}})",
        "prefs-help-prefershttps": "यह वरीयता आपके अगले लॉगिन पर प्रभावी होगी।",
        "prefswarning-warning": "आपने अपनी वरीयताओं में एैसे परिवर्तन किए हैं जिन्हे अभी तक संचित नहीं किया गया है। अगर अाप \"$1\" पर बिना क्लिक किये इस पृष्ठ को छोड़ देते हैं तो अापकी वरीयताओं का अद्यतन नहीं किया जाएगा।",
        "prefs-tabs-navigation-hint": "सुझाव: आप टैब्स सूची में टैब्स के बीच आवागमन करने के लिए बाएँ और दाएँ तीर कुंजियों का उपयोग कर सकते हैं।",
-       "userrights": "सदस्य अधिकार व्यवस्थापन",
+       "userrights": "सदस्य अधिकार",
        "userrights-lookup-user": "सदस्य चुनें",
        "userrights-user-editname": "सदस्यनाम दें:",
-       "editusergroup": "{{GENDER:$1|सदस्य}} समूहों का संपादन करें",
+       "editusergroup": "सदस्य समूह दिखायें",
        "editinguser": "सदस्य '''[[User:$1|$1]]''' $2 के अधिकार बदलें\n{{GENDER:$1|सदस्य}} के सदस्य अधिकार बदले जा रहे हैं <strong>[[User:$1|$1]]</strong> $2",
        "userrights-editusergroup": "सदस्य समूहों का संपादन करें",
        "userrights-viewusergroup": "सदस्य समूह देखें",
        "userrights-expiry-current": "समाप्ती $1",
        "userrights-expiry-none": "समाप्त नहीं होता",
        "userrights-expiry": "समाप्ति:",
+       "userrights-expiry-existing": "वर्तमान समाप्ति समय: $3, $2",
        "userrights-expiry-othertime": "अन्य समय:",
        "userrights-expiry-options": "एक दिन:1 day,एक सप्ताह:1 week,एक महीना:1 month,तीन महीने:3 months,छः महीने:6 months,एक वर्ष:1 year",
        "userrights-invalid-expiry": "\"$1\" समूह के लिए समाप्ती तिथि अमान्य है।",
        "action-upload_by_url": "यू॰आर॰एल से इस फ़ाइल को चढ़ाने",
        "action-writeapi": "लेखन ए॰पी॰आई का प्रयोग करने",
        "action-delete": "इस पृष्ठ को हटाने",
-       "action-deleterevision": "à¤\87स à¤\85वतरण à¤\95à¥\8b à¤¹à¤\9fानà¥\87",
+       "action-deleterevision": "à¤\85वतरण à¤¹à¤\9fायà¥\87à¤\82",
        "action-deletelogentry": "लॉग प्रविष्टियाँ को हटाए",
        "action-deletedhistory": "इस पृष्ठ के मिटे इतिहास को देखने",
+       "action-deletedtext": "हटाये गए अवतरण का पाठ देखें",
        "action-browsearchive": "हटाएँ गए पृष्ठों में खोजने",
        "action-undelete": "इस पृष्ठ को पुनर्स्थापित करने",
        "action-suppressrevision": "इस छिपे अवतरण को देखने और पुनर्स्थापित करने",
        "rcfilters-invalid-filter": "अमान्य फ़िल्टर",
        "rcfilters-empty-filter": "कोई सक्रिय फिल्टर नहीं। सभी योगदान दिखाए गए है।",
        "rcfilters-filterlist-title": "फिल्टर",
-       "rcfilters-highlightbutton-title": "परिणाम रेखांकन करें",
+       "rcfilters-filterlist-whatsthis": "यह क्या है?",
+       "rcfilters-highlightbutton-title": "Highlight results",
        "rcfilters-highlightmenu-title": "रंग चुनें",
        "rcfilters-filterlist-noresults": "कोई फिल्टर नहीं पाया",
        "rcfilters-filtergroup-registration": "उपयोगकर्ता पंजीकरण",
        "rcfilters-filter-editsbyself-label": "आपके अपने संपादन",
        "rcfilters-filter-editsbyself-description": "आपके द्वारा संपादित",
        "rcfilters-filter-editsbyother-label": "दूसरों के द्वारा संपादित",
-       "rcfilters-filter-userExpLevel-newcomer-label": "अपरिचित",
-       "rcfilters-filter-userExpLevel-learner-label": "शिक्षार्थियों",
+       "rcfilters-filter-user-experience-level-newcomer-label": "अपरिचित",
+       "rcfilters-filter-user-experience-level-newcomer-description": "4 दिनों की गतिविधि और 10 सम्पादन से कम।",
+       "rcfilters-filter-user-experience-level-learner-label": "शिक्षार्थियों",
+       "rcfilters-filter-user-experience-level-experienced-label": "अनुभवी सदस्य",
+       "rcfilters-filter-user-experience-level-experienced-description": "30 दिन से अधिक गतिविधि और 500 सम्पादन।",
+       "rcfilters-filtergroup-automated": "स्वचालित योगदान",
        "rcfilters-filter-bots-label": "बॉट",
+       "rcfilters-filter-bots-description": "स्वचालित औजारों से किए सम्पादन।",
        "rcfilters-filter-humans-label": "मानव (बॉट नहीं)",
        "rcfilters-filter-humans-description": "मानव संपादक द्वारा किए गए संपादन।",
+       "rcfilters-filtergroup-reviewstatus": "पुनरीक्षण स्थिति",
+       "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-major-label": "गैर-मामूली संपादन",
        "apisandbox-loading-results": "एपीआई परिणाम ले रहा...",
        "apisandbox-results-error": "एपीआई के समय कोई त्रुटि हुई: $1",
        "apisandbox-request-url-label": "अनुरोध URL:",
+       "apisandbox-request-json-label": "JSON अनुरोध:",
        "apisandbox-request-time": "अनुरोध समय: {{PLURAL:$1|$1 मि}}",
        "apisandbox-results-fixtoken": "टोकन सही करें और दोबारा भेजें।",
        "apisandbox-results-fixtoken-fail": "टोकन \"$1\" डालने में विफल",
        "cant-move-to-user-page": "आपको किसी पन्नो को सदस्य पृष्ठ पर ले जाने की अनुमति नहीं है (सिवाय सदस्य उप पृष्ठ के)",
        "cant-move-category-page": "आपको श्रेणी प्रष्ठों को स्थानांतरित करने की अनुमति नहीं है।",
        "cant-move-to-category-page": "आपको किसी पृष्ठ को श्रेणी पृष्ठ पर स्थानांतरित करने की अनुमति नहीं है।",
+       "cant-move-subpages": "आपको उपपृष्ठों को स्थानांतरित करने की अनुमति नहीं है।",
        "namespace-nosubpages": "\"$1\" नामस्थान उपपृष्ठ की अनुमति नहीं देता है।",
        "newtitle": "नया शीर्षक:",
        "move-watch": "ध्यान रखें",
        "invalidateemail": "इ-मेल प्रमाणिकरण रद्द करें",
        "notificationemail_subject_changed": "{{SITENAME}} पंजीकृत ईमेल खाता बदला गया।",
        "notificationemail_subject_removed": "{{SITENAME}} पंजीकृत ईमेल खाता हटाया गया।",
+       "notificationemail_body_changed": "आप या किसी और व्यक्ति ने $1 आईपी पते से,\n{{SITENAME}} में आपके खाते का ईमेल पता \"$2\" से बदल कर \"$3\" कर दिया है। \n\nयदि यह आपने नहीं किया है, तो कृपया तुरंत प्रबन्धकों को इसकी सूचना दें।",
+       "notificationemail_body_removed": "आप या किसी और व्यक्ति ने $1 आईपी पते से,\n{{SITENAME}} में आपके खाते से ईमेल पता \"$2\" को हटा दिया है।\n\nयदि यह आपने नहीं किया है, तो कृपया तुरंत प्रबन्धकों को इसकी सूचना दें।",
        "scarytranscludedisabled": "[आंतरविकि ट्रान्स्क्लुडिंग बंद हैं]",
        "scarytranscludefailed": "[$1 के लिये साँचा मँगा नहीं पाए]",
        "scarytranscludefailed-httpstatus": "[$1 के लिये साँचा मँगा नहीं पाए, त्रुटि: HTTP $2]",
        "tags-actions-header": "क्रियाएं",
        "tags-active-yes": "हाँ",
        "tags-active-no": "नहीं",
-       "tags-source-extension": "à¤\8fà¤\95à¥\8dसà¤\9fà¥\87à¤\82शन द्वारा परिभाषित",
+       "tags-source-extension": "सà¥\89फà¥\8dà¤\9fवà¥\87यर द्वारा परिभाषित",
        "tags-source-manual": "उपयोगकर्ताओं और बॉट द्वारा नियमानुसार लागू",
        "tags-source-none": "अब प्रयोग में नहीं",
        "tags-edit": "सम्पादन",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|उद्यतन किए गए}} टैग संशोधन $4 पर पृष्ठ $3 के ({{PLURAL:$7|जोड़ दिए गए}} $6; {{PLURAL:$9|हटाए गए}} $8)",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|उद्यतन किए गए}} टैग संशोधन $5 पर पृष्ठ $3 के ({{PLURAL:$7|जोड़ दिए गए}} $6; {{PLURAL:$9|हटाए गए}} $8)",
        "rightsnone": "(कोई नहीं)",
-       "revdelete-summary": "संपादन सारांश",
        "feedback-adding": "पृष्ठ पर प्रतिक्रिया जोड़ना ...",
        "feedback-back": "पीछे जाएँ",
        "feedback-bugcheck": "शानदार! जांच ले कहीं ये [ $1 known bugs] पहले से ही न हो ।",
        "pagelang-language": "भाषा",
        "pagelang-use-default": "डिफ़ॉल्ट भाषा का प्रयोग करें",
        "pagelang-select-lang": "भाषा चुनें",
+       "pagelang-reason": "कारण",
        "pagelang-submit": "भेजें",
        "right-pagelang": "पृष्ठ भाषा बदलें",
        "action-pagelang": "पृष्ठ भाषा बदलने",
        "mw-widgets-titleinput-description-new-page": "पृष्ठ अभी मौजूद नहीं है",
        "mw-widgets-titleinput-description-redirect": "$1 को अनुप्रेषित",
        "mw-widgets-categoryselector-add-category-placeholder": "श्रेणी जोड़ें...",
+       "mw-widgets-usersmultiselect-placeholder": "और जोड़ें...",
        "sessionmanager-tie": "एक साथ कई अनुरोध को नहीं मिला सकता: $1",
        "sessionprovider-generic": "$1 सत्र",
        "sessionprovider-mediawiki-session-cookiesessionprovider": "कुकी-आधारित सत्र",
index bd4f303..a24bed7 100644 (file)
        "category_header": "Stranice u kategoriji »$1«",
        "subcategories": "Potkategorije",
        "category-media-header": "Mediji u kategoriji »$1«",
-       "category-empty": "''U ovoj kategoriji trenutačno nema članaka ni medija.''",
+       "category-empty": "<em>U ovoj kategoriji trenutačno nema članaka ni medija.</em>",
        "hidden-categories": "{{PLURAL:$1|Skrivena kategorija|Skrivene kategorije|Skrivenih kategorija}}",
        "hidden-category-category": "Skrivene kategorije",
        "category-subcat-count": "Ova kategorija sadrži $2 {{PLURAL:$2|podkategoriju|podkategorije|podkategorija}}, ovaj popis prikazuje $1.",
        "category-subcat-count-limited": "Ova kategorija ima {{PLURAL:$1|podkategoriju|$1 podkategorije|$1 podkategorija}}.",
-       "category-article-count": "{{PLURAL:$2|Ova kategorija sadrži jednu stranicu.|{{PLURAL:$1|Prikazana je $1 stranica|Prikazane su $1 stranice|Prikazano je $1 stranica}} od njih $2 ukupno.}}",
+       "category-article-count": "{{PLURAL:$2|Ova kategorija sadrži samo sljedeću stranicu.|{{PLURAL:$1|Prikazana stranica jedina je|Prikazane su $1 stranice su|Prikazano je $1 stranica}} u ovoj kategoriji, od ukupno $2.}}",
        "category-article-count-limited": "{{PLURAL:$1|stranica je|$1 stranice su|$1 stranica je}} u ovoj kategoriji.",
        "category-file-count": "Ova kategorija sadrži $2 {{PLURAL:$2|datoteku|datoteke|datoteka}}. {{PLURAL:$1|Slijedi $1 datoteka|Slijede $1 datoteke|Slijedi $1 datoteka}}.",
        "category-file-count-limited": "{{PLURAL:$1|datoteka je|$1 datoteke su|$1 datoteka su}} u ovoj kategoriji.",
        "talk": "Razgovor",
        "views": "Pogledi",
        "toolbox": "Pomagala",
-       "tool-link-userrights": "Promijeni {{GENDER:$1|suradnikove|suradničine}} grupe",
+       "tool-link-userrights": "Promijeni {{GENDER:$1|suradnikovu|suradničinu}} pripadnost skupinama",
        "tool-link-userrights-readonly": "Vidi {{GENDER:$1|suradnikovu|suradničinu|suradničku}} pripadnost skupinama",
        "tool-link-emailuser": "Pošalji {{GENDER:$1|suradniku|suradnici}} e-poruku",
        "userpage": "Vidi suradnikovu stranicu",
        "toc": "Sadržaj",
        "showtoc": "prikaži",
        "hidetoc": "sakrij",
-       "collapsible-collapse": "sklopi stablo",
-       "collapsible-expand": "raširi stablo",
+       "collapsible-collapse": "sklopi",
+       "collapsible-expand": "raširi",
        "confirmable-confirm": "Jeste li sigurni?",
        "confirmable-yes": "Da",
        "confirmable-no": "Ne",
        "login": "Prijavi se",
        "login-security": "Potvrdite svoj identitet",
        "nav-login-createaccount": "Prijavi se",
-       "userlogin": "Prijavi se / stvori račun",
-       "userloginnocreate": "Prijavi se",
        "logout": "Odjavi se",
        "userlogout": "Odjavi se",
        "notloggedin": "Niste prijavljeni",
        "userlogin-noaccount": "Nemate suradnički račun?",
        "userlogin-joinproject": "Pridružite se {{SITENAME}}",
-       "nologin": "Nemate suradnički račun? $1.",
-       "nologinlink": "Otvorite račun",
        "createaccount": "Otvori novi suradnički račun",
-       "gotaccount": "Već imate suradnički račun? '''$1'''.",
-       "gotaccountlink": "Prijavite se",
-       "userlogin-resetlink": "Zaboravili ste detalje vaše prijave?",
        "userlogin-resetpassword-link": "Zaboravili ste zaporku?",
        "userlogin-helplink2": "Pomoć pri prijavi",
        "userlogin-loggedin": "Već ste prijavljeni kao {{GENDER:$1|$1}}.\nRabite donji obrazac da biste se prijavili kao drugi suradnik.",
        "createacct-another-email-ph": "Upišite adresu e-pošte",
        "createaccountmail": "Uporabite nasumice odabranu privremenu zaporku i pošaljite ju na navedenu adresu e-pošte",
        "createacct-realname": "Stvarno ime (neobvezatno)",
-       "createaccountreason": "Razlog:",
        "createacct-reason": "Razlog",
        "createacct-reason-ph": "Zašto stvarate drugi račun",
        "createacct-submit": "Stvorite svoj suradnički račun",
        "createacct-another-submit": "Otvori račun",
+       "createacct-continue-submit": "Pritisni za stvaranje računa",
+       "createacct-another-continue-submit": "Nastavi za stvaranje računa",
        "createacct-benefit-heading": "{{SITENAME}} su stvorili ljudi poput Vas.",
        "createacct-benefit-body1": "{{PLURAL:$1|uređivanje|uređivanja}}",
        "createacct-benefit-body2": "{{PLURAL:$1|stranica|stranice|stranica}}",
        "botpasswords-insert-failed": "Nije moguće dodavanje imena bota \"$1\". Možda je već dodano?",
        "botpasswords-update-failed": "Nije moguće ažurirati bot s imenom \"$1\". Možda je izbrisan?",
        "botpasswords-created-title": "Stvorena bot zaporka",
+       "botpasswords-updated-title": "Zaporka za Vašeg bota obnovljena je",
+       "botpasswords-updated-body": "Zaporka za bota imena »$1« suradnika »$2« obnovljena je.",
+       "botpasswords-deleted-title": "Zaporka je za Vašeg bota uklonjena",
        "resetpass_forbidden": "Zaporka ne može biti promijenjena",
+       "resetpass_forbidden-reason": "Zaporka ne može biti promijenjena: $1",
        "resetpass-no-info": "Morate biti prijavljeni da biste izravno pristupili ovoj stranici.",
        "resetpass-submit-loggedin": "Promijeni zaporku",
        "resetpass-submit-cancel": "Odustani",
        "passwordreset-emailtext-user": "Suradnik $1 na {{SITENAME}} zatražio je podsjetnik o pojedinostima vašeg računa za {{SITENAME}}\n($4). Sljedeći {{PLURAL:$3|račun suradnika je|računi suradnika su}} povezani s ovom e-mail adresom:\n\n$2\n\n{{PLURAL:$3|Ova privremena zaporka|Ove privremene zaporke}} će isteći u {{PLURAL:$5|jedan dan|$5 dana}}.\nTrebate se prijaviti i odabrati novu zaporku. Ukoliko je netko drugi napravio ovaj\nzahtjev, ili ako ste se sjetili Vaše izvorne zaporke, a više je ne želite promijeniti, \nmožete zanemariti ovu poruku i nastavite koristiti staru zaporku.",
        "passwordreset-emailelement": "Suradničko ime: \n$1\n\nPrivremena zaporka: \n$2",
        "passwordreset-emailsentemail": "Ako je ova adresa povezana s Vašim suradničkim računom, na nju će biti poslan podsjetnik na zaporku.",
+       "passwordreset-emailsentusername": "Ukoliko je ova adresa povezana s Vašim suradničkim računom, na istu će biti poslan podsjetnik sa zaporkom.",
        "passwordreset-invalidemail": "Nevaljala adresa e-pošte",
        "changeemail": "Promijeni ili izbriši e-mail adresu",
        "changeemail-header": "Ispunite ovaj obrazac da biste promijenili svoju adresu e-pošte. Ukoliko želite ukloniti povezanost svoje adrese e-pošte i suradničkoga računa, prilikom popunjavanja obrasca ostavite prazno polje umjesto upisivanja nove adrese e-pošte.",
        "savearticle": "Sačuvaj stranicu",
        "savechanges": "Sačuvaj stranicu",
        "publishpage": "Objavi stranicu",
-       "publishchanges": "Objavi izmjene",
+       "publishchanges": "Objavi unos",
        "preview": "Pregled kako će stranica izgledati",
        "showpreview": "Prikaži kako će izgledati",
        "showdiff": "Prikaži promjene",
        "userinvalidcssjstitle": "'''Upozorenje:''' Nema sučelja pod imenom \"$1\". Ne zaboravite da imena stranica s .css and .js kodom počinju malim slovom, npr. {{ns:user}}:Mate/vector.css, a ne {{ns:user}}:Mate/Vector.css.",
        "updated": "(Ažurirano)",
        "note": "'''Napomena:'''",
-       "previewnote": "'''Ne zaboravite da je ovo samo pregled kako će stranica izgledati. Vaše uređivanje još nije snimljeno!'''",
+       "previewnote": "<strong>Ne zaboravite da je ovo samo pregled kako će stranica izgledati.</strong>\nVaše uređivanje još nije snimljeno!",
        "continue-editing": "Nastavi uređivati",
        "previewconflict": "Ovaj pregled odražava stanje u gornjem polju za unos koje će biti sačuvano\nako pritisnete \"Sačuvaj stranicu\".",
        "session_fail_preview": "'''Ispričavamo se! Nismo mogli obraditi Vašu izmjenu zbog gubitka podataka o prijavi.\nMolimo pokušajte ponovno. Ako i dalje ne bude uspijevalo, pokušajte se [[Special:UserLogout|odjaviti]] i ponovno prijaviti.'''",
        "template-protected": "(zaštićen)",
        "template-semiprotected": "(djelomično zaštićen)",
        "hiddencategories": "Ova stranica je član {{PLURAL:$1|1 skrivene kategorije|$1 skrivene kategorije|$1 skrivenih kategorija}}:",
-       "edittools": "<!-- Ovaj će tekst biti prikazan ispod obrasca za uređivanje i postavljanje. -->",
+       "edittools": "<div id=\"specialcharss\" class=\"toccolours specialchars\" style=\"margin-top:.5em; padding: .3em .5em; font-size: 100%; color:#aaa; text-align:left;\" title=\"{{int:bw-edittools-tooltip}}\">\n<p class=\"specialbasic\" id=\"Standard\">\n'''{{int:bw-edittools-lead-in}}''' \n<charinsert>Á á É é Í í Ó ó Ú ú Ý ý</charinsert> –\n<charinsert>À à È è Ì ì Ò ò Ù ù </charinsert> –\n<charinsert> â Ê ê Î î Ô ô Û û </charinsert> –\n<charinsert>Ä ä Ë ë Ï ï Ö ö Ü ü Ÿ ÿ</charinsert> –\n<charinsert>Æ æ Ø ø Œ œ ẞ ß </charinsert> –\n<charinsert>Å å Ů ů </charinsert> –\n<charinsert>àã Ẽ ẽ ɛ̃ Ĩ ĩ Ñ ñ Õ õ ɔ̃ Ũ ũ </charinsert> –\n<charinsert>Рð Þ þ </charinsert> –\n<charinsert>Ç ç Ģ ģ Ķ ķ Ļ ļ Ņ ņ Ŗ ŗ Ş ş Ţ ţ </charinsert> –\n<charinsert>Ć ć Ĺ ĺ Ń ń Ŕ ŕ Ś ś Ý ý Ź ź </charinsert> –\n<charinsert>Č č Ď ď Ľ ľ Ň ň Ř ř Š š Ť ť Ž ž </charinsert> –\n<charinsert>Ǎ ǎ Ě ě Ǐ ǐ Ǒ ǒ Ǔ ǔ </charinsert> –\n<charinsert>Ā ā Ē ē Ī ī Ō ō Ū ū </charinsert> –\n<charinsert>ǖ ǘ ǚ ǜ </charinsert> –\n<charinsert>Ĉ ĉ Ĝ ĝ Ĥ ĥ Ĵ ĵ Ŝ ŝ Ŵ ŵ Ŷ ŷ </charinsert> –\n<charinsert>Ă ă Ğ ğ Ŭ ŭ </charinsert> –\n<charinsert>Ċ ċ Ė ė Ġ ġ Għ għ İ ı Ż ż </charinsert> –\n<charinsert>Ą ą Ę ę Į į Ų ų </charinsert> –\n<charinsert>Ő ő Ű ű </charinsert> –\n<charinsert>Đ đ Ħ ħ Ł ł Ŀ ŀ </charinsert> –\n<charinsert>Ɖ ɖ Ɛ ɛ Ƒ ƒ Ɣ ɣ Ŋ ŋ Ɔ ɔ Ʋ ʋ </charinsert> -\n<charinsert>Ə ə </charinsert> –\n<charinsert>– — ’</charinsert> –\n<charinsert>~ | ° ¹ ² ³ ⅛ ¼ ⅓ ⅜ ½ ⅝ ¾ ⅔ ⅞ € $ ¥ £ † × ← → ↔ ↑ ± ≠ © ® ™ ‰ »+« ›+‹ „+” ‚+’ ‚+‘ „+“ ¡ ¿ …</charinsert> –\n<charinsert>&amp;nbsp; &nbsp; #REDIRECT {{msg-mw|+|notext=1}} &#33;!FUZZY!! ~~~~  &lt;nowiki>+</nowiki></charinsert>\n<charinsert>ڈ ڑ ٹ </charinsert>\n<charinsert>ټ څ ځ ډ ړ ږ ښ ڼ ؤ ي ې ۍ ئ </charinsert>\n<charinsert>{{{+}}} {{+}} {{subst:+}} <noinclude>+</noinclude></charinsert>\n<charinsert>&lt;!--&nbsp;+&nbsp;--> &lt;br&nbsp;/></charinsert>\n</p></div>",
        "nocreatetext": "Na ovom je projektu ograničeno otvaranje novih stranica.\nMožete se vratiti i uređivati već postojeće stranice ili se [[Special:UserLogin|prijaviti ili otvoriti suradnički račun]].",
        "nocreate-loggedin": "Nemate ovlasti za stvaranje novih stranica.",
        "sectioneditnotsupported-title": "Uređivanje odjeljka nije podržano",
        "sectioneditnotsupported-text": "Uređivanje odjeljka nije podržano na ovoj stranici",
        "permissionserrors": "Pogrješka u pravima",
        "permissionserrorstext": "Nemate ovlasti za tu radnju iz sljedećih {{PLURAL:$1|razlog|razloga}}:",
-       "permissionserrorstext-withaction": "Nemate dopuštenje za $2, iz {{PLURAL:$1|razloga|razloga}}:",
+       "permissionserrorstext-withaction": "Nemate dopuštenje za $2, iz {{PLURAL:$1|navedenog|navedenih}} razloga:",
        "recreate-moveddeleted-warn": "'''Upozorenje: Ponovno stvarate stranicu koja je prethodno bila izbrisana.'''\n\nRazmotrite je li prikladno nastaviti s uređivanje ove stranice.\nZa Vašu informaciju slijedi evidencija brisanja i premještanja ove stranice:",
        "moveddeleted-notice": "Ova stranica je bila izbrisana.\nEvidencija brisanja i evidencija premještanja za ovu stranicu je prikazana niže.",
        "moveddeleted-notice-recent": "Žao nam je, ova stranica je izbrisana u prošla 24 sata. \nNiže je navedena evidencija brisanja i premještanja.",
        "currentrev": "Trenutačna inačica",
        "currentrev-asof": "Trenutačna izmjena od $1",
        "revisionasof": "Inačica od $1",
-       "revision-info": "Inačica od $1 koju je unio/unijela $2",
+       "revision-info": "Inačica $3 od $4 u $5 koju je {{GENDER:$6|unio|unijela}} {{GENDER:$6|$2}}$7",
        "previousrevision": "←Starija inačica",
        "nextrevision": "Novija inačica→",
        "currentrevisionlink": "vidi trenutačnu inačicu",
        "datedefault": "Nemoj postaviti",
        "prefs-labs": "Labs mogućnosti",
        "prefs-user-pages": "Suradničke stranice",
-       "prefs-personal": "Podaci o suradniku",
+       "prefs-personal": "Podatci o suradniku",
        "prefs-rc": "Nedavne promjene",
        "prefs-watchlist": "Praćene stranice",
        "prefs-editwatchlist": "Uredi popis praćenja",
        "prefs-help-recentchangescount": "Ovo uključuje nedavne promjene, stare izmjene, i evidencije.",
        "prefs-help-watchlist-token2": "Ovo je tajni ključ prema sažetku Vašeg popisa praćenja. Svaki suradnik kojem je poznat, moći će čitati Vaš popis praćenih stranica. Ne dijelite ga ni s kim. [[Special:ResetTokens|Kliknite ovdje ako ga želite ponovo postaviti]].",
        "savedprefs": "Vaše postavke su sačuvane.",
-       "savedrights": "Suradnička prava {{GENDER:suradnika $1|suradnice $1}} su spremljena.",
+       "savedrights": "Suradnička su prava {{GENDER:$1|suradnika $1|suradnice $1}} spremljena.",
        "timezonelegend": "Vremenska zona:",
        "localtime": "Lokalno vrijeme:",
        "timezoneuseserverdefault": "Koristi postavke wikija ($1)",
        "prefs-emailconfirm-label": "Potvrda e-mail adrese:",
        "youremail": "Vaša elektronska pošta *",
        "username": "Ime {{GENDER:$1|suradnika|suradnice}}:",
-       "prefs-memberingroups": "{{GENDER:$2|Suradnik|Suradnica}} je član {{PLURAL:$1|sljedeće skupine|sljedećih skupina}}:",
+       "prefs-memberingroups": "{{GENDER:$2|Suradnik je član|Suradnica je članica}} {{PLURAL:$1|sljedeće skupine|sljedećih skupina}}:",
+       "group-membership-link-with-expiry": "$1 (do $2)",
        "prefs-registration": "Vrijeme prijave:",
        "yourrealname": "Pravo ime (nije obvezno)*",
        "yourlanguage": "Jezik:",
        "yournick": "Vaš nadimak (za potpisivanje)",
        "prefs-help-signature": "Komentari na stranicama za razgovor trebali bi biti potpisani s \"<nowiki>~~~~</nowiki>\" što će biti pretvoreno u Vaš potpis i datum.",
        "badsig": "Kôd Vašeg potpisa nije valjan; provjerite HTML tagove.",
-       "badsiglength": "Vaš potpis je predugačak.\nNe smije biti duži od $1 {{PLURAL:$1|znaka|znaka|znakova}}.",
+       "badsiglength": "Vaš je potpis predugačak.\nNe smije biti duži od $1 {{PLURAL:$1|znaka|znakova}}.",
        "yourgender": "Na koji način želite da Vam se ostali suradnici obraćaju?",
        "gender-unknown": "Kad Vas se spominje, programska će oprema pokušati upotrijebiti srednji rod kad god je to moguće.",
        "gender-male": "Uređivač sam wikistranica.",
        "prefs-help-prefershttps": "Ova mogućnost će stupiti na snagu kod sljedeće prijave.",
        "prefswarning-warning": "Napravili ste promjene u Vašim postavkama koje još nisu snimljene.\nAko napustite ovu stranicu bez pritiska na \"$1\", postavke neće biti ažurirane.",
        "prefs-tabs-navigation-hint": "Savjet: možete rabiti tipke sa strjelicama lijevo i desno za prebacivanje između kartica na popisu kartica.",
-       "userrights": "Upravljanje suradničkim pravima",
+       "userrights": "Upravljanje pravima",
        "userrights-lookup-user": "Izaberi suradnika",
        "userrights-user-editname": "Unesite suradničko ime:",
        "editusergroup": "Učitaj suradničke skupine",
        "editinguser": "Promjena suradničkih prava {{GENDER:$1|suradnika|suradnice}} <strong>[[User:$1|$1]]</strong> $2",
        "viewinguserrights": "Pregled suradničkih prava {{GENDER:$1|suradnika|suradnice}} <strong>[[User:$1|$1]]</strong> $2",
-       "userrights-editusergroup": "Uredi {{GENDER:$1|suradničke}} skupine",
+       "userrights-editusergroup": "Uređivanje {{GENDER:$1|suradnikove|suradničine}} pripadnosti skupinama",
        "userrights-viewusergroup": "Vidi {{GENDER:$1|suradničke}} skupine",
        "saveusergroups": "Spremi {{GENDER:$1|suradničke}} grupe",
-       "userrights-groupsmember": "{{GENDER:$2|Pripadnik|Pripadnica}} skupina:",
-       "userrights-groupsmember-auto": "{{GENDER:$2|Pripadnik|Pripadnica}} obuhvaćenih skupina:",
-       "userrights-groups-help": "Možete promijeniti skupine za ovog suradnika:\n* označena kućica pokazuje skupinu kojoj suradnik pripada;\n* neoznačena kućica pokazuje skupinu kojoj suradnik ne pripada;\n* zvjezdica (*) označava skupinu koju ne možete ukloniti kad ju jednom dodate, ili obratno.\n* povisilica (#) označava da rok valjanosti pripadanja skupini možete samo skratiti, a ne i produljiti",
+       "userrights-groupsmember": "{{GENDER:$2|Pripadnik|Pripadnica}} {{PLURAL:$1|skupine|skupinama|skupina}}:",
+       "userrights-groupsmember-auto": "{{GENDER:$2|Pripadnik|Pripadnica}} {{PLURAL:$1|obuhvaćene skupine|obuhvaćenih skupina}}:",
+       "userrights-groups-help": "Možete promijeniti skupine za {{GENDER:$1|ovoga suradnika|ovu suradnicu}}:\n* označena kućica pokazuje skupinu kojoj {{GENDER:$1|suradnik|suradnica}} pripada;\n* neoznačena kućica pokazuje skupinu kojoj {{GENDER:$1|suradnik|suradnica}} ne pripada;\n* zvjezdica (*) označava skupinu koju ne možete ukloniti kad ju jednom dodate, ili obratno.\n* povisilica (#) označava da rok valjanosti pripadanja skupini možete samo skratiti, a ne i produljiti",
        "userrights-reason": "Razlog:",
        "userrights-no-interwiki": "Nemate dopuštenje za uređivanje suradničkih prava na drugim wikijima.",
        "userrights-nodatabase": "Baza podataka $1 ne postoji ili nije lokalno dostupna.",
        "userrights-changeable-col": "Skupine koje možete promijeniti",
        "userrights-unchangeable-col": "Skupine koje ne možete promijeniti",
+       "userrights-expiry-current": "Ističe $1",
        "userrights-expiry-none": "Neograničeno trajanje statusa",
        "userrights-conflict": "Sukob promjene suradničkih prava! Molimo provjerite i potvrdite svoje promjene.",
        "group": "Skupina:",
        "group-bot": "Botovi",
        "group-sysop": "Administratori",
        "group-bureaucrat": "Birokrati",
-       "group-suppress": "Nadzornici",
+       "group-suppress": "Otajnici",
        "group-all": "(svi)",
        "group-user-member": "{{GENDER:$1|suradnik|suradnica}}",
        "group-autoconfirmed-member": "{{GENDER:$1|automatski potvrđen suradnik|automatski potvrđena suradnica}}",
        "group-bot-member": "{{GENDER:$1|bot}}",
        "group-sysop-member": "{{GENDER:$1|administrator|administratorica}}",
        "group-bureaucrat-member": "{{GENDER:$1|birokrat|birokratica}}",
-       "group-suppress-member": "{{GENDER:$1|nadzornik|nadzornica}}",
+       "group-suppress-member": "{{GENDER:$1|otajnik|otajnica}}",
        "grouppage-user": "{{ns:project}}:Suradnici",
        "grouppage-autoconfirmed": "{{ns:project}}:automatski potvrđeni suradnici",
        "grouppage-bot": "{{ns:project}}:Botovi",
        "grouppage-sysop": "{{ns:project}}:Administratori",
        "grouppage-bureaucrat": "{{ns:project}}:Birokrati",
-       "grouppage-suppress": "{{ns:project}}:Nadzor",
+       "grouppage-suppress": "{{ns:project}}:Otajnost",
        "right-read": "Čitanje stranica",
        "right-edit": "Uređivanje stranica",
        "right-createpage": "Stvaranje stranica (stranica koje nisu razgovor)",
        "right-deletedtext": "Pregled izbrisanog teksta i izmjena između izbrisanih izmjena",
        "right-browsearchive": "Traženje obrisanih stranica",
        "right-undelete": "Vraćanje stranica",
-       "right-suppressrevision": "Pregledavanje i vraćanje izmjena skrivenih od administratora",
+       "right-suppressrevision": "Pregledavanje, skrivanje i vraćanje izmjena na suradničkim stranicama bilo kojega suradnika",
+       "right-viewsuppressed": "Prikaži izmjene skrivene od svih suradnika",
        "right-suppressionlog": "Gledanje privatnih evidencija",
        "right-block": "Blokiranje suradnika u uređivanju",
        "right-blockemail": "Blokiranje suradnika u slanju elektroničke pošte",
        "right-protect": "Mijenjanje razina zaštićivanja i uređivanje zaštićenih stranica",
        "right-editprotected": "Uređivanje stranica zaštićenih kao \"{{int:protect-level-sysop}}\"",
        "right-editsemiprotected": "Uređivanje stranica zaštićenih kao \"{{int:protect-level-autoconfirmed}}\"",
+       "right-editcontentmodel": "Odredi modela sadržaja stranice",
        "right-editinterface": "Uređivanje suradničkog sučelja",
        "right-editusercssjs": "Uređivanje CSS i JS stranica drugih suradnika",
        "right-editusercss": "Uređivanje CSS stranica drugih suradnika",
        "grant-group-email": "Pošalji e-mail",
        "grant-blockusers": "Blokiraj i odblokiraj korisnike",
        "grant-createaccount": "Otvori račune",
-       "grant-createeditmovepage": "Stvori, uredi i premjesti stranice",
+       "grant-createeditmovepage": "Stvaranje, uređivanje i premještanje stranica",
        "grant-editmyoptions": "Uređivanje vlastitih suradničkih postavki",
        "grant-editpage": "Uređivanje postojećih stranica",
        "grant-editprotected": "Uređivanje zaštićenih stranica",
        "grant-highvolume": "Uređivanja velikog opsega",
+       "grant-uploadeditmovefile": "Postavljanje, zamjena i premještanje datoteka",
+       "grant-uploadfile": "Postavljanje novih datoteka",
        "grant-basic": "Osnovna prava",
        "grant-viewdeleted": "Prikaz izbrisanih datoteka i stranica",
        "grant-viewmywatchlist": "Pregled popisa praćenih stranica",
        "action-viewmyprivateinfo": "pregled Vaših privatnih podataka",
        "action-editmyprivateinfo": "uredite svoje privatne podatke",
        "nchanges": "{{PLURAL:$1|$1 promjena|$1 promjene|$1 promjena}}",
+       "enhancedrc-since-last-visit": "$1 {{PLURAL:$1|uređivanje od Vašeg posljednjeg posjeta|uređivanja od Vašeg posljednjeg posjeta}}",
        "enhancedrc-history": "povijest",
        "recentchanges": "Nedavne promjene",
        "recentchanges-legend": "Izbornik nedavnih promjena",
        "recentchanges-legend-newpage": "Nova stranica",
        "recentchanges-legend-plusminus": "(<em>±123</em>)",
        "recentchanges-submit": "Prikaži",
+       "rcfilters-activefilters": "Aktivni filtri",
+       "rcfilters-restore-default-filters": "Vrati zadane filtre",
+       "rcfilters-clear-all-filters": "Očisti sve filtre",
+       "rcfilters-search-placeholder": "Posljednje izmjene filtera (pogledajte ili počnite unositi)",
+       "rcfilters-invalid-filter": "Filter nije valjan",
        "rcnotefrom": "Slijede promjene od <b>$2</b> (prikazano ih je do <b>$1</b>).",
        "rclistfrom": "Prikaži nove promjene počevši od $3 $2",
        "rcshowhideminor": "$1 manje promjene",
        "withoutinterwiki-summary": "Sljedeće stranice nemaju poveznice na projekte na drugim jezicima:",
        "withoutinterwiki-legend": "Prefiks",
        "withoutinterwiki-submit": "Prikaži",
-       "fewestrevisions": "Članci s najmanje izmjena",
+       "fewestrevisions": "Stranice s najmanje izmjena",
        "nbytes": "$1 {{PLURAL:$1|bajt|bajta|bajtova}}",
        "ncategories": "$1 {{PLURAL:$1|kategorija|kategorije|kategorija}}",
        "ninterwikis": "$1 međuwiki {{PLURAL:$1|poveznica|poveznice|poveznica}}",
        "mostlinked": "Stranice na koje vodi najviše poveznica",
        "mostlinkedcategories": "Kategorije na koje vodi najviše poveznica",
        "mostlinkedtemplates": "Predlošci na koje vodi najviše poveznica",
-       "mostcategories": "Popis članaka po broju kategorija",
+       "mostcategories": "Popis stranica po broju kategorija",
        "mostimages": "Slike na koje vodi najviše poveznica",
        "mostinterwikis": "Stranice s najviše međuwiki poveznica",
-       "mostrevisions": "Popis članaka po broju uređivanja",
+       "mostrevisions": "Popis stranica po broju uređivanja",
        "prefixindex": "Sve stranice prema početku naslova",
        "prefixindex-namespace": "Sve stranice s predmetkom (imenski prostor $1)",
        "prefixindex-submit": "Prikaži",
        "excontent": "sadržaj je bio: '$1'",
        "excontentauthor": "sadržaj je bio: »$1«; {{GENDER:$2|jedini pridonositelj bio je|jedina pridonositeljica bila je}} [[Special:Contributions/$2|$2]] ([[User talk:$2|razgovor]])",
        "exbeforeblank": "sadržaj prije brisanja je bio: '$1'",
-       "delete-confirm": "Obriši \"$1\"",
+       "delete-confirm": "Pobriši »$1«",
        "delete-legend": "Izbriši",
        "historywarning": "<strong>Upozorenje:</strong> stranica koju želite izbrisati ima starije izmjene s $1 {{PLURAL:$1|inačicom|inačice|inačica}}:",
        "historyaction-submit": "Prikaži",
        "sp-contributions-hideminor": "Sakrij manje izmjene",
        "sp-contributions-submit": "Traži",
        "whatlinkshere": "Što vodi ovamo",
-       "whatlinkshere-title": "Stranice koje vode na \"$1\"",
+       "whatlinkshere-title": "Stranice koje vode na »$1«",
        "whatlinkshere-page": "Stranica:",
        "linkshere": "Sljedeće stranice povezuju ovamo ([[:$1]]):",
        "nolinkshere": "Nijedna stranica ne vodi ovamo (tj. nema poveznica na stranicu [[:$1]]).",
        "log-name-managetags": "Evidencija upravljanja oznakama",
        "log-name-tag": "Evidencija oznaka",
        "rightsnone": "(suradnik)",
-       "revdelete-summary": "sažetak",
        "feedback-adding": "Dodajem povratne informacije na stranicu...",
        "feedback-back": "Natrag",
        "feedback-bugcheck": "Izvrsno! Molimo provjerite da se ne radi o nekom [$1 poznatom \"bugu\"].",
        "feedback-bugnew": "Provjereno. Prijavi novi \"bug\"",
        "feedback-bugornote": "Ako ste spremni detaljno opisati tehnički problem molimo [$1 prijavite \"bug\"].\nInače, možete ispuniti jednostavan obrazac u nastavku. Vaš komentar biti će dodan na stranicu \"[$3 $2]\", zajedno s vašim suradničkim imenom i imenom internetskog preglednika koji rabite.",
        "feedback-cancel": "Odustani",
-       "feedback-close": "Gotovo",
+       "feedback-close": "Riješeno",
        "feedback-external-bug-report-button": "Arhiviraj tehnički zadatak",
        "feedback-dialog-title": "Slanje povratnih informacija",
        "feedback-dialog-intro": "Da biste poslali povratnu informaciju, rabite jednostavan obrazac. Vaš će komentar biti dodan na stranici \"$1\" s Vašim suradničkim imenom.",
        "feedback-terms": "Jasno mi je da moje ''user agent'' informacije sadrže točne informacije o mom pregledniku i operativnom sustavu te da će biti javno dostupne zajedno s mojom povratnom informacijom.",
        "feedback-termsofuse": "Slažem se da povratne informacije objavljujem u skladu s Uvjetima uporabe.",
        "feedback-thanks": "Hvala! Vaš odgovor je snimljen na stranicu \"[$2 $1]\".",
-       "feedback-thanks-title": "Hvala!",
+       "feedback-thanks-title": "Hvala Vam lijepa!",
        "searchsuggest-search": "Pretraži projekt {{SITENAME}}",
        "searchsuggest-containing": "sadrži....",
        "api-error-badtoken": "Interna pogrješka: Token nije ispravan.",
diff --git a/languages/i18n/hu-formal.json b/languages/i18n/hu-formal.json
new file mode 100644 (file)
index 0000000..c098a2f
--- /dev/null
@@ -0,0 +1,255 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Dani",
+                       "Futhark1988",
+                       "Máté",
+                       "R-Joe",
+                       "Tacsipacsi"
+               ]
+       },
+       "tog-underline": "Hivatkozások aláhúzása:",
+       "tog-hideminor": "Apró változtatások elrejtése a friss változtatások lapon",
+       "tog-hidepatrolled": "Az ellenőrzött szerkesztések elrejtése a friss változtatások lapon",
+       "tog-newpageshidepatrolled": "Ellenőrzött lapok elrejtése az új lapok listájáról",
+       "tog-extendwatchlist": "A figyelőlistán az összes változtatás látszódjon, ne csak az utolsó",
+       "tog-usenewrc": "Szerkesztések csoportosítása oldal szerint a friss változtatásokban és a figyelőlistán",
+       "tog-numberheadings": "Fejezetcímek automatikus számozása",
+       "tog-showtoolbar": "Szerkesztőeszközsor megjelenítése",
+       "tog-editondblclick": "A lapok szerkesztése dupla kattintásra",
+       "tog-editsectiononrightclick": "Szakaszok szerkesztése a szakaszcímre való jobb kattintással",
+       "tog-watchcreations": "Az Ön által létrehozott lapok és feltöltött fájlok felvétele a figyelőlistára",
+       "tog-watchdefault": "Az Ön által szerkesztett lapok és fájlok felvétele a figyelőlistájára",
+       "tog-watchmoves": "Az Ön által átnevezett lapok és fájlok felvétele a figyelőlistájára",
+       "tog-watchdeletion": "Az Ön által törölt lapok és fájlok hozzáadása a figyelőlistájához",
+       "tog-minordefault": "Alapértelmezésben az összes szerkesztése legyen aprónak jelölve",
+       "tog-previewontop": "Előnézet megjelenítése a szerkesztőablak előtt",
+       "tog-previewonfirst": "Előnézet első szerkesztésnél",
+       "tog-enotifwatchlistpages": "Értesítés küldése e-mailben, ha egy Ön által figyelt lap vagy fájl megváltozik",
+       "tog-enotifusertalkpages": "Értesítés e-mailben, ha megváltozik a vitalapja",
+       "tog-enotifminoredits": "Értesítés küldése e-mailben akkor is, ha egy Ön által figyelt lap vagy fájl megváltozik (apró változtatás)",
+       "tog-enotifrevealaddr": "Jelenítse meg az e-mail címét a figyelmeztető e-mailekben",
+       "tog-shownumberswatching": "A lapot figyelő szerkesztők számának megjelenítése",
+       "tog-oldsig": "A jelenlegi aláírás:",
+       "tog-fancysig": "Az aláírás wikiszöveg (nem lesz automatikusan hivatkozásba rakva)",
+       "tog-uselivepreview": "Élő előnézet használata (kísérleti)",
+       "tog-forceeditsummary": "Figyelmeztetés megjelenítése, ha nem ad meg szerkesztési összefoglalót",
+       "tog-watchlisthideown": "Az Ön szerkesztéseinek elrejtése a figyelőlistáról",
+       "tog-watchlisthidebots": "Robotok szerkesztéseinek elrejtése",
+       "tog-watchlisthideminor": "Apró változtatások elrejtése",
+       "tog-watchlisthideliu": "Bejelentkezett szerkesztők módosításainak elrejtése a figyelőlistáról",
+       "tog-watchlisthideanons": "Névtelen szerkesztések elrejtése",
+       "tog-watchlisthidepatrolled": "Az ellenőrzött szerkesztések elrejtése",
+       "tog-ccmeonemails": "A másoknak küldött e-mailjeiről kapon Ön is másolatot",
+       "tog-diffonly": "Ne mutassa a lap tartalmát a lapváltozatok közötti eltérések megtekintésekor",
+       "tog-showhiddencats": "Rejtett kategóriák megjelenítése",
+       "tog-norollbackdiff": "Ne jelenjenek meg az eltérések visszaállítás után",
+       "underline-always": "mindig",
+       "underline-never": "soha",
+       "underline-default": "Felület és böngésző alapértelmezése szerint",
+       "editfont-style": "A szerkesztőterület betűtípusa:",
+       "editfont-default": "a böngésző alapértelmezett beállítása",
+       "editfont-monospace": "fix szélességű betűtípus",
+       "editfont-sansserif": "talpatlan (sans-serif) betűtípus",
+       "editfont-serif": "talpas (serif) betűtípus",
+       "sunday": "vasárnap",
+       "monday": "hétfő",
+       "tuesday": "kedd",
+       "wednesday": "szerda",
+       "thursday": "csütörtök",
+       "friday": "péntek",
+       "saturday": "szombat",
+       "sun": "vas",
+       "mon": "hét",
+       "tue": "kedd",
+       "wed": "sze",
+       "thu": "csü",
+       "fri": "pén",
+       "sat": "szo",
+       "january": "január",
+       "february": "február",
+       "march": "március",
+       "april": "április",
+       "may_long": "május",
+       "june": "június",
+       "july": "július",
+       "august": "augusztus",
+       "september": "szeptember",
+       "october": "október",
+       "november": "november",
+       "december": "december",
+       "january-gen": "január",
+       "february-gen": "február",
+       "march-gen": "március",
+       "april-gen": "április",
+       "may-gen": "május",
+       "june-gen": "június",
+       "july-gen": "július",
+       "august-gen": "augusztus",
+       "september-gen": "szeptember",
+       "october-gen": "október",
+       "november-gen": "november",
+       "december-gen": "december",
+       "jan": "jan",
+       "feb": "febr",
+       "mar": "márc",
+       "apr": "ápr",
+       "may": "máj",
+       "jun": "jún",
+       "jul": "júl",
+       "aug": "aug",
+       "sep": "szept",
+       "oct": "okt",
+       "nov": "nov",
+       "dec": "dec",
+       "pagecategories": "{{PLURAL:$1|Kategória}}",
+       "category_header": "A(z) „$1” kategóriába tartozó lapok",
+       "subcategories": "Alkategóriák",
+       "category-media-header": "A(z) „$1” kategóriába tartozó médiafájlok",
+       "category-empty": "''Ebben a kategóriában pillanatnyilag egyetlen lap vagy médiafájl sem szerepel.''",
+       "hidden-categories": "{{PLURAL:$1|Rejtett kategória}}",
+       "hidden-category-category": "Rejtett kategóriák",
+       "category-subcat-count": "''{{PLURAL:$2|1=Ennek a kategóriának csak egyetlen alkategóriája van.|2=Ez a kategória az alábbi {{PLURAL:$1|1=alkategóriával|2=$1 alkategóriával}} rendelkezik (összesen $2 alkategóriája van).}}''",
+       "category-subcat-count-limited": "Ebben a kategóriában {{PLURAL:$1|egy|$1}} alkategória található.",
+       "category-article-count": "{{PLURAL:$2|A kategóriában csak a következő lap található.|A következő $1 lap található a kategóriában, összesen $2 lapból.}}",
+       "category-article-count-limited": "Ebben a kategóriában a következő {{PLURAL:$1|lap|$1 lap}} található:",
+       "category-file-count": "{{PLURAL:$2|Csak a következő fájl található ebben a kategóriában.|Az összesen $2 fájlból a következő $1-t listázza ez a kategórialap, a többi a további oldalakon található.}}",
+       "category-file-count-limited": "Ebben a kategóriában a következő {{PLURAL:$1|lap|$1 lap}} található:",
+       "listingcontinuesabbrev": "folyt.",
+       "index-category": "Indexelt lapok",
+       "noindex-category": "Nem indexelt lapok",
+       "broken-file-category": "Hibás fájlhivatkozásokat tartalmazó lapok",
+       "about": "Névjegy",
+       "article": "Szócikk",
+       "newwindow": "(új ablakban nyílik meg)",
+       "cancel": "Mégse",
+       "moredotdotdot": "Tovább…",
+       "mypage": "‎Lapom",
+       "mytalk": "Vitalap",
+       "anontalk": "Az IP-címhez tartozó vitalap",
+       "navigation": "Navigáció",
+       "and": "&#32;és",
+       "qbfind": "Keresés",
+       "qbbrowse": "Böngészés",
+       "qbedit": "Szerkesztés",
+       "qbpageoptions": "Lapbeállítások",
+       "qbmyoptions": "Lapjai",
+       "faq": "GyIK",
+       "faqpage": "Project:GyIK",
+       "actions": "Műveletek",
+       "namespaces": "Névterek",
+       "variants": "Változatok",
+       "errorpagetitle": "Hiba",
+       "returnto": "Vissza a(z) $1 laphoz.",
+       "tagline": "A {{SITENAME}} wikiből",
+       "help": "Segítség",
+       "search": "Keresés",
+       "searchbutton": "Keresés",
+       "go": "Menjen",
+       "searcharticle": "Menjen",
+       "history": "Laptörténet",
+       "history_short": "Laptörténet",
+       "updatedmarker": "az utolsó látogatása óta frissítették",
+       "printableversion": "Nyomtatható változat",
+       "permalink": "Hivatkozás erre a változatra",
+       "print": "Nyomtatás",
+       "view": "Olvasás",
+       "edit": "Szerkesztés",
+       "create": "Létrehozás",
+       "editthispage": "Lap szerkesztése",
+       "create-this-page": "Oldal létrehozása",
+       "delete": "Törlés",
+       "deletethispage": "Lap törlése",
+       "undelete_short": "{{PLURAL:$1|Egy|$1}} szerkesztés helyreállítása",
+       "viewdeleted_short": "{{PLURAL:$1|Egy|$1}} törölt szerkesztés megtekintése",
+       "protect": "Lapvédelem",
+       "protect_change": "módosítás",
+       "protectthispage": "Lapvédelem",
+       "unprotect": "Védelem módosítása",
+       "unprotectthispage": "Védelem módosítása",
+       "newpage": "Új lap",
+       "talkpage": "A lappal kapcsolatos megbeszélés",
+       "talkpagelinktext": "vitalap",
+       "specialpage": "Speciális lap",
+       "personaltools": "Személyes eszközök",
+       "articlepage": "Szócikk megtekintése",
+       "talk": "Vitalap",
+       "views": "Nézetek",
+       "toolbox": "Eszközök",
+       "userpage": "Felhasználó lapjának megtekintése",
+       "projectpage": "Projektlap megtekintése",
+       "imagepage": "A fájl leírólapjának megtekintése",
+       "mediawikipage": "Üzenetlap megtekintése",
+       "templatepage": "Sablon lapjának megtekintése",
+       "viewhelppage": "Súgólap megtekintése",
+       "categorypage": "Kategórialap megtekintése",
+       "viewtalkpage": "Beszélgetés megtekintése",
+       "otherlanguages": "Más nyelveken",
+       "redirectedfrom": "($1 szócikkből átirányítva)",
+       "redirectpagesub": "Átirányító lap",
+       "lastmodifiedat": "A lap utolsó módosítása: $1, $2",
+       "viewcount": "Ezt a lapot {{PLURAL:$1|egy|$1}} alkalommal keresték fel.",
+       "protectedpage": "Védett lap",
+       "jumpto": "Ugrás:",
+       "jumptonavigation": "navigáció",
+       "jumptosearch": "keresés",
+       "view-pool-error": "Sajnos a szerverek jelen pillanatban túl vannak terhelve, mert\ntúl sok felhasználó próbálta megtekinteni ezt az oldalt.\nKérjük, várjon egy kicsit, mielőtt újrapróbálkozna a lap megtekintésével!\n\n$1",
+       "pool-timeout": "Letelt a zárolás feloldására szánt várakozási idő",
+       "pool-queuefull": "A pool sor megtelt",
+       "pool-errorunknown": "Ismeretlen hiba",
+       "aboutsite": "A {{SITENAME}} wikiről",
+       "aboutpage": "Project:Rólunk",
+       "copyright": "A tartalom további jelölés hiányában a(z) $1 feltételei szerint használható fel.",
+       "copyrightpage": "{{ns:project}}:Szerzői jogok",
+       "currentevents": "Aktuális események",
+       "currentevents-url": "Project:Friss események",
+       "disclaimers": "Jogi nyilatkozat",
+       "disclaimerpage": "Project:Jogi nyilatkozat",
+       "edithelp": "Szerkesztési segítség",
+       "mainpage": "Kezdőlap",
+       "mainpage-description": "Kezdőlap",
+       "policy-url": "Project:Irányelvek",
+       "portal": "Közösségi portál",
+       "portal-url": "Project:Közösségi portál",
+       "privacy": "Adatvédelmi irányelvek",
+       "privacypage": "Project:Adatvédelmi irányelvek",
+       "badaccess": "Engedélyezési hiba",
+       "badaccess-group0": "Ezt a tevékenységet Ön nem végezheti el.",
+       "badaccess-groups": "Ezt a tevékenységet csak a(z) $1 {{PLURAL:$2|csoportba|csoportok valamelyikébe}} tartozó felhasználó végezheti el.",
+       "versionrequired": "A MediaWiki $1 verziója szükséges",
+       "versionrequiredtext": "A lap használatához a MediaWiki $1-s verziójára van szükség.\nTovábbi információkat a [[Special:Version|verzióinformációs lapon]] találhat.",
+       "ok": "OK",
+       "retrievedfrom": "A lap eredeti címe: „$1”",
+       "youhavenewmessages": "Új üzenet várja $1! (Az üzenetet $2.)",
+       "youhavenewmessagesmulti": "Új üzenetet várja a(z) $1 wikin",
+       "editsection": "szerkesztés",
+       "editold": "szerkesztés",
+       "viewsourceold": "lapforrás",
+       "editlink": "szerkesztés",
+       "viewsourcelink": "forráskód megtekintése",
+       "editsectionhint": "Szakasz szerkesztése: $1",
+       "toc": "Tartalomjegyzék",
+       "showtoc": "megjelenítés",
+       "hidetoc": "elrejtés",
+       "collapsible-collapse": "becsuk",
+       "collapsible-expand": "kinyit",
+       "nstab-main": "Lap",
+       "nosuchactiontext": "Az URL-ben megadott műveletet érvénytelen.\nValószínűleg elgépelte, hibás hivatkozásra kattintott, vagy a\na(z) {{SITENAME}} által használt szoftver hibája is lehet.",
+       "nospecialpagetext": "<strong>Érvénytelen speciális lapot akart megtekinteni.</strong>\n\nAz érvényes speciális lapok listáját a [[Special:SpecialPages|Speciális lapok]] oldalon találja meg.",
+       "enterlockreason": "Adja meg a lezárás okát, valamint egy becslést, hogy mikor kerül a lezárás feloldásra",
+       "exception-nologin-text": "Ezen lap vagy művelet eléréséhez, kérjük, [[Special:Userlogin|jelentkezzen be]].",
+       "login-security": "Személyazonosságának igazolása",
+       "userlogin-reauth": "Újra be kell jelentkeznie, hogy igazolja, ön $1.",
+       "createacct-loginerror": "A fiók sikeresen létrejött, de nem tudott automatikusan bejelentkezni. Kérjük, [[Special:UserLogin|jelentkezzen be manuálisan]]!",
+       "nosuchuser": "Nem létezik „$1” nevű szerkesztő.\nEllenőrizze, hogy helyesen írta-e be, vagy [[Special:CreateAccount|hozzon létre egy új fiókot]].",
+       "changeemail-newemail-help": "Ha el akarja távolítani az e-mail-címét, ezt a mezőt üresen kell hagynia. Ha eltávolítja az e-mail-címét, nem fogja tudni visszaállítani a jelszavát, és nem fog tudni e-maileket fogadni erről a wikiről.",
+       "changeemail-nochange": "Kérjük, adjon meg egy másik új e-mail-címet.",
+       "noarticletext": "Ez a lap jelenleg nem tartalmaz szöveget.\n[[Special:Search/{{PAGENAME}}|Rákereshet erre a címszóra]],\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} megtekintheti a kapcsolódó naplókat],\nvagy [{{fullurl:{{FULLPAGENAME}}|action=edit}} létrehozhatja a lapot].</span>",
+       "recentchangeslinked-toolbox": "Kapcsolódó változtatások",
+       "upload-form-label-not-own-work-local-generic-local": "Az [[Special:Upload|alapértelmezett feltöltőoldalt]] is kipróbálhatja.",
+       "filehist": "Fájl történet",
+       "newpages": "Új lapok",
+       "changecontentmodel-submit": "Módosít",
+       "specialpages": "Speciális lapok",
+       "sessionprovider-nocookies": "A sütik le lehetnek tiltva. Engedélyezze a sütiket, és próbálja meg újra!"
+}
index 2586a71..0ebdc3d 100644 (file)
@@ -45,7 +45,8 @@
                        "Bencoke",
                        "Máté",
                        "Wolf Rex",
-                       "BanKris"
+                       "BanKris",
+                       "Notramo"
                ]
        },
        "tog-underline": "Hivatkozások aláhúzása:",
        "login": "Bejelentkezés",
        "login-security": "Személyazonosságod igazolása",
        "nav-login-createaccount": "Bejelentkezés / fiók létrehozása",
-       "userlogin": "Bejelentkezés / fiók létrehozása",
-       "userloginnocreate": "Bejelentkezés",
        "logout": "Kijelentkezés",
        "userlogout": "Kijelentkezés",
        "notloggedin": "Nem vagy bejelentkezve",
        "userlogin-noaccount": "Nem rendelkezel még felhasználói fiókkal?",
        "userlogin-joinproject": "Csatlakozz a(z) {{SITENAME}} wikihez",
-       "nologin": "Nem rendelkezel még felhasználói fiókkal? $1.",
-       "nologinlink": "Itt regisztrálhatsz",
        "createaccount": "Regisztráció",
-       "gotaccount": "Már van fiókod? $1.",
-       "gotaccountlink": "Bejelentkezés",
-       "userlogin-resetlink": "Elfelejtetted a bejelentkezési adataidat?",
        "userlogin-resetpassword-link": "Elfelejtetted a jelszavad?",
        "userlogin-helplink2": "Segítség a bejelentkezéshez",
        "userlogin-loggedin": "Már be vagy jelentkezve mint {{GENDER:$1|$1}}. Ha más néven akarsz belépni, alább megteheted.",
        "createaccountmail": "Átmeneti, véletlenszerű jelszó beállítása és kiküldése a megadott e-mail címre",
        "createaccountmail-help": "A jelszó megismerése nélkül készíthető valaki másnak fiók.",
        "createacct-realname": "Igazi neved (nem kötelező)",
-       "createaccountreason": "Indoklás:",
        "createacct-reason": "Indoklás",
        "createacct-reason-ph": "Miért hozol létre egy másik fiókot",
        "createacct-reason-help": "A fióklétrehozási naplóban megjelenő üzenet",
        "search-interwiki-caption": "Társlapok",
        "search-interwiki-default": "$1 találatok:",
        "search-interwiki-more": "(több)",
+       "search-interwiki-more-results": "további eredmények",
        "search-relatedarticle": "Kapcsolódó",
        "searchrelated": "kapcsolódó",
        "searchall": "mind",
        "search-external": "Külső kereső",
        "searchdisabled": "Elnézésed kérjük, de a teljes szöveges keresés terhelési okok miatt átmenetileg nem használható. Ezidő alatt használhatod a lenti Google keresést, mely viszont lehetséges, hogy nem teljesen friss adatokkal dolgozik.",
        "search-error": "A keresés közben hiba történt: $1",
+       "search-warning": "$1 keresése közben hiba történt",
        "preferences": "Beállítások",
        "mypreferences": "Beállítások",
        "prefs-edits": "Szerkesztéseid száma:",
        "prefs-help-prefershttps": "A beállítás a legközelebbi belépés után lép érvénybe.",
        "prefswarning-warning": "A beállításaidban tett módosítások nincsenek elmentve. Ha a $1 megnyomása nélkül hagyod el az oldalt, a beállításaid nem módosulnak.",
        "prefs-tabs-navigation-hint": "Tipp: a jobbra-balra nyilakkal navigálhatsz a fülek között.",
-       "userrights": "Szerkesztői jogok beállítása",
+       "userrights": "Szerkesztői jogok",
        "userrights-lookup-user": "Válasszon ki egy felhasználót",
        "userrights-user-editname": "Add meg a szerkesztő nevét:",
        "editusergroup": "Szerkesztőcsoportok betöltése",
        "editinguser": "<strong>[[User:$1|$1]]</strong> felhasználó jogainak megváltoztatása $2",
        "viewinguserrights": "<strong>[[User:$1|$1]]</strong> felhasználói csoportjainak megtekintése $2",
        "userrights-editusergroup": "Szerkesztőcsoportok módosítása",
-       "userrights-viewusergroup": "Felhasználói csoportok megtekintése",
+       "userrights-viewusergroup": "{{GENDER:$1|Felhasználói}} csoportok megtekintése",
        "saveusergroups": "{{GENDER:$1|Szerkesztőcsoportok}} mentése",
        "userrights-groupsmember": "Csoporttag:",
        "userrights-groupsmember-auto": "Alapértelmezetten tagja:",
-       "userrights-groups-help": "Beállíthatod, hogy a szerkesztő mely csoportokba tartozik.\n* A bepipált doboz azt jelenti, hogy a szerkesztő benne van a csoportban, az üres azt, hogy nem.\n* A * az olyan csoportokat jelöli, amelyeket ha egyszer hozzáadtál, nem távolíthatod el, vagy nem adhatod hozzá.",
+       "userrights-groups-help": "Beállíthatod, hogy a szerkesztő mely csoportokba tartozik.\n* A bepipált doboz azt jelenti, hogy a szerkesztő benne van a csoportban\n* Az üres azt, hogy nincs.\n* A * az olyan csoportokat jelöli, amelyeket ha egyszer hozzáadtál, nem távolíthatod el, vagy nem adhatod hozzá.\n* A # azt jelöli, hogy a csoport lejárati idejét csak csökkenteni tudod, növelni nem.",
        "userrights-reason": "Ok:",
        "userrights-no-interwiki": "Nincs jogod a szerkesztők jogainak módosításához más wikiken.",
        "userrights-nodatabase": "$1 adatbázis nem létezik vagy nem helyi.",
        "rcfilters-invalid-filter": "Érvénytelen szűrő",
        "rcfilters-empty-filter": "Nincs aktív szűrő. Minden közreműködés látható.",
        "rcfilters-filterlist-title": "Szűrők",
+       "rcfilters-filterlist-whatsthis": "Mi ez?",
+       "rcfilters-filterlist-feedbacklink": "Visszajelzés küldése az új (beta) szűrőkről",
+       "rcfilters-highlightbutton-title": "Kiemelt találatok",
+       "rcfilters-highlightmenu-title": "Válassz egy színt",
+       "rcfilters-highlightmenu-help": "Válassz színt ennek a tulajdonságnak kijelöléséhez",
        "rcfilters-filterlist-noresults": "Nem található szűrő",
+       "rcfilters-noresults-conflict": "Nincs találat, mert a keresési kritériumok konfliktusban vannak",
+       "rcfilters-filtergroup-registration": "Regisztráció",
        "rcfilters-filter-registered-label": "Regisztrált",
        "rcfilters-filter-registered-description": "Bejelentkezett szerkesztők.",
        "rcfilters-filter-unregistered-label": "Nem regisztrált",
        "rcfilters-filter-editsbyself-description": "Saját szerkesztések",
        "rcfilters-filter-editsbyother-label": "Mások szerkesztései",
        "rcfilters-filter-editsbyother-description": "Más felhasználók által végzett szerkesztések (nem sajátok)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "Újoncok",
-       "rcfilters-filter-userExpLevel-newcomer-description": "Kevesebb mint 10 szerkesztés és 4 nap aktivitás.",
-       "rcfilters-filter-userExpLevel-learner-label": "Tanulók",
-       "rcfilters-filter-userExpLevel-learner-description": "Több aktív nap és szerkesztés, mint az „újoncok”, de kevesebb, mint a „tapasztalt szerkesztők”.",
-       "rcfilters-filter-userExpLevel-experienced-label": "Tapasztalt szerkesztők",
-       "rcfilters-filter-userExpLevel-experienced-description": "Több mint 30 nap aktivitás és 500 szerkesztés.",
+       "rcfilters-filtergroup-userExpLevel": "Tapasztalati szint (csak regisztrált felhasználók)",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered": "A tapasztalat szűrő csak regisztrált felhasználókat keres, tehát ez a szűrő ellentétben van a \"Regisztrálatlan\" szűrővel.",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered-global": "A \"Regisztrálatlan\" szűrő ellentétben van egy vagy több Tapasztalat szűrővel, ami csak regisztrált felhasználókat keres. A konfliktusban lévő szűrők meg vannak jelölve fent az Aktív Szűrők résznél.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Újoncok",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Kevesebb mint 10 szerkesztés és 4 nap aktivitás.",
+       "rcfilters-filter-user-experience-level-learner-label": "Tanulók",
+       "rcfilters-filter-user-experience-level-learner-description": "Több aktív nap és szerkesztés, mint az „újoncok”, de kevesebb, mint a „tapasztalt szerkesztők”.",
+       "rcfilters-filter-user-experience-level-experienced-label": "Tapasztalt szerkesztők",
+       "rcfilters-filter-user-experience-level-experienced-description": "Több mint 30 nap aktivitás és 500 szerkesztés.",
        "rcfilters-filtergroup-automated": "Automatikus szerkesztések",
        "rcfilters-filter-bots-label": "Bot",
        "rcfilters-filter-bots-description": "Automatizált eszközök szerkesztései.",
        "rcfilters-filter-humans-label": "Ember (nem bot)",
        "rcfilters-filter-humans-description": "Emberi szerkesztők szerkesztései",
+       "rcfilters-filtergroup-reviewstatus": "Felülvizsgálati státusz",
+       "rcfilters-filter-patrolled-label": "Ellenőrzött",
+       "rcfilters-filter-patrolled-description": "Ellenőrzöttnek jelölt szerkesztések",
+       "rcfilters-filter-unpatrolled-label": "Ellenőrizetlen",
+       "rcfilters-filter-unpatrolled-description": "Ellenőrzöttnek nem jelölt szerkesztések",
        "rcfilters-filter-minor-label": "Apró szerkesztések",
        "rcfilters-filter-minor-description": "Szerző által aprónak jelölt szerkesztések",
        "rcfilters-filter-major-label": "Nem apró szerkesztések",
        "rcfilters-filter-major-description": "Nem aprónak jelölt szerkesztések.",
        "rcfilters-filtergroup-changetype": "Változtatás típusa",
        "rcfilters-filter-pageedits-label": "Lapszerkesztések",
+       "rcfilters-filter-pageedits-description": "A wiki tartalom szerkesztése, beszélgetés, kategória leírások...",
        "rcfilters-filter-newpages-label": "Laplétrehozások",
        "rcfilters-filter-newpages-description": "Új oldalt létrehozó szerkesztések.",
        "rcfilters-filter-categorization-label": "Kategóriaváltoztatások",
        "editcomment": "A szerkesztési összefoglaló <em>$1</em> volt.",
        "revertpage": "Visszaállítottam a lap korábbi változatát: [[Special:Contributions/$2|$2]]  ([[User talk:$2|vita]]) szerkesztéséről [[User:$1|$1]] szerkesztésére",
        "revertpage-nouser": "Visszaállítottam a lap korábbi változatát (szerkesztőnév eltávolítva) szerkesztéséről [[User:$1|$1]] szerkesztésére",
-       "rollback-success": "$1 szerkesztéseit visszaállítottam $2 utolsó változatára.",
+       "rollback-success": "{{GENDER:$3|$1}} szerkesztéseit visszaállítottam {{GENDER:$4|$2}} utolsó változatára.",
        "rollback-success-notify": "$1 szerkesztései visszaállítva;\nhelyreállítva $2 utolsó változata. [$3 Változtatások megtekintése]",
        "sessionfailure-title": "Munkamenethiba",
        "sessionfailure": "Úgy látszik, hogy probléma van a bejelentkezési munkameneteddel;\nez a művelet a munkamenet eltérítése miatti óvatosságból megszakadt.\nKérjük, hogy nyomd meg a „vissza” gombot, és töltsd le újra az oldalt, ahonnan jöttél, majd próbáld újra.",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|frissítette}} a címkéket a(z) $3 lap $4 változatánál ({{PLURAL:$7|hozzáadva}}: $6; {{PLURAL:$9|eltávolítva}}: $8)",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|frissítette}} a címkéket a(z) $3 lap $5 napló bejegyzésénél ({{PLURAL:$7|hozzáadta}}: $6; {{PLURAL:$9|eltávolította}}: $8)",
        "rightsnone": "(semmi)",
-       "revdelete-summary": "a szerkesztési összefoglalóját",
        "rightslogentry-temporary-group": "$1 (ideiglenesen, a következő időpontig: $2)",
        "feedback-adding": "Visszajelzés elmentése...",
        "feedback-back": "Vissza",
index c8c6fa0..9ba13eb 100644 (file)
        "login": "Masuk log",
        "login-security": "Buktikan identitas Anda",
        "nav-login-createaccount": "Masuk log / buat akun",
-       "userlogin": "Masuk log / buat akun",
-       "userloginnocreate": "Masuk log",
        "logout": "Keluar log",
        "userlogout": "Keluar log",
        "notloggedin": "Belum masuk log",
        "userlogin-noaccount": "Belum punya akun?",
        "userlogin-joinproject": "Gabung {{SITENAME}}",
-       "nologin": "Belum mempunyai akun? $1.",
-       "nologinlink": "Daftarkan akun baru",
        "createaccount": "Buat akun baru",
-       "gotaccount": "Sudah terdaftar sebagai pengguna? '''$1'''.",
-       "gotaccountlink": "Masuk log",
-       "userlogin-resetlink": "Lupa detail info masuk Anda?",
        "userlogin-resetpassword-link": "Lupa kata sandi?",
        "userlogin-helplink2": "Bantuan masuk log",
        "userlogin-loggedin": "Anda telah masuk log sebagai $1.\nGunakan formulir di bawah untuk masuk log sebagai pengguna lain.",
        "createaccountmail": "Gunakan kata sandi acak sementara dan kirimkan ke surel yang diinginkan",
        "createaccountmail-help": "Dapat digunakan untuk membuat akun untuk orang lain tanpa mengetahui kata sandinya.",
        "createacct-realname": "Nama asli (opsional)",
-       "createaccountreason": "Alasan:",
        "createacct-reason": "Alasan",
        "createacct-reason-ph": "Mengapa Anda membuat akun lain",
        "createacct-reason-help": "Pesan yang ditunjukkan dalam log pembuatan akun",
        "rcfilters-filter-registered-description": "Penyunting masuk log",
        "rcfilters-filter-unregistered-label": "Tidak terdaftar",
        "rcfilters-filter-unregistered-description": "Penyunting yang tidak masuk log",
+       "rcfilters-filtergroup-authorship": "Sunting kepengarangan",
        "rcfilters-filter-editsbyself-label": "Suntingan Anda",
        "rcfilters-filter-editsbyself-description": "Suntingan oleh Anda",
        "rcfilters-filter-editsbyother-label": "Suntingan orang lain",
        "rcfilters-filter-editsbyother-description": "Suntingan dibuat oleh orang lain (bukan Anda)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "Pendatang baru",
-       "rcfilters-filter-userExpLevel-newcomer-description": "Kurang dari 10 suntingan dan aktivitas selama 4 hari.",
-       "rcfilters-filter-userExpLevel-learner-label": "Pelajar",
-       "rcfilters-filter-userExpLevel-experienced-label": "Pengguna berpengalaman",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Pendatang baru",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Kurang dari 10 suntingan dan aktivitas selama 4 hari.",
+       "rcfilters-filter-user-experience-level-learner-label": "Pelajar",
+       "rcfilters-filter-user-experience-level-experienced-label": "Pengguna berpengalaman",
        "rcfilters-filtergroup-automated": "Kontribusi otomatis",
        "rcfilters-filter-bots-label": "Bot",
        "rcfilters-filter-bots-description": "Suntingan yang dibuat dengan perkakas terotomatisasi.",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|memperbarui}} tag pada revisi $4 dari halaman $3 ({{PLURAL:$7|menambahkan}} $6; {{PLURAL:$9|menghapus}} $8)",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|memperbarui}} tag pada entri log $5 dari halaman $3 ({{PLURAL:$7|menambahkan}} $6; {{PLURAL:$9|menghapus}} $8)",
        "rightsnone": "(tidak ada)",
-       "revdelete-summary": "ringkasan",
        "rightslogentry-temporary-group": "$1 (sementara, hingga $2)",
        "feedback-adding": "Menambahkan umpan balik ke halaman...",
        "feedback-back": "Kembali",
index e8f90af..fbadb16 100644 (file)
@@ -37,7 +37,7 @@
        "tog-enotifminoredits": "Esuratannak pay para kadagiti bassit a panagurnos kadagiti panid ken papeles",
        "tog-enotifrevealaddr": "Iparang ti pagtaengan ti esuratko iti panagipakaaammo kadagiti esurat",
        "tog-shownumberswatching": "Ipakita ti bilang dagiti agbuybuya nga agar-aramat",
-       "tog-oldsig": "Ti adda a pirma:",
+       "tog-oldsig": "Ti adda a pirmam:",
        "tog-fancysig": "Tratuen ti pirma a kas wikitext (awanan iti automatiko a silpo)",
        "tog-uselivepreview": "Usaren ti agdama a panagipadas",
        "tog-forceeditsummary": "Pakaammuannak no sumrek iti blanko a pakabuklan ti panagurnos",
@@ -54,7 +54,7 @@
        "tog-showhiddencats": "Ipakita dagiti nailemmeng a kategoria",
        "tog-norollbackdiff": "Saan nga ipakita ti paggiddiatan kalpasan ti panagaramid ti panagisubli",
        "tog-useeditwarning": "Pakaunaannak no pumanawak iti maysa pagurnosan a panid nga addaan iti saan a naidulin a sinuksukatan",
-       "tog-prefershttps": "Kankanayon nga agusar ti natalged a koneksion no nakastrek",
+       "tog-prefershttps": "Kankanayon nga agusar iti natalged a koneksion bayat a nakastrek",
        "underline-always": "Kanayon",
        "underline-never": "Saan uray kaanoman",
        "underline-default": "Kudil wenno kasisigud a pagbasabasa",
        "newwindow": "(aglukat iti baro a tawa)",
        "cancel": "Ukasen",
        "moredotdotdot": "Adu pay...",
-       "morenotlisted": "Daytoy a listaan ket saan a kompleto.",
+       "morenotlisted": "Daytoy a listaan ket mabalin a saan a kompleto.",
        "mypage": "Panid",
        "mytalk": "Tungtungan",
        "anontalk": "Tungtungan",
        "searcharticle": "Inkan",
        "history": "Pakasaritaan ti panid",
        "history_short": "Pakasaritaan",
+       "history_small": "pakasaritaan",
        "updatedmarker": "napabaro sipud ti naudi nga isasarungkarko",
        "printableversion": "Bersion a maimaldit",
        "permalink": "Agnanayon a silpo",
        "talk": "Pagtungtungan",
        "views": "Dagiti pangkitaan",
        "toolbox": "Ramramit",
+       "tool-link-userrights": "Baliwan dagiti grupo ti {{GENDER:$1|agar-aramat}}",
+       "tool-link-userrights-readonly": "Kitaen dagiti grupo ti {{GENDER:$1|agar-aramat}}",
+       "tool-link-emailuser": "Esuratam daytoy nga {{GENDER:$1|agar-aramat}}",
        "userpage": "Kitaen ti panid ti agar-aramat",
        "projectpage": "Kitaen ti panid ti proyekto",
        "imagepage": "Kitaen ti panid ti papeles",
        "login": "Sumrek",
        "login-security": "Pasingkedan ti identidadmo",
        "nav-login-createaccount": "Sumrek / agpartuat iti pakabilangan",
-       "userlogin": "Sumrek / agpartuat iti pakabilangan",
-       "userloginnocreate": "Sumrek",
        "logout": "Rummuar",
        "userlogout": "Rummuar",
        "notloggedin": "Saan a nakastrek",
        "userlogin-noaccount": "Awan ti pakabilangam?",
        "userlogin-joinproject": "Tumipon iti {{SITENAME}}",
-       "nologin": "Awan pakabilangam? $1.",
-       "nologinlink": "Agpartuat iti pakabilangan",
        "createaccount": "Agpartuat iti pakabilangan",
-       "gotaccount": "Addaanka kadin iti pakabilangan? $1.",
-       "gotaccountlink": "Sumrek",
-       "userlogin-resetlink": "Nalipatam dagiti salaysay ti panagserrekmo?",
        "userlogin-resetpassword-link": "Nalipatam ti kontraseniasmo?",
        "userlogin-helplink2": "Tulong iti panagserrek",
        "userlogin-loggedin": "Nakastrekkan a kas ni {{GENDER:$1|$1}}.\nUsaren ti porma dita baba tapno sumrek a kas sabali nga agar-aramat.",
        "createaccountmail": "Agusar iti pugto a temporario a kontrasenias ken ipatulod iti naisangayan nga esurat a pagtaengan",
        "createaccountmail-help": "Mabalin a mausar a panagpartuat ti pakabilangan para iti sabali a tao a saan a makaammo iti kontrasenias.",
        "createacct-realname": "Pudno a nagan (pagpilian)",
-       "createaccountreason": "Rason:",
        "createacct-reason": "Rason",
        "createacct-reason-ph": "Apay nga agparpartuatka manen iti sabali a pakabilangan",
        "createacct-reason-help": "Ti mensahe a naipakita iti listaan iti panagpartuat ti pakabilangan",
        "selfredirect": "<strong>Ballaag:</strong> Ibawbaw-ingmo daytoy a panid iti isu met laeng a panid.\nMabalinmo nga innaganan ti kamali a puntaan para iti baw-ing, wenno mabalin nga ur-urnosem ti kamali a panid.\nNo pindutem manen ti \"{{int:savearticle}}\" , mapartuatto lattan ti baw-ing.",
        "missingcommenttext": "Pangngaasi nga agikabil ti komentario dita baba.",
        "missingcommentheader": "<strong>Palagip:</strong> Saanka pay a nakaited iti suheto para iti daytoy a komentario.\nNo pindutem manen ti \"{{int:savearticle}}\", maidulinto ti inurnosmo nga awan ti pakabuklanna.",
-       "summary-preview": "Naipadas a pakabuklan:",
-       "subject-preview": "Naipadas a suheto:",
+       "summary-preview": "Panangipadas ti pakabuklan ti panagurnos:",
+       "subject-preview": "Panangipadas ti suheto:",
        "previewerrortext": "Adda napasamak a maysa a biddut bayat a nagpadpadas kadagiti binawbaliwam.",
        "blockedtitle": "Naseraan ti agar-aramat",
        "blockedtext": "<strong>Naseraan ti naganmo nga agar-aramat wenno ti IP a pagtaengam.</strong>\n\nTi serra ket inaramid babaen ni $1. \nTi rason a naited ket <em>$2</em>.\n\n* Rugi ti serra: $8\n* Panagpaso ti serra: $6\n* Naikeddeng a serraanna: $7\n\nMabalinmo a kontaken ni $1 wenno sabali pay nga [[{{MediaWiki:Grouppage-sysop}}|administrador]] no kayatmo a maipalawag daytoy a panagserra.\nDimo mabalin nga aramaten ti ramit nga esuratan daytoy nga agar-aramat malaksid no adda napudno nga esurat a pagtaengan a nainaganan iti [[Special:Preferences|pakabilangan ti kakaykayatm]] ken no saanka a naparitan nga agaramat iti daytoy.\nTi agdama nga IP a pagtaengam ket $3, ti naserraan nga ID ket #$5. \nPangngaasi nga iramanmo amin dagiti salaysay dita ngato kadagiti ania man nga aramidem nga usisa.",
        "searchprofile-advanced-tooltip": "Agbirukka kadagiti naiduma a nagan ti espasio",
        "search-result-size": "$1 ({{PLURAL:$2|iti 1 a balikas|kadagiti $2 a balikas}})",
        "search-result-category-size": "{{PLURAL:$1|1 a kameng| dagiti $1 a kameng}} ({{PLURAL:$2|1 a subkategoria|dagiti $2 a subkategoria}}, {{PLURAL:$3|1 a papeles|dagiti $3 a papeles}})",
-       "search-redirect": "(baw-ing $1)",
+       "search-redirect": "(baw-ing manipud iti $1)",
        "search-section": "(seksion $1)",
        "search-category": "(kategoria $1)",
        "search-file-match": "(maipada ti linaon a papeles)",
        "search-interwiki-caption": "Dagiti kakabsat a proyekto",
        "search-interwiki-default": "Dagiti resulta manipud iti $1:",
        "search-interwiki-more": "(adu pay)",
+       "search-interwiki-more-results": "adu pay a resresulta",
        "search-relatedarticle": "Mainaig",
        "searchrelated": "mainaig",
        "searchall": "amin",
        "search-external": "Akinruar a panagbiruk",
        "searchdisabled": "Nabaldado ti panagbiruk iti {{SITENAME}}.\nMabalinmo itan ti agbiruk iti Google.\nLaglagipem laeng a dagiti pagsurotan a linaon ti {{SITENAME}} ket mabalin a baak.",
        "search-error": "Adda napasamak a biddut bayat nga agbirbiruk: $1",
+       "search-warning": "Adda napasamak a ballaag bayat nga agbirbiruk: $1",
        "preferences": "Kakaykayatan",
        "mypreferences": "Kakaykayatan",
        "prefs-edits": "Bilang dagiti inurnos:",
        "prefs-help-recentchangescount": "Daytoy ket mangiraman iti kaudian a balbaliw, dagiti pakasaritaan ti panid, ken dagiti listaan.",
        "prefs-help-watchlist-token2": "Daytoy ti sekreto a tulbek iti pakan ti web iti listaan ti bambantayam.\nTi sinoman a makaammo daytoy ket mabalinda a basaen ti listaan ti bambantayam, isu a saanmo nga ipabingay.\nNo masapulmo, [[Special:ResetTokens|mabalinmo nga isaad manen]].",
        "savedprefs": "Naidulinen dagiti kakaykayatam.",
-       "savedrights": "Naidulinen dagiti karbengan ti agar-aramat ni {{GENDER:$1|$1}}.",
+       "savedrights": "Naidulinen dagiti grupo ti agar-aramat ni {{GENDER:$1|$1}}.",
        "timezonelegend": "Sona ti oras:",
        "localtime": "Lokal nga oras:",
        "timezoneuseserverdefault": "Usaren ti kasisigud ti wiki ($1)",
        "youremail": "Esurat:",
        "username": "{{GENDER:$1|Nagan ti agar-aramat}}:",
        "prefs-memberingroups": "{{GENDER:$2|Kameng}} ti {{PLURAL:$1|a grupo|a grupgrupo}}:",
+       "group-membership-link-with-expiry": "$1 (aginggana intono $2)",
        "prefs-registration": "Oras a nagrehistro:",
        "yourrealname": "Pudno a nagan:",
        "yourlanguage": "Pagsasao:",
        "prefswarning-warning": "Nagaramikka kadagiti panagbalbaliw kadagiti kakaykayatam a saan pay a naidulin.\nNo panawan daytoy a panid a saan nga agpindut iti \"$1\" dagiti kakaykayatam ket saanto a mapabaro.",
        "prefs-tabs-navigation-hint": "Pakaammo: Mabalinmo nga usaren dagiti kanigid ken kanawan a tekla ti pana tapno madaliasat ti baetan dagiti etiketa iti listaan dagiti etiketa.",
        "userrights": "Panagtaripato kadagiti karbengan ti agar-aramat",
-       "userrights-lookup-user": "Agtaripato kadagiti grupo ti agar-aramat",
+       "userrights-lookup-user": "Agpili iti agar-aramat",
        "userrights-user-editname": "Mangiserrek iti nagan ti agar-aramat:",
-       "editusergroup": "Urnosen dagiti grupo ti {{GENDER:$1|agar-aramat}}",
+       "editusergroup": "Ikarga dagiti grupo ti agar-aramat",
        "editinguser": "Suksukatan ti karbengan ni {{GENDER:$1|agar-aramat}} <strong>[[User:$1|$1]]</strong> $2",
-       "userrights-editusergroup": "Urnosen dagiti grupo ti agar-aramat",
+       "userrights-editusergroup": "Urnosen dagiti grupo ti {{GENDER:$1|agar-aramat}}",
+       "userrights-viewusergroup": "Kitaen dagiti grupo ti {{GENDER:$1|agar-aramat}}",
        "saveusergroups": "Idulin dagiti grupo ti {{GENDER:$1|agar-aramat}}",
        "userrights-groupsmember": "Kameng ti:",
        "userrights-groupsmember-auto": "Napudno a kameng ti:",
        "userrights-nodatabase": "Awan ti database a $1 wenno saan a lokal.",
        "userrights-changeable-col": "Dagiti grupo a mabalinmo a baliwan",
        "userrights-unchangeable-col": "Dagiti grupo a dimo mabalin a baliwan",
+       "userrights-expiry-current": "Agpaso $1",
+       "userrights-expiry-none": "Saan nga agpaso",
+       "userrights-expiry": "Agpaso:",
+       "userrights-expiry-existing": "Ti adda a panagpaso ti oras: $3, $2",
+       "userrights-expiry-othertime": "Sabali nga oras:",
+       "userrights-invalid-expiry": "Imbalido ti oras a panagpaso para iti grupo \"$1\".",
+       "userrights-expiry-in-past": "Napalabasen ti oras a panagpaso para iti grupo \"$1\".",
        "userrights-conflict": "Suppiat dagiti panagbaliw kadagiti karbengan ti agar-aramat! Pangngaasi nga irepasom ken pasingkedam dagiti sinuksukatam.",
        "group": "Grupo:",
        "group-user": "Dagiti agar-aramat",
        "action-upload_by_url": "agikarga iti daytoy a papeles manipud iti URL",
        "action-writeapi": "agusar iti panagsurat ti API",
        "action-delete": "agikkat iti daytoy a panid",
-       "action-deleterevision": "agikkat iti daytoy a rebision",
-       "action-deletedhistory": "agkita kadagiti naikkat a pakasaritaan iti daytoy a panid",
+       "action-deleterevision": "agikkat kadagiti rebision",
+       "action-deletedhistory": "agkita iti naikkat a pakasaritaan ti panid",
+       "action-deletedtext": "agkita iti naikkat a rebision ti teksto",
        "action-browsearchive": "agbiruk kadagiti naikkat a panid",
-       "action-undelete": "agisubli iti pannakaikkat iti daytoy a panid",
-       "action-suppressrevision": "agrepaso ken agisubli iti daytoy a nailemmeng a rebision",
+       "action-undelete": "agisubli iti pannakaikkat kadagiti panid",
+       "action-suppressrevision": "agrepaso ken agisubli kadagiti nailemmeng a rebision",
        "action-suppressionlog": "agkita iti daytoy a pribado a listaan",
        "action-block": "agserra iti daytoy nga agar-aramat manipud iti panagurnos",
        "action-protect": "mangsukat kadagiti lessaad ti salaknib para iti daytoy a panid",
        "action-userrights-interwiki": "agurnos kadagiti karbengan ti agar-aramat dagiti agar-aramat kadagiti sabali a wiki",
        "action-siteadmin": "mangkandado wenno manglukat ti database",
        "action-sendemail": "agipatulod kadagiti esurat",
+       "action-editmyoptions": "urnosem dagiti kakaykayatam",
        "action-editmywatchlist": "agurnos iti bukodmo a listaan ti bambantayan",
        "action-viewmywatchlist": "agkita iti bukodmo a listaan ti bambantayan",
        "action-viewmyprivateinfo": "agkita iti bukodmo a pribado a pakaammo",
        "recentchanges-legend-heading": "<strong>Leyenda:</strong>",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (kitaen pay ti [[Special:NewPages|listaan ti baro a pampanid]])",
        "recentchanges-submit": "Ipakita",
+       "rcfilters-activefilters": "Dagiti aktibo a sagat",
+       "rcfilters-restore-default-filters": "Isubli dagiti kasisigud a sagat",
+       "rcfilters-clear-all-filters": "Dalusan amin dagiti sagat",
+       "rcfilters-search-placeholder": "Sagaten ti kaudian a balbaliw (agbasabasa wenno mangrugi nga agmakinilia)",
+       "rcfilters-invalid-filter": "Imbalido a sagat",
+       "rcfilters-empty-filter": "Awan dagiti aktibo a sagat. Naipakita amin dagiti kontribusion.",
+       "rcfilters-filterlist-title": "Dagiti sagat",
+       "rcfilters-highlightmenu-title": "Agpili iti maris",
+       "rcfilters-filterlist-noresults": "Awan dagiti nabirukan a sagat",
+       "rcfilters-filter-registered-label": "Nakarehistro",
+       "rcfilters-filter-registered-description": "Dagiti nakastrek nga editor.",
+       "rcfilters-filter-unregistered-label": "Saan a nakarehistro",
+       "rcfilters-filter-unregistered-description": "Dagiti editor a saan a nakastrek.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Dagiti agdadamo",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Basbassit ngem 10 nga inur-urnos ken 4 nga aldaw iti aktibidad.",
+       "rcfilters-filter-user-experience-level-learner-label": "Dagiti agad-adal",
+       "rcfilters-filter-user-experience-level-learner-description": "Ad-adu nga al-aldaw iti aktibidad ken inur-urnos ngem \"Dagiti agdadamo\" ngem basbassit ngem \"Dagiti nasanay nga agar-aramat\".",
+       "rcfilters-filter-user-experience-level-experienced-label": "Dagiti nasanay nga agar-aramat",
+       "rcfilters-filter-user-experience-level-experienced-description": "Ad-adu ngem 30 nga aldaw iti aktibidad ken 500 nga inur-urnos.",
+       "rcfilters-filtergroup-automated": "Dagiti automado a kontribusion",
+       "rcfilters-filter-bots-label": "Bot",
+       "rcfilters-filter-bots-description": "Dagiti inurnos nga inaramid babaen ti automado a ramramit.",
+       "rcfilters-filter-humans-label": "Tao (saan a bot)",
+       "rcfilters-filter-humans-description": "Dagiti inurnos nga inaramid babaen dagiti editor a tao.",
+       "rcfilters-filtergroup-reviewstatus": "Irepaso ti kasasaad",
+       "rcfilters-filter-patrolled-label": "Napatruliaan",
+       "rcfilters-filter-patrolled-description": "Dagiti inurnos a namarkaan a kas napatruliaan.",
+       "rcfilters-filter-unpatrolled-label": "Di napatruliaan",
+       "rcfilters-filter-unpatrolled-description": "Dagiti inurnos a saan a namarkaan a kas napatruliaan.",
+       "rcfilters-filtergroup-changetype": "Kita ti panagbaliw",
        "rcnotefrom": "Dita baba ket {{PLURAL:$5|ti sinukatan|dagiti sinukatan}} manipud idi <strong>$3, $4</strong> (aginggana iti <strong>$1</strong> a naipakita).",
        "rclistfrom": "Ipakita dagiti kabarbaro a sinukatan a mangrugi manipud idi $2, $3",
        "rcshowhideminor": "$1 dagiti bassit a panagurnos",
        "upload-dialog-disabled": "Nabaldado iti daytoy a wiki dagiti panangikarga ti papeles iti daytoy a dialogo.",
        "upload-dialog-title": "Agikarga iti papeles",
        "upload-dialog-button-cancel": "Ukasen",
+       "upload-dialog-button-back": "Agsubli",
        "upload-dialog-button-done": "Nalpasen",
        "upload-dialog-button-save": "Idulin",
        "upload-dialog-button-upload": "Agikarga",
        "apisandbox-results-fixtoken-fail": "Napaay ti panagala iti tangdan ti \"$1\".",
        "apisandbox-alert-page": "Saan nga umiso dagiti pagikabilan iti daytoy a panid.",
        "apisandbox-alert-field": "Saan nga umiso ti pateg iti daytoy a pagikabilan.",
+       "apisandbox-continue": "Agtuloy",
+       "apisandbox-continue-clear": "Dalusan",
+       "apisandbox-multivalue-all-namespaces": "$1 (Amin a nagan ti espasio)",
+       "apisandbox-multivalue-all-values": "$1 (Amin a patpateg)",
        "booksources": "Dagiti taudan ti libro",
        "booksources-search-legend": "Agbiruk para kadagiti taudan ti libro",
        "booksources-search": "Biruken",
        "booksources-text": "Dita baba ket listaan dagiti silpo ti sabali a sitio nga aglaklako ti baro ken saan a nausar a liblibro, ken mabalin nga addaan pay iti adu a pakaammo a maipanggep kadagiti libro a birbirukem:",
        "booksources-invalid-isbn": "Ti naited nga ISBN ket kasla saan nga umisu; kitaen dagiti biddut ti panagtulad manipud ti kasisigud a taudan.",
+       "magiclink-tracking-rfc": "Pampanid nga agus-usar kadagiti salamangka a silpo ti RFC",
+       "magiclink-tracking-rfc-desc": "Daytoy a panid ket agus-usar kadagiti salamangka a silpo ti RFC. Kitaen ti [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] no kasano iti mangiyakar.",
+       "magiclink-tracking-pmid": "Pampanid nga agus-usar kadagiti salamangka a silpo ti PMID",
+       "magiclink-tracking-pmid-desc": "Daytoy a panid ket agus-usar kadagiti salamangka a silpo ti PMID. Kitaen ti [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] no kasano iti mangiyakar.",
+       "magiclink-tracking-isbn": "Pampanid nga agus-usar kadagiti salamangka a silpo ti ISBN",
+       "magiclink-tracking-isbn-desc": "Daytoy a panid ket agus-usar kadagiti salamangka a silpo ti ISBN. Kitaen ti [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] no kasano iti mangiyakar.",
        "specialloguserlabel": "Nangitungpal:",
        "speciallogtitlelabel": "Puntaan (titulo wenno {{ns:user}}:nagan ti agar-aramat para iti agar-aramat):",
        "log": "Dagiti listaan",
        "activeusers-intro": "Daytoy ti listaan dagiti agar-aramat nga adda inar-aramid iti kaunegan dagiti napalabas a $1 {{PLURAL:$1|nga aldaw|nga al-aldaw}}.",
        "activeusers-count": "$1 a {{PLURAL:$1|tignay|tigtignay}} iti napalabas {{PLURAL:$3|nga aldaw|a $3 nga al-aldaw}}",
        "activeusers-from": "Iparang dagiti agar-aramat a mangrugi iti:",
+       "activeusers-groups": "Iparang dagiti agar-aramat a maitagikua kadagiti grupo:",
+       "activeusers-excludegroups": "Ilaksid dagiti agar-aramat a maitagikua kadagiti grupo:",
        "activeusers-noresult": "Awan ti nasarakan nga agar-aramat.",
        "activeusers-submit": "Ipakita dagiti aktibo nga agar-aramat",
        "listgrouprights": "Dagiti karbengan ti grupo ti agar-aramat",
        "pageinfo-length": "Kaatiddog ti panid (kadagiti byte)",
        "pageinfo-article-id": "ID ti panid",
        "pageinfo-language": "Pagsasao ti naglaon a panid",
+       "pageinfo-language-change": "baliwan",
        "pageinfo-content-model": "Modelo ti linaon ti panid",
        "pageinfo-content-model-change": "baliwan",
        "pageinfo-robot-policy": "Panagpasurot babaen dagiti robot",
        "pageinfo-category-pages": "Bilang dagiti panid",
        "pageinfo-category-subcats": "Bilang dagiti subkategoria",
        "pageinfo-category-files": "Bilang dagiti papeles",
+       "pageinfo-user-id": "ID ti agar-aramat",
        "markaspatrolleddiff": "Markaan a kas napatruliaan",
        "markaspatrolledtext": "Markaan daytoy a panid a kas napatruliaan",
        "markaspatrolledtext-file": "Markaan daytoy a bersion ti papeles a kas napatruliaan",
        "patrol-log-header": "Daytoy ket listaan dagiti napatruliaan a rebision.",
        "log-show-hide-patrol": "$1 listaan ti napatruliaan",
        "log-show-hide-tag": "$1 ti listaan ti etiketa",
+       "confirm-markpatrolled-button": "Sige",
+       "confirm-markpatrolled-top": "Markaan ti rebision $3 iti $2 a kas napatruliaan?",
        "deletedrevision": "Naikkat a daan a rebision ti $1",
        "filedeleteerror-short": "Biddut ti panakaikkat ti papeles: $1",
        "filedeleteerror-long": "Adda nasarakan a biddut idi agikikkat ti papeles:\n\n$1",
        "logentry-managetags-create": "{{GENDER:$2|Nagpartuat}} ni $1 ti etiketa ti \"$4\"",
        "log-name-tag": "Listaan ti etiketa",
        "rightsnone": "(awan)",
-       "revdelete-summary": "Pakabuklan ti inurnos",
        "feedback-adding": "Agnaynayon ti feedback iti panid...",
        "feedback-back": "Agsubli",
        "feedback-bugcheck": "Nasayaaten! Kitaem tapno saan a dagiti adda idin a [$1 nga ammo a parparikut].",
        "feedback-thanks": "Agyaman! Ti feedbackmo ket naipablaak iti panid \"[$2 $1]\".",
        "feedback-thanks-title": "Agyamanak!",
        "feedback-useragent": "Ahente ti agar-aramat:",
-       "searchsuggest-search": "Biruken",
+       "searchsuggest-search": "Agbiruk iti {{SITENAME}}",
        "searchsuggest-containing": "naglaon ti...",
        "api-error-badtoken": "Akin-uneg a biddut: Dakes a tandaan.",
        "api-error-emptypage": "Agparprtuat ti baro, dagiti awan ti linaon a panid ket saan a maipalubos.",
        "pagelang-language": "Pagsasao",
        "pagelang-use-default": "Usaren ti kasisigud a pagsasao",
        "pagelang-select-lang": "Agpili iti pagsasao",
+       "pagelang-reason": "Rason",
        "pagelang-submit": "Ited",
        "right-pagelang": "Baliwan ti pagsasao ti panid",
        "action-pagelang": "baliwan ti pagsasao ti panid",
        "mw-widgets-dateinput-no-date": "Awan ti napili a petsa",
        "mw-widgets-dateinput-placeholder-day": "TTTT-BB-AA",
        "mw-widgets-dateinput-placeholder-month": "TTTT-BB",
+       "mw-widgets-mediasearch-input-placeholder": "Agbiruk para iti midia",
+       "mw-widgets-mediasearch-noresults": "Awan dagiti nabirukan a resulta.",
        "mw-widgets-titleinput-description-new-page": "awan pay ti panid",
        "mw-widgets-titleinput-description-redirect": "ibaw-ing iti $1",
+       "mw-widgets-categoryselector-add-category-placeholder": "Agnayon iti kategoria...",
+       "mw-widgets-usersmultiselect-placeholder": "Agnayon pay iti adu...",
        "sessionmanager-tie": "Saan a mabalin nga itipon dagiti nadumaduma kita ti kiddaw ti pammasingked: $1.",
        "sessionprovider-generic": "Dagiti sesion ti $1",
        "sessionprovider-mediawiki-session-cookiesessionprovider": "dagiti sesion a naibatay iti galieta",
        "log-action-filter-block-block": "Serra",
        "log-action-filter-block-reblock": "Panagbaliw ti serra",
        "log-action-filter-block-unblock": "Ikkaten ti serra",
-       "log-action-filter-contentmodel-change": "Panagbaliw ti Contentmodel",
-       "log-action-filter-contentmodel-new": "Panagpartuat ti panid iti saan a pagalagadan a Contentmodel",
+       "log-action-filter-contentmodel-change": "Panagbaliw ti modelo ti linaon",
+       "log-action-filter-contentmodel-new": "Panagpartuat ti panid iti saan a kasisigud a modelo ti linaon",
        "log-action-filter-delete-delete": "Panagikkat ti panid",
        "log-action-filter-delete-restore": "Panangisubli ti panagikkat ti panid",
        "log-action-filter-delete-event": "Panagikkat ti listaan",
        "authmanager-authn-autocreate-failed": "Napaay ti automatiko a panagpartuat iti lokal a pakabilangan: $1",
        "authmanager-change-not-supported": "Dagiti naited a kredensial ket saan a mabaliwan, gapu ta awan ti mangusar kaniada.",
        "authmanager-create-disabled": "Nabaldado ti panagpartuat ti pakabilangan.",
-       "authmanager-create-from-login": "Tapno mapartuat ti pakabilangam, pangngaasi a punnuen dagiti pagikabilan dita baba.",
+       "authmanager-create-from-login": "Tapno mapartuat ti pakabilangam, pangngaasi a punnuen dagiti pagikabilan.",
        "authmanager-create-not-in-progress": "Saan nga agprogprogreso ti panagpartuat ti pakabilangan wenno napukaw ti datos ti sesion. Pangngaasi a mangrugi manen iti pagrugian.",
        "authmanager-create-no-primary": "Dagiti naited a kredensial ket saan a mabalin a mausar para iti panagpartuat ti pakabilangan.",
        "authmanager-link-no-primary": "Dagiti naited a kredensial ket saan a mabalin a mausar para iti panangisilpo ti pakabilangan.",
        "unlinkaccounts-success": "Ti pakabilangan ket naikkat iti pannakaisilpo.",
        "authenticationdatachange-ignored": "Saan a natengngel ti panagbaliw ti datos ti pammasingked. Mabalin nga awan ti nakompigura a mangited?",
        "userjsispublic": "Pangngaasi a laglagipen: Dagiti subpanid ti JavaScript ket nasken a saan nga aglaon iti datos a nailemed gapu ta makita dagitoy babaen dagiti sabali nga agar-aramat.",
-       "usercssispublic": "Pangngaasi a laglagipen: Dagiti subpanid ti CSS ket nasken a saan nga aglaon iti datos a nailemed gapu ta makita dagitoy babaen dagiti sabali nga agar-aramat."
+       "usercssispublic": "Pangngaasi a laglagipen: Dagiti subpanid ti CSS ket nasken a saan nga aglaon iti datos a nailemed gapu ta makita dagitoy babaen dagiti sabali nga agar-aramat.",
+       "restrictionsfield-badip": "Imbalido nga adres ti IP wenno sakup: $1",
+       "restrictionsfield-label": "Dagiti mapalubosan a sakup ti IP:",
+       "revid": "rebision $1",
+       "pageid": "ID ti panid $1"
 }
index 7c5bc69..4f3d944 100644 (file)
        "yourdomainname": "Хьа нана-цIа:",
        "login": "Чувала/яла",
        "nav-login-createaccount": "Шоаш довзийтар / Дагара йоазув кхоллар",
-       "userlogin": "Шоаш довзийтар е дагара йоазув кхоллар",
-       "userloginnocreate": "Шоаш довзийта",
        "logout": "Аравала/яла",
        "userlogout": "Аравала/яла",
        "notloggedin": "Оаш шоаш довзийтадац системан",
        "userlogin-noaccount": "Доакъашхочун учета яздар дице хьа?",
        "userlogin-joinproject": "ДIахоттале {{SITENAME}}аца",
-       "nologin": "Дагара йоазув йице хьога? $1.",
-       "nologinlink": "Дагара йоазув хьакхолла",
        "createaccount": "Дагара йоазув хьакхолла",
-       "gotaccount": "Укхаза тхьовре дӀаяьзденна дий шо? $1.",
-       "gotaccountlink": "Чувала/яла",
-       "userlogin-resetlink": "Чувалара/ялара дараш дицданнадий шоана?",
        "userlogin-resetpassword-link": "ТIеракхосс хьа пароль?",
        "userlogin-helplink2": "Система чуваларах новкъостал",
        "userlogin-createanother": "Кхыдола дагара йоазув хьакхолла",
        "createacct-emailoptional": "Электронни почта адрес (ца яздича мегаш да)",
        "createacct-email-ph": "Iочуязде хьа электронни почта адрес",
        "createaccountmail": "Пайда эца ца ховш нийсденна къайладIоагIа, иштта хьадайта из белгалдаь электронни почта адреса тӀа.",
-       "createaccountreason": "Бахьан:",
        "createacct-reason": "Бахьан",
        "createacct-submit": "Хьакхолла учета яздар",
        "createacct-another-submit": "Дагара йоазув хьакхолла",
        "nextn-title": "{{PLURAL:$1|ТIадоагIа $1 яздар|ТIадоагIа $1 яздараш}}",
        "shown-title": "Гойта $1 {{PLURAL:$1|яздаьр|яздаьраш}} укх оáгIон тIа",
        "viewprevnext": "ДIахьажа ($1 {{int:pipe-separator}} $2) ($3)",
-       "searchmenu-exists": "'''Укх вики чу я иштта йола оагӀув «[[:$1]]»'''",
+       "searchmenu-exists": "<strong>Укх вики чу йолаш я оагӀув «[[:$1]]».</strong>",
        "searchmenu-new": "<strong>Хьакхолла оагIув «[[:$1]]» укх вики-проекте!</strong>\n{{PLURAL:$2|0=|Иштта хьажа Iайха лийха оагIонга.|Иштта хьажа хьай лахара хьахиннарашка.}}",
        "searchprofile-articles": "Кертера оагIонаш",
        "searchprofile-images": "Мультимедиа",
        "logentry-newusers-create": "{{GENDER:$2|Доакъашхочо хьакхеллад}} дагара йоазув $1",
        "logentry-upload-upload": "$1 {{GENDER:$2|чуяьккхай}} $3",
        "rightsnone": "(яц)",
-       "revdelete-summary": "хувцамий сурт оттадар",
        "searchsuggest-search": "Хьалаха {{grammar:prepositional|{{SITENAME}}}} чу",
        "expand_templates_preview": "Хьалххе бIаргтохар",
        "pagelang-name": "ОагIув",
index 57fefb1..1fcdedb 100644 (file)
        "login": "Entra",
        "login-security": "Verifica la tua identità",
        "nav-login-createaccount": "Entra / registrati",
-       "userlogin": "Entra / registrati",
-       "userloginnocreate": "Entra",
        "logout": "Esci",
        "userlogout": "Esci",
        "notloggedin": "Accesso non effettuato",
        "userlogin-noaccount": "Non hai ancora effettuato la registrazione?",
        "userlogin-joinproject": "Registrati su {{SITENAME}}",
-       "nologin": "Non hai un'utenza? $1.",
-       "nologinlink": "Registrati",
        "createaccount": "Registrati",
-       "gotaccount": "Hai già un'utenza? $1.",
-       "gotaccountlink": "Entra",
-       "userlogin-resetlink": "Hai dimenticato i tuoi dati di accesso?",
        "userlogin-resetpassword-link": "Hai dimenticato la password?",
        "userlogin-helplink2": "Aiuto con l'accesso",
        "userlogin-loggedin": "Sei già connesso come {{GENDER:$1|$1}}.\nUsa il modulo sottostante per accedere come altro utente.",
        "createaccountmail": "Usa una password casuale temporanea e inviala all'indirizzo di posta elettronica specificato",
        "createaccountmail-help": "Può essere utilizzato per creare un'utenza per un'altra persona senza doverne conoscere la password.",
        "createacct-realname": "Nome reale (opzionale)",
-       "createaccountreason": "Motivo:",
        "createacct-reason": "Motivo",
        "createacct-reason-ph": "Perché stai creando un'altra utenza",
        "createacct-reason-help": "Messaggio visualizzato nel registro della creazione dell'utenza",
        "page_first": "prima",
        "page_last": "ultima",
        "histlegend": "Confronto tra versioni: selezionare le caselle corrispondenti alle versioni desiderate e premere Invio o il pulsante in basso.\n\nLegenda: '''({{int:cur}})''' = differenze con la versione attuale, '''({{int:last}})''' = differenze con la versione precedente, '''{{int:minoreditletter}}''' = modifica minore",
-       "history-fieldset-title": "Naviga nella cronologia",
-       "history-show-deleted": "Solo quelli cancellati",
+       "history-fieldset-title": "Ricerca per versioni",
+       "history-show-deleted": "Solo versioni cancellate",
        "histfirst": "prima",
        "histlast": "ultima",
        "historysize": "({{PLURAL:$1|1 byte|$1 byte}})",
        "prefs-help-prefershttps": "Questa preferenza avrà effetto dal prossimo accesso.",
        "prefswarning-warning": "Hai fatto modifiche alle tue preferenze che non sono state ancora salvate.\nSe esci da questa pagina senza cliccare \"$1\" le preferenze non verranno aggiornate.",
        "prefs-tabs-navigation-hint": "Suggerimento: è possibile utilizzare i tasti freccia sinistra e destra per spostarsi tra le schede nell'elenco delle schede.",
-       "userrights": "Gestione dei permessi degli utenti",
+       "userrights": "Diritti utente",
        "userrights-lookup-user": "Seleziona un utente",
        "userrights-user-editname": "Inserire il nome utente:",
        "editusergroup": "Modifica gruppi utente",
        "rcfilters-invalid-filter": "Filtro non valido",
        "rcfilters-empty-filter": "Nessun filtro attivo. Sono mostrati tutti i contributi.",
        "rcfilters-filterlist-title": "Filtri",
+       "rcfilters-filterlist-whatsthis": "Cos'è questo?",
        "rcfilters-highlightmenu-title": "Seleziona un colore",
        "rcfilters-highlightmenu-help": "Seleziona un colore per evidenziare questa proprietà",
        "rcfilters-filterlist-noresults": "Nessun filtro trovato",
+       "rcfilters-noresults-conflict": "Nessun risultato trovato, perché i criteri di ricerca sono in conflitto",
        "rcfilters-filtergroup-registration": "Registrazione utente",
        "rcfilters-filter-registered-label": "Registrato",
        "rcfilters-filtergroup-authorship": "Modifica paternità",
        "rcfilters-filter-bots-label": "Bot",
+       "rcfilters-filter-patrolled-label": "Verificate",
+       "rcfilters-filter-patrolled-description": "Modifiche contrassegnate come verificate.",
+       "rcfilters-filter-unpatrolled-label": "Non verificate",
+       "rcfilters-filter-unpatrolled-description": "Modifiche non contrassegnate come verificate.",
        "rcfilters-filtergroup-significance": "Significato",
        "rcfilters-filter-minor-label": "Modifiche minori",
        "rcfilters-filter-major-label": "Modifiche non minori",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|ha aggiornato}} le etichette della versione $4 della pagina $3 ({{PLURAL:$7|aggiunta|aggiunte}} $6; {{PLURAL:$9|rimossa|rimosse}} $8)",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|ha aggiornato}} le etichette della voce di registro $5 di pagina $3 ({{PLURAL:$7|aggiunta|aggiunte}} $6; {{PLURAL:$9|rimossa|rimosse}} $8)",
        "rightsnone": "(nessuno)",
-       "revdelete-summary": "oggetto della modifica",
        "feedback-adding": "Inserimento del feedback nella pagina...",
        "feedback-back": "Indietro",
        "feedback-bugcheck": "Ottimo! Verifica che non sia già fra i [$1 bug conosciuti].",
index 2c4c3ba..153a890 100644 (file)
        "login": "ログイン",
        "login-security": "あなたが同一人であることを確認します",
        "nav-login-createaccount": "ログインまたはアカウント作成",
-       "userlogin": "ログインまたはアカウント作成",
-       "userloginnocreate": "ログイン",
        "logout": "ログアウト",
        "userlogout": "ログアウト",
        "notloggedin": "ログインしていません",
        "userlogin-noaccount": "登録がまだの場合",
        "userlogin-joinproject": "{{SITENAME}}のアカウントを作成",
-       "nologin": "登録がまだの場合、$1。",
-       "nologinlink": "アカウントを作成してください",
        "createaccount": "アカウント作成",
-       "gotaccount": "アカウントを既に持っている場合、$1。",
-       "gotaccountlink": "ログインしてください",
-       "userlogin-resetlink": "ログイン情報をお忘れですか?",
        "userlogin-resetpassword-link": "パスワードをお忘れですか?",
        "userlogin-helplink2": "ログインについてのヘルプ",
        "userlogin-loggedin": "{{GENDER:$1|$1}} として既にログインしています。\n別の利用者としてログインするには下のフォームを使用してください。",
        "createacct-another-email-ph": "メールアドレスを入力",
        "createaccountmail": "無作為な仮パスワードを生成し、指定のメールアドレスに送信",
        "createacct-realname": "本名 (省略可能)",
-       "createaccountreason": "理由:",
        "createacct-reason": "理由",
        "createacct-reason-ph": "アカウントを作成する理由",
        "createacct-reason-help": "アカウント作成記録に表示されるメッセージ",
        "prefs-help-prefershttps": "この設定は、次回ログインの際に反映されます。",
        "prefswarning-warning": "個人設定にまだ保存されていない変更があります。\n「$1」をクリックせずに離れた場合、個人設定は更新されません。",
        "prefs-tabs-navigation-hint": "ヒント: ← キーと → キーで、タブ一覧内のタブ間を移動できます。",
-       "userrights": "利用者権限を管理",
+       "userrights": "利用者権限",
        "userrights-lookup-user": "利用者を選択",
        "userrights-user-editname": "利用者名を入力:",
        "editusergroup": "利用者グループの表示",
        "editinguser": "利用者<strong> [[User:$1|$1]]</strong> $2 の権限を変更",
        "viewinguserrights": "{{GENDER:$1|利用者}} <strong>[[User:$1|$1]]</strong> $2 の利用者権限",
        "userrights-editusergroup": "利用者グループを編集",
-       "userrights-viewusergroup": "利用者グループ",
+       "userrights-viewusergroup": "{{GENDER:$1|利用者}}グループ",
        "saveusergroups": "{{GENDER:$1|利用者}}グループを保存",
        "userrights-groupsmember": "所属グループ:",
        "userrights-groupsmember-auto": "自動的に付与される権限:",
        "logentry-tag-update-revision": "$1 がページ「$3」の版 $4 のタグを{{GENDER:$2|更新しました}} ($6 を{{PLURAL:$7|追加}}、$8 を{{PLURAL:$9|削除}})",
        "logentry-tag-update-logentry": "$1 がページ「$3」の記録項目 $5 のタグを{{GENDER:$2|更新しました}} ($6 を{{PLURAL:$7|追加}}、$8 を{{PLURAL:$9|削除}})",
        "rightsnone": "(なし)",
-       "revdelete-summary": "編集内容の要約",
        "feedback-adding": "ページへのフィードバックの追加...",
        "feedback-back": "戻る",
        "feedback-bugcheck": "Great! [$1 既出のバグ]に既に含まれていないかご確認ください。",
        "pagelang-language": "言語",
        "pagelang-use-default": "既定の言語を使用",
        "pagelang-select-lang": "言語を選択",
+       "pagelang-reason": "理由",
        "pagelang-submit": "変更",
        "right-pagelang": "ページの言語を変更",
        "action-pagelang": "ページの言語の変更",
index 89c777e..44f0535 100644 (file)
        "login": "Mlebu",
        "login-security": "Vèrifikasi idhèntitas panjenengan",
        "nav-login-createaccount": "Log mlebu / nggawé rékening (akun)",
-       "userlogin": "Mlebu log / gawé rékening (akun)",
-       "userloginnocreate": "Mlebu",
        "logout": "Metu",
        "userlogout": "Metu",
        "notloggedin": "Durung kalebu",
        "userlogin-noaccount": "Durung duwé akun?",
        "userlogin-joinproject": "Mèlua {{SITENAME}}",
-       "nologin": "Durung kagungan asma panganggo? '''$1'''.",
-       "nologinlink": "Gawé akun",
        "createaccount": "Gawé akun",
-       "gotaccount": "Wis duwé akun? $1.",
-       "gotaccountlink": "Mlebu",
-       "userlogin-resetlink": "Lali rincian mlebu log Sampéyan?",
        "userlogin-resetpassword-link": "Lali tembung wadining sampéyan?",
        "userlogin-helplink2": "Tulungi mlebu",
        "userlogin-loggedin": "Sampeyan sampun mlebet log dadi {{GENDER:$1|$1}}.\nGunakna formulir ing ngisor iki kanggo mlebet log dadi panganggo liyane.",
        "createacct-another-email-ph": "Isi alamat layang èlèktronik",
        "createaccountmail": "Nganggoa sandi sauntara sembarang lan kirimna liwat layang e-mail ing ngisor iki",
        "createacct-realname": "Jeneng asli (manasuka)",
-       "createaccountreason": "Alesan:",
        "createacct-reason": "Alesan",
        "createacct-reason-ph": "Kenapa sampeyan nggawe akun liyane",
        "createacct-submit": "Gawé akun sampéyan",
        "last": "sadurung",
        "page_first": "kapisan",
        "page_last": "pungkasan",
-       "histlegend": "Kanggo mbandhingaké: tandhani kothak radhio révisi-révisi sing arep dibandhingaké lan pencèt ''Enter'' utawa tombol sing ana ing ngisor.<br />\nLegéndha: <strong>({{int:cur}})</strong> = béda karo révisi pungkasan, <strong>({{int:last}})</strong> = béda karo révisi sadurungé, <strong>{{int:minoreditletter}}</strong> = besutan cilik.",
+       "histlegend": "Kanggo nandhingaké: tandhani kothak radhio révisi-révisi sing arep dibandhingaké lan pencèt ''Enter'' utawa tombol sing ana ing ngisor.<br />\nLegéndha: <strong>({{int:cur}})</strong> = béda karo révisi pungkasan, <strong>({{int:last}})</strong> = béda karo révisi sadurungé, <strong>{{int:minoreditletter}}</strong> = besutan cilik.",
        "history-fieldset-title": "Luru sujarah",
        "history-show-deleted": "Mligi sing dibusak",
        "histfirst": "lawas dhéwé",
        "right-createpage": "Gawé kaca (sing dudu kaca parembugan)",
        "right-createtalk": "Gawé kaca parembugan",
        "right-createaccount": "Nggawé rékening (akun) panganggo anyar",
-       "right-minoredit": "Tandhani minangka besutan cilik",
+       "right-minoredit": "Tandhani yèn besutan cilik",
        "right-move": "Ngalih kaca",
        "right-move-subpages": "Pindhahaké kaca lan kabèh anak-kacané",
        "right-move-rootuserpages": "Ngalih kaca panganggo oyod",
        "right-editmyprivateinfo": "Owahi data pribadi sampeyan (kayata alamat layang elektronik, jeneng asli)",
        "right-editmyoptions": "Owahi preferensi sampeyan",
        "right-rollback": "Balèkaké kanthi gelis besutaning panganggo pungkasan sing mbesut kaca tinamtu",
-       "right-markbotedits": "Tandhani besutan kawurungan minangka besutan bot",
+       "right-markbotedits": "Tandhani besutan sing kawurungan yèn besutan bot",
        "right-noratelimit": "Ora dipengaruhi déning wates cacahing suntingan.",
        "right-import": "Impor kaca-kaca saka wiki liya",
        "right-importupload": "Impor kaca saka unggahan barkas",
        "logempty": "Ora ditemokaké èntri log sing pas.",
        "log-title-wildcard": "Golèk sesirah sing diwiwiti tulisan iki",
        "showhideselectedlogentries": "Tuduhalé/dhelikaké èntri log kapilih",
+       "checkbox-all": "Kabèh",
+       "checkbox-none": "Ora ana",
+       "checkbox-invert": "Balèkaké",
        "allpages": "Kabèh kaca",
        "nextpage": "Kaca sabanjuré ($1)",
        "prevpage": "Kaca sadurungé ($1)",
        "cachedspecial-viewing-cached-ts": "Sampéyan lagi ndelok vèrsi cadhangan saka kaca iki, sing bisa dadi ora padha karo kasunyatan.",
        "cachedspecial-refresh-now": "Delok sing paling anyar.",
        "categories": "Kategori",
+       "categories-submit": "Tuduhaké",
        "categoriespagetext": "{{PLURAL:$1|kategori ing ngisor iki ngandhut|kategori ing ngisor iki ngandhut}} kaca utawa media.\n[[Special:UnusedCategories|Kategori sing ora dianggo]] ora ditampilaké ing kéné.\nDeleng uga [[Special:WantedCategories|kategori sing diperlokaké]].",
        "categoriesfrom": "Tampilaké kategori-kategori diwiwiti saka:",
        "deletedcontributions": "Sumbangan panganggo sing dibusak",
        "activeusers-intro": "Iki daptar panganggo sing katon lakuné ing $1 {{PLURAL:$1|dina|dina}} kapungkur.",
        "activeusers-count": "$1 {{PLURAL:$1|suntingan|suntingan}} ing {{PLURAL:$3|dina|$3 dina}} pungkasan",
        "activeusers-from": "Tampilna panganggo wiwit saka:",
+       "activeusers-groups": "Tuduhaké panganggo sing mlebu golongan:",
        "activeusers-noresult": "Panganggo ora ana.",
+       "activeusers-submit": "Tuduhaké panganggo aktif",
        "listgrouprights": "Hak-hak grup panganggo",
        "listgrouprights-summary": "Ing ngisor iki kapacak dhaftar grup panganggo sing didéfinisi ing wiki iki, kanthi hak-hak aksès gandhèngané.\nInformasi tambahan perkara hak-hak individual bisa ditemokaké ing [[{{MediaWiki:Listgrouprights-helppage}}|kéné]].",
        "listgrouprights-key": "* <span class=\"listgrouprights-granted\">Hak sing diidinaké</span>\n* <span class=\"listgrouprights-revoked\">Hak sing dijabel</span>",
        "wlheader-showupdated": "Kaca-kaca sing wis owah wiwit ditiliki panjenengan kaping pungkasan, dituduhaké mawa '''aksara kandel'''",
        "wlnote": "Ngisor iki {{PLURAL:$1|owahan pungkasan|'''$1''' owahan pungkasan}} {{PLURAL:$2|jam|'''$2''' jam}} kapungkur, per $3, $4.",
        "wlshowlast": "Tuduhna $1 jam $2 dina  pungkasan",
+       "watchlist-hide": "Dhelikaké",
+       "watchlist-submit": "Tuduhaké",
+       "wlshowtime": "Kala mangsa kanggo dituduhaké:",
+       "wlshowhideminor": "besutan cilik",
+       "wlshowhidebots": "bot",
+       "wlshowhideliu": "panganggo kadhaftar",
+       "wlshowhideanons": "panganggo anonim",
+       "wlshowhidepatr": "besutan sing diawasi",
+       "wlshowhidemine": "besutanku",
        "wlshowhidecategorization": "kategorisasi kaca",
        "watchlist-options": "Pilihaning pawawangan",
        "watching": "Ngawasi...",
        "delete-confirm": "Busak \"$1\"",
        "delete-legend": "Busak",
        "historywarning": "'''Pènget''': Kaca sing bakal panjenengan busak ana sajarahé kanthi $1 {{PLURAL:$1|révisi|révisi}}:",
+       "historyaction-submit": "Tuduhaké",
        "confirmdeletetext": "Panjenengan bakal mbusak kaca utawa berkas iki minangka permanèn karo kabèh sajarahé saka basis data. Pastèkna dhisik menawa panjenengan pancèn nggayuh iki, ngerti kabèh akibat lan konsekwènsiné, lan apa sing bakal panjenengan tumindak iku cocog karo [[{{MediaWiki:Policy-url}}|kawicaksanan {{SITENAME}}]].",
        "actioncomplete": "Kasil diayahi",
        "actionfailed": "Tindakan gagal",
        "delete-edit-reasonlist": "Besut jalaraning pambusak",
        "delete-toobig": "Kaca iki darbé sujarah besutan sing dawa, punjul $1 {{PLURAL:$1|owahan}}.\nPambusak tumrap kaca sing kaya mangkono wis ora diidinaké nedya njagani murih ora ana karusakan ing {{SITENAME}}.",
        "delete-warning-toobig": "Kaca iki duwé sajarah panyuntingan sing dawa, luwih saka $1 {{PLURAL:$1|révisi|révisi}}.\nMbusak kaca iki bisa ngrusak operasi basis data ing {{SITENAME}};\nkudu ngati-ati.",
+       "deleteprotected": "Panjenengan ora bisa mbusak kaca iki amarga direksa.",
        "deleting-backlinks-warning": "'''Awas:''' Kaca liyane mungkin ana sing nautake ing kaca sing arep sampeyan busak.",
        "rollback": "Pulihaké besutan",
        "rollbacklink": "balèkaké",
        "rollback-success": "Suntingan dibalèkaké déning $1;\ndiowahi bali menyang vèrsi pungkasan déning $2.",
        "sessionfailure-title": "Sèsi gagal",
        "sessionfailure": "Katoné ana masalah karo sèsi log panjenengan; log panjenengan wis dibatalaké kanggo nyegah pambajakan. Mangga mencèt tombol \"back\" lan unggahaké manèh kaca sadurungé mlebu log, lan coba manèh.",
+       "changecontentmodel-title-label": "Sesirahé kaca",
+       "changecontentmodel-model-label": "Modhèl kontèn anyar",
+       "changecontentmodel-reason-label": "Alesan:",
+       "changecontentmodel-submit": "Ganti",
+       "changecontentmodel-success-title": "Modhèl kontèn wis diowahi",
        "protectlogpage": "Log reksa",
        "protectlogtext": "Ngisor iki daptar owahan saka panjagan kaca.\nDelok [[Special:ProtectedPages|daptar kaca sing dijaga]] kanggo daptar panjagan kaca paling anyar.",
        "protectedarticle": "ngreksa \"[[$1]]\"",
        "tooltip-ca-nstab-template": "Deleng cithakan",
        "tooltip-ca-nstab-help": "Mirsani kaca pitulung",
        "tooltip-ca-nstab-category": "Deleng kaca kategori",
-       "tooltip-minoredit": "Tandhani iki minangka besutan cilik",
+       "tooltip-minoredit": "Tandhani iki yèn besutan cilik",
        "tooltip-save": "Simpen owah-owahaning sampéyan",
        "tooltip-preview": "Pratuduhing owah-owahaning sampéyan. Anggoa cara iki sadurungé nyimpen.",
        "tooltip-diff": "Tuduhaké owah-owahan endi sing sampéyan gawé tumrap tulisan iki",
        "logentry-rights-autopromote": "$1 otomatis {{GENDER:$2|dipromosikne}} saka $4 nèng $5",
        "logentry-upload-upload": "$1 {{GENDER:$2|ngunggah}} $3",
        "rightsnone": "(ora ana)",
-       "revdelete-summary": "tingkesan besutan",
        "feedback-adding": "Nambahaké lebon saran nèng kaca...",
        "feedback-bugcheck": "Apik! Pesthèké kuwi dudu sawijining [$1 bug sing dingertèni].",
        "feedback-bugnew": "Aku wis mriksa. Kandakaké bug anyar",
index 9fde977..3f7fd96 100644 (file)
        "talk": "განხილვა",
        "views": "გადახედვა",
        "toolbox": "ხელსაწყოები",
+       "tool-link-userrights": "{{GENDER:$1|მომხმარებლის}} ჯგუფების შეცვლა",
+       "tool-link-userrights-readonly": "{{GENDER:$1|მომხმარებლის}} ჯგუფების ხილვა",
+       "tool-link-emailuser": "{{GENDER:$1|მომხმარებლისთვის}} ი-მეილის მიწერა",
        "userpage": "გადახედე მომხმარებლის გვერდს",
        "projectpage": "დაათვალიერე პროექტის გვერდი",
        "imagepage": "ფაილის გვერდის ნახვა",
        "login": "შესვლა",
        "login-security": "დაადასტურეთ იდენტიფიკაცია",
        "nav-login-createaccount": "შესვლა / რეგისტრაცია",
-       "userlogin": "შესვლა/ანგარიშის შექმნა",
-       "userloginnocreate": "შესვლა",
        "logout": "გასვლა",
        "userlogout": "გასვლა",
        "notloggedin": "შესული არ ხართ",
        "userlogin-noaccount": "არ გაქვთ ანგარიში?",
        "userlogin-joinproject": "შეუერთდით პროექტს {{SITENAME}}",
-       "nologin": "ჯერ არ ხართ რეგისტრირებული? '''$1'''.",
-       "nologinlink": "გახსენით ანგარიში",
        "createaccount": "გახსენი ანგარიში",
-       "gotaccount": "უკვე რეგისტრირებული ხართ? '''$1'''",
-       "gotaccountlink": "შესვლა",
-       "userlogin-resetlink": "ავტორიზაციის მონაცემები დაგავიწყდათ?",
        "userlogin-resetpassword-link": "დაგავიწყდათ პაროლი?",
        "userlogin-helplink2": "დახმარება:შესვლა",
        "userlogin-loggedin": "თქვენ უკვე შეხვედით როგორც {{GENDER:$1|$1}}.\nგამოიყენეთ ფორმა ქვემოთ, რათა შეხვიდეთ სხვა ანგარიშიდან.",
        "createaccountmail": "გამოიყენეთ შემთხვევითობის მეთოდით შერჩეული დროებითი პაროლი და გააგზავნეთ მითითებულ ელ.ფოსტის მისამართზე",
        "createaccountmail-help": "შეიძლება იქნას გამოყენებული სხვისი პირონების ანგარიშის შექმნისთვის მისი პაროლის ცოდნის გარეშე",
        "createacct-realname": "ნამდვილი სახელი (არააუცილებელი)",
-       "createaccountreason": "მიზეზი:",
        "createacct-reason": "მიზეზი",
        "createacct-reason-ph": "რატომ ქმნით ახალ ანგარიშს?",
        "createacct-reason-help": "მესიჯი რომელიც გამოჩნდება ანგარიშის შექმის აღრიცხვის ჟურნალში",
        "contentmodelediterror": "არ შეგიძლიათ ამ ვერსიის რედაქტირება, რადგან მისი კონტენტის მოდელი არის <code>$1</code>, რაც განსხვავდება გვერდის მიმდინარე კონტენტის მოედლისაგან <code>$2</code>.",
        "recreate-moveddeleted-warn": "'''გაფრთხილება: თქვენ ხელახლა ქმნით გვერდს, რომელიც ადრე წაიშალა.'''\n\nგთხოვთ დაფიქრდეთ, მისაღები არის თუ არა ამ გვერდის რედაქტირების გაგრძელება.\nინფორმაციისთვის ქვემოთ მოყვანილია ამ გვერდის წაშლის ისტორია:",
        "moveddeleted-notice": "ეს გვერდი წაიშალა. ინფორმაციის მისაღებად ქვემოთ წარმოდგენილია შესაბამისი ჩანაწერები წაშლისა და გადარქმევის ჟურნალებიდან.",
-       "moveddeleted-notice-recent": "á\83\91á\83\9dá\83\93á\83\98á\83¨á\83\98, á\83\94á\83¡ á\83\92á\83\95á\83\94á\83 á\83\93á\83\98 á\83¬á\83\90á\83¨á\83\9aá\83\98á\83\9aá\83\98á\83\90 (á\83\91á\83\9dá\83\9aá\83\9d 24 á\83¡á\83\90á\83\90á\83\97á\83\98á\83¡ á\83\92á\83\90á\83\9cá\83\9bá\83\90á\83\95á\83\9aá\83\9dá\83\91á\83\90á\83¨á\83\98).\ná\83¬á\83\90á\83¨á\83\9aá\83\98á\83¡á\83\90 á\83\93á\83\90 á\83\92á\83\90á\83\93á\83\90á\83¢á\83\90á\83\9cá\83\98á\83¡ á\83\9fá\83£á\83 á\83\9cá\83\90á\83\9aá\83\98 á\83¥á\83\9bá\83\94á\83\9cოთ არის მოცემული.",
+       "moveddeleted-notice-recent": "á\83¡á\83\90á\83\9bá\83¬á\83£á\83®á\83\90á\83 á\83\9dá\83\93, á\83\94á\83¡ á\83\92á\83\95á\83\94á\83 á\83\93á\83\98 á\83¬á\83\90á\83¨á\83\9aá\83\98á\83\9aá\83\98á\83\90 (á\83\91á\83\9dá\83\9aá\83\9d 24 á\83¡á\83\90á\83\90á\83\97á\83\98á\83¡ á\83\92á\83\90á\83\9cá\83\9bá\83\90á\83\95á\83\9aá\83\9dá\83\91á\83\90á\83¨á\83\98).\ná\83¬á\83\90á\83¨á\83\9aá\83\98á\83¡á\83\90 á\83\93á\83\90 á\83\92á\83\90á\83\93á\83\90á\83¢á\83\90á\83\9cá\83\98á\83¡ á\83\9fá\83£á\83 á\83\9cá\83\90á\83\9aá\83\98 á\83¥á\83\95á\83\94á\83\9bოთ არის მოცემული.",
        "log-fulllog": "ყველა ჟურნალის ხილვა",
        "edit-hook-aborted": "შესწორება გაუქმებულია გადამჭერით.\nდამატებითი ახსნა არ ჩაწერილა.",
        "edit-gone-missing": "გვერდის განახლეა შეუძლებელია.\nშესაძლოა, იგი წაიშალა.",
        "prefs-tabs-navigation-hint": "რჩევა: თქვენ შეგიძლიათ გამოიყენოთ ისრის კლავიშები მარცხნივ ან მარჯვნივ ჩანართებსა და ჩანართბის სიას შორის არსებული გადასვლებისათვის",
        "userrights": "მომხმარებელთა უფლებების მართვა",
        "userrights-lookup-user": "მომხმარებელთა ჯგუფების მართვა",
-       "userrights-user-editname": "á\83¨á\83\94á\83\98á\83¢ანეთ მომხმარებლის სახელი:",
+       "userrights-user-editname": "á\83¨á\83\94á\83\98á\83§á\83\95ანეთ მომხმარებლის სახელი:",
        "editusergroup": "{{GENDER:$1|მომხმარებელთა}} ჯგუფების რედაქტირება",
        "editinguser": "უფლებების შეცვლა {{GENDER:$1|მომხმარებლისთვის}} <strong>[[User:$1|$1]]</strong> $2",
+       "viewinguserrights": "{{GENDER:$1|მომხმარებლის}} უფლებების ხილვა <strong>[[User:$1|$1]]</strong> $2",
        "userrights-editusergroup": "დაარედაქტირეთ მომხმარებელთა ჯგუფები",
+       "userrights-viewusergroup": "{{GENDER:$1|მომხმარებლის}} ჯგუფების ხილვა",
        "saveusergroups": "{{GENDER:$1|მომხმარებელთა}} ჯგუფების შენახვა",
        "userrights-groupsmember": "ჯგუფის წევრი:",
        "userrights-groupsmember-auto": "ნაგულისხმევი წევრი:",
        "querypage-disabled": "ეს სპეცგვერდი გამორთულია წარმადობის გასაზრდელად.",
        "apihelp": "API დახმარება",
        "apihelp-no-such-module": "მოდული „$1“ ვერ მოიძებნა.",
-       "apisandbox": "API-ს სავარჯიშო",
+       "apisandbox": "API-á\83\98á\83¡ á\83¡á\83\90á\83\95á\83\90á\83 á\83¯á\83\98á\83¨á\83\9d",
        "apisandbox-jsonly": "API-ის სავარჯიშოს გამოსაყენებლად საჭიროა JavaScript.",
        "apisandbox-api-disabled": "API ამ საიტზე გამორთულია.",
        "apisandbox-intro": "გამოიყენეთ ეს გვერდი, თუ გსურთ მოსინჯოთ <strong>MediaWiki web service API</strong>.\nიხილეთ [[mw:API:Main page|API დოკუმენტაცია]] სხვა დეტალებისათვის.\nმაგალითი: [https://www.mediawiki.org/wiki/API#A_simple_example მიიღეთ მთავარი გვერდის შინაარსი]. შეგიძლიათ ნახოთ სხვა მაგალითებიც.\n\nგაითვალისწინეთ, რომ თუმცა ეს სავარჯიშოა, თქვენმა მოქმედებამ შესაძლოა შეცვალოს ვიკის გვერდი.",
        "trackingcategories-disabled": "კატეგორია გამორთულია",
        "mailnologin": "გამგზავნი მისამართი არ არის მითითებული.",
        "mailnologintext": "თქვენ უნდა [[Special:UserLogin|წარადგენილი იყოთ სისტემისადმი]] და გქონდეთ წესიერი ელექტრონული ფოსტის მისამართი თქვენს [[Special:Preferences|კონფიგურაციაში]] იმისთვის, რომ გაუგზავნოთ წერილების სხვა მომხმარებლებს.",
-       "emailuser": "á\83\92á\83\90á\83£á\83\92á\83\96á\83\90á\83\95á\83\9cá\83\94á\83\97 á\83\98á\83\9bá\83\94á\83\98á\83\9aá\83\98 á\83\90á\83\9b á\83\9bá\83\9dá\83\9bá\83®á\83\9bá\83\90á\83 á\83\94á\83\91á\83\94á\83\9aá\83¡",
-       "emailuser-title-target": "ელ. ფოსტის მიწერა {{GENDER:$1|მომხმარებელთან}}",
+       "emailuser": "á\83\9bá\83\9dá\83\9bá\83®á\83\9bá\83\90á\83 á\83\94á\83\91á\83\9aá\83\98á\83¡á\83\97á\83\95á\83\98á\83¡ á\83\98\83\9bá\83\94á\83\98á\83\9aá\83\98á\83¡ á\83\9bá\83\98á\83¬á\83\94á\83 á\83\90",
+       "emailuser-title-target": "{{GENDER:$1|მომხმარებლისთვის}} ელ.ფოსტის მიწერა",
        "emailuser-title-notarget": "ელ. ფოსტის გაგზავნა მომხმარებელთან",
        "emailpagetext": "თუ ამ მომხმარებელმა თავის პარამეტრებში ელ. ფოსტის მოქმედი მისამართი მიუთითა, ქვემოთ მოყვანილი ფორმის შევსებისას შეგიძლიათ {{GENDER:$1|მისთვის}} შეტყობინების გაგზავნა. ელ. ფოსტის მისამართი, რომელიც [[Special:Preferences|თქვენს პარამეტრებში]] მიუთითეთ, დაფიქსირდება „გამომგზავნის“ ველში, რათა ადრესატმა პასუხის გაცემა შეძლოს.",
        "defemailsubject": "ელ-ფოსტა საიტის {{SITENAME}} მომხმარებლისგან „$1“",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|განაახლა}} დასათაურება $4 ვერსიასთან $3 გვერდთან ({{PLURAL:$7|დამატებული}} $6; {{PLURAL:$9|წაშლილი}} $8)",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|განაახლა}} დასათაურება $5 ჟურნალის ჩანაწერთან $3 გვერდთან ({{PLURAL:$7|დამატებული}} $6; {{PLURAL:$9|წაშლილი}} $8)",
        "rightsnone": "(არცერთი)",
-       "revdelete-summary": "ცვლილებების აღწერა",
        "feedback-adding": "თქვენი შეფასების შენახვა...",
        "feedback-back": "უკან",
        "feedback-bugcheck": "კარგია! გთხოვთ, კიდევ ერთხელ შეამოწმეთ, ხომ არ არის აქ რომელიმე უკვე [$1 ნაცნობი შეცდომა].",
        "feedback-thanks": "გმადლობთ! თქვენი შეფასება განთავსებულია „[$2 $1]“ გვერდზე.",
        "feedback-thanks-title": "გმადლობთ!",
        "feedback-useragent": "მომხმარებლის აგენტი:",
-       "searchsuggest-search": "ძიება",
+       "searchsuggest-search": "ძიება {{grammar:prepositional|{{SITENAME}}}}ში",
        "searchsuggest-containing": "შეიცავს...",
        "api-error-badtoken": "შიდა შეცდომა: ცუდი ტოკენი.",
        "api-error-emptypage": "ახალი, ცარიელი გვერდების შექმნა აკრძალულია.",
index 2b3ef5a..01f4ca5 100644 (file)
        "externaldberror": "មាន​​បញ្ហាក្នុងការ​បញ្ជាក់​ផ្ទៀង​ផ្ទាត់​​មូលដ្ឋាន​ទិន្នន័យ​ ឬ​អ្នក​មិន​ត្រូវ​បាន​អនុញ្ញាត​ឲ្យ​បន្ទាន់​សម័យ​គណនី​ខាង​ក្រៅ​របស់​អ្នក​។​\n​",
        "login": "កត់ឈ្មោះចូល",
        "nav-login-createaccount": "កត់ឈ្មោះចូលឬបង្កើតគណនី",
-       "userlogin": "កត់ឈ្មោះចូលឬបង្កើតគណនី",
-       "userloginnocreate": "កត់ឈ្មោះចូល",
        "logout": "កត់ឈ្មោះចេញ",
        "userlogout": "កត់ឈ្មោះចេញ",
        "notloggedin": "មិនទាន់កត់ឈ្មោះចូល",
        "userlogin-noaccount": "តើលោកអ្នក​មិនទាន់មាន​គណនី​សម្រាប់​ប្រើ​ទេ​ឬ?",
        "userlogin-joinproject": "សូមចូលជាសមាជិក {{SITENAME}}",
-       "nologin": "​បើលោកអ្នក​មិនទាន់មាន​គណនី​សម្រាប់​ប្រើ​ទេ​ សូម'''$1''' ។",
-       "nologinlink": "បង្កើតគណនី",
        "createaccount": "បង្កើតគណនី",
-       "gotaccount": "បើលោកអ្នកមានគណនីសម្រាប់ប្រើហើយ  សូម'''$1'''។",
-       "gotaccountlink": "កត់ឈ្មោះចូល",
-       "userlogin-resetlink": "តើអ្នកភ្លេចព័ត៌មានលម្អិតសម្រាប់កត់ឈ្មោះចូលហើយ?",
        "userlogin-resetpassword-link": "អ្នកភ្លេចពាក្យសម្ងាត់ហើយ?",
        "userlogin-helplink2": "ជំនួយលើការកត់ឈ្មោះចូល",
        "userlogin-loggedin": "អ្នកបានកត់ឈ្មោះចូលជា {{GENDER:$1|$1}} ហើយ។\nប្រើសំណុំបែបបទខាងក្រោមដើម្បីកត់ឈ្មោះចូលជាអ្នកប្រើប្រាស់ផ្សេងម្នាក់ទៀត។",
        "createacct-another-email-ph": "បញ្ចូលអាសយដ្ឋានអ៊ីមែល",
        "createaccountmail": "ប្រើប្រាស់ពាក្យសម្ងាត់ចៃដន្យបណ្ដោះអាសនុ្ន រួចផ្ញើវាទៅកាន់អាសយដ្ឋានអ៊ីមែលខាងក្រោម",
        "createacct-realname": "ឈ្មោះពិត (ដាក់ក៏បានមិនដាក់ក៏បាន)",
-       "createaccountreason": "មូលហេតុ៖",
        "createacct-reason": "មូលហេតុ",
        "createacct-reason-ph": "មូលហេតុដែលអ្នកចង់បង្កើតគណនីមួយទៀត",
        "createacct-submit": "បង្កើតគណនីរបស់អ្នក",
        "minoredit": "នេះជា​កំណែប្រែតិចតួចប៉ុណ្ណោះ",
        "watchthis": "តាមដាន​ទំព័រនេះ",
        "savearticle": "រក្សាទំព័រទុក",
+       "savechanges": "រក្សាទុកបន្លាស់ប្ដូរ",
        "preview": "មើលជាមុន",
        "showpreview": "បង្ហាញ​ការមើលជាមុន",
        "showdiff": "បង្ហាញ​បន្លាស់ប្ដូរ",
        "anonymous": "{{PLURAL:$1|user|អ្នកប្រើប្រាស់}}អនាមិកនៃ {{SITENAME}}",
        "siteuser": "អ្នកប្រើប្រាស់{{SITENAME}} $1",
        "anonuser": "អ្នកប្រើប្រាស់{{SITENAME}}អនាមិក $1",
-       "lastmodifiedatby": "ទំព័រនេះត្រូវបានប្តូរចុងក្រោយដោយ$3នៅវេលា$2,$1។",
+       "lastmodifiedatby": "ទំព័រនេះត្រូវបានប្តូរចុងក្រោយដោយ $3 នៅវេលា $2,$1។",
        "othercontribs": "ផ្អែកលើការងាររបស់$1។",
        "others": "ផ្សេងៗទៀត",
        "siteusers": "{{PLURAL:$2|អ្នកប្រើប្រាស់|អ្នកប្រើប្រាស់}} {{SITENAME}} $1",
        "logentry-rights-autopromote": "$1 {{GENDER:$2|ត្រូវបានតំឡើង}}សមាជិកភាពពី $4 ជា $5 ដោយស្វ័យប្រវត្តិ",
        "logentry-upload-upload": "$1 {{GENDER:$2|បានផ្ទុកឡើង}} $3",
        "rightsnone": "(ទទេ)",
-       "revdelete-summary": "កែប្រែចំណារពន្យល់",
        "feedback-adding": "កំពុងបន្ថែមមតិយោបល់ទៅលើទំព័រ...",
        "feedback-cancel": "បោះបង់​",
        "feedback-close": "រួចរាល់",
index 8660847..2442f52 100644 (file)
        "login": "로그인",
        "login-security": "사용자 정보 확인",
        "nav-login-createaccount": "로그인 / 계정 만들기",
-       "userlogin": "로그인 / 계정 만들기",
-       "userloginnocreate": "로그인",
        "logout": "로그아웃",
        "userlogout": "로그아웃",
        "notloggedin": "로그인하지 않음",
        "userlogin-noaccount": "계정이 없나요?",
        "userlogin-joinproject": "{{SITENAME}}에 가입하세요",
-       "nologin": "계정이 없나요? $1.",
-       "nologinlink": "계정을 만드세요",
        "createaccount": "계정 만들기",
-       "gotaccount": "계정이 이미 있습니까? $1.",
-       "gotaccountlink": "로그인하세요",
-       "userlogin-resetlink": "로그인 정보를 잊으셨나요?",
        "userlogin-resetpassword-link": "비밀번호를 잊으셨나요?",
        "userlogin-helplink2": "로그인에 대한 도움말",
        "userlogin-loggedin": "이미 {{GENDER:$1|$1}}님으로 로그인되어 있습니다.\n다른 사용자로 로그인하려면 아래의 양식을 사용하세요.",
        "createaccountmail": "임의의 임시 비밀번호를 이메일로 보내기",
        "createaccountmail-help": "비밀번호를 기억하지 않고도 다른 사용자를 위한 계정을 만들 수 있습니다.",
        "createacct-realname": "실명 (선택 사항)",
-       "createaccountreason": "이유:",
        "createacct-reason": "이유",
        "createacct-reason-ph": "왜 다른 계정을 만들어야 합니까",
        "createacct-reason-help": "계정 생성 로그에 표시되는 메시지",
        "botpasswords-label-delete": "삭제",
        "botpasswords-label-resetpassword": "비밀번호 재설정",
        "botpasswords-label-grants": "적용할 수 있는 부여:",
-       "botpasswords-help-grants": "각각 부여된 값은 목록에서 사용자 계정을 이미 갖고 있는 사용자 권한에 접근할 수 있는 권한을 줍니다. 자세한 정보는 [[Special:ListGrants|부여 표]]을 보세요.",
+       "botpasswords-help-grants": "사용자 계정에서 사용할 수 있는 권한을 부여합니다. 이 권한을 부여한다고 해서 원래 가지고 있지 않던 권한이 부여되는 것은 아닙니다. 자세한 정보는 [[Special:ListGrants|부여 표]]을 보세요.",
        "botpasswords-label-grants-column": "승인됨",
        "botpasswords-bad-appid": "\"$1\"이라는 봇 이름은 유효하지 않습니다.",
        "botpasswords-insert-failed": "\"$1\" 봇 이름을 추가하는데 실패했습니다. 이미 등록되지 않았는지 확인하기 바랍니다.",
        "page_first": "처음",
        "page_last": "마지막",
        "histlegend": "차이 선택: 비교하려는 판의 라디오 상자를 선택한 다음 엔터나 아래의 버튼을 누르세요.<br />\n설명: <strong>({{int:cur}})</strong> = 최신 판과 비교, <strong>({{int:last}})</strong> = 이전 판과 비교, <strong>{{int:minoreditletter}}</strong>= 사소한 편집",
-       "history-fieldset-title": "역사 찾아보기",
-       "history-show-deleted": "삭제된 것만",
+       "history-fieldset-title": "특정판 검색",
+       "history-show-deleted": "특정판이 삭제된 것만",
        "histfirst": "오래됨",
        "histlast": "최신",
        "historysize": "({{PLURAL:$1|1 바이트|$1 바이트}})",
        "prefs-help-prefershttps": "이 사용자 환경 설정은 다음 로그인부터 적용됩니다.",
        "prefswarning-warning": "사용자 환경 설정에서 바뀐 것이 아직 저장되어 있지 않습니다.\n사용자 환경 설정에서 \"$1\"을 클릭하지 않고 이 페이지를 떠나면 바뀌지 않습니다.",
        "prefs-tabs-navigation-hint": "팁: 탭 목록에서 탭 사이를 둘러보려면 왼쪽과 오른쪽 화살표 키를 사용할 수 있습니다.",
-       "userrights": "사용자 권한 관리",
+       "userrights": "사용자 권한",
        "userrights-lookup-user": "사용자 선택",
        "userrights-user-editname": "사용자 이름 입력:",
        "editusergroup": "사용자 그룹 불러오기",
        "saveusergroups": "{{GENDER:$1|사용자}} 권한 저장",
        "userrights-groupsmember": "현재 권한:",
        "userrights-groupsmember-auto": "자동으로 부여된 권한:",
-       "userrights-groups-help": "이 사용자의 권한을 바꿀 수 있습니다.\n* 사용자는 체크 표시가 있는 권한을 갖습니다.\n* 사용자는 체크 표시가 없는 권한을 갖지 않습니다.\n* <nowiki>*</nowiki>표시는 권한을 주거나 거두는 것 중 하나만 할 수 있다는 뜻입니다.",
+       "userrights-groups-help": "이 사용자의 권한을 바꿀 수 있습니다.\n* 사용자는 체크 표시가 있는 권한을 갖습니다.\n* 사용자는 체크 표시가 없는 권한을 갖지 않습니다.\n* <nowiki>*</nowiki>표시는 권한을 주거나 거두는 것 중 하나만 할 수 있다는 뜻입니다.\n* <nowiki>#</nowiki> 표시는 권한의 만료일을 늦출 수만 있다는 뜻입니다; 만료일을 앞당길 수는 없습니다.",
        "userrights-reason": "이유:",
        "userrights-no-interwiki": "다른 위키의 사용자 권한을 바꿀 권한이 없습니다.",
        "userrights-nodatabase": "데이터베이스 $1이 존재하지 않거나 로컬에 있지 않습니다.",
        "userrights-expiry-options": "1일:1 day,1주일:1 week,1개월:1 month,3개월:3 months,6개월:6 months,1년:1 year",
        "userrights-invalid-expiry": "그룹 \"$1\"의 만료 시간이 유효하지 않습니다.",
        "userrights-expiry-in-past": "그룹 \"$1\"의 만료 시간이 과거입니다.",
+       "userrights-cannot-shorten-expiry": "\"$1\" 권한의 만료일을 앞당길 수 없습니다. 권한을 추가하고 회수할 수 있는 권한을 가진 사용자만 권한의 만료일을 앞당길 수 있습니다.",
        "userrights-conflict": "사용자 권한 바꾸기가 충돌합니다! 바뀜을 검토하고 확인하세요.",
        "group": "그룹:",
        "group-user": "사용자",
        "rcfilters-invalid-filter": "유효하지 않은 필터",
        "rcfilters-empty-filter": "활성화된 필터가 없습니다. 모든 기여가 표시됩니다.",
        "rcfilters-filterlist-title": "필터",
+       "rcfilters-filterlist-whatsthis": "이게 뭐죠?",
        "rcfilters-filterlist-feedbacklink": "새로운 (베타) 필터에 대한 의견을 주세요",
        "rcfilters-highlightbutton-title": "결과 강조",
        "rcfilters-highlightmenu-title": "색 선택",
+       "rcfilters-highlightmenu-help": "이 속성을 강조할 색을 선택하십시오",
        "rcfilters-filterlist-noresults": "필터를 찾을 수 없습니다",
+       "rcfilters-noresults-conflict": "검색 조건이 충돌하기 때문에 결과를 찾을 수 없습니다",
        "rcfilters-filtergroup-registration": "사용자 등록",
        "rcfilters-filter-registered-label": "등록됨",
        "rcfilters-filter-registered-description": "로그인된 편집자.",
        "rcfilters-filter-editsbyother-label": "다른 사용자의 편집",
        "rcfilters-filter-editsbyother-description": "다른 사용자에 의한 편집 (당신의 편집이 아님).",
        "rcfilters-filtergroup-userExpLevel": "경험 수준 (등록된 사용자 전용)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "신규 사용자",
-       "rcfilters-filter-userExpLevel-newcomer-description": "10회 미만의 편집 및 4일 미만의 활동.",
-       "rcfilters-filter-userExpLevel-learner-label": "학습자",
-       "rcfilters-filter-userExpLevel-learner-description": "\"신규 사용자\" 보다 활동일 및 편집 수가 더 많지만 \"능숙한 사용자\" 보다는 적습니다.",
-       "rcfilters-filter-userExpLevel-experienced-label": "능숙한 사용자",
-       "rcfilters-filter-userExpLevel-experienced-description": "30일 이상의 활동 및 500개 이상의 편집.",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered": "경험 필터는 등록된 사용자만을 검색하기 때문에 이 필터는 \"등록 안 됨\" 필터와 충돌합니다.",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered-global": "\"등록 안 됨\" 필터는 하나 이상의 경험 필터와 충돌합니다. 경험 필터는 등록된 사용자만 찾습니다. 충돌되는 필터는 위의 활성화된 필터 목록에 표시됩니다.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "신규 사용자",
+       "rcfilters-filter-user-experience-level-newcomer-description": "10회 미만의 편집 및 4일 미만의 활동.",
+       "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": "30일 이상의 활동 및 500개 이상의 편집.",
        "rcfilters-filtergroup-automated": "자동으로 된 기여",
        "rcfilters-filter-bots-label": "봇",
        "rcfilters-filter-bots-description": "자동 도구를 이용한 편집.",
        "rcfilters-filter-humans-label": "사람 (봇이 아님)",
        "rcfilters-filter-humans-description": "사람이 한 편집.",
+       "rcfilters-filtergroup-reviewstatus": "검토 상태",
+       "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-filter-major-description": "사소한 편집으로 표시되지 않은 편집.",
        "rcfilters-filtergroup-changetype": "차이 종류",
        "rcfilters-filter-categorization-label": "분류 차이",
        "rcfilters-filter-categorization-description": "분류에서 추가되거나 제거되는 페이지의 기록.",
        "rcfilters-filter-logactions-description": "관리적 조치, 계정 만들기, 페이지 삭제, 업로드...",
+       "rcfilters-hideminor-conflicts-typeofchange-global": "특정한 유형의 변경사항을 \"사소한 편집\"으로 지정할 수 없기 때문에 \"사소한 편집\" 필터는 하나 이상의 변경사항 유형 필터와 충돌합니다. 충돌되는 필터들은 위의 사용 중인 필터 영역에 표시됩니다.",
+       "rcfilters-hideminor-conflicts-typeofchange": "특정한 종류의 변경사항은 \"사소한 편집\"으로 지정할 수 없으므로 이 필터는 다음 유형의 변경사항 필터와 충돌합니다: $1",
+       "rcfilters-typeofchange-conflicts-hideminor": "이 유형의 변경사항 필터는 \"사소한 편집\" 필터와 충돌합니다. 특정한 종류의 변경사항은 \"사소한 편집\"으로 지정할 수 없습니다.",
        "rcnotefrom": "아래는 <strong>$3, $4</strong>부터 시작하는 {{PLURAL:$5|바뀜이 있습니다}}. (최대 <strong>$1</strong>개가 표시됨)",
        "rclistfrom": "$3 $2부터 시작하는 새로 바뀐 문서 보기",
        "rcshowhideminor": "사소한 편집 $1",
        "uploaded-event-handler-on-svg": "이벤트 핸들러 속성 <code>$1=\"$2\"</code> 설정은 SVG 파일에서 사용할 수 없습니다.",
        "uploaded-href-attribute-svg": "SVG 파일의 href 속성은 http:// 또는 https:// 대상의 링크만 허용되지만 <code>&lt;$1 $2=\"$3\"&gt;</code>를 발견했습니다.",
        "uploaded-href-unsafe-target-svg": "안전하지 않은 데이터를 가리키는 href를 발견했습니다: 업로드된 SVG 파일의 URI 대상 <code>&lt;$1 $2=\"$3\"&gt;</code>",
-       "uploaded-animate-svg": "업로드된 SVG 파일에서 \"from\" 성 <code>&lt;$1 $2=\"$3\"&gt;</code>을 이용 중 \"animate\" 태그가 href를 변경할 수 있음을 발견했습니다.",
+       "uploaded-animate-svg": "업로드된 SVG 파일에서 \"from\" 성 <code>&lt;$1 $2=\"$3\"&gt;</code>을 이용 중 \"animate\" 태그가 href를 변경할 수 있음을 발견했습니다.",
        "uploaded-setting-event-handler-svg": "이벤트 핸들러 속성을 차단으로 설정한 상태에서 <code>&lt;$1 $2=\"$3\"&gt;</code>가 업로드된 SVG 파일에서 발견되었습니다.",
-       "uploaded-setting-href-svg": "부모 요소에 \"href\" 성을 추가할 목적으로 \"set\" 태그를 사용하는 것은 금지됩니다.",
-       "uploaded-wrong-setting-svg": "원격/데이터/스크립트 대상을 임의의 성에 추가할 목적으로 \"set\" 태그를 사용하는 것은 금지됩니다. 업로드된 SVG 파일에 <code>&lt;set to=\"$1\"&gt;</code>를 발견했습니다.",
-       "uploaded-setting-handler-svg": "원격/데이터/스크립트와 함께 \"handler\" 성을 설정한 SVG는 이용이 금지됩니다. 업로드된 SVG 파일에서 <code>$1=\"$2\"</code>를 발견하였습니다.",
-       "uploaded-remote-url-svg": "원격 URL로 style 성이 설정된 SVG파일은 금지됩니다. 업로드된 SVG 파일에서 <code>$1=\"$2\"</code>를 발견하였습니다.",
+       "uploaded-setting-href-svg": "부모 요소에 \"href\" 성을 추가할 목적으로 \"set\" 태그를 사용하는 것은 금지됩니다.",
+       "uploaded-wrong-setting-svg": "원격/데이터/스크립트 대상을 임의의 성에 추가할 목적으로 \"set\" 태그를 사용하는 것은 금지됩니다. 업로드된 SVG 파일에 <code>&lt;set to=\"$1\"&gt;</code>를 발견했습니다.",
+       "uploaded-setting-handler-svg": "원격/데이터/스크립트와 함께 \"handler\" 성을 설정한 SVG는 이용이 금지됩니다. 업로드된 SVG 파일에서 <code>$1=\"$2\"</code>를 발견하였습니다.",
+       "uploaded-remote-url-svg": "원격 URL로 style 성이 설정된 SVG파일은 금지됩니다. 업로드된 SVG 파일에서 <code>$1=\"$2\"</code>를 발견하였습니다.",
        "uploaded-image-filter-svg": "URL에 이미지 필터를 발견했습니다: 업로드된 SVG 파일의 <code>&lt;$1 $2=\"$3\"&gt;</code>.",
        "uploadscriptednamespace": "이 SVG 파일은 사용할 수 없는 이름공간 '<nowiki>$1</nowiki>'을 포함하고 있습니다.",
        "uploadinvalidxml": "업로드된 파일의 XML의 구문을 분석할 수 없습니다.",
        "size-bytes": "$1 {{PLURAL:$1|바이트}}",
        "size-pixel": "$1 {{PLURAL:$1|픽셀}}",
        "lag-warn-normal": "최근 $1{{PLURAL:$1|초}} 안에 바뀐 문서는 이 목록에서 빠졌을 수 있습니다.",
-       "lag-warn-high": "데이터베이스 서버의 과도한 부하 때문에 최근 $1{{PLURAL:$1|초|초}} 안에 바뀐 문서 목록은 보이지 않을 수 있습니다.",
+       "lag-warn-high": "데이터베이스 서버의 과도한 지연 때문에 $1{{PLURAL:$1|초|초}} 전 이후의 변경 내용은 이 목록에 보이지 않을 수 있습니다.",
        "watchlistedit-normal-title": "주시문서 목록 편집하기",
        "watchlistedit-normal-legend": "주시문서 목록에서 문서 제거하기",
        "watchlistedit-normal-explain": "주시문서 목록에 있는 문서의 제목이 아래에 나와 있습니다.\n주시문서 목록에서 제거하려는 문서가 있으면 각 항목의 확인 상자를 선택한 다음 \"{{int:Watchlistedit-normal-submit}}\"를 클릭해주세요.\n또는 [[Special:EditWatchlist/raw|목록을 직접 편집]]할 수도 있습니다.",
        "logentry-tag-update-revision": "$1님이 $3 문서의 $4판에서 태그를 {{GENDER:$2|업데이트했습니다}} ($6 {{PLURAL:$7|추가함}}; $8 {{PLURAL:$9|제거함}})",
        "logentry-tag-update-logentry": "$1님이 $3 문서의 기록 항목 $5에 있는 태그를 {{GENDER:$2|업데이트했습니다}} ($6 {{PLURAL:$7|추가함}}; $8 {{PLURAL:$9|제거함}})",
        "rightsnone": "(없음)",
-       "revdelete-summary": "편집 요약",
        "rightslogentry-temporary-group": "$1 (일시적, $2까지)",
        "feedback-adding": "문서에 피드백을 올리는 중...",
        "feedback-back": "뒤로",
index 32af23f..ae8a516 100644 (file)
        "login": "Aloggen",
        "login-security": "Iwwerpréift Är Idnetitéit",
        "nav-login-createaccount": "Aloggen / Benotzerkont uleeën",
-       "userlogin": "Aloggen / Benotzerkont uleeën",
-       "userloginnocreate": "Umellen",
        "logout": "Ofmellen",
        "userlogout": "Ausloggen",
        "notloggedin": "Net ageloggt",
        "userlogin-noaccount": "Hutt Dir kee Benotzerkont?",
        "userlogin-joinproject": "Maacht mat bei {{SITENAME}}",
-       "nologin": "Hutt Dir kee Benotzerkont? $1.",
-       "nologinlink": "Neie Benotzerkont maachen",
        "createaccount": "Neie Kont opmaachen",
-       "gotaccount": "Dir hutt schonn e Benotzerkont? '''$1'''.",
-       "gotaccountlink": "Umellen",
-       "userlogin-resetlink": "Hutt Dir d'Detailer vun Ärem Login vergiess?",
        "userlogin-resetpassword-link": "Hutt Dir Äert Passwuert vergiess?",
        "userlogin-helplink2": "Hëllef beim Aloggen",
        "userlogin-loggedin": "Dir sidd schonn als {{GENDER:$1|$1}} ageloggt.\nBenotzt de Formulaire hei drënner fir Iech als een anere Benotzer anzeloggen.",
        "createaccountmail": "En temporäert zoufällegt Passwuert benotzen an et per E-Mail un déi spezifizéiert E-Mailadress schécken",
        "createaccountmail-help": "Ka benotzt gi fir e Benotzerkont fir eng aner Persoun unzeleeën ouni d'Passwuert gewuer ze ginn.",
        "createacct-realname": "Richtegen Numm (fakultativ)",
-       "createaccountreason": "Grond:",
        "createacct-reason": "Grond",
        "createacct-reason-ph": "Fir wat Dir een anere Benotzerkonnt uleet",
        "createacct-reason-help": "Message deen am Logbuch vun den ugeluechte Benotzerkonte gewise gëtt",
        "page_first": "éischt",
        "page_last": "lescht",
        "histlegend": "Fir d'Ännerungen unzeweisen: Klickt déi zwou Versiounen un, déi solle verglach ginn.<br />\n*(aktuell) = Ënnerscheed mat der aktueller Versioun,\n*(lescht) = Ënnerscheed mat der aler Versioun,\n*k = Kleng Ännerung.",
-       "history-fieldset-title": "An de Versioune sichen",
-       "history-show-deleted": "nëmmen déi geläscht",
+       "history-fieldset-title": "No Versioune sichen",
+       "history-show-deleted": "Nëmme geläscht Versiounen",
        "histfirst": "eelst",
        "histlast": "neist",
        "historysize": "({{PLURAL:$1|1 Byte|$1 Byten}})",
        "prefs-help-prefershttps": "Dës Astellung gëtt déi nächste Kéier wierksam wou Dir Iech ageloggt.",
        "prefswarning-warning": "Dir hutt Ännerunge vun Ären Astellunge gemaach, déi nach net gespäichert goufen.\n\nWann Dir vun dëser Säit erof gitt ouni op \"$1\" ze klicken, da ginn Är Astellungen net aktualiséiert.",
        "prefs-tabs-navigation-hint": "Tipp: Dir kënnt d'Feiler no lénks an no riets benotze fir tëscht den Tabs an der Lëscht vun den Tabs ze navigéieren.",
-       "userrights": "Benotzerrechterverwaltung",
+       "userrights": "Benotzerrechter",
        "userrights-lookup-user": "E Benotzer eraussichen",
        "userrights-user-editname": "Benotzernumm uginn:",
        "editusergroup": "Benotzergruppe lueden",
        "rcfilters-search-placeholder": "Rezent Ännerunge filteren (duerchsichen oder ufänke mat tippen)",
        "rcfilters-invalid-filter": "Net valabele Filter",
        "rcfilters-filterlist-title": "Filteren",
+       "rcfilters-filterlist-whatsthis": "Wat ass dat?",
+       "rcfilters-highlightbutton-title": "Resultater ervirhiewen",
        "rcfilters-highlightmenu-title": "Eng Faarf eraussichen",
        "rcfilters-filterlist-noresults": "Keng Filtere fonnt",
+       "rcfilters-noresults-conflict": "Näischt fonnt well d'Sichcritère sech widderspriechen",
+       "rcfilters-filter-unregistered-description": "Auteuren déi net ageloggt sinn.",
        "rcfilters-filter-editsbyself-label": "Är eegen Ännerungen",
        "rcfilters-filter-editsbyself-description": "Ännerunge vun Iech.",
        "rcfilters-filter-editsbyother-label": "Ännerunge vun Aneren",
        "rcfilters-filter-editsbyother-description": "Ännerunge vun anere Benotzer (net vun Iech).",
        "rcfilters-filtergroup-userExpLevel": "Niveau vun der Erfahrung (just fir registréiert Benotzer)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "Neier",
-       "rcfilters-filter-userExpLevel-newcomer-description": "Manner wéi 10 Ännerungen a manner wéi 4 Deeg Aktivitéit.",
-       "rcfilters-filter-userExpLevel-learner-label": "Ufänger",
-       "rcfilters-filter-userExpLevel-learner-description": "Aktivitéit vu méi Deeg a méi Ännerunge wéi ''Nei Benotzer'' awer manner wéi ''Erfuere Benotzer''.",
-       "rcfilters-filter-userExpLevel-experienced-label": "Erfuere Benotzer.",
-       "rcfilters-filter-userExpLevel-experienced-description": "Méi wéi 30 Deeg Aktivitéit a méi wéi 500 Ännerungen.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Neier",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Manner wéi 10 Ännerungen a manner wéi 4 Deeg Aktivitéit.",
+       "rcfilters-filter-user-experience-level-learner-label": "Ufänger",
+       "rcfilters-filter-user-experience-level-learner-description": "Aktivitéit vu méi Deeg a méi Ännerunge wéi ''Nei Benotzer'' awer manner wéi ''Erfuere Benotzer''.",
+       "rcfilters-filter-user-experience-level-experienced-label": "Erfuere Benotzer.",
+       "rcfilters-filter-user-experience-level-experienced-description": "Méi wéi 30 Deeg Aktivitéit a méi wéi 500 Ännerungen.",
+       "rcfilters-filtergroup-reviewstatus": "Status nokucken",
+       "rcfilters-filter-patrolled-label": "Nogekuckt",
+       "rcfilters-filter-patrolled-description": "Ännerungen déi als nogekuckt markéiert sinn.",
+       "rcfilters-filter-unpatrolled-label": "Net nogekuckt",
+       "rcfilters-filter-unpatrolled-description": "Ännerungen déi net als nogekuckt markéiert sinn.",
        "rcfilters-filter-minor-label": "Kleng Ännerungen",
        "rcfilters-filter-major-label": "Keng kleng Ännerungen",
        "rcfilters-filter-pageedits-label": "Säitenännerungen",
        "logentry-upload-revert": "$1 huet $3 {{GENDER:$2|eropgelueden}}",
        "logentry-tag-update-add-revision": "$1 {{GENDER:$2|huet}} d'{{PLURAL:$7|Markéierung|Markéierunge(n)}} $6 op d'Versioun $4 vun der Säit $3 dobäigesat",
        "rightsnone": "(keen)",
-       "revdelete-summary": "Resumé änneren",
        "rightslogentry-temporary-group": "$1 (temporär, bis $2)",
        "feedback-adding": "Feedback gëtt bei d'Säit derbäigesat...",
        "feedback-back": "Zréck",
index 195699d..5ca5204 100644 (file)
@@ -35,7 +35,8 @@
                        "Macofe",
                        "Zygimantus",
                        "Matma Rex",
-                       "Nemo bis"
+                       "Nemo bis",
+                       "Nersip"
                ]
        },
        "tog-underline": "Nuorodos pabraukimas:",
        "login": "Prisijungti",
        "login-security": "Patvirtinkite savo tapatybę",
        "nav-login-createaccount": "Prisijungti / sukurti paskyrą",
-       "userlogin": "Prisijungti / sukurti paskyrą",
-       "userloginnocreate": "Prisijungti",
        "logout": "Atsijungti",
        "userlogout": "Atsijungti",
        "notloggedin": "Neprisijungęs",
        "userlogin-noaccount": "Neturite paskyros?",
        "userlogin-joinproject": "Prisijungti prie {{SITENAME}}",
-       "nologin": "Neturite prisijungimo vardo? '''$1'''.",
-       "nologinlink": "Sukurkite paskyrą",
        "createaccount": "Sukurti paskyrą",
-       "gotaccount": "Jau turite paskyrą? '''$1'''.",
-       "gotaccountlink": "Prisijunkite",
-       "userlogin-resetlink": "Pamiršote savo prisijungimo duomenis?",
        "userlogin-resetpassword-link": "Pamiršote savo slaptažodį?",
        "userlogin-helplink2": "Padėti prisijungti",
        "userlogin-loggedin": "Jūs jau prisijungęs kaip {{GENDER:$1|$1}}.\nNaudokite žemiau pateiktą pavidalą, kad prisijungtumėte kaip kitas naudotojas.",
        "createaccountmail": "Naudokite laikiną atsitiktinį slaptažodį ir nusiųskite jį į elektroninį paštą, nurodytą žemiau.",
        "createaccountmail-help": "Gali būti naudojamas paskyros sukūrimui kitam asmeniui, neatskleidžiant slaptažodžio.",
        "createacct-realname": "Vardas (neprivaloma)",
-       "createaccountreason": "Priežastis:",
        "createacct-reason": "Priežastis",
        "createacct-reason-ph": "Kodėl kuriate kitą paskyrą",
        "createacct-reason-help": "Pranešimas rodomas paskyros sukūrimo žurnale",
        "rcfilters-clear-all-filters": "Valyti visus filtrus",
        "rcfilters-invalid-filter": "Negalimas filtras",
        "rcfilters-filterlist-title": "Filtrai",
-       "rcfilters-highlightmenu-title": "Pasirinkti spalvą",
+       "rcfilters-filterlist-whatsthis": "Kas tai?",
+       "rcfilters-highlightmenu-title": "Pasirinkite spalvą",
        "rcfilters-filterlist-noresults": "Nerastas toks filtras",
        "rcfilters-filtergroup-registration": "Vartotojo registracija",
        "rcfilters-filter-registered-label": "Registruoti",
        "rcfilters-filter-unregistered-label": "Neregistruoti",
+       "rcfilters-filter-unregistered-description": "Redaktoriai, kurie nėra prisijungę.",
        "rcfilters-filter-editsbyself-label": "Jūsų keitimai",
        "rcfilters-filter-editsbyself-description": "Jūsų keitimai.",
        "rcfilters-filter-editsbyother-label": "Kitų keitimai",
        "rcfilters-filter-editsbyother-description": "Kaitimai sukurti kitų vartotojų (ne jūsų).",
        "rcfilters-filtergroup-userExpLevel": "Patirties lygis (tik registruotiems vartotojams)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "Naujokai",
-       "rcfilters-filter-userExpLevel-learner-label": "Mokiniai",
-       "rcfilters-filter-userExpLevel-experienced-label": "Patyrę vartotojai",
-       "rcfilters-filter-userExpLevel-experienced-description": "Daugiau nei 30 dienų veiklos ir 500 keitimų.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Naujokai",
+       "rcfilters-filter-user-experience-level-learner-label": "Mokiniai",
+       "rcfilters-filter-user-experience-level-experienced-label": "Patyrę vartotojai",
+       "rcfilters-filter-user-experience-level-experienced-description": "Daugiau nei 30 dienų veiklos ir 500 keitimų.",
        "rcfilters-filter-bots-label": "Robotas",
        "rcfilters-filter-bots-description": "Keitimai, atlikti automatinių įrankių.",
        "rcfilters-filter-humans-label": "Žmogaus (ne roboto)",
        "rcfilters-filter-humans-description": "Keitimai atlikti žmonių.",
+       "rcfilters-filtergroup-reviewstatus": "Peržiūrėti statusą",
        "rcfilters-filtergroup-significance": "Reikšmė",
        "rcfilters-filter-minor-label": "Smulkūs pakeitimai",
        "rcfilters-filter-minor-description": "Keitimai, kuriuos autorius pažymėjo kaip mažus.",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|atnaujino}} žymes $3 puslapio versijoje $4, ({{PLURAL:$7|pridėjo}} $6; {{PLURAL:$9|pašalino}} $8)",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|atnaujino}} žymes $3 puslapio žurnalo įraše $5 ({{PLURAL:$7|pridėtas}} $6; {{PLURAL:$9|pašalintas}} $8)",
        "rightsnone": "(jokių)",
-       "revdelete-summary": "keitimo paaiškinimas",
        "rightslogentry-temporary-group": "$1 (laikinai, iki $2)",
        "feedback-adding": "Pridedamas atsiliepimas į puslapį ...",
        "feedback-back": "Atgal",
index fe20055..b339dcc 100644 (file)
        "readonlytext": "Basis data agi dikonci sekang inputan anyar lan modifikasi liyane, ndeyane agi ana perawatan basis data, seuwise kuwe toli bakal mbalik normal maning.\n\nAdministrator sing ngunci kiye aweh katerangan kaya kiye: $1",
        "missing-article": "Basis data ora teyeng nemokna teks paca sing kudune ana, yaiku \"$1\" $2.\n\nKiye biasanye jalaran pranala daluwarsa maring revisi sedurunge sekang kaca sing wis dibusak.\n\nAngger dudu kuwe sebabe, Rika ndeyan nemokna \"bug\" nang software. \nMonggo dilaporna maring [[Special:ListUsers/sysop|administrator]], karo nyebutna URL sing dituju.\n\nA",
        "missingarticle-rev": "(révisi#: $1)",
-       "missingarticle-diff": "(Béda: $1, $2)",
+       "missingarticle-diff": "(Beda: $1, $2)",
        "readonly_lag": "Basis data uwis dikunci otomatis sawetara basis data sekunder lagi nglakokna sinkronisasi karo basis data utama",
        "internalerror": "Kasalahan internal",
        "internalerror_info": "Kasalahan internal: $1",
        "externaldberror": "Ana kesalahan otentikasi basis data utawa Rika ora olih nglakokna pemutakhiran maring akun eksternale Rika.",
        "login": "Melebu",
        "nav-login-createaccount": "Mlebu / gawe kaca anggota (akun)",
-       "userlogin": "Melebu / gawe kaca anggota (account)",
-       "userloginnocreate": "Mlebu log",
        "logout": "Metu Log",
        "userlogout": "Metu Log",
        "notloggedin": "Durung mlebu log",
        "userlogin-noaccount": "Durung duwe akun?",
        "userlogin-joinproject": "Melu {{SITENAME}}",
-       "nologin": "Durung duwe akun? $1.",
-       "nologinlink": "Gawe akun anyar",
        "createaccount": "Gawe akun anyar",
-       "gotaccount": "Wis duwe akun? $1.",
-       "gotaccountlink": "Mlebu log",
-       "userlogin-resetlink": "Apa Rika kelalen info detil nggo mlebune?",
        "userlogin-resetpassword-link": "Rika kelalen tembung sandhine?",
        "userlogin-helplink2": "Pitulung mlebu log",
        "userlogin-loggedin": "Rika uwis mlebu log nganggo jeneng {{GENDER:$1|$1}}.\nGunakna formulir nang ngisor kiye kanggo mlebu log dadi pangganggo sejen.",
        "createacct-another-email-ph": "Lebokna alamat imel",
        "createaccountmail": "Gunakna tembung sandhi acak sementara lan kirimna maring alamat imel",
        "createacct-realname": "Jeneng asli (ora kudu)",
-       "createaccountreason": "Alesan:",
        "createacct-reason": "Alesan",
        "createacct-reason-ph": "Kenangapa Rika nggawe akun sejen",
        "createacct-submit": "Gawe akune Rika",
        "passwordreset-emaildisabled": "Fitur imel wis dinonaktifna nang wiki kiye.",
        "passwordreset-username": "Jeneng panganggo:",
        "passwordreset-domain": "Domain:",
-       "passwordreset-capture": "Deleng imel hasile?",
-       "passwordreset-capture-help": "Angger Rika nyonteng kotak kiye, imel (sing isi tembung sandhi sauntara) bakal ditidokna maring Rika barengan karo dikirimna maring panganggo.",
        "passwordreset-email": "Alamat imel:",
        "passwordreset-emailtitle": "Detil akun nang {{SITENAME}}",
        "passwordreset-emailelement": "Jeneng panganggo: \n$1\n\nTembung sandhi sauntara: \n$2",
        "template-protected": "(direksa)",
        "template-semiprotected": "(semi-pangreksan)",
        "hiddencategories": "Kaca kiye kuwe anggota sekang {{PLURAL:$1|1 kategori sing diumpetna|$1 kategori-kategori sing diumpetna}}:",
-       "nocreatetext": "{{SITENAME}} wis mbatesi panggawean kaca anyar.\nRika teyeng mbalik lan nyunting kaca sing wis ana, utawa [[Special:UserLogin|mlebu utawa gawe akun]]",
+       "nocreatetext": "{{SITENAME}} wis mbatesi panggawean kaca anyar.\nRika teyeng mbalik lan nyunting kaca sing wis ana, utawa [[Special:UserLogin|mlebu]] utawa [[Special:CreateAccount|gawe akun]]",
        "nocreate-loggedin": "Rika ora duwe hak akses nggo gawe kaca anyar.",
        "sectioneditnotsupported-title": "Panyuntingan bagiya ora didukung",
        "permissionserrorstext-withaction": "Rika ora duwé hak aksès kanggo $2, jalaran {{PLURAL:$1|alesan|alesan}} nang ngisor kiye:",
        "saveprefs": "Simpen",
        "restoreprefs": "Balekna kabeh setelan gawane (nang kabeh bagiyan)",
        "prefs-editing": "Panyuntingan",
-       "rows": "Baris:",
        "searchresultshead": "Goleti",
        "stub-threshold": "Ambang wates kanggo format <a href=\"#\" class=\"stub\">pranala rintisan</a> (bita):",
        "stub-threshold-disabled": "Dinonaktifna",
        "userrights-reason": "Alesan:",
        "userrights-no-interwiki": "Rika ora duwe hak kanggo ngowahi hak panganggo nang wiki liyane.",
        "userrights-nodatabase": "Basis data $1 ora ana utawa ora lokal.",
-       "userrights-nologin": "Rika kudu [[Special:UserLogin|mlebu log]] nganggo akun pangurus ben teyeng ngowahi hak panganggo.",
-       "userrights-notallowed": "Akune Rika ora duwe hak kanggo nambah utawa ngilangna hak panganggo.",
        "userrights-changeable-col": "Grup sing teyeng Rika owahi",
        "userrights-unchangeable-col": "Grup sing ora teyeng Rika owahi",
        "group": "Grup:",
        "statistics-pages": "Kaca",
        "statistics-pages-desc": "Kabeh kaca nang wiki kiye, klebu kaca dhiskusi, pangalihan, lan liya-liyané.",
        "statistics-files": "Berkas sing diunggahna",
-       "statistics-edits": "Jumlah suntingan wiwit {{SITENAME}} dimolai",
+       "statistics-edits": "Jumlah suntingan sapet {{SITENAME}} dimolai",
        "statistics-edits-average": "Rata-rata suntingan saben kaca",
        "statistics-users": "Jumlah [[Special:ListUsers|panganggo sing kedaftar]]",
        "statistics-users-active": "Jumlah panganggo aktif",
        "cantrollback": "Ora teyeng mbatalna suntingan;\nkontributor pungkasane kuwe siji-sijine sing nulis artikel kiye.",
        "alreadyrolled": "Ora teyeng mbalekna suntingan pungkasan [[:$1]] sekang [[User:$2|$2]] ([[User talk:$2|talk]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]);\nwis ana wong sejen sing nyunting utawa mbalekna artikel kuwe.\n\nSuntingan pungkasan kaca kiye digawe nang [[User:$3|$3]] ([[User talk:$3|talk]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).",
        "editcomment": "Ringkesan suntingan yakuwe: <em>$1</em>.",
-       "revertpage": "Suntingane [[Special:Contributions/$2|$2]] ([[User talk:$2|dhiskusi]]) dibalekna maring vèrsi pungkasan sekang [[User:$1|$1]]",
+       "revertpage": "Suntingane [[Special:Contributions/$2|$2]] ([[User talk:$2|dhiskusi]]) dibalekna maring versi pungkasan sekang [[User:$1|$1]]",
        "revertpage-nouser": "Mbalekna suntingan sekang (jeneng panganggo dibusek) ming revisi pungkasan sekang [[User:$1|$1]]",
        "rollback-success": "Mbalekna suntingane $1;\ndibalekna ming revisi pungkasan sekang $2.",
        "rollback-success-notify": "Mbalekna besutan sekang $1; owah mbalik nggo revisi mburi sekang $2. [$3 Deleng owahane]",
        "exif-lightsource-17": "Cahya standar A",
        "exif-lightsource-18": "Cahya standar B",
        "exif-lightsource-19": "Cahya standar C",
-       "namespacesall": "kabèh",
+       "namespacesall": "kabeh",
        "monthsall": "kabèh",
        "watchlisttools-view": "Tidokna owahan sing ana gandhèngané",
        "watchlisttools-edit": "Tidokna lan sunting daftar pangawasan",
index 5f512ff..f933f87 100644 (file)
        "title-invalid-interwiki": "Ahitana rohy interwiki tsy azo ampiasaina amin'ny lohateny ny pejy angatahana.",
        "title-invalid-talk-namespace": "Mampatsiahy pejin-dresaka tsy misy ilay pejy angatahana.",
        "title-invalid-characters": "Ahitana soratra tsy azo ekena ny lohatenim-pejy angatahana: \"$1\".",
+       "title-invalid-relative": "Manana lalana tsy mahaleotena ilay lohateny. Tsy manan-kery ny lohatenim-pejy misy mamana tsy mahaleotena (./, ../) satria tsy ho takatra izy ireo rehefa amin'ny mpitetin'ny mpampiasa sasany.",
+       "title-invalid-magic-tilde": "Ahitana filaharana majika tsy azo raisina ny lohatenim-pejy angatahana (<nowiki>~~~</nowiki>).",
+       "title-invalid-too-long": "Lava loatra ny lohatenim-pejy angatahana. Tsy mahazo ho lava noho $1 $1{{PLURAL:$1|}} ôktety ilay izy amin'ny fikaodiana UTF-8.",
+       "title-invalid-leading-colon": "Ahitana teboka roa tsy azo raisina ny lohatenim-pejy angatahana.",
        "perfcached": "Ao amin'ny voatakona ireo data manaraka ireo ary mety tsy voavao. $1{{PLURAL:}} ihany no isan'ireo zavatra voatahiry ao amin'ny voatakona",
        "perfcachedts": "Ao amin'ny voatakona (cache) ny data aseho, ary tamin'ny $1 izy no navaozina farany. $4{{PLURAL:}} no isan'ny valim-pikarohana ao amin'ilay voatakona.",
        "querypage-no-updates": "Amin'izao fotoana izao dia tsy havaozina ny votoatin'ity pejy ity. Noho izany dia tsy mitaratra ny tena zava-misy ny votoatiny ato.",
        "login": "Midira",
        "login-security": "Hamarino ny famantarana anao",
        "nav-login-createaccount": "Ampidiro ny solonanarana",
-       "userlogin": "Hiditra na hanokatra kaonty",
-       "userloginnocreate": "hiditra",
        "logout": "Hiala",
        "userlogout": "Hiala",
        "notloggedin": "Tsy tafiditra",
        "userlogin-noaccount": "Tsy manana kaonty?",
        "userlogin-joinproject": "Midira ho mpikamban'i {{SITENAME}}",
-       "nologin": "Tsy manana solonanarana? '''$1'''.",
-       "nologinlink": "Manokafa kaonty",
        "createaccount": "Hamorona kaonty",
-       "gotaccount": "Efa manana kaonty? '''$1'''.",
-       "gotaccountlink": "Midira",
-       "userlogin-resetlink": "Adinonavo ve ny antsipihan'ny fidiranao ?",
        "userlogin-resetpassword-link": "Hadino ny tenimiafina?",
        "userlogin-helplink2": "Fanampiana amin'ny fidirana",
        "userlogin-loggedin": "Efa tafiditra amin'ny anaran'i {{GENDER:$1|$1}} ianao. Ampiasao ny fôrmiolera eo ambany raha hiditra amin'ny anaran'ny mpikambana hafa.",
        "createaccountmail": "Hampiasa tenimiafina vonjimaika ary handefa azy eo amin'ny adiresy mailaka voalaza",
        "createaccountmail-help": "Azo ampiasaina amin'ny famoronana kaonty ho an'olon-kafa tsy mila mahafantatra ny tenimiafina.",
        "createacct-realname": "Tena anarana (azo tsy atao)",
-       "createaccountreason": "Antony :",
        "createacct-reason": "Antony",
        "createacct-reason-ph": "Inona ny antony hamoronanao kaonty hafa",
        "createacct-reason-help": "Hafatra ho aseho ao amin'ny laogim-pamoronan-kaonty",
        "botpasswords-no-provider": "Tsy afaka antsoina ny BotPasswordsSessionProvider.",
        "botpasswords-restriction-failed": "Manakana ity fidirana ity ny fepetra mifehy ny tenimiafina rôbô.",
        "resetpass_forbidden": "Tsy afaka ovaina ny tenimiafina",
+       "resetpass_forbidden-reason": "Tsy afaka ovaina ny tenimiafina: $1",
        "resetpass-no-info": "Tsy maintsy tafiditra ao amin'ny kaontinao ianao vao afaka mijery ity pejy ity.",
        "resetpass-submit-loggedin": "Ovay ny tenimiafina",
        "resetpass-submit-cancel": "Aoka ihany",
        "changeemail-password": "Tenimiafinao eo amin'i {{SITENAME}}:",
        "changeemail-submit": "Hanova ny adiresy imailaka",
        "changeemail-throttled": "Betsaka loatra ny andrana nidiranao.\nMiandrasa $1 alohan'ny manandrana indray.",
+       "changeemail-nochange": "Mampidira adiresy mailaka hafa vaovao.",
        "resettokens": "Hamerina ny token",
        "resettokens-text": "Azonao averina eto ny token izay hahafahana mitsidika ny fampahalalana tsy sarababem-bahoaka ao amin'ny kaontinao. Tokony ataonao izany raha voazara tsy fanahy iniana na raha nisy nangalatra ny kaontinao.",
        "resettokens-no-tokens": "Tsy misy token ho averina",
        "grant-group-high-volume": "Manao zavatra haingana",
        "grant-group-customization": "Fikirakirana ary safidy",
        "grant-group-administration": "Hanao asam-pandrindrana",
+       "grant-group-private-information": "Hijery ny angona tsy sarababembahoaka momba anao",
        "grant-group-other": "Manao hetsika maro samihafa",
        "grant-blockusers": "Manakana sy manala sakan'ny mpikambana",
        "grant-createaccount": "Hamorona kaonty",
        "grant-highvolume": "Manova pejy ambongadiny",
        "grant-oversight": "Manafina mpikambana ary mamafa versiona",
        "grant-patrol": "Manamarika ireo fiovam-pejy ho voatsidika",
+       "grant-privateinfo": "Mijery fampahalalana tsy sarababembahoaka",
        "grant-protect": "Miaro ary manala ny fiavoram-pejy",
        "grant-rollback": "Mamafa fiovana amin'ny pejy",
        "grant-sendemail": "Mandefa mailaka amin'ny mpikambana hafa",
        "grant-basic": "Zo fototra",
        "grant-viewdeleted": "Mitsidika ireo rakitra ary pejy voafafa",
        "grant-viewmywatchlist": "Hijery ny lisitry ny pejy arahanao",
+       "grant-viewrestrictedlogs": "Mijery iditry ny laogy tsy sarababembahoaka",
        "newuserlogpage": "Laogim-panokafana kaontim-pikambana",
        "newuserlogpagetext": "Ity pejy ity dia maneho ny tantaran'asan'ny fampidirana mpikambana vaovao.",
        "rightslog": "Laogim-piovan'ny zom-pikambana",
        "rcfilters-invalid-filter": "Sivana tsy azo raisina",
        "rcfilters-empty-filter": "Tsy misy sivana miasa. Aseho avokoa ireo fandraisan'anjara.",
        "rcfilters-filterlist-title": "Sivana",
+       "rcfilters-filterlist-whatsthis": "Inona ity?",
+       "rcfilters-filterlist-feedbacklink": "Mamoaka hevitra mikasika ny sivana vaovao (beta)",
        "rcfilters-highlightbutton-title": "Hampibaribary ny valiny",
        "rcfilters-highlightmenu-title": "Hisafidy loko",
+       "rcfilters-highlightmenu-help": "Misafidy loko hampanabaribariana ilay tondro",
        "rcfilters-filterlist-noresults": "Tsy nahitana sivana",
+       "rcfilters-noresults-conflict": "Tsy nahitana valiny satria tsy mifanaraka ny mason-tsivana",
        "rcfilters-filtergroup-registration": "Fisoratan'ny mpikambana",
        "rcfilters-filter-registered-label": "Nisoratra anarana",
        "rcfilters-filter-registered-description": "Mpanova tafiditra.",
        "rcfilters-filter-unregistered-label": "Tsy nisoratra anarana",
        "rcfilters-filter-unregistered-description": "Mpikambana tsy niditra.",
+       "rcfilters-filtergroup-authorship": "Manova ny tompon-tsoratra",
        "rcfilters-filter-editsbyself-label": "Ny fiovanao",
        "rcfilters-filter-editsbyself-description": "Fiovana nataonao",
        "rcfilters-filter-editsbyother-label": "Fiovana nataon'ny hafa",
        "rcfilters-filter-editsbyother-description": "Fiovana noforonin'ny mpikambana hafa (tsy ianao).",
        "rcfilters-filtergroup-userExpLevel": "Lentan'ny traikefa (ho an'ireo mpikambana nisoratra anarana ihany)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "Vao tonga",
-       "rcfilters-filter-userExpLevel-newcomer-description": "Latsaky ny fiovana folo ary latsaky ny 4 andro niasana",
-       "rcfilters-filter-userExpLevel-learner-label": "Mpianatra",
-       "rcfilters-filter-userExpLevel-learner-description": "Efa betsaka andro nandraisana anjara ary nanova im-betsaka nohon'ny \"Vao tonga\" fa mbola kely nohon'ny \"Manan-traikefa\".",
-       "rcfilters-filter-userExpLevel-experienced-label": "Mpikambana manan-traikefa",
-       "rcfilters-filter-userExpLevel-experienced-description": "Mahery ny 30 andro nandraisana anjara ary fiovana mahery ny 500.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Vao tonga",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Latsaky ny fiovana folo ary latsaky ny 4 andro niasana",
+       "rcfilters-filter-user-experience-level-learner-label": "Mpianatra",
+       "rcfilters-filter-user-experience-level-learner-description": "Efa betsaka andro nandraisana anjara ary nanova im-betsaka nohon'ny \"Vao tonga\" fa mbola kely nohon'ny \"Manan-traikefa\".",
+       "rcfilters-filter-user-experience-level-experienced-label": "Mpikambana manan-traikefa",
+       "rcfilters-filter-user-experience-level-experienced-description": "Mahery ny 30 andro nandraisana anjara ary fiovana mahery ny 500.",
        "rcfilters-filtergroup-automated": "Fandraisan'anjara alefa ho azy",
        "rcfilters-filter-bots-label": "Rôbô",
        "rcfilters-filter-bots-description": "Fiovana nataon'ny rôbô aotômatika.",
        "rcfilters-filter-humans-label": "Olona (tsy rôbô)",
        "rcfilters-filter-humans-description": "Fiovana nataon'ny olombelona mpikambana.",
+       "rcfilters-filter-patrolled-label": "Voatsidika",
+       "rcfilters-filter-patrolled-description": "Fiovana nomarihana ho voatsidika.",
+       "rcfilters-filter-unpatrolled-label": "Tsy mbola voatsidika",
+       "rcfilters-filter-unpatrolled-description": "Fiovana tsy voamarika ho voatsidika.",
        "rcfilters-filtergroup-significance": "Dikany",
        "rcfilters-filter-minor-label": "Fiovana madinika",
        "rcfilters-filter-minor-description": "Fiovana nataon'ny tompony ho madinika.",
        "rcfilters-filter-major-description": "Fiovana tsy natao ho madinika.",
        "rcfilters-filtergroup-changetype": "Karazam-piovana",
        "rcfilters-filter-pageedits-label": "Fiovam-pejy",
+       "rcfilters-filter-pageedits-description": "Manova votoatin'ny wiki, resaka, visavisan-tsokajy...",
        "rcfilters-filter-newpages-label": "Famoronam-pejy",
        "rcfilters-filter-newpages-description": "Fiovana nahatonga famoronam-pejy.",
        "rcfilters-filter-categorization-label": "Fiovana amin'ny sokajy",
        "uploaddisabledtext": "Tsy afaka andefasana rakitra aloha eto amin'ity wiki ity.",
        "php-uploaddisabledtext": "Ny fampidiran-drakitra dia tsy ampiasaina amin'ny PHP.\nMarino ny option configuration file_uploads.",
        "uploadscripted": "\nMisy kialo HTML na fango script mety tsy ho hain'ny navigateur sasany haseho ity rakitra ity.",
+       "uploaded-script-svg": "Zavatra azo atao ho azy \"$1\" ao amin'ny rakitra SVG nampiakarina.",
+       "uploaded-hostile-svg": "Nahitana CSS tsy azo antoka ao amin'ny zava-pisehoan'ny rakitra SVG nampiakarina.",
        "uploadscriptednamespace": "ahitana valan'anarana \"<nowiki>$1</nowiki>\" ny rakitra SVG.",
        "uploadinvalidxml": "Tsy afaka vakiana ny XML tao anatin'ilay rakitra nafaranao.",
        "uploadvirus": "Misy viriosy io rakitra io! Toy izao ny antsipirihany: $1",
        "uploadstash-badtoken": "Tsy navokatra ny fampandefasana ilay tao, mety efa lany daty angamba ny fampahalalam-pamantarana anao.\nAvereno fanindroany.",
        "uploadstash-errclear": "Tsy navokatra ny famafana rakitra.",
        "uploadstash-refresh": "Vaozina ny lisi-drakitra",
+       "uploadstash-thumbnail": "haneho sarikely",
        "img-auth-accessdenied": "Tsy afa-mankao",
        "img-auth-nopathinfo": "Tsy misy PATH_INFO.\nTsy voaparametatra ny lohamilinao hampita io fampahalalàna io.\nMety mampiasa CGI angamba ilay lohamilina ka tsy mahazaka an'i img_auth\nVangio ny https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization.",
        "img-auth-notindir": "Ny lalana nangatahana dia tsy ny petra-drakitra nokaonfigiorena.",
        "apisandbox-submit": "Hanao hataka",
        "apisandbox-reset": "Diovina",
        "apisandbox-retry": "Andramana indray",
+       "apisandbox-no-parameters": "Tsy manana parametatra ity module API ity.",
        "apisandbox-helpurls": "Rohim-panoroana",
        "apisandbox-examples": "Ohatra",
        "apisandbox-dynamic-parameters": "Parametatra miampy",
        "apisandbox-sending-request": "Mandefa hataka API...",
        "apisandbox-loading-results": "Mandray valiny API...",
        "apisandbox-results-error": "Nisy hadisoana tamin'ny fakàna ny valin-kataka API: $1.",
+       "apisandbox-request-format-url-label": "Tohin-tsora-kataka URL",
        "apisandbox-request-url-label": "Hataka URL:",
+       "apisandbox-request-json-label": "Hangataka JSON:",
        "apisandbox-request-time": "Fotoana nangatahana{{PLURAL:$1|$1 ms}}",
        "apisandbox-results-fixtoken": "Ahitsio ny token ary alefaso indray",
        "apisandbox-results-fixtoken-fail": "Tsy afaka naka ny token \"$1\".",
        "apisandbox-alert-page": "Tsy ekena ny votoatin'ny saha ato amin'ity pejy ity.",
+       "apisandbox-alert-field": "Tsy azo raisina ny sandan'ity saha ity.",
+       "apisandbox-continue": "Tohizana",
+       "apisandbox-continue-clear": "Diovina",
+       "apisandbox-multivalue-all-namespaces": "$1 (anaran-tsehatra rehetra)",
+       "apisandbox-multivalue-all-values": "$1 (sanda rehetra)",
        "booksources": "boky tsiahy",
        "booksources-search-legend": "hikaroka anatin'ny boky todika",
        "booksources-search": "Fikarohana",
        "booksources-text": "Ity misy lisitra maneho ny rohy makany amin'ny sehatra mivarotra boky vaovao sy efa vaky ary mety ahitanao fampahalalàna momba ny boky sy soratra notadiavinao :",
        "booksources-invalid-isbn": "Ny ISBN nomena dia mety diso ; marino raha diso ianao teo am-pandikanana ny loharano fotony.",
+       "magiclink-tracking-rfc": "Pejy mampiasa rohy majika RFC",
        "specialloguserlabel": "Mpikambana nanao :",
        "speciallogtitlelabel": "Tanjona (lohateny na mpikambana) :",
        "log": "Tatitr’asa",
        "changecontentmodel-reason-label": "Antony :",
        "changecontentmodel-submit": "Ovaina",
        "changecontentmodel-success-title": "Niova ny môdelim-botoatiny",
+       "changecontentmodel-emptymodels-title": "Tsy nahitana môdelim-botoatiny azo ampiasaina",
+       "changecontentmodel-emptymodels-text": "Tsy afaka avadika ho karazana na inona na inona [[:$1]].",
+       "log-name-contentmodel": "Laogim-panovana môdelim-botoatiny",
        "logentry-contentmodel-change-revertlink": "mamerina",
        "logentry-contentmodel-change-revert": "mamerina",
        "protectlogpage": "Laogim-piarovana",
        "sp-contributions-username": "Adiresy IP na anaram-pikambana :",
        "sp-contributions-toponly": "Fiovana izay farany ihany no aseho",
        "sp-contributions-newonly": "Fiovana izay namorom-pejy ihany no aseho",
+       "sp-contributions-hideminor": "Hanafina fiovana kely",
        "sp-contributions-submit": "Hikaroka",
        "whatlinkshere": "Pejy mirohy eto",
        "whatlinkshere-title": "Pejy mirohy any amin'i « $1 »",
        "ipb-unblock": "Hanala ny sakan'ny mpikambana na adiresy IP",
        "ipb-blocklist": "Hijery ny sakana efa misy",
        "ipb-blocklist-contribs": "Fandraisan'anjaran'i $1",
+       "ipb-blocklist-duration-left": "$1 sisa",
        "unblockip": "Esory ny sakana amin'io mpikambana io",
        "unblockiptext": "\nAmpiasao ity fisy eto ambany ity hanalana ny sakana\nmihatra amin'ny adiresy IP na solonanarana iray.",
        "ipusubmit": "Esory ny sakana",
        "tooltip-ca-nstab-category": "Hijery ny pejin'ilay sokajy",
        "tooltip-minoredit": "Mariho ho fanovana madinika ihany",
        "tooltip-save": "Tehirizo ny fanovana",
+       "tooltip-publish": "Hamoaka ny fiovana",
        "tooltip-preview": "Topazy maso ny fanovana nataonao, iangaviana ianao mba hijery tsipalotra mialoha ny fitahirizana ny fanovana!",
        "tooltip-diff": "Asehoy izay novainao tamin'ny lahatsoratra.",
        "tooltip-compareselectedversions": "Jereo ny fahasamihafana amin'ireo votoatin'ny pejy anankiroa ireo.",
        "pageinfo-length": "Halavam-pejy (oktety)",
        "pageinfo-article-id": "Laharam-pejy",
        "pageinfo-language": "Tenin'ny votoatiny",
+       "pageinfo-language-change": "ovaina",
        "pageinfo-content-model": "Môdelim-botoatim-pejy",
+       "pageinfo-content-model-change": "ovaina",
        "pageinfo-robot-policy": "Fanondroana ataon'ny rôbô",
        "pageinfo-robot-index": "Azo atao",
        "pageinfo-robot-noindex": "Tsy azo tondroina",
        "pageinfo-watchers": "Isan'ny mpandray anjara manaraka",
+       "pageinfo-visiting-watchers": "Isan'ny mpijery pejy nijery ny fiovana vao haingan'ity pejy ity",
        "pageinfo-few-watchers": "Mpanaraka latsaky ny $1{{PLURAL:}}",
        "pageinfo-redirects-name": "Fihodinana manketo amin'ity pejy ity",
        "pageinfo-subpages-name": "Zana-pejin'ity pejy ity",
        "pageinfo-category-pages": "Isam-pejy",
        "pageinfo-category-subcats": "Isan'ny zana-tsokajy",
        "pageinfo-category-files": "Isan'ny rakitra",
+       "pageinfo-user-id": "ID mpikambana",
        "markaspatrolleddiff": "Marihana ho voamarina",
        "markaspatrolledtext": "Marihana ho hita sy voatsara",
        "markedaspatrolled": "Voamarina",
        "patrol-log-page": "Laogin'ny fanovana voamarina",
        "patrol-log-header": "Ity dia laogy mikasikan'ny fanovana voamarina.",
        "log-show-hide-patrol": "$1 ny laogy mikasikan'ny versiona voamarina",
+       "log-show-hide-tag": "$1 laogim-balizy",
+       "confirm-markpatrolled-button": "OK",
        "deletedrevision": "Fanovana an'i $1 taloha voafafa.",
        "filedeleteerror-short": "Tsi-fetezana teo am-pamafàna ilay rakitra : $1",
        "filedeleteerror-long": "Nisy tsi-fetezana nitranga teo am-pamafàna ilay rakitra :\n\n$1",
        "exif-flash-redeye-1": "Fanoherana ny fisiana maso mena",
        "exif-focalplaneresolutionunit-2": "Posy",
        "exif-sensingmethod-1": "Tsy voafaritra",
+       "exif-scenecapturetype-0": "Ara-penitra",
+       "exif-scenecapturetype-1": "Mandry",
+       "exif-scenecapturetype-2": "Mitsangana",
+       "exif-scenecapturetype-3": "Alina",
        "exif-gaincontrol-0": "Tsy misy",
        "exif-gaincontrol-1": "Fahazoana miabo kely",
        "exif-gaincontrol-2": "Fitomboana miabo be",
        "exif-saturation-2": "Ambony",
        "exif-sharpness-0": "Tsotra",
        "exif-sharpness-1": "Malefaka",
+       "exif-sharpness-2": "Mahery",
        "exif-subjectdistancerange-0": "Tsy fantatra",
        "exif-subjectdistancerange-1": "Makrô",
        "exif-subjectdistancerange-2": "Fijerena akaiky",
        "exif-gpslatitude-s": "Atsimo",
        "exif-gpslongitude-e": "Atsinanana",
        "exif-gpslongitude-w": "Andrefana",
+       "exif-gpsaltitude-above-sealevel": "$1 {{PLURAL:$1|}}metatra eo ambonin'ny lentan'ny ranomasina",
+       "exif-gpsaltitude-below-sealevel": "$1 metatra{{PLURAL:$1|}} eo ambanin'ny lentan-dranomasina",
        "exif-gpsstatus-a": "Am-pandrefesana",
        "exif-gpsmeasuremode-2": "Fandrefesana 2D",
        "exif-gpsmeasuremode-3": "Fandrefesana 3D",
        "exif-objectcycle-b": "Sady maraina no hariva",
        "exif-gpsdirection-t": "Tena avaratra",
        "exif-gpsdirection-m": "Avaratra arak'andriamby",
+       "exif-ycbcrpositioning-1": "Miafovoany",
+       "exif-ycbcrpositioning-2": "Co-sited",
        "exif-dc-contributor": "Mpandray anjara",
        "exif-dc-date": "Daty",
        "exif-dc-publisher": "Mpamoaka",
+       "exif-dc-relation": "Media misy ifandraisana",
        "exif-dc-rights": "Zo",
        "exif-dc-source": "Haino aman-jery niaviana",
        "exif-dc-type": "Karazana baino aman-jery",
        "confirm-watch-top": "Hanaraka ity pejy ity?",
        "confirm-unwatch-button": "OK",
        "confirm-unwatch-top": "Hanala ity pejy ity amin'ny lisitry ny pejy arahinao?",
+       "confirm-rollback-button": "OK",
+       "quotation-marks": "\"$1\"",
        "imgmultipageprev": "← pejy nialoha",
        "imgmultipagenext": "pejy manaraka →",
        "imgmultigo": "Andao !",
        "imgmultigoto": "Handeha any amin'ny pejy $1",
        "img-lang-default": "(fiteny tsipalotra)",
+       "img-lang-info": "Haneho ity sary ity ho $1. $2",
        "img-lang-go": "Alefa",
        "ascending_abbrev": "mihak.",
        "descending_abbrev": "mihid.",
        "autosumm-replace": "Votoatiny novaina ho « $1 »",
        "autoredircomment": "Pejy fihodinana mankany [[$1]]",
        "autosumm-new": "Pejy voaforona amin'ny « $1 »",
+       "autosumm-newblank": "Namorona pejy fotsy",
        "lag-warn-normal": "Ny fanovana vaovao nohon'ny $1 segondra {{PLURAL:}} dia tsy hiseho eo amin'ity lisitra ity.",
        "lag-warn-high": "Noho ny hataraiky ny lohamilin'ny banky angona, tsy hiseho eto ny fanovana natao tao anatin'ny fotoana latsaky ny $1 segondra{{PLURAL:}}.",
        "watchlistedit-normal-title": "Hanova ny lisitra ny pejy arahako maso",
        "watchlistedit-raw-titles": "Lohateny :",
        "watchlistedit-raw-submit": "Havaozina ny lisitra",
        "watchlistedit-raw-done": "Voavao ny lisitrao.",
+       "watchlistedit-clear-title": "Handio ny lisitra arahanao",
+       "watchlistedit-clear-legend": "Handio ny lisitra arahanao",
+       "watchlistedit-clear-explain": "Ho esorina amin'ny lisitry ny pejy arahanao ny lohateny rehetra",
+       "watchlistedit-clear-titles": "Lohateny:",
        "watchlisttools-view": "pejy arahako maso",
        "watchlisttools-edit": "Jereo sy ovao ny lisitra ny pejy fanaraha-maso",
        "watchlisttools-raw": "Ovay ilay pejy arahako maso amizao",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|resaka]])",
+       "timezone-local": "An-toerana",
        "duplicate-defaultsort": "'''Tandremo''' : manitsaka ny sort key taloha \"$1\" ilay sort key ankehitriny \"$2\".",
        "version": "Versiona",
        "version-extensions": "Fanitarana nampidirina",
        "version-other": "Samihafa",
        "version-hook-subscribedby": "Nalefan'i",
        "version-version": "($1)",
+       "version-no-ext-name": "[tsy misy anarana]",
        "version-license": "Lisansa Mediawiki",
        "version-ext-license": "Fahazoan-dalana",
        "version-ext-colheader-name": "Fanitarana",
        "tags-deactivate-submit": "Aza alefa",
        "tags-edit-title": "Hanova balizy",
        "tags-edit-manage-link": "Hikirakira balizy",
+       "tags-edit-existing-tags": "Balizy misy:",
+       "tags-edit-existing-tags-none": "<em>Tsy misy</em>",
        "tags-edit-new-tags": "Balizy vaovao:",
        "tags-edit-add": "Ampiana ireo balizy ireo:",
        "tags-edit-remove": "Hanala ireo balizy ireo:",
        "htmlform-cloner-create": "Hanampy be kokoa",
        "htmlform-cloner-delete": "Esorina",
        "htmlform-cloner-required": "Sanda iray farafahakeliny no ilaina",
+       "htmlform-date-placeholder": "TTTT-VV-AA",
+       "htmlform-time-placeholder": "HH:MM:SS",
+       "htmlform-datetime-placeholder": "TTTT-VV-AA HH:MM:SS",
+       "htmlform-date-invalid": "Tsy daty fantatra ny sanda nampidirinao. Andramo ampiasina ny fipetraka TTTT-VV-AA.",
        "htmlform-title-badnamespace": "Tsy ao amin'i anaran-tsehatra \"{{ns:$2}}\" i [[:$1]].",
        "htmlform-title-not-creatable": "Lohatenim-pejy tsy azo foronina \"$1\"",
        "htmlform-title-not-exists": "Tsy misy $1.",
        "logentry-rights-autopromote": "{{GENDER:$2}}Lasa $5 ho azy i $1 izay $4 taloha",
        "logentry-upload-upload": "Nampiditra an'i $3 i $1{{GENDER:$2}}",
        "rightsnone": "(tsy misy)",
-       "revdelete-summary": "ambangovangon'ny fanovàna",
        "feedback-adding": "Manampy ny fahenoan-kevitra amin'ilay pejy...",
+       "feedback-back": "Hiverina",
        "feedback-bugnew": "Efa nomariniko. Hitory baogy iray",
        "feedback-cancel": "Foanana",
        "feedback-close": "Vita",
+       "feedback-dialog-title": "Handefa resaka",
        "feedback-error1": "Hadisoana: Valiny avy amin'ny API tsy fantatra",
        "feedback-error2": "Hadisoana: Tsy voaòva",
        "feedback-error3": "Hadisoana: Tsy nisy valiny avy amin'ny API",
        "feedback-subject": "Lohahevitra:",
        "feedback-submit": "Alefa",
        "feedback-thanks": "Misaotra! lanefa tany amin'ilay pejy ''[$2 $1]'' ilay fanehoan-kevitrao.",
+       "feedback-thanks-title": "Misaotra indrindra!",
        "feedback-useragent": "User agent:",
        "searchsuggest-search": "Hikaroha eto amin'i {{SITENAME}}",
        "searchsuggest-containing": "misy...",
        "api-error-stashfailed": "Hadisoana anaty: Tsy nahomby ny fitahirizana ilay rakitra vonjimaika ilay lohamilina.",
        "api-error-unknown-warning": "Fampitandremana tsy fantatra : ''$1''.",
        "api-error-unknownerror": "Hadisoana tsy fantatra : ''$1''.",
+       "duration-seconds": "$1 segondra{{PLURAL:$1|}}",
+       "duration-minutes": "$1 minitra{{PLURAL:$1|}}",
+       "duration-hours": "$1 ora{{PLURAL:$1|}}",
+       "duration-days": "$1 andro{{PLURAL:$1|}}",
+       "duration-weeks": "$1{{PLURAL:$1|}} herinandro",
+       "duration-years": "$1 taona{{PLURAL:$1|}}",
+       "duration-decades": "folotaona{{PLURAL:$1|}} $1",
+       "duration-centuries": "taonjato $1{{PLURAL:$1|}}",
+       "limitreport-walltime": "Tena fotoam-pampiasana",
+       "limitreport-walltime-value": "$1 segondra{{PLURAL:$1|}}",
+       "expand_templates_output": "Valiny",
+       "expand_templates_xml_output": "Famoahana XML",
+       "expand_templates_html_output": "Famoahana HTML",
+       "expand_templates_ok": "OK",
+       "expand_templates_remove_comments": "Hanala resaka",
+       "expand_templates_preview": "Topi-maso",
+       "pagelang-name": "Pejy",
+       "pagelang-language": "Fiteny",
+       "pagelang-use-default": "Hampiasan ny fiteny raha tsy misy",
+       "pagelang-select-lang": "Hisafidy teny",
+       "pagelang-reason": "Antony",
+       "pagelang-submit": "Alefa",
+       "right-pagelang": "Hanova ny fitenin'ny pejy",
+       "action-pagelang": "hanova ny fitenin'ny pejy",
+       "mediastatistics": "Statistikan'ny haino aman-jery",
+       "mediastatistics-table-mimetype": "Karazana MIME",
+       "mediastatistics-table-extensions": "Itatra azo atao",
+       "mediastatistics-table-count": "Isan'ny rakitra",
+       "mediastatistics-header-unknown": "Tsy fantatra",
+       "mediastatistics-header-bitmap": "Sary bitmap",
+       "mediastatistics-header-drawing": "Sary (sary vektôrialy)",
+       "mediastatistics-header-audio": "Feo",
+       "mediastatistics-header-video": "Horonantsary",
+       "mediastatistics-header-multimedia": "Haino aman-jery be harena",
+       "mediastatistics-header-office": "Birao",
+       "mediastatistics-header-text": "Soratra",
+       "mediastatistics-header-executable": "Azo alefa",
+       "mediastatistics-header-total": "Rakitra rehetra",
        "special-characters-group-latin": "latina",
        "special-characters-group-latinextended": "latina nitarina",
        "special-characters-group-ipa": "AAI",
index 629386b..1f1e6de 100644 (file)
        "yourdomainname": "Тендан домен:",
        "login": "Шке денет палдаре",
        "nav-login-createaccount": "Пураш/Регистрацийым эрте",
-       "userlogin": "Пураш/Регистрацийым эрташ",
        "logout": "Лекташ",
        "userlogout": "Лекташ",
-       "nologin": "Тый регистрацийым эше эртен отыл? '''$1'''.",
-       "nologinlink": "Регистрацийым эрте",
        "createaccount": "Регистрацийым эрте",
-       "gotaccount": "Тый регистрацийым эртенат? '''$1'''.",
-       "gotaccountlink": "Шке денет палдаре",
-       "userlogin-resetlink": "Лӱмдам але шолыпмутдам монденда?",
        "userlogin-resetpassword-link": "Шолыпмутым монденат?",
        "createaccountmail": "Кӱчык жаплан чокым ыштыме шолыпмутым мылам e-mail дене колташ",
        "createacct-benefit-heading": "{{SITENAME}} тендан гаяк еҥ-влак дене ыштен шындалтын.",
        "searchprofile-articles": "Возымо лаштык-влак",
        "searchprofile-images": "Мультимедий",
        "searchprofile-everything": "Чыла",
-       "searchprofile-advanced": "Кумдарак",
+       "searchprofile-advanced": "Кумда кычалмаш",
        "searchprofile-articles-tooltip": "Кычалмаш $1ште",
        "searchprofile-images-tooltip": "Файл-влакым кычалмаш",
        "searchprofile-everything-tooltip": "Чыла лаштык-влакыште кычалаш (каҥашымаш лаштык-влакыштат)",
        "search-nonefound": "Тыйын йодышет почеш нимо муалтын огыл",
        "powersearch-legend": "Сайынрак кычалаш",
        "powersearch-ns": "Кычалаш тиде лӱм-влакын кумдыкышт-влакыште:",
-       "powersearch-togglelabel": "Сайлаш:",
+       "powersearch-togglelabel": "Ð\9eйÑ\8bÑ\80аш:",
        "powersearch-toggleall": "Чыла",
        "powersearch-togglenone": "Нимо",
        "preferences": "Келыштарымаш",
        "tag-filter": "[[Special:Tags|Метке]] фильтр:",
        "logentry-delete-delete": "$1 {{GENDER:$2|шӧрен|шӧрен}} лаштыкым $3",
        "logentry-newusers-create": "Пайдаланыше {{GENDER:$2}} $1 лаштыкым ыштен.",
-       "revdelete-summary": "тӧрлатымаш-влакым возен ончыктымаш",
-       "searchsuggest-search": "{{SITENAME}} сайтыште кычалаш",
+       "searchsuggest-search": "кычалаш",
        "expand_templates_ok": "Йӧра",
        "expand_templates_preview": "Ончылгоч ончымаш"
 }
index 4872f4a..9371f3f 100644 (file)
        "login": "Најава",
        "login-security": "Потврдете го вашиот идентитет",
        "nav-login-createaccount": "Најава / направи сметка",
-       "userlogin": "Најава / направи сметка",
-       "userloginnocreate": "Најава",
        "logout": "Одјава",
        "userlogout": "Одјава",
        "notloggedin": "Не сте најавени",
        "userlogin-noaccount": "Немате сметка?",
        "userlogin-joinproject": "Зачленете се на {{SITENAME}}",
-       "nologin": "Немате корисничка сметка? '''$1'''.",
-       "nologinlink": "Направете нова корисничка сметка",
        "createaccount": "Направи сметка",
-       "gotaccount": "Веќе имате корисничка сметка? '''$1'''.",
-       "gotaccountlink": "Најавете се",
-       "userlogin-resetlink": "Си ги заборавивте податоците за најава?",
        "userlogin-resetpassword-link": "Ја заборавивте лозинката?",
        "userlogin-helplink2": "Помош за најава",
        "userlogin-loggedin": "Веќе сте најавени како {{GENDER:$1|$1}}.\nСо образецот подолу можете да се најавите како друг корисник.",
        "createaccountmail": "Дај привремена произволна лозинка и испрати ја на укажаната адреса",
        "createaccountmail-help": "Може да се користи за создавање на сметка во туѓо име без да ја знаете лозинката.",
        "createacct-realname": "Вистинско име (незадолжително)",
-       "createaccountreason": "Причина:",
        "createacct-reason": "Причина",
        "createacct-reason-ph": "Зошто правите друга сметка",
        "createacct-reason-help": "Порака што се прикажува во дневникот на создадени сметки",
        "page_first": "прв",
        "page_last": "последен",
        "histlegend": "Разлика помеѓу преработките: Означете ги преработките што сакате да ги споредите и притиснете на Enter или копчето на дното од страницата.<br />\nЛегенда: '''({{int:cur}})''' = разлика со последна преработка, '''({{int:last}})''' = разлика со претходна преработка, '''{{int:minoreditletter}}''' = ситна промена.",
-       "history-fieldset-title": "Ð\9fÑ\80еглед Ð½Ð° Ð¸Ñ\81Ñ\82оÑ\80иÑ\98аÑ\82а",
-       "history-show-deleted": "Само избришани",
+       "history-fieldset-title": "Ð\9fÑ\80ебаÑ\80аÑ\98 Ð¿Ñ\80еÑ\80абоÑ\82ки",
+       "history-show-deleted": "Само избришани преработки",
        "histfirst": "најстари",
        "histlast": "најнови",
        "historysize": "({{PLURAL:$1|1 бајт|$1 бајти}})",
        "prefs-help-prefershttps": "Поставката ќе се примени следниот пат кога ќе се најавите.",
        "prefswarning-warning": "Направивте промени во нагодувањата, но не ги зачувавте.\nИзмената нема да се изврши ако ја напуштите страницава без да стиснете на „$1“.",
        "prefs-tabs-navigation-hint": "Совет: Можете да ги користите стрелките на тастатурата за да преоѓате од едно на друго јазиче во списокот на јазичиња.",
-       "userrights": "РаководеÑ\9aе Ñ\81о Ðºориснички права",
+       "userrights": "Ð\9aориснички права",
        "userrights-lookup-user": "Изберете корисник",
        "userrights-user-editname": "Внесете корисничко име:",
        "editusergroup": "Вчитај кориснички групи",
        "rcfilters-invalid-filter": "Неважечки филтер",
        "rcfilters-empty-filter": "Нема активни филтри. Прикажани се сите придонеси.",
        "rcfilters-filterlist-title": "Филтри",
+       "rcfilters-filterlist-whatsthis": "Што е ова?",
        "rcfilters-filterlist-feedbacklink": "Дајте мислење за новите (бета) филтри",
        "rcfilters-highlightbutton-title": "Истакнување на исход",
        "rcfilters-highlightmenu-title": "Изберете боја",
+       "rcfilters-highlightmenu-help": "Изберете боја за да го истакнете ова својство",
        "rcfilters-filterlist-noresults": "Не пронајдов ниеден филтер",
+       "rcfilters-noresults-conflict": "Не пронајдов ништо бидејќи критериумите на барање се спротиставени.",
+       "rcfilters-state-message-subset": "Филтерот не делува бидејќи неговиот исход веќе се содржи во {{PLURAL:$2|следниов поопфатен филтер|следниве поопфатни филтри}} (истакнете го за да го издвоите): $1",
+       "rcfilters-state-message-fullcoverage": "Избирањето на сите филтри во групата е исто како да не сте избрале ниеден, така што овој филтер не делува. Во групата се опфатени: $1",
        "rcfilters-filtergroup-registration": "Регистрација на корисници",
        "rcfilters-filter-registered-label": "Регистрирани",
        "rcfilters-filter-registered-description": "Најавени уредници.",
        "rcfilters-filter-unregistered-label": "Нерегистрирани",
        "rcfilters-filter-unregistered-description": "Уредници кои не се најавени.",
+       "rcfilters-filter-unregistered-conflicts-user-experience-level": "Овој филтер е протиставен со {{PLURAL:$2|следниов филтер|следниве филтри}} за искуство, {{PLURAL:$2|кој наоѓа|кои наоѓаат}} само регистрирани корисници: $1",
        "rcfilters-filtergroup-authorship": "Уреди авторство",
        "rcfilters-filter-editsbyself-label": "Ваши сопствени уредувања",
        "rcfilters-filter-editsbyself-description": "Ваши уредувања.",
        "rcfilters-filter-editsbyother-label": "Туѓи уредувања",
        "rcfilters-filter-editsbyother-description": "Уредувања направени од други корисници (не од вас).",
        "rcfilters-filtergroup-userExpLevel": "Корисничка искусност (само за регистрирани)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "Новодојденци",
-       "rcfilters-filter-userExpLevel-newcomer-description": "Помалку од 10 уредувања и 4 дена активност.",
-       "rcfilters-filter-userExpLevel-learner-label": "Ученици",
-       "rcfilters-filter-userExpLevel-learner-description": "Повеќе денови активност од „новодојденците“, но помалку од „искусните корисници“.",
-       "rcfilters-filter-userExpLevel-experienced-label": "Искусни корисници",
-       "rcfilters-filter-userExpLevel-experienced-description": "Повеќе од 30 дена активност и 500 уредувања.",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered": "Филтрите за искуство пронаоѓаат само регистрирани корисници, така што овој филтер е простиставен со филтерот „Нерегистрирани“.",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered-global": "Филтерот „Нерегистрирани“ е спротиставен на еден или повеќе од филтрите за искуство. Тие филтри наоѓаат само регистрирани корисници. Спротиставените филтри погоре се означени во одделот Активни филтри.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Новодојденци",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Помалку од 10 уредувања и 4 дена активност.",
+       "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": "Повеќе од 30 дена активност и 500 уредувања.",
        "rcfilters-filtergroup-automated": "Автоматизирани придонеси",
        "rcfilters-filter-bots-label": "Ботовски",
        "rcfilters-filter-bots-description": "Уредувања со автоматизирани алатки.",
        "rcfilters-filter-humans-label": "Човечки (неботовски)",
        "rcfilters-filter-humans-description": "Уредувања направени од човечки уредници.",
+       "rcfilters-filtergroup-reviewstatus": "Провереност",
+       "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-categorization-description": "Записи од ставање на страници во категории или нивно отстранување од нив.",
        "rcfilters-filter-logactions-label": "Заведени дејства",
        "rcfilters-filter-logactions-description": "Административни постапки, создавања на сметки, бришења на страници, подигања...",
+       "rcfilters-hideminor-conflicts-typeofchange-global": "Филтерот „Ситни уредувања“ е спротиставен на еден или повеќе од филтрите за видови измена, бидејќи извеси видови не можат да се означат како ситни. Спротиставените филтри се означени во делот Неактивни филтри погоре.",
+       "rcfilters-hideminor-conflicts-typeofchange": "Извезни видови промени не можат да се означат како „ситни“, па затоа овој филтер е во спротиставеност со следниве филтри за видови промени: $1",
+       "rcfilters-typeofchange-conflicts-hideminor": "Овој филтер за видови промени е во спротиставеност со филтерот „Ситни уредувања“. Извсни видови промени не можат да се означат како „ситни“.",
        "rcnotefrom": "Подолу {{PLURAL:$5|е прикажана промената|се прикажани промените}} почнувајќи од <strong>$3, $4</strong>  (се прикажуваат до <b>$1</b>).",
        "rclistfrom": "Прикажи нови промени почнувајќи од $3 $2",
        "rcshowhideminor": "$1 ситни промени",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|поднови}} ознаки во преработката $4 на страницата $3 ({{PLURAL:$7|додадена|додадени}} $6; {{PLURAL:$9|отстранета|отстранети}} $8)",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|поднови}} ознаки во дневничкиот запис $5 на страницата $3 ({{PLURAL:$7|додадена|додадени}} $6; {{PLURAL:$9|отстранета|отстранети}} $8)",
        "rightsnone": "(нема)",
-       "revdelete-summary": "опис на уредување",
        "rightslogentry-temporary-group": "$1 (привремено, до $2)",
        "feedback-adding": "Го додавам искажаното мислење во страницата...",
        "feedback-back": "Назад",
index 864bdeb..a6ac26c 100644 (file)
        "login": "सनोंद-प्रवेश(लॉग-ईन)",
        "login-security": "तुमची ओळख पटवा",
        "nav-login-createaccount": "सनोंद-प्रवेश / सदस्यखाते उघडा",
-       "userlogin": "सनोंद-प्रवेश करा /सदस्यखाते उघडा",
-       "userloginnocreate": "सनोंद-प्रवेश",
        "logout": "सनोंद-निर्गम",
        "userlogout": "सनोंद-निर्गम",
        "notloggedin": "आपण सनोंद-प्रवेशित नाहीत",
        "userlogin-noaccount": "आपले खाते नाही?",
        "userlogin-joinproject": "{{SITENAME}}मध्ये सहभागी व्हा",
-       "nologin": "आपले सदस्यखाते नाही काय? $1.",
-       "nologinlink": "सदस्यखाते तयार करा",
        "createaccount": "नवीन खाते तयार करा",
-       "gotaccount": "पूर्वीचे खाते आहे? $1.",
-       "gotaccountlink": "सनोंद-प्रवेश करा",
-       "userlogin-resetlink": "सनोंद-प्रवेश तपशील विसरला असाल तर येथे टिचकी मारा.",
        "userlogin-resetpassword-link": "आपला परवलीचा शब्द विसरलात?",
        "userlogin-helplink2": "सनोंद प्रवेशासंबंधी साहाय्य",
        "userlogin-loggedin": "आपण पुर्वीच {{GENDER:$1|$1}} म्हणून सनोंद प्रवेशित आहात.वेगळ्या सदस्यनावाने सनोंद प्रवेशासाठी खालील आवेदन वापरा.",
        "createacct-another-email-ph": "आपला विपत्रपत्ता (ई-मेल) टाका",
        "createaccountmail": "तात्पुरता अनियत (रॅन्डम) परवलीचा शब्द तयार करून तो खाली नमूद विपत्रपत्त्यावर पाठवा",
        "createacct-realname": "खरे नाव (ऐच्छिक)",
-       "createaccountreason": "कारण:",
        "createacct-reason": "कारण",
        "createacct-reason-ph": "आपण दुसरे खाते कां बनवीत आहात",
        "createacct-submit": "आपले खाते निर्माण करा",
        "rcfilters-filter-editsbyother-label": "इतरांची संपादने",
        "rcfilters-filter-editsbyother-description": "इतर सदस्यांनी तयार केलेली संपादने (आपण नाही).",
        "rcfilters-filtergroup-userExpLevel": "अनुभवाचा स्तर (फक्त नोंदणीकृत सदस्यांसाठीच)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "नवागत",
-       "rcfilters-filter-userExpLevel-newcomer-description": "१० संपादनांपेक्षा कमी व ४ दिवसांची सक्रियता.",
-       "rcfilters-filter-userExpLevel-learner-label": "शिकाऊ",
+       "rcfilters-filter-user-experience-level-newcomer-label": "नवागत",
+       "rcfilters-filter-user-experience-level-newcomer-description": "१० संपादनांपेक्षा कमी व ४ दिवसांची सक्रियता.",
+       "rcfilters-filter-user-experience-level-learner-label": "शिकाऊ",
        "rcnotefrom": "खाली {{PLURAL:$5|हा बदल आहे|हे बदल आहेत}} <strong>$3, $4</strong>पासून ते(<strong>$1</strong>पर्यंतचे  बदल दाखविले आहेत).",
        "rclistfrom": "$2,$3 पासून सुरुवात करुन, नविन केल्या गेलेले बदल दाखवा.",
        "rcshowhideminor": "छोटे बदल $1",
        "htmlform-user-not-exists": "<strong>$1</strong> अस्तीत्वात नाही.",
        "htmlform-user-not-valid": "<strong>$1</strong> हे वैध सदस्यनाम नाही.",
        "logentry-delete-delete": "$1 {{GENDER:$2|वगळलेले पान}} $3",
+       "logentry-delete-delete_redir": "$1 ने $3 हे पुनर्निर्देशन उपरीलेखन(ओव्हररायटिंग) करून {{GENDER:$2|वगळले}}",
        "logentry-delete-restore": "$1 {{GENDER:$2|पुनर्स्थापित पृष्ठ}} $3",
        "logentry-delete-event": "$1 ने $3 वर{{PLURAL:$5|नोंद-प्रसंग|$5 नोंद प्रसंगांची}} दृष्यता{{GENDER:$2|बदलली}}:$4",
        "logentry-delete-revision": "$1 ने $3 पानावर{{PLURAL:$5|आवृत्ती|$5 आवृत्यांची}} दृष्यता{{GENDER:$2|बदलली}}:$4",
        "logentry-managetags-deactivate": "$1 ने  \"$4\" ही खूणपताका, सदस्यांसाठी व सांगकाम्यांसाठी {{GENDER:$2|अक्रिय केली}}",
        "log-name-tag": "खूणपताका नोंदी",
        "rightsnone": "(काहीही नाही)",
-       "revdelete-summary": "संपादन माहिती",
        "feedback-adding": "आपला पश्चप्रदाय (फिडबॅक)  जोडत आहोत या पानास.......",
        "feedback-back": "परत",
        "feedback-bugcheck": "उत्तम! फक्त एकदा खात्री करा की हा [$1 अगोदरच माहिती असलेला बग] तर नाहीये.",
index 1555a31..80b9b12 100644 (file)
        "password-change-forbidden": "ဤဝီကီတွင် စကားဝှက်များကို ပြောင်းလဲ၍ မရပါ။",
        "login": "Log in ဝင်ရန်",
        "nav-login-createaccount": "Log in ဝင်ရန်/ အကောင့် ဖန်တီးရန်",
-       "userlogin": "Log in ဝင်ရန်/ အကောင့် ဖန်တီးရန်",
-       "userloginnocreate": "Log in ဝင်ရန်",
        "logout": "ထွက်ရန်",
        "userlogout": "ထွက်ရန်",
        "notloggedin": "log in ဝင်မထားပါ",
        "userlogin-noaccount": "အကောင့် မရှိဘူးလား?",
        "userlogin-joinproject": "{{SITENAME}} ကို ချိတ်ဆက်ရန်",
-       "nologin": "အကောင့်မရှိဘဲ ဖြစ်နေပါသလား။ $1။",
-       "nologinlink": "အကောင့်တစ်ခု ဖန်တီးရန်",
        "createaccount": "အကောင့် ဖန်တီးရန်",
-       "gotaccount": "အကောင့်ရှိပြီးသားလား။ $1။",
-       "gotaccountlink": "Log in ဝင်ရန်",
-       "userlogin-resetlink": "Login ဝင်သည့် အသေးစိတ်တို့ကို မေ့သွားပါသလား?",
        "userlogin-resetpassword-link": "စကားဝှက် မေ့နေသလား?",
        "userlogin-helplink2": "log in အကူအညီ",
        "userlogin-loggedin": "သင်သည် {{GENDER:$1|$1}} အနေဖြင့် လော့အင်ဝင်ထားပြီး ဖြစ်သည်။ အခြားအသုံးပြုသူ အနေဖြင့် ဝင်ရောက်ရန် အောက်ပါပုံစံကို အသုံးပြုပါ။",
        "createacct-another-email-ph": "အီးမေး လိပ်စာ ရိုက်ထည့်ပါ",
        "createaccountmail": "ယာယီ ကျပန်းစကားဝှက်ကို သီးသန့် အီးမေးလ်လိပ်စာသို့ ပေးပို့အသုံးပြုရန်",
        "createacct-realname": "နာမည်ရင်း (ဖြည့်လိုက)",
-       "createaccountreason": "အ​ကြောင်း​ပြ​ချက် -",
        "createacct-reason": "အကြောင်းပြချက်",
        "createacct-reason-ph": "သင်ဘာကြောင့် အခြားအကောင့် ဖန်တီးချင်တာလဲ",
        "createacct-submit": "သင့်အကောင့်ကို ဖန်တီးရန်",
        "logentry-move-move": "$3 စာမျက်နှာကို $4 သို့ $1က {{GENDER:$2|ရွှေ့ခဲ့သည်}}",
        "logentry-move-move-noredirect": "$3 မှ $4 သို့ စာမျက်နှာကို ပြန်ညွှန်းချန်မထားဘဲ $1 {{GENDER:$2|က ရွှေ့ခဲ့သည်}}",
        "logentry-move-move_redir": "$3 စာမျက်နှာကို $4 သို့ ပြန်ညွှန်းပေါ်ထပ်၍ $1 က {{GENDER:$2|ရွှေ့ခဲ့သည်}}",
-       "logentry-move-move_redir-noredirect": "$3 မှ $4 သို့ ပြန်ညွှန်ပေါ်ထပ်အုပ်ကာ ပြန်ညွှန်းချန်မထားဘဲ $1 က {{GENDER:$2|ရွှေ့ခဲ့သည်}}",
+       "logentry-move-move_redir-noredirect": "$3 á\80\99á\80¾ $4 á\80\9eá\80­á\80¯á\80· á\80\95á\80¼á\80\94á\80ºá\80\8aá\80½á\80¾á\80\94á\80ºá\80¸á\80\95á\80±á\80«á\80ºá\80\91á\80\95á\80ºá\80¡á\80¯á\80\95á\80ºá\80\80á\80¬ á\80\95á\80¼á\80\94á\80ºá\80\8aá\80½á\80¾á\80\94á\80ºá\80¸á\80\81á\80»á\80\94á\80ºá\80\99á\80\91á\80¬á\80¸á\80\98á\80² $1 á\80\80 {{GENDER:$2|á\80\9bá\80½á\80¾á\80±á\80·á\80\81á\80²á\80·á\80\9eá\80\8aá\80º}}",
        "logentry-newusers-create": "အသုံးပြုသူအကောင့် $1 ကို {{GENDER:$2|ဖန်တီးခဲ့သည်}}",
        "logentry-newusers-autocreate": "အသုံးပြုသူအကောင့် $1 ကို အလိုအလျောက် {{GENDER:$2|ဖန်တီးခဲ့သည်}}",
        "logentry-upload-upload": "$1 သည် $3 ကို {{GENDER:$2|upload တင်ခဲ့သည်}}",
        "logentry-upload-overwrite": "$3 ၏ ဗားရှင်းအသစ်ကို $1 {{GENDER:$2|upload တင်ခဲ့သည်}}",
        "rightsnone": "(ဘာမှမရှိ)",
-       "revdelete-summary": "အကျဉ်းချုပ်ကို တည်းဖြတ်ရန်",
        "searchsuggest-search": "{{SITENAME}} တွင် ရှာဖွေရန်",
        "api-error-unknown-warning": "အမည်မသိ သတိပေးချက် - $1",
        "pagelanguage": "စာမျက်နှာ ဘာသာစကား ပြောင်းလဲရန်",
index ef4d79c..f3ed5cb 100644 (file)
@@ -8,7 +8,8 @@
                        "唐吉訶德的侍從",
                        "Luuva",
                        "Macofe",
-                       "進也"
+                       "進也",
+                       "Liuxinyu970226"
                ]
        },
        "tog-underline": "Liân-kiat oē té-sûn:",
@@ -36,7 +37,7 @@
        "tog-enotifminoredits": "Sió pian-chi̍p mā kià tiān-tsú-phue hōo guá.",
        "tog-enotifrevealaddr": "Hō͘ pat-lâng khoàⁿ ê tio̍h oá ê tiān-chú-phoe tē-chí",
        "tog-shownumberswatching": "Hián-sī tng leh khoàⁿ ê iōng-chiá sò͘-bo̍k",
-       "tog-oldsig": "Chit-má ê chhiam-miâ:",
+       "tog-oldsig": "Lí kì-sêng ê chhiam-miâ:",
        "tog-fancysig": "共我的簽名當做文章文字,(無需要自動連結)",
        "tog-uselivepreview": "Ēng sui khoàⁿ-māi",
        "tog-forceeditsummary": "Pian-chi̍p khài-iàu bô thiⁿ ê sî-chūn, kā goá thê-chhéⁿ",
@@ -51,9 +52,9 @@
        "tog-ccmeonemails": "Kià hō͘ pa̍t-lâng ê email sūn-soà kià copy hō͘ goá",
        "tog-diffonly": "Diff ē-pêng bián hián-sī ia̍h ê loē-iông",
        "tog-showhiddencats": "Hián-sī chhàng khí--lâi ê lūi-pia̍t",
-       "tog-norollbackdiff": "ká tńg-khí liáu bián-koán cheng-chha goā-chē",
+       "tog-norollbackdiff": "Ká tńg--khí liáu-āu mái tián-sī cheng-chha",
        "tog-useeditwarning": "Goá nā iáu-boē pó-chûn siu-kái--ê ia̍h tō thiàu khai, ài kā goá kóng.",
-       "tog-prefershttps": "我登入的時陣愛用安全連線",
+       "tog-prefershttps": "Teng-ji̍p ê sî lóng ēng an-choân liân-chiap",
        "underline-always": "Tiāⁿ-tio̍h",
        "underline-never": "Tiāⁿ-tio̍h mài",
        "underline-default": "Tòe liû-lám-khì ê siat-piān",
        "category-media-header": "Tī lūi-pia̍t \"$1\" ê mûi-thé",
        "category-empty": "''Chit-má chit ê lūi-pia̍t  bô ia̍h ia̍h-sī mûi-thé.''",
        "hidden-categories": "{{PLURAL:$1|Hidden category|Chhàng khí-lâi ê lūi-pia̍t}}",
-       "hidden-category-category": "Chhàng--khí-lâi ê lūi-piat",
+       "hidden-category-category": "Chhàng-bih lūi-pia̍t",
        "category-subcat-count": "{{PLURAL:$2|Chit ê lūi-piat chí-ū ē-bīn ê ē-lūi-pia̍t.|Chit ê lūi-piat ū ē-bīn {{PLURAL:$1| ê ē-lūi-piat|$1 ê ē-lūi-piat}}, choân-pō͘ $2 ê.}}",
        "category-subcat-count-limited": "Chit ê lūi-piat ū ē-bīn ê {{PLURAL:$1| ē-lūi-pia̍t|$1 ē-lūi-pia̍t}}.",
        "category-article-count": "{{PLURAL:$2|Chit ê lūi-piat chí-ū ē-bīn ê ia̍h.|Ē-bīn {{PLURAL:$1|bīn ia̍h sī|$1bīn ia̍h sī}} tī chit lūi-pia̍t, choân-pō͘ $2 bīn ia̍h}}",
        "newwindow": "(ē khui sin thang-á hián-sī)",
        "cancel": "Chhú-siau",
        "moredotdotdot": "Iáu-ū",
-       "morenotlisted": "這毋是完整的表",
+       "morenotlisted": "Chit-ê lia̍t-toaⁿ khó-lêng iáu bô-chiâu",
        "mypage": "Ia̍h",
        "mytalk": "Thó-lūn",
        "anontalk": "Thó-lūn",
        "tagline": "Ùi {{SITENAME}}",
        "help": "Soat-bêng-su",
        "search": "Chhiau-chhoē",
+       "search-ignored-headings": " #<!-- leave this line exactly as it is --> <pre>\n# Tī chhiau-chhōe tang-tiong m̄-chhap ê thâu-pō͘.\n# Tùi che ê piàn-keng ē tòe thâu-pō͘ hông sek-ín ê sî khai-sí chok-iōng.\n# Lí thang lī-ēng khang pian-chi̍p lâi kiông-chè ia̍h-bīn têng-sin sek-ín.\n# Àn-chiàu ē-té ê kù-hoat:\n#   * Só͘-ū tùi \"#\" khai-sí kàu jī-hâng bóe ê jī sī chi̍t-ê chù-kái.\n#   * Só͘-ū hui khang-pe̍h jī-hâng kui--ê tio̍h sī m̄ hông chhap ê tê-bo̍k, hâm tōa-sió-jī chāi-lāi ta̍k hāng lóng sī.\nChham-khó\nHiòng-gōa liân-kiat\nSiong-koan\n #</pre> <!-- leave this line exactly as it is -->",
        "searchbutton": "Chhoē",
        "go": "Lâi-khì",
        "searcharticle": "Lâi-khì",
        "history": "Ia̍h le̍k-sú",
        "history_short": "le̍k-sú",
+       "history_small": "le̍k-sú",
        "updatedmarker": "Téng hoê goá lâi chiah liáu ū kái koè--ê",
        "printableversion": "Ìn-soat pán-pún",
        "permalink": "Éng-kiú liân-kiat",
        "talk": "Thó-lūn",
        "views": "Khoàⁿ",
        "toolbox": "Ke-si",
+       "tool-link-userrights": "Piàn-keng {{GENDER:$1|iōng-chiá}} hun-cho͘",
+       "tool-link-userrights-readonly": "Khòaⁿ {{GENDER:$1|iōng-chiá}} hun-cho͘",
+       "tool-link-emailuser": "Email hō͘ chit ūi {{GENDER:$1|iōng-chiá}}",
        "userpage": "Khoàⁿ iōng-chiá ê Ia̍h",
        "projectpage": "Khoàⁿ sū-kang ia̍h",
        "imagepage": "Khoàⁿ tóng-àn ia̍h",
        "title-invalid-empty": "Só͘ iau-kiû ê ia̍h-bīn tê-bo̍k sī khang--ê he̍k-chiá kaⁿ-taⁿ hâm liáu miâ-khong-kan.",
        "title-invalid-utf8": "Só͘ iau-kiû ê ia̍h-bīn tê-bo̍k hâm liáu bô chiàⁿ-khak ê 1 lia̍t UTF-8 ê jī.",
        "title-invalid-interwiki": "Só͘ iau-kiû ê ia̍h-bīn tê-bo̍k pau-hâm liáu 1-ê bē-tàng ēng ùi tê-bo̍k ê interwiki liân-kiat.",
+       "title-invalid-talk-namespace": "Chhéng-kiû ê ia̍h-bīn tê-bo̍k chí-tēng liáu chi̍t phiⁿ bô hoat-tō͘ chûn-chāi ê thó-lūn-ia̍h.",
+       "title-invalid-characters": "Chhéng-kiû ê ia̍h-bīn tê-bo̍k hâm hâm bû-hāu ê bûn-jī: \"$1\".",
+       "title-invalid-relative": "Tê-bo̍k ū siong-tùi lō͘-kèng. Siong-tùi-sek ê ia̍h-bīn tê-bo̍k (./, ../) sī bû-hāu--ê, in-ūi iōng-chiá ê liû-lám-khì tiāⁿ thàng in bē kàu.",
+       "title-invalid-magic-tilde": "Chhéng-kiû ê ia̍h-bīn tê-bo̍k hâm bû-hāu ê mô͘-hoat tilde bûn-jī-lia̍t (<nowiki>~~~</nowiki>).",
+       "title-invalid-too-long": "Chhéng-kiû ia̍h-bīn ê tê-bo̍k siuⁿ tn̂g. I ê UTF-8 pian-bé it-tēng bē-tàng tn̂g kòe $1 {{PLURAL:$1|byte}}.",
+       "title-invalid-leading-colon": "Chhéng-kiû ia̍h-bīn tê-bo̍k thâu hâm bû-hāu ê tōa-kù-tiám (:)",
        "perfcached": "Ē-kha ê chu-liāu tùi lâi--ê, só·-í bô it-tēng sī siōng sin ê. Tī khoài-chhûn-khu siōng chē ē-tàng khǹg{{PLURAL:$1| pit|$1 pit}} chu-liāu.",
        "perfcachedts": "Ē-kha ê chu-liāu tùi lâi--ê, tī $1 keng-sin--koè. Tī khoài-chûn-khu siōng chē ē-tàng khǹg {{PLURAL:$4|pit|$4 pit}} chu-liāu.",
        "querypage-no-updates": "Chit-má bē-sái kái chit ia̍h.\nChia ê chu-liāu bē-tàng sui tiông-sin chéng-lí.",
        "viewsource": "Khoàⁿ goân-sú lōe-iông",
        "viewsource-title": "Khoàⁿ \"$1\"--ê goân-sú lōe-iông",
        "actionthrottled": "Tōng-chok hông tóng leh.",
-       "actionthrottledtext": "Ūi-tio̍h thê-hông lah-sap ê chhú-tì,  lí ū hông hān-chè tī té sî-kan lāi chò siuⁿ chē pái chit ê tōng-chok,  taⁿ lí í-keng chhiau-koè hān-chè.\nChhiáⁿ tī kúi hun-cheng hāu chiah koh chhì.",
+       "actionthrottledtext": "Ūi tio̍h thê-hông lām-iōng, lí hông hān-chè tī té sî-kan lāi chò siuⁿ chē pái pún khoán tōng-chok, taⁿ lí í-keng chhiau-koè hān-chè.\nChhiáⁿ tī kúi hun-cheng āu chiah koh chhì.",
        "protectedpagetext": "Chit ia̍h hông só tiâu leh, bē pian-chi̍p tit, mā bē-tàng chò kî-thaⁿ oa̍h-tāng.",
        "viewsourcetext": "Lí ē-sái khoàⁿ ia̍h khó͘-pih chit ia̍h ê goân-sú loē-iông:",
        "viewyourtext": "你會使看<strong>你改的</strong>原始碼,並且khop去這頁:",
        "password-change-forbidden": "Tī chit--ê wiki, lí boē-tàng kái bi̍t-bé.",
        "externaldberror": "這可能是資料庫驗證錯誤,抑是無允准你改外部的口座。",
        "login": "Teng-ji̍p",
+       "login-security": "Khak-jīn lí ê sin-hūn",
        "nav-login-createaccount": "Teng-ji̍p / khui sin kháu-chō",
-       "userlogin": "Teng-ji̍p / khui sin kháu-chō",
-       "userloginnocreate": "Teng-ji̍p",
        "logout": "Teng-chhut",
        "userlogout": "Teng-chhut",
        "notloggedin": "Bô teng-ji̍p",
        "userlogin-noaccount": "Káⁿ bô kháu-chō?",
        "userlogin-joinproject": "Ka-ji̍p {{SITENAME}}",
-       "nologin": "Bô kháu-chō thang teng-ji̍p? $1",
-       "nologinlink": "Khui 1 ê kháu-chō",
        "createaccount": "Khui sin kháu-chō",
-       "gotaccount": "Í-keng ū kháu-chō? '''$1'''.",
-       "gotaccountlink": "Teng-ji̍p",
-       "userlogin-resetlink": "你敢袂記得你登入的資料?",
        "userlogin-resetpassword-link": "Bi̍t-bé boē-kì-tit?",
        "userlogin-helplink2": "Pang-chān goá teng-ji̍p",
        "userlogin-loggedin": "你已經用{{GENDER:$1|$1}}登入,用下跤的表,登入別个名。",
        "createacct-another-email-ph": "Phah lí--ê tiān-chú-phoe tē-chí",
        "createaccountmail": "Iōng chi̍t-ê lîm-sî loān-sò͘ sán-seng ê bi̍t-bé , kià khì goá chí-tēng ê tiān-chú-phoe tē-chí.",
        "createacct-realname": "真正的名",
-       "createaccountreason": "Lí-iû:",
        "createacct-reason": "理由:",
        "createacct-reason-ph": "為啥物你欲開一另外一个口座?",
        "createacct-submit": "Khui lí--ê kháu-chō",
-       "createacct-another-submit": "開另外一个口座",
+       "createacct-another-submit": "Chhòng-kiàn kháu-chō",
+       "createacct-continue-submit": "Kè-sio̍k kháu-chō chhòng-kiàn",
+       "createacct-another-continue-submit": "Kè-sio̍k kháu-chō chhòng-kiàn",
        "createacct-benefit-heading": "{{SITENAME}} sī uī tio̍h chhin-chhiūⁿ lí--ê lâng chiah lâi kiàn-li̍p--ê.",
-       "createacct-benefit-body1": "kái {{PLURAL:$1|pái|pái}}",
-       "createacct-benefit-body2": "{{PLURAL:$1|ia̍h|ia̍h}}",
+       "createacct-benefit-body1": "{{PLURAL:$1|pian-chi̍p}}",
+       "createacct-benefit-body2": "{{PLURAL:$1|ia̍h}}",
        "createacct-benefit-body3": "choè-kīn {{PLURAL:$1|ê lâng ū kòng-hiàn|ê lâng ū kòng-hiàn}}",
        "badretype": "Lí su-ji̍p ê 2-cho· bi̍t-bé bô tùi.",
        "userexists": "Lí phah ê iōng-chiá miâ-chheng í-keng ū lâng iōng. Chhiáⁿ lí iōng pa̍t-ê miâ.",
        "emailnotauthenticated": "Lí ê e-mail chū-chí iáu-bōe khak-jīn ū-hāu, só·-í ē--kha ê e-mail kong-lêng bē-ēng-tit.",
        "noemailprefs": "Tī lí ê siat-piān chí-tēng chi̍t ê tiān-chú-phoe tē-chí thang hō͘ chia ê kong-lêng ē-tàng ēng.",
        "emailconfirmlink": "Chhiáⁿ khak-jīn lí ê e-mail chū-chí ū-hāu",
+       "accountcreated": "Kháu-chō chhòng-kiàn goân-sêng",
+       "createaccount-title": "Ūi {{SITENAME}} khui kháu-chō",
        "loginlanguagelabel": "Gí-giân: $1",
        "pt-login": "Teng-ji̍p",
        "pt-login-button": "Teng-ji̍p",
        "oldpassword": "Kū bi̍t-bé:",
        "newpassword": "Sin bi̍t-bé:",
        "retypenew": "Têng phah sin bi̍t-bé:",
+       "botpasswords-label-appid": "Bot miâ-hō:",
+       "botpasswords-label-create": "Chhòng-kiàn",
+       "botpasswords-label-update": "Kái-sin",
+       "botpasswords-label-cancel": "Chhú-siau",
+       "botpasswords-label-delete": "Thâi-tiāu",
        "resetpass_forbidden": "Bi̍t-bé bē-sái piàn.",
        "resetpass-submit-loggedin": "Kái bi̍t-bé",
        "resetpass-submit-cancel": "Chhú-siau",
        "sig_tip": "Lí ê chhiam-miâ kap sî-kan ìn-á",
        "hr_tip": "Thán-pîⁿ-chōa (hàn leh ēng)",
        "summary": "Khài-iàu:",
-       "subject": "Tê-bo̍k/piau-tê:",
+       "subject": "Tê-bo̍k:",
        "minoredit": "Che sī sió siu-kái",
        "watchthis": "Kàm-sī chit ia̍h",
        "savearticle": "Pó-chûn chit ia̍h",
        "previewnote": "'''Thê-chhéⁿ lí che sī 1 bīn kiám-cha chho͘-phe ēng--ê \"seng-khoàⁿ-ia̍h\", iáu-bōe pó-chûn--khí-lâi!'''",
        "session_fail_preview": "'''Pháiⁿ-sè! Gún chiām-sî bô hoat-tō͘ chhú-lí lí ê pian-chi̍p (goân-in: \"phàng-kiàn sú-iōng kî-kan ê chu-liāu\"). Lô-hoân têng chhì khoàⁿ-māi. Ká-sú iû-goân bô-hāu, ē-sái teng-chhut koh-chài teng-ji̍p hoān-sè tō ē-tit kái-koat.'''",
        "editing": "Siu-kái $1",
+       "creating": "Chhòng-kiàn $1",
        "editingsection": "Pian-chi̍p $1 (section)",
        "editingcomment": "Teh pian-chi̍p $1 (lâu-oē)",
        "editconflict": "Siu-kái sio-chhiong: $1",
        "search-nonefound": "Chhoē m̄ tio̍h",
        "powersearch-legend": "Kiám-sek",
        "preferences": "Siat-tēng",
-       "mypreferences": "Góa ê siat-tēng",
+       "mypreferences": "Siat-tēng",
        "prefs-skin": "Phôe",
        "skin-preview": "Chhì khoàⁿ",
        "datedefault": "Chhìn-chhái",
        "pager-newer-n": "khah sin ê $1 hāng",
        "pager-older-n": "khah kū ê $1 hāng",
        "booksources": "Tô͘-su chu-liāu",
+       "magiclink-tracking-rfc": "Sú-iōng RFC mô͘-hoat liân-kiat ê ia̍h",
+       "magiclink-tracking-pmid": "Sú-iōng PMID mô͘-hoat liân-kiat ê ia̍h",
+       "magiclink-tracking-isbn": "Sú-iōng ISBN mô͘-hoat liân-kiat ê ia̍h",
        "specialloguserlabel": "做的人:",
        "speciallogtitlelabel": "目地(標題抑是用者)",
        "log": "記錄",
        "emailsent": "E-mail sàng chhut-khì ah",
        "emailsenttext": "Lí ê e-mail í-keng sàng chhut-khì ah.",
        "watchlist": "Góa ê kàm-sī-toaⁿ",
-       "mywatchlist": "Góa ê kàm-sī-toaⁿ",
+       "mywatchlist": "Kam-sī-toaⁿ",
        "watchlistfor2": "予$1 $2",
        "nowatchlist": "Lí ê kàm-sī-toaⁿ bô pòaⁿ hāng.",
        "watchnologin": "Bô teng-ji̍p",
        "tooltip-invert": "勾起來的框;相關的名空間會先藏起來。",
        "namespace_association": "相關的名空間",
        "tooltip-namespace_association": "勾起來的框;相關的討論抑物件空間會包括入來",
-       "blanknamespace": "(Thâu-ia̍h)",
+       "blanknamespace": "(Chú-ia̍h)",
        "contributions": "{{GENDER:$1|Iōng-chiá}} ê kòng-hiàn",
        "contributions-title": "Iōng-chiá $1--ê kòng-hiàn",
-       "mycontris": "Góa ê kòng-hiàn",
+       "mycontris": "Kòng-hiàn",
        "anoncontribs": "Kòng-hiān",
        "nocontribs": "Chhōe bô tiâu-kiāⁿ ū-tùi ê hāng-bo̍k.",
        "uctop": "(siōng téng ê)",
        "sp-contributions-newbies": "Kan-taⁿ hián-sī sin kháu-chō ê kòng-kiàn",
        "sp-contributions-newbies-sub": "Sin lâi--ê",
        "sp-contributions-deleted": "Hō͘ lâng thâi tiāu ê kòng-hiàn",
+       "sp-contributions-uploads": "Ap-ló͘",
        "sp-contributions-talk": "thó-lūn",
        "sp-contributions-search": "Chhoē chhut kòng-kiàn",
        "sp-contributions-username": "IP Chū-chí a̍h iōng-chiá miâ:",
        "confirmemail_body_changed": "Ū lâng (IP $1, tāi-khài sī lí pún-lâng) tī {{SITENAME}} ēng chit-ê e-mail chū-chí chù-chheh 1 ê kháu-chō \"$2\".\n\nChhiáⁿ khui ē-kha chit-ê liân-kiat, thang khak-jīn chit-ê kháu-chō si̍t-chāi sī lí ê:\n\n$3\n\nNā-chún *m̄-sī* lí, chhiáⁿ khui ē-kha chit-ê liân-kiat,  chhú-siau khak-jīn ê e-mail.\n\n$5\n\nChit tiuⁿ phoe ê khak-jīn-bé ē chū-tōng tī $4 kòe-kî.",
        "confirmemail_body_set": "Ū lâng (IP $1, tāi-khài sī lí pún-lâng) tī {{SITENAME}} ēng chit-ê e-mail chū-chí chù-chheh 1 ê kháu-chō \"$2\".\n\nChhiáⁿ khui ē-kha chit-ê liân-kiat, thang khak-jīn chit-ê kháu-chō si̍t-chāi sī lí ê:\n\n$3\n\nNā-chún *m̄-sī* lí, chhiáⁿ khui ē-kha chit-ê liân-kiat,  chhú-siau khak-jīn ê e-mail.\n\n$5\n\nChit tiuⁿ phoe ê khak-jīn-bé ē chū-tōng tī $4 kòe-kî.",
        "confirm-purge-top": "Kā chit ia̍h ê cache piàⁿ tiāu?",
+       "colon-separator": ":&#32;",
        "table_pager_next": "Aū-chi̍t-ia̍h",
        "table_pager_prev": "Téng-chi̍t-ia̍h",
        "table_pager_first": "Thâu-chi̍t-ia̍h",
index 445a36e..cff7a06 100644 (file)
        "login": "Logg inn",
        "login-security": "Bekreft identiteten din",
        "nav-login-createaccount": "Logg inn eller opprett en konto",
-       "userlogin": "Logg inn eller opprett en konto",
-       "userloginnocreate": "Logg inn",
        "logout": "Logg ut",
        "userlogout": "Logg ut",
        "notloggedin": "Ikke logget inn",
        "userlogin-noaccount": "Ingen konto?",
        "userlogin-joinproject": "Bli med i {{SITENAME}}",
-       "nologin": "Har du ingen konto? $1.",
-       "nologinlink": "Opprett en konto",
        "createaccount": "Opprett konto",
-       "gotaccount": "Har du allerede en konto? $1.",
-       "gotaccountlink": "Logg inn",
-       "userlogin-resetlink": "Har du glemt påloggingsdetaljene dine?",
        "userlogin-resetpassword-link": "Glemt passordet?",
        "userlogin-helplink2": "Hjelp med innlogging",
        "userlogin-loggedin": "Du er allerede logget inn som {{GENDER:$1|$1}}.\nBruk skjemaet nedenfor for å logge inn som en annen bruker.",
        "createaccountmail": "Bruk et midlertidig, tilfeldig passord, og send det til angitt e-postadresse",
        "createaccountmail-help": "Kan brukes til å opprette en konto for en annen person uten at du får vite passordet.",
        "createacct-realname": "Virkelig navn (valgfritt)",
-       "createaccountreason": "Årsak:",
        "createacct-reason": "Årsak",
        "createacct-reason-ph": "Hvorfor lager du en annen bruker",
        "createacct-reason-help": "Beskjed vist i kontoopprettelsesloggen",
        "page_first": "første",
        "page_last": "siste",
        "histlegend": "Valg av diff: merk i radioboksene de revisjonene du ønsker å sammenligne og trykk enter eller knappen nederst på siden.<br />\nForklaring: '''({{int:cur}})''' = forskjell fra nåværende revisjon, '''({{int:last}})''' = forskjell fra foregående revisjon, '''{{int:minoreditletter}}''' = mindre endring.",
-       "history-fieldset-title": "Bla i historikken",
-       "history-show-deleted": "Kun slettede",
+       "history-fieldset-title": "Søk etter revisjoner",
+       "history-show-deleted": "Kun slettede revisjoner",
        "histfirst": "eldste",
        "histlast": "nyeste",
        "historysize": "({{PLURAL:$1|1 byte|$1 byte}})",
        "prefs-help-prefershttps": "Denne preferansen vil virke etter neste innlogging.",
        "prefswarning-warning": "Du har gjort endringer i dine innstillinger som ikke er lagret ennå.\nDersom du forlater denne siden utenk å klikke på \"$1\" blir ikke innstillingene dine oppdatert.",
        "prefs-tabs-navigation-hint": "Tips: Du kan bruke venstre- og høyrepiltastene for å navigere mellom fanene i fanelisten",
-       "userrights": "Bruker&shy;rettighets&shy;kontroll",
+       "userrights": "Bruker&shy;rettigheter",
        "userrights-lookup-user": "Velg en bruker",
        "userrights-user-editname": "Fyll inn et brukernavn:",
        "editusergroup": "Last brukergrupper",
        "rcfilters-invalid-filter": "Ugyldig filter",
        "rcfilters-empty-filter": "Ingen aktive filtre. Alle bidrag vises.",
        "rcfilters-filterlist-title": "Filtre",
+       "rcfilters-filterlist-whatsthis": "Hva er dette?",
        "rcfilters-filterlist-feedbacklink": "Gi tilbakemelding på de nye (beta)filtrene",
        "rcfilters-highlightbutton-title": "Marker resultater",
        "rcfilters-highlightmenu-title": "Velg en farge",
+       "rcfilters-highlightmenu-help": "Velg en farge for å merke denne egenskapen",
        "rcfilters-filterlist-noresults": "Ingen filtre funnet",
+       "rcfilters-noresults-conflict": "Ingen resultater funnet fordi søkekriteriene konflikterer",
+       "rcfilters-state-message-subset": "Dette filteret har ingen effekt fordi resultatene dens inkluderes i følgende, bredere {{PLURAL:$2|filter|filtre}} (prøv å merke for å skille det ut): $1",
+       "rcfilters-state-message-fullcoverage": "Å velge alle filtre i en gruppe er det samme som å velge ingen, så dette filteret har ingen effekt. Gruppa inkluderer: $1",
        "rcfilters-filtergroup-registration": "Brukerregistrering",
        "rcfilters-filter-registered-label": "Registrerte",
        "rcfilters-filter-registered-description": "Innloggede brukere.",
        "rcfilters-filter-unregistered-label": "Uregistrerte",
        "rcfilters-filter-unregistered-description": "Brukere som ikke er logget inn.",
+       "rcfilters-filter-unregistered-conflicts-user-experience-level": "Dette filteret konflikterer med følgende {{PLURAL:$2|erfaringsfilter|erfaringsfiltre}}, som finner kun registrerte brukere: $1",
        "rcfilters-filtergroup-authorship": "Redigeringens forfatter",
        "rcfilters-filter-editsbyself-label": "Dine egne redigeringer",
        "rcfilters-filter-editsbyself-description": "Redigeringer gjort av deg.",
        "rcfilters-filter-editsbyother-label": "Redigeringer av andre",
        "rcfilters-filter-editsbyother-description": "Redigeringer som er gjort av andre brukere enn deg.",
        "rcfilters-filtergroup-userExpLevel": "Erfaringsnivå (kun for registrerte brukere)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "Nykommere",
-       "rcfilters-filter-userExpLevel-newcomer-description": "Færre enn 10 redigeringer og 4 dagers aktivitet.",
-       "rcfilters-filter-userExpLevel-learner-label": "Nybegynnere",
-       "rcfilters-filter-userExpLevel-learner-description": "Flere dagers aktivitet enn «Nykommere», men mindre enn «Erfarne brukere».",
-       "rcfilters-filter-userExpLevel-experienced-label": "Erfarne brukere",
-       "rcfilters-filter-userExpLevel-experienced-description": "Mer enn 30 dagers aktivitet og 500 redigeringer.",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered": "Erfaringsfiltre finner kun registrerte brukere, så dette filteret konflikterer med filteret «Uregistrerte».",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered-global": "Filteret «Uregistrerte» konflikterer med ett eller flere erfaringsfiltre, som kun finner registrerte brukere. De konflikterende filtrene merkes i området for aktive filtre ovenfor.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Nykommere",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Færre enn 10 redigeringer og 4 dagers aktivitet.",
+       "rcfilters-filter-user-experience-level-learner-label": "Nybegynnere",
+       "rcfilters-filter-user-experience-level-learner-description": "Flere dagers aktivitet enn «Nykommere», men mindre enn «Erfarne brukere».",
+       "rcfilters-filter-user-experience-level-experienced-label": "Erfarne brukere",
+       "rcfilters-filter-user-experience-level-experienced-description": "Mer enn 30 dagers aktivitet og 500 redigeringer.",
        "rcfilters-filtergroup-automated": "Automatiske bidrag",
        "rcfilters-filter-bots-label": "Bot",
        "rcfilters-filter-bots-description": "Redigeringer gjort med automatiske verktøy.",
        "rcfilters-filter-humans-label": "Menneske (ikke bot)",
        "rcfilters-filter-humans-description": "Redigeringer gjort av menneskelige brukere.",
+       "rcfilters-filtergroup-reviewstatus": "Gjennomgangsstatus",
+       "rcfilters-filter-patrolled-label": "Patruljert",
+       "rcfilters-filter-patrolled-description": "Redigeringer merket som patruljert.",
+       "rcfilters-filter-unpatrolled-label": "Upatruljert",
+       "rcfilters-filter-unpatrolled-description": "Redigeringer som ikke er merket som patruljert.",
        "rcfilters-filtergroup-significance": "Betydning",
        "rcfilters-filter-minor-label": "Mindre endringer",
        "rcfilters-filter-minor-description": "Redigeringer merket som mindre av brukeren.",
        "rcfilters-filter-categorization-description": "Sporer sider som legges til i eller fjernes fra kategorier.",
        "rcfilters-filter-logactions-label": "Loggførte handlinger",
        "rcfilters-filter-logactions-description": "Administrative handlinger, kontoopprettelser, sideslettinger, opplastinger ...",
+       "rcfilters-hideminor-conflicts-typeofchange-global": "Filteret for «Mindre endringer» konflikterer med ett eller flere endringstypefiltre, fordi visse endringstyper ikke kan merkes som «mindre». De konflikterende fultrene merkes i området for aktive filtre ovenfor.",
+       "rcfilters-hideminor-conflicts-typeofchange": "Visse endringstyper kan ikke merkes som «mindre», så dette filteret konflikterer med følgende endringstypefiltre: $1",
+       "rcfilters-typeofchange-conflicts-hideminor": "Dette endringstypefilteret konflikterer med filteret for «Mindre endringer». Visse endringstyper kan ikke merkes som «mindre».",
        "rcnotefrom": "Nedenfor er vist {{PLURAL:$5|endringen|endringene}} som er gjort siden <strong>$3, $4</strong> (frem til <strong>$1</strong>).",
        "rclistfrom": "Vis nye endringer fra og med $3 $2",
        "rcshowhideminor": "$1 mindre endringer",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|oppdaterte}} merker på revisjonen $4 av siden $3\n({{PLURAL:$7|la til}} $6; {{PLURAL:$9|fjernet}} $8)",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|oppdaterte}} merker på loggposten $5 til siden $3\n({{PLURAL:$7|la til}} $6; {{PLURAL:$9|fjernet}} $8)",
        "rightsnone": "(ingen)",
-       "revdelete-summary": "redigeringssammendrag",
        "rightslogentry-temporary-group": "$1 (midlertidig, til $2)",
        "feedback-adding": "Tilføyer tilbakmelding til side ...",
        "feedback-back": "Tilbake",
index ea443c5..7289450 100644 (file)
@@ -84,7 +84,8 @@
                        "Xxmarijnw",
                        "Mainframe98",
                        "QZanden",
-                       "Huhbakker"
+                       "Huhbakker",
+                       "Jos1950"
                ]
        },
        "tog-underline": "Verwijzingen onderstrepen:",
        "login": "Aanmelden",
        "login-security": "Uw identiteit controleren",
        "nav-login-createaccount": "Aanmelden / registreren",
-       "userlogin": "Aanmelden / registreren",
-       "userloginnocreate": "Aanmelden",
        "logout": "Afmelden",
        "userlogout": "Afmelden",
        "notloggedin": "Niet aangemeld",
        "userlogin-noaccount": "Hebt u geen account?",
        "userlogin-joinproject": "Word lid van {{SITENAME}}",
-       "nologin": "Hebt u geen account? $1.",
-       "nologinlink": "Registreren",
        "createaccount": "Registreren",
-       "gotaccount": "Hebt u al een account? $1.",
-       "gotaccountlink": "Aanmelden",
-       "userlogin-resetlink": "Bent u uw aanmeldgegevens vergeten?",
        "userlogin-resetpassword-link": "Wachtwoord vergeten?",
        "userlogin-helplink2": "Hulp bij aanmelden",
        "userlogin-loggedin": "U bent al aangemeld als {{GENDER:$1|$1}}.\nGebruik het onderstaande formulier om aan te melden als een andere gebruiker.",
        "createaccountmail": "Gebruik een tijdelijk willekeurig wachtwoord en stuur het naar het opgegeven e-mailadres",
        "createaccountmail-help": "Kan worden gebruikt voor het aanmaken van een gebruiker voor een andere persoon zonder het wachtwoord te leren.",
        "createacct-realname": "Echte naam (optioneel)",
-       "createaccountreason": "Reden:",
        "createacct-reason": "Reden",
        "createacct-reason-ph": "Waarom u een andere account aanmaakt",
        "createacct-reason-help": "Weergegeven bericht in het logbestand van aangemaakte gebruikers",
        "login-migrated-generic": "Uw gebruikersnaam is hernoemd, en uw gebruikersnaam bestaat niet langer op deze wiki.",
        "loginlanguagelabel": "Taal: $1",
        "suspicious-userlogout": "Uw verzoek om af te melden is genegeerd, omdat het lijkt alsof het verzoek is verzonden door een browser of cacheproxy die stuk is.",
-       "createacct-another-realname-tip": "Echte naam is optioneel.\nAls u deze opgeeft, wordt deze naam gebruikt worden om u erkenning te geven voor uw werk.",
+       "createacct-another-realname-tip": "Een echte naam is optioneel.\nAls u deze opgeeft, wordt deze naam gebruikt ter erkenning voor uw werk.",
        "pt-login": "Aanmelden",
        "pt-login-button": "Aanmelden",
        "pt-login-continue-button": "Doorgaan met aanmelden",
        "page_first": "eerste",
        "page_last": "laatste",
        "histlegend": "Selectie voor verschillen: selecteer de te vergelijken versies en toets ENTER of de knop onderaan.<br />\nVerklaring afkortingen: '''({{int:cur}})''' = verschil met huidige versie, '''({{int:last}})''' = verschil met voorgaande versie, '''{{int:minoreditletter}}''' = kleine wijziging",
-       "history-fieldset-title": "Door geschiedenis bladeren",
-       "history-show-deleted": "Alleen verwijderd",
+       "history-fieldset-title": "Naar versies zoeken",
+       "history-show-deleted": "Alleen verwijderde versies",
        "histfirst": "oudste",
        "histlast": "nieuwste",
        "historysize": "({{PLURAL:$1|1 byte|$1 bytes}})",
        "prefs-help-prefershttps": "Deze voorkeur wordt toegepast bij de volgende keer aanmelden.",
        "prefswarning-warning": "U heeft deze wijzigingen gemaakt in uw voorkeuren die nog niet opgeslagen zijn. Wanneer u de pagina verlaat zonder op \"$1\" te klikken worden uw voorkeuren niet bijgewerkt.",
        "prefs-tabs-navigation-hint": "Tip: u kunt de pijltjestoetsen naar links en naar rechts gebruiken om te navigeren tussen de tabbladen in de lijst.",
-       "userrights": "Gebruikersrechtenbeheer",
+       "userrights": "Gebruikersrechten",
        "userrights-lookup-user": "Een gebruiker selecteren",
        "userrights-user-editname": "Voer een gebruikersnaam in:",
        "editusergroup": "Gebruikersgroepen wijzigen",
        "rcfilters-invalid-filter": "Ongeldig filter",
        "rcfilters-empty-filter": "Geen actieve filters. Alle bijdragen worden weergeven.",
        "rcfilters-filterlist-title": "Filters",
+       "rcfilters-filterlist-whatsthis": "Wat is dit?",
        "rcfilters-filterlist-feedbacklink": "Geef feedback op de nieuwe (beta) filters",
        "rcfilters-highlightbutton-title": "Resultaten markeren",
        "rcfilters-highlightmenu-title": "Kies een kleur",
+       "rcfilters-highlightmenu-help": "Selecteer een kleur om deze eigenschap uit te lichten",
        "rcfilters-filterlist-noresults": "Geen filters gevonden",
+       "rcfilters-noresults-conflict": "Geen resultaten gevonden omdat de zoekcriteria met elkaar conflicteren",
        "rcfilters-filtergroup-registration": "Gebruikers-registratie",
        "rcfilters-filter-registered-label": "Geregistreerd",
        "rcfilters-filter-registered-description": "Ingelogde gebruikers.",
        "rcfilters-filter-unregistered-label": "Niet-geregistreerd",
        "rcfilters-filter-unregistered-description": "Gebruikers die niet zijn ingelogd.",
+       "rcfilters-filter-unregistered-conflicts-user-experience-level": "Het \"Niet geregistreerd\" filter is niet actief, omdat het effect ongedaan wordt gemaakt door de volgende {{PLURAL:$2|filter|filters}} die alleen geregistreerde gebruikers {{PLURAL:$2|vindt|vinden}}: $1",
        "rcfilters-filtergroup-authorship": "Bewerken auteurschap",
        "rcfilters-filter-editsbyself-label": "Uw eigen bewerkingen",
        "rcfilters-filter-editsbyself-description": "Bewerkingen door u.",
        "rcfilters-filter-editsbyother-label": "Bewerkingen door anderen",
        "rcfilters-filter-editsbyother-description": "Bewerkingen die gemaakt zijn door andere gebruikers (niet door uzelf).",
        "rcfilters-filtergroup-userExpLevel": "Gebruikerservarings niveau (alleen voor geregistreerde gebruikers)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "Nieuwkomers",
-       "rcfilters-filter-userExpLevel-newcomer-description": "Minder dan 10 bewerkingen en 4 dagen van activiteit.",
-       "rcfilters-filter-userExpLevel-learner-label": "Leerlingen",
-       "rcfilters-filter-userExpLevel-learner-description": "Meer dagen van activiteit en bewerkingen dan \"Nieuwkomers\", maar minder dan \"Ervaren gebruikers\".",
-       "rcfilters-filter-userExpLevel-experienced-label": "Ervaren gebruikers",
-       "rcfilters-filter-userExpLevel-experienced-description": "Meer dan 30 dagen van activiteit en 500 bewerkingen.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Nieuwkomers",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Minder dan 10 bewerkingen en 4 dagen van activiteit.",
+       "rcfilters-filter-user-experience-level-learner-label": "Leerlingen",
+       "rcfilters-filter-user-experience-level-learner-description": "Meer dagen van activiteit en bewerkingen dan \"Nieuwkomers\", maar minder dan \"Ervaren gebruikers\".",
+       "rcfilters-filter-user-experience-level-experienced-label": "Ervaren gebruikers",
+       "rcfilters-filter-user-experience-level-experienced-description": "Meer dan 30 dagen van activiteit en 500 bewerkingen.",
        "rcfilters-filtergroup-automated": "Automatische bijdragen",
        "rcfilters-filter-bots-label": "Bot",
        "rcfilters-filter-bots-description": "De wijzigingen van geautomatiseerde hulpmiddelen.",
        "rcfilters-filter-humans-label": "Menselijk (geen bot)",
        "rcfilters-filter-humans-description": "Bewerkingen door menselijke bewerkers.",
+       "rcfilters-filter-patrolled-label": "Gecontroleerd",
+       "rcfilters-filter-patrolled-description": "Bewerkingen gemarkeerd als gecontroleerd.",
+       "rcfilters-filter-unpatrolled-label": "Niet gecontroleerd",
+       "rcfilters-filter-unpatrolled-description": "Bewerkingen die niet zijn gemarkeerd als gecontroleerd.",
        "rcfilters-filtergroup-significance": "Belangrijkheid",
        "rcfilters-filter-minor-label": "Kleine bewerkingen",
        "rcfilters-filter-minor-description": "Bewerkingen die door de bewerker zijn gelabeld als klein.",
        "logentry-tag-update-revision": "$1 heeft de labels van versie $4 van pagina $3  {{GENDER:$2|bijgewerkt}} ($6 {{PLURAL:$7|toegevoegd}}; $8 {{PLURAL:$9|verwijderd}})",
        "logentry-tag-update-logentry": "$1 heeft de labels van logboekregel $5 van pagina $3 {{GENDER:$2|bijgewerkt}} ($6 {{PLURAL:$7|toegevoegd}}; $8 {{PLURAL:$9|verwijderd}})",
        "rightsnone": "(geen)",
-       "revdelete-summary": "bewerkingssamenvatting",
        "rightslogentry-temporary-group": "$1 (tijdelijk, tot $2)",
        "feedback-adding": "Uw terugkoppeling wordt aan de pagina toegevoegd...",
        "feedback-back": "Terug",
index 2f90dc6..38debcb 100644 (file)
        "login": "Logg inn",
        "login-security": "Stadfest identiteten din",
        "nav-login-createaccount": "Lag brukarkonto / logg inn",
-       "userlogin": "Lag brukarkonto / logg inn",
-       "userloginnocreate": "Logg inn",
        "logout": "Logg ut",
        "userlogout": "Logg ut",
        "notloggedin": "Ikkje innlogga",
        "userlogin-noaccount": "Har du ingen konto?",
        "userlogin-joinproject": "Vert med på {{SITENAME}}",
-       "nologin": "Har du ingen brukarkonto? $1.",
-       "nologinlink": "Registrer deg",
        "createaccount": "Opprett ny konto",
-       "gotaccount": "Har du ein brukarkonto? '''$1'''.",
-       "gotaccountlink": "Logg inn",
-       "userlogin-resetlink": "Har du gløymd påloggingsopplysingane dine?",
        "userlogin-resetpassword-link": "Gløymt passordet ditt?",
        "userlogin-helplink2": "Hjelp med innlogging",
        "userlogin-loggedin": "Du er alt innlogga som {{GENDER:$1|$1}}.\nNytt skjemaet nedanfor for å logga inn som ein annan brukar.",
        "createaccountmail": "Bruk eit mellombels tilfeldig passord og send det til den oppgjevne e-postadressa",
        "createaccountmail-help": "Kan nyttast til å opprette konto for ein annan person utan å lære passordet deira.",
        "createacct-realname": "Sant namn (valfritt)",
-       "createaccountreason": "Årsak:",
        "createacct-reason": "Årsak",
        "createacct-reason-ph": "Kvifor du lagar ein ny konto",
        "createacct-submit": "Opprett kontoen din",
        "cantcreateaccount-text": "Kontooppretting frå denne IP-adressa ('''$1''') er blokkert av [[User:$3|$3]].\n\nGrunnen som vart gjeven av $3 er ''$2''",
        "viewpagelogs": "Vis loggane for sida",
        "nohistory": "Det finst ikkje nokon historikk for denne sida.",
-       "currentrev": "Versjonen no",
-       "currentrev-asof": "Versjonen no frå $1",
+       "currentrev": "Siste versjonen",
+       "currentrev-asof": "Siste versjonen frå $1",
        "revisionasof": "Versjonen frå $1",
        "revision-info": "Versjonen frå $1 av {{GENDER:$6|$2}}$7",
        "previousrevision": "← Eldre versjon",
        "nextrevision": "Nyare versjon →",
-       "currentrevisionlink": "Versjonen no",
+       "currentrevisionlink": "Siste versjonen",
        "cur": "no",
        "next": "neste",
        "last": "førre",
        "logentry-upload-upload": "$1 {{GENDER:$2|lasta opp}} $3",
        "log-name-tag": "Merkelogg",
        "rightsnone": "(ingen)",
-       "revdelete-summary": "Samandrag",
        "feedback-adding": "Legg til attendemeldinga til sida...",
        "feedback-bugcheck": "Bra! No lyt du berre sjå etter om han er ein av dei [$1 kjende feila].",
        "feedback-bugnew": "Eg såg etter. Rapporter ein ny feil",
        "mw-widgets-titleinput-description-new-page": "sida finst ikkje enno",
        "mw-widgets-titleinput-description-redirect": "omdiriger til $1",
        "randomrootpage": "Tilfeldig rotsida",
+       "log-action-filter-rights": "Type endring av rettar:",
        "authmanager-userdoesnotexist": "Brukarkontoen «$1» er ikkje oppretta.",
        "userjsispublic": "Merk: JavaScript-undersider bør ikkje innehalda konfidensielle data sidan dei er synlege for andre brukarar.",
        "usercssispublic": "Merk: CSS-undersider bør ikkje innehalda konfidensielle data sidan dei er synlege for andre brukarar."
index 1c27d45..4ffdd93 100644 (file)
        "login": "Identificacion",
        "login-security": "Verificar vòstra identitat",
        "nav-login-createaccount": "Crear un compte o se connectar",
-       "userlogin": "Crear un compte o se connectar",
-       "userloginnocreate": "Connexion",
        "logout": "Se desconnectar",
        "userlogout": "Desconnexion",
        "notloggedin": "Vos sètz pas identificat(ada)",
        "userlogin-noaccount": "Avètz pas de compte ?",
        "userlogin-joinproject": "Rejonhètz {{SITENAME}}",
-       "nologin": "Avètz pas un compte ? '''$1'''.",
-       "nologinlink": "Creatz un compte",
        "createaccount": "Crear un compte novèl",
-       "gotaccount": "Ja avètz un compte ? '''$1'''.",
-       "gotaccountlink": "Identificatz-vos",
-       "userlogin-resetlink": "Avètz doblidat vòstres detalhs de connexion ?",
        "userlogin-resetpassword-link": "Senhal doblidat ?",
        "userlogin-helplink2": "Ajuda a la connexion",
        "userlogin-loggedin": "Sètz ja connectat en tant que {{GENDER:$1|$1}}.\nUtilizatz lo formulari çaijós per vos connectar amb un autre utilizaire.",
        "createacct-another-email-ph": "Picar l'adreça de corrièr electronic",
        "createaccountmail": "Utilizar un senhal aleatòri temporari e lo mandar a l’adreça de corrièl especificada",
        "createacct-realname": "Nom vertadièr (facultatiu)",
-       "createaccountreason": "Motiu :",
        "createacct-reason": "Motiu",
        "createacct-reason-ph": "Perqué creatz un autre compte",
        "createacct-reason-help": "Messatge afichat dins lo jornal de creacion de compte",
        "log-name-tag": "Jornal de las balisas",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|a mes a jorn}} las balisas de la revision $4 de la pagina $3 ($6 {{PLURAL:$7|aponduda|apondudas}} ; $8 {{PLURAL:$9|suprimida|suprimidas}})",
        "rightsnone": "(cap)",
-       "revdelete-summary": "modificar lo somari",
        "feedback-adding": "Apondon de vòstres comentaris a la pagina...",
        "feedback-back": "Retorn",
        "feedback-bugcheck": "Remirable ! Verificatz simplament qu'es pas un dels [$1 bugs ja coneguts].",
index 9d164db..6bfb3c1 100644 (file)
        "aboutsite": "O {{GRAMMAR:MS.lp|{{SITENAME}}}}",
        "aboutpage": "Project:O {{GRAMMAR:MS.lp|{{SITENAME}}}}",
        "copyright": "Treść udostępniana na licencji $1, jeśli nie podano inaczej.",
-       "copyrightpage": "{{ns:project}}:Prawa_autorskie",
+       "copyrightpage": "{{ns:project}}:Prawa autorskie",
        "currentevents": "Bieżące wydarzenia",
        "currentevents-url": "Project:Aktualności",
        "disclaimers": "Informacje prawne",
        "login": "Zaloguj się",
        "login-security": "Potwierdź swoją tożsamość",
        "nav-login-createaccount": "Logowanie i rejestracja",
-       "userlogin": "Logowanie i rejestracja",
-       "userloginnocreate": "Zaloguj się",
        "logout": "Wyloguj",
        "userlogout": "Wyloguj",
        "notloggedin": "Nie jesteś zalogowany",
        "userlogin-noaccount": "Nie masz konta?",
        "userlogin-joinproject": "Dołącz do {{GRAMMAR:D.lp|{{SITENAME}}}}",
-       "nologin": "Nie masz konta? $1.",
-       "nologinlink": "Zarejestruj się",
        "createaccount": "Załóż nowe konto",
-       "gotaccount": "Masz już konto? '''$1'''.",
-       "gotaccountlink": "Zaloguj się",
-       "userlogin-resetlink": "Zapomniałeś danych do zalogowania się?",
        "userlogin-resetpassword-link": "Nie pamiętasz hasła?",
        "userlogin-helplink2": "Pomoc przy logowaniu",
        "userlogin-loggedin": "Zalogowano jako {{GENDER:$1|$1}}.\nUżyj poniższego formularza, aby zalogować się jako inny użytkownik.",
        "createaccountmail": "Użyj tymczasowego hasła wygenerowanego losowo i wyślij je na podany adres e-mail",
        "createaccountmail-help": "Pozwala utworzyć konto dla innej osoby, nie znając jej hasła.",
        "createacct-realname": "Prawdziwe imię i nazwisko (opcjonalnie)",
-       "createaccountreason": "Powód:",
        "createacct-reason": "Powód",
        "createacct-reason-ph": "Dlaczego zakładasz kolejne konto",
        "createacct-reason-help": "Komunikat wyświetlany w rejestrze tworzenia kont",
        "noarticletext": "Obecnie ta strona nie ma zawartości.\nMożesz [[Special:Search/{{PAGENAME}}|wyszukać ten tytuł na innych stronach]],\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} przeszukać rejestr] \nlub [{{fullurl:{{FULLPAGENAME}}|action=edit}} utworzyć tę stronę]</span>.",
        "noarticletext-nopermission": "Ta strona nie posiada jeszcze zawartości.\nMożesz [[Special:Search/{{PAGENAME}}|wyszukać ten tytuł]] w treści innych stron\nlub <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} przeszukać powiązane rejestry]</span>, ale nie masz uprawnień do utworzenia tej strony",
        "missing-revision": "Wersja #$1 strony \"{{FULLPAGENAME}}\" nie istnieje.\n\nZazwyczaj jest to spowodowane przestarzałym linkiem do usuniętej strony. Powód usunięcia znajduje się w [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} rejestrze].",
-       "userpage-userdoesnotexist": "Użytkownik „<nowiki>$1</nowiki>” nie jest zarejestrowany.\nUpewnij się, czy na pewno zamierza{{GENDER:|łeś|łaś|sz}} utworzyć lub zmodyfikować właśnie tę stronę.",
+       "userpage-userdoesnotexist": "Użytkownik „$1” nie jest zarejestrowany.\nUpewnij się, czy na pewno zamierzał{{GENDER:|eś|aś|eś/aś}} utworzyć lub zmodyfikować właśnie tę stronę.",
        "userpage-userdoesnotexist-view": "Konto użytkownika „$1” nie jest zarejestrowane.",
        "blocked-notice-logextract": "{{GENDER:$1|Ten użytkownik|Ta użytkowniczka}} jest obecnie {{GENDER:$1|zablokowany|zablokowana}}.\nOstatni wpis rejestru blokad jest pokazany poniżej.",
        "clearyourcache": "<strong>Uwaga:</strong> aby zobaczyć zmiany po zapisaniu, może zajść potrzeba wyczyszczenia pamięci podręcznej przeglądarki.\n* <strong>Firefox / Safari:</strong> Przytrzymaj <em>Shift</em> podczas klikania <em>Odśwież bieżącą stronę</em>, lub naciśnij klawisze <em>Ctrl+F5</em> lub <em>Ctrl+R</em> (<em>⌘-R</em> na komputerze Mac)\n* <strong>Google Chrome:</strong> Naciśnij <em>Ctrl-Shift-R</em> (<em>⌘-Shift-R</em> na komputerze Mac)\n* <strong>Internet Explorer:</strong> Przytrzymaj <em>Ctrl</em>, jednocześnie klikając <em>Odśwież</em>, lub naciśnij klawisze <em>Ctrl+F5</em>\n* <strong>Opera:</strong> Przejdź do <em>Menu → Ustawienia</em> (<em>Opera → Preferencje</em> w Mac), a następnie <em>Prywatność i bezpieczeństwo → Wyczyść dane przeglądania → Opróżnij pamięć podręczną</em>.",
        "page_first": "początek",
        "page_last": "koniec",
        "histlegend": "Wybór porównania – zaznacz kropeczkami dwie wersje do porównania i wciśnij enter lub przycisk ''Porównaj wybrane wersje''.<br />\nLegenda: (bież.) – pokaż zmiany od tej wersji do bieżącej,\n(poprz.) – pokaż zmiany od wersji poprzedzającej, m – mała (drobna) zmiana",
-       "history-fieldset-title": "Przeglądaj historię",
-       "history-show-deleted": "Tylko usunięte",
+       "history-fieldset-title": "Szukaj wersji",
+       "history-show-deleted": "Tylko usunięte edycje",
        "histfirst": "od najstarszych",
        "histlast": "od najświeższych",
        "historysize": "({{PLURAL:$1|1 bajt|$1 bajty|$1 bajtów}})",
        "prefs-help-prefershttps": "Ta opcja zacznie działać przy twoim następnym zalogowaniu.",
        "prefswarning-warning": "Niektóre z dokonanych zmian w preferencjach nie zostały jeszcze zapisane. Jeśli wyjdziesz bez wciśnięcia „$1”, Twoje zmiany zostaną utracone.",
        "prefs-tabs-navigation-hint": "Wskazówka: do poruszania się między zakładkami możesz użyć klawiszy strzałek w lewo i w prawo",
-       "userrights": "Zarządzanie uprawnieniami użytkowników",
+       "userrights": "Uprawnienia użytkowników",
        "userrights-lookup-user": "Wybierz użytkownika",
        "userrights-user-editname": "Wprowadź nazwę użytkownika:",
        "editusergroup": "Wczytaj grupy użytkownika",
        "rcfilters-invalid-filter": "Nieprawidłowy filtr",
        "rcfilters-empty-filter": "Brak aktywnych filtrów. Wyświetlane są wszystkie zmiany.",
        "rcfilters-filterlist-title": "Filtry",
+       "rcfilters-filterlist-whatsthis": "Co to jest?",
        "rcfilters-filterlist-feedbacklink": "Podziel się swoją opinią na temat tych nowych (beta) filtrów",
        "rcfilters-highlightbutton-title": "Podświetl wyniki",
        "rcfilters-highlightmenu-title": "Wybierz kolor",
+       "rcfilters-highlightmenu-help": "Wybierz kolor, aby podświetlić tę właściwość",
        "rcfilters-filterlist-noresults": "Nie znaleziono filtrów",
+       "rcfilters-noresults-conflict": "Nie znaleziono wyników z powodu konfliktu kryteriów wyszukiwania",
        "rcfilters-filtergroup-registration": "Rejestracja użytkownika",
        "rcfilters-filter-registered-label": "Zarejestrowani",
        "rcfilters-filter-registered-description": "Zalogowani edytorzy.",
        "rcfilters-filter-editsbyself-description": "Edycje dokonane przez Ciebie.",
        "rcfilters-filter-editsbyother-label": "Edycje inne niż Twoje",
        "rcfilters-filter-editsbyother-description": "Edycje wykonane przez innych (nie Twoje).",
-       "rcfilters-filtergroup-userExpLevel": "Poziom doświadczenia (tylko dla zarejestrowanych użytkowników)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "Początkujący",
-       "rcfilters-filter-userExpLevel-newcomer-description": "Mniej niż 10 edycji i 4 dni aktywności.",
-       "rcfilters-filter-userExpLevel-learner-label": "Uczący się",
-       "rcfilters-filter-userExpLevel-learner-description": "Więcej dni aktywności i edycji niż „Nowicjusze”, ale mniej niż „Doświadczeni użytkownicy”.",
-       "rcfilters-filter-userExpLevel-experienced-label": "Doświadczeni użytkownicy",
-       "rcfilters-filter-userExpLevel-experienced-description": "Ponad 30 dni aktywności i 500 edycji.",
+       "rcfilters-filtergroup-userExpLevel": "Poziom doświadczenia (tylko o zarejestrowanych użytkownikach)",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered-global": "Filtr \"Niezarejestrowani\" koliduje z jednym lub więcej filtrów z filtrów poziomu doświadczenia, które służą do wyszukiwania wkładu tylko zarejestrowanych użytkowników. Kolidujące filtry zostały odpowiednio oznaczone na pasku Aktywnych filtrów.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Początkujący",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Mniej niż 10 edycji i 4 dni aktywności.",
+       "rcfilters-filter-user-experience-level-learner-label": "Uczący się",
+       "rcfilters-filter-user-experience-level-learner-description": "Więcej dni aktywności i edycji niż „Nowicjusze”, ale mniej niż „Doświadczeni użytkownicy”.",
+       "rcfilters-filter-user-experience-level-experienced-label": "Doświadczeni użytkownicy",
+       "rcfilters-filter-user-experience-level-experienced-description": "Ponad 30 dni aktywności i 500 edycji.",
        "rcfilters-filtergroup-automated": "Zmiany zautomatyzowane",
        "rcfilters-filter-bots-label": "Bot",
        "rcfilters-filter-bots-description": "Zmiany wykonane z użyciem zautomatyzowanych narzędzi.",
        "rcfilters-filter-humans-label": "Człowiek (nie bot)",
        "rcfilters-filter-humans-description": "Zmiany wprowadzone przez ludzi.",
+       "rcfilters-filtergroup-reviewstatus": "Status przejrzenia",
+       "rcfilters-filter-patrolled-label": "Sprawdzone",
+       "rcfilters-filter-patrolled-description": "Edycje oznaczone jako sprawdzone.",
+       "rcfilters-filter-unpatrolled-label": "Niesprawdzone",
+       "rcfilters-filter-unpatrolled-description": "Edycje nie oznaczone jako sprawdzone.",
        "rcfilters-filtergroup-significance": "Znaczenie",
        "rcfilters-filter-minor-label": "Drobne zmiany",
        "rcfilters-filter-minor-description": "Zmiany, które autor oznaczył jako drobne.",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|zmienił|zmieniła}} znaczniki w wersji $4 strony $3 ({{PLURAL:$7|dodano}} $6; {{PLURAL:$9|usunięto}} $8)",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|zmienił|zmieniła}} znaczniki we wpisie w rejestrze $5 strony $3 ({{PLURAL:$7|dodano}} $6; {{PLURAL:$9|usunięto}} $8)",
        "rightsnone": "brak",
-       "revdelete-summary": "opis zmian",
        "rightslogentry-temporary-group": "$1 (tymczasowo, do $2)",
        "feedback-adding": "Dodawanie opinii do strony...",
        "feedback-back": "Wstecz",
index 1a87f50..2793992 100644 (file)
        "aboutsite": "Sobre a wiki {{SITENAME}}",
        "aboutpage": "Project:Sobre",
        "copyright": "Conteúdo disponibilizado nos termos da $1, salvo indicação em contrário.",
-       "copyrightpage": "{{ns:project}}:Direitos_de_autor",
+       "copyrightpage": "{{ns:project}}:Direitos de autor",
        "currentevents": "Notícias",
        "currentevents-url": "Project:Notícias",
        "disclaimers": "Exoneração de responsabilidade",
        "login": "Entrar",
        "login-security": "Verificar a sua identidade",
        "nav-login-createaccount": "Entrar / criar conta",
-       "userlogin": "Criar uma conta ou entrar",
-       "userloginnocreate": "Entrar",
        "logout": "Sair",
        "userlogout": "Sair",
        "notloggedin": "Não autenticado",
        "userlogin-noaccount": "Não tem uma conta?",
        "userlogin-joinproject": "Junte-se ao projeto {{SITENAME}}",
-       "nologin": "Não possui uma conta? $1.",
-       "nologinlink": "Criar uma conta",
        "createaccount": "Criar conta",
-       "gotaccount": "Já possui uma conta? $1.",
-       "gotaccountlink": "Entrar",
-       "userlogin-resetlink": "Esqueceu-se do seu nome de utilizador ou da palavra-passe?",
        "userlogin-resetpassword-link": "Esqueceu-se da sua palavra-passe?",
        "userlogin-helplink2": "Ajuda para iniciar sessão",
        "userlogin-loggedin": "Já está {{GENDER:$1|autenticado|autenticada|autenticado}} com o nome $1.\nUse o formulário abaixo para iniciar sessão com outro nome.",
        "createaccountmail": "Usar uma palavra passe aleatória e temporária e enviar para o endereço de correio eletrónico especificado",
        "createaccountmail-help": "Pode ser utilizado para criar uma conta para outra pessoa sem saber a palavra-passe.",
        "createacct-realname": "Nome verdadeiro (opcional)",
-       "createaccountreason": "Motivo:",
        "createacct-reason": "Motivo",
        "createacct-reason-ph": "Porque está a criar outra conta",
        "createacct-reason-help": "Mensagem mostrada no registo de criação de contas",
        "rcfilters-filter-editsbyother-label": "Edições de outros",
        "rcfilters-filter-editsbyother-description": "Edições criadas por outros utilizadores (não por si).",
        "rcfilters-filtergroup-userExpLevel": "Nível de experiência (apenas para utilizadores registados)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "Novatos",
-       "rcfilters-filter-userExpLevel-newcomer-description": "Menos de 10 edições e 4 dias de atividade.",
-       "rcfilters-filter-userExpLevel-learner-label": "Aprendizes",
-       "rcfilters-filter-userExpLevel-learner-description": "Mais dias de atividade e edições do que \"Novatos\", mas menos do que \"Utilizadores experientes\".",
-       "rcfilters-filter-userExpLevel-experienced-label": "Utilizadores experientes",
-       "rcfilters-filter-userExpLevel-experienced-description": "Mais de 30 dias de atividade e 500 edições.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Novatos",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Menos de 10 edições e 4 dias de atividade.",
+       "rcfilters-filter-user-experience-level-learner-label": "Aprendizes",
+       "rcfilters-filter-user-experience-level-learner-description": "Mais dias de atividade e edições do que \"Novatos\", mas menos do que \"Utilizadores experientes\".",
+       "rcfilters-filter-user-experience-level-experienced-label": "Utilizadores experientes",
+       "rcfilters-filter-user-experience-level-experienced-description": "Mais de 30 dias de atividade e 500 edições.",
        "rcfilters-filtergroup-automated": "Contribuições automatizadas",
        "rcfilters-filter-bots-label": "Robô",
        "rcfilters-filter-bots-description": "Edições efectuadas por ferramentas automatizadas.",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|atualizou}} as etiquetas na revisão $4 da página $3 ($6 {{PLURAL:$7|adicionadas}}; $8 {{PLURAL:$9|removidas}})",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|atualizou}} as etiquetas na entrada de registo $5 da página $3 ($6 {{PLURAL:$7|adicionadas}}; $8 {{PLURAL:$9|removidas}})",
        "rightsnone": "(nenhum)",
-       "revdelete-summary": "editar resumo",
        "rightslogentry-temporary-group": "$1 (temporário, até $2)",
        "feedback-adding": "A acrescentar os comentários à página...",
        "feedback-back": "Retroceder",
index a3e2a8c..2951a4c 100644 (file)
        "userlogin-yourpassword": "In login & create account forms, label for password field.\n\nSee examples: [[Special:UserLogin]] and [{{canonicalurl:Special:UserLogin|type=signup}} Special:UserLogin?type=signup]\n{{Identical|Password}}",
        "userlogin-yourpassword-ph": "Placeholder text in login form for password field.\n\nSee examples: [[Special:UserLogin]] and [{{canonicalurl:Special:UserLogin|type=signup}} Special:UserLogin?type=signup]\n{{Identical|Enter password}}",
        "createacct-yourpassword-ph": "Placeholder text in create account form for password field.\n\nSee example: [{{canonicalurl:Special:UserLogin|type=signup}} Special:UserLogin?type=signup]\n{{Identical|Enter password}}",
-       "yourpasswordagain": "Since 1.22 no longer used in core, but may be used by some extensions. DEPRECATED",
+       "yourpasswordagain": "Label for field to re-enter password.",
        "createacct-yourpasswordagain": "In create account form, label for field to re-enter password\n\nSee example: [{{canonicalurl:Special:UserLogin|type=signup}} Special:UserLogin?type=signup]\n{{Identical|Confirm password}}",
        "createacct-yourpasswordagain-ph": "Placeholder text in create account form for re-enter password field.\n\nSee example: [{{canonicalurl:Special:UserLogin|type=signup}} Special:UserLogin?type=signup]",
        "userlogin-remembermypassword": "The text for a check box in [[Special:UserLogin]].",
        "login-security": "Used as the title of the login page when the user is already logged in but sent to reauthenticate before getting access to a feature with elevated security.",
        "nav-login-createaccount": "Shown to anonymous users in the upper right corner of the page. When you can't create an account, the message {{msg-mw|login}} is shown.\n{{Identical|Log in / create account}}",
        "loginprompt": "{{ignored}}",
-       "userlogin": "Since 1.22 no longer used in core, but may still be used by extensions. DEPRECATED\n\n{{Identical|Log in / create account}}",
-       "userloginnocreate": "Since 1.22 no longer used in core, but may still be used by some extensions. A variant of {{msg-mw|Userlogin}} when the user is not allowed to create a new account. DEPRECATED\n\n{{Identical|Log in}}",
        "logout": "Used as link text in your personal toolbox (upper right side).\n\nSee also:\n* {{msg-mw|Logout}}\n* {{msg-mw|Accesskey-pt-logout}}\n* {{msg-mw|Tooltip-pt-logout}}\n{{Identical|Log out}}",
        "userlogout": "{{doc-special|UserLogout|unlisted=1}}\n{{Identical|Log out}}",
        "userlogout-summary": "{{ignored}}",
        "notloggedin": "This message is displayed in the standard skin when not logged in. The message is placed above the login link in the top right corner of pages.\n\n{{Identical|Not logged in}}",
        "userlogin-noaccount": "In the [[Special:Userlogin]] form, this is the text prior to button inviting user to join project.\n{{Identical|Do not have an account}}",
        "userlogin-joinproject": "Text of button inviting user to create an account.\n\nSee example: [[Special:UserLogin]]",
-       "nologin": "Since 1.22 no longer used in core, but may be used by some extensions. DEPRECATED. Parameters:\n* $1 - a link to the account creation form, and the text of it is {{msg-mw|Nologinlink}}\n{{Identical|Do not have an account}}",
-       "nologinlink": "Since 1.22 no longer used in core, but may be used by some extensions. DEPRECATED.\n{{Identical|Create account}}",
        "createaccount": "{{doc-special|CreateAccount|unlisted=1}}\n{{Identical|Create account}}",
-       "gotaccount": "Since 1.22 no longer used in core, but may be used by some extensions. DEPRECATED. Parameter:\n* $1 - a link to the log in form, and the text of it is {{msg-mw|Gotaccountlink}}",
-       "gotaccountlink": "Since 1.22 no longer used in core, but may be used by some extensions. DEPRECATED.\n{{Identical|Log in}}",
-       "userlogin-resetlink": "Since 1.22 no longer used in core, but may be used by some extensions. DEPRECATED.",
        "userlogin-resetpassword-link": "Used as link text in the login form.\n\nThe link points to the local page [[Special:PasswordReset]].\n\nSee example: [[Special:UserLogin]]\n\nuserlogin-resetpassword-link may have to be shorter than the old {{msg-mw|userlogin-resetlink}}.\n{{Identical|Forgot your password}}",
        "helplogin-url": "{{doc-important|Do not translate the namespace name <code>Help</code>.}}\nUsed as name of the page that provides information about logging into the wiki.\n\nUsed as a link target in the message {{msg-mw|Userlogin-helplink}}.",
        "userlogin-helplink2": "Label for a link to login help.\n\nSee example: [[Special:UserLogin]]\n\nSee also:\n* {{msg-mw|Helplogin-url}}",
        "createaccountmail": "The label for the checkbox for creating a new account and sending the new password to the specified email address directly, as used on [[Special:CreateAccount]] when one user creates an account for another (if creating accounts by email is allowed).\n\nSee example: [{{canonicalurl:Special:UserLogin|type=signup}} Special:UserLogin?type=signup]",
        "createaccountmail-help": "Account creation API help message for the <code>mailpassword</code> parameter.",
        "createacct-realname": "In vertical-layout create account form, label for field to enter optional real name.",
-       "createaccountreason": "Since 1.22 no longer used in core, but may be used by some extensions. DEPRECATED\n\n{{Identical|Reason}}",
        "createacct-reason": "In create account form, label for field to enter reason to create an account when already logged-in.\n\nSee example: [{{canonicalurl:Special:UserLogin|type=signup}} Special:UserLogin?type=signup]\n{{Identical|Reason}}",
        "createacct-reason-ph": "Placeholder in vertical-layout create account form for reason field.\n\nSee example: [{{canonicalurl:Special:UserLogin|type=signup}} Special:UserLogin?type=signup]",
        "createacct-reason-help": "Account creation API help message for the <code>reason</code> parameter.",
        "post-expand-template-argument-warning": "Used as warning in parser limitation.\n\nSee also:\n* {{msg-mw|Post-expand-template-argument-category}}",
        "post-expand-template-argument-category": "This message is used as a category name for a [[mw:Special:MyLanguage/Help:Tracking categories|tracking category]] where pages are placed automatically if they contain omitted template arguments.\n\nSee also:\n* {{msg-mw|Post-expand-template-argument-category-desc}}\n* {{msg-mw|Post-expand-template-argument-warning}}",
        "parser-template-loop-warning": "Parameters:\n* $1 - page title",
+       "template-loop-category": "This message is used as a category name for a [[mw:Special:MyLanguage/Help:Tracking categories|tracking category]] where pages with template loops will be listed.",
+       "template-loop-category-desc": "Pages with template loops category description. Shown on [[Special:TrackingCategories]].\n\nSee also:\n* {{msg-mw|Template-loop-category}}",
        "parser-template-recursion-depth-warning": "Parameters:\n* $1 - limit value of recursion depth",
        "language-converter-depth-warning": "Error message shown when a page uses too deeply nested language conversion syntax. Parameters:\n* $1 - the value of the depth limit",
        "node-count-exceeded-category": "This message is used as a category name for a [[mw:Help:Tracking categories|tracking category]] where pages are placed automatically if the node-count of the preprocessor exceeds the limit.\n\nSee also:\n* {{msg-mw|Node-count-exceeded-warning}}",
        "rcfilters-invalid-filter": "A label for an invalid filter.",
        "rcfilters-empty-filter": "Placeholder for the filter list when no filters were chosen.",
        "rcfilters-filterlist-title": "Title for the filters list.\n{{Identical|Filter}}",
+       "rcfilters-filterlist-whatsthis": "Caption for the link that opens a popup with explanations about this filter group.",
        "rcfilters-filterlist-feedbacklink": "Caption for the link to the feedback page about the filters beta feature.",
        "rcfilters-highlightbutton-title": "Title for the highlight button used to toggle the highlight feature on and off.",
        "rcfilters-highlightmenu-title": "Title for the highlight menu used to select the highlight color for an individual filter.",
        "rcfilters-highlightmenu-help": "Tooltip for the highlight menu for individual filters.",
        "rcfilters-filterlist-noresults": "Message showing no results found for searching a filter.",
+       "rcfilters-noresults-conflict": "A message displayed in the results area when no results found because there are filters in conflict with one another.",
+       "rcfilters-state-message-subset": "Tooltip shown when hovering over a filter tag when one or more broader filters that contain the hovered filter are also selected. This indicates that the hovered filter has no effect because all the results it matches are also matched by the broader filter(s).  Parameters:\n* $1 - Comma-separated string of selected broader filters that this filter is a subset of\n* $2 - Count of filters in $1, for PLURAL",
+       "rcfilters-state-message-fullcoverage": "Tooltip shown when hovering over a filter tag when all the filters in its group are selected. This indicates that the hovered filter has no effect because the selected filters in the group cover all changes. Parameters:\n* $1 - Comma-separated string of selected filters in the group\n* $2 - Count of filters in $1, for PLURAL",
        "rcfilters-filtergroup-registration": "Title for the filter group for editor registration type.",
        "rcfilters-filter-registered-label": "Label for the filter for showing edits made by logged-in users.\n{{Identical|Registered}}",
        "rcfilters-filter-registered-description": "Description for the filter for showing edits made by logged-in users.",
        "rcfilters-filter-unregistered-label": "Label for the filter for showing edits made by logged-out users.",
        "rcfilters-filter-unregistered-description": " Description for the filter for showing edits made by logged-out users.",
+       "rcfilters-filter-unregistered-conflicts-user-experience-level": "Tooltip shown when hovering over a Unregistered filter tag, when a User Experience Level filter is also selected.\n\n\"Unregistered\" is {{msg-mw|Rcfilters-filter-unregistered-label}}.\n\n\"Experience\" is based on {{msg-mw|Rcfilters-filtergroup-userExpLevel}}.\n\nThis indicates that no results will be shown, because users matched by the User Experience Level groups are never unregistered.  Parameters:\n* $1 - Comma-separated string of selected User Experience Level filters, e.g. \"Newcomer, Experienced\"\n* $2 - Count of selected User Experience Level filters, for PLURAL",
        "rcfilters-filtergroup-authorship": "Title for the filter group for edit authorship. This filter group allows the user to choose between \"Your own edits\" and \"Edits by others\". More info: https://phabricator.wikimedia.org/T149859\n\n{{doc-important|This is another typical example of ambiguity in the English language. Only the documentation will reveal that this message means \"(filter by) authorship of these edits\", not \"edit the authorship\". That is, \"edit\" is a modifying noun, not a verb.}}",
        "rcfilters-filter-editsbyself-label": "Label for the filter for showing edits made by the current user.",
        "rcfilters-filter-editsbyself-description": "Description for the filter for showing edits made by the current user.",
        "rcfilters-filter-editsbyother-label": "Label for the filter for showing edits made by anyone other than the current user.",
        "rcfilters-filter-editsbyother-description": "Description for the filter for showing edits made by anyone other than the current user.",
        "rcfilters-filtergroup-userExpLevel": "Title for the filter group for user experience levels.",
-       "rcfilters-filter-userExpLevel-newcomer-label": "Label for the filter for showing edits made by new editors.",
-       "rcfilters-filter-userExpLevel-newcomer-description": "Description for the filter for showing edits made by new editors.",
-       "rcfilters-filter-userExpLevel-learner-label": "Label for the filter for showing edits made by learning editors.",
-       "rcfilters-filter-userExpLevel-learner-description": "Description for the filter for showing edits made by learning editors.",
-       "rcfilters-filter-userExpLevel-experienced-label": "Label for the filter for showing edits made by experienced editors.",
-       "rcfilters-filter-userExpLevel-experienced-description": "Description for the filter for showing edits made by experienced editors.",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered": "Tooltip shown when hovering over a User Experience Level filter tag, when only Unregistered users are being shown.  This indicates that no results will be shown, because users matched by the User Experience Level groups are never unregistered.\n\n\"Unregistered\" is {{msg-mw|Rcfilters-filter-unregistered-label}}.",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered-global": "Message shown in the result area when both a User Experience Level filter and the Unregistered filter are selected.  This indicates that no results will be shown because users selected by the User Experience Filter are never unregistered.\n\n\"Unregistered\" is {{msg-mw|Rcfilters-filter-unregistered-label}}.\n\n\"Experience\" is based on {{msg-mw|Rcfilters-filtergroup-userExpLevel}}.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Label for the filter for showing edits made by new editors.",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Description for the filter for showing edits made by new editors.",
+       "rcfilters-filter-user-experience-level-learner-label": "Label for the filter for showing edits made by learning editors.",
+       "rcfilters-filter-user-experience-level-learner-description": "Description for the filter for showing edits made by learning editors.",
+       "rcfilters-filter-user-experience-level-experienced-label": "Label for the filter for showing edits made by experienced editors.",
+       "rcfilters-filter-user-experience-level-experienced-description": "Description for the filter for showing edits made by experienced editors.",
        "rcfilters-filtergroup-automated": "Title for the filter group for editor automation type.",
        "rcfilters-filter-bots-label": "Label for the filter for showing edits made by automated tools.\n{{Identical|Bot}}",
        "rcfilters-filter-bots-description": "Description for the filter for showing edits made by automated tools.",
        "rcfilters-filter-humans-label": "Label for the filter for showing edits made by human editors.",
        "rcfilters-filter-humans-description": "Description for the filter for showing edits made by human editors.",
+       "rcfilters-filtergroup-reviewstatus": "Title for the filter group about review status (in core this is whether it's been patrolled)",
+       "rcfilters-filter-patrolled-label": "Label for the filter for showing patrolled edits",
+       "rcfilters-filter-patrolled-description": "Label for the filter showing patrolled edits",
+       "rcfilters-filter-unpatrolled-label": "Label for the filter for showing unpatrolled edits",
+       "rcfilters-filter-unpatrolled-description": "Description for the filter for showing unpatrolled edits",
        "rcfilters-filtergroup-significance": "Title for the filter group for edit significance.\n{{Identical|Significance}}",
        "rcfilters-filter-minor-label": "Label for the filter for showing edits marked as minor.",
        "rcfilters-filter-minor-description": "Description for the filter for showing edits marked as minor.",
        "rcfilters-filter-categorization-description": "Description for the filter for showing edits adding or removing pages to categories.",
        "rcfilters-filter-logactions-label": "Label for the filter for showing logged actions.",
        "rcfilters-filter-logactions-description": "Description for the filter for showing logged actions.",
+       "rcfilters-hideminor-conflicts-typeofchange-global": "The \"Minor edits\" filter is conflicting with one or more Type of Change filters, because certain types of change cannot be designated as \"minor.\" The conflicting filters are marked in the Active Filters area, above.\n\n\"Type of Change\" is {{msg-mw|Rcfilters-filtergroup-changetype}}.",
+       "rcfilters-hideminor-conflicts-typeofchange": "Tooltip shown when hovering over the Minor edits tag, when a Type of Change filter is also selected.\n\n\"Minor edits\" is {{msg-mw|rcfilters-filter-minor-label}}.\n\n\"Type of change\" is {{msg-mw|rcfilters-filtergroup-changetype}}.\n\nThis indicates that no results will be shown.  Parameters:\n* $1 - Comma-separated string of selected Type of Change filters, e.g. \"Category, Logged Actions\"\n* $2 - Count of selected User Experience Level filters, for PLURAL",
+       "rcfilters-typeofchange-conflicts-hideminor": "Tooltip shown when hovering over a Type of change filter tag, when the Minor edits filter is also selected.\n\n\"Minor edits\" is {{msg-mw|rcfilters-filter-minor-label}}.\n\n\"Type of change\" is {{msg-mw|rcfilters-filtergroup-changetype}}.\n\nThis indicates that no results will be shown.",
        "rcnotefrom": "This message is displayed at [[Special:RecentChanges]] when viewing recentchanges from some specific time.\n\nThe corresponding message is {{msg-mw|Rclistfrom}}.\n\nParameters:\n* $1 - the maximum number of changes that are displayed\n* $2 - (Optional) a date and time\n* $3 - a date\n* $4 - a time\n* $5 - Number of changes are displayed, for use with PLURAL",
        "rclistfrom": "Used on [[Special:RecentChanges]]. Parameters:\n* $1 - (Currently not use) date and time. The date and the time adds to the rclistfrom description.\n* $2 - time. The time adds to the rclistfrom link description (with split of date and time).\n* $3 - date. The date adds to the rclistfrom link description (with split of date and time).\n\nThe corresponding message is {{msg-mw|Rcnotefrom}}.",
        "rcshowhideminor": "Option text in [[Special:RecentChanges]]. Parameters:\n* $1 - the \"show/hide\" command, with the text taken from either {{msg-mw|rcshowhideminor-show}} or {{msg-mw|rcshowhideminor-hide}}\n{{Identical|Minor edit}}",
        "logentry-tag-update-revision": "{{Logentry|[[Special:Log/tag]]}}\n*$4 - revision ID\n* $6 - list of tags that were added, separated by {{msg-mw|Comma-separator}}\n* $7 - number of added tags\n* $8 - list of tags that were removed, separated by {{msg-mw|Comma-separator}}\n* $9 - number of removed tags",
        "logentry-tag-update-logentry": "{{Logentry|[[Special:Log/tag]]}}\n*$5 - log entry ID\n* $6 - list of tags that were added, separated by {{msg-mw|Comma-separator}}\n* $7 - number of added tags\n* $8 - list of tags that were removed, separated by {{msg-mw|Comma-separator}}\n* $9 - number of removed tags",
        "rightsnone": "Default rights for registered users.\n\n{{Identical|None}}",
-       "revdelete-logentry": "{{RevisionDelete}}\nThis is the message for the log entry in [[Special:Log/delete]] when changing visibility restrictions for page revisions.\n\nFollowed by the message {{msg-mw|revdelete-log-message}} in brackets.\n\nPreceded by the name of the user doing this task.\n\nParameters:\n* $1 - the page name\nSee also:\n* {{msg-mw|Logdelete-logentry}}",
-       "logdelete-logentry": "{{RevisionDelete}}\nThis is the message for the log entry in [[Special:Log/delete]] when changing visibility restrictions for log events.\n\nFollowed by the message {{msg-mw|logdelete-log-message}} in brackets.\n\nPreceded by the name of the user who did this task.\n\nParameters:\n* $1 - the log name in brackets\nSee also:\n* {{msg-mw|Revdelete-logentry}}",
-       "revdelete-content": "This message is used as parameter $1 in {{msg-mw|revdelete-hid}} and {{msg-mw|revdelete-unhid}} when hiding or unhiding the content of a revision or event.\n{{Identical|Content}}",
-       "revdelete-summary": "This message is used as parameter $1 in {{msg-mw|revdelete-hid}} and {{msg-mw|revdelete-unhid}} when hiding or unhiding the edit summary of a revision or event.\n{{Identical|Edit summary}}",
-       "revdelete-uname": "This message is used as parameter $1 in {{msg-mw|revdelete-hid}} and {{msg-mw|revdelete-unhid}} when hiding or unhiding the username for a revision or event.\n\n{{Identical|Username}}",
-       "revdelete-hid": "This message is used as <code>$1</code>:\n* in {{msg-mw|revdelete-log-message}} when hiding revisions\n* in {{msg-mw|logdelete-log-message}} when hiding information in the log entry about hiding revisions\nParameters:\n* $1 - any one of the following:\n** {{msg-mw|Revdelete-content}} (when hiding the page content)\n** {{msg-mw|Revdelete-summary}} (when hiding the edit summary)\n** {{msg-mw|Revdelete-uname}} (when hiding the user name)\n** a combination of these three messages\nSee also:\n* {{msg-mw|Revdelete-unhid}}",
-       "revdelete-unhid": "This message is used as <code>$1</code>:\n* in {{msg-mw|Revdelete-log-message}} when unhiding revisions\n* in {{msg-mw|Logdelete-log-message}} when unhiding information in the log entry about unhiding revisions\nParameters:\n* $1 - any one of the following:\n** {{msg-mw|Revdelete-content}} (when unhiding the page content)\n** {{msg-mw|Revdelete-summary}} (when unhiding the edit summary)\n** {{msg-mw|Revdelete-uname}} (when unhiding the user name)\n** a combination of these three messages\nSee also:\n* {{msg-mw|Revdelete-hid}}",
-       "revdelete-log-message": "This log message is used together with {{msg-mw|revdelete-logentry}} in the deletion or suppression logs when changing visibility restrictions for page revisions.\n\nParameters:\n* $1 - any one of the following\n** {{msg-mw|revdelete-hid}} (when hiding data)\n** {{msg-mw|revdelete-unhid}} (when unhiding data)\n** {{msg-mw|revdelete-restricted}} (when applying restrictions for sysops)\n** {{msg-mw|revdelete-unrestricted}} (when removing restrictions for sysops)\n** a combination of those messages\n* $2 - the number of revisions for which the restrictions are changed\n\nPlease note that the parameters in a log entry will appear in the log only in the default language of the wiki. View [[Special:Log]] for examples on translatewiki.net with English default language.\n\nSee also:\n* {{msg-mw|Logdelete-log-message}}",
-       "logdelete-log-message": "This log message appears in brackets after the message {{msg-mw|logdelete-logentry}} in the deletion or suppression logs when changing the visibility of a log entry for events. For a brief description of the process of changing the visibility of events and their log entries see this [http://www.mediawiki.org/wiki/RevisionDelete mediawiki explanation].\n\nParameters:\n* $1 - any one of the following\n** {{msg-mw|revdelete-hid}} (when hiding data)\n** {{msg-mw|revdelete-unhid}} (when unhiding data)\n** {{msg-mw|revdelete-restricted}} (when applying restrictions for sysops)\n** {{msg-mw|revdelete-unrestricted}} (when removing restrictions for sysops)\n** a combination of those messages\n* $2 - the number of events for which the restrictions are changed\n\nPlease note that the parameters in a log entry will appear in the log only in the default language of the wiki. View [[Special:Log]] for examples on translatewiki.net with English default language.\n\nSee also:\n* {{msg-mw|Revdelete-log-message}}",
        "deletedarticle": "This is a ''logentry'' message. Parameters:\n* $1 - deleted page name\n{{Identical|Deleted}}",
        "suppressedarticle": "Part of a [[mw:Manual:RevisionDelete|RevisionDelete]] log entry. Parameters:\n* $1 - suppressed page name\n{{Identical|Suppressed}}",
        "undeletedarticle": "This is a ''logentry'' message. Parameters:\n* $1 - restored (undeleted) page name",
index 6e54be3..36a1485 100644 (file)
        "aboutsite": "Davart {{SITENAME}}",
        "aboutpage": "Project:Davart",
        "copyright": "Il cuntegn è disponibel sut la licenza $1 sche betg inditgà autramain.",
-       "copyrightpage": "{{ns:project}}:Resguardar_dretgs_d_autur",
+       "copyrightpage": "{{ns:project}}:Resguardar dretgs d autur",
        "currentevents": "Events actuals",
        "currentevents-url": "Project:Events actuals",
        "disclaimers": "Impressum",
        "externaldberror": "U ch'i è capità ina errur cun l'autentificaziun externa u che ti na dastgas betg actualisar tes conto extern.",
        "login": "T'annunziar",
        "nav-login-createaccount": "T'annunziar / crear in conto",
-       "userlogin": "T'annunziar / crear in conto",
-       "userloginnocreate": "T'annunziar",
        "logout": "Sortir",
        "userlogout": "sortir",
        "notloggedin": "Betg s'annunzià",
        "userlogin-noaccount": "Anc nagin conto?",
        "userlogin-joinproject": "Far part da {{SITENAME}}",
-       "nologin": "Anc nagin conto? '''$1'''.",
-       "nologinlink": "Crear in conto d'utilisader",
        "createaccount": "Crear in conto d'utilisader",
-       "gotaccount": "Gia in conto d'utilisader? '''$1'''.",
-       "gotaccountlink": "T'annunziar",
-       "userlogin-resetlink": "Emblidà tias datas per s'annunziar?",
        "userlogin-resetpassword-link": "Has emblidà tes pled-clav?",
        "userlogin-loggedin": "Ti es gia t'annunzià sco {{GENDER:$1|$1}}.\nDovra il suandant formular per t'annunziar cun in auter conto.",
        "userlogin-createanother": "Crear in auter conto",
        "createacct-another-email-ph": "Endatescha in'adressa dad e-mail",
        "createaccountmail": "Dovrar per il mument in pled-clav casual ed inviar el a l'adressa d'e-mail inditgada.",
        "createacct-realname": "Num real (opziunal)",
-       "createaccountreason": "Motiv:",
        "createacct-reason": "Motiv",
        "createacct-reason-ph": "Tes motiv per crear in auter conto",
        "createacct-submit": "Crear tes conto",
        "passwordreset-disabled": "La pussaivladad da redefinir il pled-clav è vegnida deactivada sin questa wiki.",
        "passwordreset-username": "Num d'utilisader:",
        "passwordreset-domain": "Domain:",
-       "passwordreset-capture": "Mussar l'e-mail che resultescha?",
-       "passwordreset-capture-help": "Sche ti activeschas quest champ vegn l'e-mail (cun il pled-clav temporar) mussà a ti sco era tramess a l'utilisader.",
        "passwordreset-email": "Adressa dad e-mail:",
        "passwordreset-emailtitle": "Detagls davart il conto sn {{SITENAME}}",
        "passwordreset-emailtext-ip": "Insatgi (probablamain ti, da l'adressa IP $1) ha dumandà da redefinir il pled-clav per la pagina {{SITENAME}} ($4). \n{{PLURAL:$3|Il suandant conto d'utilisader è collià|Ils suandants contos d'utilisader èn colliads}} cun questa adressa d'e-mail:\n\n$2\n\n{{PLURAL:$3|Quest pled-clav temporar|Quests pleds-clav temporars}} èn valids {{PLURAL:$5|in di|$5 dis}}.\nTi duessas t'annunziar ussa e tscherner in nov pled-clav. Sch'enzatgi auter ha empustà quests novs pleds-clav u sche ti ta regordas puspè da tes pled-clav original e na vuls betg pli midar el, pos ti ignorar quest messadi e cuntinuar d'utilisar tes pled-clav original.",
        "saveprefs": "memorisar",
        "restoreprefs": "Restituir tut las preferenzas da standard (en tut las secziuns)",
        "prefs-editing": "Modifitgar",
-       "rows": "Lingias:",
-       "columns": "Colonnas:",
        "searchresultshead": "Tschertga",
        "stub-threshold": "Limita per la formataziun sco <a href=\"#\" class=\"stub\">colliaziun a stubs</a>, en bytes:",
        "stub-threshold-disabled": "Deactivà",
        "userrights-reason": "Motiv:",
        "userrights-no-interwiki": "Ti n'has betg la permissiun da midar dretgs d'utilisaders sin autras wikis.",
        "userrights-nodatabase": "La banca da datas $1 n'exista betg u n'è betg locala.",
-       "userrights-nologin": "Ti stos [[Special:UserLogin|t'annunziar]] cun in conto d'aministratur per modifitgar ils dretgs d'utilisader.",
-       "userrights-notallowed": "Ti n'has betg la permissiun d'agiuntar u allontanar dretgs d'utilisader.",
        "userrights-changeable-col": "Gruppas che ti pos modifitgar",
        "userrights-unchangeable-col": "Gruppas che ti nas pos betg modifitgar",
        "group": "Gruppa:",
        "right-siteadmin": "Bloccar u debloccar la banca da datas",
        "right-override-export-depth": "Exportar paginas inclusivamain paginas colliadas fin ad ina profunditad da 5",
        "right-sendemail": "Trametter e-mails ad auters utilisaders",
-       "right-passwordreset": "Vesair l'e-mail per redefinir pleds-clav",
        "newuserlogpage": "Protocol d'utilisaders creads",
        "newuserlogpagetext": "Quai è il protocol dals contos d'utilisader ch'èn vegnids creads.",
        "rightslog": "Protocol dals dretgs d'utilisader",
        "logentry-rights-rights-legacy": "$1 ha {{GENDER:$2|midà}} la commembranza da gruppas per $3",
        "logentry-rights-autopromote": "$1 è vegnì {{GENDER:$2|promovì|promovida}} automaticamain da $4 a $5",
        "rightsnone": "(nagins)",
-       "revdelete-summary": "resumaziun da la midada",
        "feedback-adding": "Agiuntar il resun a la pagina…",
        "feedback-bugcheck": "Grondius! Controllescha simplamain che quai n'è betg gia in da las [$1 errurs enconuschentas].",
        "feedback-bugnew": "Jau hai controllà. Rapportar ina nova errur.",
        "feedback-thanks": "Grazia! Tes resun è vegnì publitgà sin la pagina \"[$2 $1]\".",
        "searchsuggest-search": "Tschertgar",
        "searchsuggest-containing": "cuntegna…",
-       "api-error-badaccess-groups": "Ti na dastgas betg chargiar datotecas en quest wiki.",
        "api-error-badtoken": "Errur interna: Token fauss.",
-       "api-error-copyuploaddisabled": "La funcziun da transferir dad ina URL è deactivada sin quest server.",
-       "api-error-duplicate": "I dat gia {{PLURAL:$1|ina autra datoteca|autras datotecas}} cun il medem cuntegn.",
-       "api-error-duplicate-archive": "I deva gia {{PLURAL:$1|ina autra datoteca|autras datotecas}} cun il medem cuntegn, {{PLURAL:$1|quella è dentant vegnida stizzada|quellas èn dentant vegnidas stizzadas}}.",
-       "api-error-empty-file": "La datoteca tramessa è vida.",
        "api-error-emptypage": "Crear paginas novas e vidas n'è betg lubì.",
-       "api-error-fetchfileerror": "Errur interna: Insatge n'ha betg funcziunà durant retschaiver la datoteca.",
-       "api-error-fileexists-forbidden": "Ina datoteca cun il num \"$1\" exista gia e na po betg vegnir remplazzada.",
-       "api-error-fileexists-shared-forbidden": "Ina datoteca cun il num \"$1\" exista gia en il repository communabel e na po betg vegnir remplazzada.",
-       "api-error-file-too-large": "La datoteca che ti has tramess era memia gronda.",
-       "api-error-filename-tooshort": "Il num da datoteca è memia curt.",
-       "api-error-filetype-banned": "Quest tip da datoteca è scumandà.",
-       "api-error-filetype-banned-type": "$1 {{PLURAL:$4|n'è betg in tip da datoteca lubì|n'èn betg tips da datoteca lubids}}. Lubidas èn datotecas {{PLURAL:$3|dal tip|dals tips}} $2.",
-       "api-error-filetype-missing": "Il num da datoteca n'ha betg ina finiziun da datoteca.",
-       "api-error-hookaborted": "La midada che ti has empruvà da far è vegnida interrutta dad ina extensiun.",
-       "api-error-http": "Errur interna: Impussibel da connectar cun il server.",
-       "api-error-illegal-filename": "Il num da datoteca n'è betg lubì.",
-       "api-error-internal-error": "Errur interna: Insatge n'ha betg funcziunà durant transmetter tia datoteca en la vichi.",
-       "api-error-invalid-file-key": "Errur interna: La datoteca n'è betg vegnida chattada en la memoria temporara.",
-       "api-error-missingparam": "Errur interna: Parameters da la dumonda manchants.",
-       "api-error-missingresult": "Errur interna: I na pudeva betg vegnir constatà sch'il process da copiar è reussì.",
-       "api-error-mustbeloggedin": "Ti stos esser t'annunzià per pudair transferir datotecas.",
-       "api-error-mustbeposted": "Errur interna: La dumonda basegna HTTP POST.",
-       "api-error-noimageinfo": "La datoteca è vegnida transferida cun success, ma il server n'ha returnà naginas infurmaziuns davart la datoteca.",
-       "api-error-nomodule": "Errur interna: Nagin modul per chargiar si è definì.",
-       "api-error-ok-but-empty": "Errur interna: Nagina resposta dal server.",
-       "api-error-overwrite": "Recuvrir (surscriver) ina daoteca existenta n'è betg lubì.",
        "api-error-stashfailed": "Errur interna: Errur cun memorisar la datoteca temporara.",
-       "api-error-timeout": "Il server n'ha betg respundì entaifer il temp spetgà.",
-       "api-error-unclassified": "Ina errur nunenconuschenta è capitada.",
-       "api-error-unknown-code": "Errur nunenconuschenta: \"$1\"",
-       "api-error-unknown-error": "Errur interna: Insatge n'ha betg funcziunà durant transferir tia datoteca.",
        "api-error-unknown-warning": "Avertiment nunenconuschent: \"$1\".",
        "api-error-unknownerror": "Errur nunenconuschenta: \"$1\".",
-       "api-error-uploaddisabled": "La funcziun da chargiar datotecas sin quest vichi è deactivada.",
-       "api-error-verification-error": "Questa datoteca pudess esser corrupta ni avair ina extensiun faussa.",
        "duration-seconds": "$1 {{PLURAL:$1|secunda|secundas}}",
        "duration-minutes": "$1 {{PLURAL:$1|minuta|minutas}}",
        "duration-hours": "$1 {{PLURAL:$1|ura|uras}}",
index 814f123..3f8d740 100644 (file)
        "login": "Autentificare",
        "login-security": "Verificați-vă identitatea",
        "nav-login-createaccount": "Creare cont / Autentificare",
-       "userlogin": "Creare cont / Autentificare",
-       "userloginnocreate": "Autentificare",
        "logout": "Închidere sesiune",
        "userlogout": "Închide sesiunea",
        "notloggedin": "Nu sunteți autentificat",
        "userlogin-noaccount": "Nu aveți cont încă?",
        "userlogin-joinproject": "Înscrieți-vă la {{SITENAME}}",
-       "nologin": "Nu aveți cont încă? $1.",
-       "nologinlink": "Creați-vă un cont de utilizator acum",
        "createaccount": "Creare cont",
-       "gotaccount": "Aveți deja un cont de utilizator? '''$1'''.",
-       "gotaccountlink": "Autentificați-vă",
-       "userlogin-resetlink": "Ați uitat datele de autentificare?",
        "userlogin-resetpassword-link": "V-ați uitat parola?",
        "userlogin-helplink2": "Ajutor la autentificare",
        "userlogin-loggedin": "Sunteți deja {{GENDER:$1|autentificat|autentificată}} ca {{GENDER:$1|$1}}.\nUtilizați formularul de mai jos pentru a vă autentifica cu alt nume de utilizator.",
        "createaccountmail": "Utilizează o parolă temporară aleasă la întâmplare și o trimite la adresa de e-mail indicată",
        "createaccountmail-help": "Poate fi folosit pentru a crea un cont pentru o altă persoană fără a cunoaște parola.",
        "createacct-realname": "Nume real (opțional)",
-       "createaccountreason": "Motiv:",
        "createacct-reason": "Motiv",
        "createacct-reason-ph": "De ce creați un alt cont",
        "createacct-reason-help": "Mesaj care apare în jurnalul de creare a conturilor",
        "action-deleterevision": "ștergeți această versiune",
        "action-deletelogentry": "ștergeți înregistrări din jurnal",
        "action-deletedhistory": "vizualizați istoricul șters a unei pagini",
+       "action-deletedtext": "vizualizați textul versiunii șterse",
        "action-browsearchive": "căutați pagini șterse",
        "action-undelete": "recuperați această pagină",
        "action-suppressrevision": "revizuiți și să restaurați versiuni ascunse",
        "recentchanges-legend-plusminus": "(''±123'')",
        "recentchanges-submit": "Afișează",
        "rcnotefrom": "Dedesubt {{PLURAL:$5|se află o modificare|sunt modificările}} începând cu <b>$3, $4</b> (maximum <b>$1</b> afișate).",
-       "rclistfrom": "Se afișează modificările începând cu $3, $2",
+       "rclistfrom": "Afișează modificările începând cu $3, ora $2",
        "rcshowhideminor": "$1 modificările minore",
        "rcshowhideminor-show": "Arată",
        "rcshowhideminor-hide": "Ascunde",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|a actualizat}} etichetele pentru versiunea $4 a paginii $3 ({{PLURAL:$7|adăugat}} $6; {{PLURAL:$9|șters}} $8)",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|a actualizat}} etichetele intrării din jurnal $5 a paginii $3 ({{PLURAL:$7|adăugat}} $6; {{PLURAL:$9|șters}} $8)",
        "rightsnone": "(niciunul)",
-       "revdelete-summary": "descrierea modificărilor",
        "feedback-adding": "Se adaugă părerea pe pagină...",
        "feedback-back": "Înapoi",
        "feedback-bugcheck": "Minunat! Trebuie doar să verificați dacă nu cumva problema a fost [$1 deja înregistrată].",
        "feedback-thanks": "Mulțumim! Comentariile dumneavoastră au fost publicate pe pagina „[ $2  $1 ]”.",
        "feedback-thanks-title": "Mulțumim!",
        "feedback-useragent": "Agent utilizator:",
-       "searchsuggest-search": "Căutare",
+       "searchsuggest-search": "Căutare în {{SITENAME}}",
        "searchsuggest-containing": "conținând...",
        "api-error-badtoken": "Eroare internă: jeton greșit.",
        "api-error-emptypage": "Crearea paginilor noi, goale nu este permisă.",
index a58a9db..e4bf952 100644 (file)
        "searcharticle": "Véje",
        "history": "Storie d'a pàgene",
        "history_short": "Cunde",
+       "history_small": "cunde",
        "updatedmarker": "aggiornate da l'urtema visita meje",
        "printableversion": "Versione ca se stambe",
        "permalink": "Collegamende ca remane pe sembre",
        "externaldberror": "Vide bbuene, o stè 'n'errore de autendicazione a 'u database oppure tu non ge puè aggiorna 'u cunde tue esterne.",
        "login": "Tràse",
        "nav-login-createaccount": "Tràse / Reggistrete",
-       "userlogin": "Tràse / Reggistrete",
-       "userloginnocreate": "Tràse",
        "logout": "Isse",
        "userlogout": "Isse",
        "notloggedin": "Non ge sì colleghete",
        "userlogin-noaccount": "Non ge tìne 'nu cunde?",
        "userlogin-joinproject": "Tràse jndr'à {{SITENAME}}",
-       "nologin": "Non ge tine n'utenze? '''$1'''.",
-       "nologinlink": "Ccreje 'nu cunde utende",
        "createaccount": "Ccreje 'nu cunde",
-       "gotaccount": "Tine già 'nu cunde? '''$1'''.",
-       "gotaccountlink": "Tràse",
-       "userlogin-resetlink": "T'è scurdate le dettaglie pe trasè?",
        "userlogin-resetpassword-link": "T'è scurdate 'a passuord toje?",
        "userlogin-helplink2": "Aijute cu 'a trasute",
        "userlogin-loggedin": "Tu ste jndre ggià cumme a {{GENDER:$1|$1}}.\nAuse 'u module aqquà sotte pe trasè cumme a 'n'otre utende.",
        "createacct-another-email-ph": "Mitte l'indirizze email",
        "createaccountmail": "Ause 'na passuord temboranèe a uecchije e mannale a l'indirizze email specificate",
        "createacct-realname": "Nome vere (opzionale)",
-       "createaccountreason": "Mutive:",
        "createacct-reason": "Mutive",
        "createacct-reason-ph": "Purcé tu ste ccreje 'n'otre cunde utende?",
        "createacct-submit": "Ccreje 'u cunde utende tune",
        "selfredirect": "<strong>Attenziò:</strong> Tu ste redirezione sta pàgene da sule.\nTu puè avè specificate 'a destinazione sbagliate pe stu redirezionamende, o tu ste cange 'a pàgena sbagliate.\nCe tu cazze \"{{int:savearticle}}\" arrete, 'u redirezionamende avène ccrejate 'u stesse.",
        "missingcommenttext": "Pe piacere mitte 'nu commende aqquà sotte.",
        "missingcommentheader": "<strong>Arrecuèrdete:</strong> Tu non g'è provvedute a 'nu soggette pe stu commende.\nCe tu cazze \"{{int:savearticle}}\" 'n'otra vote, 'u cangiamende tune avène memorizzate senze jidde.",
-       "summary-preview": "Andeprime d'u riepileghe:",
-       "subject-preview": "Andeprime de l'Oggette:",
+       "summary-preview": "Andeprime d'u riepileghe d'u cangiamende:",
+       "subject-preview": "Andeprime de l'oggette:",
        "previewerrortext": "'N'errore ha assute quanne ste facive l'andeprime de le cangiaminde.",
        "blockedtitle": "L'utende è blocchete",
        "blockedtext": "''''U nome de l'utende o l'indirizze IP ha state bloccate.'''\n\n'U blocche ha state fatte da $1.\n'U mutive date jè ''$2''.\n\n* 'U Blocche accumenze: $8\n* 'U Blocche spicce: $6\n* Tipe de blocche: $7\n\nTu puè condatta $1 o n'otre [[{{MediaWiki:Grouppage-sysop}}|amministratore]] pe 'ngazzarte sus a 'u blocche.\nTu non ge puè ausà 'u strumende 'manne 'na mail a stu utende' senza ca mitte n'indirizze e-mail valide jndr'à le\n[[Special:Preferences|preferenze tue]] e ce è state blocchete sus 'a l'use sue.\nL'IP ca tine mò jè $3 e 'u codece d'u blocche jè #$5.\nPe piacere mitte ste doje 'mbormaziune ce manne 'na richieste de sblocche.",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|aggiornate}} le tag sus 'a revisione $4 d'a pàgene $3 ({{PLURAL:$7|aggiunde}} $6; {{PLURAL:$9|luate}} $8)",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|aggiornate}} le tag sus 'a vôsce de l'archivije $5 d'a pàgene $3 ({{PLURAL:$7|aggiunde}} $6; {{PLURAL:$9|luate}} $8)",
        "rightsnone": "(ninde)",
-       "revdelete-summary": "cange 'u riepileghe",
        "feedback-adding": "Aggiunge feedback a 'a pàgene...",
        "feedback-back": "Rrete",
        "feedback-bugcheck": "Granne! Appene verificate ca non g'è une de le [$1 bug canusciute].",
index ac07205..3c48c9f 100644 (file)
                        "Gamliel Fishkin",
                        "Ping08",
                        "Yuryleb",
-                       "Redredsonia"
+                       "Redredsonia",
+                       "Nitch"
                ]
        },
        "tog-underline": "Подчёркивание ссылок:",
        "edit": "Править",
        "edit-local": "Редактировать локальное описание",
        "create": "Создать",
-       "create-local": "Ð\94обавиÑ\82Ñ\8c Ð»Ð¾ÐºÐ°Ð»Ñ\8cное Ð¾Ð¿Ð¸Ñ\81ание",
+       "create-local": "СоздаÑ\82Ñ\8c Ð»Ð¾ÐºÐ°Ð»Ñ\8cно",
        "editthispage": "Править эту страницу",
        "create-this-page": "Создать эту страницу",
        "delete": "Удалить",
        "login": "Войти",
        "login-security": "Подтвердите свою личность",
        "nav-login-createaccount": "Представиться / зарегистрироваться",
-       "userlogin": "Представиться или зарегистрироваться",
-       "userloginnocreate": "Войти",
        "logout": "Завершение сеанса",
        "userlogout": "Завершение сеанса",
        "notloggedin": "Вы не представились системе",
        "userlogin-noaccount": "Нет учётной записи?",
        "userlogin-joinproject": "Присоединиться к проекту",
-       "nologin": "Нет учётной записи? $1.",
-       "nologinlink": "Создать учётную запись",
        "createaccount": "Создать учётную запись",
-       "gotaccount": "Вы уже зарегистрированы? '''$1'''.",
-       "gotaccountlink": "Представьтесь",
-       "userlogin-resetlink": "Забыли данные для входа?",
        "userlogin-resetpassword-link": "Сбросить ваш пароль?",
        "userlogin-helplink2": "Помощь по входу",
        "userlogin-loggedin": "Вы уже вошли как {{GENDER:$1|$1}}.\nИспользуйте форму ниже, чтобы войти под другой учётной записью.",
        "createaccountmail": "Использовать сгенерированный случайным образом временный пароль и выслать его на указанный адрес электронной почты",
        "createaccountmail-help": "\nМожет использоваться, чтобы создать учетную запись для другого лица, не узнавая пароль.",
        "createacct-realname": "Настоящее имя (необязательно)",
-       "createaccountreason": "Причина:",
        "createacct-reason": "Причина",
        "createacct-reason-ph": "Зачем вы создаёте другую учетную запись",
        "createacct-reason-help": "Сообщение, отображаемое в журнале создания учётных записей",
        "prefs-help-prefershttps": "Эта настройка будет применена после следующего представления системе.",
        "prefswarning-warning": "Вы внесли в свои настройки изменения, которые ещё не были сохранены.\nЕсли вы покинете эту страницу, не нажав «$1», настройки не будут обновлены.",
        "prefs-tabs-navigation-hint": "Совет: Вы можете использовать клавиши стрелок влево и вправо для перехода между вкладками в списке вкладок.",
-       "userrights": "УпÑ\80авление Ð¿Ñ\80авами Ñ\83Ñ\87аÑ\81Ñ\82ника",
+       "userrights": "Ð\9fÑ\80ава Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8f",
        "userrights-lookup-user": "Выбор участника",
        "userrights-user-editname": "Введите имя учётной записи:",
        "editusergroup": "Загрузить группы участников",
        "rcfilters-invalid-filter": "Недопустимый фильтр",
        "rcfilters-empty-filter": "Нет активных фильтров. Показываются все правки.",
        "rcfilters-filterlist-title": "Фильтры",
+       "rcfilters-filterlist-whatsthis": "Что это?",
        "rcfilters-filterlist-feedbacklink": "Оставить отзыв о новых (бета) фильтрах",
        "rcfilters-highlightbutton-title": "Выделить результаты",
        "rcfilters-highlightmenu-title": "Выберите цвет",
        "rcfilters-filter-editsbyother-label": "Правки других участников",
        "rcfilters-filter-editsbyother-description": "Правки, сделанные другими участниками (не вами).",
        "rcfilters-filtergroup-userExpLevel": "Уровня опыта (только для зарегистрированных участников)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "Новички",
-       "rcfilters-filter-userExpLevel-newcomer-description": "Менее 10 правок и 4 дней работы.",
-       "rcfilters-filter-userExpLevel-learner-label": "Учащиеся",
-       "rcfilters-filter-userExpLevel-learner-description": "Больше правок и дней работы, чем у «Новичков», но меньше, чем у «Опытных пользователей».",
-       "rcfilters-filter-userExpLevel-experienced-label": "Опытные пользователи",
-       "rcfilters-filter-userExpLevel-experienced-description": "Более 30 дней активности и 500 правок.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Новички",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Менее 10 правок и 4 дней работы.",
+       "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": "Более 30 дней активности и 500 правок.",
        "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-filtergroup-significance": "Значение",
        "rcfilters-filter-minor-label": "Малые правки",
        "rcfilters-filter-minor-description": "Правки, которые автор пометил как малые.",
        "movedarticleprotection": "перенёс настройки защиты с «[[$2]]» на «[[$1]]»",
        "protectedarticle-comment": "Защитил{{GENDER:$2||а}} «[[$1]]»",
        "modifiedarticleprotection-comment": "Изменил{{GENDER:$2||а}} уровень защиты «[[$1]]»",
-       "unprotectedarticle-comment": "Убрал {{GENDER:$2||а}} защиту с «[[$1]]»",
+       "unprotectedarticle-comment": "Cнял{{GENDER:$2||а}} защиту с «[[$1]]»",
        "protect-title": "Установка уровня защиты для «$1»",
        "protect-title-notallowed": "Просмотр уровня защиты «$1»",
        "prot_1movedto2": "[[$1]] переименована в [[$2]]",
        "print.css": "/* Размещённый здесь CSS будет применяться к версии для печати */",
        "noscript.css": "/* Размещённый здесь CSS будет применяться для участников с отключенным JavaScript  */",
        "group-autoconfirmed.css": "/* Размещённый здесь CSS будет применяться для автоподтверждённых участников */",
-       "group-user.css": "/* CSS для размещен здесь затронут только для зарегистрированных пользователей */",
+       "group-user.css": "/* Размещённый здесь CSS будет применяться только для зарегистрированных пользователей */",
        "group-bot.css": "/* Размещённый здесь CSS будет применяться только для ботов */",
        "group-sysop.css": "/* Размещённый здесь CSS будет применяться только для администраторов */",
        "group-bureaucrat.css": "/* Размещённый здесь CSS будет применяться только для бюрократов */",
        "common.js": "/* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */",
        "group-autoconfirmed.js": "/* Размещённый здесь код JavaScript будет загружаться только участникам, имеющим статус автоподтверждённых (autoconfirmed) */",
-       "group-user.js": "/* Ð\97деÑ\81Ñ\8c Ð»Ñ\8eбой JavaScript Ð±Ñ\83деÑ\82 Ð·Ð°Ð³Ñ\80Ñ\83жаться только для зарегистрированных пользователей */",
+       "group-user.js": "/* Ð Ð°Ð·Ð¼ÐµÑ\89Ñ\91ннÑ\8bй Ð·Ð´ÐµÑ\81Ñ\8c JavaScript Ð±Ñ\83деÑ\82 Ð¿Ñ\80именÑ\8fться только для зарегистрированных пользователей */",
        "group-bot.js": "/* Размещённый здесь код JavaScript будет загружаться только участникам, имеющим статус ботов (bots) */",
        "group-sysop.js": "/* Размещённый здесь код JavaScript будет загружаться только участникам, имеющим статус администраторов (sysops) */",
        "group-bureaucrat.js": "/* Размещённый здесь код JavaScript будет загружаться только участникам, имеющим статус бюрократов (bureaucrats) */",
        "logentry-tag-update-revision": "$1 обновил{{GENDER:$2||а}} метки у версии $4 страницы $3 (добавлен{{PLURAL:$7|а|ы}} $6; удален{{PLURAL:$9|а|ы}} $8)",
        "logentry-tag-update-logentry": "$1 обновил{{GENDER:$2||а}} метки у записи журнала $5 страницы $3 (добавлен{{PLURAL:$7|а|ы}} $6; удален{{PLURAL:$9|а|ы}} $8)",
        "rightsnone": "(нет)",
-       "revdelete-summary": "описание изменений",
        "rightslogentry-temporary-group": "$1 (временно, до $2)",
        "feedback-adding": "Добавление отзыва на страницу…",
        "feedback-back": "Назад",
index 7c1f625..382019d 100644 (file)
        "externaldberror": "Або ся стала хыба екстерной автентіфікачной датабазы, або не маєте дозволено мінити своє екстерне конто.",
        "login": "Приголошіня",
        "nav-login-createaccount": "Приголошіня / створїня конта",
-       "userlogin": "Приголошіня / створїня конта",
-       "userloginnocreate": "Приголошіня",
        "logout": "Одголосити",
        "userlogout": "Одголошіня",
        "notloggedin": "Не сьте приголошеный(а)",
        "userlogin-noaccount": "Не мате конто?",
        "userlogin-joinproject": "Придайте ся {{grammar:3sg|{{SITENAME}}}}",
-       "nologin": "До теперь не маєте конто? '''$1'''.",
-       "nologinlink": "Створити конто",
        "createaccount": "Вытворити конто",
-       "gotaccount": "Уж сьте реґістрованы? '''$1'''.",
-       "gotaccountlink": "Приголошіня",
-       "userlogin-resetlink": "Забыли сьте вашы даны на приголошіня?",
        "userlogin-resetpassword-link": "Забыли сьте гесло?",
        "userlogin-loggedin": "Уж сьте {{GENDER:$1|приголошеный|приголошена}} як $1.\nХоснуйте формулар долов жебы сьте ся приголосили як другый хоснователь.",
        "userlogin-createanother": "Створити інше конто",
        "createacct-another-email-ph": "Уведьте адресу електронічной пошты",
        "createaccountmail": "Схосновати дочасне гесло та загнати го на вказану адресу електронічной пошты",
        "createacct-realname": "Правдиве імя (не обовязково)",
-       "createaccountreason": "Причіна:",
        "createacct-reason": "Прічіна",
        "createacct-reason-ph": "Чом собі робите друге конто",
        "createacct-submit": "Створити конто",
        "logentry-rights-rights-legacy": "$1 {{GENDER:$1|змінив|змінила}} членство в ґрупах про $3",
        "logentry-rights-autopromote": "$1 {{GENDER:$2|быв автоматічно переведеный|была автоматічно переведана}} з $4 на $5",
        "rightsnone": "(жадне)",
-       "revdelete-summary": "коментарь едітованя",
        "feedback-adding": "Коментарь ся придавать на сторінку…",
        "feedback-bugcheck": "Герешнї! Лем перевірьте, ці то не єдна з [$1 уж знамых хыб].",
        "feedback-bugnew": "Перевірив(а) єм то. Хочу повідомити нову хыбу.",
index a6af6a9..0931c4a 100644 (file)
@@ -23,7 +23,8 @@
                        "Matma Rex",
                        "Aursani",
                        "V6rg",
-                       "C.R."
+                       "C.R.",
+                       "Anomie"
                ]
        },
        "tog-underline": "Unnerline airtins:",
        "login": "Log in",
        "login-security": "Verify yer identity",
        "nav-login-createaccount": "Log in / cræft aen accoont",
-       "userlogin": "Cræft aen accoont or log in",
-       "userloginnocreate": "Log in.",
        "logout": "Log oot",
        "userlogout": "Log oot",
        "notloggedin": "Naw loggit in",
        "userlogin-noaccount": "Dinna hae aen accoont?",
        "userlogin-joinproject": "Jyn {{SITENAME}}",
-       "nologin": "Dinna hae aen accoont? $1.",
-       "nologinlink": "Cræft aen accoont",
        "createaccount": "Creaut accoont",
-       "gotaccount": "Awreadie hae aen accoont? $1.",
-       "gotaccountlink": "Log in",
-       "userlogin-resetlink": "Fergotten yer login details?",
        "userlogin-resetpassword-link": "Fergot yer password?",
        "userlogin-helplink2": "Heelp wi loggin in",
        "userlogin-loggedin": "Ye'r awreadie loggit in as {{GENDER:$1|$1}}.\nUise the form ablow tae log in as anither uiser.",
        "createacct-another-email-ph": "Enter wab-mail address",
        "createaccountmail": "Uise ae temporarie random passwaird n send it til the speceefied wab-mail address",
        "createacct-realname": "Real name (optional).",
-       "createaccountreason": "Raison:",
        "createacct-reason": "Raison",
        "createacct-reason-ph": "Why ar ye creating anither accoont",
        "createacct-reason-help": "Message shawn in the accoont creation log",
        "logentry-managetags-delete": "$1 {{GENDER:$2|deletit}} the tag \"$4\" (remuived frae $5 {{PLURAL:$5|reveesion or log entry|reveesions an/or log entries}})",
        "log-name-tag": "Tag log",
        "rightsnone": "(nane)",
-       "revdelete-summary": "eedit the ootline",
        "feedback-adding": "Eikin feedback til page...",
        "feedback-bugcheck": "Wunnerfu! Just check that it's na awreadie yin o the [$1 knawn bugs].",
        "feedback-bugnew": "Ah checkt. Report ae new bug",
index 9549557..5107682 100644 (file)
@@ -6,7 +6,8 @@
                        "Fayazburiro",
                        "Sindhu",
                        "Mehtab ahmed",
-                       "Macofe"
+                       "Macofe",
+                       "Indus Asia"
                ]
        },
        "tog-underline": "ڳنڍڻي هيٺان لڪير:",
        "login": "داخل ٿيو",
        "login-security": "پنھنجي سڃاڻپ جي خاطري ڪريو",
        "nav-login-createaccount": "داخل ٿيو / کاتو کوليو",
-       "userlogin": "داخل ٿيو / کاتو کوليو",
-       "userloginnocreate": "داخل ٿيو",
        "logout": "خارج ٿيو",
        "userlogout": "خارج ٿيو",
        "notloggedin": "داخل ٿيل نہ آهيو",
        "userlogin-noaccount": "کاتو نہ ٿا رکو؟",
        "userlogin-joinproject": "{{SITENAME}} ۾ شامل ٿيو",
-       "nologin": " کاتو نہ ٿا رکو؟ '''$1'''.",
-       "nologinlink": "نئون کاتو کوليو",
        "createaccount": "کاتو کوليو",
-       "gotaccount": "ڇا اڳي ئي کاتو رکو ٿا؟ '''$1'''.",
-       "gotaccountlink": "داخل ٿيو",
-       "userlogin-resetlink": "پنهنجي داخل ٿيڻ جا تفصيل وساري ويٺا؟",
        "userlogin-resetpassword-link": "ڳجھولفظ وساري ويٺا آهيو؟",
        "userlogin-helplink2": "داخل ٿيڻ ۾ مدد",
        "userlogin-reauth": "اھو پڪ ڪرڻ لاءِ ته توھان {{GENDER:$1|$1}} آھيو توھان کي ٻيھر داخل ٿيڻو پوندو.",
        "createacct-another-email-ph": "برق ٽپال پتو ڄاڻايو",
        "createaccountmail": "ڪو بہ عارضي ڳجھولفظ استعمال ڪريو ۽ ڄاڻايل برقٽپال پتي تي اماڻيو",
        "createacct-realname": "اصل نالو (مرضيءَ موجب)",
-       "createaccountreason": "سبب:",
        "createacct-reason": "سبب",
        "createacct-reason-ph": "توهان ٻيو کاتو ڇو کولي رهيا آهيو",
        "createacct-submit": "پنھنجو کاتو کوليو",
        "recentchanges-legend-heading": "<strong>ڪنجي:</strong>",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (پڻ ڏسو [[Special:NewPages|نون صفحن جي فھرست]])",
        "recentchanges-submit": "ڏيکاريو",
+       "rcfilters-filterlist-whatsthis": "هي ڇا آهي؟",
+       "rcfilters-highlightbutton-title": "نتيجن کي نمايان (هاءِ لائيٽ) ڪيو",
+       "rcfilters-highlightmenu-title": "رنگ چونڊيو",
        "rcnotefrom": "هيٺ {{PLURAL:$5|تبديلي آهي|تبديليون آهن}} کان <strong>$3, $4</strong> (تائين <strong>$1</strong> ) ڏيکاريل آهن.",
        "rclistfrom": "$2، $3 کان شروع ٿيندڙ نيون تبديليون ڏيکاريو",
        "rcshowhideminor": "$1 معمولي ترميمون",
        "logentry-newusers-create": "يوزر کاتو $1 {{GENDER:$2|سرجيو ويو}}",
        "logentry-upload-upload": "$1 {{GENDER:$2|چاڙهيو}} $3",
        "rightsnone": "(ڪو بہ نہ)",
-       "revdelete-summary": "ترميمي خلاصو",
        "feedback-back": "پوئتي",
        "feedback-cancel": "رد",
        "feedback-close": "ٿي ويو",
index 0b2b10c..404083e 100644 (file)
@@ -12,7 +12,8 @@
                        "Trondtr",
                        "לערי ריינהארט",
                        "아라",
-                       "Macofe"
+                       "Macofe",
+                       "Pyscowicz"
                ]
        },
        "tog-underline": "Liŋkkaid vuolláisárgun",
        "oct": "golg",
        "nov": "skáb",
        "dec": "juov",
+       "january-date": "ođđajagimánnu $1",
+       "february-date": "guovvamánnu $1",
+       "march-date": "njukčamánnu $1",
+       "april-date": "cuoŋománnu $1",
+       "may-date": "miessemánnu $1",
+       "june-date": "geassemánnu $1",
+       "july-date": "suoidnemánnu $1",
+       "august-date": "borgemánnu $1",
+       "september-date": "čakčamánnu $1",
+       "october-date": "golggotmánnu $1",
+       "november-date": "skábmamánnu $1",
+       "december-date": "juovlamánnu $1",
        "pagecategories": "{{PLURAL:$1|Luohkká|Luohkát}}",
        "category_header": "Siiddut, mat gullet luohkkái $1",
        "subcategories": "Vuolleluohkát",
        "searcharticle": "Mana",
        "history": "Siiddu historjá",
        "history_short": "Historjá",
+       "history_small": "historjá",
        "updatedmarker": "beaiváduvvon du ovddit fitnama maŋŋá",
        "printableversion": "Prentenveršuvdna",
        "permalink": "Bissovaš liŋka",
        "yourdomainname": "Fierbmenamma",
        "login": "Čálligoađe sisa",
        "nav-login-createaccount": "Daga ođđa geavaheaddjidovddaldaga dahje čálligoađe sisa",
-       "userlogin": "Logge sisa dahje ráhkat dovddaldaga",
        "logout": "Čálligoađe olggos",
        "userlogout": "Logge olggos",
        "notloggedin": "It leat čálligoahttan sisa",
-       "nologin": "Jus dus ii vel leat geavaheaddjidovddaldat, sáhtát '''$1''' dakkára.",
-       "nologinlink": "ráhkadit",
        "createaccount": "Ráhkat dovddaldaga",
-       "gotaccount": "Jus dus lea jo geavaheaddjidovddaldat, sáhtát '''$1'''.",
-       "gotaccountlink": "Logge sisa",
        "createaccountmail": "e-poasttain",
        "badretype": "Suollemassánit maid čállet eai leat seammalaganat.",
        "userexists": "Geavaheaddjidovddaldat, man evttohit, lea jo anus. Leage buorre ja vállje nubbi geavaheaddjidovddaldaga.",
        "prefs-misc": "Eará",
        "saveprefs": "Vurke ásahusaid",
        "prefs-editing": "Rievdadeapmi",
-       "rows": "Gurgadasa:",
-       "columns": "Kolumnat",
        "searchresultshead": "Ohcan",
        "recentchangescount": "Siiddui mearri varas rievdadusain",
        "savedprefs": "Du ásahusid vurken lihkosmuvai.",
index eea4a6a..40e57a9 100644 (file)
@@ -13,7 +13,8 @@
                        "Matma Rex",
                        "Srdjan m",
                        "Conquistador",
-                       "Xð"
+                       "Xð",
+                       "Сербијана"
                ]
        },
        "tog-underline": "Podvuci linkove:",
        "category_header": "Stranice u kategoriji \"$1\"",
        "subcategories": "Potkategorije",
        "category-media-header": "Medijske datoteke u kategoriji \"$1\"",
-       "category-empty": "''Ova kategorija trenutno ne sadrži članke ni medijske datoteke.''",
+       "category-empty": "<em>Ova kategorija trenutno ne sadrži članke ni medijske datoteke.</em>",
        "hidden-categories": "{{PLURAL:$1|Sakrivena kategorija|Sakrivene kategorije}}",
        "hidden-category-category": "Sakrivene kategorije",
        "category-subcat-count": "{{PLURAL:$2|Ova kategorija ima sljedeću $1 potkategoriju.|Ova kategorija ima {{PLURAL:$1|sljedeće potkategorije|sljedećih $1 potkategorija}}, od $2 ukupno.}}",
        "aboutsite": "O projektu {{SITENAME}}",
        "aboutpage": "Project:O_projektu_{{SITENAME}}",
        "copyright": "Pod licencom / Под лиценцом: $1.",
-       "copyrightpage": "{{ns:project}}:Autorska_prava",
+       "copyrightpage": "{{ns:project}}:Autorska prava",
        "currentevents": "Trenutni događaji",
        "currentevents-url": "Project:Novosti",
        "disclaimers": "Odricanje od odgovornosti",
        "externaldberror": "Došlo je do greške pri vanjskoj autorizaciji baze podataka ili vam nije dopušteno osvježavanje Vašeg vanjskog korisničkog računa.",
        "login": "Prijavi me - Пријави ме",
        "nav-login-createaccount": "Prijavi se / Registruj se",
-       "userlogin": "Prijavi se / Пријави се",
-       "userloginnocreate": "Prijavi se",
        "logout": "Odjava",
        "userlogout": "Odjavi se / Одјави се",
        "notloggedin": "Niste prijavljeni",
        "userlogin-noaccount": "Nemate račun?",
        "userlogin-joinproject": "Pridružite se {{SITENAME}}",
-       "nologin": "Nemate korisničko ime? '''$1'''.",
-       "nologinlink": "Izradi račun",
        "createaccount": "Izradi račun",
-       "gotaccount": "Imate račun? '''$1'''.",
-       "gotaccountlink": "Prijavite se / Пријавите се",
-       "userlogin-resetlink": "Zaboravili ste detalje vaše prijave?",
        "userlogin-resetpassword-link": "Zaboravili ste lozinku?",
        "userlogin-helplink2": "Pomoć pri prijavljivanju",
        "userlogin-loggedin": "Već ste prijavljeni kao {{GENDER:$1|$1}}.\nKoristite donji obrazac da biste se prijavili kao drugi korisnik.",
        "createacct-another-email-ph": "Postavite E-mail adresu",
        "createaccountmail": "Koristite privremenu, slučajno stvorenu šifru/lozinku i pošaljite na navedenu adrеsu e-pošte",
        "createacct-realname": "Stvarno ime (opcionalno)",
-       "createaccountreason": "Razlog:",
        "createacct-reason": "Razlog",
        "createacct-reason-ph": "Zašto stvarate novi račun",
        "createacct-submit": "Stvorite svoj račun",
        "userinvalidcssjstitle": "'''Upozorenje:''' Nema skina pod imenom \"$1\".\nUpamtite da korisničke .css i .js stranice koriste naslov s malim slovom, npr. {{ns:user}}:Foo/monobook.css umjesto {{ns:user}}:Foo/Monobook.css.",
        "updated": "(Osvježeno)",
        "note": "'''Napomena:'''",
-       "previewnote": "'''Ne zaboravite da je ovo samo pregled'''\nIzmjene stranice nisu još sačuvane!",
+       "previewnote": "<strong>Ne zaboravite da je ovo samo pregled</strong>\nIzmjene stranice nisu još sačuvane!",
        "continue-editing": "Idi na područje uređivanja",
        "previewconflict": "Ovaj pretpregled reflektuje tekst u gornjem polju\nkako će izgledati ako pritisnete \"Snimi stranicu\".",
        "session_fail_preview": "'''Izvinjavamo se! Nismo mogli obraditi vašu izmjenu zbog gubitka podataka o prijavi. Molimo pokušajte ponovno. Ako i dalje ne bude radilo, pokušajte se [[Special:UserLogout|odjaviti]] i ponovno prijaviti.'''",
        "logentry-rights-autopromote": "$1 {{GENDER:$2|je automatski unaprijeđen|je automatski unaprijeđena}} iz $4 u $5",
        "logentry-upload-upload": "$1 {{GENDER:$2|postavio|postavila}} je $3",
        "rightsnone": "(nema)",
-       "revdelete-summary": "sažetak izmjene",
        "feedback-adding": "Dodajem povratne informacije na stranicu...",
        "feedback-bugcheck": "Izvrsno! Molimo provjerite da se ne radi o nekom [$1 poznatom \"bugu\"].",
        "feedback-bugnew": "Provereno. Prijavi novu grešku",
index fd6462a..f1e0537 100644 (file)
        "hidden-category-category": "လိူင်ႈ ဢၼ်လပ်ႉသိူင်ႇဝႆႉ",
        "category-subcat-count": "{{PLURAL:$2|ၼႂ်းလိူင်ႈဢၼ်ၼႆႉ မီးၵိင်ႇၽႄလိူင်ႈၼႆႉ ၸိူင်ႉၼႆၵွၺ်း|ၼႂ်းလိူင်ႈၼႆႉ မီး This category has the following {{PLURAL:$1|ၵိင်ႇၽႄလိူင်ႈ|$1 ၵိင်ႇၽႄလိူင်ႈတင်းလၢႆး}}, ၼႂ်းၵႃႊ $2 တင်းသဵင်ႈတင်းမူတ်း}}",
        "category-subcat-count-limited": "ၼႂ်းလိူင်ႈၼႆႉ မီးဝႆႉလိူင်ႈၼင်ႇၼႆ {{PLURAL:$1| ၵိင်ႇၽႄလိူင်ႈ |$1 ၵိင်ႇၽႄလိူင်ႈတင်းလၢႆ}}",
-       "category-article-count": "{{PLURAL:$2| á\80\9cá\80­á\80°á\80\84á\80ºá\82\88á\80¢á\81¼á\80ºá\81¼á\82\86á\82\89 á\80\95á\82\83á\80¸á\80\9dá\82\86á\82\89á\81¼á\82\83á\82\88á\80\9cá\80­á\81µá\80ºá\82\88á\81¼á\80\84á\80ºá\82\87á\80\95á\82\83á\82\88á\80\90á\82\82á\80ºá\82\88á\81¼á\82\86á\82\89á\81µá\80½á\81ºá\80ºá\80¸ |á\80\90á\81¢á\80\84á\80ºá\80¸á\80\95á\82\83á\82\88á\80\90á\82\82á\80ºá\82\88á\81¼á\82\86á\82\89{{PLURAL:$1| á\81¼á\82\83á\82\88á\80\9cá\80­á\81µá\80ºá\82\88 }} á\80\99á\80®á\80¸á\81¼á\82\82á\80ºá\80¸á\80\9cá\80­á\80°á\80\84á\80ºá\82\88á\81¼á\82\86á\82\89 á\81µá\82\83á\82\8aá\81¼á\82\82á\80ºá\80¸ $2 á\80\90á\80\84á\80ºá\80¸á\80\9eá\80µá\80\84á\80ºá\82\88á\80\90á\80\84á\80ºá\80¸á\80\99á\80°á\80\90á\80ºá\80¸}}",
+       "category-article-count": "{{PLURAL:$2| á\80\9cá\80­á\80°á\80\84á\80ºá\82\88á\80¢á\81¼á\80ºá\81¼á\82\86á\82\89 á\80\95á\82\83á\80¸á\80\9dá\82\86á\82\89á\81¼á\82\83á\82\88á\80\9cá\80­á\81µá\80ºá\82\88á\81¼á\80\84á\80ºá\82\87á\80\95á\82\83á\82\88á\80\90á\82\82á\80ºá\82\88á\81¼á\82\86á\82\89á\81µá\80½á\81ºá\80ºá\80¸ |á\81¼á\82\82á\80ºá\80¸á\80\9cá\80­á\80°á\80\84á\80ºá\82\88á\80¢á\81¼á\80ºá\81¼á\82\86á\82\89 {{PLURAL:$1| á\81¼á\82\83á\82\88á\80\9cá\80­á\81µá\80ºá\82\88 }} á\80\90á\80\84á\80ºá\80¸á\80\9eá\80µá\80\84á\80ºá\82\88á\80\90á\80\84á\80ºá\80¸á\80\99á\80°á\80\90á\80ºá\80¸ á\80\99á\80®á\80¸á\80\9dá\82\86á\82\89 $2 á\82\81á\80°á\80\9dá\80º}}á\81\8b",
        "category-article-count-limited": "တၢင်းပႃႈတႂ်ႈၼႆႉ  {{PLURAL:$1| ၼႃႈလိၵ်ႈ }} မီးၼႂ်းလိူင်ႈ တေႃႈလဵဝ်ၼႆႉ",
        "category-file-count": "{{PLURAL:$2| လိူင်ႈဢၼ်ၼႆႉ ပႃးဝႆႉၼႃႈလိၵ်ႈၼင်ႇပႃႈတႂ်ႈၼႆႉၵွၺ်း |တၢင်းပႃႈတႂ်ႈၼႆႉ{{PLURAL:$1| ၾႆႇၼႆႉပဵၼ်|$1 ၾၢႆႇၸိူဝ်းၼႆႉပဵၼ် }} မီးၼႂ်းလိူင်ႈၼႆႉ ၵႃႊၼႂ်း $2 တင်းသဵင်ႈတင်းမူတ်း}}",
        "category-file-count-limited": "ဢၼ်ပဵၼ် {{PLURAL:$1|ၾၢႆႇၼႆႉ|$1 ၾၢႆႇၸိူဝ်းၼႆႉ}} မီးဝႆႉတီႈၼႂ်း တွၼ်ႈၵၼ်ၼႆ့။",
        "login": "လွၵ်ႉဢိၼ်ႇ",
        "login-security": "ၼႄႉၼွၼ်း မၢႆၽၢင်ၸဝ်ႈၵဝ်ႇ",
        "nav-login-createaccount": "လွၵ်ႉဢိၼ်ႇ / သၢင်ႈဢၶွင်ႉ",
-       "userlogin": "လွၵ်ႉဢိၼ်ႇ / သၢင်ႈဢၶွင်ႉ",
-       "userloginnocreate": "လွၵ်ႉဢိၼ်ႇ",
        "logout": "လွၵ်ႉဢွၵ်ႉ",
        "userlogout": "လွၵ်ႉဢွၵ်ႉ",
        "notloggedin": "ဢမ်ႇလႆႈၶဝ်ႈဝႆ့",
        "userlogin-noaccount": "ပႆႇပႃႈမီးဢၶွင်ႉႁႃႉ?",
        "userlogin-joinproject": "ႁူမ်ႈ {{SITENAME}}",
-       "nologin": "ပႆႇပႃႈမီးဢၶွင်ႉႁႃႉ? $1",
-       "nologinlink": "ၵေႃႇသၢင်ႈဢၶွင်ႉ",
        "createaccount": "ႁဵတ်းဢၶွင်ႉ",
-       "gotaccount": "မီးဢၶွင်ႉဝႆႉယဝ်ႉႁႃႉ? $1",
-       "gotaccountlink": "လွၵ်ႉဢိၼ်ႇ",
-       "userlogin-resetlink": "လိုမ်းပႅတ်ႈၵႂႃႇ ႁူဝ်ယွႆႈ လွၵ်ႉဢိၼ်ႉၸဝ်ႈၵဝ်ႇယဝ်ႉႁႃႉ?",
        "userlogin-resetpassword-link": "လိုမ်းၵႂႃႇ ၶေႃႈလပ်ႉၸဝ်ႈၵဝ်ႇႁႃႉ?",
        "userlogin-helplink2": "ၸွႆႈထႅမ်တင်း ၶဝ်ႈလွၵ်ႉဢိၼ်ႇ",
        "userlogin-loggedin": "​ၸဝ်ႈၵဝ်ႇပေႃး ၶဝ်ႈၸႂ်ႉဝႆႉ ၼင်ႇ{{GENDER:$1|$1}} ယဝ်ႈ။\nၸႂ်ႉပၼ် လၢႆးၼင်ႇပႃႈတႂ်ႈၼႆႉသေ လွၵ်ႉဢိၼ်ႇၼင်ႇ ၽူႈၸႂ်ႉတိုဝ်းတၢင်ႇၵေႃႉ",
        "createaccountmail": "ၸႂ်ႉပၼ် ၶေႃႈလပ်ႉၸူဝ်ႈၵႅပ်ႉ သူင်ႇၼၼ်ႉၵႂႃႇၸူး ႁဵင်းလိၵ်ႈဢီးမေးလ် ဢၼ်မၵ်းမၼ်ႈဝႆႉ ပၼ်ၼၼ်ႉ။",
        "createaccountmail-help": "ပေႃးဢမ်ႇမီး လွင်ႈလဵပ်ႈႁဵၼ်း ၶေႃႈလပ်ႉၼႆ တေဢမ်ႇၸၢင်ႈဢဝ်ၸႂ်ႉ တႃႇတေၵေႃႇတင်ႈ ဢၶွင်ႉတွၼ်ႈတႃႇ ၵူၼ်းတၢင်ႇၵေႃႉ။",
        "createacct-realname": "ၸိုဝ်ႈတႄႉတႄႉ (ဢဝ်ၸႂ်ဝႃႈ)",
-       "createaccountreason": "လွင်ႈတၢင်း :",
        "createacct-reason": "လွင်ႈတၢင်း :",
        "createacct-reason-ph": "ယွၼ်ႉပိူဝ်ႈသင်လႄႈ ၸဝ်ႈၵဝ်ႇ ၵေႃႇသၢင်ႈဢၶွင်ႉတၢင်ႇဢၼ်",
        "createacct-reason-help": "ၶေႃႈၶၢဝ်ႇၼႄဝႆႉ ၵႃႈတီႈၼႂ်း သဵၼ်ႈ​မၢႆၵေႃႇသၢင်ႈ ဢၶွင်ႉ",
        "rcfilters-filter-editsbyother-label": "ဢၼ်တၢင်ႇၵေႃႉ ၵေႃႉထတ်း",
        "rcfilters-filter-editsbyother-description": "ၵၢၼ်မႄးထတ်း ဢၼ်ၽူႈၸႂ်ႉတိုဝ်း တၢင်ႇၸိူဝ်း ၵေႃသၢင်ႈဝႆႉ (ဢၼ်ဢမ်ႇၸႂ်ႈ ၸဝ်ႈၵဝ်ႇ)",
        "rcfilters-filtergroup-userExpLevel": "ၸၼ်ႉထၢၼ်ႈ တူဝ်ထူပ်း (တွၼ်ႈတႃႈ ၽူႈၸႂ်ႉတိုဝ်း ၸိူဝ်းတၢင်ႇဝႆႉ မႆၽၢင်ၵူၺ်း)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "ၵူၼ်းၼႃႈမႂ်ႇ",
-       "rcfilters-filter-userExpLevel-newcomer-description": "ဢေႇလိူဝ် ၵၢၼ်မႄးထတ်း ႑႐ ဢၼ် လႄႈ လွင်ႈတူင်ႉၼိုင် တႃႇသီႇဝၼ်း",
-       "rcfilters-filter-userExpLevel-learner-label": "ၽူႈလဵပ်ႈႁဵၼ်း",
-       "rcfilters-filter-userExpLevel-learner-description": "ၵၢၼ်တူင်ႉၼိုင်လႄႈ ၵၢၼ်မႄးထတ်း ဝၼ်းမၼ်း ၼမ်လိူဝ်သေ \"ၵူၼ်းၼႃႈမႂ်ႇ\"သေတႃႉ ဝၼ်းမၼ်းတိုၵ်ႉဢေႇလိူဝ်သေ \"ၽူႈၸႂ်ႉတိုဝ်း ၸိူဝ်းမီးတူဝ်ထူပ်း\"။",
-       "rcfilters-filter-userExpLevel-experienced-label": "ၽူႈၸႂ်ႉတိုဝ်း ၸိူဝ်းမီးတူဝ်ထူပ်း",
-       "rcfilters-filter-userExpLevel-experienced-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": "ၶိူင်ႈႁဵတ်းႁင်းၶေႃ ၵေႃႉႁဵတ်းသၢင်ႈဝႆႉ လွင်ႈမႄးထတ်း",
index 13fa595..fd9f5a5 100644 (file)
        "login": "පිවිසෙන්න",
        "login-security": "ඔබේ අනන්‍යතාවය තහවුරු කරන්න",
        "nav-login-createaccount": "පිවිසෙන්න / නව ගිණුමක් තනන්න",
-       "userlogin": "පිවිසෙන්න / නව ගිණුමක් තනන්න",
-       "userloginnocreate": "ප්‍රවිෂ්ට වන්න",
        "logout": "නික්මීම",
        "userlogout": "නික්මීම",
        "notloggedin": "ප්‍රවිසී නැත",
        "userlogin-noaccount": "ගිණුමක් නොමැතිද?",
        "userlogin-joinproject": "{{SITENAME}} හා එක්වන්න",
-       "nologin": "ඔබ හට ගිණුමක් නොමැතිද? '''$1'''.",
-       "nologinlink": "ගිණුමක් තනන්න",
        "createaccount": "අලුත් ගිණුමක් තනන්න",
-       "gotaccount": "දැනටමත් ගිණුමක් තිබේද? $1.",
-       "gotaccountlink": "පිවිසෙන්න",
-       "userlogin-resetlink": "ඔබේ පිවිසුම් තොරතුරු අමතකද?",
        "userlogin-resetpassword-link": "ඔබේ මුරපදය නැති වුනාද?",
        "userlogin-helplink2": "ගිණුම වෙත පිවිසීම සඳහා උදවු",
        "userlogin-loggedin": "ඔබ දැනටමත් {{GENDER:$1|}} ලෙස පිවිසී ඇත.\nනව පරිශීලකයෙකු ලෙස ඇතුළු වීමට පහත ආකෘතිය පුරවන්න.",
        "createacct-another-email-ph": "ඊ මේල් ලිපිනය ඇතුළත් කරන්න.",
        "createaccountmail": "තාවකාලික අහුඹු මුර පදයක් භාවිතා කර එය පහත දක්වා ඇති විද්යුත් තැපැල් ලිපිනයට යවන්න",
        "createacct-realname": "නියම නම (වෛකල්පීය)",
-       "createaccountreason": "හේතුව:",
        "createacct-reason": "හේතුව",
        "createacct-reason-ph": "ඔබ තවත් ගිණුමක් තනන්නේ කුමක් නිසාද",
        "createacct-submit": "ඔබේ ගිණුම තනන්න",
        "logentry-newusers-autocreate": "$1 පරිශීලක ගිණුම ස්වංක්‍රීයව {{GENDER:$2|නිර්මිතය}}",
        "logentry-upload-upload": "$1 විසින් $3 {{GENDER:$2|උඩුගත කරන ලදී}}",
        "rightsnone": "(කිසිවක් නොමැත)",
-       "revdelete-summary": "සංස්කරණ සාරාංශය",
        "feedback-adding": "ප්‍රතිචාරය පිටුවට එක් කරමින් ...",
        "feedback-bugcheck": "කදිමයි! දැන් එය දැනටමත් [$1 හඳුනාගත් දෝෂ]වල තිබේ දැයි පිරික්සන්න.",
        "feedback-bugnew": "මම පරික්ෂා කළා. නව දෝෂය වාර්තා කරන්න",
index e16e746..2da5182 100644 (file)
        "searcharticle": "Ísť na",
        "history": "História stránky",
        "history_short": "História",
+       "history_small": "história",
        "updatedmarker": "aktualizované od mojej poslednej návštevy",
        "printableversion": "Verzia na tlač",
        "permalink": "Trvalý odkaz",
        "views": "Zobrazenia",
        "toolbox": "Nástroje",
        "tool-link-userrights": "Zmeniť používateľské skupiny {{GENDER:$1|tohoto použivateľa|tejto používateľky}}",
+       "tool-link-userrights-readonly": "Zobraziť {{GENDER:$1|používateľské}} skupiny",
        "tool-link-emailuser": "Poslať e-mail {{GENDER:$1|tomuto používateľovi|tejto používateľke}}",
        "userpage": "Zobraziť stránku používateľa",
        "projectpage": "Zobraziť projektovú stránku",
        "login": "Prihlásiť",
        "login-security": "Overte svoju identitu",
        "nav-login-createaccount": "Prihlásenie / vytvorenie účtu",
-       "userlogin": "Prihlásenie / vytvorenie účtu",
-       "userloginnocreate": "Prihlásiť",
        "logout": "Odhlásiť",
        "userlogout": "Odhlásiť",
        "notloggedin": "Neprihlásený/á",
        "userlogin-noaccount": "Nemáte ešte účet?",
        "userlogin-joinproject": "Pridajte sa k {{GRAMMAR:lokál|{{SITENAME}}}}",
-       "nologin": "Nemáte ešte účet? $1.",
-       "nologinlink": "Vytvoriť nový účet",
        "createaccount": "Vytvoriť nový účet",
-       "gotaccount": "Máte už vytvorený účet? '''$1'''.",
-       "gotaccountlink": "Prihlásiť",
-       "userlogin-resetlink": "Zabudli ste svoje prihlasovacie údaje?",
        "userlogin-resetpassword-link": "Zabudli ste heslo?",
        "userlogin-helplink2": "Pomoc s prihlásením",
        "userlogin-loggedin": "Ste už {{GENDER:$1|prihlasený|prihlásená}} ako $1.\nPomocou formulára nižšie sa môžete prihlásiť ako iný používateľ.",
        "userlogin-reauth": "Aby ste preukázali, že ste $1, musíte sa znovu prihlásiť.",
        "userlogin-createanother": "Vytvoriť ďalší účet",
-       "createacct-emailrequired": "Emailová adresa",
-       "createacct-emailoptional": "Emailová adresa (nepovinné)",
-       "createacct-email-ph": "Zadajte svoju emailovú adresu",
-       "createacct-another-email-ph": "Zadajte svoju emailovú adresu",
-       "createaccountmail": "Použiť dočasné náhodné heslo a poslať ho na uvedenú emailovú adresu",
+       "createacct-emailrequired": "E-mailová adresa",
+       "createacct-emailoptional": "E-mailová adresa (nepovinné)",
+       "createacct-email-ph": "Zadajte svoju e-mailovú adresu",
+       "createacct-another-email-ph": "Zadajte svoju e-mailovú adresu",
+       "createaccountmail": "Použiť dočasné náhodné heslo a poslať ho na uvedenú e-mailovú adresu",
        "createaccountmail-help": "Môže byť použité na vytvorenie účtu pre inú osobu bez prezradenia hesla.",
        "createacct-realname": "Skutočné meno (nepovinné)",
-       "createaccountreason": "Dôvod:",
        "createacct-reason": "Dôvod",
        "createacct-reason-ph": "Prečo si vytvárate ďalší účet",
        "createacct-reason-help": "Správa zobrazená v knihe nových používateľov",
        "noemailcreate": "Musíte uviesť platnú e-mailovú adresu",
        "passwordsent": "Nové heslo bolo zaslané na e-mailovú adresu\npoužívateľa „$1“.\nProsím, prihláste sa znovu, keď ho dostanete.",
        "blocked-mailpassword": "Boli zablokované úpravy z vašej IP adresy, a tak nie je dovolené použiť funkciu znovuvyžiadania hesla, aby sa zabránilo zneužitiu.",
-       "eauthentsent": "Email s potvrdením bol zaslaný na uvedenú emailovú adresu.\nPredtým ako sa na účet pošle akákoľvek ďalšia pošta, musíte splniť inštrukcie v emaili, aby ste potvrdili, že účet je skutočne váš.",
-       "throttled-mailpassword": "E-mail na obnovenie hesla už bol odoslaný v priebehu {{PLURAL:$1|poslednej $1 hodiny|posledných $1 hodín}}.\nAby sa zabránilo zneužitiu, obnovenie hesla emailom je možné vykonať iba raz za {{PLURAL:$1|$1 hodinu|$1 hodiny|$1 hodín}}.",
+       "eauthentsent": "E-mail s potvrdením bol zaslaný na uvedenú adresu.\nPredtým ako sa na účet pošle akákoľvek ďalšia pošta, musíte splniť inštrukcie v e-maili, aby ste potvrdili, že účet je skutočne váš.",
+       "throttled-mailpassword": "E-mail na obnovenie hesla už bol odoslaný v priebehu {{PLURAL:$1|poslednej $1 hodiny|posledných $1 hodín}}.\nAby sa zabránilo zneužitiu, obnovenie hesla e-mailom je možné vykonať iba raz za {{PLURAL:$1|$1 hodinu|$1 hodiny|$1 hodín}}.",
        "mailerror": "Chyba pri posielaní e-mailu: $1",
        "acct_creation_throttle_hit": "Návštevníci tejto wiki z vašej IP adresy už za posledný deň vytvorili {{PLURAL:$1|$1 účet|$1 účty|$1 účtov}}, čo je maximálny počet povolený za toto časové obdobie.\nZ tohto dôvodu nemôžu návštevníci z tejto IP adresy momentálne vytvoriť ďalšie účty.",
-       "emailauthenticated": "Vaša emailová adresa bola overená $2 $3.",
-       "emailnotauthenticated": "Vaša e-mailová adresa ešte nebola overená.\nPreto nemôžete prijať emaily pre žiadnu z nasledovných funkcií.",
-       "noemailprefs": "Tieto nástroje budú prístupné po vyplnení emailovej adresy vo vašich nastaveniach.",
+       "emailauthenticated": "Vaša e-mailová adresa bola overená $2 o $3.",
+       "emailnotauthenticated": "Vaša e-mailová adresa ešte nebola overená.\nPreto nemôžete prijať e-maily pre žiadnu z nasledovných funkcií.",
+       "noemailprefs": "Tieto nástroje budú prístupné po vyplnení e-mailovej adresy vo vašich nastaveniach.",
        "emailconfirmlink": "Potvrďte svoju e-mailovú adresu",
-       "invalidemailaddress": "Emailovú adresu nemožno akceptovať, pretože sa zdá, že má neplatný formát. Zadajte adresu v správnom tvare alebo nechajte príslušné políčko prázdne.",
+       "invalidemailaddress": "E-mailovú adresu nemožno akceptovať, pretože sa zdá, že má neplatný formát. Zadajte adresu v správnom tvare alebo nechajte príslušné políčko prázdne.",
        "cannotchangeemail": "Na tejto wiki nie je možné meniť e-mailové adresy používateľského účtu.",
-       "emaildisabled": "Táto lokalita nedokáže posielať emaily.",
+       "emaildisabled": "Táto lokalita nedokáže posielať e-maily.",
        "accountcreated": "Účet vytvorený",
        "accountcreatedtext": "Používateľský účet [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|diskusia]]) bol vytvorený.",
        "createaccount-title": "Vytvorenie účtu na {{GRAMMAR:lokál|{{SITENAME}}}}",
-       "createaccount-text": "Niekto vytvoril účet pre vašu emailovú adresu na {{GRAMMAR:lokál|{{SITENAME}}}}\n($4) s názvom „$2“, s heslom „$3“. Mali by ste sa prihlásiť a svoje heslo teraz zmeniť.\n\nAk bol účet vytvorený omylom, túto správu môžete ignorovať.",
+       "createaccount-text": "Niekto vytvoril účet s vašou e-mailovou adresou na {{GRAMMAR:lokál|{{SITENAME}}}}\n($4) s názvom „$2“, s heslom „$3“. Mali by ste sa prihlásiť a svoje heslo teraz zmeniť.\n\nAk bol účet vytvorený omylom, túto správu môžete ignorovať.",
        "login-throttled": "Uskutočnili ste príliš mnoho neúspešných pokusov o prihlásenie.\nProsím, počkajte $1 predtým, než to skúsite znova.",
        "login-abort-generic": "Vaše prihlásenie bolo neúspešné – zrušené",
        "login-migrated-generic": "Váš účet bol presťahovaný a vaše používateľské meno už viac na tejto wiki neexistuje.",
        "pt-userlogout": "Odhlásiť sa",
        "php-mail-error-unknown": "Neznáma chyba vo funkcii PHP mail()",
        "user-mail-no-addy": "Pokus o odoslanie e-mailu bez e-mailovej adresy.",
-       "user-mail-no-body": "Sa pokúsil poslať email s prázdnym alebo neprimerane krátkym telom správy.",
+       "user-mail-no-body": "Pokus o odoslanie prázdneho alebo neprimerane krátkeho e-mailu.",
        "changepassword": "Zmeniť heslo",
        "resetpass_announce": "Pre dokončenie prihlásenia je potrebné nastaviť nové heslo.",
        "resetpass_text": "<!-- Sem pridajte text -->",
        "resetpass-validity-soft": "Vaše heslo je neplatné: $1\n\nVyberte si nové heslo, alebo kliknite na „{{int:authprovider-resetpass-skip-label}}“ a nastavte si ho neskôr.",
        "passwordreset": "Reset hesla",
        "passwordreset-text-one": "Pre získanie nového hesla vyplňte tento formulár.",
-       "passwordreset-text-many": "{{PLURAL:$1|Pre získanie nového hesla emailom, zadajte jeden z údajov.}}",
+       "passwordreset-text-many": "{{PLURAL:$1|Pre získanie nového hesla e-mailom, zadajte jeden z údajov.}}",
        "passwordreset-disabled": "Obnovenie hesla bolo na tejto wiki zakázané.",
        "passwordreset-emaildisabled": "E-mailové funkcie boli na tejto wiki vypnuté.",
        "passwordreset-username": "Používateľské meno:",
        "passwordreset-domain": "Doména:",
-       "passwordreset-email": "Emailová adresa:",
+       "passwordreset-email": "E-mailová adresa:",
        "passwordreset-emailtitle": "Podrobnosti o účte na {{GRAMMAR:lokál|{{SITENAME}}}}",
-       "passwordreset-emailtext-ip": "Niekto (pravdepodobne vy z IP adresy $1) požiadal o obnovenie vášho hesla na {{GRAMMAR:genitív|{{SITENAME}}}} ($4). {{PLURAL:$3|Nasledujúci používateľský účet je spojený|Nasledujúce používateľské účty sú spojené}}\ns touto emailovou adresou:\n\n$2\n\n{{PLURAL:$3|Platnosť tohto dočasného hesla vyprší|Platnosť týchto dočasných hesiel vyprší}} o {{PLURAL:$5|jeden deň|$5 dni|$5 dní}}.\nMali by ste sa prihlásiť teraz a zvoliť nové heslo. Ak túto žiadosť podal niekto iný alebo\nak ste si spomenuli svoje pôvodné heslo a už ho chcete zmeniť, môžete túto správu\nignorovať a ďalej používať vaše staré heslo.",
-       "passwordreset-emailtext-user": "Používateľ $1 na {{GRAMMAR:genitív|{{SITENAME}}}} požiadal o obnovenie vášho hesla na na {{GRAMMAR:genitív|{{SITENAME}}}} ($4). {{PLURAL:$3|Nasledujúci používateľský účet je spojený|Nasledujúce používateľské účty sú spojené}}\ns touto emailovou adresou:\n\n$2\n\n{{PLURAL:$3|Platnosť tohto dočasného hesla vyprší|Platnosť týchto dočasných hesiel vyprší}} o {{PLURAL:$5|jeden deň|$5 dni|$5 dní}}.\nMali by ste sa prihlásiť teraz a zvoliť nové heslo. Ak túto žiadosť podal niekto iný alebo\nak ste si spomenuli svoje pôvodné heslo a už ho chcete zmeniť, môžete túto správu\nignorovať a ďalej používať vaše staré heslo.",
+       "passwordreset-emailtext-ip": "Niekto (pravdepodobne vy z IP adresy $1) požiadal o obnovenie vášho hesla na {{GRAMMAR:genitív|{{SITENAME}}}} ($4). {{PLURAL:$3|Nasledujúci používateľský účet je spojený|Nasledujúce používateľské účty sú spojené}}\ns touto e-mailovou adresou:\n\n$2\n\n{{PLURAL:$3|Platnosť tohto dočasného hesla vyprší|Platnosť týchto dočasných hesiel vyprší}} o {{PLURAL:$5|jeden deň|$5 dni|$5 dní}}.\nMali by ste sa prihlásiť teraz a zvoliť nové heslo. Ak túto žiadosť podal niekto iný alebo\nak ste si spomenuli svoje pôvodné heslo a už ho chcete zmeniť, môžete túto správu\nignorovať a ďalej používať vaše staré heslo.",
+       "passwordreset-emailtext-user": "Používateľ $1 na {{GRAMMAR:genitív|{{SITENAME}}}} požiadal o obnovenie vášho hesla na na {{GRAMMAR:genitív|{{SITENAME}}}} ($4). {{PLURAL:$3|Nasledujúci používateľský účet je spojený|Nasledujúce používateľské účty sú spojené}}\ns touto e-mailovou adresou:\n\n$2\n\n{{PLURAL:$3|Platnosť tohto dočasného hesla vyprší|Platnosť týchto dočasných hesiel vyprší}} o {{PLURAL:$5|jeden deň|$5 dni|$5 dní}}.\nMali by ste sa prihlásiť teraz a zvoliť nové heslo. Ak túto žiadosť podal niekto iný alebo\nak ste si spomenuli svoje pôvodné heslo a už ho chcete zmeniť, môžete túto správu\nignorovať a ďalej používať vaše staré heslo.",
        "passwordreset-emailelement": "Používateľské meno: \n$1\n\nDočasné heslo:\n$2",
        "passwordreset-emailsentemail": "Pokiaľ je toto e-mailová adresa zaregistrovaná k vášmu účtu, bude na ňu zaslaný e-mail pre získanie nového hesla.",
        "passwordreset-emailsentusername": "Pokiaľ je príslušná mailová adresa zaregistrovaná, bude na ňu zaslaný e-mail s novým heslom.",
+       "passwordreset-nocaller": "Musí byť uvedený volajúci",
+       "passwordreset-nosuchcaller": "Volajúci neexistuje: $1",
+       "passwordreset-ignored": "Žiadosť o nové heslo nebola spracovaná. Možno nie je nakonfigurovaný žiaden poskytovateľ?",
+       "passwordreset-invalidemail": "Neplatná e-mailová adresa",
+       "passwordreset-nodata": "Nebolo zadané používateľské meno ani e-mailová adresa",
        "changeemail": "Zmeniť alebo odstrániť e-mailovú adresu",
-       "changeemail-header": "Vyplňte tento formulár, ak chcete zmeniť svoju emailovú adresu. Ak chcete odstrániť priradenie akejkoľvek emailovej adresy k vášmu účtu, nechajte pri odosielaní formulára emailovú adresu nevyplnenú",
+       "changeemail-header": "Vyplňte tento formulár, ak chcete zmeniť svoju e-mailovú adresu. Ak chcete odstrániť priradenie akejkoľvek e-mailovej adresy k vášmu účtu, nechajte pri odosielaní formulára e-mailovú adresu nevyplnenú",
        "changeemail-no-info": "Na prístup k tejto stránke musíte byť prihlásený.",
        "changeemail-oldemail": "Súčasná e-mailová adresa:",
        "changeemail-newemail": "Nová e-mailová adresa:",
        "previewerrortext": "Pri pokuse o zobrazenie náhľadu došlo k chybe.",
        "blockedtitle": "Používateľ je zablokovaný",
        "blockedtext": "'''Vaše používateľské meno alebo IP adresa bola zablokovaná.'''\n\nZablokoval vás správca $1. Udáva tento dôvod:<br />''$2''\n\n* Blokovanie začalo: $8\n* Blokovanie vyprší: $6\n* Kto mal byť zablokovaný: $7\n\nMôžete kontaktovať $1 alebo s jedného z ďalších [[{{MediaWiki:Grouppage-sysop}}|správcov]] a prediskutovať blokovanie.\nUvedomte si, že nemôžete použiť funkciu „{{int:Emailuser}}“, pokiaľ nemáte registrovanú platnú e-mailovú adresu vo svojich [[Special:Preferences|nastaveniach]].\nVaša IP adresa je $3 a ID blokovania je #$5.\nProsím, uveďte oba tieto údaje do každej správy, ktorú posielate.",
-       "autoblockedtext": "Vaša IP adresa bola automaticky zablokovaná, pretože ju používa iný používateľ, ktorého zablokoval $1.\nUdaný dôvod zablokovania:\n\n:''$2''\n\n* Blokovanie začalo: $8\n* Blokovanie vyprší: $6\n* Blokovanie sa týka: $7\n\nAk potrebujete informácie o blokovaní, môžete kontaktovať $1 alebo niektorého iného\n[[{{MediaWiki:Grouppage-sysop}}|správcu]].\n\nPozn.: Nemôžete použiť funkciu „{{int:emailuser}}“, ak ste si vo svojich\n[[Special:Preferences|používateľských nastaveniach]] nezaregistrovali platnú emailovú adresu.\n\nVaša aktuálna IP adresa je $3. ID vášho blokovania je $5.\nProsím, uveďte tieto podrobnosti v akýchkoľvek otázkach, ktoré sa opýtate.",
+       "autoblockedtext": "Vaša IP adresa bola automaticky zablokovaná, pretože ju používa iný používateľ, ktorého zablokoval $1.\nUdaný dôvod zablokovania:\n\n:''$2''\n\n* Blokovanie začalo: $8\n* Blokovanie vyprší: $6\n* Blokovanie sa týka: $7\n\nAk potrebujete informácie o blokovaní, môžete kontaktovať $1 alebo niektorého iného\n[[{{MediaWiki:Grouppage-sysop}}|správcu]].\n\nPozn.: Nemôžete použiť funkciu „{{int:emailuser}}“, ak ste si vo svojich\n[[Special:Preferences|používateľských nastaveniach]] nezaregistrovali platnú e-mailovú adresu.\n\nVaša aktuálna IP adresa je $3. ID vášho blokovania je $5.\nProsím, uveďte tieto podrobnosti v akýchkoľvek otázkach, ktoré sa opýtate.",
+       "systemblockedtext": "Vaša IP adresa bola automaticky zablokovaná.\nUdaný dôvod zablokovania:\n\n:<em>$2</em>\n\n* Blokovanie začalo: $8\n* Blokovanie vyprší: $6\n* Blokovanie sa týka: $7\n\nVaša aktuálna IP adresa je $3.\nProsím, uveďte tieto podrobnosti v akýchkoľvek otázkach, ktoré sa opýtate.",
        "blockednoreason": "nebol uvedený dôvod",
        "whitelistedittext": "Aby ste mohli upravovať stránky, musíte sa $1",
-       "confirmedittext": "Pred úpravami stránok musíte potvrdiť vašu emailovú adresu. Prosím, nastavte a overte svoju emailovú adresu v [[Special:Preferences|používateľských nastaveniach]].",
+       "confirmedittext": "Pred úpravami stránok musíte potvrdiť vašu e-mailovú adresu. Prosím, nastavte a overte svoju e-mailovú adresu v [[Special:Preferences|používateľských nastaveniach]].",
        "nosuchsectiontitle": "Sekcia nebola nájdená",
        "nosuchsectiontext": "Pokúšali ste sa upravovať sekciu, ktorá neexistuje.\nMožno bola presunutá alebo zmazaná odkedy ste si stránku zobrazili.",
        "loginreqtitle": "Je potrebné prihlásiť sa",
        "accmailtitle": "Heslo bolo odoslané.",
        "accmailtext": "Náhodne vytvorené heslo pre používateľa [[User talk:$1|$1]] bolo poslané na $2. Je možné ho zmeniť na stránke ''[[Special:ChangePassword|zmena hesla]]'' po prihlásení.",
        "newarticle": "(Nový)",
-       "newarticletext": "Sledovali ste odkaz na stránku, ktorá zatiaľ neexistuje.\nStránku vytvoríte tak, že začnete písať do poľa nižšie (viac informácií nájdete na stránkach [$1 nápovedy]).\nAk ste sa sem dostali nechtiac, kliknite na tlačidlo <strong>späť</strong> vo svojom prehliadači.",
+       "newarticletext": "Nasledovali ste odkaz, vedúci na stránku, ktorá zatiaľ neexistuje.\nStránku vytvoríte tak, že začnete písať do políčka nižšie (viac informácií nájdete na stránkach [$1 nápovedy]).\nAk ste sa sem dostali nechtiac, kliknite na tlačidlo <strong>späť</strong> vo svojom prehliadači.",
        "anontalkpagetext": "----\n<em>Toto je diskusná stránka anonymného používateľa, ktorý nemá vytvorené svoje konto alebo ho nepoužíva.</em>\nPreto musíme na jeho identifikáciu použiť numerickú IP adresu. Je možné, že takúto IP adresu používajú viacerí používatelia.\nAk ste anonymný používateľ a máte pocit, že vám boli adresované irelevantné diskusné príspevky, [[Special:CreateAccount|vytvorte si konto]] alebo sa [[Special:UserLogin|prihláste]], aby sa zamedzilo budúcim zámenám s inými anonymnými používateľmi.",
        "noarticletext": "Na tejto stránke sa momentálne nenachádza žiadny text.\nMôžete [[Special:Search/{{PAGENAME}}|vyhľadávať názov tejto stránky]] v obsahu iných stránok,\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} vyhľadávať v súvisiacich záznamoch] alebo [{{fullurl:{{FULLPAGENAME}}|action=edit}} vytvoriť túto stránku]</span>.",
        "noarticletext-nopermission": "Táto stránka momentálne neobsahuje žiadny text.\nMôžete [[Special:Search/{{PAGENAME}}|hľadať názov tejto stránky]] v texte iných stránok\nalebo <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} hľadať v súvisiacich záznamoch]</span>, ale nemáte oprávnenie túto stránku vytvoriť.",
        "rev-deleted-comment": "(zhrnutie úprav odstránené)",
        "rev-deleted-user": "(používateľské meno odstránené)",
        "rev-deleted-event": "(činnosť odstránená zo záznamu)",
-       "rev-deleted-user-contribs": "[používateľské meno alebo IP adresa odstránená - úprava skrytá pred prispievateľmi]",
+       "rev-deleted-user-contribs": "[používateľské meno alebo IP adresa odstránené â\80\93 úprava skrytá pred prispievateľmi]",
        "rev-deleted-text-permission": "Táto revízia stránky bola '''zmazaná'''.\nPodrobnosti nájdete v [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} zázname mazaní].",
        "rev-suppressed-text-permission": "Táto revízia stránky bola <strong>potlačená</strong>. Podrobnosti nájdete v [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} zázname potlačení].",
        "rev-deleted-text-unhide": "Táto revízia stránky bola <strong>zmazaná</strong>.\nPodrobnosti nájdete v [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} zázname mazaní].\nAko správca máte stále možnosť [$1 zobraziť túto revíziu] ak chcete.",
        "search-interwiki-caption": "Sesterské projekty",
        "search-interwiki-default": "Výsledky z $1:",
        "search-interwiki-more": "(viac)",
+       "search-interwiki-more-results": "ďalšie výsledky",
        "search-relatedarticle": "Súvisiace",
        "searchrelated": "súvisiace",
        "searchall": "všetko",
        "powersearch-remember": "Zapamätať si výber pre budúce vyhľadávania",
        "search-external": "Externé vyhľadávanie",
        "searchdisabled": "Prepáčte! Fulltextové vyhľadávanie bolo dočasne vypnuté z dôvodu preťaženia. Zatiaľ môžete použiť hľadanie pomocou Google, ktoré však nemusí byť aktuálne.",
-       "search-error": "Pri hľadaní sa vyskytla chyba:$1",
+       "search-error": "Pri hľadaní došlo k chybe: $1",
+       "search-warning": "Pri hľadaní došlo k varovaniu: $1",
        "preferences": "Nastavenia",
        "mypreferences": "Nastavenia",
        "prefs-edits": "Počet úprav:",
        "prefs-misc": "Rôzne",
        "prefs-resetpass": "Zmeniť heslo",
        "prefs-changeemail": "Zmeniť alebo odstrániť e-mailovú adresu",
-       "prefs-setemail": "Nastaviť emailovú adresu",
+       "prefs-setemail": "Nastaviť e-mailovú adresu",
        "prefs-email": "Možnosti e-mailu",
        "prefs-rendering": "Vzhľad",
        "saveprefs": "Uložiť nastavenia",
        "timezoneregion-indian": "Indický oceán",
        "timezoneregion-pacific": "Tichý oceán",
        "allowemail": "Povoliť prijímanie e-mailov od iných používateľov",
-       "prefs-searchoptions": "Hľadanie",
+       "prefs-searchoptions": "Vyhľadávanie",
        "prefs-namespaces": "Menné priestory",
        "default": "predvolený",
        "prefs-files": "Súbory",
        "prefs-custom-js": "Vlastný JS",
        "prefs-common-css-js": "Spoločné CSS/JS pre všetky témy:",
        "prefs-reset-intro": "Túto stránku môžete použiť na vrátenie predvolených hodnôt vašich nastavení.\nTúto operáciu nemožno vrátiť.",
-       "prefs-emailconfirm-label": "Overenie e-emailu:",
+       "prefs-emailconfirm-label": "Overenie e-mailu:",
        "youremail": "Váš e-mail²",
        "username": "{{GENDER:$1|Používateľské meno}}:",
        "prefs-memberingroups": "{{GENDER:$2|Člen|Členovia}} {{PLURAL:$1|skupiny|skupín}}:",
+       "group-membership-link-with-expiry": "$1 (do $2)",
        "prefs-registration": "Čas registrácie:",
        "yourrealname": "Skutočné meno *:",
        "yourlanguage": "Jazyk:",
        "userrights-user-editname": "Zadajte meno používateľa:",
        "editusergroup": "Upraviť skupiny {{GENDER:$1|používateľa|používateľky}}",
        "editinguser": "Zmena práv používateľa '''[[User:$1|$1]]''' $2",
+       "viewinguserrights": "Prehliadanie práv {{GENDER:$1|používateľa|používateľky}} <strong>[[User:$1|$1]]</strong> $2",
        "userrights-editusergroup": "Upraviť skupiny používateľa",
+       "userrights-viewusergroup": "Zobraziť {{GENDER:$1|používateľské}} skupiny",
        "saveusergroups": "Uložiť skupiny {{GENDER:$1|používateľa|používateľky}}",
        "userrights-groupsmember": "{{GENDER:$2|Člen|Členka}} {{PLURAL:$1|skupiny|skupín}}:",
        "userrights-groupsmember-auto": "Implicitne {{GENDER:$2|člen|členka}} {{PLURAL:$1|skupiny|skupín}}:",
        "userrights-conflict": "Konflikt zmien práv používateľov! Prosím, skontrolujte ho a potvrďte svoje zmeny.",
        "group": "Skupina:",
        "group-user": "Používatelia",
-       "group-autoconfirmed": "zaregistrovaní používatelia",
+       "group-autoconfirmed": "Automaticky schválení používatelia",
        "group-bot": "Boti",
        "group-sysop": "Správcovia",
        "group-bureaucrat": "Byrokrati",
        "group-bureaucrat-member": "{{GENDER:$1|byrokrat|byrokratka|byrokrat}}",
        "group-suppress-member": "{{GENDER:$1|dozorca|dozorkyňa|dozorca}}",
        "grouppage-user": "{{ns:project}}:Používatelia",
-       "grouppage-autoconfirmed": "{{ns:project}}:Zaregistrovaní používatelia",
+       "grouppage-autoconfirmed": "{{ns:project}}:Automaticky schválení používatelia",
        "grouppage-bot": "{{ns:project}}:Boti",
        "grouppage-sysop": "{{ns:project}}:Správcovia",
        "grouppage-bureaucrat": "{{ns:project}}:Byrokrati",
        "right-reupload-shared": "Nahrávať lokálne súbory, ktoré majú prednosť pred zdieľaným úložiskom",
        "right-upload_by_url": "Nahrávať súbor z URL adresy",
        "right-purge": "Čistiť vyrovnávaciu pamäť stránky bez potvrdzovacej stránky",
-       "right-autoconfirmed": "Neovplyvnený obmedzeniami na základe IP adresy",
+       "right-autoconfirmed": "Neovplyvnený rýchlostnými limitmi na základe IP adresy",
        "right-bot": "Byť považovaný za automatický proces",
        "right-nominornewtalk": "Pri drobných úpravách diskusnej stránky nevypisovať hlásenie o nových správach",
        "right-apihighlimits": "Používať vyššie limity v požiadavkách API",
        "right-viewsuppressed": "Zobrazovať revízie skryté pred všetkými používateľmi",
        "right-suppressionlog": "Zobrazovať súkromné záznamy",
        "right-block": "Blokovať ostatných používateľov",
-       "right-blockemail": "Zablokovať používateľovi posielanie emailu",
+       "right-blockemail": "Zablokovať používateľovi posielanie e-mailu",
        "right-hideuser": "Zablokovať používateľské meno tak, že bude verejnosti skryté",
        "right-ipblock-exempt": "Obchádzať blokovanie IP adries, rozsahov a automatické blokovanie",
        "right-unblockself": "Odblokovať seba samého",
        "grant-group-page-interaction": "Interagovať so stránkami",
        "grant-group-file-interaction": "Interagovať s multimédiami",
        "grant-group-watchlist-interaction": "Interagovať s vašim zoznamom sledovaných stránok",
-       "grant-group-email": "Poslať email",
+       "grant-group-email": "Poslať e-mail",
        "grant-group-high-volume": "Vykonávať činnosti vo veľkom objeme",
        "grant-group-customization": "Nastavenie a prispôsobenie",
        "grant-group-administration": "Vykonávať činnosti správcu",
        "grant-privateinfo": "Pristupovať k súkromným informáciám",
        "grant-protect": "Zapínať a vypínať ochranu stránok",
        "grant-rollback": "Vracať zmeny stránok",
-       "grant-sendemail": "Posielať emaily ostatným používateľom",
+       "grant-sendemail": "Posielať e-maily ostatným používateľom",
        "grant-uploadeditmovefile": "Nahrávať, nahradzovať a presúvať súbory",
        "grant-uploadfile": "Nahrávať nové súbory",
        "grant-basic": "Základné oprávnenia",
        "action-writeapi": "použiť API na zápis",
        "action-delete": "zmazať túto stránku",
        "action-deleterevision": "zmazať túto revíziu",
+       "action-deletelogentry": "mazať záznamy",
        "action-deletedhistory": "zobraziť históriu zmazaných revízií tejto stránky",
+       "action-deletedtext": "zobraziť si zmazané texty revízií",
        "action-browsearchive": "vyhľadávať zmazané stránky",
        "action-undelete": "obnoviť túto stránku",
        "action-suppressrevision": "skontrolovať a obnoviť túto skrytú revíziu",
        "action-userrights-interwiki": "upravovať práva používateľov na iných wiki",
        "action-siteadmin": "zamykať alebo odomykať databázu",
        "action-sendemail": "posielať e-maily",
+       "action-editmyoptions": "meniť svoje používateľské nastavenia",
        "action-editmywatchlist": "upraviť zoznam sledovaných stránok",
        "action-viewmywatchlist": "zobraziť zoznam sledovaných stránok",
        "action-viewmyprivateinfo": "zobraziť vaše súkromné údaje",
        "upload_directory_read_only": "Webový server nemôže zapisovať do adresára pre nahrávanie ($1).",
        "uploaderror": "Chyba pri nahrávaní",
        "upload-recreate-warning": "'''Upozornenie: Súbor s týmto názvom bol zmazaný alebo presunutý.'''\n\nĎalšie informácie si môžete pozrieť v zázname zmazaní a presunutí:",
-       "uploadtext": "Tento formulár použite na nahrávanie súborov.\nUž nahrané súbory môžete zobraziť alebo hľadať v [[Special:FileList|zozname nahraných súborov]]. Nahrávania a mazania sa tiež zaznamenávajú v [[Special:Log/upload|zázname nahrávaní]].\n\nNa začlenenie obrázka do stránky použite odkaz v tvare\n\n* '''<nowiki>[[</nowiki>{{ns:file}}<nowiki>:Súbor.jpg]]</nowiki>''' - použije sa plná verzia obrázka\n* '''<nowiki>[[</nowiki>{{ns:file}}<nowiki>:Súbor.png|alternatívny text]]</nowiki>''' - vykreslí sa v šírke 200 pixelov s okrajom, na ľavom okraji, s popisom v „alt” texte.\n* '''<nowiki>[[</nowiki>{{ns:media}}<nowiki>:Súbor.ogg]]</nowiki>''' - priamy odkaz na súbor (nezobrazí obrázok na stránke)",
+       "uploadtext": "Tento formulár použite na nahrávanie súborov.\nUž nahrané súbory môžete zobraziť alebo hľadať v [[Special:FileList|zozname nahraných súborov]]. Nahrávania a mazania sa tiež zaznamenávajú v [[Special:Log/upload|zázname nahrávaní]].\n\nPre vloženie obrázka do stránky použite odkaz v tvare:\n* '''<nowiki>[[</nowiki>{{ns:file}}<nowiki>:Súbor.jpg]]</nowiki>''' – vloží sa originál obrázka,\n* '''<nowiki>[[</nowiki>{{ns:file}}<nowiki>:Súbor.png|náhľad|Popis]]</nowiki>''' – vloží sa zmenšený náhľad s rámikom a popisom,\n* '''<nowiki>[[</nowiki>{{ns:media}}<nowiki>:Súbor.ogg]]</nowiki>''' – vloží sa odkaz na súbor (bez zobrazenia obrázku na stránke)",
        "upload-permitted": "{{PLURAL:$2|Povolený formát súboru|Povolené typy súborov}}: $1.",
        "upload-preferred": "{{PLURAL:$2|Uprednostňovaný formát súboru|Uprednostňované typy súborov}}: $1.",
        "upload-prohibited": "{{PLURAL:$2|Zakázaný formát súboru|Zakázané formáty súborov}}: $1.",
        "trackingcategories-msg": "Sledovacia kategória",
        "trackingcategories-name": "Názov správy",
        "trackingcategories-desc": "Kritériá pre zaradenie do kategórie",
+       "restricted-displaytitle-ignored": "Stránky s ignorovanými zobrazovanými názvami",
        "noindex-category-desc": "Stránka nie je indexovaná robotmi, pretože obsahuje magické slovo <code><nowiki>__NOINDEX__</nowiki></code> a je v mennom priestore, v ktorom je tento príznak povolený.",
        "index-category-desc": "Stránka obsahuje magické slovo <code><nowiki>__INDEX__</nowiki></code> (a je v mennom prostore, v ktorom je tento príznak povolený), takže je indexovaná robotmi, hoci by normálne nebola.",
        "post-expand-template-inclusion-category-desc": "Stránka je po rozbalení všetkých šablón väčšia než <code>$wgMaxArticleSize</code>, takže niektoré šablóny nemohli byť rozbalené.",
        "emailuser-title-target": "E-mail {{GENDER:$1|tomuto používateľovi|tejto používateľke}}",
        "emailuser-title-notarget": "E-mail používateľovi",
        "emailpagetext": "Pomocou nasledovného formulára môžete {{GENDER:$1|tomuto používateľovi|tejto používateľke}} poslať e-mailovú správu.\nMailová adresa, ktorú ste zadali vo svojich [[Special:Preferences|nastaveniach]] sa zobrazí ako adresa odosielateľa mailu, aby vám mohol príjemca priamo odpovedať.",
-       "defemailsubject": "email {{GRAMMAR:genitív|{{SITENAME}}}} od používateľa „$1“",
-       "usermaildisabled": "Používateľ má vypnuté používanie emailu",
-       "usermaildisabledtext": "Nemôžete posielať emaily ostatným používateľom na tejto wiki",
+       "defemailsubject": "e-mail {{GRAMMAR:genitív|{{SITENAME}}}} od používateľa „$1“",
+       "usermaildisabled": "Používateľ má vypnuté používanie e-mailu",
+       "usermaildisabledtext": "Nemôžete posielať e-maily ostatným používateľom na tejto wiki",
        "noemailtitle": "Chýba e-mailová adresa",
        "noemailtext": "Tento používateľ neuviedol svoju platnú e-mailovú adresu.",
-       "nowikiemailtext": "Tento používateľ sa rozhodol, že si neželá prijímať emaily od ostatných používateľov.",
+       "nowikiemailtext": "Tento používateľ sa rozhodol, že si neželá prijímať e-maily od ostatných používateľov.",
        "emailnotarget": "Neexistujúce alebo neplatné používateľské meno príjemcu.",
        "emailtarget": "Zadajte používateľské meno príjemcu",
        "emailusername": "Používateľské meno:",
        "emailusernamesubmit": "Odoslať",
-       "email-legend": "Poslať email používateľovi {{GRAMMAR:genitív|{{SITENAME}}}}",
+       "email-legend": "Poslať e-mail používateľovi {{GRAMMAR:genitív|{{SITENAME}}}}",
        "emailfrom": "Od:",
        "emailto": "Komu:",
        "emailsubject": "Predmet:",
        "emailmessage": "Správa:",
        "emailsend": "Odoslať",
-       "emailccme": "Pošli mi emailom kópiu mojej správy.",
+       "emailccme": "Pošli mi e-mailom kópiu mojej správy.",
        "emailccsubject": "Kópia správy pre $1: $2",
        "emailsent": "E-mail bol odoslaný",
        "emailsenttext": "Vaša e-mailová správa bola odoslaná.",
        "rollbacklinkcount": "vrátenie $1 {{PLURAL:$1|úpravy|úprav}}",
        "rollbacklinkcount-morethan": "vrátiť viac ako $1 {{PLURAL:$1|úpravu|úprav}}",
        "rollbackfailed": "Rollback neúspešný",
+       "rollback-missingparam": "V požiadavke chýbajú povinné parametre.",
+       "rollback-missingrevision": "Nepodarilo sa načítať údaje k revízii.",
        "cantrollback": "Nie je možné úpravu vrátiť späť, posledný autor je jediný autor tejto stránky.",
        "alreadyrolled": "Nemožno vrátiť späť poslednú úpravu [[:$1]] od [[User:$2|$2]] ([[User talk:$2|Diskusia]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]); niekto iný buď upravoval stránku alebo už vrátil úpravy späť.\n\nAutorom poslednej úpravy je [[User:$3|$3]] ([[User talk:$3|Diskusia]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).",
        "editcomment": "Zhrnutie úpravy bolo: <em>$1</em>.",
        "protect-locked-dblock": "Nie je možné zmeniť úroveň ochrany z dôvodu aktívneho zámku databázy.\nTu sú aktuálne nastavenia stránky '''$1''':",
        "protect-locked-access": "Váš účet nemá oprávnenie meniť úroveň ochrany stránky.\nTu sú aktuálne nastavenia stránky '''$1''':",
        "protect-cascadeon": "Táto stránka je momentálne zamknutá, lebo je vložená v {{PLURAL:$1|nasledovnej stránke, ktorá má|nasledovných stránkach, ktoré majú}} zapnutú kaskádovú ochranu. Zmeny úrovne ochrany tejto stránky neovplyvnia kaskádovú ochranu.",
-       "protect-default": "Povoliť všetkých používateľov",
-       "protect-fallback": "Povoliť iba používateľov s oprávnením „$1“",
-       "protect-level-autoconfirmed": "Povoliť iba používateľov s potvrdeným emailom",
-       "protect-level-sysop": "Povoliť iba správcov",
+       "protect-default": "Povoliť všetkým",
+       "protect-fallback": "Povoliť iba používateľom s oprávnením „$1“",
+       "protect-level-autoconfirmed": "Povoliť iba automaticky schváleným používateľom",
+       "protect-level-sysop": "Povoliť iba správcom",
        "protect-summary-cascade": "kaskáda",
        "protect-expiring": "vyprší o $1 (UTC)",
        "protect-expiring-local": "vyprší $1",
        "protect-expiry-indefinite": "na neurčito",
-       "protect-cascade": "Kaskádové zamknutie - chrániť všetky stránky použité na tejto stránke.",
+       "protect-cascade": "Zamknúť aj stránky použité na tejto stránke (kaskádový zámok)",
        "protect-cantedit": "Nemôžete zmeniť úrovne ochrany tejto stránky, pretože nemáte oprávnenie ju upravovať.",
        "protect-othertime": "Iný čas:",
        "protect-othertime-op": "iný čas",
        "blockip": "Zablokovať {{GENDER:$1|používateľa|používateľku}}",
        "blockip-legend": "Zablokovať používateľa",
        "blockiptext": "Tento formulár použite na zablokovanie možnosti zápisu z konkrétnej IP adresy alebo od konkrétneho používateľa.\nMali by ste to urobiť len na zabránenie vandalizmu a v súlade so [[{{MediaWiki:Policy-url}}|zásadami a smernicami {{GRAMMAR:genitív|{{SITENAME}}}}]].\nNižšie uveďte konkrétny dôvod (napríklad uveďte konkrétne stránky, ktoré padli za obeť vandalizmu).\nRozsahy IP adreies môžete blokovať pomocou syntaxe [https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing CIDR]; najväčší povolený rozsah je /$1 v prípade IPv4 a /$2 v prípade IPv6.",
-       "ipaddressorusername": "IP adresa/meno používateľa:",
+       "ipaddressorusername": "IP adresa alebo meno používateľa:",
        "ipbexpiry": "Ukončenie:",
        "ipbreason": "Dôvod:",
        "ipbreason-dropdown": "* Bežné dôvody blokovania\n** Zámerné vkladanie chybných informácií\n** Mazanie obsahu stránok\n** Spam odkazy na externé stránky\n** Vkladanie nezmyslov do stránok\n** Zastrašujúce správanie/obťažovanie\n** Zneužívanie viacerých účtov\n** Neprípustné používateľské meno",
        "ipb-hardblock": "Zabrániť prihláseným používateľom upravovať z tejto IP adresy",
        "ipbcreateaccount": "Zabrániť vytváraniu účtov",
-       "ipbemailban": "Zabrániť používateľovi posielať emaily",
+       "ipbemailban": "Zabrániť používateľovi posielať e-maily",
        "ipbenableautoblock": "Automaticky blokovať poslednú IP adresu, ktorú tento používateľ použil, a všetky ďalšie adresy, z ktorých sa pokúsi upravovať.",
        "ipbsubmit": "Zablokovať tohto používateľa",
        "ipbother": "Iný čas",
        "ipb-confirm": "Potvrdiť blokovanie",
        "badipaddress": "IP adresa má nesprávny formát.",
        "blockipsuccesssub": "Zablokovanie bolo úspešné",
-       "blockipsuccesstext": "[[Special:Contributions/$1|$1]] bol zablokovaný.<br />\n[[Special:BlockList|IP block list]] obsahuje zoznam blokovaní.",
+       "blockipsuccesstext": "[[Special:Contributions/$1|$1]] {{GENDER:$1|bol zablokovaný|bola zablokovaná}}.<br />\nPre prehľad blokov pozri [[Special:BlockList|zoznam zablokovaných používateľov]].",
        "ipb-blockingself": "Chystáte sa zablokovať sám seba! Ste si istí, že to chcete urobiť?",
        "ipb-confirmhideuser": "Chystáte sa zablokovať používateľa so zapnutou funkciou „skryť používateľa“. Tým sa potlačí meno používateľa vo všetkých zoznamoch a záznamoch. Ste si istí, že chcete urobiť?",
        "ipb-confirmaction": "Ak ste si {{GENDER:|istý|istá|istí}}, že to chcete urobiť, zaškrtnite prepínač „{{int:ipb-confirm}}“ nižšie.",
        "anononlyblock": "iba anon.",
        "noautoblockblock": "automatické blokovanie vypnuté",
        "createaccountblock": "tvorba účtov bola zablokovaná",
-       "emailblock": "email blokovaný",
+       "emailblock": "e-mail blokovaný",
        "blocklist-nousertalk": "nemôže upravovať svoju diskusnú stránku",
        "ipblocklist-empty": "Zoznam blokovaní je prázdny.",
        "ipblocklist-no-results": "Požadovaná IP adresa alebo používateľské meno nie je blokovaná.",
        "unblocklink": "odblokovať",
        "change-blocklink": "zmeniť blokovanie",
        "contribslink": "príspevky",
-       "emaillink": "poslať email",
+       "emaillink": "poslať e-mail",
        "autoblocker": "Boli ste automaticky zablokovaný, pretože vašu IP adresu nedávno použil „[[User:$1|$1]]“.\nDôvodom zablokovania redaktora $1 bolo „$2“",
        "blocklogpage": "Záznam blokovaní",
        "blocklog-showlog": "Tento používateľ bol v minulosti zablokovaný. Záznam blokovaní uvádza nasledovný dôvod:",
        "block-log-flags-anononly": "iba anonymní používatelia",
        "block-log-flags-nocreate": "možnosť vytvoriť si účet bola vypnutá",
        "block-log-flags-noautoblock": "autoblokovanie vypnuté",
-       "block-log-flags-noemail": "email blokovaný",
+       "block-log-flags-noemail": "e-mail blokovaný",
        "block-log-flags-nousertalk": "nemôže upravovať vlastnú diskusnú stránku",
        "block-log-flags-angry-autoblock": "rozšírené automatické blokovanie zapnuté",
        "block-log-flags-hiddenname": "používateľské meno skryté",
        "proxyblockreason": "Vaša IP adresa bola zablokovaná, pretože je otvorená proxy. Prosím kontaktujte vášho internetového poskytovateľa alebo technickú podporu a informujte ich o tomto vážnom bezpečnostnom probléme.",
        "sorbsreason": "Vaša IP adresa je vedená ako nezabezpečený proxy server v DNSBL.",
        "sorbs_create_account_reason": "Vaša IP adresa je vedená ako nezabezpečený proxy server v databáze DNSBL, ktorú používa {{SITENAME}}. Nemôžete si vytvoriť účet.",
+       "softblockrangesreason": "Anonymné príspevky z vašej IP adresy ($1) nie sú povolené. Prosím prihláste sa.",
        "xffblockreason": "IP adresa prítomná v hlavičke X-Forwarded-For patriaca buď vám alebo proxy serveru, ktorý používate, je zablokovaná. Pôvodný dôvod zablokovania bol: $1",
        "cant-see-hidden-user": "Používateľ, ktorého sa pokúšate zablokovať už bol zablokovaný a skrytý. Pretože nemáte právo hideuser, nemôžete vidieť ani upravovať blokovanie používateľa.",
        "ipbblocked": "Nemôžete zablokovať ani odblokovať iných používateľov, pretože ste sami zablokovaní",
        "cant-move-to-user-page": "Nemáte oprávnenie presunúť stránku na stránku používateľa (iba na podstránku používateľa).",
        "cant-move-category-page": "Nemáte oprávnenie presúvať stránky kategórií.",
        "cant-move-to-category-page": "Nemáte oprávnenie presunúť stránku na stránku kategórie.",
+       "cant-move-subpages": "Nemáte oprávnenie presúvať podstránky.",
+       "namespace-nosubpages": "V mennom priestore „$1“ nie sú podstránky povolené.",
        "newtitle": "Nový názov:",
        "move-watch": "Sledovať túto stránku",
        "movepagebtn": "Presunúť stránku",
        "pageinfo-length": "Dĺžka stránky (v bajtoch)",
        "pageinfo-article-id": "ID stránky",
        "pageinfo-language": "Jazyk obsahu stránky",
+       "pageinfo-language-change": "zmeniť",
        "pageinfo-content-model": "Model obsahu stránky",
        "pageinfo-content-model-change": "zmeniť",
        "pageinfo-robot-policy": "Indexovanie robotmi",
        "newimages-legend": "Filter",
        "newimages-label": "Názov súboru (alebo jeho časť):",
        "newimages-showbots": "Zobraziť súbory nahrané botmi",
+       "newimages-hidepatrolled": "Skryť preverené nahratia súborov",
        "noimages": "Niet čo zobraziť.",
+       "gallery-slideshow-toggle": "Prepnúť náhľady",
        "ilsubmit": "Hľadať",
        "bydate": "podľa dátumu",
        "sp-newimages-showfrom": "Zobraziť nové súbory počínajúc $2, $1",
        "namespacesall": "všetky",
        "monthsall": "všetky",
        "confirmemail": "Potvrdiť e-mailovú adresu",
-       "confirmemail_noemail": "Nenastavili ste platnú emailovú adresu vo svojich [[Special:Preferences|Nastaveniach]].",
+       "confirmemail_noemail": "Nenastavili ste platnú e-mailovú adresu vo svojich [[Special:Preferences|Nastaveniach]].",
        "confirmemail_text": "{{SITENAME}} vyžaduje, aby ste potvrdili platnosť vašej e-mailovej adresy\npred používaním e-mailových funkcií. Kliknite na tlačidlo dole, aby sa na vašu adresu odoslal potvrdzovací\ne-mail. V e-maili bude aj odkaz obsahujúci kód; otvorte odkaz\nvo vašom prehliadači, čím potvrdíte, že vaša e-mailová adresa je platná.",
-       "confirmemail_pending": "Potvrdzovací kód vám už bol zaslaný; ak ste si účet vytvorili len nedávno\nmali by ste počkať niekoľko minút, kým vám bude email doručený, predtým\nnež si vyžiadate nový kód.",
+       "confirmemail_pending": "Potvrdzovací kód vám už bol zaslaný; ak ste si účet vytvorili len nedávno\nmali by ste počkať niekoľko minút, kým vám bude e-mail doručený, predtým\nnež si vyžiadate nový kód.",
        "confirmemail_send": "Odoslať potvrdzovací kód",
        "confirmemail_sent": "Potvrdzovací e-mail odoslaný.",
-       "confirmemail_oncreate": "Na vašu emailovú adresu bol odoslaný potvrdzovací kód.\nTento kód nie je potrebný na prihlásenie, ale budete ho musieť poskytnúť pred\nzapnutím vlastností wiki využívajcich email.",
-       "confirmemail_sendfailed": "Z {{GRAMMAR:genitív|{{SITENAME}}}} nebolo možné odoslať potvrdzovací e-mail.\nSkontrolujte neplatné znaky vo vašej emailovej adrese.\n\nHlásenie programu, ktorý odosielal poštu: $1",
+       "confirmemail_oncreate": "Na vašu e-mailovú adresu bol odoslaný potvrdzovací kód.\nTento kód nie je potrebný na prihlásenie, ale budete ho musieť poskytnúť pred\nzapnutím vlastností wiki využívajcich e-mail.",
+       "confirmemail_sendfailed": "Z {{GRAMMAR:genitív|{{SITENAME}}}} nebolo možné odoslať potvrdzovací e-mail.\nSkontrolujte neplatné znaky vo vašej e-mailovej adrese.\n\nHlásenie programu, ktorý odosielal poštu: $1",
        "confirmemail_invalid": "Neplatný potvrdzovací kód. Kód možno vypršal.",
-       "confirmemail_needlogin": "Musíte sa $1 na potvrdenie vašej emailovaj adresy.",
+       "confirmemail_needlogin": "Musíte sa $1 na potvrdenie vašej e-mailovaj adresy.",
        "confirmemail_success": "Vaša e-mailová adresa bola potvrdená. Môžete sa prihlásiť a využívať wiki.",
        "confirmemail_loggedin": "Vaša e-mailová adresa bola potvrdená.",
-       "confirmemail_subject": "{{SITENAME}} - potvrdenie e-mailovej adresy",
-       "confirmemail_body": "Niekto, pravdepodobne vy z IP adresy $1, zaregistroval účet\n„$2“ s touto e-mailovou adresou na {{GRAMMAR:lokál|{{SITENAME}}}}.\n\nPre potvrdenie, že tento účet skutočne patrí vám a pre aktivovanie\ne-mailových funkcií na {{GRAMMAR:lokál|{{SITENAME}}}}, otvorte tento odkaz vo vašom prehliadači:\n\n$3\n\nAk ste to *neboli* vy, otvorte tento odkaz,\nčím zrušíte potvrdenie emailovej adresy:\n\n$5\n\nTento potvrdzovací kód vyprší $4.",
+       "confirmemail_subject": "{{SITENAME}}  potvrdenie e-mailovej adresy",
+       "confirmemail_body": "Niekto, pravdepodobne vy z IP adresy $1, zaregistroval účet\n„$2“ s touto e-mailovou adresou na {{GRAMMAR:lokál|{{SITENAME}}}}.\n\nPre potvrdenie, že tento účet skutočne patrí vám a pre aktivovanie\ne-mailových funkcií na {{GRAMMAR:lokál|{{SITENAME}}}}, otvorte tento odkaz vo vašom prehliadači:\n\n$3\n\nAk ste to *neboli* vy, otvorte tento odkaz,\nčím zrušíte potvrdenie e-mailovej adresy:\n\n$5\n\nTento potvrdzovací kód vyprší $4.",
        "confirmemail_body_changed": "Niekto, pravdepodobne vy, z IP adresy $1,\nzmenil e-mailovú adresu účtu „$2“ na túto adresu na {{GRAMMAR:lokál|{{SITENAME}}}}.\n\nAby ste potvrdili, že tento účet skutočne patrí vám a znova\naktivovali funkcie emailu na{{GRAMMAR:lokál|{{SITENAME}}}},\notvorte nasledovný odkaz v prehliadači:\n\n$3\n\nAk vám účet *nepatrí*, otvorte namiesto toho tento odkaz,\nktorý zruší potvrdenie emailovej adresy:\n\n$5\n\nPlatnosť tohoto potvrdzovacieho kódu vyprší $4.",
        "confirmemail_body_set": "Niekto, pravdepodobne vy, z IP adresy $1\nnastavil e-mailovú adresu účtu „$2“ na túto adresu na {{GRAMMAR:genitív|{{SITENAME}}}}.\n\nAk chcete potvrdiť, že tento účet skutočne patrí vám a aktivovať\ne-mailové funkcie na {{GRAMMAR:genitív|{{SITENAME}}}}, otvorte tento odkaz vo vašom prehliadači:\n\n$3\n\nAk účet nie je *nepatrí* patrí k vám, nasledujte tento odkaz,\nktorý zruší potvrdenie e-mailovej adresy:\n\n$5\n\nPlatnosť tohto potvrdzovacieho kódu vyprší $4.",
-       "confirmemail_invalidated": "Potvrdenie emailovej adresy bolo zrušené",
-       "invalidateemail": "Zrušiť potvrdenie emailovej adresy",
-       "notificationemail_subject_changed": "Email zaregistrovaný na {{GRAMMAR:lokál|{{SITENAME}}}} bol zmenený",
-       "notificationemail_subject_removed": "Email zaregistrovaný na {{GRAMMAR:lokál|{{SITENAME}}}} bol odstránený",
-       "notificationemail_body_changed": "Niekoho, pravdepodobne vy, z IP adresy $1, zmenil na {{GRAMMAR:lokál|{{SITENAME}}}} emailovú adresu účtu „$2“ na „$3“.\n\nAk ste to neboli vy, čo najskôr sa obráťte na správcu {{GRAMMAR:akuzatív|{{SITENAME}}}}.",
-       "notificationemail_body_removed": "Niekoho, pravdepodobne vy, z IP adresy $1, odstránil na {{GRAMMAR:lokál|{{SITENAME}}}} emailovú adresu účtu „$2“.\n\nAk ste to neboli vy, čo najskôr sa obráťte na správcu {{GRAMMAR:akuzatív|{{SITENAME}}}}.",
+       "confirmemail_invalidated": "Potvrdenie e-mailovej adresy bolo zrušené",
+       "invalidateemail": "Zrušiť potvrdenie e-mailovej adresy",
+       "notificationemail_subject_changed": "E-mail zaregistrovaný na {{GRAMMAR:lokál|{{SITENAME}}}} bol zmenený",
+       "notificationemail_subject_removed": "E-mail zaregistrovaný na {{GRAMMAR:lokál|{{SITENAME}}}} bol odstránený",
+       "notificationemail_body_changed": "Niekoho, pravdepodobne vy, z IP adresy $1, zmenil na {{GRAMMAR:lokál|{{SITENAME}}}} e-mailovú adresu účtu „$2“ na „$3“.\n\nAk ste to neboli vy, čo najskôr sa obráťte na správcu {{GRAMMAR:akuzatív|{{SITENAME}}}}.",
+       "notificationemail_body_removed": "Niekoho, pravdepodobne vy, z IP adresy $1, odstránil na {{GRAMMAR:lokál|{{SITENAME}}}} e-mailovú adresu účtu „$2“.\n\nAk ste to neboli vy, čo najskôr sa obráťte na správcu {{GRAMMAR:akuzatív|{{SITENAME}}}}.",
        "scarytranscludedisabled": "[Transklúzia interwiki je vypnutá]",
        "scarytranscludefailed": "[Nepodarilo sa priniesť šablónu pre $1]",
        "scarytranscludefailed-httpstatus": "[Stiahnutie šablóny zlyhalo pre $1: HTTP $2]",
        "version-ext-colheader-credits": "Autori",
        "version-license-title": "Licencia pre $1",
        "version-license-not-found": "Nenašli sa žiadne podrobné licenčné informácie k tomuto rozšíreniu.",
+       "version-credits-title": "Autori $1",
+       "version-credits-not-found": "Pre toto rozšírenie neboly nájdené podrobnejšie informácie o autoroch.",
        "version-poweredby-credits": "Táto wiki beží na '''[https://www.mediawiki.org/ MediaWiki]''', copyright © 2001-$1 $2.",
        "version-poweredby-others": "ďalší",
        "version-poweredby-translators": "prekladatelia na translatewiki.net",
        "htmlform-time-placeholder": "HH:MM:SS",
        "htmlform-datetime-placeholder": "RRRR-MM-DD HH:MM:SS",
        "logentry-delete-delete": "$1 zmazal stránku $3",
+       "logentry-delete-delete_redir": "$1 {{GENDER:$2|zmazal|zmazala}} presunom presmerovanie $3",
        "logentry-delete-restore": "$1 obnovil stránku $3",
        "logentry-delete-event": "$1 zmenil viditeľnosť {{PLURAL:$5|záznamu udalostí|$5 záznamov udalostí}} k stránke $3: $4",
        "logentry-delete-revision": "$1 {{GENDER:$2|zmenil|zmenila}} viditeľnosť {{PLURAL:$5|revízie|$5 revízií}} na stránke $3: $4",
        "logentry-newusers-newusers": "Bol {{GENDER:$2|vytvorený}} používateľský účet $1",
        "logentry-newusers-create": "Bol vytvorený používateľský účet $1",
        "logentry-newusers-create2": "$1 vytvoril používateľský účet $3",
-       "logentry-newusers-byemail": "$1 vytvoril používateľský účet $3 a heslo bolo poslané emailom",
+       "logentry-newusers-byemail": "$1 vytvoril používateľský účet $3 a heslo bolo poslané e-mailom",
        "logentry-newusers-autocreate": "Používateľský účet $1 bol {{GENDER:$2|vytvorený}} automaticky",
        "logentry-protect-move_prot": "$1 {{GENDER:$2|presunul|presunula}} nastavenie zámku zo stránky $4 na $3",
        "logentry-protect-unprotect": "$1 {{GENDER:$2|odomkol|odomkla}} stránku $3",
        "log-name-tag": "Záznam značiek",
        "log-description-tag": "Táto stránka zobrazuje doplnenia a odobratia [[Special:Tags|značiek]] stránok a protokolovacích záznamov používateľmi. Zoznam nezahŕňa označenia stránok, ktoré boli súčasťou editačnej úpravy, zmazania alebo obdobnej akcie.",
        "rightsnone": "(žiadne)",
-       "revdelete-summary": "zhrnutie úprav",
+       "rightslogentry-temporary-group": "$1 (dočasne, do $2)",
        "feedback-adding": "Pridáva sa komentár na stránku...",
        "feedback-back": "Späť",
        "feedback-bugcheck": "Skvelé! Teraz len skontrolujte, či to nie je jedna z už [$1 známych chýb].",
        "feedback-error1": "Chyba: Nerozpoznaný výsledok z API",
        "feedback-error2": "Chyba: Úprava sa nepodarila",
        "feedback-error3": "Chyba: Žiadna odpoveď z API",
+       "feedback-error4": "Chyba: Na uvedenú stránku pre spätnú väzbu nie je možné odosielať",
        "feedback-message": "Správa:",
        "feedback-subject": "Predmet:",
        "feedback-submit": "Odoslať",
        "pagelang-language": "Jazyk",
        "pagelang-use-default": "Použiť predvolený jazyk",
        "pagelang-select-lang": "Vybrať jazyk",
+       "pagelang-reason": "Dôvod",
        "pagelang-submit": "Odoslať",
        "right-pagelang": "Zmeniť jazyk stránky",
        "action-pagelang": "meniť jazyk stránky",
        "json-error-unknown": "Došlo k problému s JSONom. Chyba: $1",
        "json-error-depth": "Maximálna hĺbka zásobníka bola prekročená",
        "json-error-state-mismatch": "Nesprávny alebo poškodený JSON",
+       "json-error-ctrl-char": "Chybný riadiaci znak, možno nesprávne kódovanie",
        "json-error-syntax": "Syntaktická chyba",
+       "json-error-utf8": "Chybné UTF-8 sekvencie, možno nesprávne kódovanie",
+       "json-error-recursion": "Jeden alebo viacero rekurentných odkazov v kódovanej hodnote",
+       "json-error-inf-or-nan": "Jedna alebo viacero hodnôt NAN nebo INF v kódovanej hodnote",
+       "json-error-unsupported-type": "Odovzdaná hodnota nekódovateľného typu",
        "headline-anchor-title": "Odkaz na túto sekciu",
        "special-characters-group-latin": "Latinka",
        "special-characters-group-latinextended": "Latina rozšírené",
        "mw-widgets-dateinput-no-date": "Nebol zvolený žiaden dátum",
        "mw-widgets-dateinput-placeholder-day": "RRRR-MM-DD",
        "mw-widgets-dateinput-placeholder-month": "RRRR-MM",
+       "mw-widgets-mediasearch-input-placeholder": "Hľadať médiá",
+       "mw-widgets-mediasearch-noresults": "Neboli nájdené žiadne výsledky.",
        "mw-widgets-titleinput-description-new-page": "stránka zatiaľ neexistuje",
        "mw-widgets-titleinput-description-redirect": "presmerovanie na $1",
        "randomrootpage": "Náhodná koreňová stránka",
index 7ddeba7..7da531a 100644 (file)
        "login": "Prijava",
        "login-security": "Potrdite svojo identiteto",
        "nav-login-createaccount": "Prijavite se / registrirajte se",
-       "userlogin": "Prijavite se / registrirajte se",
-       "userloginnocreate": "Prijava",
        "logout": "Odjava",
        "userlogout": "Odjava",
        "notloggedin": "Niste prijavljeni",
        "userlogin-noaccount": "Nimate uporabniškega računa?",
        "userlogin-joinproject": "Pridružite se {{GRAMMAR:dajalnik|{{SITENAME}}}}",
-       "nologin": "Še nimate uporabniškega računa? $1!",
-       "nologinlink": "Registrirajte se",
        "createaccount": "Registracija",
-       "gotaccount": "Račun že imate? $1.",
-       "gotaccountlink": "Prijavite se",
-       "userlogin-resetlink": "Ste pozabili svoje prijavne podatke?",
        "userlogin-resetpassword-link": "Ste pozabili svoje geslo?",
        "userlogin-helplink2": "Pomoč pri prijavi",
        "userlogin-loggedin": "Prijavljeni ste že kot {{GENDER:$1|$1}}.\nUporabite spodnji obrazec, da se prijavite kot drug uporabnik.",
        "createaccountmail": "Ustvari začasno naključno geslo in ga pošlji na spodaj navedeni e-poštni naslov",
        "createaccountmail-help": "Se lahko uporablja za ustvarjanje računa za drugo osebo brez da bi vedeli geslo.",
        "createacct-realname": "Pravo ime (izbirno)",
-       "createaccountreason": "Razlog:",
        "createacct-reason": "Razlog",
        "createacct-reason-ph": "Zakaj ustvarjate drug račun",
        "createacct-reason-help": "Sporočilo, prikazano v dnevniku ustvarjanja računov",
        "page_first": "prva",
        "page_last": "zadnja",
        "histlegend": "Izbira primerjave: označite okroglo polje ob redakciji za primerjavo in stisnite enter ali gumb na dnu strani.<br />\nLegenda: '''({{int:cur}})''' = primerjava s trenutno redakcijo, '''({{int:last}})''' = primerjava s prejšnjo redakcijo, '''{{int:minoreditletter}}''' = manjše urejanje.",
-       "history-fieldset-title": "Zgodovina poizvedovanj",
-       "history-show-deleted": "Samo izbrisani",
+       "history-fieldset-title": "Iskanje redakcij",
+       "history-show-deleted": "Samo izbrisana redakcija",
        "histfirst": "najstarejše",
        "histlast": "najnovejše",
        "historysize": "({{PLURAL:$1|$1 zlog|$1 zloga|$1 zlogi|$1 zlogov}})",
        "prefs-help-prefershttps": "Nastavitev bo začela veljati ob vaši naslednji prijavi.",
        "prefswarning-warning": "V svojih nastavitvah ste naredili spremembe, ki jih še niste shranili. Če odidete s strani brez da bi kliknili »$1«, vaših nastavitev ne bomo posodobili.",
        "prefs-tabs-navigation-hint": "Namig: Za krmarjenje med zavihki na seznamu zavihkov lahko uporabite levo in desno smerno tipko.",
-       "userrights": "Upravljanje s pravicami uporabnikov",
+       "userrights": "Pravice uporabnika",
        "userrights-lookup-user": "Izberite uporabnika",
        "userrights-user-editname": "Vpišite uporabniško ime:",
        "editusergroup": "Naloži uporabniške skupine",
        "group-bot": "Boti",
        "group-sysop": "Administratorji",
        "group-bureaucrat": "Birokrati",
-       "group-suppress": "Zatiralci",
+       "group-suppress": "Ukinjevalci",
        "group-all": "(vsi)",
        "group-user-member": "{{GENDER:$1|uporabnik|uporabnica}}",
        "group-autoconfirmed-member": "{{GENDER:$1|samodejno potrjen uporabnik|samodejno potrjena uporabnica}}",
        "group-bot-member": "{{GENDER:$1|bot}}",
        "group-sysop-member": "{{GENDER:$1|administrator|administratorka}}",
        "group-bureaucrat-member": "{{GENDER:$1|birokrat|birokratinja}}",
-       "group-suppress-member": "{{GENDER:$1|zatiralec|zatiralka}}",
+       "group-suppress-member": "{{GENDER:$1|ukinjevalec|ukinjevalka}}",
        "grouppage-user": "{{ns:project}}:Uporabniki",
        "grouppage-autoconfirmed": "{{ns:project}}:Samodejno potrjeni uporabniki",
        "grouppage-bot": "{{ns:project}}:Boti",
        "grouppage-sysop": "{{ns:project}}:Administratorji",
        "grouppage-bureaucrat": "{{ns:project}}:Birokrati",
-       "grouppage-suppress": "{{ns:project}}:Zatiralci",
+       "grouppage-suppress": "{{ns:project}}:Ukinjevalci",
        "right-read": "Branje strani",
        "right-edit": "Urejanje strani",
        "right-createpage": "Ustvarjanje strani (ki niso pogovorne)",
        "recentchanges": "Zadnje spremembe",
        "recentchanges-legend": "Možnosti zadnjih sprememb",
        "recentchanges-summary": "Na tej strani lahko spremljate najnovejše spremembe wikija.",
-       "recentchanges-noresult": "V podanem obdobju nobena sprememba ne ustreza tem merilom.",
+       "recentchanges-noresult": "V danem obdobju nobena sprememba ne ustreza tem merilom.",
        "recentchanges-feed-description": "Spremljajte zadnje spremembe wikija prek tega vira.",
        "recentchanges-label-newpage": "To urejanje je ustvarilo novo stran",
        "recentchanges-label-minor": "To je manjše urejanje",
        "rcfilters-invalid-filter": "Neveljaven filter",
        "rcfilters-empty-filter": "Ni dejavnih filtrov. Prikazani so vsi prispevki.",
        "rcfilters-filterlist-title": "Filtri",
+       "rcfilters-filterlist-whatsthis": "Kaj je to?",
        "rcfilters-filterlist-feedbacklink": "Podajte povratne informacije o novih (preizkusnih) filtrih",
        "rcfilters-highlightbutton-title": "Označi rezultate",
        "rcfilters-highlightmenu-title": "Izberite barvo",
        "rcfilters-highlightmenu-help": "Izberite barvo za označitev te lastnosti",
        "rcfilters-filterlist-noresults": "Nismo našli nobenega filtra",
+       "rcfilters-noresults-conflict": "Našli nismo nobenih rezultatov, ker si merila za iskanje nasprotujejo",
+       "rcfilters-state-message-subset": "Ta filter nima učinka, saj njegove rezultate {{PLURAL:$2|vključuje naslednji, širši filter|vključujeta naslednja, širša filtra|vključujejo naslednji, širši filtri}} (označite jih, da razlikujete med njimi): $1",
+       "rcfilters-state-message-fullcoverage": "Izbira vseh filtrov v skupini je enako kot izbira nobenega, zato ta filter nima učinka. Skupina vključuje: $1",
        "rcfilters-filtergroup-registration": "Registracija uporabnika",
        "rcfilters-filter-registered-label": "Registriran",
        "rcfilters-filter-registered-description": "Prijavljeni uredniki.",
        "rcfilters-filter-unregistered-label": "Neregistriran",
        "rcfilters-filter-unregistered-description": "Uredniki, ki niso prijavljeni.",
+       "rcfilters-filter-unregistered-conflicts-user-experience-level": "Filter je v sporu z {{PLURAL:$2|naslednjim filtrom|naslednjima filtroma|naslednjimi filtri}} Izkušnje, ki {{PLURAL:$2|najde|najdeta|najdejo}} samo registrirane uporabnike: $1",
        "rcfilters-filtergroup-authorship": "Uredi avtorstvo",
        "rcfilters-filter-editsbyself-label": "Vaša lastna urejanja",
        "rcfilters-filter-editsbyself-description": "Vaša urejanja.",
        "rcfilters-filter-editsbyother-label": "Urejanja drugih",
        "rcfilters-filter-editsbyother-description": "Urejanja, ki so jih naredili drugi uporabniki (ne vi).",
        "rcfilters-filtergroup-userExpLevel": "Stopnja izkušenosti (samo za registrirane uporabnike)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "Novinci",
-       "rcfilters-filter-userExpLevel-newcomer-description": "Manj kot 10 urejanj in 4 dni dejavnosti.",
-       "rcfilters-filter-userExpLevel-learner-label": "Učenci",
-       "rcfilters-filter-userExpLevel-learner-description": "Več dni dejavnosti in urejanj kot »Novinci«, vendar manj kot »Izkušeni uporabniki«.",
-       "rcfilters-filter-userExpLevel-experienced-label": "Izkušeni uporabniki",
-       "rcfilters-filter-userExpLevel-experienced-description": "Več kot 30 dni dejavnosti in 500 urejanj.",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered": "Napredni filtri najdejo samo registrirane uporabnike, zato je ta filter v sporu s filtrom »Neregistrirani«.",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered-global": "Filter »Neregistrirani« je v sporu z enim ali več filtri Izkušnje, ki najdejo samo registrirane uporabnike. Filtri v sporu so označeni zgoraj, v območju Dejavni filtri.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Novinci",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Manj kot 10 urejanj in 4 dni dejavnosti.",
+       "rcfilters-filter-user-experience-level-learner-label": "Učenci",
+       "rcfilters-filter-user-experience-level-learner-description": "Več dni dejavnosti in urejanj kot »Novinci«, vendar manj kot »Izkušeni uporabniki«.",
+       "rcfilters-filter-user-experience-level-experienced-label": "Izkušeni uporabniki",
+       "rcfilters-filter-user-experience-level-experienced-description": "Več kot 30 dni dejavnosti in 500 urejanj.",
        "rcfilters-filtergroup-automated": "Samodejni prispevki",
        "rcfilters-filter-bots-label": "Bot",
        "rcfilters-filter-bots-description": "Urejanja, narejena s samodejnimi orodji.",
        "rcfilters-filter-humans-label": "Človek (ne bot)",
        "rcfilters-filter-humans-description": "Urejanja, ki so jih izvedli uredniki ljudje.",
+       "rcfilters-filtergroup-reviewstatus": "Stanje pregleda",
+       "rcfilters-filter-patrolled-label": "Nadzorovano",
+       "rcfilters-filter-patrolled-description": "Urejanja, ki so označena kot nadzorovana.",
+       "rcfilters-filter-unpatrolled-label": "Nenadzorovano",
+       "rcfilters-filter-unpatrolled-description": "Urejanja, ki niso označena kot nadzorovana.",
        "rcfilters-filtergroup-significance": "Pomembnost",
        "rcfilters-filter-minor-label": "Manjše urejanje",
        "rcfilters-filter-minor-description": "Urejanja, ki jih je avtor označil kot manjša.",
        "rcfilters-filter-categorization-description": "Zapisi o straneh, ki so bila dodana ali odstranjena iz kategorij.",
        "rcfilters-filter-logactions-label": "Zabeležena dejanja",
        "rcfilters-filter-logactions-description": "Administrativna dejanja, ustvarjanja računov, izbrisi strani, nalaganja ...",
+       "rcfilters-hideminor-conflicts-typeofchange-global": "Filter »Manjša urejanja« je v sporu z enim ali več filtri Vrsta spremembe, ker nekaterih vrst urejanj ni možno označiti kot »manjša«. Filtri v sporu so označeni v območju Dejavni filtri zgoraj.",
+       "rcfilters-hideminor-conflicts-typeofchange": "Nekaterih vrst sprememb ni možno označiti kot »manjše«, zato je ta filter v sporu z naslednjimi filtri Vrsta spremembe: $1",
+       "rcfilters-typeofchange-conflicts-hideminor": "Ta filter Vrsta spremembe je v sporu s filtrom »Manjše urejanje«. Nekaterih vrst sprememb ni možno označiti kot »manjše«.",
        "rcnotefrom": "{{PLURAL:$5|Navedena je sprememba|Navedeni sta spremembi|Navedene so spremembe}} od <strong>$3 $4</strong> dalje (prikazujem jih do <strong>$1</strong>).",
        "rclistfrom": "Prikaži spremembe od $3 $2 naprej",
        "rcshowhideminor": "$1 manjša urejanja",
        "logentry-tag-update-revision": "$1 je {{GENDER:$2|posodobil|posodobila|posodobil(-a)}} oznake redakcije $4 strani $3 ({{PLURAL:$7|dodano}} $6; {{PLURAL:$9|odstranjeno}} $8)",
        "logentry-tag-update-logentry": "$1 je {{GENDER:$2|posodobil|posodobila|posodobil(-a)}} oznake dnevniškega vnosa $5 strani $3 ({{PLURAL:$7|dodano}} $6; {{PLURAL:$9|odstranjeno}} $8)",
        "rightsnone": "(nobeno)",
-       "revdelete-summary": "povzetek urejanja",
        "rightslogentry-temporary-group": "$1 (začasno, do $2)",
        "feedback-adding": "Dodajanje povratne informacije na stran ...",
        "feedback-back": "Nazaj",
index 9078ecf..7799835 100644 (file)
        "category-file-count-limited": "{{PLURAL:$1|1=Следећа датотека је|Следеће $1 датотеке су|Следећих $1 датотека је}} у овој категорији.",
        "listingcontinuesabbrev": "наст.",
        "index-category": "Пописане странице",
-       "noindex-category": "Ð\9dепопиÑ\81ане странице",
+       "noindex-category": "Ð\9dеиндекÑ\81иÑ\80ане странице",
        "broken-file-category": "Странице с неисправним везама до датотека",
        "about": "О нама",
        "article": "Страница са садржајем",
        "permalink": "Трајна веза",
        "print": "Штампај",
        "view": "Погледај",
-       "view-foreign": "Види на $1",
+       "view-foreign": "Види на пројекту $1",
        "edit": "Уреди",
        "edit-local": "Уреди локални опис",
        "create": "Направи",
        "versionrequired": "Потребно је издање $1 Медијавикија",
        "versionrequiredtext": "Потребно је издање $1 Медијавикија да бисте користили ову страницу.\nПогледајте страницу за [[Special:Version|издање]].",
        "ok": "У реду",
-       "pagetitle": "$1 â\80\93 {{SITENAME}}",
+       "pagetitle": "$1 â\80\94 {{SITENAME}}",
        "pagetitle-view-mainpage": "{{SITENAME}}",
        "backlinksubtitle": "← $1",
        "retrievedfrom": "Преузето из „$1“",
        "login": "Пријави ме",
        "login-security": "Верификација вашег индентитета",
        "nav-login-createaccount": "Пријава/регистрација",
-       "userlogin": "Пријава/регистрација",
-       "userloginnocreate": "Пријава",
        "logout": "Одјава",
        "userlogout": "Одјава",
        "notloggedin": "Нисте пријављени",
        "userlogin-noaccount": "Немате налог?",
        "userlogin-joinproject": "Отворите га",
-       "nologin": "Немате налог? Идите на страницу $1.",
-       "nologinlink": "Отварање налога",
        "createaccount": "Отвори налог",
-       "gotaccount": "Већ имате налог? Идите на страницу „$1“.",
-       "gotaccountlink": "Пријава",
-       "userlogin-resetlink": "Заборавили сте податке за пријаву?",
        "userlogin-resetpassword-link": "Заборавили сте лозинку?",
        "userlogin-helplink2": "Помоћ при пријављивању",
        "userlogin-loggedin": "Већ сте пријављени као {{GENDER:$1|$1}}.\nКористите доњи образац да бисте се пријавили као други корисник.",
        "createacct-another-email-ph": "Унесите имејл адресу",
        "createaccountmail": "Користите привремену, случајно створену лозинку и пошаљите на наведену имејл адресу",
        "createacct-realname": "Право име (опционо)",
-       "createaccountreason": "Разлог:",
        "createacct-reason": "Разлог",
        "createacct-reason-ph": "Зашто правите још један налог?",
        "createacct-submit": "Отвори налог",
        "userinvalidcssjstitle": "<strong>Упозорење:</strong> не постоји тема „$1“.\nПрилагођене странице CSS и јаваскрипт почињу малим словом, нпр. {{ns:user}}:Foo/vector.css, а не {{ns:user}}:Foo/Vector.css.",
        "updated": "(Ажурирано)",
        "note": "<strong>Напомена:</strong>",
-       "previewnote": "<strong>Ð\9eво Ñ\98е претпреглед.</strong>\nВаше измене још нису сачуване!",
+       "previewnote": "<strong>Ð\9dе Ð·Ð°Ð±Ð¾Ñ\80авиÑ\82е Ð´Ð° Ñ\98е Ð¾Ð²Ð¾ Ñ\81амо претпреглед.</strong>\nВаше измене још нису сачуване!",
        "continue-editing": "Иди на уређивачки оквир",
        "previewconflict": "Овај преглед осликава како ће текст у текстуалном оквиру изгледати.",
-       "session_fail_preview": "Ð\9dиÑ\81мо Ð¼Ð¾Ð³Ð»Ð¸ Ð´Ð° Ð¾Ð±Ñ\80адимо Ð²Ð°Ñ\88Ñ\83 Ð¸Ð·Ð¼ÐµÐ½Ñ\83 Ð·Ð±Ð¾Ð³ Ð³Ñ\83биÑ\82ка Ð¿Ð¾Ð´Ð°Ñ\82ака Ñ\81еÑ\81иÑ\98е.\n\nÐ\9cожда Ñ\81Ñ\82е Ð¾Ð´Ñ\98авÑ\99ени. <strong>Ð\9fÑ\80овеÑ\80иÑ\82е Ð´Ð° Ð»Ð¸ Ñ\81Ñ\82е Ð¿Ñ\80иÑ\98авÑ\99ен Ð¸ Ð¿Ð¾ÐºÑ\83Ñ\88аÑ\98Ñ\82е Ð¿Ð¾Ð½Ð¾Ð²Ð¾</strong>.\n\nАко и даље не ради, покушајте да се [[Special:UserLogout|одјавите]] и поново пријавите и проверите да ли су на Вашем претраживачу дозвољени колачићи са овог сајта.",
+       "session_fail_preview": "Ð\98звиÑ\9aавамо Ñ\81е! Ð\9dиÑ\81мо Ð¼Ð¾Ð³Ð»Ð¸ Ð´Ð° Ð¾Ð±Ñ\80адимо Ð\92аÑ\88Ñ\83 Ð¸Ð·Ð¼ÐµÐ½Ñ\83 Ð·Ð±Ð¾Ð³ Ð³Ñ\83биÑ\82ка Ð¿Ð¾Ð´Ð°Ñ\82ака Ñ\81еÑ\81иÑ\98е.\n\nÐ\9cожда Ñ\81Ñ\82е Ð¾Ð´Ñ\98авÑ\99ени. <strong>Ð\9fÑ\80овеÑ\80иÑ\82е Ð´Ð° Ð»Ð¸ Ñ\81Ñ\82е Ð¿Ñ\80иÑ\98авÑ\99ен Ð¸ Ð¿Ð¾ÐºÑ\83Ñ\88аÑ\98Ñ\82е Ð¿Ð¾Ð½Ð¾Ð²Ð¾</strong>.\nАко и даље не ради, покушајте да се [[Special:UserLogout|одјавите]] и поново пријавите и проверите да ли су на Вашем претраживачу дозвољени колачићи са овог сајта.",
        "session_fail_preview_html": "Нисмо могли да обрадимо вашу измену због губитка података сесије.\n\n<em>Будући да је на овом викију омогућен унос HTML ознака, преглед је сакривен као мера предострожности против напада преко јаваскрипта.</em>\n\n<strong>Ако сте покушали да направите праву измену, покушајте поново.<strong>\nАко и даље не ради, покушајте да се [[Special:UserLogout|одјавите]] и поново пријавите и проверите да ли Ваш претраживач дозвољава колачиће са овог сајта.",
        "token_suffix_mismatch": "'''Ваша измена је одбачена јер је ваш прегледач убацио знакове интерпункције у новчић уређивања.\nТо се понекад догађа када се користи неисправан посредник.'''",
        "edit_form_incomplete": "<strong>Неки делови обрасца за уређивање нису стигли до сервера. Проверите да ли су ваше измене непромењене и покушајте поново.</strong>",
        "longpageerror": "'''Грешка: текст који сте унели је величине {{PLURAL:$1|један килобајт|$1 килобајта|$1 килобајта}}, што је веће од {{PLURAL:$2|дозвољеног једног килобајта|дозвољена $2 килобајта|дозвољених $2 килобајта}}.'''\nСтраница не може бити сачувана.",
        "readonlywarning": "<strong>Упозорење: база података је закључана ради одржавања, тако да тренутно нећете моћи да сачувате измене.</strong>\nМожда бисте желели сачувати текст за касније у некој текстуалној датотеци.\n\nСистемски администратор је навео следеће објашњење: $1",
        "protectedpagewarning": "<strong>Упозорење: ова страница је заштићена, тако да само администратори могу да је мењају.</strong>\nПоследњи запис у дневнику је приказан испод:",
-       "semiprotectedpagewarning": "'''Напомена:''' ова страница је заштићена, тако да само регистровани корисници могу да је уређују.\nПоследњи запис у дневнику је приказан испод:",
+       "semiprotectedpagewarning": "<strong>Напомена:</strong> Ова страница је заштићена, тако да само регистровани корисници могу да је уређују.\nПоследњи запис у дневнику приказан је испод као референца:",
        "cascadeprotectedwarning": "<strong>Упозорење:</strong> ова страница је заштићена тако да је могу уређивати само администратори, јер је она укључена у {{PLURAL:$1|следећу страницу која је|следеће странице које су}} заштићене „преносивом“ заштитом:",
        "titleprotectedwarning": "<strong>Упозорење: ову страницу могу направити само корисници [[Special:ListGroupRights|с одређеним правима]].</strong>\nИспод су наведени последњи записи у дневнику:",
        "templatesused": "{{PLURAL:$1|Шаблон|Шаблони}} на овој страници:",
        "right-createtalk": "прављење страница за разговор",
        "right-createaccount": "отварање нових корисничких налога",
        "right-minoredit": "означавање измена мањим",
-       "right-move": "премештање страница",
+       "right-move": "Ð\9fремештање страница",
        "right-move-subpages": "премештање страница с њиховим подстраницама",
        "right-move-rootuserpages": "премештање основних корисничких страница",
-       "right-move-categorypages": "премештање категорија",
-       "right-movefile": "премештање датотека",
+       "right-move-categorypages": "Ð\9fремештање категорија",
+       "right-movefile": "Ð\9fремештање датотека",
        "right-suppressredirect": "премештање страница без остављања преусмерења",
        "right-upload": "Отпремање датотека",
        "right-reupload": "замењивање постојећих датотека",
        "rcfilters-restore-default-filters": "Враћање подразумеваних филтера",
        "rcfilters-clear-all-filters": "Уклони све филтере",
        "rcfilters-empty-filter": "Нема активних филтера. Сви доприноси су приказани.",
-       "rcfilters-filter-userExpLevel-newcomer-label": "Новајлије",
-       "rcfilters-filter-userExpLevel-experienced-label": "Искусни корисници",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Новајлије",
+       "rcfilters-filter-user-experience-level-experienced-label": "Искусни корисници",
        "rcnotefrom": "Испод {{PLURAL:$5|је измена|су измене}} од <strong>$3, $4</strong> (до <strong>$1</strong> приказано).",
        "rclistfrom": "Прикажи нове измене почев од $2 $3",
        "rcshowhideminor": "$1 мање измене",
        "zip-bad": "Датотека је оштећена или је нечитљива ZIP датотека.\nБезбедносна провера не може да се изврши како треба.",
        "zip-unsupported": "Датотека је формата ZIP који користи могућности које не подржава Медијавики.\nБезбедносна провера не може да се изврши како треба.",
        "uploadstash": "Тајно складиште",
-       "uploadstash-summary": "Ð\9eва Ñ\81Ñ\82Ñ\80аниÑ\86а Ð¿Ñ\80Ñ\83жа Ð¿Ñ\80иÑ\81Ñ\82Ñ\83п Ð´Ð°Ñ\82оÑ\82екама ÐºÐ¾Ñ\98е Ñ\81Ñ\83 Ð¿Ð¾Ñ\81лаÑ\82е (или Ñ\81е Ñ\88аÑ\99Ñ\83), Ð°Ð»Ð¸ Ñ\98оÑ\88 Ð½Ð¸Ñ\81Ñ\83 Ð¾Ð±Ñ\98авÑ\99ене. Ð\9eве Ð´Ð°Ñ\82оÑ\82еке Ñ\81Ñ\83 Ð²Ð¸Ð´Ñ\99иве Ñ\81амо ÐºÐ¾Ñ\80иÑ\81никÑ\83 ÐºÐ¾Ñ\98и Ð³Ð° Ñ\98е Ð¿Ð¾Ñ\81лао.",
+       "uploadstash-summary": "Ð\9eва Ñ\81Ñ\82Ñ\80аниÑ\86а Ð¿Ñ\80Ñ\83жа Ð¿Ñ\80иÑ\81Ñ\82Ñ\83п Ð´Ð°Ñ\82оÑ\82екама ÐºÐ¾Ñ\98е Ñ\81Ñ\83 Ð¾Ñ\82пÑ\80емÑ\99ене Ð¸Ð»Ð¸ Ñ\81е Ð¾Ñ\82пÑ\80емаÑ\98Ñ\83, Ð°Ð»Ð¸ Ñ\98оÑ\88 Ð½Ð¸Ñ\81Ñ\83 Ð¾Ð±Ñ\98авÑ\99ене. Ð\9eве Ð´Ð°Ñ\82оÑ\82еке Ð½Ð¸Ñ\81Ñ\83 Ð²Ð¸Ð´Ñ\99иве Ð½Ð¸ÐºÐ¾Ð¼Ðµ, Ð¾Ñ\81им ÐºÐ¾Ñ\80иÑ\81никÑ\83 ÐºÐ¾Ñ\98и Ð¸Ñ\85 Ñ\98е Ð¾Ñ\82пÑ\80емио.",
        "uploadstash-clear": "Очисти сакривене датотеке",
        "uploadstash-nofiles": "Немате сакривене датотеке.",
        "uploadstash-badtoken": "Извршавање дате радње није успело, разлог томе може бити истек времена за уређивање. Покушајте поново.",
        "upload-curl-error28-text": "Сервер не одговара на упит.\nПроверите да ли сајт ради, мало осачекајте и покушајте поново.\nПробајте касније када буде мање оптерећење.",
        "license": "Лиценца:",
        "license-header": "Лиценца:",
-       "nolicense": "није изабрано",
+       "nolicense": "Ð\9dије изабрано",
        "licenses-edit": "Уреди избор лиценци",
        "license-nopreview": "(преглед није доступан)",
        "upload_source_url": "(ваша изабрана датотека од исправних и јавно доступних адреса)",
        "filehist-revert": "врати",
        "filehist-current": "тренутно",
        "filehist-datetime": "Датум/време",
-       "filehist-thumb": "Ð\9cиниÑ\98аÑ\82Ñ\83Ñ\80а",
+       "filehist-thumb": "УмаÑ\9aени Ð¿Ñ\80иказ",
        "filehist-thumbtext": "Умањени приказ за издање од $1",
-       "filehist-nothumb": "Нема минијатуре",
+       "filehist-nothumb": "Нема умањеног приказа",
        "filehist-user": "Корисник",
        "filehist-dimensions": "Димензије",
        "filehist-filesize": "Величина датотеке",
        "wlshowhidecategorization": "категоризацију страница",
        "watchlist-options": "Поставке списка надгледања",
        "watching": "Надгледање…",
-       "unwatching": "Ð\9fÑ\80екидаÑ\9aе Ð½Ð°Ð´Ð³Ð»ÐµÐ´Ð°Ñ\9aаâ\80¦",
+       "unwatching": "УклаÑ\9aаÑ\9aе Ñ\81а Ñ\81пиÑ\81ка Ð½Ð°Ð´Ð³Ð»ÐµÐ´Ð°Ñ\9aа...",
        "watcherrortext": "Дошло је до грешке при промени поставки вашег списка надгледања за „$1“.",
        "enotif_reset": "Означи све странице као посећене",
        "enotif_impersonal_salutation": "{{SITENAME}} корисник",
        "deletepage": "Обриши страницу",
        "confirm": "Потврди",
        "excontent": "садржај је био: „$1“",
-       "excontentauthor": "садржај је био: „$1“, а једини уредник [[Special:Contributions/$2|$2]] ([[User talk:$2|разговор]])",
+       "excontentauthor": "садржај је био: „$1“, а једини уредник „[[Special:Contributions/$2|$2]]“ ([[User talk:$2|разговор]])",
        "exbeforeblank": "садржај пре брисања је био: „$1“",
        "delete-confirm": "Брисање странице „$1“",
        "delete-legend": "Обриши",
        "logentry-contentmodel-change": "$1 је {{GENDER:$2|променио|променила}} модел садржаја странице $3 из „$4“ у „$5“",
        "logentry-contentmodel-change-revertlink": "врати",
        "logentry-contentmodel-change-revert": "врати",
-       "protectlogpage": "Дневник закључавања",
+       "protectlogpage": "Дневник заштите",
        "protectlogtext": "Испод је списак заштићених страница.\nПогледајте [[Special:ProtectedPages|списак заштићених страница]] за више детаља.",
        "protectedarticle": "је заштитио „[[$1]]“",
        "modifiedarticleprotection": "промењен степен заштите за „[[$1]]“",
        "protect-locked-dblock": "Степени заштите се не могу мењати јер је активна база података закључана.\nОво су поставке странице '''$1''':",
        "protect-locked-access": "Немате овлашћења за мењање степена заштите странице.\nОво су тренутне поставке странице '''$1''':",
        "protect-cascadeon": "Ова страница је тренутно заштићена јер се налази на {{PLURAL:$1|страници која има|страницама које имају}} преносиву заштиту.\nМожете да промените степен заштите, али то неће утицати на преносиву заштиту.",
-       "protect-default": "Допуштено свима",
+       "protect-default": "Допуштено свим корисницима",
        "protect-fallback": "Дозвољено само корисницима са дозволом „$1“",
        "protect-level-autoconfirmed": "Допуштено само аутоматски потврђеним корисницима",
        "protect-level-sysop": "Допуштено само администраторима",
        "minimum-size": "Најмања величина",
        "maximum-size": "Највећа величина:",
        "pagesize": "(бајтови)",
-       "restriction-edit": "уређивање",
-       "restriction-move": "премештање",
+       "restriction-edit": "Уређивање",
+       "restriction-move": "Ð\9fремештање",
        "restriction-create": "прављење",
        "restriction-upload": "отпремање",
        "restriction-level-sysop": "потпуно заштићено",
        "ipblocklist-no-results": "Тражена ИП адреса или корисничко име није блокирано.",
        "blocklink": "блокирај",
        "unblocklink": "деблокирај",
-       "change-blocklink": "пÑ\80омени Ð±Ð»Ð¾ÐºÐ¸Ñ\80аÑ\9aе",
+       "change-blocklink": "пÑ\80омени Ð±Ð»Ð¾ÐºÐ°Ð´Ñ\83",
        "contribslink": "доприноси",
        "emaillink": "пошаљи имејл",
        "autoblocker": "Аутоматски сте блокирани јер делите ИП адресу с корисником/цом [[User:$1|$1]].\nРазлог блокирања: „$2“",
        "delete_and_move_confirm": "Да, обриши страницу",
        "delete_and_move_reason": "Обрисано да се ослободи место за премештање из „[[$1]]“",
        "selfmove": "Изворни и одредишни наслови су истоветни;\nне могу да преместим страницу преко саме себе.",
-       "immobile-source-namespace": "Ð\9dе Ð¼Ð¾Ð³Ñ\83 Ð´Ð° Ð¿Ñ\80емеÑ\81Ñ\82им Ñ\81Ñ\82Ñ\80аниÑ\86е Ñ\83 Ð¸Ð¼ÐµÐ½Ñ\81ком Ð¿Ñ\80оÑ\81Ñ\82оÑ\80Ñ\83 â\80\9e$1â\80\9c",
-       "immobile-target-namespace": "Ð\9dе Ð¼Ð¾Ð³Ñ\83 Ð´Ð° Ð¿Ñ\80емеÑ\81Ñ\82им Ñ\81Ñ\82Ñ\80аниÑ\86е Ñ\83 Ð¸Ð¼ÐµÐ½Ñ\81ком Ð¿Ñ\80оÑ\81Ñ\82оÑ\80Ñ\83 â\80\9e$1â\80\9c",
+       "immobile-source-namespace": "Ð\9dе Ð¼Ð¾Ð³Ñ\83 Ð¿Ñ\80емеÑ\81Ñ\82иÑ\82и Ñ\81Ñ\82Ñ\80аниÑ\86е Ñ\83 Ð¸Ð¼ÐµÐ½Ñ\81ки Ð¿Ñ\80оÑ\81Ñ\82оÑ\80 â\80\9e$1â\80\9c.",
+       "immobile-target-namespace": "Ð\9dе Ð¼Ð¾Ð³Ñ\83 Ð¿Ñ\80емеÑ\81Ñ\82иÑ\82и Ñ\81Ñ\82Ñ\80аниÑ\86е Ñ\83 Ð¸Ð¼ÐµÐ½Ñ\81ки Ð¿Ñ\80оÑ\81Ñ\82оÑ\80 â\80\9e$1â\80\9c.",
        "immobile-target-namespace-iw": "Међувики веза није исправно одредиште за премештање странице.",
        "immobile-source-page": "Ова страница се не може преместити.",
        "immobile-target-page": "Не могу да преместим на жељени наслов.",
        "fix-double-redirects": "Ажурирајте сва преусмерења која воде до првобитног наслова",
        "move-leave-redirect": "Остави преусмерење",
        "protectedpagemovewarning": "'''Упозорење:''' ова страница је заштићена, тако да само корисници с администраторским овлашћењима могу да је преместе.\nЗа више информација, последњи запис у дневнику измена је приказан испод:",
-       "semiprotectedpagemovewarning": "'''Напомена:''' ова страница је заштићена, тако да само регистровани корисници могу да је преместе.\nЗа више информација, последњи запис у дневнику измена је приказан испод:",
+       "semiprotectedpagemovewarning": "<strong>Напомена:</strong> Ова страница је заштићена, тако да само регистровани корисници могу да је преместе.\nПоследњи запис у дневнику измена приказан је испод као референца:",
        "move-over-sharedrepo": "[[:$1]] се налази на дељеном складишту. Ако преместите датотеку на овај наслов, то ће заменити дељену датотеку.",
        "file-exists-sharedrepo": "Наведени назив датотеке се већ користи у дељеном складишту.\nИзаберите други назив.",
        "export": "Извоз страница",
        "group-bot.js": "/* Јаваскрипт постављен овде ће се учитати само за ботове */",
        "group-sysop.js": "/* Јаваскрипт постављен овде ће се учитати само за системске операторе */",
        "group-bureaucrat.js": "/* Јаваскрипт постављен овде ће се учитати само за бирократе */",
-       "anonymous": "Ð\90нонимни {{PLURAL:$1|коÑ\80иÑ\81ник|коÑ\80иÑ\81ниÑ\86и}} Ð½Ð° Ð¿Ñ\80оÑ\98екÑ\82Ñ\83 {{SITENAME}}",
+       "anonymous": "Ð\90нонимни {{PLURAL:$1|коÑ\80иÑ\81ник|коÑ\80иÑ\81ниÑ\86и}} Ð¿Ñ\80оÑ\98екÑ\82а {{SITENAME}}",
        "siteuser": "{{SITENAME}} корисник $1",
        "anonuser": "{{SITENAME}} анониман корисник $1",
        "lastmodifiedatby": "Ову страницу је последњи пут {{GENDER:$4|изменио|изменила|изменио}} $3, $1 у $2.",
        "file-no-thumb-animation-gif": "'''Напомена: због техничких ограничења, минијатуре GIF слика високе резолуције као што је ова неће се анимирати.'''",
        "newimages": "Галерија нових датотека",
        "imagelisttext": "Испод је списак од '''$1''' {{PLURAL:$1|датотеке|датотеке|датотека}} поређаних $2.",
-       "newimages-summary": "Ð\9eва Ð¿Ð¾Ñ\81ебна Ñ\81Ñ\82Ñ\80аниÑ\86а Ð¿Ñ\80иказÑ\83Ñ\98е Ð¿Ð¾Ñ\81ледÑ\9aе Ð¿Ð¾Ñ\81лаÑ\82е датотеке.",
+       "newimages-summary": "Ð\9eва Ð¿Ð¾Ñ\81ебна Ñ\81Ñ\82Ñ\80аниÑ\86а Ð¿Ñ\80иказÑ\83Ñ\98е Ð¿Ð¾Ñ\81ледÑ\9aе Ð¾Ñ\82пÑ\80емÑ\99ене датотеке.",
        "newimages-legend": "Филтер",
        "newimages-label": "Назив датотеке (или њен део):",
        "newimages-showbots": "Прикажи датотеке које су послали ботови",
        "exif-scenecapturetype": "Врста снимања сцена",
        "exif-gaincontrol": "Контрола сцене",
        "exif-contrast": "Контраст",
-       "exif-saturation": "Засићење",
+       "exif-saturation": "Засићеност",
        "exif-sharpness": "Оштрина",
        "exif-devicesettingdescription": "Опис поставки уређаја",
        "exif-subjectdistancerange": "Опсег удаљености објекта",
        "exif-contrast-1": "Меко",
        "exif-contrast-2": "Тврдо",
        "exif-saturation-0": "Нормално",
-       "exif-saturation-1": "Ð\9dиÑ\81ко Ð·Ð°Ñ\81иÑ\9bеÑ\9aе",
-       "exif-saturation-2": "Ð\92иÑ\81око Ð·Ð°Ñ\81иÑ\9bеÑ\9aе",
+       "exif-saturation-1": "Ð\9dиÑ\81ка Ð·Ð°Ñ\81иÑ\9bеноÑ\81Ñ\82",
+       "exif-saturation-2": "Ð\92иÑ\81ока Ð·Ð°Ñ\81иÑ\9bеноÑ\81Ñ\82",
        "exif-sharpness-0": "Нормално",
        "exif-sharpness-1": "Меко",
        "exif-sharpness-2": "Тврдо",
        "hebrew-calendar-m12-gen": "Елул",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|разговор]])",
        "timezone-utc": "UTC",
-       "duplicate-defaultsort": "'''Упозорење:''' подразумевани кључ сврставања „$2“ мења некадашњи кључ „$1“.",
+       "duplicate-defaultsort": "<strong>Упозорење:</strong> Подразумевани кључ сврставања „$2“ мења ранији подразумевани кључ сврставања „$1“.",
        "duplicate-displaytitle": "<strong>Упозорење:</strong> наслов за приказ „$2“ замениће постојећи „$1“.",
        "version": "Верзија",
        "version-extensions": "Инсталирана проширења",
        "logentry-rights-rights": "$1 је {{GENDER:$2|променио|променила}} чланство групе за {{GENDER:$6|$3}} из $4 у $5",
        "logentry-rights-rights-legacy": "$1 је {{GENDER:$2|променио|променила}} чланство групе за $3",
        "logentry-rights-autopromote": "$1 је аутоматски {{GENDER:$2|унапређен|унапређена}} из $4 у $5",
-       "logentry-upload-upload": "$1 Ñ\98е {{GENDER:$2|поÑ\81лао|поÑ\81лала}} $3",
-       "logentry-upload-overwrite": "$1 Ñ\98е {{GENDER:$2|поÑ\81лао|поÑ\81лала}} нову верзију $3",
-       "logentry-upload-revert": "$1 Ñ\98е {{GENDER:$2|поÑ\81лао|поÑ\81лала}} $3",
+       "logentry-upload-upload": "$1 Ñ\98е {{GENDER:$2|оÑ\82пÑ\80емио|оÑ\82пÑ\80емила}} $3",
+       "logentry-upload-overwrite": "$1 Ñ\98е {{GENDER:$2|оÑ\82пÑ\80емио|оÑ\82пÑ\80емила}} нову верзију $3",
+       "logentry-upload-revert": "$1 Ñ\98е {{GENDER:$2|оÑ\82пÑ\80емио|оÑ\82пÑ\80емила}} $3",
        "log-name-managetags": "Дневник уређивања ознака",
        "log-description-managetags": "Овај дневник садржи списак измена у вези [[Special:Tags|ознака]]. Дневник садржи само радње извршене од стране администратора, уноси за ознаке направљене или обрисане од стране вики софтвера се не налазе у овом дневнику.",
        "logentry-managetags-create": "$1 је {{GENDER:$2|направио|направила}} ознаку „$4“",
        "log-name-tag": "Дневник ознака",
        "log-description-tag": "Овај дневник приказује додавање/уклањање [[Special:Tags|ознака]] на појединачне измене или уносе у дневницима. Овај дневник не приказује означавање када су она део уређивања, брисања или неке друге радње.",
        "rightsnone": "(нема)",
-       "revdelete-summary": "опис измене",
        "feedback-adding": "Додајем повратну информацију на страницу…",
        "feedback-back": "Назад",
        "feedback-bugcheck": "Одлично! Проверите да ли је грешка [$1 позната од пре].",
        "log-action-filter-protect-protect": "закључавање",
        "log-action-filter-protect-modify": "измена закључавања",
        "log-action-filter-protect-unprotect": "уклањање закључавања",
-       "log-action-filter-protect-move_prot": "премештање заштите",
+       "log-action-filter-protect-move_prot": "Ð\9fремештање заштите",
        "log-action-filter-rights-rights": "ручно",
        "log-action-filter-rights-autopromote": "аутоматски",
        "log-action-filter-upload-upload": "Ново отпремање",
index d1a3a20..b47fde5 100644 (file)
@@ -22,7 +22,8 @@
                        "Macofe",
                        "Сербијана",
                        "Xð",
-                       "Matma Rex"
+                       "Matma Rex",
+                       "Mega Aleksandar"
                ]
        },
        "tog-underline": "Podvlačenje veza:",
@@ -50,7 +51,7 @@
        "tog-enotifminoredits": "Pošalji mi imejl i za manje izmene u stranicama i datotekama",
        "tog-enotifrevealaddr": "Prikaži moju imejl adresu u porukama obaveštenja",
        "tog-shownumberswatching": "Prikaži broj korisnika koji nadgledaju",
-       "tog-oldsig": "Tekući potpis:",
+       "tog-oldsig": "Potpis:",
        "tog-fancysig": "Smatraj potpis kao vikitekst (bez samopovezivanja)",
        "tog-uselivepreview": "Koristi trenutni pregled",
        "tog-forceeditsummary": "Upozori me kada ne unesem opis izmene",
@@ -67,7 +68,7 @@
        "tog-showhiddencats": "Prikaži skrivene kategorije",
        "tog-norollbackdiff": "Ne prikazuj razliku nakon izvršenog vraćanja",
        "tog-useeditwarning": "Upozori me kada napuštam stranicu sa nesačuvanim promenama",
-       "tog-prefershttps": "Uvek koristi sigurnu konekciju kada sam prijavljen.",
+       "tog-prefershttps": "Uvek koristi bezbednu konekciju dok sam prijavljen.",
        "underline-always": "uvek podvlači",
        "underline-never": "nikad ne podvlači",
        "underline-default": "prema temi ili pregledaču",
        "october-date": "$1. oktobar",
        "november-date": "$1. novembar",
        "december-date": "$1. decembar",
+       "period-am": "prepodne",
+       "period-pm": "popodne",
        "pagecategories": "{{PLURAL:$1|Kategorija|Kategorije}}",
        "category_header": "Stranice u kategoriji „$1“",
        "subcategories": "Potkategorije",
        "category-media-header": "Datoteke u kategoriji „$1“",
-       "category-empty": "<div style=\"margin:2em 1em 0 1em; padding:0.5em; border:1px solid #AAA; text-align:center;\">''Ova kategorija trenutno ne sadrži stranice ili datoteke.''</div>",
+       "category-empty": "<em>Ova kategorija trenutno ne sadrži stranice ili datoteke.</em>",
        "hidden-categories": "{{PLURAL:$1|Sakrivena kategorija|Sakrivene kategorije}}",
        "hidden-category-category": "Skrivene kategorije",
        "category-subcat-count": "{{PLURAL:$2|1=Ova kategorija sadrži samo sledeću potkategoriju.|Ova kategorija ima {{PLURAL:$1|1=sledeću potkategoriju|sledeće $1 potkategorije|sledećih $1 potkategorija}}, od ukupno $2.}}",
        "category-file-count-limited": "{{PLURAL:$1|1=Sledeća datoteka je|Sledeće $1 datoteke su|Sledećih $1 datoteka je}} u ovoj kategoriji.",
        "listingcontinuesabbrev": "nast.",
        "index-category": "Popisane stranice",
-       "noindex-category": "Nepopisane stranice",
+       "noindex-category": "Neindeksirane stranice",
        "broken-file-category": "Stranice s neispravnim vezama do datoteka",
        "about": "O nama",
        "article": "Stranica sa sadržajem",
        "newwindow": "(otvara se u novom prozoru)",
        "cancel": "Otkaži",
        "moredotdotdot": "Više…",
-       "morenotlisted": "Ova lista nije kompletna.",
+       "morenotlisted": "Ova lista je možda nepotpuna",
        "mypage": "Stranica",
        "mytalk": "Razgovor",
        "anontalk": "Razgovor",
        "tagline": "Izvor: {{SITENAME}}",
        "help": "Pomoć",
        "search": "Pretraga",
+       "search-ignored-headings": "#<!-- ovu liniju ostavite kakva jeste --> <pre>\n# Naslovi koji će biti ignorisani upitom\n# Promene su vidljive odmah nakon što stranica sa naslovom bude popisana\n# Možete iznuditi ponovno popisivanje sa \"null\" promenom\n# Sintaksa je sledeća:\n# * Svaka vrsta koja započinje \"#\" znakom pa sve do kraja je komentar\n# * Svaka ne prazna vrsta je tačan naslov za zanemariti, u tačnom obliku\nReference\nSpoljašnje veze\nPogledajte\n#</pre> <!-- ovu liniju ostavite kakva jeste -->",
        "searchbutton": "Pretraži",
        "go": "Idi",
        "searcharticle": "Idi",
        "history": "Istorija stranice",
        "history_short": "Istorija",
+       "history_small": "istorija",
        "updatedmarker": "ažurirano od moje poslednje posete",
        "printableversion": "Za štampanje",
        "permalink": "Trajna veza",
        "print": "Štampaj",
        "view": "Pogledaj",
-       "view-foreign": "Vidi na $1",
+       "view-foreign": "Vidi na projektu $1",
        "edit": "Uredi",
        "edit-local": "Uredi lokalni opis",
        "create": "Napravi",
        "talk": "Razgovor",
        "views": "Pregledi",
        "toolbox": "Alatke",
+       "tool-link-userrights": "Promeni {{GENDER:$1|korisnik}} grupe",
+       "tool-link-userrights-readonly": "Prikaži {{GENDER:$1|korisnik}} grupe",
+       "tool-link-emailuser": "Pošalji e-poruku {{GENDER:$1|korisnik}}",
        "userpage": "Pogledaj korisničku stranicu",
        "projectpage": "Pogledaj stranicu projekta",
        "imagepage": "Pogledaj stranicu datoteke",
        "pool-timeout": "Istek vremena čeka na zaključavanje",
        "pool-queuefull": "Red je pun zahteva",
        "pool-errorunknown": "Nepoznata greška",
+       "pool-servererror": "Brojač fonda trenutno nije dostupan ($1)",
+       "poolcounter-usage-error": "Greška tokom upotrebe: $1",
        "aboutsite": "O projektu {{SITENAME}}",
        "aboutpage": "Project:O nama",
        "copyright": "Sadržaj je dostupan pod licencom $1 osim ako je drugačije navedeno.",
        "versionrequired": "Potrebno je izdanje $1 Medijavikija",
        "versionrequiredtext": "Potrebno je izdanje $1 Medijavikija da biste koristili ovu stranicu.\nPogledajte stranicu za [[Special:Version|izdanje]].",
        "ok": "U redu",
-       "pagetitle": "$1 â\80\93 {{SITENAME}}",
+       "pagetitle": "$1 â\80\94 {{SITENAME}}",
        "pagetitle-view-mainpage": "{{SITENAME}}",
        "backlinksubtitle": "← $1",
        "retrievedfrom": "Preuzeto iz „$1“",
        "databaseerror-query": "Upit: $1",
        "databaseerror-function": "Funkcija: $1",
        "databaseerror-error": "Greška: $1",
+       "transaction-duration-limit-exceeded": "Zbog izbegavanja velikih kopirajućih zaostajanja, ova transakcija je prekinuta zbog toga što je trajanje zapisivanja ($1) premašilo ($2) sekundi ograničenja. \nUkoliko menjate puno artikala odjednom, pokušajte sa više manjih operacija.",
        "laggedslavemode": "<strong>Upozorenje:</strong> stranica je možda zastarela.",
        "readonly": "Baza podataka je zaključana",
        "enterlockreason": "Unesite razlog za zaključavanje, uključujući i vreme otključavanja",
        "readonly_lag": "Baza podataka je automatski zaključana da bi se sekundarni serveri baze podataka uskladili s glavnim.",
        "internalerror": "Unutrašnja greška",
        "internalerror_info": "Unutrašnja greška: $1",
+       "internalerror-fatal-exception": "Kritični izuzetak tipa $1",
        "filecopyerror": "Ne mogu da umnožim datoteku „$1“ u „$2“.",
        "filerenameerror": "Ne mogu da preimenujem datoteku „$1“ u „$2“.",
        "filedeleteerror": "Ne mogu da obrišem datoteku „$1“.",
        "cannotdelete": "Ne mogu da obrišem stranicu ili datoteku „$1“.\nVerovatno ju je neko drugi obrisao.",
        "cannotdelete-title": "Ne mogu da obrišem stranicu „$1“",
        "delete-hook-aborted": "Brisanje je prekinula kuka.\nNije dato nikakvo obrazloženje.",
+       "no-null-revision": "Nije moguće napraviti \"null\" reviziju za stranicu $1",
        "badtitle": "Neispravan naslov",
        "badtitletext": "Naslov stranice je neispravan, prazan ili je međujezički ili međuviki naslov pogrešno povezan.\nMožda sadrži znakove koji se ne mogu koristiti u naslovima.",
+       "title-invalid-empty": "Zatraženi naslov strane je prazan ili sadrži samo razmak.",
+       "title-invalid-utf8": "Zatraženi naslov stranice sadrži nevažeći UTF-8 niz.",
+       "title-invalid-interwiki": "Zatraženi naslov stranice sadrži \"interwiki\" vezu koja ne može biti upotrebljenja za naslove.",
+       "title-invalid-talk-namespace": "Zatraženi naslov strane se odnosi na stranicu za razgovor koja ne može da postoji.",
        "title-invalid-characters": "Traženi naslov ima nevažeće karaktere: „$1“.",
+       "title-invalid-relative": "Naslov ima relativan put. Relativni naslovi (./, ../) su nevažeći, zato što će često biti nedostupni kroz korisnički pretraživač.",
+       "title-invalid-magic-tilde": "Naslov stranice koju ste tražili je nevažeći jer sadrži magični niz tildi (<nowiki>~~~</nowiki>)",
+       "title-invalid-too-long": "Naslov stranice koju ste tražili je predugačak. Ne sme da bude duži od $1 {{PLURAL:$1|bajt|bajtovi}} u UTF-8 znacima.",
+       "title-invalid-leading-colon": "Naslov stranice koju ste tražili sadrži dvotačku na početku.",
        "perfcached": "Sledeći podaci su keširani i mogu biti zastareli. Keš sadrži najviše {{PLURAL:$1|jedan rezultat|$1 rezultata|$1 rezultata}}.",
        "perfcachedts": "Sledeći podaci su keširani i poslednji put su ažurirani $2 u $3. U kešu {{PLURAL:$4|1=je dostupan najviše jedan rezultat|su dostupna najviše $4 rezultata|je dostupno najviše $4 rezultata}}.",
        "querypage-no-updates": "Ažuriranje ove stranice je trenutno onemogućeno.\nPodaci koji se ovde nalaze mogu biti zastareli.",
        "viewsource": "Izvorni kod",
        "viewsource-title": "Izvorni tekst stranice $1",
        "actionthrottled": "Radnja je usporena",
-       "actionthrottledtext": "U cilju borbe protiv nepoželjnih poruka, ograničene su vam izmene u određenom vremenu, a upravo ste prešli to ograničenje. Pokušajte ponovo za nekoliko minuta.",
+       "actionthrottledtext": "Kao meru protiv zloupotrebe, ograničeno vam je izvođenje ove radnje previše puta u kratkom vremenskom periodu, a vi ste premašili ovo ograničenje.\nMolimo pokušajte ponovo za nekoliko minuta.",
        "protectedpagetext": "Ova stranica je zaključana za izmene i druge radnje.",
        "viewsourcetext": "Možete čitati i kopirati sadržaj ove stranice.",
        "viewyourtext": "Možete da pogledate i kopirate izvorni tekst <strong>vaših izmena</strong> na ovoj stranici.",
        "externaldberror": "Došlo je do greške pri prepoznavanju baze podataka ili nemate ovlašćenja da ažurirate svoj spoljni nalog.",
        "login": "Prijavi me",
        "nav-login-createaccount": "Prijava/registracija",
-       "userlogin": "Prijava/registracija",
-       "userloginnocreate": "Prijava",
        "logout": "Odjava",
        "userlogout": "Odjava",
        "notloggedin": "Niste prijavljeni",
        "userlogin-noaccount": "Nemate nalog?",
        "userlogin-joinproject": "Otvorite ga",
-       "nologin": "Nemate nalog? Idite na stranicu $1.",
-       "nologinlink": "Otvaranje naloga",
        "createaccount": "Otvori nalog",
-       "gotaccount": "Već imate nalog? Idite na stranicu „$1“.",
-       "gotaccountlink": "Prijava",
-       "userlogin-resetlink": "Zaboravili ste podatke za prijavu?",
        "userlogin-resetpassword-link": "Zaboravili ste lozinku?",
        "userlogin-helplink2": "Pomoć pri prijavljivanju",
        "userlogin-loggedin": "Već ste prijavljeni kao {{GENDER:$1|$1}}.\nKoristite donji obrazac da biste se prijavili kao drugi korisnik.",
        "createacct-another-email-ph": "Unesite imejl adresu",
        "createaccountmail": "Koristite privremenu, slučajno stvorenu lozinku i pošaljite na navedenu adresu elektronske pošte",
        "createacct-realname": "Pravo ime (opciono)",
-       "createaccountreason": "Razlog:",
        "createacct-reason": "Razlog",
        "createacct-reason-ph": "Zašto pravite još jedan nalog?",
        "createacct-submit": "Otvori nalog",
        "userinvalidcssjstitle": "<strong>Upozorenje:</strong> ne postoji tema „$1“.\nPrilagođene stranice CSS i javaskript počinju malim slovom, npr. {{ns:user}}:Foo/vector.css, a ne {{ns:user}}:Foo/Vector.css.",
        "updated": "(Ažurirano)",
        "note": "<strong>Napomena:</strong>",
-       "previewnote": "<strong>Ovo je pretpregled.</strong>\nVaše izmene još nisu sačuvane!",
+       "previewnote": "<strong>Ne zaboravite da je ovo samo pretpregled.</strong>\nVaše izmene još nisu sačuvane!",
        "continue-editing": "Idi na uređivački okvir",
        "previewconflict": "Ovaj pregled oslikava kako će tekst u tekstualnom okviru izgledati.",
-       "session_fail_preview": "'''Nismo mogli da obradimo vašu izmenu zbog gubitka podataka sesije.'''\nPokušajte ponovo.\nAko i dalje ne radi, pokušajte da se [[Special:UserLogout|odjavite]] i ponovo prijavite.",
+       "session_fail_preview": "Izvinjavamo se! Nismo mogli da obradimo Vašu izmenu zbog gubitka podataka sesije.\n\nMožda ste odjavljeni. <strong>Proverite da li ste prijavljen i pokušajte ponovo</strong>.\nAko i dalje ne radi, pokušajte da se [[Special:UserLogout|odjavite]] i ponovo prijavite i proverite da li su na Vašem pretraživaču dozvoljeni kolačići sa ovog sajta.",
        "session_fail_preview_html": "'''Nismo mogli da obradimo vašu izmenu zbog gubitka podataka sesije.'''\n\n''Budući da je na ovom vikiju omogućen unos HTML oznaka, pregled je sakriven kao mera predostrožnosti protiv napada preko javaskripta.''\n\n'''Ako ste pokušali da napravite pravu izmenu, pokušajte ponovo.\nAko i dalje ne radi, pokušajte da se [[Special:UserLogout|odjavite]] i ponovo prijavite.'''",
        "token_suffix_mismatch": "'''Vaša izmena je odbačena jer je vaš pregledač ubacio znakove interpunkcije u novčić uređivanja.\nTo se ponekad događa kada se koristi neispravan posrednik.'''",
        "edit_form_incomplete": "<strong>Neki delovi obrasca za uređivanje nisu stigli do servera. Proverite da li su vaše izmene nepromenjene i pokušajte ponovo.</strong>",
        "longpageerror": "'''Greška: tekst koji ste uneli je veličine {{PLURAL:$1|jedan kilobajt|$1 kilobajta|$1 kilobajta}}, što je veće od {{PLURAL:$2|dozvoljenog jednog kilobajta|dozvoljena $2 kilobajta|dozvoljenih $2 kilobajta}}.'''\nStranica ne može biti sačuvana.",
        "readonlywarning": "<strong>Upozorenje: baza podataka je zaključana radi održavanja, tako da trenutno nećete moći da sačuvate izmene.</strong>\nMožda biste želeli sačuvati tekst za kasnije u nekoj tekstualnoj datoteci.\n\nSistemski administrator je naveo sledeće objašnjenje: $1",
        "protectedpagewarning": "<strong>Upozorenje: ova stranica je zaštićena, tako da samo administratori mogu da je menjaju.</strong>\nPoslednji zapis u dnevniku je prikazan ispod:",
-       "semiprotectedpagewarning": "'''Napomena:''' ova stranica je zaštićena, tako da samo registrovani korisnici mogu da je uređuju.\nPoslednji zapis u dnevniku je prikazan ispod:",
+       "semiprotectedpagewarning": "<strong>Napomena:</strong> Ova stranica je zaštićena, tako da samo registrovani korisnici mogu da je uređuju.\nPoslednji zapis u dnevniku prikazan je ispod kao referenca:",
        "cascadeprotectedwarning": "<strong>Upozorenje:</strong> ova stranica je zaštićena tako da je mogu uređivati samo administratori, jer je ona uključena u {{PLURAL:$1|sledeću stranicu koja je|sledeće stranice koje su}} zaštićene „prenosivom“ zaštitom:",
        "titleprotectedwarning": "<strong>Upozorenje: ovu stranicu mogu napraviti samo korisnici [[Special:ListGroupRights|s određenim pravima]].</strong>\nIspod su navedeni poslednji zapisi u dnevniku:",
        "templatesused": "{{PLURAL:$1|Šablon|Šabloni}} na ovoj stranici:",
        "right-createtalk": "pravljenje stranica za razgovor",
        "right-createaccount": "otvaranje novih korisničkih naloga",
        "right-minoredit": "označavanje izmena manjim",
-       "right-move": "premeštanje stranica",
+       "right-move": "Premeštanje stranica",
        "right-move-subpages": "premeštanje stranica s njihovim podstranicama",
        "right-move-rootuserpages": "premeštanje osnovnih korisničkih stranica",
-       "right-move-categorypages": "premeštanje kategorija",
-       "right-movefile": "premeštanje datoteka",
+       "right-move-categorypages": "Premeštanje kategorija",
+       "right-movefile": "Premeštanje datoteka",
        "right-suppressredirect": "premeštanje stranica bez ostavljanja preusmerenja",
        "right-upload": "Otpremanje datoteka",
        "right-reupload": "zamenjivanje postojećih datoteka",
        "zip-bad": "Datoteka je oštećena ili je nečitljiva ZIP datoteka.\nBezbednosna provera ne može da se izvrši kako treba.",
        "zip-unsupported": "Datoteka je formata ZIP koji koristi mogućnosti koje ne podržava Medijaviki.\nBezbednosna provera ne može da se izvrši kako treba.",
        "uploadstash": "Tajno skladište",
-       "uploadstash-summary": "Ova stranica pruža pristup datotekama koje su poslate (ili se šalju), ali još nisu objavljene. Ove datoteke su vidljive samo korisniku koji ga je poslao.",
+       "uploadstash-summary": "Ova stranica pruža pristup datotekama koje su otpremljene ili se otpremaju, ali još nisu objavljene. Ove datoteke nisu vidljive nikome, osim korisniku koji ih je otpremio.",
        "uploadstash-clear": "Očisti sakrivene datoteke",
        "uploadstash-nofiles": "Nemate sakrivene datoteke.",
        "uploadstash-badtoken": "Izvršavanje date radnje nije uspelo. Razlog tome može biti istek vremena za uređivanje. Pokušajte ponovo.",
        "upload-curl-error28-text": "Server ne odgovara na upit.\nProverite da li sajt radi, malo osačekajte i pokušajte ponovo.\nProbajte kasnije kada bude manje opterećenje.",
        "license": "Licenca:",
        "license-header": "Licenca:",
-       "nolicense": "nije izabrano",
+       "nolicense": "Nije izabrano",
        "licenses-edit": "Uredi izbor licenci",
        "license-nopreview": "(pregled nije dostupan)",
        "upload_source_url": "(vaša izabrana datoteka od ispravnih i javno dostupnih adresa)",
        "filehist-revert": "vrati",
        "filehist-current": "trenutno",
        "filehist-datetime": "Datum/vreme",
-       "filehist-thumb": "Minijatura",
+       "filehist-thumb": "Umanjeni prikaz",
        "filehist-thumbtext": "Umanjeni prikaz za izdanje od $1",
-       "filehist-nothumb": "Nema minijature",
+       "filehist-nothumb": "Nema umanjenog prikaza",
        "filehist-user": "Korisnik",
        "filehist-dimensions": "Dimenzije",
        "filehist-filesize": "Veličina datoteke",
        "wlshowhidecategorization": "kategorizaciju stranica",
        "watchlist-options": "Postavke spiska nadgledanja",
        "watching": "Nadgledanje…",
-       "unwatching": "Prekidanje nadgledanja…",
+       "unwatching": "Uklanjanje sa spiska nadgledanja...",
        "watcherrortext": "Došlo je do greške pri promeni postavki vašeg spiska nadgledanja za „$1“.",
        "enotif_reset": "Označi sve stranice kao posećene",
        "enotif_impersonal_salutation": "{{SITENAME}} korisnik",
        "logentry-contentmodel-change": "$1 je {{GENDER:$2|promenio|promenila}} model sadržaja stranice $3 iz „$4“ u „$5“",
        "logentry-contentmodel-change-revertlink": "vrati",
        "logentry-contentmodel-change-revert": "vrati",
-       "protectlogpage": "Dnevnik zaključavanja",
+       "protectlogpage": "Dnevnik zaštite",
        "protectlogtext": "Ispod je spisak zaštićenih stranica.\nPogledajte [[Special:ProtectedPages|spisak zaštićenih stranica]] za više detalja.",
        "protectedarticle": "je zaštitio „[[$1]]“",
        "modifiedarticleprotection": "promenjen stepen zaštite za „[[$1]]“",
        "protect-locked-dblock": "Stepeni zaštite se ne mogu menjati jer je aktivna baza podataka zaključana.\nOvo su postavke stranice '''$1''':",
        "protect-locked-access": "Nemate ovlašćenja za menjanje stepena zaštite stranice.\nOvo su trenutne postavke stranice '''$1''':",
        "protect-cascadeon": "Ova stranica je trenutno zaštićena jer se nalazi na {{PLURAL:$1|stranici koja ima|stranicama koje imaju}} prenosivu zaštitu.\nMožete da promenite stepen zaštite, ali to neće uticati na prenosivu zaštitu.",
-       "protect-default": "Dopušteno svima",
+       "protect-default": "Dopušteno svim korisnicima",
        "protect-fallback": "Dozvoljeno samo korisnicima sa dozvolom „$1“",
        "protect-level-autoconfirmed": "Dopušteno samo automatski potvrđenim korisnicima",
        "protect-level-sysop": "Dopušteno samo administratorima",
        "minimum-size": "Najmanja veličina",
        "maximum-size": "Najveća veličina:",
        "pagesize": "(bajtovi)",
-       "restriction-edit": "uređivanje",
-       "restriction-move": "premeštanje",
+       "restriction-edit": "Uređivanje",
+       "restriction-move": "Premeštanje",
        "restriction-create": "pravljenje",
        "restriction-upload": "otpremanje",
        "restriction-level-sysop": "potpuno zaštićeno",
        "ipblocklist-no-results": "Tražena IP adresa ili korisničko ime nije blokirano.",
        "blocklink": "blokiraj",
        "unblocklink": "deblokiraj",
-       "change-blocklink": "promeni blokiranje",
+       "change-blocklink": "promeni blokadu",
        "contribslink": "doprinosi",
        "emaillink": "pošalji imejl",
        "autoblocker": "Automatski ste blokirani jer delite IP adresu s korisnikom/com [[User:$1|$1]].\nRazlog blokiranja: „$2“",
        "delete_and_move_confirm": "Da, obriši stranicu",
        "delete_and_move_reason": "Obrisano da se oslobodi mesto za premeštanje iz „[[$1]]“",
        "selfmove": "Izvorni i odredišni naslovi su istovetni;\nne mogu da premestim stranicu preko same sebe.",
-       "immobile-source-namespace": "Ne mogu da premestim stranice u imenskom prostoru „$1“",
-       "immobile-target-namespace": "Ne mogu da premestim stranice u imenskom prostoru „$1“",
+       "immobile-source-namespace": "Ne mogu premestiti stranice u imenski prostor „$1“.",
+       "immobile-target-namespace": "Ne mogu premestiti stranice u imenski prostor „$1“.",
        "immobile-target-namespace-iw": "Međuviki veza nije ispravno odredište za premeštanje stranice.",
        "immobile-source-page": "Ova stranica se ne može premestiti.",
        "immobile-target-page": "Ne mogu da premestim na željeni naslov.",
        "fix-double-redirects": "Ažurirajte sva preusmerenja koja vode do prvobitnog naslova",
        "move-leave-redirect": "Ostavi preusmerenje",
        "protectedpagemovewarning": "'''Upozorenje:''' ova stranica je zaštićena, tako da samo korisnici s administratorskim ovlašćenjima mogu da je premeste.\nZa više informacija, poslednji zapis u dnevniku izmena je prikazan ispod:",
-       "semiprotectedpagemovewarning": "'''Napomena:''' ova stranica je zaštićena, tako da samo registrovani korisnici mogu da je premeste.\nZa više informacija, poslednji zapis u dnevniku izmena je prikazan ispod:",
+       "semiprotectedpagemovewarning": "<strong>Napomena:</strong> Ova stranica je zaštićena, tako da samo registrovani korisnici mogu da je premeste.\nPoslednji zapis u dnevniku izmena prikazan je ispod kao referenca:",
        "move-over-sharedrepo": "[[:$1]] se nalazi na deljenom skladištu. Ako premestite datoteku na ovaj naslov, to će zameniti deljenu datoteku.",
        "file-exists-sharedrepo": "Navedeni naziv datoteke se već koristi u deljenom skladištu.\nIzaberite drugi naziv.",
        "export": "Izvoz stranica",
        "group-bot.js": "/* Javaskript postavljen ovde će se učitati samo za botove */",
        "group-sysop.js": "/* Javaskript postavljen ovde će se učitati samo za sistemske operatore */",
        "group-bureaucrat.js": "/* Javaskript postavljen ovde će se učitati samo za birokrate */",
-       "anonymous": "Anonimni {{PLURAL:$1|korisnik|korisnici}} na projektu {{SITENAME}}",
+       "anonymous": "Anonimni {{PLURAL:$1|korisnik|korisnici}} projekta {{SITENAME}}",
        "siteuser": "{{SITENAME}} korisnik $1",
        "anonuser": "{{SITENAME}} anoniman korisnik $1",
        "lastmodifiedatby": "Ovu stranicu je poslednji put {{GENDER:$4|izmenio|izmenila|izmenio}} $3, $1 u $2.",
        "file-no-thumb-animation-gif": "'''Napomena: zbog tehničkih ograničenja, minijature GIF slika visoke rezolucije kao što je ova neće se animirati.'''",
        "newimages": "Galerija novih datoteka",
        "imagelisttext": "Ispod je spisak od '''$1''' {{PLURAL:$1|datoteke|datoteke|datoteka}} poređanih $2.",
-       "newimages-summary": "Ova posebna stranica prikazuje poslednje poslate datoteke.",
+       "newimages-summary": "Ova posebna stranica prikazuje poslednje otpremljene datoteke.",
        "newimages-legend": "Filter",
        "newimages-label": "Naziv datoteke (ili njen deo):",
        "newimages-showbots": "Prikaži datoteke koje su poslali botovi",
        "exif-scenecapturetype": "Vrsta snimanja scena",
        "exif-gaincontrol": "Kontrola scene",
        "exif-contrast": "Kontrast",
-       "exif-saturation": "Zasićenje",
+       "exif-saturation": "Zasićenost",
        "exif-sharpness": "Oštrina",
        "exif-devicesettingdescription": "Opis postavki uređaja",
        "exif-subjectdistancerange": "Opseg udaljenosti objekta",
        "exif-contrast-1": "Meko",
        "exif-contrast-2": "Tvrdo",
        "exif-saturation-0": "Normalno",
-       "exif-saturation-1": "Nisko zasićenje",
-       "exif-saturation-2": "Visoko zasićenje",
+       "exif-saturation-1": "Niska zasićenost",
+       "exif-saturation-2": "Visoka zasićenost",
        "exif-sharpness-0": "Normalno",
        "exif-sharpness-1": "Meko",
        "exif-sharpness-2": "Tvrdo",
        "hebrew-calendar-m12-gen": "Elul",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|razgovor]])",
        "timezone-utc": "UTC",
-       "duplicate-defaultsort": "'''Upozorenje:''' podrazumevani ključ svrstavanja „$2“ menja nekadašnji ključ „$1“.",
+       "duplicate-defaultsort": "<strong>Upozorenje:</strong> Podrazumevani ključ svrstavanja „$2“ menja raniji podrazumevani ključ svrstavanja „$1“.",
        "duplicate-displaytitle": "<strong>Upozorenje:</strong> naslov za prikaz „$2“ zameniće postojeći „$1“.",
        "version": "Verzija",
        "version-extensions": "Instalirana proširenja",
        "logentry-rights-rights": "$1 je {{GENDER:$2|promenio|promenila}} članstvo grupe za {{GENDER:$6|$3}} iz $4 u $5",
        "logentry-rights-rights-legacy": "$1 je {{GENDER:$2|promenio|promenila}} čalnstvo grupe za $3",
        "logentry-rights-autopromote": "$1 je automatski {{GENDER:$1|unapređen|unapređena}} iz $4 u $5",
-       "logentry-upload-upload": "$1 je {{GENDER:$2|poslao|poslala}} $3",
-       "logentry-upload-overwrite": "$1 je {{GENDER:$2|poslao|poslala}} novu verziju $3",
-       "logentry-upload-revert": "$1 je {{GENDER:$2|poslao|poslala}} $3",
+       "logentry-upload-upload": "$1 je {{GENDER:$2|otpremio|otpremila}} $3",
+       "logentry-upload-overwrite": "$1 je {{GENDER:$2|otpremio|otpremila}} novu verziju $3",
+       "logentry-upload-revert": "$1 je {{GENDER:$2|otpremio|otpremila}} $3",
        "log-name-managetags": "Dnevnik uređivanja oznaka",
        "log-description-managetags": "Ovaj dnevnik sadrži spisak izmena u vezi [[Special:Tags|oznaka]]. Dnevnik sadrži samo radnje izvršene od strane administratora, unosi za oznake napravljene ili obrisane od strane viki softvera se ne nalaze u ovom dnevniku.",
        "logentry-managetags-create": "$1 je {{GENDER:$2|napravio|napravila}} oznaku „$4“",
        "log-name-tag": "Dnevnik oznaka",
        "log-description-tag": "Ovaj dnevnik prikazuje dodavanje/uklanjanje [[Special:Tags|oznaka]] na pojedinačne izmene ili unose u dnevnicima. Ovaj dnevnik ne prikazuje označavanje kada su ona deo uređivanja, brisanja ili neke druge radnje.",
        "rightsnone": "(nema)",
-       "revdelete-summary": "opis izmene",
        "feedback-adding": "Dodajem povratnu informaciju na stranicu…",
        "feedback-back": "Nazad",
        "feedback-bugcheck": "Odlično! Proverite da li je greška [$1 poznata od pre].",
        "randomrootpage": "Slučajna korenska stranica",
        "log-action-filter-all": "Sve",
        "log-action-filter-move-move_redir": "Premeštanje sa prepisivanjem preusmerenja",
+       "log-action-filter-protect-move_prot": "Premeštanje zaštite",
        "log-action-filter-upload-upload": "Novo otpremanje",
        "authmanager-email-label": "Imejl",
        "authmanager-email-help": "Imejl adresa",
index f191865..3e11e53 100644 (file)
@@ -38,7 +38,7 @@
        "tog-enotifrevealaddr": "Témbongkeun alamat surélék kuring dina surat émbaran",
        "tog-shownumberswatching": "Témbongkeun jumlah nu ngawaskeun",
        "tog-oldsig": "Paraf nu geus aya:",
-       "tog-fancysig": "Témbongkeun paraf salaku wikitext (tanpa tumbu otomatis)",
+       "tog-fancysig": "Témbongkeun tanda tangan salaku wikitext (tanpa tutumbu otomatis)",
        "tog-uselivepreview": "Paké pratayang langsung",
        "tog-forceeditsummary": "Mun kotak ringkesan éditan masih kosong, béjaan!",
        "tog-watchlisthideown": "Sumputkeun éditan kuring dina daptar awaskeuneun",
        "nstab-category": "Kategori",
        "mainpage-nstab": "Tepas",
        "nosuchaction": "Teu aya peta kitu",
-       "nosuchactiontext": "Peta nu diketik na URL teu dipikawanoh ku wiki.\nKadé bisi salah ketik atawa nuturkeun tumbu nu salah.\nHal ieu bisa ogé kulantaran ayana kutu (bug) dina sopwér nu dipaké ku {{SITENAME}}.",
+       "nosuchactiontext": "Peta nu diketik dina URL henteu sah.\nKadé bisi salah ketik atawa nuturkeun tutumbu anu salah.\nHal ieu bisa ogé kulantaran ayana kutu (bug) dina sopwér anu dipaké ku {{SITENAME}}.",
        "nosuchspecialpage": "Teu aya kaca husus nu kitu",
        "nospecialpagetext": "<strong>Anjeun ménta kaca husus nu teu dipikawanoh.</strong>\nKaca husus anu bener bisa ditempo béréndélanana dina [[Special:SpecialPages|{{int:specialpages}}]].",
        "error": "Kasalahan",
        "userlogin-signwithsecure": "Paké sambungan aman",
        "yourdomainname": "Domain anjeun",
        "password-change-forbidden": "Anjeun teu bisa ngarobah kecap sandi dina ieu wiki.",
-       "externaldberror": "Aya kasalahan dina pangkalan data oténtikasi luar, atawa anjeun mémang teu diwenangkeun pikeun ngaropéa rekening luar anjeun.",
+       "externaldberror": "Aya kasalahan dina pangkalan data oténtikasi luar, atawa anjeun mémang teu diwenangkeun pikeun ngaropéa akun luar anjeun.",
        "login": "Asup log",
        "nav-login-createaccount": "Nyieun akun/asup log",
-       "userlogin": "Asup log / jieun akun",
-       "userloginnocreate": "Asup log",
        "logout": "Kaluar log",
        "userlogout": "Kaluar log",
        "notloggedin": "Can asup log",
        "userlogin-noaccount": "Teu boga akun?",
        "userlogin-joinproject": "Ngiluan {{SITENAME}}",
-       "nologin": "Teu boga akun? '''$1'''.",
-       "nologinlink": "Jieun akun",
        "createaccount": "Jieun akun",
-       "gotaccount": "Geus boga akun? '''$1'''.",
-       "gotaccountlink": "Asup log",
-       "userlogin-resetlink": "Poho akun sorangan?",
        "userlogin-resetpassword-link": "Poho kecap sandi?",
        "userlogin-helplink2": "Pitulung asup log",
        "userlogin-loggedin": "Anjeun geus asup log salaku {{GENDER:$1|$1}}.\nPaké pormulir di handap pikeun asup log salaku pamaké séjén.",
        "createacct-another-email-ph": "Asupkeun alamat surélék",
        "createaccountmail": "Paké kecap sandi acak sarta kirim ka alamat surélék",
        "createacct-realname": "Ngaran asli (teu wajib)",
-       "createaccountreason": "Alesan:",
        "createacct-reason": "Alesan",
        "createacct-reason-ph": "Naha bet nyieun akun séjén",
        "createacct-submit": "Jieun akun anjeun",
        "userexists": "Sandiasma nu diasupkeun geus aya nu maké.\nMangga pilih sandiasma nu séjén.",
        "loginerror": "Kasalahan asup log",
        "createacct-error": "Nyieun akun éror",
-       "createaccounterror": "Teu bisa nyieun rekening: $1",
-       "nocookiesnew": "Rekening pamaké geus dijieun, tapi anjeun can asup log. {{SITENAME}} maké ''cookies'' pikeun ngasupkeun log pamaké. Anjeun boga ''cookies'' nu ditumpurkeun. Mangga fungsikeun, teras asup log migunakeun ngaran pamaké sarta sandi nu anyar.",
+       "createaccounterror": "Teu bisa nyieun akun: $1",
+       "nocookiesnew": "Akun pamaké geus dijieun, tapi anjeun can asup log. {{SITENAME}} maké ''cookies'' pikeun ngalog pamaké. Anjeun boga ''cookies'' nu ditumpurkeun. Mangga fungsikeun, teras asup log migunakeun sandiasma sarta kecap sandi anu anyar.",
        "nocookieslogin": "{{SITENAME}} migunakeun ''cookies'' pikeun ngasupkeun pamaké kana log. Anjeun boga ''cookies'' nu ditumpurkeun. Mangga pungsikeun sarta cobian deui.",
        "nocookiesfornew": "Akun pamaké teu bisa dijieun, kusabab sumberna teu bisa dipastikeun.\nPariksa kukisna bisi tumpur, terus cobaan muat ulang ieu kaca.",
        "noname": "Anjeun teu nuliskeun ngaran pamaké nu sah.",
        "wrongpasswordempty": "Sandina can kaeusian. Cobaan deui!",
        "passwordtooshort": "Sandina kudu diwangun ku sahanteuna {{PLURAL:$1|1 karakter|$1 karakter}}.",
        "passwordtoolong": "Kecap sandi teu bisa leuwih ti {{PLURAL:$1|1 karakter|$1 karakter}}.",
-       "password-name-match": "Sandi anjeun kudu béda ti landihan.",
+       "password-name-match": "Kecap sandi anjeun kudu béda ti sandiasma.",
        "password-login-forbidden": "Sandiasma jeung sandina teu bisa dipaké.",
        "mailmypassword": "Setél ulang kecap sandi",
        "passwordremindertitle": "Pangéling sandi ti {{SITENAME}}",
        "eauthentsent": "Surélék konfirmasi geus dikirim ka alamat bieu.\nMéméh aya surat séjén asup ka akunna, anjeun kudu nuturkeun pituduh dina surélékna pikeun mastikeun yén akun éta téh bener boga anjeun.",
        "throttled-mailpassword": "Surélék pikeun ngarobah kecap sandi geus dikirim {{PLURAL:$1|jam|$1 jam}} kaliwat.\nNgarah hanteu disalahgunakeun, ngan hiji surélék anu bakal dikirim saban {{PLURAL:$1|jam|$1 jam}}.",
        "mailerror": "Kasalahan ngirim surat: $1",
-       "acct_creation_throttle_hit": "Punten,pamaké alamat IP anjeun geus nyieun {{PLURAL:$1|1 rekening|$1 rekening}} dina sapoé ieu. mangrupa jumlah nu di idinan dina sapoé.\nanjeun teu bisa nyieun deui samentara waktu.",
+       "acct_creation_throttle_hit": "Anu ngaranjang ka ieu wiki maké alamat IP anjeun geus nyieun {{PLURAL:$1|1 akun|$1 akun}} salila $2, mangrupa jumlah anu diidinan dina sapoé.\nKu kituna, anu ngaranjang maké ieu alamat IP samentawis mah moal bisa nyieun akun deui heula.",
        "emailauthenticated": "Alamat surélék anjeun geus dikonfirmasi $2 tabuh $3.",
        "emailnotauthenticated": "Alamat surélék anjeun can dikonfirmasi.\nMoal aya surélék nu bakal dikirim pikeun fitur-fitur di handap ieu.",
        "noemailprefs": "Teu aya alamat surélék, fitur di handap moal bisa jalan.",
        "invalidemailaddress": "Alamat surélék teu bisa ditarima sabab formatna salah.\nMangga lebetkeun alamat nu formatna bener atawa kosongkeun baé.",
        "cannotchangeemail": "Alamat surat-é akun hanteu bisa dirobah di ieu wiki.",
        "emaildisabled": "Ieu loka teu bisa ngirim surélék.",
-       "accountcreated": "Rekening geus dijieun.",
+       "accountcreated": "Akun geus dijieun",
        "accountcreatedtext": "Akun pamaké [[{{ns:Pamaké}}:$1|$1]] ([[{{ns:Obrolan pamaké}}:$1|obrolan]]) geus dijieun.",
-       "createaccount-title": "Nyieun rekening keur {{SITENAME}}",
-       "createaccount-text": "Aya nu nyieun rekening pikeun alamat surélék anjeun di {{SITENAME}} ($4) maké landihan \"$2\" sarta sandi \"$3\". Anjeun kudu asup log sarta ngaganti sandina ayeuna kénéh.\n\nMun ieu rekening balukar ayana éror, teu kudu diwaro.",
+       "createaccount-title": "Nyieun akun keur {{SITENAME}}",
+       "createaccount-text": "Aya nu nyieun akun pikeun alamat surélék anjeun di {{SITENAME}} ($4) maké sandiasma \"$2\" kalawan kecap sandi \"$3\". Anjeun kudu asup log sarta ngaganti kecap sandina.\n\nMun ieu akun dijieun alatan éror, ulah diwaro.",
        "login-throttled": "Anjeun geus loba teuing nyobaan asup log.\nTungguan $1, laju cobaan deui.",
        "login-abort-generic": "Login gagal - Dibolaykeun",
        "login-migrated-generic": "Akun anjeun geus pindah, ku kituna sandiasma anjeun geus leungit ti ieu wiki.",
        "changepassword": "Robah sandi",
        "resetpass_announce": "Pikeun nganggeuskeun asup log, anjeun kudu nyieun kecap sandi anyar.",
        "resetpass_text": "<!-- Tambahkeun téks di dieu -->",
-       "resetpass_header": "Ganti sandi rekening",
+       "resetpass_header": "Ganti sandi akun",
        "oldpassword": "Sandi heubeul",
        "newpassword": "Sandi anyar:",
        "retypenew": "Ketik ulang sandi",
        "changepassword-throttled": "Anjeun geus loba teuing nyobaan asup log.\nTungguan $1 méméh nyobaan deui.",
        "resetpass_forbidden": "Sandi henteu bisa dirobah",
        "resetpass-no-info": "Anjeun kudu asup log pkeun bisa muka ieu kaca sacara langsung.",
-       "resetpass-submit-loggedin": "Ganti kecap sandi rekening",
+       "resetpass-submit-loggedin": "Ganti kecap sandi akun",
        "resetpass-submit-cancel": "Bolay",
        "resetpass-wrong-oldpass": "Salah sandi.\nBisa jadi anjeun geus ngaganti sandina atawa ménta sandi saheulaanan anu anyar.",
        "resetpass-recycled": "Mangga ganti kecap sandi anjeun ku nu anyar.",
        "passwordreset-emaildisabled": "Fitur surélék ditumpurkeun di ieu wiki.",
        "passwordreset-username": "Sandiasma:",
        "passwordreset-domain": "Domain:",
-       "passwordreset-capture": "Témbongkeun surat-é hasilna?",
-       "passwordreset-capture-help": "Upama anjeun nyéntang ieu kotak, surélék (anu ngirimkeun kecap sandi saheulaanan) bakal ditémbongkeun ka anjeun sarta dikirimkeun ka pamakéna.",
        "passwordreset-email": "Alamat surélék:",
        "passwordreset-emailtitle": "Wincikan akun di {{SITENAME}}",
        "passwordreset-emailtext-ip": "Aya (sigana anjeun, ti alamat IP $1) ménta nyetél ulang kecap sandi pikeun {{SITENAME}} ($4). {{PLURAL:$3|Akun}} di handap tumali jeung alamat ieu surélék:\n\n$2\n\n{{PLURAL:$3|Ieu sandi saheulaanan}} bakal kadaluwarsa dina témpo {{PLURAL:$5|sapoé|$5 poé}}.\nAnjeun kudu asup sarta milih sandi anyar ayeuna. Lamun teu rumasa nyieun ieu paménta, atawa lamun geus inget sandi aslina sarta moal dirobah, ieu surat teu kudu diwaro.",
        "noarticletext": "Kiwari can aya téks dina ieu kaca.\nAnjeun bisa [[Special:Search/{{PAGENAME}}|nyusud judul ieu kaca]] dina kaca séjén,\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} nyusud log nu tumali],\natawa [{{fullurl:{{FULLPAGENAME}}|action=edit}} nyieun ieu kaca]</span>.",
        "noarticletext-nopermission": "Kiwari can aya téks dina ieu kaca.\nAnjeun bisa [[Special:Search/{{PAGENAME}}|nyusud judul ieu kaca]] dina kaca séjén,atawa <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} nyusud log nu tumali]</span>, tapi teu wenang pikeun nyieun ieu kaca.",
        "missing-revision": "Révisi #$1 kaca \"{{FULLPAGENAME}}\" teu aya.\n\nKajadian ieu biasana kusabab nuturkeun tutumbu jujutan kaca anu geus dihapus.\nWincikanana bisa ditempo di [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log hapusan].",
-       "userpage-userdoesnotexist": "Rekening pamaké \"<nowiki>$1</nowiki>\" tacan kadaptar. Mangga tilikan lamun anjeun hoyong ngadamel/ngédit kaca ieu.",
-       "userpage-userdoesnotexist-view": "Rekening pamaké \"$1\" teu aya dina daptar.",
+       "userpage-userdoesnotexist": "Akun pamaké \"<nowiki>$1</nowiki>\" tacan kadaptar. Mangga riksa lamun anjeun hoyong ngadamel/ngédit ieu kaca.",
+       "userpage-userdoesnotexist-view": "Akun pamaké \"$1\" teu aya dina daptar.",
        "blocked-notice-logextract": "Ieu pamaké keur dipeungpeuk.\nPikeun rujukan, éntri log panungtung dipidangkeun di handap:",
        "clearyourcache": "<strong>Catet:</strong> Sanggeus nyimpen, anjeun kudu narabas singgahan panyungsi anjeun pikeun nempo parobahanana.\n* <strong>Firefox/Safari:</strong> Tahan <em>Shift</em> bari ngaklik <em>Reload</em>, atawa pencét boh <em>Ctrl-F5</em> atawa <em>Ctrl-R</em> (<em>⌘-R</em> dina Mac)\n* <strong>Google Chrome:</strong> Pencét <em>Ctrl-Shift-R</em> (<em>⌘-Shift-R</em> dina Mac)\n* <strong>Internet Explorer:</strong> Tahan <em>Ctrl</em> bari ngaklik <em>Refresh</em>, atawa pencét <em>Ctrl-F5</em>\n* <strong>Opera:</strong> Kosongkeun singgahan dina <em>Tools → Preferences</em>",
        "usercssyoucanpreview": "Tip:''' Paké tombol \"{{int:showpreview}}\" pikeun nyobaan CSS anyar anjeun méméh nyimpen.",
        "undo-norev": "Éditan ieu henteu bisa bolaykeun alatan kaca henteu kapanggih atawa geus dihapus.",
        "undo-summary": "←Ngabolaykeun révisi $1 ku [[Special:Contributions/$2|$2]] ([[User talk:$2|Obrolan]])",
        "undo-summary-username-hidden": "Bolaykeun révisi $1 ku pamaké nyumput",
-       "cantcreateaccount-text": "Nyieun rekening ti ieu alamat IP ('''$1''') dipeungpeuk ku [[User:$3|$3]].\n\nAlesanana $3 cenah ''$2''.",
+       "cantcreateaccount-text": "Nyieun akun ti ieu alamat IP ('''$1''') dipeungpeuk ku [[User:$3|$3]].\n\nAlesana $3 cenah ''$2''.",
        "cantcreateaccount-range-text": "Nyieun akun ti alamat IP dina rentang <strong>$1</strong>, kaasup alamat IP anjeun (<strong>$4</strong>), dipeungpeuk ku [[User:$3|$3]].\n\nAlesan $3 nyaéta <em>$2</em>",
        "viewpagelogs": "Tempo log kaca ieu",
        "nohistory": "Teu aya jujutan édit pikeun kaca ieu.",
        "saveprefs": "Simpen préferénsi",
        "restoreprefs": "Larapkeun setélan buhun (sakabéh bab)",
        "prefs-editing": "Ukuran kotak téks",
-       "rows": "Baris",
-       "columns": "Kolom",
        "searchresultshead": "Aturan hasil néang",
        "stub-threshold": "Wates ambang pikeun format <a href=\"#\" class=\"stub\">tumbu taratas</a> (bit):",
        "stub-threshold-disabled": "Tumpur",
        "yourrealname": "Ngaran anjeun*",
        "yourlanguage": "Basa antarbeungeut",
        "yourvariant": "Varian basa eusi:",
-       "yournick": "Landihan anjeun (pikeun tawis leungeun)",
+       "yournick": "Tanda tangan:",
        "prefs-help-signature": "Pamanggih dina kaca sawala/obrolan kudu ditandaan \"<nowiki>~~~~</nowiki>\" nu bakal robah jadi tanda tangan anjeun jeung titimangsana.",
        "badsig": "Parafna teu valid; pariksa tag HTML-na geura.",
        "badsiglength": "Tawis leungeun panjang teuing. Kuduna kurang ti $1 {{PLURAL:$1|karaktér|karaktér}}.",
        "prefs-diffs": "Béda",
        "userrights": "Manajemén hak pamaké",
        "userrights-lookup-user": "Atur gorombolan pamaké",
-       "userrights-user-editname": "Asupkeun landihan:",
+       "userrights-user-editname": "Asupkeun sandiasma:",
        "editusergroup": "Édit Golongan Pamaké",
        "editinguser": "Ngarobah hak kontributor '''[[User:$1|$1]]''' $2",
        "userrights-editusergroup": "Édit gorombolan pamaké",
        "userrights-reason": "Alesan:",
        "userrights-no-interwiki": "Anjeung teu diwenangkeun ngarobah hak pamaké dina wiki séjén.",
        "userrights-nodatabase": "Pangkalan data $1 euweuh atawa henteu lokal.",
-       "userrights-nologin": "Pikeun ngatur hak pamaké, anjeun kudu [[Special:UserLogin|asup log]] migunakeun rekening kuncén.",
-       "userrights-notallowed": "Akun anjeun teu boga kawenangan pikeun ngatur hak pamaké.",
        "userrights-changeable-col": "Jumplukan anu bisa Anjeun robah",
        "userrights-unchangeable-col": "Jumplukan anu teu bisa Anjeun robah",
        "group": "Gorombolan:",
        "right-edit": "Ngédit kaca",
        "right-createpage": "Nyieun kaca anyar (nu lain kaca obrolan)",
        "right-createtalk": "Nyieun kaca obrolan",
-       "right-createaccount": "Nyieun rekening anyar",
+       "right-createaccount": "Nyieun akun anyar",
        "right-minoredit": "Nandaan éditan minor",
        "right-move": "Mindahkeun kaca",
        "right-move-subpages": "Pindahkeun kaca katut sakabéh subkacana",
        "action-edit": "édit kaca ieu",
        "action-createpage": "mitembeyan kaca anyar",
        "action-createtalk": "mitembeyan kaca obrolan",
-       "action-createaccount": "nyieun rekening pamaké ieu",
+       "action-createaccount": "nyieun akun pamaké ieu",
        "action-history": "tempo jujutan ieu kaca",
        "action-minoredit": "nandaan ieu éditan salaku minor",
        "action-move": "mindahkeun ieu kaca",
        "unwatchedpages": "Kaca nu teu diawaskeun",
        "listredirects": "Daptar alihan",
        "unusedtemplates": "Citakan nu teu kapaké",
-       "unusedtemplatestext": "Ieu kaca ngabéréndélkeun sakabéh kaca dina spasi ngaran {{ns:template}} nu teu diwengku ku kaca séjén.\nSaméméh ngahapus, pariksa heula bisi aya tumbu ka ieu citakan.",
-       "unusedtemplateswlh": "tumbu lianna",
+       "unusedtemplatestext": "Ieu kaca ngabéréndélkeun sakabéh kaca dina rohang ngaran {{ns:template}} anu teu diwengku ku kaca séjén.\nSaméméh ngahapus, pariksa heula bisi aya tumbu ka ieu citakan.",
+       "unusedtemplateswlh": "tutumbu lianna",
        "randompage": "Kaca acak",
        "randompage-nopages": "Euweuh kaca dina ieu spasi ngaran \"$1\".",
        "randomincategory-category": "Kategori:",
        "brokenredirectstext": "Alihan di handap numbu ka kaca nu teu aya:",
        "brokenredirects-edit": "édit",
        "brokenredirects-delete": "hapus",
-       "withoutinterwiki": "Kaca-kaca tanpa tumbu basa",
+       "withoutinterwiki": "Kaca-kaca tanpa tutumbu basa",
        "withoutinterwiki-summary": "Kaca-kaca di handap ieu teu numbu ka vérsi basa séjén:",
        "withoutinterwiki-legend": "Prefiks",
        "withoutinterwiki-submit": "Témbongkeun",
        "nbytes": "$1 {{PLURAL:$1|bait|bait}}",
        "ncategories": "$1 {{PLURAL:$1|kategori|kategori}}",
        "ninterwikis": "$1 {{PLURAL:$1|interwiki|interwiki}}",
-       "nlinks": "$1 {{PLURAL:$1|tumbu|tumbu}}",
+       "nlinks": "$1 {{PLURAL:$1|tutumbu|tutumbu}}",
        "nmembers": "$1 {{PLURAL:$1|kontributor|kontributor}}",
        "nmemberschanged": "$1 → $2 {{PLURAL:$2|anggota|anggota}}",
        "nrevisions": "$1 {{PLURAL:$1|révisi|révisi}}",
        "usereditcount": "$1 {{PLURAL:$1|édit|édit}}",
        "usercreated": "{{GENDER:$3|Dijieun}} ping $1 tabuh $2",
        "newpages": "Kaca anyar",
-       "newpages-username": "Landihan:",
+       "newpages-username": "Sandiasma:",
        "ancientpages": "Kaca pangheubeulna",
        "move": "Pindahkeun",
        "movethispage": "Pindahkeun kaca ieu",
        "booksources": "Sumber pustaka",
        "booksources-search-legend": "Sungsi sumber buku",
        "booksources-search": "Paluruh",
-       "booksources-text": "Di handap ieu ngabéréndélkeun tumbu ka loka-loka nu ngical buku, boh nu anyar atawa loakan, nu sugan uninga kana buku anu nuju dipilari:",
+       "booksources-text": "Di handap ieu ngabéréndélkeun tutumbu ka loka-loka nu ngical buku, boh nu anyar atawa loakan, nu sugan uninga kana buku anu nuju dipilari:",
        "booksources-invalid-isbn": "ISBN-na sigana henteu bener; pariksa deui bisi aya salah salin ti sumber aslina.",
        "specialloguserlabel": "Pamaké:",
        "speciallogtitlelabel": "Sasaran (judul atawa pamaké):",
        "protect_expiry_old": "Waktu kadaluwarsa geus kaliwat.",
        "protect-text": "Di dieu anjeun bisa nempo sarta ngarobah hambalan pangonci pikeun kaca '''$1'''.",
        "protect-locked-blocked": "Anjeun teu bisa ngarobah hambalan koncian sabab keur dipeungpeuk. Setélan ayeuna pikeun kaca '''$1''' nyaéta:",
-       "protect-locked-access": "Rekening anjeun teu wenang ngarobah hambalan pangonci kaca. Kaca '''$1''' disetél:",
+       "protect-locked-access": "Akun anjeun teu wenang ngarobah hambalan pangonci kaca.\nSetélan kiwari pikeun kaca <strong>$1</strong>:",
        "protect-cascadeon": "Ieu kaca dikonci sabab kaasup {{PLURAL:$1|kaca nu|kaca-kaca nu}} ngajalankeun pangonci ngaruntuy. Anjeun bisa ngarobah hambalan koncian ieu kaca, tapi ieu moal mangaruhan pangonci ngaruntuyna.",
        "protect-default": "Bisa ku sakabeh pamaké",
        "protect-fallback": "Kudu aya kawenangan \"$1\"",
        "month": "Ti bulan (jeung saméméhna):",
        "year": "Ti taun (jeung saméméhna):",
        "sp-contributions-newbies": "Témbongkeun kontribusi ti akun anyar wungkul",
-       "sp-contributions-newbies-sub": "Pikeun rekening anyar",
+       "sp-contributions-newbies-sub": "Pikeun akun anyar",
        "sp-contributions-blocklog": "log peungpeuk",
        "sp-contributions-deleted": "kontribusi nu dihapus",
        "sp-contributions-uploads": "unggahan",
        "ipbexpiry": "Kadaluarsa",
        "ipbreason": "Alesan:",
        "ipb-hardblock": "Nyegah pamaké anu asup log pikeun ngédit ti ieu alamat IP",
-       "ipbcreateaccount": "Tong bisa nyieun rekening",
+       "ipbcreateaccount": "Ulah bisa nyieun akun",
        "ipbemailban": "Henteu kaci pamaké ngirimkeun surélék",
        "ipbenableautoblock": "Peungpeuk sacara otomatis alamat IP anu panungtungan dipaké ku pamaké sarta sakabéh alamat IP anu kungsi dipaké.",
        "ipbsubmit": "Peungpeuk pamaké ieu",
        "expiringblock": "kadaluwarsa $1 jam $2",
        "anononlyblock": "ngan nu teu daptar",
        "noautoblockblock": "Otopeungpeuk ditumpurkeun",
-       "createaccountblock": "nyieun rekening dipeungpeuk",
+       "createaccountblock": "nyieun akun dipeungpeuk",
        "emailblock": "surélek di peungpeuk",
        "blocklist-nousertalk": "teu bisa ngarobah kaca obrolan sorangan",
        "ipblocklist-empty": "Daptar peungpeuk kosong.",
-       "ipblocklist-no-results": "Alamat IP atawa landihan pamaké nu dipundut teu dipeungpeuk.",
+       "ipblocklist-no-results": "Alamat IP atawa sandiasma nu dipundut teu dipeungpeuk.",
        "blocklink": "blokir",
        "unblocklink": "buka blokir",
        "change-blocklink": "Robah status blokir",
        "proxyblocker": "Pameungpeuk proxy",
        "proxyblockreason": "Alamat IP anjeun dipeungpeuk sabab mangrupa proxy muka. Mangga tepungan ''Internet service provider'' atanapi ''tech support'' anjeun, béjakeun masalah serius ieu.",
        "sorbsreason": "Alamat IP anjeun kadaptar salaku ''open proxy'' dina DNSBL anu dipaké ku {{SITENAME}}.",
-       "sorbs_create_account_reason": "Alamat IP anjeun kadaptar salaku ''open proxy'' dina DNSBL. Anjeun teu bisa nyieun rekening",
+       "sorbs_create_account_reason": "Alamat IP anjeun kadaptar salaku ''open proxy'' dina DNSBL. Anjeun teu bisa nyieun akun",
        "ipbblocked": "Anjeun teu bisa meungpeuk atawa muka peungpeuk séjén kontributor ku sabab anjeun sorangan keur dipeungpeuk",
        "lockdb": "Konci pangkalan data",
        "unlockdb": "Buka konci pangkalan data",
        "importfailed": "Ngimpor gagal: $1",
        "importunknownsource": "Tipeu sumber impor teu dipikawanoh",
        "importcantopen": "Teu bisa muka koropak impor",
-       "importbadinterwiki": "Tumbu interwiki ruksak",
+       "importbadinterwiki": "Tutumbu antarwiki awon",
        "importsuccess": "Ngimpor geus hasil!",
        "importnosources": "Teu aya sumber impor transwiki nu geus dijieun tur ngamuat jujutan sacara langsung geus dinon-aktifkeun.",
        "importnofile": "Euweuh koropak impor nu dimuat.",
        "creditspage": "Pangajén kaca",
        "nocredits": "Teu aya émbaran pangajén pikeun kaca ieu.",
        "spamprotectiontitle": "Saringan spam",
-       "spamprotectiontext": "Kaca nu rék disimpen dipeungpeuk ku saringan spam.\nSigana mah ieu téh alatan tumbu ka loka luar.",
+       "spamprotectiontext": "Kaca anu rék disimpen dipeungpeuk ku saringan spam.\nSigana mah ieu téh alatan tutumbu ka loka luar anu dibléklis.",
        "simpleantispam-label": "Pamariksaan anti-spam.\nAnu ieu <strong>ulah</strong> dieusian!",
        "pageinfo-title": "Émbaran pikeun \"$1\"",
        "pageinfo-header-basic": "Émbaran dasar",
        "monthsall": "kabéh",
        "confirmemail": "Konfirmasi alamat surélék",
        "confirmemail_noemail": "Alamat surélék anu didaptarkeun dina [[Special:Preferences|préferénsi pamaké]] anjeun teu sah.",
-       "confirmemail_text": "Wiki ieu merlukeun anjeun sangkan méré konfirmasi alamat surélék saméméh migunakeun fitur surélék. Aktifkeun tombol di handap pikeun ngirimkeun surat konfirmasi ka alamat anjeun. Suratna ngandung tumbu nu ngandung sandina; muatkeun tumbuna kana panyungsi anjeun pikeun ngonfirmasi yén alamat surélék anjeun sah.",
-       "confirmemail_pending": "Sandi konfirmasi geus dikirimkeun ka alamat surélék anjeun; mun kakara nyieun rekening, mangga antos sababaraha menit saméméh mundut sandi anyar.",
+       "confirmemail_text": "Ieu {{SITENAME}} butuh sangkan anjeun mastikeun alamat surélék saméméh migunakeun fitur surélék.\nAktipkeun tombol di handap pikeun ngirimkeun surat konfirmasi ka alamat anjeun. Suratna ngandung tumbu nu ngandung sandina; muatkeun tumbuna kana panyungsi anjeun pikeun ngonfirmasi yén alamat surélék anjeun sah.",
+       "confirmemail_pending": "Kecap sandi konfirmasi geus dikirimkeun ka alamat surélék anjeun; mun anyar nyieun akun, mangga antos sababaraha menit saméméh mundut kecap sandi anyar.",
        "confirmemail_send": "Kirimkeun surat konfirmasi sandi",
        "confirmemail_sent": "Surélék konfirmasi geus dikirim.",
        "confirmemail_oncreate": "Sandi konfirmasi geus dikirim ka alamat surélék anjeun. Éta sandi dipaké pikeun ngajalankeun fitur-fitur nu maké surélék di ieu wiki.",
        "confirmemail_success": "Alamat surélék anjeun geus dikonfirmasi, ayeuna anjeun geus bisa migunakeun wikina.",
        "confirmemail_loggedin": "Alamat surélék anjeun geus dikonfirmasi.",
        "confirmemail_subject": "Konfirmasi alamat surélék {{SITENAME}}",
-       "confirmemail_body": "Aya, sigana mah anjeun ti alamat IP $1, geus ngadaptarkeun rekening \"$2\" maké alamat surélék ieu na {{SITENAME}}.\n\nPikeun mastikeun yén rekening ieu mémang kagungan sarta ngakifkeun fitur surélék di {{SITENAME}}, buka tumbu di handap ieu kana panyungsi/''browser'' anjeun:\n\n$3\n\nLamun anjeun teu ngadaptarkeun rekening, turutkeun tumbu ieu pikeun ngabolaykeun konfirmasi alamat surélék:\n\n$5\n\nSandi konfirmasi ieu bakal kadaluwarsa dina $4.",
+       "confirmemail_body": "Aya, sigana mah anjeun, ti alamat IP $1,\ngeus ngadaptarkeun akun \"$2\" maké alamat surélék ieu di {{SITENAME}}.\n\nPikeun mastikeun yén ieu akun mémang kagungan, sarta ngaktipkeun fitur surélék di {{SITENAME}}, buka tutumbu di handap ieu dina panyungsi (''browser'') anjeun:\n\n$3\n\nLamun anjeun teu ngadaptarkeun ieu akun, turutkeun ieu tutumbu pikeun ngabolaykeun konfirmasi alamat surélék:\n\n$5\n\nSandi konfirmasi ieu bakal kadaluwarsa dina $4.",
        "confirmemail_invalidated": "Konfirmasi alamat surélék dibolaykeun",
        "invalidateemail": "Bolaykeun konfirmasi surélék",
        "scarytranscludedisabled": "[Transklusi interwiki ditumpurkeun]",
        "logentry-newusers-create": "Akun pamaké $1 jeus {{GENDER:$2|dijieun}}",
        "logentry-upload-upload": "$1 {{GENDER:$2|ngamuat}} $3",
        "rightsnone": "(euweuh)",
-       "revdelete-summary": "ringkesan ngédit",
        "feedback-cancel": "Bolay",
        "feedback-message": "Surat:",
        "feedback-subject": "Ngeunaan:",
        "searchsuggest-search": "Sungsi",
        "searchsuggest-containing": "ngandung...",
-       "api-error-file-too-large": "Berkas nu dikirim gedé teuing.",
-       "api-error-filename-tooshort": "Ngaran berkas pondok teuing.",
-       "api-error-filetype-banned": "Jenis berkas ieu dipahing.",
-       "api-error-filetype-banned-type": "$1 kaasup tipeu koropak nu teu dicaram. {{PLURAL:$3|Nu diwidian nyaéta|Nu diwidian nyaéta}} $2.",
-       "api-error-filetype-missing": "Ngaran berkas euweuh éxténsian.",
-       "api-error-illegal-filename": "Ngaran berkas kitu dipahing.",
-       "api-error-mustbeloggedin": "Anjeun kudu asup log pikeun ngunggahkeun berkas.",
        "duration-seconds": "$1 {{PLURAL:$1|detik|detik}}",
        "duration-minutes": "$1 {{PLURAL:$1|menit|menit}}",
        "duration-hours": "$1 {{PLURAL:$1|jam|jam}}",
index b9ae2be..2f24898 100644 (file)
        "login": "Logga in",
        "login-security": "Verifiera din identitet",
        "nav-login-createaccount": "Logga in / skapa konto",
-       "userlogin": "Logga in / skapa konto",
-       "userloginnocreate": "Logga in",
        "logout": "Logga ut",
        "userlogout": "Logga ut",
        "notloggedin": "Inte inloggad",
        "userlogin-noaccount": "Har du inget konto?",
        "userlogin-joinproject": "Gå med i {{SITENAME}}",
-       "nologin": "Har du inget konto? $1.",
-       "nologinlink": "Skapa ett konto",
        "createaccount": "Skapa ett konto",
-       "gotaccount": "Har du redan ett konto? '''$1'''.",
-       "gotaccountlink": "Logga in",
-       "userlogin-resetlink": "Har du glömt dina inloggningsuppgifter?",
        "userlogin-resetpassword-link": "Glömt ditt lösenord?",
        "userlogin-helplink2": "Hjälp med inloggning",
        "userlogin-loggedin": "Du är redan inloggad som {{GENDER:$1|$1}}.\nAnvänd formuläret nedan för att logga in som en annan användare.",
        "createaccountmail": "Använd ett tillfälligt slumpvis valt lösenord och skicka det till den angivna e-postadressen",
        "createaccountmail-help": "Kan användas för att skapa ett konto åt en annan person utan att kunna lösenordet.",
        "createacct-realname": "Riktigt namn (valfritt)",
-       "createaccountreason": "Orsak:",
        "createacct-reason": "Orsak",
        "createacct-reason-ph": "Varför du skapar ett annat konto",
        "createacct-reason-help": "Meddelande som visas i loggen för skapade konton",
        "page_first": "första",
        "page_last": "sista",
        "histlegend": "Val av diff: markera i klickrutorna för att jämföra versioner och tryck enter eller knappen längst ner.<br />\nFörklaring: '''({{int:cur}})''' = skillnad mot senaste version; '''({{int:last}})''' = skillnad mot föregående version; '''{{int:minoreditletter}}''' = mindre ändring.",
-       "history-fieldset-title": "Bläddra i historiken",
-       "history-show-deleted": "Endast borttagna",
+       "history-fieldset-title": "Sök efter sidversioner",
+       "history-show-deleted": "Endast raderade sidversioner",
        "histfirst": "äldsta",
        "histlast": "nyaste",
        "historysize": "({{PLURAL:$1|1 byte|$1 byte}})",
        "prefs-help-prefershttps": "Ändringar av denna inställning börjar gälla nästa gång du loggar in",
        "prefswarning-warning": "Du har gjort ändringar i dina inställningarna som inte har sparats ännu.\nOm du lämnar denna sida utan att klicka på \"$1\" kommer dina inställningar inte att uppdateras.",
        "prefs-tabs-navigation-hint": "Tips: Du kan använda vänster och höger piltangenterna för att navigera mellan flikarna i listan flikar.",
-       "userrights": "Hantering av användarrättigheter",
+       "userrights": "Användarrättigheter",
        "userrights-lookup-user": "Välj en användare",
        "userrights-user-editname": "Skriv in ett användarnamn:",
        "editusergroup": "Läs in användargrupper",
        "rcfilters-invalid-filter": "Ogiltigt filter",
        "rcfilters-empty-filter": "Inga aktiva filter. Alla bidrag visas.",
        "rcfilters-filterlist-title": "Filter",
+       "rcfilters-filterlist-whatsthis": "Vad är detta?",
        "rcfilters-filterlist-feedbacklink": "Ge återkoppling på nya (beta)filter",
        "rcfilters-highlightbutton-title": "Markera resultat",
        "rcfilters-highlightmenu-title": "Välj en färg",
+       "rcfilters-highlightmenu-help": "Välj en färg att markera denna egenskap",
        "rcfilters-filterlist-noresults": "Inga filter hittades",
+       "rcfilters-noresults-conflict": "Inga resultat hittades eftersom sökkriterierna är i konflikt",
+       "rcfilters-state-message-subset": "Detta filter har ingen effekt, eftersom resultaten inkluderar följande, bredare {{PLURAL:$2|filter}} (försök att markera för att särskilja det): $1",
+       "rcfilters-state-message-fullcoverage": "Att markera alla filter i en grupp är detsamma som att markera inget alls, så detta filter har igen effekt. Grupper som inkluderas: $1",
        "rcfilters-filtergroup-registration": "Användarregistrering",
        "rcfilters-filter-registered-label": "Registrerade",
        "rcfilters-filter-registered-description": "Inloggade redigerare.",
        "rcfilters-filter-unregistered-label": "Oregistrerade",
        "rcfilters-filter-unregistered-description": "Redigerare som inte är inloggade.",
+       "rcfilters-filter-unregistered-conflicts-user-experience-level": "Detta filter är i konflikt med följande {{PLURAL:$2|upplevelsefilter}}, som endast {{PLURAL:$2|hittar}} registrerade användare: $1",
        "rcfilters-filtergroup-authorship": "Redigera författarskap",
        "rcfilters-filter-editsbyself-label": "Dina egna redigeringar",
        "rcfilters-filter-editsbyself-description": "Redigeringar av dig.",
        "rcfilters-filter-editsbyother-label": "Redigeringar av andra",
        "rcfilters-filter-editsbyother-description": "Redigeringar som har skapats av andra användare (inte dig).",
        "rcfilters-filtergroup-userExpLevel": "Erfarenhetsnivå (endast för registrerade användare)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "Nykomlingar",
-       "rcfilters-filter-userExpLevel-newcomer-description": "Färre än 10 redigeringar och 4 dagars aktivitet.",
-       "rcfilters-filter-userExpLevel-learner-label": "Nybörjare",
-       "rcfilters-filter-userExpLevel-learner-description": "Fler dagars aktivitet och redigeringar än \"Nybörjare\" men färre än \"Erfarna användare\".",
-       "rcfilters-filter-userExpLevel-experienced-label": "Erfarna användare",
-       "rcfilters-filter-userExpLevel-experienced-description": "Fler än 30 dagars aktivitet och 500 redigeringar.",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered": "Upplevelsefilter hittar endast registrerade användare, så detta filter är i konflikt med filtret \"Oregistrerade\".",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered-global": "Filtret \"Oregistrerade\" är i konflikt med en eller flera upplevelsefilter, som endast hittar registrerade användare. Filtren som är i konflikt är markerade i området med aktiva filter ovan.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Nykomlingar",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Färre än 10 redigeringar och 4 dagars aktivitet.",
+       "rcfilters-filter-user-experience-level-learner-label": "Nybörjare",
+       "rcfilters-filter-user-experience-level-learner-description": "Fler dagars aktivitet och redigeringar än \"Nybörjare\" men färre än \"Erfarna användare\".",
+       "rcfilters-filter-user-experience-level-experienced-label": "Erfarna användare",
+       "rcfilters-filter-user-experience-level-experienced-description": "Fler än 30 dagars aktivitet och 500 redigeringar.",
        "rcfilters-filtergroup-automated": "Automatiserade bidrag",
        "rcfilters-filter-bots-label": "Bot",
        "rcfilters-filter-bots-description": "Redigeringar gjorda av automatiserade verktyg.",
        "rcfilters-filter-humans-label": "Människa (inte bot)",
        "rcfilters-filter-humans-description": "Redigeringar gjorda av mänskliga redigerare.",
+       "rcfilters-filtergroup-reviewstatus": "Granskningsstatus",
+       "rcfilters-filter-patrolled-label": "Patrullerade",
+       "rcfilters-filter-patrolled-description": "Redigeringar markerade som patrullerade.",
+       "rcfilters-filter-unpatrolled-label": "Inte patrullerade",
+       "rcfilters-filter-unpatrolled-description": "Redigeringar som inte är markerade som patrullerade.",
        "rcfilters-filtergroup-significance": "Betydelse",
        "rcfilters-filter-minor-label": "Mindre redigeringar",
        "rcfilters-filter-minor-description": "Redigeringar som är märkta som mindre.",
        "rcfilters-filter-categorization-description": "Poster av sidor som läggs till eller tas bort från kategorier.",
        "rcfilters-filter-logactions-label": "Loggade åtgärder",
        "rcfilters-filter-logactions-description": "Administrativa åtgärder, kontoskapande, sidraderingar, uppladdningar....",
+       "rcfilters-hideminor-conflicts-typeofchange-global": "Filtret \"Mindre redigering\" är i konflikt med en eller flera ändringstypfilter, eftersom vissa ändringstyper inte kan betecknas som \"mindre\". Filtren som är i konflikt är markerade i området med aktiva filter ovan.",
+       "rcfilters-hideminor-conflicts-typeofchange": "Vissa ändringstyper kan inte betecknas som \"mindre\", så detta filter är i konflikt med följande ändringstypfilter: $1",
+       "rcfilters-typeofchange-conflicts-hideminor": "Detta ändringstypfilter är i konflikt med filtret \"Mindre ändringar\". Vissa ändringstyper kan inte betecknas som \"mindre\".",
        "rcnotefrom": "Nedan visas {{PLURAL:$5|ändringen|ändringar}} sedan <strong>$3, $4</strong> (upp till <strong>$1</strong> ändringar visas).",
        "rclistfrom": "Visa nya ändringar från och med $2 $3",
        "rcshowhideminor": "$1 mindre ändringar",
        "whatlinkshere-hideimages": "$1 fillänkar",
        "whatlinkshere-filters": "Filter",
        "whatlinkshere-submit": "Gå",
-       "autoblockid": "Autoblockera #$1",
+       "autoblockid": "Autoblockering #$1",
        "block": "Blockera användare",
        "unblock": "Upphäv blockering av användare",
        "blockip": "Blockera {{GENDER:$1|användare}}",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|uppdaterade}} märken på sidversionen $4 för sidan $3 ({{PLURAL:$7|lade till}} $6; {{PLURAL:$9|tog bort}} $8)",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|uppdaterade}} märken på loggposten $5 för sidan $3 ({{PLURAL:$7|lade till}} $6; {{PLURAL:$9|tog bort}} $8)",
        "rightsnone": "(inga)",
-       "revdelete-summary": "sammanfattning",
        "rightslogentry-temporary-group": "$1 (temporärt, tills $2)",
        "feedback-adding": "Ge feedback till sida...",
        "feedback-back": "Tillbaka",
index a4911dc..9db85c5 100644 (file)
        "password-change-forbidden": "ಈರ್ ಈ ವಿಕಿಡ್ ಪ್ರರವೇಸ ಪದೊನು ಬದಲ್ಪೆರೆ ಸಾದ್ಯೊ ಇದ್ದಿ.",
        "login": "ಲಾಗಿನ್ ಆಲೆ",
        "nav-login-createaccount": "ಲಾಗ್-ಇನ್ / ಅಕೌಂಟ್ ಸೃಷ್ಟಿ ಮಲ್ಪುಲೆ",
-       "userlogin": "ಲಾಗ್-ಇನ್ / ಅಕೌಂಟ್ ಸೃಷ್ಟಿ ಮಲ್ಪುಲೆ",
-       "userloginnocreate": "ಲಾಗಿನ್ ಆಲೆ",
        "logout": "ಲಾಗ್ ಔಟ್",
        "userlogout": "ಲಾಗ್ ಔಟ್",
        "notloggedin": "ಲಾಗಿನ್ ಆತ್‘ಜ್ಜರ್",
        "userlogin-noaccount": "ಕಾತೆ ಇದ್ದಿಯಾ?",
        "userlogin-joinproject": "{{SITENAME}}ಗ್ ಸೇರ್ಲೆ",
-       "nologin": "ಈರೆನ ಖಾತೆ ಇಜ್ಜೇ?'''$1'''",
-       "nologinlink": "ಪೊಸ ಖಾತೆ ಸುರು ಮಲ್ಪುಲೆ",
        "createaccount": "ಪೊಸ ಅಕ್ಕೌಂಟ್ ಸುರು ಮಲ್ಪುಲೆ",
-       "gotaccount": "ಈರೆನ ಖಾತೆ ಉಂಡೇ?'''$1'''",
-       "gotaccountlink": "ಲಾಗಿನ್ ಆಲೆ",
-       "userlogin-resetlink": "ಈರೆನ ಲಾಗಿನ್ ವಿವರ ಮರತ್ತ್ಂಡೇ?",
        "userlogin-resetpassword-link": "ಈರೆನೆ ಪ್ರವೇಸೊ ಪದೊ ಮರತ್ತ್‌ಂಡಾ?",
        "userlogin-helplink2": "ಲಾಗಿನ್ ಆಯರ ಸಹಾಯೊ",
        "userlogin-createanother": "ಪೊಸ ಕಾತೆ ಸುರು ಮಲ್ಪುಲೆ",
        "createacct-another-email-ph": "ಇ-ಅಂಚೆ ವಿಳಾಸೊನು ಬದಲಾವಣೆ ಮಲ್ಪುಲೆ",
        "createaccountmail": "(ರಾಂಡಮ್) ತಾತ್ಕಾಲಿಕವಾದ್ ಯಾದೃಚ್ಛಿಕ ಪಾಸ್ವರ್ಡ್ ಆಯ್ಕೆ ಮಾಲ್ಪುಲೆ ಬುಕ್ಕೊ ಇಮೇಲ್ ವಿಳಾಸೊನು ಸೂಚಿಸದ್ : ಕಡಪುಡುಲೆ",
        "createacct-realname": "ನಿಜವಾಯಿನ ಪುದರ್(ಐಚ್ಛಿಕೊ)",
-       "createaccountreason": "ಕಾರಣ",
        "createacct-reason": "ಕಾರಣೊ",
        "createacct-reason-ph": "ಈರ್ ದಾಯೆ ನಾನಲ ಒಂಜಿ ಕಾತೆ ದೆತ್ತೊಂದುಲ್ಲರ್?",
        "createacct-submit": "ಪೊಸ ಕಾತೆ ಸುರು ಮಲ್ಪುಲೆ",
        "recentchanges-legend-heading": "<strong>ಲೆಜೆಂಡ್:</strong>",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (ಬೊಕ್ಕೊಲಾ ತೂಲೆ [[Special:NewPages|ಪೊಸ ಪುಟೊದ ಪಟ್ಟಿ]])",
        "recentchanges-submit": "ತೋಜಾಲೆ",
-       "rcfilters-filter-userExpLevel-learner-label": "ಕಲ್ಪುನರ್",
+       "rcfilters-filter-user-experience-level-learner-label": "ಕಲ್ಪುನರ್",
        "rclistfrom": "$3 $2 ರ್ದ್ ಸುರುವಾತಿನ ಪೊಸ ಬದಲಾವಣೆಲೆನ್ ತೊಜ್ಪಾವು",
        "rcshowhideminor": "$1 ಎಲ್ಯೆಲ್ಯ ಬದಲಾವಣೆಲು",
        "rcshowhideminor-show": "ತೋಜಾಲೆ",
index fb73ae7..24fbc07 100644 (file)
@@ -4,7 +4,8 @@
                        "MF-Warburg",
                        "Nemo bis",
                        "Reedy",
-                       "아라"
+                       "아라",
+                       "Matma Rex"
                ]
        },
        "tog-underline": "Subliña ligasaun sira:",
        "aboutsite": "Kona-ba {{SITENAME}}",
        "aboutpage": "Project:Kona-ba",
        "copyright": "Testu pájina nian iha $1 okos.",
-       "copyrightpage": "{{ns:project}}:Direitu_autór_nian",
+       "copyrightpage": "{{ns:project}}:Direitu autór nian",
        "currentevents": "Mamosuk atuál sira",
        "currentevents-url": "Project:Mamosuk atuál sira",
        "disclaimers": "Avisu legál",
        "yourname": "Naran uza-na'in:",
        "login": "Log in",
        "nav-login-createaccount": "Log in / kriar konta ida",
-       "userlogin": "Log in / kriar konta ida",
        "logout": "Husik",
        "userlogout": "Husik",
-       "nologin": "La iha konta ida? '''$1'''.",
-       "nologinlink": "Registrar",
        "createaccount": "Registrar uza-na'in",
-       "gotaccount": "Ó iha konta ona? '''$1'''.",
-       "gotaccountlink": "Log in",
        "userexists": "Naran uza-na'in ne'e ona iha wiki.\nFavór ida lori naran seluk.",
        "nosuchuser": "Konta uza-na'in (naran \"$1\") la iha.\nUser names are case sensitive.\nCheck your spelling, ka [[Special:CreateAccount|kria konta foun]].",
        "nouserspecified": "Ó tenke espesífiku naran uza-na'in ida.",
index a9a2760..1a8e881 100644 (file)
        "newmessageslinkplural": "{{PLURAL:$1|yeni mesajınız|yeni mesajlarınız}}",
        "newmessagesdifflinkplural": "son {{PLURAL:$1|değişiklik|değişiklik}}",
        "youhavenewmessagesmulti": "$1'de yeni mesajınız var",
-       "editsection": "değiştir",
+       "editsection": "düzenle",
        "editold": "değiştir",
        "viewsourceold": "kaynağı gör",
        "editlink": "değiştir",
        "login": "Oturum aç",
        "login-security": "Kimliğinizi doğrulayın",
        "nav-login-createaccount": "Oturum aç / hesap oluştur",
-       "userlogin": "Oturum aç / hesap oluştur",
-       "userloginnocreate": "Giriş yap",
        "logout": "Oturumu kapat",
        "userlogout": "Oturumu kapat",
        "notloggedin": "Oturum açık değil",
        "userlogin-noaccount": "Bir hesabınız yok mu?",
        "userlogin-joinproject": "{{SITENAME}} sitesine katılın",
-       "nologin": "Bir hesabınız yok mu? $1.",
-       "nologinlink": "Hesap oluşturun",
        "createaccount": "Hesap oluştur",
-       "gotaccount": "Zaten bir hesabınız var mı? $1.",
-       "gotaccountlink": "Oturum açın",
-       "userlogin-resetlink": "Giriş bilgilerinizi mi unuttunuz?",
        "userlogin-resetpassword-link": "Parolanızı mı unuttunuz?",
        "userlogin-helplink2": "Oturum açma konusunda yardım alın",
        "userlogin-loggedin": "Zaten {{GENDER:$1|$1}} olarak oturum açtınız.\nBaşka bir kullanıcı olarak oturum açmak için aşağıdaki formu kullanın.",
        "createaccountmail": "Geçici bir rastgele şifre kullanabilir ve bu şifreyi belirtilen e-posta adresine gönderebilirsiniz",
        "createaccountmail-help": "Parolayı öğrenmeden başka bir kişi için hesap oluşturmak amacıyla kullanılabilir.",
        "createacct-realname": "Gerçek adı (isteğe bağlı)",
-       "createaccountreason": "Sebep:",
        "createacct-reason": "Gerekçe",
        "createacct-reason-ph": "Neden başka bir hesap oluşturuyorsunuz",
        "createacct-reason-help": "Hesap oluşturma günlüğünde gösterilen mesaj",
        "action-deleterevision": "bu revizyonu silmeye",
        "action-deletedhistory": "bu sayfanın silinme geçmişini görmeye",
        "action-browsearchive": "silinen sayfaları aramaya",
-       "action-undelete": "bu sayfanın silme işlemini geri almaya",
-       "action-suppressrevision": "bu gizli revizyonu gözden geçirip geri yüklemeye",
+       "action-undelete": "sayfaları geri getir",
+       "action-suppressrevision": "gizli sürümleri gözden geçir ve geri getir",
        "action-suppressionlog": "bu özel günlüğü görmeye",
        "action-block": "bu kullanıcının değişiklik yapmasını engellemeye",
        "action-protect": "bu sayfa için koruma düzeylerini değiştirmeye",
        "action-userrights-interwiki": "diğer vikilerde kullanıcıların, kullanıcı haklarını değiştirmeye",
        "action-siteadmin": "veritabanını kilitleyip açmaya",
        "action-sendemail": "e-posta gönder",
+       "action-editmyoptions": "tercihlerinizi düzenleyin",
        "action-editmywatchlist": "izleme listeni düzenle",
        "action-viewmywatchlist": "izleme listeni gör",
        "action-viewmyprivateinfo": "kendi özel bilgilerinizi görmeye",
        "action-editmyprivateinfo": "kendi özel bilgilerinizi değiştirmeye",
        "action-editcontentmodel": "bir sayfanın içerik modelini düzenle",
-       "action-managechangetags": "veritabanındaki etiketleri yarat ve sil",
+       "action-managechangetags": "etiket oluştur ve etkinleştir (veya devre dışı bırak)",
        "action-applychangetags": "değişikliklerle beraber etiketlendirmeyi de uygula",
        "action-changetags": "tekil sürümlere veya günlük kayıtlarına etiket ekleme veya çıkarma",
+       "action-deletechangetags": "etiketleri veritabanından sil",
+       "action-purge": "bu sayfayı temizle",
        "nchanges": "$1 {{PLURAL:$1|değişiklik|değişiklik}}",
        "enhancedrc-since-last-visit": "$1 {{PLURAL:$1|son ziyaretten bu yana}}",
        "enhancedrc-history": "geçmiş",
        "recentchanges-legend-heading": "<strong>Gösterge:</strong>",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (ayrıca [[Special:NewPages|yeni sayfalar listesine]] bakınız)",
        "recentchanges-submit": "Göster",
+       "rcfilters-activefilters": "Etkin süzgeçler",
+       "rcfilters-restore-default-filters": "Varsayılan süzgeçleri geri getir",
+       "rcfilters-clear-all-filters": "Tüm süzgeçleri temizle",
+       "rcfilters-search-placeholder": "Son değişiklikleri filtrele (gözatın veya yazmaya başlayın)",
+       "rcfilters-invalid-filter": "Geçersiz süzgeç",
+       "rcfilters-empty-filter": "Etkin süzgeç bulunmuyor. Tüm katkıları gösteriliyor.",
+       "rcfilters-filterlist-title": "Süzgeçler",
+       "rcfilters-filterlist-feedbacklink": "Yeni (beta) süzgeçler konusunda geribildirim verin",
+       "rcfilters-highlightbutton-title": "Sonuçları vurgula",
+       "rcfilters-highlightmenu-title": "Bir renk seçin",
+       "rcfilters-highlightmenu-help": "Bu özelliği vurgulamak için bir renk seçin",
+       "rcfilters-filterlist-noresults": "Süzgeç bulunamadı",
+       "rcfilters-filtergroup-registration": "Kullanıcı kaydı",
+       "rcfilters-filter-registered-label": "Kayıtlı",
+       "rcfilters-filter-registered-description": "Oturum açmış editörler.",
+       "rcfilters-filter-unregistered-label": "Kayıtsız",
+       "rcfilters-filter-unregistered-description": "Oturum açmamış editörler.",
+       "rcfilters-filtergroup-authorship": "Düzenleme sahipliği",
+       "rcfilters-filter-editsbyself-label": "Kendi düzenlemeleriniz",
+       "rcfilters-filter-editsbyself-description": "Sizin düzenlemeleriniz.",
+       "rcfilters-filter-editsbyother-label": "Başkalarının düzenlemeleri",
+       "rcfilters-filter-editsbyother-description": "Başka kullanıcılar tarafından oluşturulan düzenlemeler (sizin değil).",
+       "rcfilters-filtergroup-userExpLevel": "Deneyim düzeyi (yalnızca kayıtlı kullanıcılar için)",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered": "Bu süzgeç etkin değildir, çünkü yalnızca kayıtlı kullanıcıları bulmaktadır, yani \"Kayıtsız\" süzgeci etkisini ortadan kaldırmaktadır.",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered-global": "\"Kayıtsız\" süzgeci bir veya daha fazla Deneyim süzgeciyle çakışmaktadır. Deneyim süzgeçleri yalnızca kayıtlı kullanıcıları bulmaktadır. Çakışan süzgeçler yukarıda etkin değil şeklinde işaretlenmiştir.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Yeni gelenler",
+       "rcfilters-filter-user-experience-level-newcomer-description": "10'dan az düzenleme ve 4 günden az etkinlik.",
+       "rcfilters-filter-user-experience-level-learner-label": "Öğreniciler",
+       "rcfilters-filter-user-experience-level-learner-description": "\"Yeni gelenler\"den daha fazla gün boyunca etkinlik ve daha fazla düzenleme, ancak \"Deneyimli kullanıcılar\"dan daha az etkinlik ve düzenleme.",
+       "rcfilters-filter-user-experience-level-experienced-label": "Deneyimli kullanıcılar",
+       "rcfilters-filter-user-experience-level-experienced-description": "30'dan fazla gün etkinlik ve 500'den fazla düzenleme.",
+       "rcfilters-filtergroup-automated": "Otomatikleştirilmiş katkılar",
+       "rcfilters-filter-bots-label": "Bot",
+       "rcfilters-filter-bots-description": "Otomatikleştirilmiş araçlar tarafından yapılan düzenlemeler.",
+       "rcfilters-filter-humans-label": "İnsan (bot değil)",
+       "rcfilters-filter-humans-description": "İnsan editörler tarafından yapılan düzenlemeler.",
+       "rcfilters-filtergroup-reviewstatus": "İnceleme durumu",
+       "rcfilters-filter-patrolled-label": "Devriye onayından geçmiş",
+       "rcfilters-filter-patrolled-description": "Devriye onayından geçmiş olarak işaretlenen düzenlemeler.",
+       "rcfilters-filter-unpatrolled-label": "Devriye onayından geçmemiş",
+       "rcfilters-filter-unpatrolled-description": "Devriye onayından geçmiş olarak işaretlenmeyen düzenlemeler.",
+       "rcfilters-filtergroup-significance": "Önem",
        "rcfilters-filter-minor-label": "Küçük değişiklikler",
+       "rcfilters-filter-minor-description": "Yazarın küçük olarak etiketlediği düzenlemeler.",
        "rcfilters-filter-major-label": "Küçük olmayan değişiklikler",
+       "rcfilters-filter-major-description": "Küçük olarak etiketlenmemiş düzenlemeler.",
+       "rcfilters-filtergroup-changetype": "Değişiklik türü",
+       "rcfilters-filter-pageedits-label": "Sayfa düzenlemeleri",
+       "rcfilters-filter-pageedits-description": "Viki içeriği, tartışmalar, kategori açıklamalarındaki düzenlemeler....",
+       "rcfilters-filter-newpages-label": "Sayfa oluşturmalar",
+       "rcfilters-filter-newpages-description": "Yeni sayfa oluşturan düzenlemeler.",
+       "rcfilters-filter-categorization-label": "Kategori değişiklikleri",
+       "rcfilters-filter-categorization-description": "Kategorilere eklenen veya kaldırılan sayfaların kayıtları.",
+       "rcfilters-filter-logactions-label": "Günlüğü tutulan işlemler",
        "rcnotefrom": "<strong>$3, $4</strong> tarihinden itibaren yapılan {{PLURAL:$5|değişiklik|değişiklik}} aşağıdadır (<strong>$1</strong> tarhine kadar olanlar gösterilmektedir).",
        "rclistfrom": "$3 $2 tarihinden itibaren yeni değişiklikleri göster",
        "rcshowhideminor": "Küçük değişiklikleri $1",
        "table_pager_limit_label": "Sayfa başına öğe:",
        "table_pager_limit_submit": "Git",
        "table_pager_empty": "Sonuç yok",
-       "autosumm-blank": "Sayfayı boşalttı",
+       "autosumm-blank": "Sayfa boşaltıldı",
        "autosumm-replace": "Sayfa içeriği '$1' ile değiştiriliyor",
        "autoredircomment": "[[$1]] sayfasına yönlendirildi",
        "autosumm-new": "Yeni sayfa: \"$1\"",
        "logentry-tag-update-revision": "$1, $3 sayfasının $4 numaralı sürümündeki etiketleri  {{GENDER:$2|güncelledi}}. Eklenen {{PLURAL:$7|etiket|etiket}}: $6; kaldırılan {{PLURAL:$9|etiket|etiket}}: $8",
        "logentry-tag-update-logentry": "$1, $3 sayfasının $5 numaralı günlük kaydındaki etiketleri {{GENDER:$2|güncelledi}}. Eklenen {{PLURAL:$7|etiket|etiket}}: $6; kaldırılan {{PLURAL:$9|etiket|etiket}}: $8",
        "rightsnone": "(hiçbiri)",
-       "revdelete-summary": "değişiklik özeti",
        "feedback-adding": "Sayfaya geribildirim ekleniyor...",
        "feedback-back": "Geri",
        "feedback-bugcheck": "Harika! Sadece [bilinen $1 hatalarından] olmadığını kontrol et.",
index 5d5c09f..9df7278 100644 (file)
        "login": "Вхід до системи",
        "login-security": "Підтвердіть свою особу",
        "nav-login-createaccount": "Вхід / реєстрація",
-       "userlogin": "Вхід / реєстрація",
-       "userloginnocreate": "Увійти",
        "logout": "Вихід із системи",
        "userlogout": "Вихід із системи",
        "notloggedin": "Ви не увійшли до системи",
        "userlogin-noaccount": "Немає облікового запису?",
        "userlogin-joinproject": "Приєднатися до {{GRAMMAR:genitive|{{SITENAME}}}}",
-       "nologin": "Ви ще не зареєструвались? $1.",
-       "nologinlink": "Створити обліковий запис",
        "createaccount": "Зареєструватися",
-       "gotaccount": "Ви вже зареєстровані? '''$1'''.",
-       "gotaccountlink": "Увійти",
-       "userlogin-resetlink": "Забули дані, потрібні для входу?",
        "userlogin-resetpassword-link": "Забули пароль?",
        "userlogin-helplink2": "Допомога з входом у систему",
        "userlogin-loggedin": "Ви вже увійшли як {{GENDER:$1|$1}}.\nВикористайте нижче форму для входу як інший користувач.",
        "createaccountmail": "Використати тимчасовий випадковий пароль і надіслати його на вказану адресу електронної пошти",
        "createaccountmail-help": "Може використовуватися, щоб створити обліковий запис для іншої особи, не дізнаючись пароль.",
        "createacct-realname": "Справжнє ім'я (не обов'язково)",
-       "createaccountreason": "Причина:",
        "createacct-reason": "Причина",
        "createacct-reason-ph": "Чому ви створюєте інший обліковий запис",
        "createacct-reason-help": "Повідомлення, що показується в журналі створення облікових записів",
        "createacct-benefit-body1": "{{PLURAL:$1|редагування|редагування|редагувань}}",
        "createacct-benefit-body2": "{{PLURAL:$1|сторінка|сторінки|сторінок}}",
        "createacct-benefit-body3": "{{PLURAL:$1|дописувач|дописувачі|дописувачів}} цього місяця",
-       "badretype": "Введені паролі не співпадають.",
+       "badretype": "Введені паролі не збігаються.",
        "usernameinprogress": "Створення облікового запису для цього імені користувача уже виконується.\nБудь ласка, зачекайте.",
        "userexists": "Введене ім'я користувача вже існує.\nБудь ласка оберіть інше ім'я.",
        "loginerror": "Помилка при вході до системи",
        "rcfilters-filter-registered-description": "Користувачі, що увійшли в систему.",
        "rcfilters-filter-unregistered-label": "Незареєстровані",
        "rcfilters-filter-unregistered-description": "Користувачі, які не ввійшли в систему.",
+       "rcfilters-filter-unregistered-conflicts-user-experience-level": "Фільтр «Незареєстровані» неактивний, оскільки його вплив нівелюється {{PLURAL:$2|таким фільтром|такими фільтрами}} досвіду, {{PLURAL:$2|який знаходить|які знаходять}} лише зареєстрованих користувачів: $1",
        "rcfilters-filtergroup-authorship": "Авторство редагувань",
        "rcfilters-filter-editsbyself-label": "Ваші власні редагування",
        "rcfilters-filter-editsbyself-description": "Редагування, зроблені Вами.",
        "rcfilters-filter-editsbyother-label": "Редагування, зроблені іншими",
        "rcfilters-filter-editsbyother-description": "Редагування, виконані іншими користувачами (не Вами).",
        "rcfilters-filtergroup-userExpLevel": "Рівень досвіду (тільки для зареєстрованих користувачів)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "Новачки",
-       "rcfilters-filter-userExpLevel-newcomer-description": "Менше ніж 10 редагувань і 4 дні активності.",
-       "rcfilters-filter-userExpLevel-learner-label": "Учні",
-       "rcfilters-filter-userExpLevel-learner-description": "Більше днів активності та більше редагувань, ніж у «новачків», але менше, ніж у «досвідчених користувачів».",
-       "rcfilters-filter-userExpLevel-experienced-label": "Досвідчені користувачі",
-       "rcfilters-filter-userExpLevel-experienced-description": "Більше 30 днів активності і понад 500 редагувань.",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered": "Цей фільтр неактивний, оскільки він знаходить лише зареєстрованих користувачів, тож фільтр «Незареєстровані» нівелює його вплив.",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered-global": "Фільтр «Незареєстровані» перебуває в конфлікті з одним або більше фільтрів досвіду. Фільтри досвіду знаходять лише зареєстрованих користувачів. Конфліктні фільтри позначені вище як неактивні.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Новачки",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Менше ніж 10 редагувань і 4 дні активності.",
+       "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": "Більше 30 днів активності і понад 500 редагувань.",
        "rcfilters-filtergroup-automated": "Автоматизовані редагування",
        "rcfilters-filter-bots-label": "Бот",
        "rcfilters-filter-bots-description": "Редагування, зроблені з допомогою автоматизованих засобів.",
        "rcfilters-filter-humans-label": "Людина (не бот)",
        "rcfilters-filter-humans-description": "Редагування, зроблені людиною.",
+       "rcfilters-filtergroup-reviewstatus": "Статус перевірки",
+       "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": "Редагування, позначені авторами як незначні.",
        "noindex-category-desc": "Сторінка не індексується пошуковими роботами, тому що на ній є «чарівне слово» <code><nowiki>__NOINDEX__</nowiki></code>, і вона знаходиться в просторі імен, де дозволений цей прапор).",
        "index-category-desc": "На сторінці є «чарівне слово» <code><nowiki>__INDEX__</nowiki></code> (і сторінка знаходиться в просторі назв, де дозволений цей прапор), тому вона індексується пошуковими роботами в тих випадках, коли цього зазвичай не відбувається.",
        "post-expand-template-inclusion-category-desc": "Розмір сторінки стане більший за <code>$wgMaxArticleSize</code> після показу всіх шаблонів, тому деякі з них не були показані повністю.",
-       "post-expand-template-argument-category-desc": "Сторінка стане більшою за <code>$wgMaxArticleSize</code> після розкриття аргументу шаблона (що-небудь в потрійних фігурних дужках, наприклад, <code>{{{Foo}}})</code>).",
+       "post-expand-template-argument-category-desc": "Сторінка стане більшою за <code>$wgMaxArticleSize</code> після розкриття аргументу шаблону (щось у потрійних фігурних дужках, наприклад, <code>{{{Foo}}}</code>).",
        "expensive-parserfunction-category-desc": "На сторінці також використовується занадто багато ресурсомістких функцій (таких, як <code>#ifexist</code>). Детальніше - на сторінці [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgExpensiveParserFunctionLimit Manual:$wgExpensiveParserFunctionLimit].",
        "broken-file-category-desc": "Сторінка містить некоректне файлове посилання (посилання на неіснуючий файл).",
        "hidden-category-category-desc": "Ця категорія містить мітку <code><nowiki>__HIDDENCAT__</nowiki></code> у вмісті сторінки, що типово запобігає її відображенню на сторінках в розділі категорій.",
        "delete_and_move_text": "Сторінка з назвою [[:$1|«$1»]] вже існує.\nБажаєте вилучити її для можливості перейменування?",
        "delete_and_move_confirm": "Так, вилучити для перейменування",
        "delete_and_move_reason": "Вилучена для можливості перейменування сторінки «[[$1]]»",
-       "selfmove": "Неможливо перейменувати сторінку: поточна й нова назви сторінки співпадають.",
+       "selfmove": "Неможливо перейменувати сторінку: поточна й нова назви сторінки збігаються.",
        "immobile-source-namespace": "Не можна перейменовувати сторінки з простору назв «$1»",
        "immobile-target-namespace": "Не можна перейменовувати сторінки до простору назв «$1»",
        "immobile-target-namespace-iw": "Інтервікі-посилання не підходить для перейменування сторінки.",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|оновив|оновила}} мітки версії $4 сторінки $3 ({{PLURAL:$7|додано}} $6; {{PLURAL:$9|вилучено}} $8)",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|оновив|оновила}} мітки запису журналу $5 сторінки $3 ({{PLURAL:$7|додано}} $6; {{PLURAL:$9|вилучено}} $8)",
        "rightsnone": "(нема)",
-       "revdelete-summary": "коментар до редагування",
        "rightslogentry-temporary-group": "$1 (тимчасово, до $2)",
        "feedback-adding": "Додавання відгуку на сторінку ...",
        "feedback-back": "Назад",
index de1dd5f..0d7e00a 100644 (file)
        "yourdomainname": "Vosse dominne",
        "login": "S' elodjî",
        "nav-login-createaccount": "Ahiver on conte, udon-bén s' elodjî",
-       "userlogin": "S' elodjî",
-       "userloginnocreate": "S' elodjî",
        "logout": "Si dislodjî",
        "userlogout": "Si dislodjî",
        "notloggedin": "Nén elodjî",
        "userlogin-joinproject": "S' edjîstrer so {{SITENAME}}",
-       "nologin": "Vos n' avoz nén d' conte so ç' wiki ci? $1.",
-       "nologinlink": "Ahivez on conte da vosse",
        "createaccount": "Ahiver on novea conte",
-       "gotaccount": "Vos avoz ddja on conte so ç' wiki ci? '''$1'''.",
-       "gotaccountlink": "Elodjîz vs",
-       "userlogin-resetlink": "Avoz rovyî les pondants et djondants po s' elodjî?",
        "createaccountmail": "Eployî on scret timporaire a l' astcheyance eyet l' evoyî so l' emile diné",
        "createacct-realname": "Vraiy no (opcionel)",
-       "createaccountreason": "Råjhon:",
        "createacct-reason": "Råjhon",
        "createacct-another-submit": "Ahiver èn ôte conte",
        "createacct-benefit-body1": "{{PLURAL:$1|candjmint|candjmints}}",
        "passwordreset-disabled": "Li rfijhaedje di screts a stî dismetou so ç' wiki ci.",
        "passwordreset-username": "No d' elodjaedje:",
        "passwordreset-domain": "Dominne:",
-       "passwordreset-capture": "Vey li messaedje di l' emile?",
-       "passwordreset-capture-help": "Si vos clitchîz cisse boesse ci, l' emile (eyet li scret timporaire) vos srè håyné e minme tins k' il est emilé.",
        "passwordreset-email": "Adresse emile:",
        "passwordreset-emailtitle": "Detays do contre so {{SITENAME}}",
        "changeemail": "Candjî ou disfacer l' adresse emile",
        "watchthis": "Shuve cist årtike",
        "savearticle": "Schaper l' pådje",
        "savechanges": "Schaper l' pådje",
+       "publishpage": "Schaper l' pådje",
+       "publishchanges": "Schaper les candjmints",
        "preview": "Vey divant",
        "showpreview": "Vey divant",
        "showdiff": "Vey les candjmints",
        "saveprefs": "Schaper les preferinces",
        "restoreprefs": "Rimete totes les prémetowès valixhances",
        "prefs-editing": "Boesse di tecse",
-       "rows": "Royes",
-       "columns": "Colones",
        "searchresultshead": "Håynaedje des rzultats di cweraedje",
        "stub-threshold": "Limite pol formataedje des loyéns djermons ($1):",
        "stub-threshold-sample-link": "egzimpe",
        "userrights-reason": "Råjhon:",
        "userrights-no-interwiki": "Vos n' avoz nén les permissions po candjî les droets des uzeus so ds ôtes wikis.",
        "userrights-nodatabase": "Li båze di dnêyes «$1» n' egzistêye nén ou n' est nén locåle.",
-       "userrights-nologin": "Vos vs divoz [[Special:UserLogin|elodjî]] avou on conte manaedjeu por vos pleur candjî les droets des uzeus.",
-       "userrights-notallowed": "Li conte da vosse n' pout nén radjouter ou rsaetchî des droets des uzeus.",
        "userrights-changeable-col": "Groupes ki vos ploz candjî",
        "userrights-unchangeable-col": "Groupes ki vos n' poloz nén candjî",
        "group": "Groupe:",
        "feedback-submit": "Evoyî",
        "searchsuggest-search": "Cweri",
        "searchsuggest-containing": "ki contént...",
-       "api-error-badaccess-groups": "Vos n' avoz nén l' droet d' eberweter des fitchîs so ç' wiki cial",
-       "api-error-copyuploaddisabled": "Les eberwetaedjes pa URL ni vont nén so ç' sierveu cial.",
-       "api-error-duplicate": "N a ddja {{PLURAL:$1|èn ôte fitchî|des ôtes fitchîs}} avou l' minme contnou so nosse waibe",
-       "api-error-duplicate-archive": "N aveut ddja {{PLURAL:$1|èn ôte fitchî|des ôtes fitchîs}} avou l' minme contnou so nosse waibe, mins {{PLURAL:$1|il a stî rsaetchî|il ont stî rsaetchîs}}.",
-       "api-error-empty-file": "Vosse fitchî est vude.",
        "api-error-emptypage": "C' est nén permetou d' ahiver ene novele pådje et l' leyî vude.",
-       "api-error-fetchfileerror": "Aroke divintrinne : ene sacwè a fwait berwete cwand on-z a volou rawè vosse fitchî",
-       "api-error-file-too-large": "Vosse fitchî est trop pezant",
-       "api-error-filename-tooshort": "Li no do fitchî est trop court",
-       "api-error-filetype-banned": "On n' pout nén eberweter des sfwaits fitchîs",
-       "api-error-filetype-missing": "I manke li cawete do fitchî",
-       "api-error-hookaborted": "Li candjmint ki vos vlîz fé a stî espaitchî pa on module di rawete.",
-       "api-error-http": "Aroke divintrinne : nou raloyaedje å sierveu",
-       "api-error-illegal-filename": "On n' pout nén prinde ci no la pol fitchî",
-       "api-error-internal-error": "Aroke divintrinne : gn a ene sacwè k' a må stî tins d' l' eredjistrumint d' vost eberwetêye",
-       "api-error-invalid-file-key": "Aroke divintrinne : Li fitchî n' a nén stî rtrové dins l' eredjistrumint provizwere",
-       "api-error-missingparam": "Aroke divintrinne : i manke des dnêyes dins vosse dimande",
-       "api-error-missingresult": "Aroke divintrinne : on n' såreut dire si l' fitchî a bén passé",
-       "api-error-mustbeloggedin": "Vos dvoz esse elodjî (eye) po-z aberweter des fitchîs",
-       "api-error-mustbeposted": "Aroke divintrinne : li programe n' eploye nén li boune hårdêye HTTP",
-       "api-error-noimageinfo": "L' eberwetaedje a bén stî, mins l' sierveu n' a pont dné d' racsegnes sol fitchî",
-       "api-error-nomodule": "Aroke divintrinne : pont d' voye d' eberwetaedje tchoezeye",
-       "api-error-ok-but-empty": "Aroke divintrinne : li sierveu n' respond nén",
-       "api-error-overwrite": "Vos n' ploz nén spotchî on fitchî k' egzistêye dedja",
        "api-error-stashfailed": "Aroke divintrinne : li sierveu a pierdou les dnêyes provizweres",
-       "api-error-timeout": "Li sierveu n' a nén respondou dins les tins",
-       "api-error-unclassified": "Aroke nén cnoxhowe",
-       "api-error-unknown-code": "Aroke nén cnoxhowe: «$1».",
-       "api-error-unknown-error": "Aroke divintrinne : gn a ene sacwè ki n' a nén stî tins d' l' eberwetaedje",
        "api-error-unknown-warning": "Adviertixhmint nén cnoxhou: «$1».",
        "api-error-unknownerror": "Aroke nén cnoxhowe: «$1».",
-       "api-error-uploaddisabled": "L' eberwetaedje ni va nén so ç' wiki cial",
-       "api-error-verification-error": "Ci fitchî la est cron, oudon-bén si cawete n' est nén boune",
        "duration-seconds": "$1 segonde{{PLURAL:$1||s}}",
        "duration-minutes": "$1 munute{{PLURAL:$1||s}}",
        "duration-hours": "$1 eure{{PLURAL:$1||s}}",
index b4fd680..e8d2ac7 100644 (file)
        "login": "אַרײַנלאָגירן",
        "login-security": "וועריפיצירט אייער אידענטיטעט",
        "nav-login-createaccount": "ארײַנלאָגירן / זיך אײַנשרײַבן",
-       "userlogin": "ארײַנלאָגירן / זיך אײַנשרײַבן",
-       "userloginnocreate": "אַרײַנלאגירן",
        "logout": "אַרױסלאָגירן",
        "userlogout": "אַרױסלאָגירן",
        "notloggedin": "נישט איינגעשריבן",
        "userlogin-noaccount": "איר האט נישט קיין קאנטע?",
        "userlogin-joinproject": "איינטרעטן ביי {{SITENAME}}",
-       "nologin": "איר האט נישט קיין קאנטע? '''$1'''.",
-       "nologinlink": "שאַפֿן אַ קאנטע",
        "createaccount": "שאַפֿן אַ נײַע קאנטע",
-       "gotaccount": "האסטו שוין א קאנטע? '''$1'''.",
-       "gotaccountlink": "אַרײַנלאגירן",
-       "userlogin-resetlink": "פארגעסן אײַערע אַרײַנלאָגירן פרטים?",
        "userlogin-resetpassword-link": "פֿאַרגעסן אײַער פאַסווארט?",
        "userlogin-helplink2": "הילף מיט ארײַנלאגירן",
        "userlogin-loggedin": "איר זענט שוין אריינלאגירט ווי {{GENDER:$1|$1}}.\nניצט די פארעם אונטן כדי אריינלאגירן ווי אן אנדער באניצער.",
        "createaccountmail": "ניצן א פראוויזאריש פאסווארט און שיקן צום געצייכנטן ע-פאסט אדרעס",
        "createaccountmail-help": "קען ווערן באניצט צו שאפֿן קאנטע פֿאר א צווייטן אן צו דערגיין דאס פאסווארט.",
        "createacct-realname": "עכטער נאמען (אפציאנאל)",
-       "createaccountreason": "אורזאַך:",
        "createacct-reason": "אורזאך",
        "createacct-reason-ph": "פֿארוואס שאפֿט איר נאך א קאנטע",
        "createacct-reason-help": "מעלדונג געוויזן אין קאנטע־שאפֿונג לאגבוך",
        "unusedimages": "נישט געניצטע טעקעס",
        "wantedcategories": "געזוכטע קאטעגאריעס",
        "wantedpages": "געזוכטע בלעטער",
+       "wantedpages-summary": "ליסטע פֿון נישט־פֿאראנע בלעטער מיט די מערסטע לינקען צו זיי, אויסשליסנדיק בלעטער וואס האבן נאר ווייטערפֿירונגען צו זיי. פֿאר א ליסטע פון נישט־פֿאראנע בלעטער מיט ווייטערפֿירונגען צו זיי, זעט [[{{#special:BrokenRedirects}}|די ליסטע פון צעבראכענע ווייטערפֿירונגען]].",
        "wantedpages-badtitle": "אומגילטיקער טיטל אין רעזולטאַט: $1",
        "wantedfiles": "געזוכטע טעקעס",
        "wantedfiletext-cat": "די פֿאלגנדע טעקעס ווערן געניצט אבער זיי עקזיסטירן נישט. טעקעס פון פֿרעמדע רעפאזיטאריעס קענען ווערן אריינגערעכנט טראץ זיי עקזיסטירן יא. אזעלכע גרייזן וועלן ווערן <del>אויסגעשריכן </del>. דערצו, בלעטער וואס ניצן אומעקזיסטירנדע טעקעס ווערן אריינגערעכנט אין [[:$1]].",
        "logentry-rights-autopromote": "$1 אויטאמאטיש  {{GENDER:$2|פראמאווירט}} פון $4 צו $5",
        "logentry-upload-upload": "$1 {{GENDER:$2|האט ארויפגעלאדן}} $3",
        "rightsnone": "(גארנישט)",
-       "revdelete-summary": "רעדאקטירונג קיצור",
        "feedback-adding": "צולייגן פֿידבעק צו בלאַט...",
        "feedback-bugcheck": "געוואלדיק! אבער זייט בודק אז עס איז נישט איינער פון די [$1 באוואוסטע באגן].",
        "feedback-bugnew": "כ'האב בודק געווען. רעפארטירט א נייעם באג.",
index 19f211a..6486ad3 100644 (file)
        "talk": "討論",
        "views": "去睇",
        "toolbox": "架撐",
+       "tool-link-userrights": "改{{GENDER:$1|用戶}}組",
+       "tool-link-userrights-readonly": "睇{{GENDER:$1|用戶}}組",
        "tool-link-emailuser": "電郵畀呢個{{GENDER:$1|用戶}}",
        "userpage": "去睇用戶頁",
        "projectpage": "去睇專題頁",
        "login": "登入",
        "login-security": "確認你嘅身份",
        "nav-login-createaccount": "登入/開新戶口",
-       "userlogin": "登入/開新戶口",
-       "userloginnocreate": "登入",
        "logout": "登出",
        "userlogout": "登出",
        "notloggedin": "未登入",
        "userlogin-noaccount": "重未有戶口?",
        "userlogin-joinproject": "入{{SITENAME}}",
-       "nologin": "重未有戶口? $1。",
-       "nologinlink": "開個新戶口",
        "createaccount": "開戶口",
-       "gotaccount": "已經有戶口? $1。",
-       "gotaccountlink": "登入",
-       "userlogin-resetlink": "唔記得簽到資料?",
        "userlogin-resetpassword-link": "唔記得密碼?",
        "userlogin-helplink2": "幫我簽到",
        "userlogin-loggedin": "您目前用{{GENDER:$1|$1}}身份簽到,\n請用下面表格用另一身份簽到。",
        "createacct-email-ph": "入電郵地址",
        "createacct-another-email-ph": "入電郵地址",
        "createaccountmail": "將臨時密碼送到指定電郵地址",
+       "createaccountmail-help": "可以用嚟幫另一個人開戶,唔會睇到佢個密碼。",
        "createacct-realname": "真名(可以唔填)",
-       "createaccountreason": "原因:",
        "createacct-reason": "原因",
        "createacct-reason-ph": "開過個戶口嘅原因",
+       "createacct-reason-help": "喺開戶日誌度顯示呢條訊息",
        "createacct-submit": "開戶口",
        "createacct-another-submit": "開戶口",
        "createacct-continue-submit": "繼續開戶",
        "nocookiesnew": "已經開咗戶口,但你未登入。 {{SITENAME}} 要用 cookies 嚟登入。你已經熄咗佢。請你開咗再試。",
        "nocookieslogin": "{{SITENAME}} 登入要開 cookies。熄咗佢。請你開咗再試。",
        "nocookiesfornew": "呢位用戶嘅戶開未開,我哋唔能夠確認佢嘅來源。\n請肯定你已經開咗 cookies,重新載入再試。",
+       "createacct-loginerror": "開戶成功但自動簽到失敗。煩請[[Special:UserLogin|手動簽到]]。",
        "noname": "你未指定一個有效嘅用戶名。",
        "loginsuccesstitle": "簽到成功",
        "loginsuccess": "'''「$1」登入咗{{SITENAME}}。'''",
        "wrongpasswordempty": "你都未入密碼,唔該再試多次啦。",
        "passwordtooshort": "你嘅密碼最少要有$1個半形字元。",
        "passwordtoolong": "密碼唔可以長過{{PLURAL:$1|1個字元|$1個字元}}。",
+       "passwordtoopopular": "呢個密碼太常見,唔俾用。唔該揀個獨特啲嘅密碼。",
        "password-name-match": "你嘅密碼一定要同你嘅用戶名唔一樣。",
        "password-login-forbidden": "呢個用戶名同密碼嘅利用係被禁止嘅。",
        "mailmypassword": "重設密碼",
        "botpasswords-label-cancel": "取消",
        "botpasswords-label-delete": "刪除",
        "botpasswords-label-resetpassword": "改過個個密碼",
+       "botpasswords-created-title": "生成咗機械人密碼",
+       "botpasswords-updated-title": "改咗機械人密碿",
+       "botpasswords-deleted-title": "鏟咗機械人密碼",
+       "botpasswords-restriction-failed": "機械人密碼限制令到呢次簽到失敗。",
+       "botpasswords-invalid-name": "呢個用戶名無機械人密碼分隔字(「$1」)",
        "resetpass_forbidden": "唔可以更改密碼",
+       "resetpass_forbidden-reason": "改唔到密碼:$1",
        "resetpass-no-info": "你一定要登入咗去直接入來呢一版。",
        "resetpass-submit-loggedin": "改密碼",
        "resetpass-submit-cancel": "取消",
        "selfredirect": "<strong>警告:</strong> 你個跳轉彈返去自己度。\n你可能設錯咗跳轉目標,或者改錯咗版。\n如果你再撳多「{{int:savearticle}}」一下,就會照幫你開呢個跳轉。",
        "missingcommenttext": "請輸入一個註解。",
        "missingcommentheader": "<strong>提醒:</strong>你響呢個註解度並無提供一個主題/標題。如果你再撳一次「{{int:savearticle}}」,你嘅編輯就會無題。",
-       "summary-preview": "摘要預覽:",
-       "subject-preview": "題預覽:",
+       "summary-preview": "編輯摘要預覽:",
+       "subject-preview": "題預覽:",
        "previewerrortext": "預覽你嘅修改嗰陣出錯。",
        "blockedtitle": "用戶已經封鎖",
        "blockedtext": "你嘅用戶名或者 IP 位址已經被 $1 封咗。\n\n呢次封鎖係由$1所封嘅。當中嘅原因係''$2''。\n\n* 呢次封鎖嘅開始時間係:$8\n* 呢次封鎖嘅到期時間係:$6\n* 對於被封鎖者:$7\n\n你可以聯絡 $1 或者其他嘅[[{{MediaWiki:Grouppage-sysop}}|管理員]],討論呢次封鎖。\n除非你已經響你嘅[[Special:Preferences|戶口喜好設定]]入面設定咗有效嘅電郵地址,否則你係唔可以用「電郵呢個用戶」嘅功能。當設定咗一個有效嘅電郵地址之後,呢個功能係唔會封鎖嘅。\n\n你現時嘅 IP 位址係 $3 ,而個封鎖 ID 係 #$5。 請你喺你嘅查詢都註明以上封鎖嘅資料。",
        "rcfilters-filter-editsbyother-label": "其他人改嘅嘢",
        "rcfilters-filter-editsbyother-description": "其他人(唔係你)改嘅嘢",
        "rcfilters-filtergroup-userExpLevel": "經驗級別(只限簽咗到嘅用戶)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "新手",
-       "rcfilters-filter-userExpLevel-newcomer-description": "少過4日、10次編輯",
-       "rcfilters-filter-userExpLevel-learner-label": "學徒",
-       "rcfilters-filter-userExpLevel-learner-description": "編輯數同經驗多過「新手」但少過「老手」。",
-       "rcfilters-filter-userExpLevel-experienced-label": "老手",
-       "rcfilters-filter-userExpLevel-experienced-description": "超過30日同埋500次編輯",
+       "rcfilters-filter-user-experience-level-newcomer-label": "新手",
+       "rcfilters-filter-user-experience-level-newcomer-description": "少過4日、10次編輯",
+       "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": "超過30日同埋500次編輯",
        "rcfilters-filtergroup-automated": "自動貢獻",
        "rcfilters-filter-bots-label": "機械人",
        "rcfilters-filter-bots-description": "用自動工具做嘅貢獻",
        "whatlinkshere-hideredirs": "$1跳轉",
        "whatlinkshere-hidetrans": "$1嵌入",
        "whatlinkshere-hidelinks": "$1連結",
-       "whatlinkshere-hideimages": "$1檔案連結",
+       "whatlinkshere-hideimages": "$1檔案連結",
        "whatlinkshere-filters": "過濾器",
        "whatlinkshere-submit": "去",
        "autoblockid": "自動封鎖 #$1",
        "logentry-newusers-create": "戶口$1經已{{GENDER:$2|開咗}}",
        "logentry-upload-upload": "$1 {{GENDER:$2|上傳咗}} $3",
        "rightsnone": "(冇)",
-       "revdelete-summary": "編輯摘要",
        "feedback-back": "返轉頭",
        "feedback-cancel": "取消",
        "feedback-close": "搞掂",
        "special-characters-title-emdash": "長破折號",
        "special-characters-title-minus": "減號",
        "mw-widgets-titleinput-description-new-page": "冇呢頁",
-       "mw-widgets-titleinput-description-redirect": "跳轉到$1"
+       "mw-widgets-titleinput-description-redirect": "跳轉到$1",
+       "authmanager-authplugin-setpass-failed-title": "改唔到密碼"
 }
index b1227d2..0a467da 100644 (file)
        "login": "登录",
        "login-security": "证明您的身份",
        "nav-login-createaccount": "登录/创建账户",
-       "userlogin": "登录/创建账户",
-       "userloginnocreate": "登录",
        "logout": "退出",
        "userlogout": "退出",
        "notloggedin": "未登录",
        "userlogin-noaccount": "没有账户?",
        "userlogin-joinproject": "加入{{SITENAME}}",
-       "nologin": "没有账户?$1。",
-       "nologinlink": "创建账户",
        "createaccount": "创建账户",
-       "gotaccount": "已经拥有账户?请$1。",
-       "gotaccountlink": "登录",
-       "userlogin-resetlink": "忘记您的登录信息?",
        "userlogin-resetpassword-link": "忘记密码?",
        "userlogin-helplink2": "登录帮助",
        "userlogin-loggedin": "您已经以{{GENDER:$1|$1}}的身份登录。使用下面的表格以其他用户的身份登录。",
        "createaccountmail": "使用一个临时的随机密码并将其发送到指定的电子邮件地址中",
        "createaccountmail-help": "可被用于为另一个人创建账户而不需要得知密码。",
        "createacct-realname": "真实姓名(可选)",
-       "createaccountreason": "原因:",
        "createacct-reason": "原因",
        "createacct-reason-ph": "您为什么要创建另一个账户",
        "createacct-reason-help": "在账户创建日志中显示的消息",
        "page_first": "首页",
        "page_last": "末页",
        "histlegend": "差异选择:选中要对比的版本的单选按钮,按Enter键或下方的按钮。<br />说明:<strong>({{int:cur}})</strong>=与最后版本之间的差异,<strong>({{int:last}})</strong>=与上一版本之间的差异,<strong>{{int:minoreditletter}}</strong>=小编辑。",
-       "history-fieldset-title": "æµ\8fè§\88å\8e\86å\8f²",
-       "history-show-deleted": "仅显示已删除的版本",
+       "history-fieldset-title": "æ\90\9c索修订ç\89\88æ\9c¬",
+       "history-show-deleted": "仅限修订版本删除",
        "histfirst": "最旧",
        "histlast": "最新",
        "historysize": "($1字节)",
        "prefs-help-prefershttps": "该设置将在下次登录时生效。",
        "prefswarning-warning": "您对您的参数设置的更改尚未保存。如果您不点击“$1”就离开,您的设置就不会更新。",
        "prefs-tabs-navigation-hint": "提示:您可以通过左、右箭头键在选项卡之间切换。",
-       "userrights": "用户权限管理",
+       "userrights": "用户权限",
        "userrights-lookup-user": "选择用户",
        "userrights-user-editname": "输入用户名:",
        "editusergroup": "加载用户组",
        "rcfilters-invalid-filter": "无效过滤器",
        "rcfilters-empty-filter": "没有活跃的过滤器。已显示所有贡献。",
        "rcfilters-filterlist-title": "过滤器",
+       "rcfilters-filterlist-whatsthis": "这是什么?",
        "rcfilters-filterlist-feedbacklink": "在新(测试版)过滤器中提供反馈",
        "rcfilters-highlightbutton-title": "高亮结果",
        "rcfilters-highlightmenu-title": "选择颜色",
        "rcfilters-highlightmenu-help": "选择颜色来高亮该属性",
        "rcfilters-filterlist-noresults": "找不到过滤器",
+       "rcfilters-noresults-conflict": "找不到结果,因为搜索条件不一致",
+       "rcfilters-state-message-subset": "该过滤器没有影响,因为其结果已包含在以下影响更广的{{PLURAL:$2|过滤器}}中(尝试高亮来区别它):$1",
+       "rcfilters-state-message-fullcoverage": "组中选择的所有过滤器与选定过滤器相同,因此该过滤器没有影响。组包含:$1",
        "rcfilters-filtergroup-registration": "用户注册",
        "rcfilters-filter-registered-label": "已注册",
        "rcfilters-filter-registered-description": "登录编辑者。",
        "rcfilters-filter-unregistered-label": "未注册",
        "rcfilters-filter-unregistered-description": "未登录的编辑者。",
+       "rcfilters-filter-unregistered-conflicts-user-experience-level": "该过滤器与以下体验{{PLURAL:$2|过滤器}}相冲突,而它只{{PLURAL:$2|寻找}}注册用户:$1",
        "rcfilters-filtergroup-authorship": "编辑的作者",
        "rcfilters-filter-editsbyself-label": "您自己的编辑",
        "rcfilters-filter-editsbyself-description": "由您编辑。",
        "rcfilters-filter-editsbyother-label": "由其他人编辑",
        "rcfilters-filter-editsbyother-description": "由其他用户(而不是您)创建的编辑。",
        "rcfilters-filtergroup-userExpLevel": "体验水平(仅限注册用户)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "新手",
-       "rcfilters-filter-userExpLevel-newcomer-description": "少于10次编辑和4天活跃。",
-       "rcfilters-filter-userExpLevel-learner-label": "初学者",
-       "rcfilters-filter-userExpLevel-learner-description": "比“新手”拥有更多活跃天数和编辑数,但少于“有经验的用户”。",
-       "rcfilters-filter-userExpLevel-experienced-label": "有经验的用户",
-       "rcfilters-filter-userExpLevel-experienced-description": "超过30天活跃和500次编辑。",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered": "体验过滤器只寻找注册用户,因此该过滤器与“未注册”过滤器相冲突。",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered-global": "“未注册”过滤器与一个或更多体验过滤器相冲突,而它只寻找注册用户。冲突过滤器已在上方激活过滤器区域中被标记。",
+       "rcfilters-filter-user-experience-level-newcomer-label": "新手",
+       "rcfilters-filter-user-experience-level-newcomer-description": "少于10次编辑和4天活跃。",
+       "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": "超过30天活跃和500次编辑。",
        "rcfilters-filtergroup-automated": "自动化贡献者",
        "rcfilters-filter-bots-label": "机器人",
        "rcfilters-filter-bots-description": "由自动化工具做出的编辑。",
        "rcfilters-filter-humans-label": "人类(不是机器人)",
        "rcfilters-filter-humans-description": "由人类编辑者做出的编辑。",
+       "rcfilters-filtergroup-reviewstatus": "巡查状态",
+       "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-categorization-description": "从分类中添加或移除页面的记录。",
        "rcfilters-filter-logactions-label": "记录的操作",
        "rcfilters-filter-logactions-description": "管理操作、账户创建、页面删除、上传....",
+       "rcfilters-hideminor-conflicts-typeofchange-global": "“小编辑”过滤器与一个或多个更改类型过滤器冲突,因为其中某种更改类型不可指定为“小编辑”。冲突过滤器已在上方活跃过滤器中被标记。",
+       "rcfilters-hideminor-conflicts-typeofchange": "某种更改类型不可指定为“小编辑”,因此该过滤器与以下更改类型过滤器相冲突:$1",
+       "rcfilters-typeofchange-conflicts-hideminor": "这种更改类型过滤器与“小编辑”过滤器相冲突。某种更改类型不可指定为“小编辑”。",
        "rcnotefrom": "下面{{PLURAL:$5|是}}<strong>$3 $4</strong>之后的更改(最多显示<strong>$1</strong>个)。",
        "rclistfrom": "显示$3 $2之后的新更改",
        "rcshowhideminor": "$1小编辑",
        "colon-separator": ":",
        "pipe-separator": "&#32;|&#32;",
        "word-separator": "",
+       "ellipsis": "…",
        "parentheses": "($1)",
        "quotation-marks": "“$1”",
        "imgmultipageprev": "← 上一页",
        "version-skin-colheader-name": "皮肤",
        "version-ext-colheader-version": "版本",
        "version-ext-colheader-license": "许可协议",
-       "version-ext-colheader-description": "说明",
+       "version-ext-colheader-description": "描述",
        "version-ext-colheader-credits": "作者",
        "version-license-title": "$1的许可协议",
        "version-license-not-found": "未找到此扩展相关的详细授权信息。",
        "logentry-tag-update-revision": "$1{{GENDER:$2|更新了}}在页面$3的修订版本$4上的标签({{PLURAL:$7|添加了}}$6;并{{PLURAL:$9|移除了}}$8)",
        "logentry-tag-update-logentry": "$1在页面$3的日志记录$5中{{GENDER:$2|更新了}}标签({{PLURAL:$7|添加了}}$6;并{{PLURAL:$9|移除了}}$8)",
        "rightsnone": "(无)",
-       "revdelete-summary": "编辑摘要",
        "rightslogentry-temporary-group": "$1(临时,直到$2)",
        "feedback-adding": "正在添加反馈至页面...",
        "feedback-back": "返回",
index ac9b60e..f6cb76f 100644 (file)
                        "Winstonyin",
                        "Wmr",
                        "烈羽",
-                       "和平奮鬥救地球"
+                       "和平奮鬥救地球",
+                       "Arthur2e5"
                ]
        },
        "tog-underline": "底線標示連結:",
-       "tog-hideminor": "隱藏近期變更中的修訂",
+       "tog-hideminor": "隱藏近期變更中的次要修訂",
        "tog-hidepatrolled": "隱藏近期變更中巡查過的編輯",
        "tog-newpageshidepatrolled": "隱藏新頁面清單中巡查過的頁面",
        "tog-hidecategorization": "隱藏頁面分類",
@@ -94,7 +95,7 @@
        "tog-usenewrc": "依近期變更與監視清單的頁面分類顯示變更",
        "tog-numberheadings": "標題自動編號",
        "tog-showtoolbar": "顯示編輯工具列",
-       "tog-editondblclick": "é\9b\99æ\93\8aæ»\91é¼ 編輯頁面",
+       "tog-editondblclick": "é»\9eé\81¸å\85©æ¬¡ä»¥編輯頁面",
        "tog-editsectiononrightclick": "開啟滑鼠右鍵點選章節標題編輯",
        "tog-watchcreations": "將我建立的頁面和上傳的檔案加入監視清單",
        "tog-watchdefault": "將我編輯的頁面和檔案加入監視清單",
        "tog-watchdeletion": "將我刪除的頁面和檔案加入監視清單",
        "tog-watchuploads": "加入我上傳的新檔案至我的監視清單",
        "tog-watchrollback": "將我曾經還原的頁面新增至監視清單",
-       "tog-minordefault": "預設標記所有的編輯為修訂",
+       "tog-minordefault": "預設標記所有的編輯為次要修訂",
        "tog-previewontop": "顯示預覽於編輯框上方",
        "tog-previewonfirst": "第一次編輯時顯示預覽",
        "tog-enotifwatchlistpages": "當我的監視清單中的頁面或檔案有變更時,傳送電子郵件通知我",
        "tog-enotifusertalkpages": "當我的對話頁面有變更時,傳送電子郵件通知我",
-       "tog-enotifminoredits": "當頁面與檔案有修訂時,傳送電子郵件通知我",
+       "tog-enotifminoredits": "當頁面與檔案有次要修訂時,傳送電子郵件通知我",
        "tog-enotifrevealaddr": "在通知郵件中顯示我的電子郵件地址",
        "tog-shownumberswatching": "顯示監視使用者數量",
        "tog-oldsig": "您現有的簽名:",
        "tog-forceeditsummary": "未填寫編輯摘要時提示我",
        "tog-watchlisthideown": "隱藏監視清單中我自己的編輯",
        "tog-watchlisthidebots": "隱藏監視清單中機器人的編輯",
-       "tog-watchlisthideminor": "隱藏監視清單中的修訂",
+       "tog-watchlisthideminor": "隱藏監視清單中的次要修訂",
        "tog-watchlisthideliu": "隱藏監視清單中已登入使用者的編輯",
        "tog-watchlistreloadautomatically": "查詢條件變更時自動重新讀取監視清單 (需要使用 JavaScript)",
        "tog-watchlisthideanons": "隱藏監視清單中匿名使用者的編輯",
        "tog-watchlisthidepatrolled": "隱藏監視清單中已巡查的編輯",
        "tog-watchlisthidecategorization": "隱藏頁面分類",
-       "tog-ccmeonemails": "我給他人寄出郵件時,也寄出一份副本到我的電子郵件信箱",
+       "tog-ccmeonemails": "我寄出郵件給其他使用者時,也寄給我一份副本",
        "tog-diffonly": "比對差異時下方不顯示頁面內容",
        "tog-showhiddencats": "顯示隱藏分類",
        "tog-norollbackdiff": "執行還原後略過差異比對",
        "period-am": "AM",
        "period-pm": "PM",
        "pagecategories": "{{PLURAL:$1|分類|$1 個分類}}",
-       "category_header": "分類「$1」中的頁面",
+       "category_header": "分類 \"$1\" 中的頁面",
        "subcategories": "子分類",
        "category-media-header": "分類 \"$1\" 中的媒體",
        "category-empty": "<em>此分類目前未包含頁面或媒體。</em>",
        "login": "登入",
        "login-security": "驗証您的 ID",
        "nav-login-createaccount": "登入/建立帳號",
-       "userlogin": "登入/建立帳號",
-       "userloginnocreate": "登入",
        "logout": "登出",
        "userlogout": "登出",
        "notloggedin": "尚未登入",
        "userlogin-noaccount": "沒有帳號嗎?",
        "userlogin-joinproject": "加入 {{SITENAME}}",
-       "nologin": "您還沒有帳號嗎? $1。",
-       "nologinlink": "建立帳號",
        "createaccount": "建立帳號",
-       "gotaccount": "您已經擁有帳號了嗎? $1。",
-       "gotaccountlink": "登入",
-       "userlogin-resetlink": "忘了您登入的詳細資料?",
        "userlogin-resetpassword-link": "忘記密碼?",
        "userlogin-helplink2": "登入協助",
        "userlogin-loggedin": "您目前已登入 {{GENDER:$1|$1}} 使用者,\n請使用下列表單改登入另一位使用者。",
        "createaccountmail": "使用臨時的隨機密碼,並將它寄至指定的電子郵件地址",
        "createaccountmail-help": "可用來建立其他人的帳號 (不需要知道密碼)。",
        "createacct-realname": "真實姓名 (選填)",
-       "createaccountreason": "原因:",
        "createacct-reason": "原因",
        "createacct-reason-ph": "您為什麼要建立另一個帳號",
        "createacct-reason-help": "顯示於帳號建立日誌的訊息",
        "password-login-forbidden": "此使用者名稱和密碼已被禁止使用。",
        "mailmypassword": "重設密碼",
        "passwordremindertitle": "{{SITENAME}} 的新臨時密碼",
-       "passwordremindertext": "ä¸\8dæ\98\8e人士 (å\8f¯è\83½æ\98¯æ\82¨è\87ªå·±ï¼\8cä¾\86è\87ª IP ä½\8då\9d\80 $1) è¦\81æ±\82é\87\8d設å\9c¨ {{SITENAME}} ($4) ç\9a\84å¯\86碼ã\80\82\n給使ç\94¨è\80\85 \"$2\" ç\9a\84è\87¨æ\99\82å¯\86碼設ç\82º \"$3\"ã\80\82\nå¦\82æ\9e\9cé\80\99å\80\8bå\8b\95ä½\9cæ\98¯æ\82¨å\81\9aç\9a\84ï¼\8cæ\82¨é\9c\80è¦\81ç«\8bå\8d³ç\99»å\85¥ä¸¦è¨­å®\9aä¸\80å\80\8bæ\96°ç\9a\84å¯\86碼ï¼\8c\næ\82¨ç\9a\84è\87¨æ\99\82å¯\86碼å°\87æ\96¼{{PLURAL:$5|ä¸\80|$5}}天å\85§é\81\8eæ\9c\9fã\80\82\n\nå¦\82æ\9e\9cä¸\8dæ\98¯æ\82¨è¦\81求重設密碼,或您已想起密碼,並不準備修改,\n您可以忽略此訊息並且繼續使用您原本的密碼。",
+       "passwordremindertext": "ä¸\8dæ\98\8e人士 (å\8f¯è\83½æ\98¯æ\82¨è\87ªå·±ï¼\8cä¾\86è\87ª IP ä½\8då\9d\80 $1) è«\8bæ±\82é\87\8d設å\9c¨ {{SITENAME}} ($4) ç\9a\84å¯\86碼ã\80\82\n給使ç\94¨è\80\85 \"$2\" ç\9a\84è\87¨æ\99\82å¯\86碼設ç\82º \"$3\"ã\80\82\nå¦\82æ\9e\9cé\80\99å\80\8bå\8b\95ä½\9cæ\98¯æ\82¨å\81\9aç\9a\84ï¼\8cæ\82¨é\9c\80è¦\81ç«\8bå\8d³ç\99»å\85¥ä¸¦è¨­å®\9aä¸\80å\80\8bæ\96°ç\9a\84å¯\86碼ï¼\8c\næ\82¨ç\9a\84è\87¨æ\99\82å¯\86碼å°\87æ\96¼{{PLURAL:$5|ä¸\80|$5}}天å\85§é\81\8eæ\9c\9fã\80\82\n\nå¦\82æ\9e\9cä¸\8dæ\98¯æ\82¨è«\8b求重設密碼,或您已想起密碼,並不準備修改,\n您可以忽略此訊息並且繼續使用您原本的密碼。",
        "noemail": "使用者 \"$1\" 沒有電子郵件地址記錄。",
        "noemailcreate": "您需要提供一個有效的電子郵件地址。",
        "passwordsent": "使用者 \"$1\" 的新密碼已寄至當出登記的電子郵件地址,\n請稍後收到郵件後再登入。",
        "passwordreset-domain": "網域名稱:",
        "passwordreset-email": "電子郵件地址:",
        "passwordreset-emailtitle": "在 {{SITENAME}} 的帳號詳細資料",
-       "passwordreset-emailtext-ip": "ä¸\8dæ\98\8e人士 (å\8f¯è\83½æ\98¯æ\82¨è\87ªå·±ï¼\8cä¾\86è\87ª IP ä½\8då\9d\80 $1) è¦\81æ±\82é\87\8d設å\9c¨ {{SITENAME}} ($4) ç\9a\84å¯\86碼ï¼\8cä¸\8bå\88\97æ\98¯è\88\87æ­¤é\9b»å­\90é\83µä»¶å\9c°å\9d\80æ\9c\89é\97\9cç\9a\84使ç\94¨è\80\85{{PLURAL:$3|帳è\99\9f}}ï¼\9a\n\n$2\n\n{{PLURAL:$3|é\80\99å\80\8bè\87¨æ\99\82å¯\86碼|é\80\99äº\9bè\87¨æ\99\82å¯\86碼}}å°\87æ\9c\83å\9c¨{{PLURAL:$5|ä¸\80天|$5 å¤©}}å\85§å\88°æ\9c\9fï¼\8c\næ\82¨æ\87\89ç«\8bå\8d³ç\99»å\85¥ä¸¦æ\9b´æ\94¹æ\96°ç\9a\84å¯\86碼ã\80\82å¦\82æ\9e\9cä¸\8dæ\98¯æ\82¨è¦\81求重設密碼,或您已想起密碼,並不準備修改,\n您可以忽略本訊息並且繼續使用您原本的密碼。",
-       "passwordreset-emailtext-user": "使ç\94¨è\80\85 $1 è¦\81æ±\82é\87\8d設å\9c¨ {{SITENAME}} ($4) ç\9a\84å¯\86碼ï¼\8cä¸\8bå\88\97æ\98¯è\88\87æ­¤é\9b»å­\90é\83µä»¶ä½\8då\9d\80æ\9c\89é\97\9cç\9a\84使ç\94¨è\80\85{{PLURAL:$3|帳è\99\9f}}ï¼\9a\n\n$2\n\n{{PLURAL:$3|é\80\99å\80\8bè\87¨æ\99\82å¯\86碼|é\80\99äº\9bè\87¨æ\99\82å¯\86碼}}å°\87æ\9c\83å\9c¨{{PLURAL:$5|ä¸\80天|$5 å¤©}}å\85§å\88°æ\9c\9fï¼\8c\næ\82¨æ\87\89ç«\8bå\8d³ç\99»å\85¥ä¸¦æ\9b´æ\94¹æ\96°ç\9a\84å¯\86碼ã\80\82å¦\82æ\9e\9cä¸\8dæ\98¯æ\82¨è¦\81求重設密碼,或您已想起密碼,並不準備修改,\n您可以忽略此訊息並且繼續使用您原本的密碼。",
+       "passwordreset-emailtext-ip": "ä¸\8dæ\98\8e人士 (å\8f¯è\83½æ\98¯æ\82¨è\87ªå·±ï¼\8cä¾\86è\87ª IP ä½\8då\9d\80 $1) è«\8bæ±\82é\87\8d設å\9c¨ {{SITENAME}} ($4) ç\9a\84å¯\86碼ï¼\8cä¸\8bå\88\97æ\98¯è\88\87æ­¤é\9b»å­\90é\83µä»¶å\9c°å\9d\80æ\9c\89é\97\9cç\9a\84使ç\94¨è\80\85{{PLURAL:$3|帳è\99\9f}}ï¼\9a\n\n$2\n\n{{PLURAL:$3|é\80\99å\80\8bè\87¨æ\99\82å¯\86碼|é\80\99äº\9bè\87¨æ\99\82å¯\86碼}}å°\87æ\9c\83å\9c¨{{PLURAL:$5|ä¸\80天|$5 å¤©}}å\85§å\88°æ\9c\9fï¼\8c\næ\82¨æ\87\89ç«\8bå\8d³ç\99»å\85¥ä¸¦æ\9b´æ\94¹æ\96°ç\9a\84å¯\86碼ã\80\82å¦\82æ\9e\9cä¸\8dæ\98¯æ\82¨è«\8b求重設密碼,或您已想起密碼,並不準備修改,\n您可以忽略本訊息並且繼續使用您原本的密碼。",
+       "passwordreset-emailtext-user": "使ç\94¨è\80\85 $1 è«\8bæ±\82é\87\8d設å\9c¨ {{SITENAME}} ($4) ç\9a\84å¯\86碼ï¼\8cä¸\8bå\88\97æ\98¯è\88\87æ­¤é\9b»å­\90é\83µä»¶å\9c°å\9d\80æ\9c\89é\97\9cç\9a\84使ç\94¨è\80\85{{PLURAL:$3|帳è\99\9f}}ï¼\9a\n\n$2\n\n{{PLURAL:$3|é\80\99å\80\8bè\87¨æ\99\82å¯\86碼|é\80\99äº\9bè\87¨æ\99\82å¯\86碼}}å°\87æ\9c\83å\9c¨{{PLURAL:$5|ä¸\80天|$5 å¤©}}å\85§å\88°æ\9c\9fï¼\8c\næ\82¨æ\87\89ç«\8bå\8d³ç\99»å\85¥ä¸¦æ\9b´æ\94¹æ\96°ç\9a\84å¯\86碼ã\80\82å¦\82æ\9e\9cä¸\8dæ\98¯æ\82¨è«\8b求重設密碼,或您已想起密碼,並不準備修改,\n您可以忽略此訊息並且繼續使用您原本的密碼。",
        "passwordreset-emailelement": "使用者名稱:\n$1\n\n臨時密碼:\n$2",
        "passwordreset-emailsentemail": "若此確實為您帳號所登記的電子郵件地址,將會寄出重設密碼的信件給您。",
        "passwordreset-emailsentusername": "若此確實為您使用者名稱所登記的電子郵件地址,將會寄出重設密碼的信件給您。",
        "hr_tip": "水平線 (少用)",
        "summary": "摘要:",
        "subject": "主旨:",
-       "minoredit": "這是一個修訂",
+       "minoredit": "這是一個次要修訂",
        "watchthis": "監視此頁面",
        "savearticle": "儲存頁面",
        "savechanges": "儲存變更",
        "selfredirect": "<strong>警告:</strong> 您正建立連結至自己的重新導向。\n您可能指定錯要重新導向的目標頁面或者編輯錯頁面。\n若您再點選 \"{{int:savearticle}}\" 一次,將會繼續建立重新導向。",
        "missingcommenttext": "請在下方輸入評論。",
        "missingcommentheader": "<strong>提醒:</strong>您未填寫此評論的主旨。\n若您再點選 \"{{int:savearticle}}\" 一次,將略過主旨/標題直接儲存您的評論。",
-       "summary-preview": "預覽摘要:",
-       "subject-preview": "主旨預覽:",
+       "summary-preview": "編輯摘要預覽:",
+       "subject-preview": "預覽主旨:",
        "previewerrortext": "嘗試預覽您的變更時發生錯誤。",
        "blockedtitle": "使用者已被封鎖",
        "blockedtext": "<strong>您的使用者名稱或 IP 位址以被封鎖。</strong>\n\n您被 $1 封鎖,\n原因爲 <em>$2</em>。\n\n* 封鎖開始時間:$8\n* 封鎖結束時間:$6\n* 相關封鎖對象:$7\n\n您可以聯絡 $1 或其他的 [[{{MediaWiki:Grouppage-sysop}}|管理員]] 討論封鎖的相關問題。\n若您已在 [[Special:Preferences|偏好設定]] 中設定了一個有效的電子郵件地址,且尚未被封鎖郵件功能,則您可透過 \"Email 聯絡此使用者\" 的功能來聯絡相關管理員。\n您目前的 IP 位址是 $3,此次封鎖的 ID 為 #$5。\n請您在詢問時附註以上詳細訊息。",
        "autoblockedtext": "因先前的另一位使用者被 $1 封鎖,您的 IP 位址已被自動封鎖。\n原因是:\n\n:<em>$2</em>\n\n* 封鎖開始時間:$8\n* 封鎖結束時間:$6\n* 相關封鎖對象:$7\n\n您可以聯絡 $1 或其他的 [[{{MediaWiki:Grouppage-sysop}}|管理員]] 討論封鎖的相關問題。\n若您已在 [[Special:Preferences|偏好設定]] 中設定了一個有效的電子郵件地址,且尚未被封鎖郵件功能,則您可透過 \"Email 聯絡此使用者\" 的功能來聯絡相關管理員。\n您目前的 IP 位址是 $3,此次封鎖的 ID 為 #$5。\n請您在詢問時附註以上詳細資料。",
-       "systemblockedtext": "您的使用者名稱或IP位址已被MediaWiki自動封禁。原因如下:\n\n:<em>$2</em>\n\n* 開始時間:$8\n* 結束時間:$6\n* 被封禁使用者:$7\n\n您目前的IP位址是$3。請在作出任何查詢時包含上述所有詳情。",
+       "systemblockedtext": "您的使用者名稱或 IP 位址已被 MediaWiki 自動封鎖,原因如下:\n\n:<em>$2</em>\n\n* 封鎖開始時間:$8\n* 封鎖結束時間:$6\n* 被封鎖的使用者:$7\n\n您目前的 IP 位址為 $3。\n請在做詢問時附上以上資訊。",
        "blockednoreason": "未說明原因",
        "whitelistedittext": "請先 $1 才可編輯頁面。",
        "confirmedittext": "在編輯此頁之前您必須確認您的電子郵件地址。\n請透過 [[Special:Preferences|偏好設定]] 設定並驗證您的電子郵件地址。",
        "continue-editing": "前往編輯框",
        "previewconflict": "此預覽顯示了您於上方文字編輯框中的內容儲存之後將會顯示的結果。",
        "session_fail_preview": "很抱歉!由於連線階段的資料遺失,以至於我們無法處理您的編輯動作。\n您可能已經登出了。<strong>請您確認您仍然在登入狀態,並請再試一次</strong>。\n請再試一次。\n如果仍然失敗,請 [[Special:UserLogout|登出]] 後重新登入,並請您確認您的瀏覽器允許此網站的 Cookie。",
-       "session_fail_preview_html": "<strong>抱歉!由於是次登入時段出現資料遺失,我們無法處理您所作出的編輯。</strong>\n\n<em> {{SITENAME}} 已開啟了原始 HTML 模式,故此預覽畫面將不會顯示以避免 JavaScript 攻擊。</em>\n\n<strong>如您希望真正能夠作出這次編輯,請再試一次。</strong>\n如果仍不成功,請 [[Special:UserLogout|登出]] 後再重新登入,並確保瀏覽器設定為「允許這個網域的cookie」。",
+       "session_fail_preview_html": "<strong>抱歉!由於是次登入時段出現資料遺失,我們無法處理您所作出的編輯。</strong>\n\n<em> {{SITENAME}} 已開啟了原始 HTML 模式,故此預覽畫面將不會顯示以避免 JavaScript 攻擊。</em>\n\n<strong>如您希望真正能夠作出這次編輯,請再試一次。</strong>\n如果仍不成功,請 [[Special:UserLogout|登出]] 後再重新登入,並確保瀏覽器設定為 \"允許這個網域的 cookie\" 。",
        "token_suffix_mismatch": "<strong>因您使用的瀏覽器破壞了編輯密鑰中的特殊符號,您的編輯已被拒絕。</strong>\n為了避免破壞頁面內容,已拒絕此次編輯動作,\n會發生這個問題通常是因為您使用了有問題的匿名網頁代理伺服器。",
        "edit_form_incomplete": "<strong>部份編輯的內容未送至伺服器,請檢查您的編輯內容是否完整並再試一次。</strong>",
        "editing": "正在編輯 $1",
        "last": "前筆",
        "page_first": "第一頁",
        "page_last": "最後頁",
-       "histlegend": "比對選擇的版本差異:選擇要比對修訂版本的單選方塊並點選底部的按鈕進行比對。<br />\n符號說明:<strong>({{int:cur}})</strong> = 與最新的修訂版本比對,<strong>({{int:last}})</strong> = 與前一筆修訂版本比對,<strong>{{int:minoreditletter}}</strong> = 修訂。",
-       "history-fieldset-title": "瀏覽歷史",
+       "histlegend": "比對選擇的版本差異:選擇要比對修訂版本的單選方塊並點選底部的按鈕進行比對。<br />\n符號說明:<strong>({{int:cur}})</strong> = 與最新的修訂版本比對,<strong>({{int:last}})</strong> = 與前一筆修訂版本比對,<strong>{{int:minoreditletter}}</strong> = 次要修訂。",
+       "history-fieldset-title": "搜尋修訂",
        "history-show-deleted": "只顯示已刪除的修訂",
        "histfirst": "最舊",
        "histlast": "最新",
        "prefs-labs": "實驗中的功能",
        "prefs-user-pages": "使用者頁面",
        "prefs-personal": "使用者基本資料",
-       "prefs-rc": "最近變更",
+       "prefs-rc": "近期變更",
        "prefs-watchlist": "監視清單",
        "prefs-editwatchlist": "編輯監視清單",
        "prefs-editwatchlist-label": "編輯在您監視清單上的項目:",
        "stub-threshold": "短頁面連結格式門檻值 ($1):",
        "stub-threshold-sample-link": "樣本",
        "stub-threshold-disabled": "已停用",
-       "recentchangesdays": "最近變更顯示的天數:",
+       "recentchangesdays": "近期變更顯示的天數:",
        "recentchangesdays-max": "最多 $1 {{PLURAL:$1|天}}",
        "recentchangescount": "預設顯示的編輯數:",
-       "prefs-help-recentchangescount": "這包含最近更改、頁面歷史以及日誌。",
+       "prefs-help-recentchangescount": "這包含近期變更、頁面歷史以及日誌。",
        "prefs-help-watchlist-token2": "訂閱您的監視清單所需的密鑰。\n任何人只要知道密鑰就能夠讀取您的監視清單,所以請勿任意與它人共享。\n若有需要 [[Special:ResetTokens|您可重設密鑰]]。",
        "savedprefs": "已儲存您的偏好設定。",
        "savedrights": "已儲存 {{GENDER:$1|$1}} 的使用者權限。",
        "youremail": "Email:",
        "username": "{{GENDER:$1|使用者名稱}}:",
        "prefs-memberingroups": "{{GENDER:$2|所屬}}{{PLURAL:$1|群組}}:",
+       "group-membership-link-with-expiry": "$1 (直到 $2)",
        "prefs-registration": "註冊時間:",
        "yourrealname": "真實姓名:",
        "yourlanguage": "語言:",
        "prefs-help-prefershttps": "此偏好設定將於您下次登入時生效。",
        "prefswarning-warning": "您對您的偏好設定所做的變更尚未儲存。\n若您未點選 \"$1\" 離開此頁面,將不會更新您的偏好設定。",
        "prefs-tabs-navigation-hint": "提示:您可使用左、右方向鍵切換頁籤。",
-       "userrights": "使用者權限管理",
-       "userrights-lookup-user": "選擇用戶",
+       "userrights": "使用者權限",
+       "userrights-lookup-user": "選擇使用者",
        "userrights-user-editname": "請輸入使用者名稱:",
        "editusergroup": "載入使用者群組",
        "editinguser": "變更{{GENDER:$1|使用者}} <strong>[[User:$1|$1]]</strong> 的使用者權限 $2",
        "saveusergroups": "儲存{{GENDER:$1|使用者}}群組",
        "userrights-groupsmember": "所屬群組:",
        "userrights-groupsmember-auto": "所屬隱含群組:",
-       "userrights-groups-help": "您可以更改此使用者所屬的群組:\n* 已勾選的核選方塊代表該使用者屬於該群組。\n* 未勾選的核選方塊代表該使用者不屬於該群組。\n* 有 * 號標示代表一旦加入該群組後便不能移除,反之亦然。",
+       "userrights-groups-help": "您可以更改此使用者所屬的群組:\n* 已勾選的核選方塊代表該使用者屬於該群組。\n* 未勾選的核選方塊代表該使用者不屬於該群組。\n* 有 * 號標示代表一旦加入該群組後便不能移除,反之亦然。\n* 有 # 號標示代表您只能延後此群組的期限,您無法將其提前。",
        "userrights-reason": "原因:",
        "userrights-no-interwiki": "您沒有權限去編輯其他 Wiki 上的使用者權限。",
        "userrights-nodatabase": "資料庫 $1 不存在或不在本地主機的。",
        "userrights-changeable-col": "您可變更的群組",
        "userrights-unchangeable-col": "您不可變更的群組",
+       "userrights-expiry-current": "期限至 $1",
+       "userrights-expiry-none": "沒有期限",
        "userrights-expiry": "期限:",
+       "userrights-expiry-existing": "現有的期限:$3, $2",
        "userrights-expiry-othertime": "其他時間:",
+       "userrights-expiry-options": "1 天:1 day,1 週:1 week,1 個月:1 month,3 個月:3 months,6 個月:6 months,1 年:1 year",
+       "userrights-invalid-expiry": "群組 \"$1\" 的期限無效。",
+       "userrights-expiry-in-past": "群組 \"$1\" 的期限已過。",
+       "userrights-cannot-shorten-expiry": "您無法提前群組 \"$1\" 的期限。只有擁有新增與移除此群組權限的使用者可以將期限提前。",
        "userrights-conflict": "使用者權限變更發生衝突!請檢閱並確認你的變更。",
        "group": "群組:",
        "group-user": "使用者",
        "right-createtalk": "建立討論頁面",
        "right-createaccount": "建立新的使用者帳號",
        "right-autocreateaccount": "使用外部使用者帳號自動登入",
-       "right-minoredit": "標示編輯為小修訂",
+       "right-minoredit": "標示編輯為次要",
        "right-move": "移動頁面",
        "right-move-subpages": "移動頁面與其子頁面",
        "right-move-rootuserpages": "移動根使用者頁面",
        "right-purge": "不須確認即清除網站的頁面快取",
        "right-autoconfirmed": "不受 IP-based 的註冊頻率限制",
        "right-bot": "將其視為自動程序",
-       "right-nominornewtalk": "不顯示討論頁面中小修訂的新訊息提示",
+       "right-nominornewtalk": "不顯示討論頁面中次要編輯的新訊息提示",
        "right-apihighlimits": "使用 API 查詢的最高上限值",
        "right-writeapi": "使用寫入 API",
        "right-delete": "刪除頁面",
        "right-importupload": "由檔案上傳匯入頁面",
        "right-patrol": "標示其他人的編輯爲已巡查",
        "right-autopatrol": "將自己的編輯自動標示為已巡查",
-       "right-patrolmarks": "檢視最近變更的巡查標記",
+       "right-patrolmarks": "檢視近期變更的巡查標記",
        "right-unwatchedpages": "檢視未監視的頁面",
        "right-mergehistory": "合併頁面歷史",
        "right-userrights": "編輯所有使用者的權限",
        "action-createaccount": "建立此使用者帳號",
        "action-autocreateaccount": "自動建立此外部使用者帳號",
        "action-history": "檢視此頁面歷史",
-       "action-minoredit": "標示此編輯為小修訂",
+       "action-minoredit": "標示此編輯為次要",
        "action-move": "移動此頁面",
        "action-move-subpages": "移動此頁面與它的子頁面",
        "action-move-rootuserpages": "移動根使用者頁面",
        "nchanges": "$1 次變更",
        "enhancedrc-since-last-visit": "{{PLURAL:$1|自上次拜訪}}已有 $1",
        "enhancedrc-history": "歷史",
-       "recentchanges": "最近變更",
-       "recentchanges-legend": "最近變更選項",
-       "recentchanges-summary": "追蹤 Wiki 中此頁面的最近更改。",
+       "recentchanges": "近期變更",
+       "recentchanges-legend": "近期變更選項",
+       "recentchanges-summary": "追蹤 Wiki 中此頁面的近期變更。",
        "recentchanges-noresult": "於指定時間內沒有符合條件的變更。",
-       "recentchanges-feed-description": "追蹤 Wiki 中此摘要的最近變更。",
+       "recentchanges-feed-description": "追蹤 Wiki 中此摘要的近期變更。",
        "recentchanges-label-newpage": "該編輯建立了新頁面",
-       "recentchanges-label-minor": "該編輯是一個小修訂",
+       "recentchanges-label-minor": "此為次要編輯",
        "recentchanges-label-bot": "該編輯由機器人執行",
        "recentchanges-label-unpatrolled": "該編輯尚未巡查",
        "recentchanges-label-plusminus": "該頁面變更的大小 (位元組)",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (請參考[[Special:NewPages|新頁面]])",
        "recentchanges-legend-plusminus": "(<em>±123</em>)",
        "recentchanges-submit": "顯示",
-       "rcfilters-activefilters": "現用過濾規則",
-       "rcfilters-search-placeholder": "過濾最近變更(瀏覽或開始輸入)",
-       "rcfilters-invalid-filter": "過濾規則無效",
-       "rcfilters-filterlist-title": "篩選器",
-       "rcfilters-filterlist-feedbacklink": "在新(測試版)過濾器中提供反饋",
+       "rcfilters-activefilters": "使用中的過濾條件",
+       "rcfilters-restore-default-filters": "還原預設過濾條件",
+       "rcfilters-clear-all-filters": "清除所有過濾條件",
+       "rcfilters-search-placeholder": "過濾條件近期變更 (瀏覽或開始輸入)",
+       "rcfilters-invalid-filter": "無效的過濾條件",
+       "rcfilters-empty-filter": "沒有使用中的過濾條件。已顯示所有的貢獻。",
+       "rcfilters-filterlist-title": "過濾條件",
+       "rcfilters-filterlist-whatsthis": "這是什麼?",
+       "rcfilters-filterlist-feedbacklink": "提供新 (測試版) 過濾條件的意見回饋",
+       "rcfilters-highlightbutton-title": "明顯標示結果",
        "rcfilters-highlightmenu-title": "選擇顏色",
-       "rcfilters-filterlist-noresults": "找不到過濾規則",
+       "rcfilters-highlightmenu-help": "選擇要明顯標示此屬性的色彩",
+       "rcfilters-filterlist-noresults": "查無過濾條件",
+       "rcfilters-noresults-conflict": "因搜尋條件衝突,查無結果",
+       "rcfilters-state-message-subset": "此過濾條件沒有效果,因其結果包含了以下範圍更廣的{{PLURAL:$2|過濾條件|過濾條件}}其中之一 (嘗試以明顯標示來區別它):$1",
+       "rcfilters-state-message-fullcoverage": "選擇在群組中的所有過濾條件與沒選擇時相同,代表此過濾條件沒有效果。群組包含了:$1",
+       "rcfilters-filtergroup-registration": "使用者註冊",
        "rcfilters-filter-registered-label": "已註冊",
+       "rcfilters-filter-registered-description": "已登入的編輯者。",
        "rcfilters-filter-unregistered-label": "未註冊",
-       "rcfilters-filtergroup-authorship": "編輯者",
+       "rcfilters-filter-unregistered-description": "尚未登入的編輯者。",
+       "rcfilters-filter-unregistered-conflicts-user-experience-level": "此過濾條件與以下經歷{{PLURAL:$2|過濾條件|過濾條件}}衝突,因其只會{{PLURAL:$2|尋找|尋找}}已註冊的使用者:$1",
+       "rcfilters-filtergroup-authorship": "編輯作者身份",
        "rcfilters-filter-editsbyself-label": "您自己的編輯",
        "rcfilters-filter-editsbyself-description": "您的編輯。",
        "rcfilters-filter-editsbyother-label": "其他人的編輯",
        "rcfilters-filter-editsbyother-description": "由其他使用者而非您所作的編輯。",
        "rcfilters-filtergroup-userExpLevel": "經驗等級 (僅限已註冊的使用者)",
-       "rcfilters-filter-userExpLevel-newcomer-label": "新手",
-       "rcfilters-filter-userExpLevel-newcomer-description": "編輯數低於 10 次,活躍低於 4 天。",
-       "rcfilters-filter-userExpLevel-learner-label": "初學者",
-       "rcfilters-filter-userExpLevel-learner-description": "活躍的天數以及編輯數比「新手」多,但比「有經驗的使用者」少。",
-       "rcfilters-filter-userExpLevel-experienced-label": "有經驗的使用者",
-       "rcfilters-filter-userExpLevel-experienced-description": "活躍超過 30 天,編輯超過 500 次。",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered": "經歷過濾條件只會尋找已註冊的使用者,所以此過濾條件會與 \"未註冊\" 的過濾條件衝突。",
+       "rcfilters-filtergroup-user-experience-level-conflicts-unregistered-global": "\"未註冊\" 的過濾條件與一個或多個經歷過濾條件衝突,該過濾條件只會尋找已註冊使用者。衝突的過濾條件已在上方使用的過濾條件區域中標示。",
+       "rcfilters-filter-user-experience-level-newcomer-label": "新手",
+       "rcfilters-filter-user-experience-level-newcomer-description": "編輯數低於 10 次,活躍低於 4 天。",
+       "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": "活躍超過 30 天,編輯超過 500 次。",
+       "rcfilters-filtergroup-automated": "自動化貢獻",
        "rcfilters-filter-bots-label": "機器人",
-       "rcfilters-filter-humans-label": "人類(非機器人)",
-       "rcfilters-filter-humans-description": "由人類編者做出的編輯",
-       "rcfilters-filter-minor-label": "小修改",
-       "rcfilters-filter-major-label": "非小編輯",
-       "rcfilters-filter-major-description": "未標記小修改的編輯。",
+       "rcfilters-filter-bots-description": "由自動化工具所做的編輯。",
+       "rcfilters-filter-humans-label": "人類 (非機器人)",
+       "rcfilters-filter-humans-description": "由人類編輯者做出的編輯",
+       "rcfilters-filtergroup-reviewstatus": "審查狀態",
+       "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-filter-major-description": "未標記為次要的編輯。",
+       "rcfilters-filtergroup-changetype": "變更類型",
        "rcfilters-filter-pageedits-label": "頁面編輯",
-       "rcfilters-filter-newpages-label": "頁面創建",
-       "rcfilters-filter-newpages-description": "創立新頁面的編緝。",
+       "rcfilters-filter-pageedits-description": "對 Wiki 內容、討論、分類說明所做的編輯...",
+       "rcfilters-filter-newpages-label": "頁面建立",
+       "rcfilters-filter-newpages-description": "建立新頁面的編輯。",
        "rcfilters-filter-categorization-label": "分類變更",
+       "rcfilters-filter-categorization-description": "已加入到分類或從分類中移除的頁面記錄。",
+       "rcfilters-filter-logactions-label": "已記錄的動作",
+       "rcfilters-filter-logactions-description": "管理動作、帳號建立、頁面刪除、上傳....",
+       "rcfilters-hideminor-conflicts-typeofchange-global": "\"次要編輯\" 過濾條件與一個或多個變更類型過濾條件衝突,因為某些變更類型無法指定為 \"次要\"。衝突的過濾條件已在上方使用的過濾條件區域中標示。",
+       "rcfilters-hideminor-conflicts-typeofchange": "某些變更類型無法指定為 \"次要\",所以此過濾條件與以下變更類型的過濾條件衝突:$1",
+       "rcfilters-typeofchange-conflicts-hideminor": "此變更類型過濾條件與 \"次要編輯\" 過濾條件衝突,某些變更類型無法指定為 \"次要\"。",
        "rcnotefrom": "以下{{PLURAL:$5|為}}自 <strong>$3 $4</strong> 以來的變更 (最多顯示 <strong>$1</strong> 筆)。",
        "rclistfrom": "顯示自 $3 $2 以來的新變更",
-       "rcshowhideminor": "$1 小修訂",
+       "rcshowhideminor": "$1 次要編輯",
        "rcshowhideminor-show": "顯示",
        "rcshowhideminor-hide": "隱藏",
        "rcshowhidebots": "$1 機器人",
        "uncategorizedcategories": "未分類的分類",
        "uncategorizedimages": "未分類的檔案",
        "uncategorizedtemplates": "待分類模板",
+       "uncategorized-categories-exceptionlist": "# 包含了不應在 Special:UncategorizedCategories 被提及的分類清單,一個分類一行,以 \"*\" 開始,以其他字元 (包含空白) 做為行首將會被忽略。使用 \"#\" 代表註解。",
        "unusedcategories": "未使用的分類",
        "unusedimages": "未使用的檔案",
        "wantedcategories": "需要的分類",
        "apisandbox-sending-request": "傳送 API 請求中...",
        "apisandbox-loading-results": "接收 API 結果中...",
        "apisandbox-results-error": "讀取 API 查詢回應時發生錯誤:$1。",
+       "apisandbox-request-selectformat-label": "顯示請求資料為:",
+       "apisandbox-request-format-url-label": "URL 查詢字串",
        "apisandbox-request-url-label": "請求 URL:",
+       "apisandbox-request-json-label": "請求 JSON:",
        "apisandbox-request-time": "請求時間:{{PLURAL:$1|$1 ms}}",
        "apisandbox-results-fixtoken": "更正密鑰並重新送出",
        "apisandbox-results-fixtoken-fail": "取得 \"$1\" 密鑰失敗。",
        "emailccsubject": "您寄給 $1 的訊息副本:$2",
        "emailsent": "已寄出電子郵件",
        "emailsenttext": "已寄出您的電子郵件訊息。",
-       "emailuserfooter": "這封電子郵件是由$1透過{{SITENAME}}的「{{int:emailuser}}」功能{{GENDER:$1|寄給}}{{GENDER:$1|$2}}的。{{GENDER:$2|您的}}郵件將直接寄往{{GENDER:$1|原發件人}},{{GENDER:$1|他|她|他}}將能夠看到您的電子郵件地址。",
+       "emailuserfooter": "這封電子郵件是由 $1 透過 {{SITENAME}} 的 \"{{int:emailuser}}\" 功能{{GENDER:$1|寄給}}{{GENDER:$1|$2}}的。若{{GENDER:$2|您}}回覆此電子郵件,{{GENDER:$2|您的}}郵件將直接寄往{{GENDER:$1|原發件人}},{{GENDER:$1|他|她|他}}將能夠看到{{GENDER:$2|您的}}電子郵件地址。",
        "usermessage-summary": "留訊息至系統。",
        "usermessage-editor": "系統訊息",
        "watchlist": "監視清單",
        "watchlist-hide": "隱藏",
        "watchlist-submit": "顯示",
        "wlshowtime": "要顯示的時間長度:",
-       "wlshowhideminor": "編輯",
+       "wlshowhideminor": "次要編輯",
        "wlshowhidebots": "機器人",
        "wlshowhideliu": "已註冊使用者",
        "wlshowhideanons": "匿名使用者",
        "changecontentmodel-emptymodels-title": "沒有內容模型可用",
        "changecontentmodel-emptymodels-text": "[[:$1]]上的內容不能轉換為任何類型。",
        "log-name-contentmodel": "內容模型變更日誌",
-       "log-description-contentmodel": "æ­¤é \81å\88\97è\88\89é \81é\9d¢å\85§å®¹æ¨¡å\9e\8bç\9a\84è®\8aæ\9b´è¨\98é\8c\84以å\8f\8a使ç\94¨é\9d\9eé \90設ç\9a\84å\85§å®¹æ¨¡å\9e\8bæ\89\80å\89µå»º的頁面。",
+       "log-description-contentmodel": "æ­¤é \81å\88\97è\88\89é \81é\9d¢å\85§å®¹æ¨¡å\9e\8bç\9a\84è®\8aæ\9b´è¨\98é\8c\84以å\8f\8a使ç\94¨é\9d\9eé \90設ç\9a\84å\85§å®¹æ¨¡å\9e\8bæ\89\80建ç«\8b的頁面。",
        "logentry-contentmodel-new": "$1 {{GENDER:$2|已使用}}非預設的內容模型 \"$5\" 建立頁面 $3",
        "logentry-contentmodel-change": "$1 {{GENDER:$2|已變更}}頁面 $3 的內容模型自 \"$4\" 至 \"$5\"",
        "logentry-contentmodel-change-revertlink": "還原",
        "sp-contributions-username": "IP 位址或使用者名稱:",
        "sp-contributions-toponly": "只顯示最新修訂的編輯",
        "sp-contributions-newonly": "只顯示建立頁面的編輯",
-       "sp-contributions-hideminor": "隱藏小修訂",
+       "sp-contributions-hideminor": "隱藏次要編輯",
        "sp-contributions-submit": "搜尋",
        "whatlinkshere": "連結至此的頁面",
        "whatlinkshere-title": "連結至 \"$1\" 的頁面",
        "ipboptions": "2 小時:2 hours,1 天:1 day,3 天:3 days,1 週:1 week,2 週:2 weeks,1 個月:1 month,3 個月:3 months,6 個月:6 months,1 年:1 year,無限期:infinite",
        "ipbhidename": "在編輯及清單中隱藏使用者名稱",
        "ipbwatchuser": "監視這位使用者的使用者頁面及其對話頁面",
-       "ipb-disableusertalk": "阻止此使用者在封期間編輯自己的對話頁面",
+       "ipb-disableusertalk": "阻止此使用者在封期間編輯自己的對話頁面",
        "ipb-change-block": "使用現有設定重新封鎖使用者",
        "ipb-confirm": "確認封鎖",
        "badipaddress": "無效的 IP 位址",
        "emailblock": "停用電子郵件",
        "blocklist-nousertalk": "無法編輯自己的對話頁面",
        "ipblocklist-empty": "封鎖清單為空。",
-       "ipblocklist-no-results": "è¦\81求的 IP 位址或使用者名稱尚未被封鎖。",
+       "ipblocklist-no-results": "è«\8b求的 IP 位址或使用者名稱尚未被封鎖。",
        "blocklink": "封鎖",
        "unblocklink": "解除封鎖",
        "change-blocklink": "變更封鎖",
        "proxyblockreason": "因您的 IP 位址是開放代理伺服器,已被封鎖。\n請聯絡您的網路服務供應商或您所在組織的技術支援,告知他們此嚴重的安全性問題。",
        "sorbsreason": "您的 IP 位址在 {{SITENAME}} 使用的 DNSBL 列為開放代理伺服器。",
        "sorbs_create_account_reason": "您的 IP 位址在 {{SITENAME}} 使用的 DNSBL 列為開放代理伺服器。\n您不能建立帳號。",
-       "softblockrangesreason": "您的IP位址($1)不允許匿名貢獻,請登入。",
+       "softblockrangesreason": "您的 IP 位址 ($1) 不允許匿名貢獻,請登入。",
        "xffblockreason": "您的 IP 位址使用 X-Forwarded-For 標頭,您或您使用的代理伺服器已被封鎖。\n封鎖的原因為:$1",
        "cant-see-hidden-user": "您欲封鎖的使用者已經被封鎖並且隱藏。\n您沒有隱藏使用者的權限,您無法檢視或編輯該使用者的封鎖狀態。",
        "ipbblocked": "因您已被封鎖,故無法封鎖或解除封鎖其他使用者。",
        "cant-move-category-page": "您沒有權限移動分類頁面。",
        "cant-move-to-category-page": "您沒有權限移動頁面至分類頁面。",
        "cant-move-subpages": "您沒有權限移動子頁面。",
-       "namespace-nosubpages": "å\90\8då­\97空é\96\93ã\80\8c$1ã\80\8d不允許有子頁面。",
+       "namespace-nosubpages": "å\91½å\90\8d空é\96\93 \"$1\" 不允許有子頁面。",
        "newtitle": "新標題:",
        "move-watch": "監視來源以及目標頁面",
        "movepagebtn": "移動頁面",
        "tooltip-n-mainpage-description": "前往首頁",
        "tooltip-n-portal": "關於本專案、您可以做什麼、哪裡可以找到您需要的事物",
        "tooltip-n-currentevents": "於新聞事件中找到相關背景資料",
-       "tooltip-n-recentchanges": "列出此 Wiki 中的最近變更清單",
+       "tooltip-n-recentchanges": "列出此 Wiki 中的近期變更清單",
        "tooltip-n-randompage": "隨機進入一個頁面",
        "tooltip-n-help": "尋求協助的地方",
        "tooltip-t-whatlinkshere": "列出所有連結此頁面的頁面",
-       "tooltip-t-recentchangeslinked": "此頁面連結至其他頁面的最近變更",
+       "tooltip-t-recentchangeslinked": "此頁面連結至其他頁面的近期變更",
        "tooltip-feed-rss": "此頁面的 RSS 來源",
        "tooltip-feed-atom": "此頁面的 Atom 來源",
        "tooltip-t-contributions": "{{GENDER:$1|此使用者}}的貢獻清單",
        "tooltip-ca-nstab-template": "檢視模板",
        "tooltip-ca-nstab-help": "檢視說明頁面",
        "tooltip-ca-nstab-category": "檢視分類頁面",
-       "tooltip-minoredit": "標記為小修訂",
+       "tooltip-minoredit": "標記此為次要編輯",
        "tooltip-save": "儲存您的變更",
        "tooltip-publish": "發佈您的更改",
        "tooltip-preview": "請在儲存前預覽您的變更!",
        "markaspatrolledtext-file": "標記此檔案版本為己巡查",
        "markedaspatrolled": "標記為已巡查",
        "markedaspatrolledtext": "已標記選擇的修訂 [[:$1]] 為已巡查。",
-       "rcpatroldisabled": "最近變更巡查已停用",
+       "rcpatroldisabled": "近期變更巡查已停用",
        "rcpatroldisabledtext": "最新變更巡查的功能目前已停用。",
        "markedaspatrollederror": "無法標記為已巡查",
        "markedaspatrollederrortext": "您需指定要標記為已巡查的修訂。",
        "variantname-gan-hans": "‪中文(简体)",
        "variantname-gan-hant": "‪中文(繁體)",
        "metadata": "詮釋資料",
-       "metadata-help": "æ­¤æ\96\87件中å\8c\85å\90«é¡\8då¤\96ä¿¡æ\81¯ã\80\82é\80\99äº\9bä¿¡æ\81¯å\8f¯è\83½æ\98¯ç\94±æ\95¸ç¢¼ç\9b¸æ©\9fæ\88\96æ\8e\83æ\8f\8få\84\80å\9c¨å\89µå»ºæ\88\96æ\95¸å­\97å\8c\96é\81\8eç¨\8b中æ\89\80æ·»å\8a ç\9a\84ã\80\82å¦\82æ\9e\9cæ\96\87件è\87ªå\88\9då§\8bç\8b\80æ\85\8bå·²å\8f\97å\88°ä¿®æ\94¹ï¼\8cä¸\80äº\9b詳細說æ\98\8eå\8f¯è\83½ç\84¡æ³\95å\8f\8dæ\98 ä¿®æ\94¹å¾\8cç\9a\84æ\96\87件。",
+       "metadata-help": "æ­¤æª\94æ¡\88中å\8c\85å\90«å\85¶ä»\96è³\87è¨\8aï¼\8cé\80\99äº\9bè³\87è¨\8aå\8f¯è\83½æ\98¯ç\94±æ\95¸ä½\8dç\9b¸æ©\9fæ\88\96æ\8e\83æ\8f\8få\99¨å\9c¨å»ºç«\8bæ\88\96æ\95¸ä½\8då\8c\96é\81\8eç¨\8b中æ\89\80æ\96°å¢\9eç\9a\84ã\80\82è\8b¥æª\94æ¡\88è\87ªå\8e\9få§\8bç\8b\80æ\85\8b已被修æ\94¹ï¼\8cä¸\80äº\9b詳細è³\87æ\96\99å\8f¯è\83½ç\84¡æ³\95å®\8cæ\95´å\8f\8dæ\98 å\87ºå·²ä¿®æ\94¹ç\9a\84æª\94æ¡\88。",
        "metadata-expand": "顯示詳細資料",
        "metadata-collapse": "隱藏詳細資料",
        "metadata-fields": "在本訊息中所列出的 EXIF 詮釋資料域將包含在圖片顯示頁面,當詮釋資料表損壞時只顯示以下訊息。\n其他的詮釋資料預設為隱藏。\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude",
        "confirmemail_body_set": "不明人士 (可能是您自己,來自 IP 位址 $1) 已將在 {{SITENAME}} 帳號 \"$2\" 的電子郵件地址設定至此。\n\n請確認這個帳號是屬於您的,並使用瀏覽器開啟下方連結以開啟在 {{SITENAME}} 上的電子郵件功能:\n\n$3\n\n若您 *未* 註冊此帳號,\n請開啟下方連結取消電子郵件確認:\n\n$5\n\n此確認代碼會於 $4 過期。",
        "confirmemail_invalidated": "已取消電子郵件地址確認",
        "invalidateemail": "取消電子郵件確認",
-       "notificationemail_subject_changed": "{{SITENAME}} 註冊的電子郵件址已變更",
-       "notificationemail_subject_removed": "{{SITENAME}} 註冊的電子郵件址已移除",
-       "notificationemail_body_changed": "來自IP位址$1的某個人(可能是您),在{{SITENAME}}上將帳號\"$2\"的電子郵件位址改成\"$3\"。\n\n如果非您本人所為,請立即跟網站管理員聯繫。",
-       "notificationemail_body_removed": "來自IP位址$1的某人(可能是您),在{{SITENAME}}上移除了帳號$2的電子郵件位址。\n\n如果非您本人所為,請立即跟網站管理員聯繫。",
+       "notificationemail_subject_changed": "{{SITENAME}} 註冊的電子郵件址已變更",
+       "notificationemail_subject_removed": "{{SITENAME}} 註冊的電子郵件址已移除",
+       "notificationemail_body_changed": "來自 IP 位址 $1 的某個人 (可能是您) ,在{{SITENAME}}上將帳號\"$2\"的電子郵件地址改成\"$3\"。\n\n如果非您本人所為,請立即跟網站管理員聯繫。",
+       "notificationemail_body_removed": "來自 IP 位址 $1 的某人 (可能是您) ,在{{SITENAME}}上移除了帳號 $2 的電子郵件地址。\n\n如果非您本人所為,請立即跟網站管理員聯繫。",
        "scarytranscludedisabled": "[Interwiki 轉換代碼不可用]",
        "scarytranscludefailed": "[模板 $1 讀取失敗]",
        "scarytranscludefailed-httpstatus": "[模板 $1 讀取失敗:HTTP $2]",
        "comma-separator": ",",
        "colon-separator": ":",
        "word-separator": "",
+       "ellipsis": "…",
        "parentheses": " ($1)",
        "quotation-marks": "\"$1\"",
        "imgmultipageprev": "← 上一頁",
        "specialpages-group-maintenance": "維護報表",
        "specialpages-group-other": "其它特殊頁面",
        "specialpages-group-login": "登入 / 建立帳號",
-       "specialpages-group-changes": "最近變更與日誌",
+       "specialpages-group-changes": "近期變更與日誌",
        "specialpages-group-media": "媒體上傳與報表",
        "specialpages-group-users": "使用者與權限",
        "specialpages-group-highuse": "常用頁面",
        "htmlform-user-not-exists": "<strong>$1</strong> 並不存在。",
        "htmlform-user-not-valid": "<strong>$1</strong> 不是有效的使用者名稱。",
        "logentry-delete-delete": "$1 刪除頁面 $3",
-       "logentry-delete-delete_redir": "$1通過覆蓋,{{GENDER:$2|刪除了}}重定向$3。",
+       "logentry-delete-delete_redir": "$1 透過覆寫{{GENDER:$2|刪除了}}重新導向 $3",
        "logentry-delete-restore": "$1 還原頁面 $3",
        "logentry-delete-event": "$1 {{GENDER:$2|已更改}} $3 中 {{PLURAL:$5|1 筆日誌|$5 筆日誌}}的可見性:$4",
        "logentry-delete-revision": "$1 {{GENDER:$2|已更改}}頁面 $3 中 {{PLURAL:$5|1 筆修訂|$5 筆修訂}}的可見性:$4",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|已更新}}標籤於頁面 $3 的修訂 $4 ({{PLURAL:$7|加入}} $6; {{PLURAL:$9|移除}} $8)。",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|已更新}}標籤於頁面 $3 的日誌項目 $5 ({{PLURAL:$7|加入}} $6; {{PLURAL:$9|移除}} $8)。",
        "rightsnone": "(無)",
-       "revdelete-summary": "編輯摘要",
+       "rightslogentry-temporary-group": "$1 (臨時,直到 $2)",
        "feedback-adding": "正在新增意見回饋至頁面...",
        "feedback-back": "返回",
        "feedback-bugcheck": "很好! 檢查一下您的意見是不是已經被列為 [$1 已知問題]。",
        "pagelang-reason": "原因",
        "pagelang-submit": "送出",
        "pagelang-nonexistent-page": "頁面 $1 不存在。",
-       "pagelang-unchanged-language": "頁面$1的語言已經設為$2。",
-       "pagelang-unchanged-language-default": "頁面$1的語言已經設為wiki的預設內容語言。",
+       "pagelang-unchanged-language": "頁面 $1 的語言已經設為 $2。",
+       "pagelang-unchanged-language-default": "頁面 $1 的語言已經設為 wiki 的預設內容語言。",
        "pagelang-db-failed": "資料庫更改頁面語言失敗。",
        "right-pagelang": "變更頁面語言",
        "action-pagelang": "變更頁面語言",
        "mw-widgets-titleinput-description-new-page": "頁面不存在",
        "mw-widgets-titleinput-description-redirect": "重新導向至 $1",
        "mw-widgets-categoryselector-add-category-placeholder": "加入分類...",
-       "mw-widgets-usersmultiselect-placeholder": "添加更多...",
+       "mw-widgets-usersmultiselect-placeholder": "加入更多...",
        "sessionmanager-tie": "無法合併多個請求認証類型:$1。",
        "sessionprovider-generic": "$1 連線階段",
        "sessionprovider-mediawiki-session-cookiesessionprovider": "以 cookie 為基礎的連線階段",
diff --git a/languages/messages/MessagesAtj.php b/languages/messages/MessagesAtj.php
new file mode 100644 (file)
index 0000000..69bcaa5
--- /dev/null
@@ -0,0 +1,11 @@
+<?php
+/** Atikamekw
+ *
+ * To improve a translation please visit https://translatewiki.net
+ *
+ * @ingroup Language
+ * @file
+ *
+ */
+
+$fallback = 'fr';
index fcbdac4..65ce3d8 100644 (file)
@@ -37,3 +37,11 @@ $namespaceNames = [
        NS_CATEGORY         => 'گٹھ',
        NS_CATEGORY_TALK    => 'گٹھ_گل_بات',
 ];
+
+$namespaceAliases = [
+       'تصویر' => NS_FILE,
+];
+
+$magicWords = [
+       'redirect' => [ '0', '#مڑجوڑ', '#REDIRECT' ],
+];
diff --git a/maintenance/archives/patch-image-user-index-2.sql b/maintenance/archives/patch-image-user-index-2.sql
new file mode 100644 (file)
index 0000000..8b19d82
--- /dev/null
@@ -0,0 +1 @@
+CREATE INDEX /*i*/img_user_timestamp ON /*_*/image (img_user,img_timestamp);
index a74d7bd..b44930f 100644 (file)
@@ -1,7 +1,7 @@
 --
 -- image-user-index.sql
 --
--- Add user/timestamp index to current image versions
+-- Add user_text/timestamp index to current image versions
 --
 
 ALTER TABLE /*$wgDBprefix*/image
index 388ad8a..f7e0c0f 100644 (file)
@@ -26,9 +26,11 @@ require_once __DIR__ . '/Maintenance.php';
 /**
  * Maintenance script to create common password cdb database.
  *
- * Meant to take a file like
- * https://github.com/danielmiessler/SecLists/blob/master/Passwords/rockyou.txt?raw=true
- * as input.
+ * Meant to take a file like those from
+ * https://github.com/danielmiessler/SecLists
+ * For example:
+ * https://github.com/danielmiessler/SecLists/blob/fe2b40dd84/Passwords/rockyou.txt?raw=true
+ *
  * @see serialized/commonpasswords.cdb and PasswordPolicyChecks::checkPopularPasswordBlacklist
  * @since 1.27
  * @ingroup Maintenance
index 9fe5009..2c8c8b0 100644 (file)
@@ -33,7 +33,8 @@
                                        "mw.plugin.*",
                                        "mw.cookie",
                                        "mw.experiments",
-                                       "mw.viewport"
+                                       "mw.viewport",
+                                       "mw.htmlform.*"
                                ]
                        },
                        {
diff --git a/maintenance/mssql/archives/patch-alter-table-oldimage.sql b/maintenance/mssql/archives/patch-alter-table-oldimage.sql
new file mode 100644 (file)
index 0000000..fb31d6a
--- /dev/null
@@ -0,0 +1 @@
+DROP INDEX /*i*/oi_name_archive_name ON /*_*/oldimage;
index 78f0671..3babb39 100644 (file)
@@ -661,7 +661,6 @@ CREATE TABLE /*_*/oldimage (
 
 CREATE INDEX /*i*/oi_usertext_timestamp ON /*_*/oldimage (oi_user_text,oi_timestamp);
 CREATE INDEX /*i*/oi_name_timestamp ON /*_*/oldimage (oi_name,oi_timestamp);
-CREATE INDEX /*i*/oi_name_archive_name ON /*_*/oldimage (oi_name,oi_archive_name);
 CREATE INDEX /*i*/oi_sha1 ON /*_*/oldimage (oi_sha1);
 
 
index 17a8d2e..6279a34 100644 (file)
@@ -68,6 +68,7 @@ class CLIParser extends Maintenance {
                        false,
                        true
                );
+               $this->addOption( 'tidy', 'Tidy the output' );
                $this->addArg( 'file', 'File containing wikitext (Default: stdin)', false );
        }
 
@@ -127,10 +128,14 @@ class CLIParser extends Maintenance {
         * @return ParserOutput
         */
        protected function parse( $wikitext ) {
+               $options = new ParserOptions;
+               if ( $this->getOption( 'tidy' ) ) {
+                       $options->setTidy( true );
+               }
                return $this->parser->parse(
                        $wikitext,
                        $this->getTitle(),
-                       new ParserOptions()
+                       $options
                );
        }
 }
index 44922a4..8f59690 100644 (file)
@@ -899,6 +899,8 @@ CREATE TABLE /*_*/image (
   img_sha1 varbinary(32) NOT NULL default ''
 ) /*$wgDBTableOptions*/;
 
+-- Used by Special:Newimages and ApiQueryAllImages
+CREATE INDEX /*i*/img_user_timestamp ON /*_*/image (img_user,img_timestamp);
 CREATE INDEX /*i*/img_usertext_timestamp ON /*_*/image (img_user_text,img_timestamp);
 -- Used by Special:ListFiles for sort-by-size
 CREATE INDEX /*i*/img_size ON /*_*/image (img_size);
index b868295..2c22395 100644 (file)
@@ -3,9 +3,11 @@
   "scripts": {
     "test": "grunt test",
     "doc": "jsduck",
-    "postdoc": "grunt copy:jsduck"
+    "postdoc": "grunt copy:jsduck",
+    "selenium": "killall -0 chromedriver 2>/dev/null || chromedriver --url-base=/wd/hub --port=4444 & grunt webdriver:test; killall chromedriver"
   },
   "devDependencies": {
+    "deepmerge": "1.3.2",
     "eslint": "3.12.2",
     "eslint-config-wikimedia": "0.3.0",
     "grunt": "1.0.1",
     "grunt-jsonlint": "1.1.0",
     "grunt-karma": "2.0.0",
     "grunt-stylelint": "0.7.0",
+    "grunt-webdriver": "2.0.3",
     "karma": "1.1.0",
     "karma-chrome-launcher": "2.0.0",
     "karma-firefox-launcher": "1.0.0",
+    "karma-mocha-reporter": "2.2.3",
     "karma-qunit": "1.0.0",
     "qunitjs": "1.22.0",
-    "stylelint-config-wikimedia": "0.4.1"
+    "stylelint-config-wikimedia": "0.4.1",
+    "wdio-junit-reporter": "0.2.0",
+    "wdio-mocha-framework": "0.5.8",
+    "wdio-spec-reporter": "0.0.5",
+    "webdriverio": "4.6.2"
   }
 }
index 0c3d27d..631386a 100644 (file)
@@ -151,21 +151,14 @@ return [
                'targets' => [ 'mobile', 'desktop' ],
        ],
        'jquery.appear' => [
-               'deprecated' => [
-                       'message' => 'Please use "mediawiki.viewport" instead.',
-               ],
+               'deprecated' => 'Please use "mediawiki.viewport" instead.',
                'scripts' => 'resources/lib/jquery/jquery.appear.js',
        ],
-       'jquery.arrowSteps' => [
-               'deprecated' => true,
-               'scripts' => 'resources/src/jquery/jquery.arrowSteps.js',
-               'styles' => 'resources/src/jquery/jquery.arrowSteps.css',
-               'targets' => [ 'desktop', 'mobile' ],
-       ],
        'jquery.async' => [
                'scripts' => 'resources/lib/jquery/jquery.async.js',
        ],
        'jquery.autoEllipsis' => [
+               'deprecated' => 'Use CSS text-overflow instead.',
                'scripts' => 'resources/src/jquery/jquery.autoEllipsis.js',
                'dependencies' => 'jquery.highlightText',
                'targets' => [ 'desktop', 'mobile' ],
@@ -315,20 +308,13 @@ return [
                'styles' => 'resources/lib/qunitjs/qunit.css',
                'targets' => [ 'desktop', 'mobile' ],
        ],
-       'jquery.qunit.completenessTest' => [
-               'scripts' => 'resources/src/jquery/jquery.qunit.completenessTest.js',
-               'dependencies' => 'jquery.qunit',
-               'targets' => [ 'desktop', 'mobile' ],
-       ],
        'jquery.spinner' => [
                'scripts' => 'resources/src/jquery/jquery.spinner.js',
                'styles' => 'resources/src/jquery/jquery.spinner.css',
                'targets' => [ 'desktop', 'mobile' ],
        ],
        'jquery.jStorage' => [
-               'deprecated' => [
-                       'message' => 'Please use "mediawiki.storage" instead.',
-               ],
+               'deprecated' => 'Please use "mediawiki.storage" instead.',
                'scripts' => 'resources/lib/jquery/jquery.jStorage.js',
        ],
        'jquery.suggestions' => [
@@ -372,9 +358,7 @@ return [
        /* jQuery UI */
 
        'jquery.ui.core' => [
-               'deprecated' => [
-                       'message' => 'Please use "mediawiki.ui.button" or "oojs-ui" instead.',
-               ],
+               'deprecated' => 'Please use "mediawiki.ui.button" or "oojs-ui" instead.',
                'scripts' => 'resources/lib/jquery.ui/jquery.ui.core.js',
                'dependencies' => [
                        'jquery.ui.core.styles',
@@ -1092,6 +1076,12 @@ return [
                ],
                'targets' => [ 'desktop', 'mobile' ],
        ],
+       'mediawiki.htmlform.checker' => [
+               'scripts' => [
+                       'resources/src/mediawiki/htmlform/htmlform.Checker.js',
+               ],
+               'targets' => [ 'desktop', 'mobile' ],
+       ],
        'mediawiki.htmlform.ooui' => [
                'scripts' => [
                        'resources/src/mediawiki/htmlform/htmlform.Element.js',
@@ -1352,11 +1342,6 @@ return [
                'dependencies' => 'mediawiki.util',
                'targets' => [ 'desktop', 'mobile' ],
        ],
-       'mediawiki.user.blockcookie' => [
-               'scripts' => 'resources/src/mediawiki/mediawiki.user.blockcookie.js',
-               'dependencies' => [ 'mediawiki.cookie', 'mediawiki.storage' ],
-               'targets' => [ 'desktop', 'mobile' ],
-       ],
        'mediawiki.user' => [
                'scripts' => 'resources/src/mediawiki/mediawiki.user.js',
                'dependencies' => [
@@ -1671,7 +1656,6 @@ return [
                'dependencies' => [
                        'jquery.accessKeyLabel',
                        'jquery.checkboxShiftClick',
-                       'jquery.makeCollapsible',
                        'jquery.placeholder',
                        'jquery.mw-jump',
                ],
@@ -1797,6 +1781,12 @@ return [
                        'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.HighlightColorPickerWidget.less',
                        'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterItemHighlightButton.less',
                ],
+               'skinStyles' => [
+                       'monobook' => [
+                               'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.Overlay.monobook.less',
+                               'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.CapsuleItemWidget.monobook.less',
+                       ],
+               ],
                'messages' => [
                        'rcfilters-activefilters',
                        'rcfilters-restore-default-filters',
@@ -1807,49 +1797,20 @@ return [
                        'rcfilters-filterlist-title',
                        'rcfilters-filterlist-feedbacklink',
                        'rcfilters-filterlist-noresults',
-                       'rcfilters-filtergroup-registration',
-                       'rcfilters-filter-registered-label',
-                       'rcfilters-filter-registered-description',
-                       'rcfilters-filter-unregistered-label',
-                       'rcfilters-filter-unregistered-description',
-                       'rcfilters-filtergroup-authorship',
-                       'rcfilters-filter-editsbyself-label',
-                       'rcfilters-filter-editsbyself-description',
-                       'rcfilters-filter-editsbyother-label',
-                       'rcfilters-filter-editsbyother-description',
-                       'rcfilters-filtergroup-userExpLevel',
-                       'rcfilters-filter-userExpLevel-newcomer-label',
-                       'rcfilters-filter-userExpLevel-newcomer-description',
-                       'rcfilters-filter-userExpLevel-learner-label',
-                       'rcfilters-filter-userExpLevel-learner-description',
-                       'rcfilters-filter-userExpLevel-experienced-label',
-                       'rcfilters-filter-userExpLevel-experienced-description',
-                       'rcfilters-filtergroup-automated',
-                       'rcfilters-filter-bots-label',
-                       'rcfilters-filter-bots-description',
-                       'rcfilters-filter-humans-label',
-                       'rcfilters-filter-humans-description',
-                       'rcfilters-filtergroup-significance',
-                       'rcfilters-filter-minor-label',
-                       'rcfilters-filter-minor-description',
-                       'rcfilters-filter-major-label',
-                       'rcfilters-filter-major-description',
-                       '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-categorization-description',
-                       'rcfilters-filter-logactions-label',
-                       'rcfilters-filter-logactions-description',
+                       'rcfilters-filterlist-whatsthis',
                        'rcfilters-highlightbutton-title',
                        'rcfilters-highlightmenu-title',
                        'rcfilters-highlightmenu-help',
+                       'rcfilters-noresults-conflict',
+                       'rcfilters-state-message-subset',
+                       'rcfilters-state-message-fullcoverage',
                        'recentchanges-noresult',
+                       'quotation-marks',
                ],
                'dependencies' => [
                        'oojs-ui',
+                       'mediawiki.language',
+                       'mediawiki.user',
                        'mediawiki.rcfilters.filters.dm',
                        'oojs-ui.styles.icons-moderation',
                        'oojs-ui.styles.icons-editing-core',
@@ -1936,6 +1897,14 @@ return [
                        'mediawiki.htmlform',
                ],
        ],
+       'mediawiki.special.changecredentials.js' => [
+               'scripts' => 'resources/src/mediawiki.special/mediawiki.special.changecredentials.js',
+               'dependencies' => [
+                       'mediawiki.api',
+                       'mediawiki.htmlform.ooui'
+               ],
+               'targets' => [ 'desktop', 'mobile' ],
+       ],
        'mediawiki.special.changeslist' => [
                'styles' => 'resources/src/mediawiki.special/mediawiki.special.changeslist.css',
                'targets' => [ 'desktop', 'mobile' ],
@@ -2051,7 +2020,7 @@ return [
                ],
                'targets' => [ 'desktop', 'mobile' ],
                'messages' => [
-                       'search-interwiki-more',
+                       'search-interwiki-more-results',
                        'searchprofile-images'
                ],
        ],
@@ -2107,7 +2076,6 @@ return [
        'mediawiki.special.userlogin.signup.js' => [
                'scripts' => 'resources/src/mediawiki.special/mediawiki.special.userlogin.signup.js',
                'messages' => [
-                       'createacct-error',
                        'createacct-emailrequired',
                        'noname',
                        'userexists',
@@ -2116,6 +2084,7 @@ return [
                        'mediawiki.api',
                        'mediawiki.jqueryMsg',
                        'jquery.throttle-debounce',
+                       'mediawiki.htmlform.checker',
                ],
        ],
        'mediawiki.special.unwatchedPages' => [
@@ -2281,7 +2250,7 @@ return [
                        'mediawiki.api',
                        'jquery.byteLimit',
                        // TitleOptionWidget
-                       'jquery.autoEllipsis',
+                       'jquery.highlightText',
                ],
                'messages' => [
                        // NamespaceInputWidget
diff --git a/resources/lib/jquery.ui/PATCHES b/resources/lib/jquery.ui/PATCHES
new file mode 100644 (file)
index 0000000..a8eba94
--- /dev/null
@@ -0,0 +1,26 @@
+jquery.ui.draggable.js
+* 71e11de2a3 Fix positioning error with draggable, revert and grid.
+             https://phabricator.wikimedia.org/T140965#2944610
+
+             https://bugs.jqueryui.com/ticket/4696
+
+
+jquery.ui.datepicker
+* 19531f3c23 Add translations in de-AT and de-CH
+
+
+themes/smoothness/jquery.ui.theme.css
+* 5e772e39dd Remove dark color from links inside dialogs
+             https://phabricator.wikimedia.org/T85857
+
+             Removed ".ui-widget-content a { color: #222222; }"
+             and ".ui-widget-header a { color: #222222; }"
+
+
+themes/smoothness/jquery.ui.core.css:
+* dc1c29f204 Collapse border in ui-helper-clearfix
+             https://phabricator.wikimedia.org/T73601
+
+             Backport of upstream change released in jQuery UI v1.10.1
+             - http://bugs.jqueryui.com/ticket/8442
+             - https://github.com/jquery/jquery-ui/commit/cb42ee7ccd
diff --git a/resources/lib/jquery.ui/themes/smoothness/PATCHES b/resources/lib/jquery.ui/themes/smoothness/PATCHES
deleted file mode 100644 (file)
index 53fbe1f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-jquery.ui.theme.css
-* Removed ".ui-widget-content a { color: #222222; }" and
-  ".ui-widget-header a { color: #222222; }" due to bug T85857.
index 53ce966..a13441b 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.19.5
+ * OOjs UI v0.20.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2017 OOjs UI Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2017-03-07T22:57:01Z
+ * Date: 2017-03-15T17:06:24Z
  */
 ( function ( OO ) {
 
index 369cf09..382c13b 100644 (file)
@@ -1,18 +1,19 @@
 /*!
- * OOjs UI v0.19.5
+ * OOjs UI v0.20.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2017 OOjs UI Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2017-03-07T22:57:06Z
+ * Date: 2017-03-15T17:06:28Z
  */
 .oo-ui-element-hidden {
   display: none !important;
 }
 .oo-ui-buttonElement {
   display: inline-block;
+  line-height: normal;
   vertical-align: middle;
 }
 .oo-ui-buttonElement > .oo-ui-buttonElement-button {
@@ -24,7 +25,6 @@
   vertical-align: middle;
   font-family: inherit;
   font-size: inherit;
-  line-height: normal;
   white-space: nowrap;
   -webkit-touch-callout: none;
   -webkit-user-select: none;
 .oo-ui-fieldLayout.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-field {
   width: 1px;
 }
+.oo-ui-fieldLayout.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header,
+.oo-ui-fieldLayout.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-field {
+  display: block;
+}
 .oo-ui-fieldLayout .oo-ui-fieldLayout-help {
   float: right;
 }
@@ -571,7 +575,6 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout {
   opacity: 0.2;
 }
 .oo-ui-radioOptionWidget {
-  cursor: default;
   padding: 0;
   background-color: transparent;
 }
@@ -868,12 +871,16 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout {
   display: block;
 }
 .oo-ui-dropdownInputWidget select {
+  background-position: -9999em 0;
+  background-repeat: no-repeat;
   width: 100%;
-  cursor: pointer;
   -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
           box-sizing: border-box;
 }
+.oo-ui-dropdownInputWidget.oo-ui-widget-enabled select {
+  cursor: pointer;
+}
 .oo-ui-dropdownInputWidget select {
   background-color: #fff;
   height: 2.5em;
@@ -1301,7 +1308,6 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout {
   color: #ccc;
 }
 .oo-ui-checkboxMultioptionWidget {
-  cursor: default;
   padding: 0;
 }
 .oo-ui-checkboxMultioptionWidget .oo-ui-checkboxInputWidget,
index b041ef4..c4fdf20 100644 (file)
@@ -1,18 +1,19 @@
 /*!
- * OOjs UI v0.19.5
+ * OOjs UI v0.20.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2017 OOjs UI Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2017-03-07T22:57:06Z
+ * Date: 2017-03-15T17:06:28Z
  */
 .oo-ui-element-hidden {
   display: none !important;
 }
 .oo-ui-buttonElement {
   display: inline-block;
+  line-height: normal;
   vertical-align: middle;
 }
 .oo-ui-buttonElement > .oo-ui-buttonElement-button {
@@ -24,7 +25,6 @@
   vertical-align: middle;
   font-family: inherit;
   font-size: inherit;
-  line-height: normal;
   white-space: nowrap;
   -webkit-touch-callout: none;
   -webkit-user-select: none;
   position: relative;
   min-height: 2.5em;
   border-radius: 2px;
-  padding: 0.546875em 1em;
+  padding: 0.625em 1em 0.546875em;
 }
 .oo-ui-buttonElement-framed.oo-ui-iconElement > .oo-ui-buttonElement-button {
   min-width: 3.125em;
   min-width: 0;
 }
 .oo-ui-buttonElement-framed > input.oo-ui-buttonElement-button,
+.oo-ui-buttonElement-framed.oo-ui-labelElement > .oo-ui-buttonElement-button {
+  line-height: 1;
+}
 .oo-ui-buttonElement-framed.oo-ui-labelElement > .oo-ui-buttonElement-button > .oo-ui-labelElement-label {
-  line-height: 1.25;
+  line-height: 1.172em;
 }
 .oo-ui-buttonElement-framed.oo-ui-iconElement > .oo-ui-buttonElement-button > .oo-ui-iconElement-icon {
   display: block;
 .oo-ui-fieldLayout.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-field {
   width: 1px;
 }
+.oo-ui-fieldLayout.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header,
+.oo-ui-fieldLayout.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-field {
+  display: block;
+}
 .oo-ui-fieldLayout .oo-ui-fieldLayout-help {
   float: right;
 }
@@ -664,7 +671,6 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout {
   position: relative;
   display: block;
   border: 0;
-  padding: 0.25em 0.5em;
 }
 .oo-ui-optionWidget.oo-ui-widget-enabled {
   cursor: pointer;
@@ -716,22 +722,15 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout {
   border-color: #fff;
 }
 .oo-ui-radioOptionWidget {
-  cursor: default;
-  padding: 0.25em 0;
-  background-color: transparent;
+  padding: 0.3125em 0;
 }
 .oo-ui-radioOptionWidget .oo-ui-radioInputWidget,
 .oo-ui-radioOptionWidget.oo-ui-labelElement .oo-ui-labelElement-label {
   display: inline-block;
   vertical-align: middle;
 }
-.oo-ui-radioOptionWidget.oo-ui-optionWidget-selected,
-.oo-ui-radioOptionWidget.oo-ui-optionWidget-pressed,
-.oo-ui-radioOptionWidget.oo-ui-optionWidget-highlighted {
-  background-color: transparent;
-}
 .oo-ui-radioOptionWidget.oo-ui-labelElement .oo-ui-labelElement-label {
-  padding: 0.25em 0.25em 0.25em 0.46875em;
+  padding-left: 0.46875em;
 }
 .oo-ui-radioOptionWidget .oo-ui-radioInputWidget {
   margin-right: 0;
@@ -1107,7 +1106,7 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout {
   margin-top: 0;
 }
 .oo-ui-checkboxMultiselectInputWidget .oo-ui-fieldLayout .oo-ui-fieldLayout-body {
-  padding: 0.25em 0;
+  padding: 0.3125em 0;
 }
 .oo-ui-checkboxMultiselectInputWidget .oo-ui-fieldLayout .oo-ui-fieldLayout-body .oo-ui-labelElement-label {
   line-height: 1.5;
@@ -1126,12 +1125,16 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout {
   display: block;
 }
 .oo-ui-dropdownInputWidget select {
+  background-position: -9999em 0;
+  background-repeat: no-repeat;
   width: 100%;
-  cursor: pointer;
   -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
           box-sizing: border-box;
 }
+.oo-ui-dropdownInputWidget.oo-ui-widget-enabled select {
+  cursor: pointer;
+}
 .oo-ui-dropdownInputWidget-php {
   border-right: 1px solid #a2a9b1;
   border-radius: 2px;
@@ -1151,6 +1154,15 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout {
   font-family: inherit;
   vertical-align: middle;
 }
+.oo-ui-dropdownInputWidget select::-ms-expand {
+  display: none;
+}
+.oo-ui-dropdownInputWidget select:not( [no-ie] ) {
+  background-position: right 1.75em center;
+  width: calc( 100% + 1em );
+  height: 2.5em;
+  padding: 0 0 0 1em;
+}
 .oo-ui-dropdownInputWidget option {
   font-size: inherit;
   font-family: inherit;
@@ -1159,8 +1171,6 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout {
 }
 .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select {
   background-color: #f8f9fa;
-  background-position: -9999em 0;
-  background-repeat: no-repeat;
   color: #222;
   -webkit-transition: background-color 100ms, border-color 100ms, box-shadow 100ms;
      -moz-transition: background-color 100ms, border-color 100ms, box-shadow 100ms;
@@ -1180,15 +1190,6 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout {
   outline: 0;
   box-shadow: inset 0 0 0 1px #36c;
 }
-.oo-ui-dropdownInputWidget.oo-ui-widget-enabled select::-ms-expand {
-  display: none;
-}
-.oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:not( [no-ie] ) {
-  background-position: right 1.75em center;
-  width: calc( 100% + 1em );
-  height: 2.5em;
-  padding: 0 0 0 1em;
-}
 .oo-ui-dropdownInputWidget.oo-ui-widget-disabled select {
   background-color: #eaecf0;
   color: #72777d;
@@ -1297,7 +1298,7 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout {
   margin-top: 0;
 }
 .oo-ui-radioSelectInputWidget .oo-ui-fieldLayout .oo-ui-fieldLayout-body {
-  padding: 0.25em 0;
+  padding: 0.3125em 0;
 }
 .oo-ui-radioSelectInputWidget .oo-ui-fieldLayout .oo-ui-fieldLayout-body .oo-ui-labelElement-label {
   line-height: 1.5;
@@ -1497,6 +1498,7 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout {
 .oo-ui-textInputWidget.oo-ui-widget-disabled input,
 .oo-ui-textInputWidget.oo-ui-widget-disabled textarea {
   background-color: #eaecf0;
+  -webkit-text-fill-color: #72777d;
   color: #72777d;
   text-shadow: 0 1px 1px #fff;
   border-color: #c8ccd1;
@@ -1515,7 +1517,7 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout {
 }
 .oo-ui-textInputWidget.oo-ui-iconElement .oo-ui-iconElement-icon {
   left: 0;
-  max-height: 2.375em;
+  max-height: 2.5em;
   margin-left: 0.5em;
   background-position: right center;
 }
@@ -1525,7 +1527,7 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout {
 }
 .oo-ui-textInputWidget.oo-ui-indicatorElement .oo-ui-indicatorElement-indicator {
   height: 100%;
-  max-height: 2.375em;
+  max-height: 2.5em;
   margin: 0 0.775em;
 }
 .oo-ui-textInputWidget > .oo-ui-labelElement-label {
@@ -1750,6 +1752,12 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout {
   border-bottom-right-radius: 0;
   border-right-width: 0;
 }
+.oo-ui-comboBoxInputWidget.oo-ui-comboBoxInputWidget-empty input,
+.oo-ui-comboBoxInputWidget-php input {
+  border-top-right-radius: 2px;
+  border-bottom-right-radius: 2px;
+  border-right-width: 1px;
+}
 .oo-ui-comboBoxInputWidget-dropdownButton {
   width: 2.5em;
 }
@@ -1764,9 +1772,6 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout {
   border-top-left-radius: 0;
   border-bottom-left-radius: 0;
 }
-.oo-ui-comboBoxInputWidget.oo-ui-comboBoxInputWidget-empty input {
-  border-right-width: 1px;
-}
 .oo-ui-comboBoxInputWidget.oo-ui-widget-disabled .oo-ui-indicatorElement-indicator {
   opacity: 1;
 }
@@ -1790,8 +1795,7 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout {
   color: #72777d;
 }
 .oo-ui-checkboxMultioptionWidget {
-  cursor: default;
-  padding: 0.25em 0;
+  padding: 0.3125em 0;
 }
 .oo-ui-checkboxMultioptionWidget .oo-ui-checkboxInputWidget,
 .oo-ui-checkboxMultioptionWidget.oo-ui-labelElement .oo-ui-labelElement-label {
@@ -1799,7 +1803,7 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout {
   vertical-align: middle;
 }
 .oo-ui-checkboxMultioptionWidget.oo-ui-labelElement .oo-ui-labelElement-label {
-  padding: 0.25em 0.25em 0.25em 0.46875em;
+  padding-left: 0.46875em;
 }
 .oo-ui-checkboxMultioptionWidget .oo-ui-checkboxInputWidget {
   margin-right: 0;
index f10bdfa..fe11d68 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.19.5
+ * OOjs UI v0.20.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2017 OOjs UI Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2017-03-07T22:57:01Z
+ * Date: 2017-03-15T17:06:24Z
  */
 ( function ( OO ) {
 
@@ -1223,22 +1223,16 @@ OO.ui.Element.static.getClosestScrollableContainer = function ( el, dimension )
  * @param {string} [config.duration='fast'] jQuery animation duration value
  * @param {string} [config.direction] Scroll in only one direction, e.g. 'x' or 'y', omit
  *  to scroll in both directions
- * @param {Function} [config.complete] Function to call when scrolling completes.
- *  Deprecated since 0.15.4, use the return promise instead.
  * @return {jQuery.Promise} Promise which resolves when the scroll is complete
  */
 OO.ui.Element.static.scrollIntoView = function ( el, config ) {
-       var position, animations, callback, container, $container, elementDimensions, containerDimensions, $window,
+       var position, animations, container, $container, elementDimensions, containerDimensions, $window,
                deferred = $.Deferred();
 
        // Configuration initialization
        config = config || {};
 
        animations = {};
-       callback = typeof config.complete === 'function' && config.complete;
-       if ( callback ) {
-               OO.ui.warnDeprecation( 'Element#scrollIntoView: The `complete` callback config option is deprecated. Use the return promise instead.' );
-       }
        container = this.getClosestScrollableContainer( el, config.direction );
        $container = $( container );
        elementDimensions = this.getDimensions( el );
@@ -1281,16 +1275,10 @@ OO.ui.Element.static.scrollIntoView = function ( el, config ) {
        if ( !$.isEmptyObject( animations ) ) {
                $container.stop( true ).animate( animations, config.duration === undefined ? 'fast' : config.duration );
                $container.queue( function ( next ) {
-                       if ( callback ) {
-                               callback();
-                       }
                        deferred.resolve();
                        next();
                } );
        } else {
-               if ( callback ) {
-                       callback();
-               }
                deferred.resolve();
        }
        return deferred.promise();
@@ -3541,6 +3529,12 @@ OO.mixinClass( OO.ui.ButtonWidget, OO.ui.mixin.AccessKeyedElement );
  */
 OO.ui.ButtonWidget.static.cancelButtonMouseDownEvents = false;
 
+/**
+ * @static
+ * @inheritdoc
+ */
+OO.ui.ButtonWidget.static.tagName = 'span';
+
 /* Methods */
 
 /**
@@ -3718,6 +3712,14 @@ OO.ui.ButtonGroupWidget = function OoUiButtonGroupWidget( config ) {
 OO.inheritClass( OO.ui.ButtonGroupWidget, OO.ui.Widget );
 OO.mixinClass( OO.ui.ButtonGroupWidget, OO.ui.mixin.GroupElement );
 
+/* Static Properties */
+
+/**
+ * @static
+ * @inheritdoc
+ */
+OO.ui.ButtonGroupWidget.static.tagName = 'span';
+
 /**
  * IconWidget is a generic widget for {@link OO.ui.mixin.IconElement icons}. In general, IconWidgets should be used with OO.ui.LabelWidget,
  * which creates a label that identifies the icon’s function. See the [OOjs UI documentation on MediaWiki] [1]
@@ -5247,12 +5249,6 @@ OO.ui.PopupWidget.prototype.computePosition = function () {
  *  `backwards` or `forwards`.
  */
 OO.ui.PopupWidget.prototype.setAlignment = function ( align ) {
-       // Transform values deprecated since v0.11.0
-       if ( align === 'left' || align === 'right' ) {
-               OO.ui.warnDeprecation( 'PopupWidget#setAlignment parameter value `' + align + '` is deprecated. Use `force-right` or `force-left` instead.' );
-               align = { left: 'force-right', right: 'force-left' }[ align ];
-       }
-
        // Validate alignment
        if ( [ 'force-left', 'force-right', 'backwards', 'forwards', 'center' ].indexOf( align ) > -1 ) {
                this.align = align;
@@ -6723,7 +6719,8 @@ OO.ui.MenuSectionOptionWidget = function OoUiMenuSectionOptionWidget( config ) {
        OO.ui.MenuSectionOptionWidget.parent.call( this, config );
 
        // Initialization
-       this.$element.addClass( 'oo-ui-menuSectionOptionWidget' );
+       this.$element.addClass( 'oo-ui-menuSectionOptionWidget' )
+               .attr( 'role', '' );
 };
 
 /* Setup */
@@ -7939,23 +7936,6 @@ OO.ui.FloatingMenuSelectWidget.prototype.toggle = function ( visible ) {
        return this;
 };
 
-/*
- * The old name for the FloatingMenuSelectWidget widget, provided for backwards-compatibility.
- *
- * @class
- * @extends OO.ui.FloatingMenuSelectWidget
- *
- * @constructor
- * @deprecated since v0.12.5.
- */
-OO.ui.TextInputMenuSelectWidget = function OoUiTextInputMenuSelectWidget() {
-       OO.ui.warnDeprecation( 'TextInputMenuSelectWidget is deprecated. Use the FloatingMenuSelectWidget instead.' );
-       // Parent constructor
-       OO.ui.TextInputMenuSelectWidget.parent.apply( this, arguments );
-};
-
-OO.inheritClass( OO.ui.TextInputMenuSelectWidget, OO.ui.FloatingMenuSelectWidget );
-
 /**
  * Progress bars visually display the status of an operation, such as a download,
  * and can be either determinate or indeterminate:
@@ -8429,6 +8409,12 @@ OO.mixinClass( OO.ui.ButtonInputWidget, OO.ui.mixin.TitledElement );
  */
 OO.ui.ButtonInputWidget.static.supportsSimpleLabel = false;
 
+/**
+ * @static
+ * @inheritdoc
+ */
+OO.ui.ButtonInputWidget.static.tagName = 'span';
+
 /* Methods */
 
 /**
@@ -8543,6 +8529,14 @@ OO.ui.CheckboxInputWidget = function OoUiCheckboxInputWidget( config ) {
 
 OO.inheritClass( OO.ui.CheckboxInputWidget, OO.ui.InputWidget );
 
+/* Static Properties */
+
+/**
+ * @static
+ * @inheritdoc
+ */
+OO.ui.CheckboxInputWidget.static.tagName = 'span';
+
 /* Static Methods */
 
 /**
@@ -8740,10 +8734,17 @@ OO.ui.DropdownInputWidget.prototype.setOptions = function ( options ) {
                .clearItems()
                .addItems( options.map( function ( opt ) {
                        var optValue = widget.cleanUpValue( opt.data );
-                       return new OO.ui.MenuOptionWidget( {
-                               data: optValue,
-                               label: opt.label !== undefined ? opt.label : optValue
-                       } );
+
+                       if ( opt.optgroup === undefined ) {
+                               return new OO.ui.MenuOptionWidget( {
+                                       data: optValue,
+                                       label: opt.label !== undefined ? opt.label : optValue
+                               } );
+                       } else {
+                               return new OO.ui.MenuSectionOptionWidget( {
+                                       label: opt.optgroup
+                               } );
+                       }
                } ) );
 
        // Restore the previous value, or reset to something sensible
@@ -8836,6 +8837,14 @@ OO.ui.RadioInputWidget = function OoUiRadioInputWidget( config ) {
 
 OO.inheritClass( OO.ui.RadioInputWidget, OO.ui.InputWidget );
 
+/* Static Properties */
+
+/**
+ * @static
+ * @inheritdoc
+ */
+OO.ui.RadioInputWidget.static.tagName = 'span';
+
 /* Static Methods */
 
 /**
@@ -9266,7 +9275,7 @@ OO.ui.CheckboxMultiselectInputWidget.prototype.setOptions = function ( options )
  * @constructor
  * @param {Object} [config] Configuration options
  * @cfg {string} [type='text'] The value of the HTML `type` attribute: 'text', 'password', 'search',
- *  'email', 'url', 'date', 'month' or 'number'. Ignored if `multiline` is true.
+ *  'email', 'url' or 'number'. Ignored if `multiline` is true.
  *
  *  Some values of `type` result in additional behaviors:
  *
@@ -9793,8 +9802,6 @@ OO.ui.TextInputWidget.prototype.getSaneType = function ( config ) {
                'search',
                'email',
                'url',
-               'date',
-               'month',
                'number'
        ];
        return allowedTypes.indexOf( config.type ) !== -1 ? config.type : 'text';
@@ -10547,9 +10554,9 @@ OO.ui.FieldLayout = function OoUiFieldLayout( fieldWidget, config ) {
        this.fieldWidget = fieldWidget;
        this.errors = [];
        this.notices = [];
-       this.$field = $( '<div>' );
+       this.$field = this.isFieldInline() ? $( '<span>' ) : $( '<div>' );
        this.$messages = $( '<ul>' );
-       this.$header = $( '<div>' );
+       this.$header = $( '<span>' );
        this.$body = $( '<div>' );
        this.align = null;
        if ( config.help ) {
@@ -10629,6 +10636,17 @@ OO.ui.FieldLayout.prototype.getField = function () {
        return this.fieldWidget;
 };
 
+/**
+ * Return `true` if the given field widget can be used with `'inline'` alignment (see
+ * #setAlignment). Return `false` if it can't or if this can't be determined.
+ *
+ * @return {boolean}
+ */
+OO.ui.FieldLayout.prototype.isFieldInline = function () {
+       // This is very simplistic, but should be good enough.
+       return this.getField().$element.prop( 'tagName' ).toLowerCase() === 'span';
+};
+
 /**
  * @protected
  * @param {string} kind 'error' or 'notice'
@@ -10665,6 +10683,10 @@ OO.ui.FieldLayout.prototype.setAlignment = function ( value ) {
                if ( [ 'left', 'right', 'top', 'inline' ].indexOf( value ) === -1 ) {
                        value = 'left';
                }
+               // Validate
+               if ( value === 'inline' && !this.isFieldInline() ) {
+                       value = 'top';
+               }
                // Reorder elements
                if ( value === 'top' ) {
                        this.$header.append( this.$label, this.$help );
@@ -10800,8 +10822,8 @@ OO.ui.ActionFieldLayout = function OoUiActionFieldLayout( fieldWidget, buttonWid
 
        // Properties
        this.buttonWidget = buttonWidget;
-       this.$button = $( '<div>' );
-       this.$input = $( '<div>' );
+       this.$button = $( '<span>' );
+       this.$input = this.isFieldInline() ? $( '<span>' ) : $( '<div>' );
 
        // Initialization
        this.$element
index 7b1c099..b4a6392 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.19.5
+ * OOjs UI v0.20.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2017 OOjs UI Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2017-03-07T22:57:01Z
+ * Date: 2017-03-15T17:06:24Z
  */
 ( function ( OO ) {
 
index 7604589..479e2a5 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.19.5
+ * OOjs UI v0.20.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2017 OOjs UI Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2017-03-07T22:57:06Z
+ * Date: 2017-03-15T17:06:28Z
  */
 .oo-ui-popupTool .oo-ui-popupWidget-popup,
 .oo-ui-popupTool .oo-ui-popupWidget-anchor {
index ad1746d..df77684 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.19.5
+ * OOjs UI v0.20.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2017 OOjs UI Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2017-03-07T22:57:06Z
+ * Date: 2017-03-15T17:06:28Z
  */
 .oo-ui-tool.oo-ui-widget-enabled {
   -webkit-transition: background-color 100ms;
index 1574f6c..7d09854 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.19.5
+ * OOjs UI v0.20.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2017 OOjs UI Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2017-03-07T22:57:01Z
+ * Date: 2017-03-15T17:06:24Z
  */
 ( function ( OO ) {
 
index 4ec3d1c..7f8389e 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.19.5
+ * OOjs UI v0.20.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2017 OOjs UI Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2017-03-07T22:57:06Z
+ * Date: 2017-03-15T17:06:28Z
  */
 .oo-ui-draggableElement-handle,
 .oo-ui-draggableElement-handle.oo-ui-widget {
 .oo-ui-numberInputWidget-buttoned .oo-ui-buttonWidget,
 .oo-ui-numberInputWidget-buttoned .oo-ui-textInputWidget {
   display: table-cell;
+  height: 100%;
+}
+.oo-ui-numberInputWidget-buttoned .oo-ui-textInputWidget input {
+  height: 100%;
 }
 .oo-ui-numberInputWidget-field {
   display: table;
index f64a619..c79dc85 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.19.5
+ * OOjs UI v0.20.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2017 OOjs UI Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2017-03-07T22:57:06Z
+ * Date: 2017-03-15T17:06:28Z
  */
 .oo-ui-draggableElement-handle,
 .oo-ui-draggableElement-handle.oo-ui-widget {
           box-sizing: border-box;
   display: block;
   right: 2.375em;
-  margin: 0;
-  padding-left: 0.5em;
-  line-height: 2.3;
+  padding-top: 0.625em;
+  padding-left: 0.546875em;
+  padding-bottom: 0.546875em;
+  line-height: 1.172em;
   white-space: nowrap;
 }
 .oo-ui-selectFileWidget-fileName {
   text-overflow: ellipsis;
 }
 .oo-ui-selectFileWidget-clearButton {
-  top: 0;
+  top: -1px;
   right: 0;
   min-width: 24px;
   width: 1.875em;
   margin-right: 0;
 }
 .oo-ui-selectFileWidget-clearButton .oo-ui-buttonElement-button > .oo-ui-iconElement-icon {
-  height: 2.3em;
+  height: 2.5em;
 }
 .oo-ui-selectFileWidget-empty .oo-ui-selectFileWidget-label {
   color: #72777d;
 }
 .oo-ui-selectFileWidget.oo-ui-widget-disabled .oo-ui-selectFileWidget-info > .oo-ui-iconElement-icon,
 .oo-ui-selectFileWidget-empty.oo-ui-widget-disabled .oo-ui-selectFileWidget-info > .oo-ui-iconElement-icon,
-.oo-ui-selectFileWidget-notsupported .oo-ui-selectFileWidget-info > .oo-ui-iconElement-icon,
+.oo-ui-selectFileWidget-notsupported .oo-ui-selectFileWidget-info > .oo-ui-iconElement-icon {
+  opacity: 0.51;
+}
 .oo-ui-selectFileWidget.oo-ui-widget-disabled .oo-ui-selectFileWidget-info > .oo-ui-indicatorElement-indicator,
 .oo-ui-selectFileWidget-empty.oo-ui-widget-disabled .oo-ui-selectFileWidget-info > .oo-ui-indicatorElement-indicator,
 .oo-ui-selectFileWidget-notsupported .oo-ui-selectFileWidget-info > .oo-ui-indicatorElement-indicator {
-  opacity: 0.51;
+  opacity: 0.15;
 }
 .oo-ui-widget-disabled .oo-ui-selectFileWidget-dropLabel {
   display: none;
 .oo-ui-numberInputWidget-buttoned .oo-ui-buttonWidget,
 .oo-ui-numberInputWidget-buttoned .oo-ui-textInputWidget {
   display: table-cell;
+  height: 100%;
+}
+.oo-ui-numberInputWidget-buttoned .oo-ui-textInputWidget input {
+  height: 100%;
 }
 .oo-ui-numberInputWidget-field {
   display: table;
index d1fbe0d..c2e62fd 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.19.5
+ * OOjs UI v0.20.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2017 OOjs UI Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2017-03-07T22:57:01Z
+ * Date: 2017-03-15T17:06:24Z
  */
 ( function ( OO ) {
 
@@ -2739,6 +2739,14 @@ OO.mixinClass( OO.ui.ToggleButtonWidget, OO.ui.mixin.TitledElement );
 OO.mixinClass( OO.ui.ToggleButtonWidget, OO.ui.mixin.FlaggedElement );
 OO.mixinClass( OO.ui.ToggleButtonWidget, OO.ui.mixin.TabIndexedElement );
 
+/* Static Properties */
+
+/**
+ * @static
+ * @inheritdoc
+ */
+OO.ui.ToggleButtonWidget.static.tagName = 'span';
+
 /* Methods */
 
 /**
@@ -3969,7 +3977,7 @@ OO.ui.CapsuleMultiselectWidget.prototype.addItems = function ( items ) {
        }
        if ( !same ) {
                this.emit( 'change', this.getItemsData() );
-               this.updateIfHeightChanged();
+               this.updateInputSize();
        }
 
        return this;
@@ -4009,7 +4017,7 @@ OO.ui.CapsuleMultiselectWidget.prototype.removeItems = function ( items ) {
        }
        if ( !same ) {
                this.emit( 'change', this.getItemsData() );
-               this.updateIfHeightChanged();
+               this.updateInputSize();
        }
 
        return this;
@@ -4022,7 +4030,7 @@ OO.ui.CapsuleMultiselectWidget.prototype.clearItems = function () {
        if ( this.items.length ) {
                OO.ui.mixin.GroupElement.prototype.clearItems.call( this );
                this.emit( 'change', this.getItemsData() );
-               this.updateIfHeightChanged();
+               this.updateInputSize();
        }
        return this;
 };
@@ -4235,6 +4243,7 @@ OO.ui.CapsuleMultiselectWidget.prototype.updateInputSize = function () {
                currentWidth = this.$input.width();
 
                if ( contentWidth < currentWidth ) {
+                       this.updateIfHeightChanged();
                        // All is fine, don't perform expensive calculations
                        return;
                }
@@ -4256,6 +4265,8 @@ OO.ui.CapsuleMultiselectWidget.prototype.updateInputSize = function () {
                }
                this.$input.width( Math.floor( bestWidth ) );
                this.updateIfHeightChanged();
+       } else {
+               this.updateIfHeightChanged();
        }
 };
 
@@ -4376,23 +4387,6 @@ OO.ui.CapsuleMultiselectWidget.prototype.focus = function () {
        return this;
 };
 
-/**
- * The old name for the CapsuleMultiselectWidget widget, provided for backwards-compatibility.
- *
- * @class
- * @extends OO.ui.CapsuleMultiselectWidget
- *
- * @constructor
- * @deprecated since 0.17.3; use OO.ui.CapsuleMultiselectWidget instead
- */
-OO.ui.CapsuleMultiSelectWidget = function OoUiCapsuleMultiSelectWidget() {
-       OO.ui.warnDeprecation( 'CapsuleMultiSelectWidget is deprecated. Use the CapsuleMultiselectWidget instead.' );
-       // Parent constructor
-       OO.ui.CapsuleMultiSelectWidget.parent.apply( this, arguments );
-};
-
-OO.inheritClass( OO.ui.CapsuleMultiSelectWidget, OO.ui.CapsuleMultiselectWidget );
-
 /**
  * SelectFileWidgets allow for selecting files, using the HTML5 File API. These
  * widgets can be configured with {@link OO.ui.mixin.IconElement icons} and {@link
index 4353b43..17caa33 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.19.5
+ * OOjs UI v0.20.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2017 OOjs UI Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2017-03-07T22:57:06Z
+ * Date: 2017-03-15T17:06:28Z
  */
 .oo-ui-actionWidget.oo-ui-pendingElement-pending {
   background-image: /* @embed */ url(themes/apex/images/textures/pending.gif);
   color: #000;
 }
 .oo-ui-messageDialog-message {
-  font-size: 0.9em;
-  line-height: 1.25em;
-  color: #666;
-}
-.oo-ui-messageDialog-message-verbose {
   font-size: 1.1em;
   line-height: 1.5em;
+  color: #666;
   text-align: left;
 }
 .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget {
index 823b1a1..0530610 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.19.5
+ * OOjs UI v0.20.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2017 OOjs UI Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2017-03-07T22:57:06Z
+ * Date: 2017-03-15T17:06:28Z
  */
 .oo-ui-window {
   background: transparent;
   color: #000;
 }
 .oo-ui-messageDialog-message {
-  font-size: 0.9em;
-  line-height: 1.25;
-  color: #222;
-}
-.oo-ui-messageDialog-message-verbose {
   font-size: 1.1em;
   line-height: 1.4;
+  color: #222;
   text-align: left;
 }
 .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget {
   border-bottom-width: 0;
 }
 .oo-ui-messageDialog-actions .oo-ui-actionWidget {
-  min-height: 3.4em;
+  min-height: 3.4375em;
   margin-right: 0;
 }
 .oo-ui-messageDialog-actions .oo-ui-actionWidget:last-child {
   border-radius: 0;
 }
 .oo-ui-messageDialog-actions .oo-ui-actionWidget.oo-ui-labelElement .oo-ui-labelElement-label {
-  line-height: 3.4;
+  line-height: 3.4375em;
   text-align: center;
 }
 .oo-ui-messageDialog-actions .oo-ui-actionWidget:hover {
   overflow-y: auto;
 }
 .oo-ui-processDialog-content .oo-ui-window-head {
-  height: 3.4em;
+  height: 3.4375em;
 }
 .oo-ui-processDialog-content .oo-ui-window-body {
-  top: 3.4em;
-  outline: 1px solid rgba(0, 0, 0, 0.2);
+  top: 3.4375em;
+  outline: 1px solid #c8ccd1;
 }
 .oo-ui-processDialog-navigation {
   position: relative;
-  height: 3.4em;
-  padding: 0 1em;
+  height: 3.4375em;
 }
 .oo-ui-processDialog-location {
-  padding: 0.75em 0;
-  height: 1.875em;
+  height: 3.4375em;
   cursor: default;
   text-align: center;
 }
 .oo-ui-processDialog-title {
   font-weight: bold;
-  line-height: 1.875em;
+  line-height: 3.4375em;
 }
 .oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-buttonElement-framed,
 .oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-buttonElement-framed,
 .oo-ui-processDialog-actions-other .oo-ui-actionWidget.oo-ui-buttonElement-framed {
-  margin: 0.5em;
-}
-.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-buttonElement-frameless,
-.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-buttonElement-frameless,
-.oo-ui-processDialog-actions-other .oo-ui-actionWidget.oo-ui-buttonElement-frameless {
-  margin: 0;
+  margin: 0.46875em;
 }
 .oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-buttonElement-frameless .oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-buttonElement-frameless .oo-ui-buttonElement-button,
   top: 1em;
   bottom: 1em;
   max-height: 100%;
-  max-height: calc(100% - 2em);
+  max-height: calc( 100% - 2em );
   border: 1px solid #a2a9b1;
   border-radius: 2px;
   box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.25);
index 586efb0..ab78a4a 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.19.5
+ * OOjs UI v0.20.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2017 OOjs UI Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2017-03-07T22:57:01Z
+ * Date: 2017-03-15T17:06:24Z
  */
 ( function ( OO ) {
 
@@ -118,7 +118,10 @@ OO.ui.ActionWidget.prototype.propagateResize = function () {
                if ( width !== this.width || height !== this.height ) {
                        this.width = width;
                        this.height = height;
-                       this.emit( 'resize' );
+                       this.emit( 'resizePrivate' );
+                       if ( this.emit( 'resize' ) ) {
+                               OO.ui.warnDeprecation( 'ActionWidget: resize event is deprecated. See T129162.' );
+                       }
                }
        }
 
@@ -561,9 +564,13 @@ OO.ui.ActionSet.prototype.add = function ( actions ) {
                action = actions[ i ];
                action.connect( this, {
                        click: [ 'emit', 'click', action ],
-                       resize: [ 'emit', 'resize', action ],
                        toggle: [ 'onActionChange' ]
                } );
+               action.on( 'resizePrivate', function ( action ) {
+                       if ( this.emit( 'resize', action ) ) {
+                               OO.ui.warnDeprecation( 'ActionSet: resize event is deprecated. See T129162.' );
+                       }
+               }, [ action ], this );
                this.list.push( action );
        }
        this.organized = false;
@@ -2733,12 +2740,6 @@ OO.ui.MessageDialog.static.name = 'message';
  */
 OO.ui.MessageDialog.static.size = 'small';
 
-/**
- * @static
- * @deprecated since v0.18.4 as default; TODO: Remove
- */
-OO.ui.MessageDialog.static.verbose = true;
-
 /**
  * Dialog title.
  *
@@ -2856,11 +2857,6 @@ OO.ui.MessageDialog.prototype.getSetupProcess = function ( data ) {
                        this.message.setLabel(
                                data.message !== undefined ? data.message : this.constructor.static.message
                        );
-                       // @deprecated since v0.18.4 as default; TODO: Remove and make default instead.
-                       this.message.$element.toggleClass(
-                               'oo-ui-messageDialog-message-verbose',
-                               data.verbose !== undefined ? data.verbose : this.constructor.static.verbose
-                       );
                }, this );
 };
 
index ec18f29..5b6ac3c 100644 (file)
@@ -9,8 +9,6 @@
        },
        "images": {
                "add": { "file": "images/icons/add.svg" },
-               "beta": { "file": "images/icons/beta.svg", "deprecated": "Deprecated since v0.18.3, don't use." },
-               "betaLaunch": { "file": "images/icons/logo-wikimediaDiscovery.svg", "deprecated": "Moved since v0.18.3, use 'logoWikimediaDiscovery' from the 'Wikimedia' pack instead." },
                "bookmark": { "file": {
                        "ltr": "images/icons/bookmark-ltr.svg",
                        "rtl": "images/icons/bookmark-rtl.svg"
@@ -50,7 +48,6 @@
                        "ltr": "images/icons/printer-ltr.svg",
                        "rtl": "images/icons/printer-rtl.svg"
                } },
-               "ribbonPrize": { "file": "images/icons/ribbonPrize.svg", "deprecated": "Deprecated since v0.18.3, don't use." },
                "subtract": { "file": "images/icons/subtract.svg" },
                "sun": { "file": {
                        "ltr": "images/icons/sun-ltr.svg",
index c8385e4..b32ffbb 100644 (file)
@@ -3,10 +3,6 @@
        "intro": "@import '../../../../src/styles/common';",
        "images": {
                "block": { "file": "images/icons/block.svg" },
-               "blockUndo": { "file": {
-                       "ltr": "images/icons/unBlock-ltr.svg",
-                       "rtl": "images/icons/unBlock-rtl.svg"
-               }, "deprecated": "Renamed since v0.18.3, use 'unBlock' instead." },
                "unBlock": { "file": {
                        "ltr": "images/icons/unBlock-ltr.svg",
                        "rtl": "images/icons/unBlock-rtl.svg"
                        "ltr": "images/icons/flag-ltr.svg",
                        "rtl": "images/icons/flag-rtl.svg"
                } },
-               "flagUndo": { "file": {
-                       "ltr": "images/icons/unFlag-ltr.svg",
-                       "rtl": "images/icons/unFlag-rtl.svg"
-               }, "deprecated": "Renamed since v0.18.3, use 'unFlag' instead." },
                "unFlag": { "file": {
                        "ltr": "images/icons/unFlag-ltr.svg",
                        "rtl": "images/icons/unFlag-rtl.svg"
                        "ltr": "images/icons/unTrash-ltr.svg",
                        "rtl": "images/icons/unTrash-rtl.svg"
                } },
-               "trashUndo": { "file": {
-                       "ltr": "images/icons/unTrash-ltr.svg",
-                       "rtl": "images/icons/unTrash-rtl.svg"
-               }, "deprecated": "Renamed since v0.18.3, use 'unTrash' instead." },
                "ongoingConversation": {
                        "file": {
                                "ltr": "images/icons/ongoingConversation-ltr.svg",
diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/beta-invert.png b/resources/lib/oojs-ui/themes/apex/images/icons/beta-invert.png
deleted file mode 100644 (file)
index c3b26b8..0000000
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/beta-invert.png and /dev/null differ
diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/beta-invert.svg b/resources/lib/oojs-ui/themes/apex/images/icons/beta-invert.svg
deleted file mode 100644 (file)
index a140a5a..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g fill="#FFFFFF">
-    <path d="M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm4 12l-3-2-1 4-1-4-3 2 2-3-4-1 4-1-2-3 3 2 1-4 1 4 3-2-2 3 4 1-4 1 2 3z"/>
-</g></svg>
diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/beta.png b/resources/lib/oojs-ui/themes/apex/images/icons/beta.png
deleted file mode 100644 (file)
index 7b31e1e..0000000
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/beta.png and /dev/null differ
diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/beta.svg b/resources/lib/oojs-ui/themes/apex/images/icons/beta.svg
deleted file mode 100644 (file)
index 51a5c78..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
-    <path d="M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm4 12l-3-2-1 4-1-4-3 2 2-3-4-1 4-1-2-3 3 2 1-4 1 4 3-2-2 3 4 1-4 1 2 3z"/>
-</svg>
diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/logo-wikimediaDiscovery-invert.png b/resources/lib/oojs-ui/themes/apex/images/icons/logo-wikimediaDiscovery-invert.png
deleted file mode 100644 (file)
index 0963538..0000000
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/logo-wikimediaDiscovery-invert.png and /dev/null differ
diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/logo-wikimediaDiscovery-invert.svg b/resources/lib/oojs-ui/themes/apex/images/icons/logo-wikimediaDiscovery-invert.svg
deleted file mode 100644 (file)
index 971ac48..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g fill="#FFFFFF">
-    <path d="M15.3 14.7C16.1 10.9 14.7 4 12 4c-2.7 0-4.2 6.7-3.4 10.5L7 18h2.7l.3 1h4c.2-.3.1-.5.3-1H17l-1.7-3.3zM12 10c-.8 0-1.5-.7-1.5-1.5S11.2 7 12 7s1.5.7 1.5 1.5S12.8 10 12 10zm2 10c0 1.1-2 2-2 2s-2-.9-2-2"/>
-</g></svg>
diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/logo-wikimediaDiscovery.png b/resources/lib/oojs-ui/themes/apex/images/icons/logo-wikimediaDiscovery.png
deleted file mode 100644 (file)
index 6d3c067..0000000
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/logo-wikimediaDiscovery.png and /dev/null differ
diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/logo-wikimediaDiscovery.svg b/resources/lib/oojs-ui/themes/apex/images/icons/logo-wikimediaDiscovery.svg
deleted file mode 100644 (file)
index c3f99d6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
-    <path d="M15.3 14.7C16.1 10.9 14.7 4 12 4c-2.7 0-4.2 6.7-3.4 10.5L7 18h2.7l.3 1h4c.2-.3.1-.5.3-1H17l-1.7-3.3zM12 10c-.8 0-1.5-.7-1.5-1.5S11.2 7 12 7s1.5.7 1.5 1.5S12.8 10 12 10zm2 10c0 1.1-2 2-2 2s-2-.9-2-2"/>
-</svg>
diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/ribbonPrize-invert.png b/resources/lib/oojs-ui/themes/apex/images/icons/ribbonPrize-invert.png
deleted file mode 100644 (file)
index 46a180d..0000000
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/ribbonPrize-invert.png and /dev/null differ
diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/ribbonPrize-invert.svg b/resources/lib/oojs-ui/themes/apex/images/icons/ribbonPrize-invert.svg
deleted file mode 100644 (file)
index 578f12b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g fill="#FFFFFF">
-    <circle cx="11.5" cy="8.5" r="2.5"/>
-    <path d="M16.3 8.7L17 8l-.8-.8.4-.8-1.1-.5.1-.9-1.2-.2-.1-.9-1.2.2-.4-.8-1.1.5L11 3l-.8.8-.9-.4-.5 1.1-.9-.2-.2 1.2-.9.2.2 1.2-.9.4.5 1.1L6 9l.8.8-.4.8 1.1.5-.1.9 1.2.2.1.9 1.2-.2.4.8 1.1-.5.6.8.8-.8.8.4.5-1.1.9.1.2-1.2.9-.1-.2-1.2.8-.4-.4-1zM11.5 12C9.6 12 8 10.4 8 8.5S9.6 5 11.5 5 15 6.6 15 8.5 13.4 12 11.5 12zm.5 3l-.7-.7-1.1.6-.4-.7-.8.3V23l2.5-3 2.5 3v-8.5l-1-.5z"/>
-</g></svg>
diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/ribbonPrize.png b/resources/lib/oojs-ui/themes/apex/images/icons/ribbonPrize.png
deleted file mode 100644 (file)
index 1010574..0000000
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/ribbonPrize.png and /dev/null differ
diff --git a/resources/lib/oojs-ui/themes/apex/images/icons/ribbonPrize.svg b/resources/lib/oojs-ui/themes/apex/images/icons/ribbonPrize.svg
deleted file mode 100644 (file)
index 45df8b7..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
-    <circle cx="11.5" cy="8.5" r="2.5"/>
-    <path d="M16.3 8.7L17 8l-.8-.8.4-.8-1.1-.5.1-.9-1.2-.2-.1-.9-1.2.2-.4-.8-1.1.5L11 3l-.8.8-.9-.4-.5 1.1-.9-.2-.2 1.2-.9.2.2 1.2-.9.4.5 1.1L6 9l.8.8-.4.8 1.1.5-.1.9 1.2.2.1.9 1.2-.2.4.8 1.1-.5.6.8.8-.8.8.4.5-1.1.9.1.2-1.2.9-.1-.2-1.2.8-.4-.4-1zM11.5 12C9.6 12 8 10.4 8 8.5S9.6 5 11.5 5 15 6.6 15 8.5 13.4 12 11.5 12zm.5 3l-.7-.7-1.1.6-.4-.7-.8.3V23l2.5-3 2.5 3v-8.5l-1-.5z"/>
-</svg>
index 827a72e..f693e3f 100644 (file)
@@ -23,8 +23,6 @@
        },
        "images": {
                "add": { "file": "images/icons/add.svg", "variants": [ "constructive", "progressive" ] },
-               "beta": { "file": "images/icons/beta.svg", "deprecated": "Deprecated since v0.18.3, don't use." },
-               "betaLaunch": { "file": "images/icons/logo-wikimediaDiscovery.svg", "deprecated": "Moved since v0.18.3, use 'logoWikimediaDiscovery' from the 'Wikimedia' pack instead." },
                "bookmark": { "file": {
                        "ltr": "images/icons/bookmark-ltr.svg",
                        "rtl": "images/icons/bookmark-rtl.svg"
@@ -67,7 +65,6 @@
                        "ltr": "images/icons/printer-ltr.svg",
                        "rtl": "images/icons/printer-rtl.svg"
                } },
-               "ribbonPrize": { "file": "images/icons/ribbonPrize.svg", "deprecated": "Deprecated since v0.18.3, don't use." },
                "subtract": { "file": "images/icons/subtract.svg" },
                "sun": { "file": {
                        "ltr": "images/icons/sun-ltr.svg",
index b4acff1..0a1ccd7 100644 (file)
        },
        "images": {
                "block": { "file": "images/icons/block.svg", "variants": [ "destructive" ] },
-               "blockUndo": { "file": {
-                       "ltr": "images/icons/unBlock-ltr.svg",
-                       "rtl": "images/icons/unBlock-rtl.svg"
-               }, "deprecated": "Renamed since v0.18.3, use 'unBlock' instead." },
                "unBlock": { "file": {
                        "ltr": "images/icons/unBlock-ltr.svg",
                        "rtl": "images/icons/unBlock-rtl.svg"
                        "ltr": "images/icons/unFlag-ltr.svg",
                        "rtl": "images/icons/unFlag-rtl.svg"
                } },
-               "flagUndo": { "file": {
-                       "ltr": "images/icons/unFlag-ltr.svg",
-                       "rtl": "images/icons/unFlag-rtl.svg"
-               }, "deprecated": "Renamed since v0.18.3, use 'unFlag' instead." },
                "lock": { "file": {
                        "ltr": "images/icons/lock-ltr.svg",
                        "rtl": "images/icons/lock-rtl.svg"
                        "ltr": "images/icons/unTrash-ltr.svg",
                        "rtl": "images/icons/unTrash-rtl.svg"
                } },
-               "trashUndo": { "file": {
-                       "ltr": "images/icons/unTrash-ltr.svg",
-                       "rtl": "images/icons/unTrash-rtl.svg"
-               }, "deprecated": "Renamed since v0.18.3, use 'unTrash' instead." },
                "ongoingConversation": {
                        "file": {
                                "ltr": "images/icons/ongoingConversation-ltr.svg",
index 14f6b18..3bdecff 100644 (file)
                "progressive": {
                        "color": "#36c",
                        "global": true
-               },
-               "constructive": {
-                       "color": "#36c"
-               },
-               "destructive": {
-                       "color": "#d33"
-               },
-               "warning": {
-                       "color": "#ff5d00"
                }
        },
        "images": {
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/icons/beta-invert.png b/resources/lib/oojs-ui/themes/mediawiki/images/icons/beta-invert.png
deleted file mode 100644 (file)
index c3b26b8..0000000
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/beta-invert.png and /dev/null differ
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/icons/beta-invert.svg b/resources/lib/oojs-ui/themes/mediawiki/images/icons/beta-invert.svg
deleted file mode 100644 (file)
index eca628f..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g fill="#fff">
-    <path d="M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm4 12l-3-2-1 4-1-4-3 2 2-3-4-1 4-1-2-3 3 2 1-4 1 4 3-2-2 3 4 1-4 1 2 3z"/>
-</g></svg>
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/icons/beta-progressive.png b/resources/lib/oojs-ui/themes/mediawiki/images/icons/beta-progressive.png
deleted file mode 100644 (file)
index 4c67bac..0000000
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/beta-progressive.png and /dev/null differ
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/icons/beta-progressive.svg b/resources/lib/oojs-ui/themes/mediawiki/images/icons/beta-progressive.svg
deleted file mode 100644 (file)
index ba896ef..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g fill="#36c">
-    <path d="M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm4 12l-3-2-1 4-1-4-3 2 2-3-4-1 4-1-2-3 3 2 1-4 1 4 3-2-2 3 4 1-4 1 2 3z"/>
-</g></svg>
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/icons/beta.png b/resources/lib/oojs-ui/themes/mediawiki/images/icons/beta.png
deleted file mode 100644 (file)
index 7b31e1e..0000000
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/beta.png and /dev/null differ
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/icons/beta.svg b/resources/lib/oojs-ui/themes/mediawiki/images/icons/beta.svg
deleted file mode 100644 (file)
index 51a5c78..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
-    <path d="M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm4 12l-3-2-1 4-1-4-3 2 2-3-4-1 4-1-2-3 3 2 1-4 1 4 3-2-2 3 4 1-4 1 2 3z"/>
-</svg>
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/icons/ribbonPrize-invert.png b/resources/lib/oojs-ui/themes/mediawiki/images/icons/ribbonPrize-invert.png
deleted file mode 100644 (file)
index 46a180d..0000000
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/ribbonPrize-invert.png and /dev/null differ
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/icons/ribbonPrize-invert.svg b/resources/lib/oojs-ui/themes/mediawiki/images/icons/ribbonPrize-invert.svg
deleted file mode 100644 (file)
index 640d263..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g fill="#fff">
-    <circle cx="11.5" cy="8.5" r="2.5"/>
-    <path d="M16.3 8.7L17 8l-.8-.8.4-.8-1.1-.5.1-.9-1.2-.2-.1-.9-1.2.2-.4-.8-1.1.5L11 3l-.8.8-.9-.4-.5 1.1-.9-.2-.2 1.2-.9.2.2 1.2-.9.4.5 1.1L6 9l.8.8-.4.8 1.1.5-.1.9 1.2.2.1.9 1.2-.2.4.8 1.1-.5.6.8.8-.8.8.4.5-1.1.9.1.2-1.2.9-.1-.2-1.2.8-.4-.4-1zM11.5 12C9.6 12 8 10.4 8 8.5S9.6 5 11.5 5 15 6.6 15 8.5 13.4 12 11.5 12zm.5 3l-.7-.7-1.1.6-.4-.7-.8.3V23l2.5-3 2.5 3v-8.5l-1-.5z"/>
-</g></svg>
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/icons/ribbonPrize-progressive.png b/resources/lib/oojs-ui/themes/mediawiki/images/icons/ribbonPrize-progressive.png
deleted file mode 100644 (file)
index 79effe1..0000000
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/ribbonPrize-progressive.png and /dev/null differ
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/icons/ribbonPrize-progressive.svg b/resources/lib/oojs-ui/themes/mediawiki/images/icons/ribbonPrize-progressive.svg
deleted file mode 100644 (file)
index c0aa287..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g fill="#36c">
-    <circle cx="11.5" cy="8.5" r="2.5"/>
-    <path d="M16.3 8.7L17 8l-.8-.8.4-.8-1.1-.5.1-.9-1.2-.2-.1-.9-1.2.2-.4-.8-1.1.5L11 3l-.8.8-.9-.4-.5 1.1-.9-.2-.2 1.2-.9.2.2 1.2-.9.4.5 1.1L6 9l.8.8-.4.8 1.1.5-.1.9 1.2.2.1.9 1.2-.2.4.8 1.1-.5.6.8.8-.8.8.4.5-1.1.9.1.2-1.2.9-.1-.2-1.2.8-.4-.4-1zM11.5 12C9.6 12 8 10.4 8 8.5S9.6 5 11.5 5 15 6.6 15 8.5 13.4 12 11.5 12zm.5 3l-.7-.7-1.1.6-.4-.7-.8.3V23l2.5-3 2.5 3v-8.5l-1-.5z"/>
-</g></svg>
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/icons/ribbonPrize.png b/resources/lib/oojs-ui/themes/mediawiki/images/icons/ribbonPrize.png
deleted file mode 100644 (file)
index 1010574..0000000
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/ribbonPrize.png and /dev/null differ
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/icons/ribbonPrize.svg b/resources/lib/oojs-ui/themes/mediawiki/images/icons/ribbonPrize.svg
deleted file mode 100644 (file)
index 45df8b7..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
-    <circle cx="11.5" cy="8.5" r="2.5"/>
-    <path d="M16.3 8.7L17 8l-.8-.8.4-.8-1.1-.5.1-.9-1.2-.2-.1-.9-1.2.2-.4-.8-1.1.5L11 3l-.8.8-.9-.4-.5 1.1-.9-.2-.2 1.2-.9.2.2 1.2-.9.4.5 1.1L6 9l.8.8-.4.8 1.1.5-.1.9 1.2.2.1.9 1.2-.2.4.8 1.1-.5.6.8.8-.8.8.4.5-1.1.9.1.2-1.2.9-.1-.2-1.2.8-.4-.4-1zM11.5 12C9.6 12 8 10.4 8 8.5S9.6 5 11.5 5 15 6.6 15 8.5 13.4 12 11.5 12zm.5 3l-.7-.7-1.1.6-.4-.7-.8.3V23l2.5-3 2.5 3v-8.5l-1-.5z"/>
-</svg>
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/alert-progressive.png b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/alert-progressive.png
deleted file mode 100644 (file)
index fa85ac3..0000000
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/alert-progressive.png and /dev/null differ
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/alert-progressive.svg b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/alert-progressive.svg
deleted file mode 100644 (file)
index 900e477..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><g fill="#36c">
-    <path d="M6 12A6 6 0 1 1 6 0a6 6 0 0 1 0 12zM5 7h2V2H5zm0 3h2V8H5z" id="alert"/>
-</g></svg>
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-down-progressive.png b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-down-progressive.png
deleted file mode 100644 (file)
index 3539c88..0000000
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-down-progressive.png and /dev/null differ
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-down-progressive.svg b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-down-progressive.svg
deleted file mode 100644 (file)
index 511359a..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><g fill="#36c">
-    <g id="down">
-        <path id="arrow" d="M1 4h10L6 9 1 4"/>
-    </g>
-</g></svg>
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-ltr-progressive.png b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-ltr-progressive.png
deleted file mode 100644 (file)
index 7d50f19..0000000
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-ltr-progressive.png and /dev/null differ
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-ltr-progressive.svg b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-ltr-progressive.svg
deleted file mode 100644 (file)
index fc6cb9a..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><g fill="#36c">
-    <g id="ltr">
-        <path id="arrow" d="M4 1v10l5-5-5-5"/>
-    </g>
-</g></svg>
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-rtl-progressive.png b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-rtl-progressive.png
deleted file mode 100644 (file)
index 27bfa29..0000000
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-rtl-progressive.png and /dev/null differ
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-rtl-progressive.svg b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-rtl-progressive.svg
deleted file mode 100644 (file)
index 8f1a254..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><g fill="#36c">
-    <g id="rtl">
-        <path id="arrow" d="M8 11V1L3 6l5 5"/>
-    </g>
-</g></svg>
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-up-progressive.png b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-up-progressive.png
deleted file mode 100644 (file)
index 521e438..0000000
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-up-progressive.png and /dev/null differ
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-up-progressive.svg b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-up-progressive.svg
deleted file mode 100644 (file)
index 4e9221a..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><g fill="#36c">
-    <g id="up">
-        <path id="arrow" d="M1 8h10L6 3 1 8"/>
-    </g>
-</g></svg>
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/clear-progressive.png b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/clear-progressive.png
deleted file mode 100644 (file)
index 325dbeb..0000000
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/clear-progressive.png and /dev/null differ
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/clear-progressive.svg b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/clear-progressive.svg
deleted file mode 100644 (file)
index 4ea1013..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><g fill="#36c">
-    <g id="clear">
-        <path id="circle-with-cross" d="M6 0C2.7 0 0 2.7 0 6s2.7 6 6 6 6-2.7 6-6-2.7-6-6-6zM3.5 2.5L6 5l2.5-2.5 1 1L7 6l2.5 2.5-1 1L6 7 3.5 9.5l-1-1L5 6 2.5 3.5z"/>
-    </g>
-</g></svg>
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/required-progressive.png b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/required-progressive.png
deleted file mode 100644 (file)
index 01e84e6..0000000
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/required-progressive.png and /dev/null differ
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/required-progressive.svg b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/required-progressive.svg
deleted file mode 100644 (file)
index ab95a3d..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><g fill="#36c">
-    <path d="M5 1h2v10H5zm4.83 1.634l1 1.732-8.66 5-1-1.732zM1.17 4.366l1-1.732 8.66 5-1 1.732z" id="required"/>
-</g></svg>
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-ltr-progressive.png b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-ltr-progressive.png
deleted file mode 100644 (file)
index 84c7dbc..0000000
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-ltr-progressive.png and /dev/null differ
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-ltr-progressive.svg b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-ltr-progressive.svg
deleted file mode 100644 (file)
index 5e8e395..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><g fill="#36c">
-    <g id="search">
-        <path id="magnifying-glass" d="M10.37 9.474L7.994 7.1l-.17-.1a3.45 3.45 0 0 0 .644-2.01A3.478 3.478 0 1 0 4.99 8.47c.75 0 1.442-.24 2.01-.648l.098.17 2.375 2.373c.19.188.543.142.79-.105s.293-.6.104-.79zm-5.38-2.27a2.21 2.21 0 1 1 2.21-2.21A2.21 2.21 0 0 1 4.99 7.21z"/>
-    </g>
-</g></svg>
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-rtl-progressive.png b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-rtl-progressive.png
deleted file mode 100644 (file)
index 0207a8b..0000000
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-rtl-progressive.png and /dev/null differ
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-rtl-progressive.svg b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-rtl-progressive.svg
deleted file mode 100644 (file)
index 015d02e..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><g fill="#36c">
-    <g id="search">
-        <path id="magnifying-glass" d="M1.63 9.474L4.006 7.1l.17-.1a3.45 3.45 0 0 1-.644-2.01A3.478 3.478 0 1 1 7.01 8.47 3.43 3.43 0 0 1 5 7.822l-.098.17-2.375 2.373c-.19.188-.543.142-.79-.105s-.293-.6-.104-.79zm5.378-2.27A2.21 2.21 0 1 0 4.8 4.994 2.21 2.21 0 0 0 7.01 7.21z"/>
-    </g>
-</g></svg>
index 91d0358..df32417 100644 (file)
@@ -8,8 +8,7 @@
                        "global": true
                },
                "progressive": {
-                       "color": "#36c",
-                       "global": true
+                       "color": "#36c"
                },
                "constructive": {
                        "color": "#36c"
diff --git a/resources/src/jquery/images/jquery.arrowSteps.divider-ltr.png b/resources/src/jquery/images/jquery.arrowSteps.divider-ltr.png
deleted file mode 100644 (file)
index 84ed2a2..0000000
Binary files a/resources/src/jquery/images/jquery.arrowSteps.divider-ltr.png and /dev/null differ
diff --git a/resources/src/jquery/images/jquery.arrowSteps.divider-rtl.png b/resources/src/jquery/images/jquery.arrowSteps.divider-rtl.png
deleted file mode 100644 (file)
index c212aeb..0000000
Binary files a/resources/src/jquery/images/jquery.arrowSteps.divider-rtl.png and /dev/null differ
diff --git a/resources/src/jquery/images/jquery.arrowSteps.head-ltr.png b/resources/src/jquery/images/jquery.arrowSteps.head-ltr.png
deleted file mode 100644 (file)
index e6546bf..0000000
Binary files a/resources/src/jquery/images/jquery.arrowSteps.head-ltr.png and /dev/null differ
diff --git a/resources/src/jquery/images/jquery.arrowSteps.head-rtl.png b/resources/src/jquery/images/jquery.arrowSteps.head-rtl.png
deleted file mode 100644 (file)
index 2af30b9..0000000
Binary files a/resources/src/jquery/images/jquery.arrowSteps.head-rtl.png and /dev/null differ
diff --git a/resources/src/jquery/images/jquery.arrowSteps.tail-ltr.png b/resources/src/jquery/images/jquery.arrowSteps.tail-ltr.png
deleted file mode 100644 (file)
index 3ad990b..0000000
Binary files a/resources/src/jquery/images/jquery.arrowSteps.tail-ltr.png and /dev/null differ
diff --git a/resources/src/jquery/images/jquery.arrowSteps.tail-rtl.png b/resources/src/jquery/images/jquery.arrowSteps.tail-rtl.png
deleted file mode 100644 (file)
index 1d3048e..0000000
Binary files a/resources/src/jquery/images/jquery.arrowSteps.tail-rtl.png and /dev/null differ
diff --git a/resources/src/jquery/jquery.arrowSteps.css b/resources/src/jquery/jquery.arrowSteps.css
deleted file mode 100644 (file)
index 92c6c43..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-.arrowSteps {
-       list-style-type: none;
-       list-style-image: none;
-       border: 1px solid #666;
-       position: relative;
-}
-
-.arrowSteps li {
-       float: left;
-       padding: 0;
-       margin: 0;
-       border: 0;
-}
-
-.arrowSteps li div {
-       padding: 0.5em;
-       text-align: center;
-       white-space: nowrap;
-       overflow: hidden;
-}
-
-.arrowSteps li.arrow div {
-       /* @embed */
-       background: url( images/jquery.arrowSteps.divider-ltr.png ) no-repeat right center;
-}
-
-/* applied to the element preceding the highlighted step */
-.arrowSteps li.arrow.tail div {
-       /* @embed */
-       background: url( images/jquery.arrowSteps.tail-ltr.png ) no-repeat right center;
-}
-
-/* this applies to all highlighted, including the last */
-.arrowSteps li.head div {
-       /* @embed */
-       background: url( images/jquery.arrowSteps.head-ltr.png ) no-repeat left center;
-       font-weight: bold;
-}
-
-/* this applies to all highlighted arrows except the last */
-.arrowSteps li.arrow.head div {
-       /* TODO: eliminate duplication of jquery.arrowSteps.head.png embedding */
-       /* @embed */
-       background: url( images/jquery.arrowSteps.head-ltr.png ) no-repeat right center;
-}
diff --git a/resources/src/jquery/jquery.arrowSteps.js b/resources/src/jquery/jquery.arrowSteps.js
deleted file mode 100644 (file)
index b0c36c6..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-/*!
- * jQuery arrowSteps plugin
- * Copyright Neil Kandalgaonkar, 2010
- *
- * This work is licensed under the terms of the GNU General Public License,
- * version 2 or later.
- * (see http://www.fsf.org/licensing/licenses/gpl.html).
- * Derivative works and later versions of the code must be free software
- * licensed under the same or a compatible license.
- */
-
-/**
- * @class jQuery.plugin.arrowSteps
- */
-( function ( $ ) {
-       /**
-        * Show users their progress through a series of steps, via a row of items that fit
-        * together like arrows. One item can be highlighted at a time.
-        *
-        *     <ul id="robin-hood-daffy">
-        *       <li id="guard"><div>Guard!</div></li>
-        *       <li id="turn"><div>Turn!</div></li>
-        *       <li id="parry"><div>Parry!</div></li>
-        *       <li id="dodge"><div>Dodge!</div></li>
-        *       <li id="spin"><div>Spin!</div></li>
-        *       <li id="ha"><div>Ha!</div></li>
-        *       <li id="thrust"><div>Thrust!</div></li>
-        *     </ul>
-        *
-        *     <script>
-        *       $( '#robin-hood-daffy' ).arrowSteps();
-        *     </script>
-        *
-        * @return {jQuery}
-        * @chainable
-        */
-       $.fn.arrowSteps = function () {
-               var $steps, width, arrowWidth, $stepDiv,
-                       $el = this,
-                       paddingSide = $( 'body' ).hasClass( 'rtl' ) ? 'padding-left' : 'padding-right';
-
-               $el.addClass( 'arrowSteps' );
-               $steps = $el.find( 'li' );
-
-               width = parseInt( 100 / $steps.length, 10 );
-               $steps.css( 'width', width + '%' );
-
-               // Every step except the last one has an arrow pointing forward:
-               // at the right hand side in LTR languages, and at the left hand side in RTL.
-               // Also add in the padding for the calculated arrow width.
-               $stepDiv = $steps.filter( ':not(:last-child)' ).addClass( 'arrow' ).find( 'div' );
-
-               // Execute when complete page is fully loaded, including all frames, objects and images
-               $( window ).on( 'load', function () {
-                       arrowWidth = parseInt( $el.outerHeight(), 10 );
-                       $stepDiv.css( paddingSide, arrowWidth.toString() + 'px' );
-               } );
-
-               $el.data( 'arrowSteps', $steps );
-
-               return this;
-       };
-
-       /**
-        * Highlights the element selected by the selector.
-        *
-        *       $( '#robin-hood-daffy' ).arrowStepsHighlight( '#guard' );
-        *       // 'Guard!' is highlighted.
-        *
-        *       // ... user completes the 'guard' step ...
-        *
-        *       $( '#robin-hood-daffy' ).arrowStepsHighlight( '#turn' );
-        *       // 'Turn!' is highlighted.
-        *
-        * @param {string} selector
-        */
-       $.fn.arrowStepsHighlight = function ( selector ) {
-               var $previous,
-                       $steps = this.data( 'arrowSteps' );
-               $.each( $steps, function ( i, step ) {
-                       var $step = $( step );
-                       if ( $step.is( selector ) ) {
-                               if ( $previous ) {
-                                       $previous.addClass( 'tail' );
-                               }
-                               $step.addClass( 'head' );
-                       } else {
-                               $step.removeClass( 'head tail lasthead' );
-                       }
-                       $previous = $step;
-               } );
-       };
-
-       /**
-        * @class jQuery
-        * @mixins jQuery.plugin.arrowSteps
-        */
-}( jQuery ) );
index 70dc105..847afd4 100644 (file)
@@ -16,7 +16,7 @@
                        color = $.css( elem, attr );
 
                        // Keep going until we find an element that has color, or we hit the body
-                       if ( color !== '' && color !== 'transparent' || $.nodeName( elem, 'body' ) ) {
+                       if ( color !== '' && color !== 'transparent' || elem.nodeName.toLowerCase() === 'body' ) {
                                break;
                        }
 
index eef3846..7296811 100644 (file)
                        if (
                                e.type === 'click' &&
                                options.linksPassthru &&
-                               $.nodeName( e.target, 'a' ) &&
+                               e.target.nodeName.toLowerCase() === 'a' &&
                                $( e.target ).attr( 'href' ) &&
                                $( e.target ).attr( 'href' ) !== '#'
                        ) {
diff --git a/resources/src/jquery/jquery.qunit.completenessTest.js b/resources/src/jquery/jquery.qunit.completenessTest.js
deleted file mode 100644 (file)
index 0aaa4ff..0000000
+++ /dev/null
@@ -1,306 +0,0 @@
-/**
- * jQuery QUnit CompletenessTest 0.4
- *
- * Tests the completeness of test suites for object oriented javascript
- * libraries. Written to be used in environments with jQuery and QUnit.
- * Requires jQuery 1.7.2 or higher.
- *
- * Built for and tested with:
- * - Chrome 19
- * - Firefox 4
- * - Safari 5
- *
- * @author Timo Tijhof, 2011-2012
- */
-/* eslint-env qunit */
-( function ( mw, $ ) {
-       'use strict';
-
-       var util,
-               hasOwn = Object.prototype.hasOwnProperty,
-               log = ( window.console && window.console.log ) ?
-                       function () { return window.console.log.apply( window.console, arguments ); } :
-                       function () {};
-
-       // Simplified version of a few jQuery methods, except that they don't
-       // call other jQuery methods. Required to be able to run the CompletenessTest
-       // on jQuery itself as well.
-       util = {
-               keys: Object.keys || function ( object ) {
-                       var key, keys = [];
-                       for ( key in object ) {
-                               if ( hasOwn.call( object, key ) ) {
-                                       keys.push( key );
-                               }
-                       }
-                       return keys;
-               },
-               each: function ( object, callback ) {
-                       var name;
-                       for ( name in object ) {
-                               if ( callback.call( object[ name ], name, object[ name ] ) === false ) {
-                                       break;
-                               }
-                       }
-               },
-               // $.type and $.isEmptyObject are safe as is, they don't call
-               // other $.* methods. Still need to be derefenced into `util`
-               // since the CompletenessTest will overload them with spies.
-               type: $.type,
-               isEmptyObject: $.isEmptyObject
-       };
-
-       /**
-        * CompletenessTest
-        *
-        * @constructor
-        * @example
-        *  var myTester = new CompletenessTest( myLib );
-        * @param {Object} masterVariable The root variable that contains all object
-        *  members. CompletenessTest will recursively traverse objects and keep track
-        *  of all methods.
-        * @param {Function} [ignoreFn] Optionally pass a function to filter out certain
-        *  methods. Example: You may want to filter out instances of jQuery or some
-        *  other constructor. Otherwise "missingTests" will include all methods that
-        *  were not called from that instance.
-        */
-       function CompletenessTest( masterVariable, ignoreFn ) {
-               var warn,
-                       that = this;
-
-               // Keep track in these objects. Keyed by strings with the
-               // method names (ie. 'my.foo', 'my.bar', etc.) values are boolean true.
-               this.injectionTracker = {};
-               this.methodCallTracker = {};
-               this.missingTests = {};
-
-               this.ignoreFn = ignoreFn === undefined ? function () { return false; } : ignoreFn;
-
-               // Lazy limit in case something weird happends (like recurse (part of) ourself).
-               this.lazyLimit = 2000;
-               this.lazyCounter = 0;
-
-               // Bind begin and end to QUnit.
-               QUnit.begin( function () {
-                       // Suppress warnings (e.g. deprecation notices for accessing the properties)
-                       warn = mw.log.warn;
-                       mw.log.warn = $.noop;
-
-                       that.walkTheObject( masterVariable, null, masterVariable, [] );
-                       log( 'CompletenessTest/walkTheObject', that );
-
-                       // Restore warnings
-                       mw.log.warn = warn;
-                       warn = undefined;
-               } );
-
-               QUnit.done( function () {
-                       var toolbar, testResults, cntTotal, cntCalled, cntMissing;
-
-                       that.populateMissingTests();
-                       log( 'CompletenessTest/populateMissingTests', that );
-
-                       cntTotal = util.keys( that.injectionTracker ).length;
-                       cntCalled = util.keys( that.methodCallTracker ).length;
-                       cntMissing = util.keys( that.missingTests ).length;
-
-                       function makeTestResults( blob, title, style ) {
-                               var elOutputWrapper, elTitle, elContainer, elList, elFoot;
-
-                               elTitle = document.createElement( 'strong' );
-                               elTitle.textContent = title || 'Values';
-
-                               elList = document.createElement( 'ul' );
-                               util.each( blob, function ( key ) {
-                                       var elItem = document.createElement( 'li' );
-                                       elItem.textContent = key;
-                                       elList.appendChild( elItem );
-                               } );
-
-                               elFoot = document.createElement( 'p' );
-                               elFoot.innerHTML = '<em>&mdash; CompletenessTest</em>';
-
-                               elContainer = document.createElement( 'div' );
-                               elContainer.appendChild( elTitle );
-                               elContainer.appendChild( elList );
-                               elContainer.appendChild( elFoot );
-
-                               elOutputWrapper = document.getElementById( 'qunit-completenesstest' );
-                               if ( !elOutputWrapper ) {
-                                       elOutputWrapper = document.createElement( 'div' );
-                                       elOutputWrapper.id = 'qunit-completenesstest';
-                               }
-                               elOutputWrapper.appendChild( elContainer );
-
-                               util.each( style, function ( key, value ) {
-                                       elOutputWrapper.style[ key ] = value;
-                               } );
-                               return elOutputWrapper;
-                       }
-
-                       if ( cntMissing === 0 ) {
-                               // Good
-                               testResults = makeTestResults(
-                                       {},
-                                       'Detected calls to ' + cntCalled + '/' + cntTotal + ' methods. No missing tests!',
-                                       {
-                                               backgroundColor: '#D2E0E6',
-                                               color: '#366097',
-                                               paddingTop: '1em',
-                                               paddingRight: '1em',
-                                               paddingBottom: '1em',
-                                               paddingLeft: '1em'
-                                       }
-                               );
-                       } else {
-                               // Bad
-                               testResults = makeTestResults(
-                                       that.missingTests,
-                                       'Detected calls to ' + cntCalled + '/' + cntTotal + ' methods. ' + cntMissing + ' methods not covered:',
-                                       {
-                                               backgroundColor: '#EE5757',
-                                               color: 'black',
-                                               paddingTop: '1em',
-                                               paddingRight: '1em',
-                                               paddingBottom: '1em',
-                                               paddingLeft: '1em'
-                                       }
-                               );
-                       }
-
-                       toolbar = document.getElementById( 'qunit-testrunner-toolbar' );
-                       if ( toolbar ) {
-                               toolbar.insertBefore( testResults, toolbar.firstChild );
-                       }
-               } );
-
-               return this;
-       }
-
-       /* Public methods */
-       CompletenessTest.fn = CompletenessTest.prototype = {
-
-               /**
-                * CompletenessTest.fn.walkTheObject
-                *
-                * This function recursively walks through the given object, calling itself as it goes.
-                * Depending on the action it either injects our listener into the methods, or
-                * reads from our tracker and records which methods have not been called by the test suite.
-                *
-                * @param {Mixed} currObj The variable to check (initially an object,
-                *  further down it could be anything).
-                * @param {string|null} currName Name of the given object member (Initially this is null).
-                * @param {Object} masterVariable Throughout our interation, always keep track of the master/root.
-                *  Initially this is the same as currVar.
-                * @param {Array} parentPathArray Array of names that indicate our breadcrumb path starting at
-                *  masterVariable. Not including currName.
-                */
-               walkTheObject: function ( currObj, currName, masterVariable, parentPathArray ) {
-                       var key, currVal, type,
-                               ct = this,
-                               currPathArray = parentPathArray;
-
-                       if ( currName ) {
-                               currPathArray.push( currName );
-                               currVal = currObj[ currName ];
-                       } else {
-                               currName = '(root)';
-                               currVal = currObj;
-                       }
-
-                       type = util.type( currVal );
-
-                       // Hard ignores
-                       if ( this.ignoreFn( currVal, this, currPathArray ) ) {
-                               return;
-                       }
-
-                       // Handle the lazy limit
-                       this.lazyCounter++;
-                       if ( this.lazyCounter > this.lazyLimit ) {
-                               log( 'CompletenessTest.fn.walkTheObject> Limit reached: ' + this.lazyCounter, currPathArray );
-                               return;
-                       }
-
-                       // Functions
-                       if ( type === 'function' ) {
-                               // Don't put a spy in constructor functions as it messes with
-                               // instanceof etc.
-                               if ( !currVal.prototype || util.isEmptyObject( currVal.prototype ) ) {
-                                       this.injectionTracker[ currPathArray.join( '.' ) ] = true;
-                                       this.injectCheck( currObj, currName, function () {
-                                               ct.methodCallTracker[ currPathArray.join( '.' ) ] = true;
-                                       } );
-                               }
-                       }
-
-                       // Recursively. After all, this is the *completeness* test
-                       // This also traverses static properties and the prototype of a constructor
-                       if ( type === 'object' || type === 'function' ) {
-                               for ( key in currVal ) {
-                                       if ( hasOwn.call( currVal, key ) ) {
-                                               this.walkTheObject( currVal, key, masterVariable, currPathArray.slice() );
-                                       }
-                               }
-                       }
-               },
-
-               populateMissingTests: function () {
-                       var ct = this;
-                       util.each( ct.injectionTracker, function ( key ) {
-                               ct.hasTest( key );
-                       } );
-               },
-
-               /**
-                * CompletenessTest.fn.hasTest
-                *
-                * Checks if the given method name (ie. 'my.foo.bar')
-                * was called during the test suite (as far as the tracker knows).
-                * If not it adds it to missingTests.
-                *
-                * @param {string} fnName
-                * @return {boolean}
-                */
-               hasTest: function ( fnName ) {
-                       if ( !( fnName in this.methodCallTracker ) ) {
-                               this.missingTests[ fnName ] = true;
-                               return false;
-                       }
-                       return true;
-               },
-
-               /**
-                * CompletenessTest.fn.injectCheck
-                *
-                * Injects a function (such as a spy that updates methodCallTracker when
-                * it's called) inside another function.
-                *
-                * @param {Object} obj The object into which `injectFn` will be inserted
-                * @param {Array} key The key by which `injectFn` will be known in `obj`; if this already
-                *   exists, a wrapper will first call `injectFn` and then the original `obj[key]` function.
-                * @param {Function} injectFn The function to insert
-                */
-               injectCheck: function ( obj, key, injectFn ) {
-                       var spy,
-                               val = obj[ key ];
-
-                       spy = function () {
-                               injectFn();
-                               return val.apply( this, arguments );
-                       };
-
-                       // Make the spy inherit from the original so that its static methods are also
-                       // visible in the spy (e.g. when we inject a check into mw.log, mw.log.warn
-                       // must remain accessible).
-                       spy.__proto__ = val;
-
-                       // Objects are by reference, members (unless objects) are not.
-                       obj[ key ] = spy;
-               }
-       };
-
-       /* Expose */
-       window.CompletenessTest = CompletenessTest;
-
-}( mediaWiki, jQuery ) );
index fdc8a26..75f1ba6 100644 (file)
@@ -96,7 +96,7 @@
  */
  // jscs:enable checkParamNames
 
-( function ( $ ) {
+( function ( $, mw ) {
 
        var hasOwn = Object.hasOwnProperty;
 
                                        context.data.prevText = val;
                                        // Try cache first
                                        if ( context.config.cache && hasOwn.call( cache, val ) ) {
-                                               if ( +new Date() - cache[ val ].timestamp < context.config.cacheMaxAge ) {
+                                               if ( mw.now() - cache[ val ].timestamp < context.config.cacheMaxAge ) {
                                                        context.data.$textbox.suggestions( 'suggestions', cache[ val ].suggestions );
                                                        if ( typeof context.config.update.after === 'function' ) {
                                                                context.config.update.after.call( context.data.$textbox, cache[ val ].metadata );
                                                                        cache[ val ] = {
                                                                                suggestions: suggestions,
                                                                                metadata: metadata,
-                                                                               timestamp: +new Date()
+                                                                               timestamp: mw.now()
                                                                        };
                                                                }
                                                        },
         * @mixins jQuery.plugin.suggestions
         */
 
-}( jQuery ) );
+}( jQuery, mediaWiki ) );
index b339371..5dfdede 100644 (file)
@@ -25,8 +25,7 @@
        var config = mw.config.get( [ 'wgAction', 'wgCurRevisionId' ] ),
                // This should match EditPage::POST_EDIT_COOKIE_KEY_PREFIX:
                cookieKey = 'PostEditRevision' + config.wgCurRevisionId,
-               cookieVal = mw.cookie.get( cookieKey ),
-               $div, id;
+               cookieVal, $div, id;
 
        function removeConfirmation() {
                $div.remove();
 
        mw.hook( 'postEdit' ).add( showConfirmation );
 
-       if ( config.wgAction === 'view' && cookieVal ) {
-               mw.config.set( 'wgPostEdit', true );
-
-               mw.hook( 'postEdit' ).fire( {
-                       // The following messages can be used here:
-                       // postedit-confirmation-saved
-                       // postedit-confirmation-created
-                       // postedit-confirmation-restored
-                       message: mw.msg(
-                               'postedit-confirmation-' + cookieVal,
-                               mw.user
-                       )
-               } );
-               mw.cookie.set( cookieKey, null );
+       // Only when viewing wiki pages, that exist
+       // (E.g. not on special pages or non-view actions)
+       if ( config.wgCurRevisionId && config.wgAction === 'view' ) {
+               cookieVal = mw.cookie.get( cookieKey );
+               if ( cookieVal ) {
+                       mw.config.set( 'wgPostEdit', true );
+
+                       mw.hook( 'postEdit' ).fire( {
+                               // The following messages can be used here:
+                               // postedit-confirmation-saved
+                               // postedit-confirmation-created
+                               // postedit-confirmation-restored
+                               message: mw.msg(
+                                       'postedit-confirmation-' + cookieVal,
+                                       mw.user
+                               )
+                       } );
+
+                       mw.cookie.set( cookieKey, null );
+               }
        }
 
 }( mediaWiki, jQuery ) );
index 14a610b..3ec544c 100644 (file)
         * @cfg {string} [separator='|'] Value separator for 'string_options' groups
         * @cfg {boolean} [active] Group is active
         * @cfg {boolean} [fullCoverage] This filters in this group collectively cover all results
+        * @cfg {Object} [conflicts] Defines the conflicts for this filter group
+        * @cfg {Object} [whatsThis] Defines the messages that should appear for the 'what's this' popup
+        * @cfg {string} [whatsThis.header] The header of the whatsThis popup message
+        * @cfg {string} [whatsThis.body] The body of the whatsThis popup message
+        * @cfg {string} [whatsThis.url] The url for the link in the whatsThis popup message
+        * @cfg {string} [whatsThis.linkMessage] The text for the link in the whatsThis popup message
         */
        mw.rcfilters.dm.FilterGroup = function MwRcfiltersDmFilterGroup( name, config ) {
                config = config || {};
                this.active = !!config.active;
                this.fullCoverage = !!config.fullCoverage;
 
+               this.whatsThis = config.whatsThis || {};
+
+               this.conflicts = config.conflicts || {};
+
                this.aggregate( { update: 'filterItemUpdate' } );
                this.connect( this, { filterItemUpdate: 'onFilterItemUpdate' } );
        };
                return this.name;
        };
 
+       /**
+        * Get the messags defining the 'whats this' popup for this group
+        *
+        * @return {Object} What's this messages
+        */
+       mw.rcfilters.dm.FilterGroup.prototype.getWhatsThis = function () {
+               return this.whatsThis;
+       };
+
+       /**
+        * Check whether this group has a 'what's this' message
+        *
+        * @return {boolean} This group has a what's this message
+        */
+       mw.rcfilters.dm.FilterGroup.prototype.hasWhatsThis = function () {
+               return !!this.whatsThis.body;
+       };
+
+       /**
+        * Get the conflicts associated with the entire group.
+        * Conflict object is set up by filter name keys and conflict
+        * definition. For example:
+        * [
+        *              {
+        *                      filterName: {
+        *                              filter: filterName,
+        *                              group: group1
+        *                      }
+        *              },
+        *              {
+        *                      filterName2: {
+        *                              filter: filterName2,
+        *                              group: group2
+        *                      }
+        *              }
+        * ]
+        * @return {Object} Conflict definition
+        */
+       mw.rcfilters.dm.FilterGroup.prototype.getConflicts = function () {
+               return this.conflicts;
+       };
+
+       /**
+        * Set conflicts for this group. See #getConflicts for the expected
+        * structure of the definition.
+        *
+        * @param {Object} conflicts Conflicts for this group
+        */
+       mw.rcfilters.dm.FilterGroup.prototype.setConflicts = function ( conflicts ) {
+               this.conflicts = conflicts;
+       };
+
+       /**
+        * Check whether this item has a potential conflict with the given item
+        *
+        * This checks whether the given item is in the list of conflicts of
+        * the current item, but makes no judgment about whether the conflict
+        * is currently at play (either one of the items may not be selected)
+        *
+        * @param {mw.rcfilters.dm.FilterItem} filterItem Filter item
+        * @return {boolean} This item has a conflict with the given item
+        */
+       mw.rcfilters.dm.FilterGroup.prototype.existsInConflicts = function ( filterItem ) {
+               return Object.prototype.hasOwnProperty.call( this.getConflicts(), filterItem.getName() );
+       };
+
        /**
         * Check whether there are any items selected
         *
        mw.rcfilters.dm.FilterGroup.prototype.areAllSelectedInConflictWith = function ( filterItem ) {
                var selectedItems = this.getSelectedItems( filterItem );
 
-               return selectedItems.length > 0 && selectedItems.every( function ( selectedFilter ) {
-                       return selectedFilter.existsInConflicts( filterItem );
-               } );
+               return selectedItems.length > 0 &&
+                       (
+                               // The group as a whole is in conflict with this item
+                               this.existsInConflicts( filterItem ) ||
+                               // All selected items are in conflict individually
+                               selectedItems.every( function ( selectedFilter ) {
+                                       return selectedFilter.existsInConflicts( filterItem );
+                               } )
+                       );
        };
 
        /**
        mw.rcfilters.dm.FilterGroup.prototype.areAnySelectedInConflictWith = function ( filterItem ) {
                var selectedItems = this.getSelectedItems( filterItem );
 
-               return selectedItems.length > 0 && selectedItems.some( function ( selectedFilter ) {
-                       return selectedFilter.existsInConflicts( filterItem );
-               } );
+               return selectedItems.length > 0 && (
+                       // The group as a whole is in conflict with this item
+                       this.existsInConflicts( filterItem ) ||
+                       // Any selected items are in conflict individually
+                       selectedItems.some( function ( selectedFilter ) {
+                               return selectedFilter.existsInConflicts( filterItem );
+                       } )
+               );
+       };
+
+       /**
+        * Get the parameter representation from this group
+        *
+        * @return {Object} Parameter representation
+        */
+       mw.rcfilters.dm.FilterGroup.prototype.getParamRepresentation = function () {
+               var i, values,
+                       result = {},
+                       filterItems = this.getItems();
+
+               if ( this.getType() === 'send_unselected_if_any' ) {
+                       // First, check if any of the items are selected at all.
+                       // If none is selected, we're treating it as if they are
+                       // all false
+
+                       // Go over the items and define the correct values
+                       for ( i = 0; i < filterItems.length; i++ ) {
+                               result[ filterItems[ i ].getParamName() ] = this.areAnySelected() ?
+                                       Number( !filterItems[ i ].isSelected() ) : 0;
+                       }
+
+               } else if ( this.getType() === 'string_options' ) {
+                       values = [];
+                       for ( i = 0; i < filterItems.length; i++ ) {
+                               if ( filterItems[ i ].isSelected() ) {
+                                       values.push( filterItems[ i ].getParamName() );
+                               }
+                       }
+
+                       result[ this.getName() ] = ( values.length === filterItems.length ) ?
+                               'all' : values.join( this.getSeparator() );
+               }
+
+               return result;
        };
 
        /**
                return this.type;
        };
 
+       /**
+        * Get the prefix used for the filter names inside this group
+        *
+        * @return {string} Group prefix
+        */
+       mw.rcfilters.dm.FilterGroup.prototype.getNamePrefix = function () {
+               return this.getName() + '__';
+       };
+
        /**
         * Get group's title
         *
index 0df34f8..221d2a5 100644 (file)
@@ -5,7 +5,7 @@
         * @mixins OO.EventEmitter
         *
         * @constructor
-        * @param {string} name Filter name
+        * @param {string} param Filter param name
         * @param {mw.rcfilters.dm.FilterGroup} groupModel Filter group model
         * @param {Object} config Configuration object
         * @cfg {string} [group] The group this item belongs to
         *  selected, makes inactive.
         * @cfg {boolean} [selected] The item is selected
         * @cfg {string[]} [subset] Defining the names of filters that are a subset of this filter
-        * @cfg {string[]} [conflictsWith] Defining the names of filters that conflict with this item
+        * @cfg {Object} [conflicts] Defines the conflicts for this filter
         * @cfg {string} [cssClass] The class identifying the results that match this filter
         */
-       mw.rcfilters.dm.FilterItem = function MwRcfiltersDmFilterItem( name, groupModel, config ) {
+       mw.rcfilters.dm.FilterItem = function MwRcfiltersDmFilterItem( param, groupModel, config ) {
                config = config || {};
 
                // Mixin constructor
                OO.EventEmitter.call( this );
 
-               this.name = name;
+               this.param = param;
                this.groupModel = groupModel;
+               this.name = this.groupModel.getNamePrefix() + param;
 
                this.label = config.label || this.name;
                this.description = config.description;
@@ -34,7 +35,7 @@
 
                // Interaction definitions
                this.subset = config.subset || [];
-               this.conflicts = config.conflicts || [];
+               this.conflicts = config.conflicts || {};
                this.superset = [];
 
                // Interaction states
                return this.name;
        };
 
+       /**
+        * Get the param name or value of this filter
+        *
+        * @return {string} Filter param name
+        */
+       mw.rcfilters.dm.FilterItem.prototype.getParamName = function () {
+               return this.param;
+       };
+
+       /**
+        * Get the message for the display area for the currently active conflict
+        *
+        * @return {string} Conflict result message key
+        */
+       mw.rcfilters.dm.FilterItem.prototype.getCurrentConflictResultMessage = function () {
+               var details = {};
+
+               // First look in filter's own conflicts
+               details = this.getConflictDetails( this.getOwnConflicts(), 'globalDescription' );
+               if ( !details.message ) {
+                       // Fall back onto conflicts in the group
+                       details = this.getConflictDetails( this.getGroupModel().getConflicts(), 'globalDescription' );
+               }
+
+               return details.message;
+       };
+
+       /**
+        * Get the details of the active conflict on this filter
+        *
+        * @param {Object} conflicts Conflicts to examine
+        * @param {string} [key='contextDescription'] Message key
+        * @return {Object} Object with conflict message and conflict items
+        * @return {string} return.message Conflict message
+        * @return {string[]} return.names Conflicting item labels
+        */
+       mw.rcfilters.dm.FilterItem.prototype.getConflictDetails = function ( conflicts, key ) {
+               var group,
+                       conflictMessage = '',
+                       itemLabels = [];
+
+               key = key || 'contextDescription';
+
+               $.each( conflicts, function ( filterName, conflict ) {
+                       if ( !conflict.item.isSelected() ) {
+                               return;
+                       }
+
+                       if ( !conflictMessage ) {
+                               conflictMessage = conflict[ key ];
+                               group = conflict.group;
+                       }
+
+                       if ( group === conflict.group ) {
+                               itemLabels.push( mw.msg( 'quotation-marks', conflict.item.getLabel() ) );
+                       }
+               } );
+
+               return {
+                       message: conflictMessage,
+                       names: itemLabels
+               };
+
+       };
+
+       /**
+        * Get the message representing the state of this model.
+        *
+        * @return {string} State message
+        */
+       mw.rcfilters.dm.FilterItem.prototype.getStateMessage = function () {
+               var messageKey, details, superset,
+                       affectingItems = [];
+
+               if ( this.isSelected() ) {
+                       if ( this.isConflicted() ) {
+                               // First look in filter's own conflicts
+                               details = this.getConflictDetails( this.getOwnConflicts() );
+                               if ( !details.message ) {
+                                       // Fall back onto conflicts in the group
+                                       details = this.getConflictDetails( this.getGroupModel().getConflicts() );
+                               }
+
+                               messageKey = details.message;
+                               affectingItems = details.names;
+                       } else if ( this.isIncluded() && !this.isHighlighted() ) {
+                               // We only show the 'no effect' full-coverage message
+                               // if the item is also not highlighted. See T161273
+                               superset = this.getSuperset();
+                               // For this message we need to collect the affecting superset
+                               affectingItems = this.getGroupModel().getSelectedItems( this )
+                                       .filter( function ( item ) {
+                                               return superset.indexOf( item.getName() ) !== -1;
+                                       } )
+                                       .map( function ( item ) {
+                                               return mw.msg( 'quotation-marks', item.getLabel() );
+                                       } );
+
+                               messageKey = 'rcfilters-state-message-subset';
+                       } else if ( this.isFullyCovered() && !this.isHighlighted() ) {
+                               affectingItems = this.getGroupModel().getSelectedItems( this )
+                                       .map( function ( item ) {
+                                               return mw.msg( 'quotation-marks', item.getLabel() );
+                                       } );
+
+                               messageKey = 'rcfilters-state-message-fullcoverage';
+                       }
+               }
+
+               if ( messageKey ) {
+                       // Build message
+                       return mw.msg(
+                               messageKey,
+                               mw.language.listToText( affectingItems ),
+                               affectingItems.length
+                       );
+               }
+
+               // Display description
+               return this.getDescription();
+       };
+
        /**
         * Get the model of the group this filter belongs to
         *
        };
 
        /**
-        * Get filter conflicts
+        * Get all conflicts associated with this filter or its group
         *
-        * @return {string[]} Filter conflicts
+        * Conflict object is set up by filter name keys and conflict
+        * definition. For example:
+        *              {
+        *                      filterName: {
+        *                              filter: filterName,
+        *                              group: group1,
+        *                              label: itemLabel,
+        *                              item: itemModel
+        *                      }
+        *                      filterName2: {
+        *                              filter: filterName2,
+        *                              group: group2
+        *                              label: itemLabel2,
+        *                              item: itemModel2
+        *                      }
+        *              }
+        *
+        * @return {Object} Filter conflicts
         */
        mw.rcfilters.dm.FilterItem.prototype.getConflicts = function () {
+               return $.extend( {}, this.conflicts, this.getGroupModel().getConflicts() );
+       };
+
+       /**
+        * Get the conflicts associated with this filter
+        *
+        * @return {Object} Filter conflicts
+        */
+       mw.rcfilters.dm.FilterItem.prototype.getOwnConflicts = function () {
                return this.conflicts;
        };
 
        /**
-        * Set filter conflicts
+        * Set conflicts for this filter. See #getConflicts for the expected
+        * structure of the definition.
         *
-        * @param {string[]} conflicts Filter conflicts
+        * @param {Object} conflicts Conflicts for this filter
         */
        mw.rcfilters.dm.FilterItem.prototype.setConflicts = function ( conflicts ) {
-               this.conflicts = conflicts || [];
+               this.conflicts = conflicts || {};
        };
 
        /**
                this.superset = superset || [];
        };
 
+       /**
+        * Set filter subset
+        *
+        * @param {string[]} subset Filter subset
+        */
+       mw.rcfilters.dm.FilterItem.prototype.setSubset = function ( subset ) {
+               this.subset = subset || [];
+       };
+
        /**
         * Check whether a filter exists in the subset list for this filter
         *
         * @return {boolean} This item has a conflict with the given item
         */
        mw.rcfilters.dm.FilterItem.prototype.existsInConflicts = function ( filterItem ) {
-               return this.conflicts.indexOf( filterItem.getName() ) > -1;
+               return Object.prototype.hasOwnProperty.call( this.getConflicts(), filterItem.getName() );
        };
 
        /**
index 5be3656..f04cc85 100644 (file)
@@ -16,6 +16,7 @@
                this.defaultParams = {};
                this.defaultFiltersEmpty = null;
                this.highlightEnabled = false;
+               this.parameterMap = {};
 
                // Events
                this.aggregate( { update: 'filterItemUpdate' } );
                } );
        };
 
+       /**
+        * Get whether the model has any conflict in its items
+        *
+        * @return {boolean} There is a conflict
+        */
+       mw.rcfilters.dm.FiltersViewModel.prototype.hasConflict = function () {
+               return this.getItems().some( function ( filterItem ) {
+                       return filterItem.isSelected() && filterItem.isConflicted();
+               } );
+       };
+
+       /**
+        * Get the first item with a current conflict
+        *
+        * @return {mw.rcfilters.dm.FilterItem} Conflicted item
+        */
+       mw.rcfilters.dm.FiltersViewModel.prototype.getFirstConflictedItem = function () {
+               var conflictedItem;
+
+               $.each( this.getItems(), function ( index, filterItem ) {
+                       if ( filterItem.isSelected() && filterItem.isConflicted() ) {
+                               conflictedItem = filterItem;
+                               return false;
+                       }
+               } );
+
+               return conflictedItem;
+       };
+
        /**
         * Set filters and preserve a group relationship based on
         * the definition given by an object
         *
-        * @param {Object} filters Filter group definition
+        * @param {Array} filters Filter group definition
         */
        mw.rcfilters.dm.FiltersViewModel.prototype.initializeFilters = function ( filters ) {
-               var i, filterItem, selectedFilterNames,
+               var i, filterItem, selectedFilterNames, filterConflictResult, groupConflictResult, subsetNames,
                        model = this,
                        items = [],
+                       supersetMap = {},
+                       groupConflictMap = {},
+                       filterConflictMap = {},
                        addArrayElementsUnique = function ( arr, elements ) {
                                elements = Array.isArray( elements ) ? elements : [ elements ];
 
 
                                return arr;
                        },
-                       conflictMap = {},
-                       supersetMap = {};
+                       expandConflictDefinitions = function ( obj ) {
+                               var result = {};
+
+                               $.each( obj, function ( key, conflicts ) {
+                                       var filterName,
+                                               adjustedConflicts = {};
+
+                                       conflicts.forEach( function ( conflict ) {
+                                               var filter;
+
+                                               if ( conflict.filter ) {
+                                                       filterName = model.groups[ conflict.group ].getNamePrefix() + conflict.filter;
+                                                       filter = model.getItemByName( filterName );
+
+                                                       // Rename
+                                                       adjustedConflicts[ filterName ] = $.extend(
+                                                               {},
+                                                               conflict,
+                                                               {
+                                                                       filter: filterName,
+                                                                       item: filter
+                                                               }
+                                                       );
+                                               } else {
+                                                       // This conflict is for an entire group. Split it up to
+                                                       // represent each filter
+
+                                                       // Get the relevant group items
+                                                       model.groups[ conflict.group ].getItems().forEach( function ( groupItem ) {
+                                                               // Rebuild the conflict
+                                                               adjustedConflicts[ groupItem.getName() ] = $.extend(
+                                                                       {},
+                                                                       conflict,
+                                                                       {
+                                                                               filter: groupItem.getName(),
+                                                                               item: groupItem
+                                                                       }
+                                                               );
+                                                       } );
+                                               }
+                                       } );
+
+                                       result[ key ] = adjustedConflicts;
+                               } );
+
+                               return result;
+                       };
 
                // Reset
                this.clearItems();
                this.groups = {};
 
-               $.each( filters, function ( group, data ) {
+               filters.forEach( function ( data ) {
+                       var group = data.name;
+
                        if ( !model.groups[ group ] ) {
                                model.groups[ group ] = new mw.rcfilters.dm.FilterGroup( group, {
                                        type: data.type,
-                                       title: data.title,
+                                       title: mw.msg( data.title ),
                                        separator: data.separator,
-                                       fullCoverage: !!data.fullCoverage
+                                       fullCoverage: !!data.fullCoverage,
+                                       whatsThis: {
+                                               body: data.whatsThisBody,
+                                               header: data.whatsThisHeader,
+                                               linkText: data.whatsThisLinkText,
+                                               url: data.whatsThisUrl
+                                       }
                                } );
                        }
 
+                       if ( data.conflicts ) {
+                               groupConflictMap[ group ] = data.conflicts;
+                       }
+
                        selectedFilterNames = [];
                        for ( i = 0; i < data.filters.length; i++ ) {
+                               data.filters[ i ].subset = data.filters[ i ].subset || [];
+                               data.filters[ i ].subset = data.filters[ i ].subset.map( function ( el ) {
+                                       return el.filter;
+                               } );
+
                                filterItem = new mw.rcfilters.dm.FilterItem( data.filters[ i ].name, model.groups[ group ], {
                                        group: group,
-                                       label: data.filters[ i ].label,
-                                       description: data.filters[ i ].description,
-                                       subset: data.filters[ i ].subset,
-                                       cssClass: data.filters[ i ].class
+                                       label: mw.msg( data.filters[ i ].label ),
+                                       description: mw.msg( data.filters[ i ].description ),
+                                       cssClass: data.filters[ i ].cssClass
                                } );
 
-                               // For convenience, we should store each filter's "supersets" -- these are
-                               // the filters that have that item in their subset list. This will just
-                               // make it easier to go through whether the item has any other items
-                               // that affect it (and are selected) at any given time
                                if ( data.filters[ i ].subset ) {
+                                       subsetNames = [];
                                        data.filters[ i ].subset.forEach( function ( subsetFilterName ) { // eslint-disable-line no-loop-func
-                                               supersetMap[ subsetFilterName ] = supersetMap[ subsetFilterName ] || [];
+                                               var subsetName = model.groups[ group ].getNamePrefix() + subsetFilterName;
+                                               // For convenience, we should store each filter's "supersets" -- these are
+                                               // the filters that have that item in their subset list. This will just
+                                               // make it easier to go through whether the item has any other items
+                                               // that affect it (and are selected) at any given time
+                                               supersetMap[ subsetName ] = supersetMap[ subsetName ] || [];
                                                addArrayElementsUnique(
-                                                       supersetMap[ subsetFilterName ],
+                                                       supersetMap[ subsetName ],
                                                        filterItem.getName()
                                                );
+
+                                               // Translate subset param name to add the group name, so we
+                                               // get consistent naming. We know that subsets are only within
+                                               // the same group
+                                               subsetNames.push( subsetName );
                                        } );
+
+                                       // Set translated subset
+                                       filterItem.setSubset( subsetNames );
                                }
 
-                               // Conflicts are bi-directional, which means FilterA can define having
-                               // a conflict with FilterB, and this conflict should appear in **both**
-                               // filter definitions.
-                               // We need to remap all the 'conflicts' so they reflect the entire state
-                               // in either direction regardless of which filter defined the other as conflicting.
+                               // Store conflicts
                                if ( data.filters[ i ].conflicts ) {
-                                       conflictMap[ filterItem.getName() ] = conflictMap[ filterItem.getName() ] || [];
-                                       addArrayElementsUnique(
-                                               conflictMap[ filterItem.getName() ],
-                                               data.filters[ i ].conflicts
-                                       );
-
-                                       data.filters[ i ].conflicts.forEach( function ( conflictingFilterName ) { // eslint-disable-line no-loop-func
-                                               // Add this filter to the conflicts of each of the filters in its list
-                                               conflictMap[ conflictingFilterName ] = conflictMap[ conflictingFilterName ] || [];
-                                               addArrayElementsUnique(
-                                                       conflictMap[ conflictingFilterName ],
-                                                       filterItem.getName()
-                                               );
-                                       } );
+                                       filterConflictMap[ filterItem.getName() ] = data.filters[ i ].conflicts;
                                }
 
                                if ( data.type === 'send_unselected_if_any' ) {
                        }
                } );
 
-               items.forEach( function ( filterItem ) {
-                       // Apply conflict map to the items
-                       // Now that we mapped all items and conflicts bi-directionally
-                       // we need to apply the definition to each filter again
-                       filterItem.setConflicts( conflictMap[ filterItem.getName() ] );
+               // Add items to the model
+               this.addItems( items );
+
+               // Expand conflicts
+               groupConflictResult = expandConflictDefinitions( groupConflictMap );
+               filterConflictResult = expandConflictDefinitions( filterConflictMap );
+
+               // Set conflicts for groups
+               $.each( groupConflictResult, function ( group, conflicts ) {
+                       model.groups[ group ].setConflicts( conflicts );
+               } );
 
+               items.forEach( function ( filterItem ) {
                        // Apply the superset map
                        filterItem.setSuperset( supersetMap[ filterItem.getName() ] );
+
+                       // set conflicts for item
+                       if ( filterConflictResult[ filterItem.getName() ] ) {
+                               filterItem.setConflicts( filterConflictResult[ filterItem.getName() ] );
+                       }
                } );
 
-               // Add items to the model
-               this.addItems( items );
+               // Create a map between known parameters and their models
+               $.each( this.groups, function ( group, groupModel ) {
+                       if ( groupModel.getType() === 'send_unselected_if_any' ) {
+                               // Individual filters
+                               groupModel.getItems().forEach( function ( filterItem ) {
+                                       model.parameterMap[ filterItem.getParamName() ] = filterItem;
+                               } );
+                       } else if ( groupModel.getType() === 'string_options' ) {
+                               // Group
+                               model.parameterMap[ groupModel.getName() ] = groupModel;
+                       }
+               } );
 
                this.emit( 'initialize' );
        };
         * @return {Object} Parameter state object
         */
        mw.rcfilters.dm.FiltersViewModel.prototype.getParametersFromFilters = function ( filterGroups ) {
-               var i, filterItems, anySelected, values,
-                       result = {},
+               var result = {},
                        groupItems = filterGroups || this.getFilterGroups();
 
                $.each( groupItems, function ( group, model ) {
-                       filterItems = model.getItems();
-
-                       if ( model.getType() === 'send_unselected_if_any' ) {
-                               // First, check if any of the items are selected at all.
-                               // If none is selected, we're treating it as if they are
-                               // all false
-                               anySelected = filterItems.some( function ( filterItem ) {
-                                       return filterItem.isSelected();
-                               } );
-
-                               // Go over the items and define the correct values
-                               for ( i = 0; i < filterItems.length; i++ ) {
-                                       result[ filterItems[ i ].getName() ] = anySelected ?
-                                               Number( !filterItems[ i ].isSelected() ) : 0;
-                               }
-                       } else if ( model.getType() === 'string_options' ) {
-                               values = [];
-                               for ( i = 0; i < filterItems.length; i++ ) {
-                                       if ( filterItems[ i ].isSelected() ) {
-                                               values.push( filterItems[ i ].getName() );
-                                       }
-                               }
-
-                               if ( values.length === 0 || values.length === filterItems.length ) {
-                                       result[ group ] = 'all';
-                               } else {
-                                       result[ group ] = values.join( model.getSeparator() );
-                               }
-                       }
+                       $.extend( result, model.getParamRepresentation() );
                } );
 
                return result;
        mw.rcfilters.dm.FiltersViewModel.prototype.sanitizeStringOptionGroup = function( groupName, valueArray ) {
                var result = [],
                        validNames = this.getGroupFilters( groupName ).map( function ( filterItem ) {
-                               return filterItem.getName();
+                               return filterItem.getParamName();
                        } );
 
                if ( valueArray.indexOf( 'all' ) > -1 ) {
         * @return {Object} Filter state object
         */
        mw.rcfilters.dm.FiltersViewModel.prototype.getFiltersFromParameters = function ( params ) {
-               var i, filterItem,
+               var i,
                        groupMap = {},
                        model = this,
                        base = this.getDefaultParams(),
 
                params = $.extend( {}, base, params );
 
+               // Go over the given parameters
                $.each( params, function ( paramName, paramValue ) {
-                       // Find the filter item
-                       filterItem = model.getItemByName( paramName );
-                       // Ignore if no filter item exists
-                       if ( filterItem ) {
-                               groupMap[ filterItem.getGroupName() ] = groupMap[ filterItem.getGroupName() ] || {};
+                       var itemOrGroup = model.parameterMap[ paramName ];
 
+                       if ( itemOrGroup instanceof mw.rcfilters.dm.FilterItem ) {
                                // Mark the group if it has any items that are selected
-                               groupMap[ filterItem.getGroupName() ].hasSelected = (
-                                       groupMap[ filterItem.getGroupName() ].hasSelected ||
+                               groupMap[ itemOrGroup.getGroupName() ] = groupMap[ itemOrGroup.getGroupName() ] || {};
+                               groupMap[ itemOrGroup.getGroupName() ].hasSelected = (
+                                       groupMap[ itemOrGroup.getGroupName() ].hasSelected ||
                                        !!Number( paramValue )
                                );
 
-                               // Add the relevant filter into the group map
-                               groupMap[ filterItem.getGroupName() ].filters = groupMap[ filterItem.getGroupName() ].filters || [];
-                               groupMap[ filterItem.getGroupName() ].filters.push( filterItem );
-                       } else if ( model.groups.hasOwnProperty( paramName ) ) {
+                               // Add filters
+                               groupMap[ itemOrGroup.getGroupName() ].filters = groupMap[ itemOrGroup.getGroupName() ].filters || [];
+                               groupMap[ itemOrGroup.getGroupName() ].filters.push( itemOrGroup );
+                       } else if ( itemOrGroup instanceof mw.rcfilters.dm.FilterGroup ) {
+                               groupMap[ itemOrGroup.getName() ] = groupMap[ itemOrGroup.getName() ] || {};
                                // This parameter represents a group (values are the filters)
                                // this is equivalent to checking if the group is 'string_options'
-                               groupMap[ paramName ] = { filters: model.groups[ paramName ].getItems() };
+                               groupMap[ itemOrGroup.getName() ].filters = itemOrGroup.getItems();
                        }
                } );
 
                                for ( i = 0; i < allItemsInGroup.length; i++ ) {
                                        filterItem = allItemsInGroup[ i ];
 
-                                       result[ filterItem.getName() ] = data.hasSelected ?
+                                       result[ filterItem.getName() ] = groupMap[ filterItem.getGroupName() ].hasSelected ?
                                                // Flip the definition between the parameter
                                                // state and the filter state
                                                // This is what the 'toggleSelected' value of the filter is
-                                               !Number( params[ filterItem.getName() ] ) :
+                                               !Number( params[ filterItem.getParamName() ] ) :
                                                // Otherwise, there are no selected items in the
                                                // group, which means the state is false
                                                false;
                                }
                        } else if ( model.groups[ group ].getType() === 'string_options' ) {
-                               paramValues = model.sanitizeStringOptionGroup( group, params[ group ].split( model.groups[ group ].getSeparator() ) );
+                               paramValues = model.sanitizeStringOptionGroup(
+                                       group,
+                                       params[ group ].split(
+                                               model.groups[ group ].getSeparator()
+                                       )
+                               );
 
                                for ( i = 0; i < allItemsInGroup.length; i++ ) {
                                        filterItem = allItemsInGroup[ i ];
                                                // is the same as all filters set to false
                                                false :
                                                // Otherwise, the filter is selected only if it appears in the parameter values
-                                               paramValues.indexOf( filterItem.getName() ) > -1;
+                                               paramValues.indexOf( filterItem.getParamName() ) > -1;
                                }
                        }
                } );
+
                return result;
        };
 
         * @param {boolean} [isSelected] Filter selected state
         */
        mw.rcfilters.dm.FiltersViewModel.prototype.toggleFilterSelected = function ( name, isSelected ) {
-               this.getItemByName( name ).toggleSelected( isSelected );
+               var item = this.getItemByName( name );
+
+               if ( item ) {
+                       item.toggleSelected( isSelected );
+               }
        };
 
        /**
index e562057..7405bae 100644 (file)
        /**
         * Initialize the filter and parameter states
         *
-        * @param {Object} filterStructure Filter definition and structure for the model
+        * @param {Array} filterStructure Filter definition and structure for the model
         */
        mw.rcfilters.Controller.prototype.initialize = function ( filterStructure ) {
+               var $changesList = $( '.mw-changeslist' ).first().contents();
                // Initialize the model
                this.filtersModel.initializeFilters( filterStructure );
                this.updateStateBasedOnUrl();
+
+               // Update the changes list with the existing data
+               // so it gets processed
+               this.changesListModel.update(
+                       $changesList.length ? $changesList : 'NO_RESULTS',
+                       $( 'fieldset.rcoptions' ).first()
+               );
+
        };
 
        /**
         * Empty all selected filters
         */
        mw.rcfilters.Controller.prototype.emptyFilters = function () {
+               var highlightedFilterNames = this.filtersModel
+                       .getHighlightedItems()
+                       .map( function ( filterItem ) { return { name: filterItem.getName() }; } );
+
                this.filtersModel.emptyAllFilters();
                this.filtersModel.clearAllHighlightColors();
                // Check all filter interactions
                this.filtersModel.reassessFilterInteractions();
 
                this.updateChangesList();
+
+               if ( highlightedFilterNames ) {
+                       this.trackHighlight( 'clearAll', highlightedFilterNames );
+               }
        };
 
        /**
        mw.rcfilters.Controller.prototype.setHighlightColor = function ( filterName, color ) {
                this.filtersModel.setHighlightColor( filterName, color );
                this.updateURL();
+               this.trackHighlight( 'set', { name: filterName, color: color } );
        };
 
        /**
        mw.rcfilters.Controller.prototype.clearHighlightColor = function ( filterName ) {
                this.filtersModel.clearHighlightColor( filterName );
                this.updateURL();
+               this.trackHighlight( 'clear', filterName );
        };
 
        /**
         * @param {string} filterName Name of the filter item
         */
        mw.rcfilters.Controller.prototype.clearFilter = function ( filterName ) {
-               var filterItem = this.filtersModel.getItemByName( filterName );
+               var filterItem = this.filtersModel.getItemByName( filterName ),
+                       isHighlighted = filterItem.isHighlighted();
 
-               if ( filterItem.isSelected() || filterItem.isHighlighted() ) {
+               if ( filterItem.isSelected() || isHighlighted ) {
                        this.filtersModel.clearHighlightColor( filterName );
                        this.filtersModel.toggleFilterSelected( filterName, false );
                        this.updateChangesList();
                        this.filtersModel.reassessFilterInteractions( filterItem );
                }
+
+               if ( isHighlighted ) {
+                       this.trackHighlight( 'clear', filterName );
+               }
        };
 
        /**
                        this.getUpdatedUri().toString()
                );
        };
+
+       /**
+        * Track usage of highlight feature
+        *
+        * @param {string} action
+        * @param {array|object|string} filters
+        */
+       mw.rcfilters.Controller.prototype.trackHighlight = function ( action, filters ) {
+               filters = typeof filters === 'string' ? { name: filters } : filters;
+               filters = !Array.isArray( filters ) ? [ filters ] : filters;
+               mw.track(
+                       'event.ChangesListHighlights',
+                       {
+                               action: action,
+                               filters: filters,
+                               userId: mw.user.getId()
+                       }
+               );
+       };
 }( mediaWiki, jQuery ) );
index a0b785d..4a586e4 100644 (file)
                        new mw.rcfilters.ui.ChangesListWrapperWidget(
                                filtersModel, changesListModel, $( '.mw-changeslist, .mw-changeslist-empty' ) );
 
-                       controller.initialize( {
-                               registration: {
-                                       title: mw.msg( 'rcfilters-filtergroup-registration' ),
-                                       type: 'send_unselected_if_any',
-                                       fullCoverage: true,
-                                       filters: [
-                                               {
-                                                       name: 'hideliu',
-                                                       label: mw.msg( 'rcfilters-filter-registered-label' ),
-                                                       description: mw.msg( 'rcfilters-filter-registered-description' ),
-                                                       'class': 'mw-changeslist-liu'
-                                               },
-                                               {
-                                                       name: 'hideanons',
-                                                       label: mw.msg( 'rcfilters-filter-unregistered-label' ),
-                                                       description: mw.msg( 'rcfilters-filter-unregistered-description' ),
-                                                       'class': 'mw-changeslist-anon'
-                                               }
-                                       ]
-                               },
-                               userExpLevel: {
-                                       title: mw.msg( 'rcfilters-filtergroup-userExpLevel' ),
-                                       // Type 'string_options' means that the group is evaluated by
-                                       // string values separated by comma; for example, param=opt1,opt2
-                                       // If all options are selected they are replaced by the term "all".
-                                       // The filters are the values for the parameter defined by the group.
-                                       // ** In this case, the parameter name is the group name. **
-                                       type: 'string_options',
-                                       separator: ',',
-                                       fullCoverage: false,
-                                       filters: [
-                                               {
-                                                       name: 'newcomer',
-                                                       label: mw.msg( 'rcfilters-filter-userExpLevel-newcomer-label' ),
-                                                       description: mw.msg( 'rcfilters-filter-userExpLevel-newcomer-description' ),
-                                                       conflicts: [ 'hideanons' ],
-                                                       'class': 'mw-changeslist-user-newcomer'
-                                               },
-                                               {
-                                                       name: 'learner',
-                                                       label: mw.msg( 'rcfilters-filter-userExpLevel-learner-label' ),
-                                                       description: mw.msg( 'rcfilters-filter-userExpLevel-learner-description' ),
-                                                       conflicts: [ 'hideanons' ],
-                                                       'class': 'mw-changeslist-user-learner'
-                                               },
-                                               {
-                                                       name: 'experienced',
-                                                       label: mw.msg( 'rcfilters-filter-userExpLevel-experienced-label' ),
-                                                       description: mw.msg( 'rcfilters-filter-userExpLevel-experienced-description' ),
-                                                       conflicts: [ 'hideanons' ],
-                                                       'class': 'mw-changeslist-user-experienced'
-                                               }
-                                       ]
-                               },
-                               authorship: {
-                                       title: mw.msg( 'rcfilters-filtergroup-authorship' ),
-                                       // Type 'send_unselected_if_any' means that the controller will go over
-                                       // all unselected filters in the group and use their parameters
-                                       // as truthy in the query string.
-                                       // This is to handle the "negative" filters. We are showing users
-                                       // a positive message ("Show xxx") but the filters themselves are
-                                       // based on "hide YYY". The purpose of this is to correctly map
-                                       // the functionality to the UI, whether we are dealing with 2
-                                       // parameters in the group or more.
-                                       type: 'send_unselected_if_any',
-                                       fullCoverage: true,
-                                       filters: [
-                                               {
-                                                       name: 'hidemyself',
-                                                       label: mw.msg( 'rcfilters-filter-editsbyself-label' ),
-                                                       description: mw.msg( 'rcfilters-filter-editsbyself-description' ),
-                                                       'class': 'mw-changeslist-self'
-                                               },
-                                               {
-                                                       name: 'hidebyothers',
-                                                       label: mw.msg( 'rcfilters-filter-editsbyother-label' ),
-                                                       description: mw.msg( 'rcfilters-filter-editsbyother-description' ),
-                                                       'class': 'mw-changeslist-others'
-                                               }
-                                       ]
-                               },
-                               automated: {
-                                       title: mw.msg( 'rcfilters-filtergroup-automated' ),
-                                       type: 'send_unselected_if_any',
-                                       fullCoverage: true,
-                                       filters: [
-                                               {
-                                                       name: 'hidebots',
-                                                       label: mw.msg( 'rcfilters-filter-bots-label' ),
-                                                       description: mw.msg( 'rcfilters-filter-bots-description' ),
-                                                       'default': true,
-                                                       'class': 'mw-changeslist-bot'
-                                               },
-                                               {
-                                                       name: 'hidehumans',
-                                                       label: mw.msg( 'rcfilters-filter-humans-label' ),
-                                                       description: mw.msg( 'rcfilters-filter-humans-description' ),
-                                                       'default': false,
-                                                       'class': 'mw-changeslist-human'
-                                               }
-                                       ]
-                               },
-                               significance: {
-                                       title: mw.msg( 'rcfilters-filtergroup-significance' ),
-                                       type: 'send_unselected_if_any',
-                                       fullCoverage: true,
-                                       filters: [
-                                               {
-                                                       name: 'hideminor',
-                                                       label: mw.msg( 'rcfilters-filter-minor-label' ),
-                                                       description: mw.msg( 'rcfilters-filter-minor-description' ),
-                                                       'class': 'mw-changeslist-minor'
-                                               },
-                                               {
-                                                       name: 'hidemajor',
-                                                       label: mw.msg( 'rcfilters-filter-major-label' ),
-                                                       description: mw.msg( 'rcfilters-filter-major-description' ),
-                                                       'class': 'mw-changeslist-major'
-                                               }
-                                       ]
-                               },
-                               changetype: {
-                                       title: mw.msg( 'rcfilters-filtergroup-changetype' ),
-                                       type: 'send_unselected_if_any',
-                                       fullCoverage: true,
-                                       filters: [
-                                               {
-                                                       name: 'hidepageedits',
-                                                       label: mw.msg( 'rcfilters-filter-pageedits-label' ),
-                                                       description: mw.msg( 'rcfilters-filter-pageedits-description' ),
-                                                       'default': false,
-                                                       'class': 'mw-changeslist-src-mw-edit'
-
-                                               },
-                                               {
-                                                       name: 'hidenewpages',
-                                                       label: mw.msg( 'rcfilters-filter-newpages-label' ),
-                                                       description: mw.msg( 'rcfilters-filter-newpages-description' ),
-                                                       'default': false,
-                                                       'class': 'mw-changeslist-src-mw-new'
-                                               },
-                                               {
-                                                       name: 'hidecategorization',
-                                                       label: mw.msg( 'rcfilters-filter-categorization-label' ),
-                                                       description: mw.msg( 'rcfilters-filter-categorization-description' ),
-                                                       'default': true,
-                                                       'class': 'mw-changeslist-src-mw-categorize'
-                                               },
-                                               {
-                                                       name: 'hidelog',
-                                                       label: mw.msg( 'rcfilters-filter-logactions-label' ),
-                                                       description: mw.msg( 'rcfilters-filter-logactions-description' ),
-                                                       'default': false,
-                                                       'class': 'mw-changeslist-src-mw-log'
-                                               }
-                                       ]
-                               }
-                       } );
+                       controller.initialize( mw.config.get( 'wgStructuredChangeFilters' ) );
 
                        // eslint-disable-next-line no-new
                        new mw.rcfilters.ui.FormWrapperWidget(
diff --git a/resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.CapsuleItemWidget.monobook.less b/resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.CapsuleItemWidget.monobook.less
new file mode 100644 (file)
index 0000000..04e5efe
--- /dev/null
@@ -0,0 +1,9 @@
+.mw-rcfilters-ui-capsuleItemWidget {
+       .oo-ui-buttonElement {
+               // Override the vertical align for the close button
+               // for some unknown reason, this rule, in combination
+               // with the negative margin-top rule, pushes all the
+               // close buttons up above the capsule item.
+               vertical-align: baseline;
+       }
+}
index c18fe5e..402f0ad 100644 (file)
@@ -1,6 +1,17 @@
 @import 'mw.rcfilters.mixins';
 
 .mw-rcfilters-ui-changesListWrapperWidget {
+       &-results {
+               width: 35em;
+               margin: 5em auto;
+
+               &-noresult,
+               &-conflict {
+                       font-weight: bold;
+                       margin-bottom: 0.5em;
+               }
+       }
+
        &-highlighted {
                ul {
                        list-style: none;
index a0ef293..b9dd3c1 100644 (file)
@@ -3,13 +3,16 @@
 
        &.oo-ui-widget-enabled .oo-ui-capsuleMultiselectWidget-handle {
                background-color: #f8f9fa;
-               border: 1px solid #a2a9b1;
-               min-height: 5.5em;
-               padding: 0.75em;
+               border-radius: 2px 2px 0 0;
+               padding: 0.3em 0.6em 0.6em 0.6em;
+               margin-top: 1.6em;
+       }
 
+       .mw-rcfilters-ui-table {
+               margin-top: 0.3em;
        }
 
-       &-content-title {
+       &-wrapper-content-title {
                font-weight: bold;
                color: #54595d;
        }
index 83491ac..d774ad2 100644 (file)
@@ -3,16 +3,51 @@
 .mw-rcfilters-ui-filterGroupWidget {
        padding-bottom: 0.5em;
 
-       &-title {
-               // TODO: Unify colors with official design palette
+       &-header {
                background: #eaecf0;
                padding: 0.5em 0.75em;
-               color: #555a5d;
-               .box-sizing( border-box );
+
+               &-title {
+                       // TODO: Unify colors with official design palette
+                       color: #555a5d;
+                       .box-sizing( border-box );
+                       display: inline-block;
+               }
+       }
+
+       &-whatsThisButton {
+               display: inline-block;
+               margin-left: 1.5em;
+
+               &.oo-ui-buttonElement {
+                       vertical-align: text-bottom;
+
+                       & > .oo-ui-buttonElement-button {
+                               font-weight: normal;
+                       }
+               }
+
+               &-popup-content {
+                       padding: 1em;
+
+                       &-header {
+                               font-weight: bold;
+                               margin-bottom: 1em;
+                       }
+
+                       &-link {
+                               margin: 1em 0;
+
+                       }
+
+                       .oo-ui-buttonElement-frameless.oo-ui-labelElement > .oo-ui-buttonElement-button > .oo-ui-labelElement-label {
+                               margin-left: 0;
+                       }
+               }
        }
 
        &-active {
-               .mw-rcfilters-ui-filterGroupWidget-title {
+               .mw-rcfilters-ui-filterGroupWidget-header-title {
                        font-weight: bold;
                }
        }
index 970d140..b22abc6 100644 (file)
@@ -4,9 +4,7 @@
        direction: ltr;
 
        &-popup {
-               // We have to override OOUI's definition, which is set
-               // on the inline style of the popup
-               margin-top: 2.4em !important; /* stylelint-disable-line declaration-no-important */
+               margin-top: 1px;
                max-width: 650px;
 
                .oo-ui-popupWidget-body {
@@ -22,7 +20,7 @@
 
        &-search {
                max-width: none;
-               margin-top: -0.5em;
+               margin-top: -1px;
 
                input {
                        // We need to reiterate the directionality
index 3334d84..cb87989 100644 (file)
@@ -1,7 +1,7 @@
 .mw-rcfilters-ui-filtersListWidget {
        &-title {
                font-size: 1.2em;
-               padding: 0.75em;
+               padding: 0.75em 0.5em;
                // TODO: Unify colors with official design palette
                color: #54595d;
        }
                &-highlight {
                        width: 1em;
                        vertical-align: middle;
+                       // Using the same padding that the filter item
+                       // uses, so the button is aligned with the highlight
+                       // buttons for the filters
+                       padding-right: 0.5em;
                }
 
                &-title {
diff --git a/resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.Overlay.monobook.less b/resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.Overlay.monobook.less
new file mode 100644 (file)
index 0000000..fae2b32
--- /dev/null
@@ -0,0 +1,3 @@
+.mw-rcfilters-ui-overlay {
+       font-size: 1.28em; /* 0.8em / x-small */
+}
index f28523a..728bb38 100644 (file)
         * @cfg {jQuery} [$overlay] A jQuery object serving as overlay for popups
         */
        mw.rcfilters.ui.CapsuleItemWidget = function MwRcfiltersUiCapsuleItemWidget( controller, model, config ) {
-               var $popupContent = $( '<div>' )
-                               .addClass( 'mw-rcfilters-ui-capsuleItemWidget-popup-content' ),
-                       descLabelWidget = new OO.ui.LabelWidget();
-
                // Configuration initialization
                config = config || {};
 
                this.controller = controller;
                this.model = model;
+               this.popupLabel = new OO.ui.LabelWidget();
                this.$overlay = config.$overlay || this.$element;
                this.positioned = false;
                this.popupTimeoutShow = null;
                                padded: false,
                                align: 'center',
                                position: 'above',
-                               $content: $popupContent
-                                       .append( descLabelWidget.$element ),
+                               $content: $( '<div>' )
+                                       .addClass( 'mw-rcfilters-ui-capsuleItemWidget-popup-content' )
+                                       .append( this.popupLabel.$element ),
                                $floatableContainer: this.$element,
                                classes: [ 'mw-rcfilters-ui-capsuleItemWidget-popup' ]
                        }
                }, config ) );
 
-               // Set initial text for the popup - the description
-               descLabelWidget.setLabel( this.model.getDescription() );
-
                this.$highlight = $( '<div>' )
                        .addClass( 'mw-rcfilters-ui-capsuleItemWidget-highlight' );
 
                        )
                        .toggleClass(
                                'mw-rcfilters-ui-capsuleItemWidget-conflicted',
-                               this.model.isConflicted()
+                               this.model.isSelected() && this.model.isConflicted()
                        );
        };
 
         * Respond to mouse enter event
         */
        mw.rcfilters.ui.CapsuleItemWidget.prototype.onMouseEnter = function () {
-               if ( this.model.getDescription() ) {
+               var labelText = this.model.getStateMessage();
+
+               if ( labelText ) {
+                       this.popupLabel.setLabel( labelText );
+
                        if ( !this.positioned ) {
                                // Recalculate anchor position to be center of the capsule item
                                this.popup.$anchor.css( 'margin-left', ( this.$element.width() / 2 ) );
index 84248e1..c7e6961 100644 (file)
         * @param {jQuery|string} $changesListContent The content of the updated changes list
         */
        mw.rcfilters.ui.ChangesListWrapperWidget.prototype.onModelUpdate = function ( $changesListContent ) {
-               var isEmpty = $changesListContent === 'NO_RESULTS';
+               var conflictItem,
+                       $message = $( '<div>' )
+                               .addClass( 'mw-rcfilters-ui-changesListWrapperWidget-results' ),
+                       isEmpty = $changesListContent === 'NO_RESULTS';
 
                this.$element.toggleClass( 'mw-changeslist', !isEmpty );
                this.$element.toggleClass( 'mw-changeslist-empty', isEmpty );
                if ( isEmpty ) {
                        this.$changesListContent = null;
-                       this.$element.empty().append(
-                               document.createTextNode( mw.message( 'recentchanges-noresult' ).text() )
-                       );
+                       this.$element.empty();
+
+                       if ( this.filtersViewModel.hasConflict() ) {
+                               conflictItem = this.filtersViewModel.getFirstConflictedItem();
+
+                               $message
+                                       .append(
+                                               $( '<div>' )
+                                                       .addClass( 'mw-rcfilters-ui-changesListWrapperWidget-results-conflict' )
+                                                       .text( mw.message( 'rcfilters-noresults-conflict' ).text() ),
+                                               $( '<div>' )
+                                                       .addClass( 'mw-rcfilters-ui-changesListWrapperWidget-results-message' )
+                                                       .text( mw.message( conflictItem.getCurrentConflictResultMessage() ).text() )
+                                       );
+                       } else {
+                               $message
+                                       .append(
+                                               $( '<div>' )
+                                                       .addClass( 'mw-rcfilters-ui-changesListWrapperWidget-results-noresult' )
+                                                       .text( mw.message( 'recentchanges-noresult' ).text() )
+                                       );
+                       }
+
+                       this.$element.append( $message );
                } else {
                        this.$changesListContent = $changesListContent;
                        this.$element.empty().append( this.$changesListContent );
index a06b103..e481bde 100644 (file)
 
                // Parent
                mw.rcfilters.ui.FilterCapsuleMultiselectWidget.parent.call( this, $.extend( true, {
-                       popup: { $autoCloseIgnore: filterInput.$element.add( this.$overlay ) }
+                       popup: {
+                               $autoCloseIgnore: filterInput.$element.add( this.$overlay ),
+                               $floatableContainer: filterInput.$element
+                       }
                }, config ) );
 
                this.controller = controller;
@@ -34,9 +37,7 @@
                this.selected = null;
 
                this.resetButton = new OO.ui.ButtonWidget( {
-                       icon: 'trash',
                        framed: false,
-                       title: mw.msg( 'rcfilters-clear-all-filters' ),
                        classes: [ 'mw-rcfilters-ui-filterCapsuleMultiselectWidget-resetButton' ]
                } );
 
                this.resetButton.setLabel(
                        currFiltersAreEmpty ? mw.msg( 'rcfilters-restore-default-filters' ) : ''
                );
+               this.resetButton.setTitle(
+                       currFiltersAreEmpty ? null : mw.msg( 'rcfilters-clear-all-filters' )
+               );
 
                this.resetButton.toggle( !hideResetButton );
                this.emptyFilterMessage.toggle( currFiltersAreEmpty );
index a750c44..e19208a 100644 (file)
         * @param {mw.rcfilters.Controller} controller Controller
         * @param {mw.rcfilters.dm.FilterGroup} model Filter group model
         * @param {Object} config Configuration object
+        * @cfg {jQuery} [$overlay] Overlay
         */
        mw.rcfilters.ui.FilterGroupWidget = function MwRcfiltersUiFilterGroupWidget( controller, model, config ) {
+               var whatsThisMessages,
+                       $header = $( '<div>' )
+                               .addClass( 'mw-rcfilters-ui-filterGroupWidget-header' ),
+                       $popupContent = $( '<div>' )
+                               .addClass( 'mw-rcfilters-ui-filterGroupWidget-whatsThisButton-popup-content' );
+
                config = config || {};
 
                // Parent
                this.controller = controller;
                this.model = model;
                this.filters = {};
+               this.$overlay = config.$overlay || this.$element;
 
                // Mixin constructors
                OO.ui.mixin.GroupWidget.call( this, config );
                OO.ui.mixin.LabelElement.call( this, $.extend( {}, config, {
                        label: this.model.getTitle(),
                        $label: $( '<div>' )
-                               .addClass( 'mw-rcfilters-ui-filterGroupWidget-title' )
+                               .addClass( 'mw-rcfilters-ui-filterGroupWidget-header-title' )
                } ) );
-               this.$overlay = config.$overlay || this.$element;
+
+               $header.append( this.$label );
+
+               if ( this.model.hasWhatsThis() ) {
+                       whatsThisMessages = this.model.getWhatsThis();
+
+                       // Create popup
+                       if ( whatsThisMessages.header ) {
+                               $popupContent.append(
+                                       ( new OO.ui.LabelWidget( {
+                                               label: mw.msg( whatsThisMessages.header ),
+                                               classes: [ 'mw-rcfilters-ui-filterGroupWidget-whatsThisButton-popup-content-header' ]
+                                       } ) ).$element
+                               );
+                       }
+                       if ( whatsThisMessages.body ) {
+                               $popupContent.append(
+                                       ( new OO.ui.LabelWidget( {
+                                               label: mw.msg( whatsThisMessages.body ),
+                                               classes: [ 'mw-rcfilters-ui-filterGroupWidget-whatsThisButton-popup-content-body' ]
+                                       } ) ).$element
+                               );
+                       }
+                       if ( whatsThisMessages.linkText && whatsThisMessages.url ) {
+                               $popupContent.append(
+                                       ( new OO.ui.ButtonWidget( {
+                                               framed: false,
+                                               flags: [ 'progressive' ],
+                                               href: whatsThisMessages.url,
+                                               label: mw.msg( whatsThisMessages.linkText ),
+                                               classes: [ 'mw-rcfilters-ui-filterGroupWidget-whatsThisButton-popup-content-link' ]
+                                       } ) ).$element
+                               );
+                       }
+
+                       // Add button
+                       this.whatsThisButton = new OO.ui.PopupButtonWidget( {
+                               framed: false,
+                               label: mw.msg( 'rcfilters-filterlist-whatsthis' ),
+                               $overlay: this.$overlay,
+                               classes: [ 'mw-rcfilters-ui-filterGroupWidget-whatsThisButton' ],
+                               flags: [ 'progressive' ],
+                               popup: {
+                                       padded: false,
+                                       align: 'center',
+                                       position: 'above',
+                                       $content: $popupContent,
+                                       classes: [ 'mw-rcfilters-ui-filterGroupWidget-whatsThisButton-popup' ]
+                               }
+                       } );
+
+                       $header
+                               .append( this.whatsThisButton.$element );
+               }
 
                // Populate
                this.populateFromModel();
                        .addClass( 'mw-rcfilters-ui-filterGroupWidget' )
                        .addClass( 'mw-rcfilters-ui-filterGroupWidget-name-' + this.model.getName() )
                        .append(
-                               this.$label,
+                               $header,
                                this.$group
                                        .addClass( 'mw-rcfilters-ui-filterGroupWidget-group' )
                        );
index 17aad51..889ba08 100644 (file)
                        icon: 'highlight',
                        indicator: 'down',
                        popup: {
-                               anchor: false,
+                               // TODO: There is a bug in non-anchored popups in
+                               // OOUI, so we set this popup to "anchored" until
+                               // the bug is fixed.
+                               // See: https://phabricator.wikimedia.org/T159906
+                               anchor: true,
                                padded: true,
                                align: 'backwards',
                                horizontalPosition: 'end',
index 4ea284b..7e6d776 100644 (file)
                this.$element.toggleClass(
                        'mw-rcfilters-ui-filterItemWidget-muted',
                        this.model.isConflicted() ||
-                       this.model.isIncluded() ||
                        (
                                // Item is also muted when any of the items in its group is active
                                this.model.getGroupModel().isActive() &&
                                // But it isn't selected
-                               !this.model.isSelected()
+                               !this.model.isSelected() &&
+                               // And also not included
+                               !this.model.isIncluded()
                        )
                );
 
index e64a4c0..1fba18c 100644 (file)
                        }
                } else {
                        this.scrollToTop( this.capsule.$element, 10 );
+                       if ( !this.filterPopup.getSelectedFilter() ) {
+                               // No selection, scroll the popup list to top
+                               setTimeout( function () { this.capsule.popup.$body.scrollTop( 0 ); }.bind( this ), 0 );
+                       }
                }
        };
 
index e914bbe..d17ffff 100644 (file)
 
                // Replace the entire fieldset
                this.$element.empty().append( $fieldset.contents() );
+               // Make sure enhanced RC re-initializes correctly
+               mw.hook( 'wikipage.content' ).fire( this.$element );
 
                this.cleanUpFieldset();
 
         * Clean up the old-style show/hide that we have implemented in the filter list
         */
        mw.rcfilters.ui.FormWrapperWidget.prototype.cleanUpFieldset = function () {
-               var widget = this;
-
-               // HACK: Remove old-style filter links for filters handled by the widget
-               // Ideally the widget would handle all filters and we'd just remove .rcshowhide entirely
-               this.$element.find( '.rcshowhide' ).children().each( function () {
-                       // HACK: Interpret the class name to get the filter name
-                       // This should really be set as a data attribute
-                       var i,
-                               name = null,
-                               // Some of the older browsers we support don't have .classList,
-                               // so we have to interpret the class attribute manually.
-                               classes = this.getAttribute( 'class' ).split( ' ' );
-                       for ( i = 0; i < classes.length; i++ ) {
-                               if ( classes[ i ].substr( 0, 'rcshow'.length ) === 'rcshow' ) {
-                                       name = classes[ i ].substr( 'rcshow'.length );
-                                       break;
-                               }
-                       }
-                       if ( name === null ) {
-                               return;
-                       }
-                       if ( name === 'hidemine' ) {
-                               // HACK: the span for hidemyself is called hidemine
-                               name = 'hidemyself';
+               var $namespaceSelect = this.$element.find( '#namespace' ),
+                       $namespaceCheckboxes = this.$element.find( '#nsassociated, #nsinvert' ),
+                       collapseCookieName = 'changeslist-state';
+
+               this.$element.find( '.rcshowhideoption[data-feature-in-structured-ui=1]' ).each( function () {
+                       // HACK: Remove the text node after the span.
+                       // If there isn't one, we're at the end, so remove the text node before the span.
+                       // This would be unnecessary if we added separators with CSS.
+                       if ( this.nextSibling && this.nextSibling.nodeType === Node.TEXT_NODE ) {
+                               this.parentNode.removeChild( this.nextSibling );
+                       } else if ( this.previousSibling && this.previousSibling.nodeType === Node.TEXT_NODE ) {
+                               this.parentNode.removeChild( this.previousSibling );
                        }
+                       // Remove the span itself
+                       this.parentNode.removeChild( this );
+               } );
 
-                       // This span corresponds to a filter that's in our model, so remove it
-                       if ( widget.filtersModel.getItemByName( name ) ) {
-                               // HACK: Remove the text node after the span.
-                               // If there isn't one, we're at the end, so remove the text node before the span.
-                               // This would be unnecessary if we added separators with CSS.
-                               if ( this.nextSibling && this.nextSibling.nodeType === Node.TEXT_NODE ) {
-                                       this.parentNode.removeChild( this.nextSibling );
-                               } else if ( this.previousSibling && this.previousSibling.nodeType === Node.TEXT_NODE ) {
-                                       this.parentNode.removeChild( this.previousSibling );
-                               }
-                               // Remove the span itself
-                               this.parentNode.removeChild( this );
-                       }
+               // Bind namespace select to change event
+               // see resources/src/mediawiki.special/mediawiki.special.recentchanges.js
+               $namespaceCheckboxes.prop( 'disabled', $namespaceSelect.val() === '' );
+               $namespaceSelect.on( 'change', function () {
+                       $namespaceCheckboxes.prop( 'disabled', $( this ).val() === '' );
                } );
+
+               // Collapse legend
+               // see resources/src/mediawiki.special/mediawiki.special.changelist.legend.js
+               this.$element.find( '.mw-changeslist-legend' )
+                       .makeCollapsible( {
+                               collapsed: mw.cookie.get( collapseCookieName ) === 'collapsed'
+                       } )
+                       .on( 'beforeExpand.mw-collapsible', function () {
+                               mw.cookie.set( collapseCookieName, 'expanded' );
+                       } )
+                       .on( 'beforeCollapse.mw-collapsible', function () {
+                               mw.cookie.set( collapseCookieName, 'collapsed' );
+                       } );
+
        };
 }( mediaWiki ) );
index b3d1613..ec5b429 100644 (file)
@@ -88,18 +88,18 @@ figure[typeof*='mw:Image'] {
                display: table-caption;
                caption-side: bottom;
                /* In mw-core the font-size is duplicated, 94% in thumbiner
-                * and again 94% in thumbcaption. 88% for font size of the
+                * and again 94% in thumbcaption. 88.4% for font size of the
                 * caption results in the same behavior. */
-               font-size: 88%;
+               font-size: 88.4%;
                line-height: 1.4em;
                text-align: left;
 
-               border: 1px solid #ccc;
+               border: 1px solid #c8ccd1;
                border-top: 0;
 
                /* taken from .thumbcaption, plus .thumbinner */
-               padding: 1px 5px 5px;
-               background-color: #f9f9f9;
+               padding: 0 6px 6px 6px;
+               background-color: #f8f9fa;
 
                table {
                        /* reset caption side for tables inside figcaptions */
@@ -113,10 +113,10 @@ figure[typeof~='mw:Image/Frame'] {
        display: table;
        overflow: auto;
        text-align: center;
-       border: 1px solid #ccc;
+       border: 1px solid #c8ccd1;
        border-bottom: 0; // No border to caption
        border-collapse: collapse;
-       background-color: #f9f9f9;
+       background-color: #f8f9fa;
        // Default to right alignment. This is needed since Parsoid only specifies the
        // alignment class when the alignment is explicitly set.
        margin: 0.5em 0 1.3em 1.4em;
@@ -127,7 +127,7 @@ figure[typeof~='mw:Image/Frame'] {
 figure[typeof~='mw:Image/Thumb'] > *:first-child > img,
 figure[typeof~='mw:Image/Frame'] > *:first-child > img,
 .mw-image-border > *:first-child > img {
-       border: 1px solid #ccc;
+       border: 1px solid #c8ccd1;
        margin: 3px;
        background: #fff;
 }
index 7f54b90..c3205bd 100644 (file)
@@ -93,3 +93,8 @@
        -o-tab-size: 4;
        tab-size: 4;
 }
+
+.mw-apisandbox-widget-field .oo-ui-textInputWidget {
+       /* Leave at least enough space for icon, indicator, and a sliver of text */
+       min-width: 6em;
+}
diff --git a/resources/src/mediawiki.special/mediawiki.special.changecredentials.js b/resources/src/mediawiki.special/mediawiki.special.changecredentials.js
new file mode 100644 (file)
index 0000000..9592879
--- /dev/null
@@ -0,0 +1,55 @@
+/*!
+ * JavaScript for change credentials form.
+ */
+( function ( mw, $, OO ) {
+       mw.hook( 'htmlform.enhance' ).add( function ( $root ) {
+               var api = new mw.Api();
+
+               $root.find( '.mw-changecredentials-validate-password.oo-ui-fieldLayout' ).each( function () {
+                       var currentApiPromise,
+                               self = OO.ui.FieldLayout.static.infuse( $( this ) );
+
+                       self.getField().setValidation( function ( password ) {
+                               var d;
+
+                               if ( currentApiPromise ) {
+                                       currentApiPromise.abort();
+                                       currentApiPromise = undefined;
+                               }
+
+                               password = $.trim( password );
+
+                               if ( password === '' ) {
+                                       self.setErrors( [] );
+                                       return true;
+                               }
+
+                               d = $.Deferred();
+                               currentApiPromise = api.post( {
+                                       action: 'validatepassword',
+                                       password: password,
+                                       formatversion: 2,
+                                       errorformat: 'html',
+                                       errorsuselocal: true,
+                                       uselang: mw.config.get( 'wgUserLanguage' )
+                               } ).done( function ( resp ) {
+                                       var pwinfo = resp.validatepassword,
+                                               good = pwinfo.validity === 'Good',
+                                               errors = [];
+
+                                       currentApiPromise = undefined;
+
+                                       if ( !good ) {
+                                               pwinfo.validitymessages.map( function ( m ) {
+                                                       errors.push( new OO.ui.HtmlSnippet( m.html ) );
+                                               } );
+                                       }
+                                       self.setErrors( errors );
+                                       d.resolve( good );
+                               } ).fail( d.reject );
+
+                               return d.promise( { abort: currentApiPromise.abort } );
+                       } );
+               } );
+       } );
+}( mediaWiki, jQuery, OO ) );
index 3810ac1..2a93e58 100644 (file)
@@ -3,7 +3,7 @@
        var api = new mw.Api(),
                pageUrl = new mw.Uri(),
                imagesText = new mw.Message( mw.messages, 'searchprofile-images' ),
-               moreResultsText = new mw.Message( mw.messages, 'search-interwiki-more' );
+               moreResultsText = new mw.Message( mw.messages, 'search-interwiki-more-results' );
 
        function itemTemplate( results ) {
 
@@ -28,7 +28,7 @@
 
        function itemWrapperTemplate( pageQuery, itemTemplateOutput ) {
 
-               return '<li class="iw-resultset iw-resultset--image" data-iw-resultsset-pos="0">' +
+               return '<li class="iw-resultset iw-resultset--image" data-iw-resultset-pos="0">' +
                                '<div class="iw-result__header">' +
                                        '<span class="iw-result__icon iw-result__icon--image"></span>' +
                                        '<strong>' + imagesText.escaped() + '</strong>' +
@@ -67,7 +67,7 @@
                }
 
                results.sort( function( a, b ) {
-                       return b.index - a.index;
+                       return a.index - b.index;
                } );
 
                multimediaWidgetTemplate = itemWrapperTemplate( pageUrl.query.search, itemTemplate( results ) );
index 5504883..0b0f912 100644 (file)
@@ -1,11 +1,6 @@
 /* interwiki search results */
 /*==========================*/
 
-#mw-interwiki-results {
-       float: right;
-       width: 30%;
-}
-
 .iw-headline {
        font-weight: bold;
        font-size: 1rem;
@@ -76,7 +71,6 @@ to resemble a traditional dictionary definition */
 }
 
 .iw-result__title a.extiw {
-       color: #252525;
        font-weight: bold;
 }
 
@@ -183,44 +177,20 @@ to resemble a traditional dictionary definition */
        text-align: right;
 }
 
-/* no results
-span the interwiki results across the bottom of the page.
-*/
+/* desktop only */
 
-.mw-search-nonefound ~ #mw-search-interwiki {
-       width: 100%;
-}
+@media only screen and ( min-width: @deviceWidthTablet ) {
 
-.mw-search-nonefound ~ #mw-search-interwiki .iw-resultset {
-       width: 30%;
-       max-width: 300px;
-       margin-left: 0.5em;
-       margin-right: 0.5em;
-}
-
-/* mobile */
-/* stylelint-disable declaration-no-important */
-@media only screen and ( max-width: 768px ) {
        #mw-interwiki-results {
-               width: 100%;
-       }
-       .mw-search-results {
-               max-width: none !important;
+               width: 30%;
+               display: inline-block; /* used to align iw sidebar with the top of the main search results*/
+               margin-left: 10%;
        }
-       .iw-resultset {
-               width: 45% !important;
-               margin-left: 0.5em !important;
-               margin-right: 0.5em !important;
+       .searchresults .mw-search-createlink,
+       .searchresults .mw-search-nonefound,
+       .searchresults .mw-search-results {
+               float: left;
+               width: 60%;
        }
 
 }
-
-@media only screen and ( max-width: 600px ) {
-       .iw-resultset {
-               width: 100% !important;
-               margin-left: 0 !important;
-               margin-right: 0 !important;
-               max-width: none !important;
-       }
-}
-/* stylelint-enable declaration-no-important */
index 89f5132..72ede97 100644 (file)
@@ -32,9 +32,9 @@
 
 .mw-search-results {
        margin: 0;
-       float: left;
-       max-width: 60%;
+       max-width: 38em;
 }
+
 .mw-search-visualclear {
        clear: both;
 }
index 24f54d0..10e19e7 100644 (file)
        } );
 
        // Check if the username is invalid or already taken
-       $( function () {
-               var
-                       // We need to hook to all of these events to be sure we are notified of all changes to the
-                       // value of an <input type=text> field.
-                       events = 'keyup keydown change mouseup cut paste focus blur',
-                       $input = $( '#wpName2' ),
-                       $statusContainer = $( '#mw-createacct-status-area' ),
+       mw.hook( 'htmlform.enhance' ).add( function ( $root ) {
+               var $usernameInput = $root.find( '#wpName2' ),
+                       $passwordInput = $root.find( '#wpPassword2' ),
+                       $emailInput = $root.find( '#wpEmail' ),
+                       $realNameInput = $root.find( '#wpRealName' ),
                        api = new mw.Api(),
-                       currentRequest;
-
-               // Hide any present status messages.
-               function clearStatus() {
-                       $statusContainer.slideUp( function () {
-                               $statusContainer
-                                       .removeAttr( 'class' )
-                                       .empty();
-                       } );
-               }
+                       usernameChecker, passwordChecker;
 
-               // Returns a promise receiving a { state:, username: } object, where:
-               // * 'state' is one of 'invalid', 'taken', 'ok'
-               // * 'username' is the validated username if 'state' is 'ok', null otherwise (if it's not
-               //   possible to register such an account)
                function checkUsername( username ) {
                        // We could just use .then() if we didn't have to pass on .abort()…
                        var d, apiPromise;
                        apiPromise = api.get( {
                                action: 'query',
                                list: 'users',
-                               ususers: username // '|' in usernames is handled below
+                               ususers: username,
+                               usprop: 'cancreate',
+                               formatversion: 2,
+                               errorformat: 'html',
+                               errorsuselocal: true,
+                               uselang: mw.config.get( 'wgUserLanguage' )
                        } )
                                .done( function ( resp ) {
                                        var userinfo = resp.query.users[ 0 ];
 
-                                       if ( resp.query.users.length !== 1 ) {
-                                               // Happens if the user types '|' into the field
-                                               d.resolve( { state: 'invalid', username: null } );
-                                       } else if ( userinfo.invalid !== undefined ) {
-                                               d.resolve( { state: 'invalid', username: null } );
+                                       if ( resp.query.users.length !== 1 || userinfo.invalid ) {
+                                               d.resolve( { valid: false, messages: [ mw.message( 'noname' ).parseDom() ] } );
                                        } else if ( userinfo.userid !== undefined ) {
-                                               d.resolve( { state: 'taken', username: null } );
+                                               d.resolve( { valid: false, messages: [ mw.message( 'userexists' ).parseDom() ] } );
+                                       } else if ( !userinfo.cancreate ) {
+                                               d.resolve( {
+                                                       valid: false,
+                                                       messages: userinfo.cancreateerror ? userinfo.cancreateerror.map( function ( m ) {
+                                                               return m.html;
+                                                       } ) : []
+                                               } );
                                        } else {
-                                               d.resolve( { state: 'ok', username: username } );
+                                               d.resolve( { valid: true, messages: [] } );
                                        }
                                } )
                                .fail( d.reject );
                        return d.promise( { abort: apiPromise.abort } );
                }
 
-               function updateUsernameStatus() {
-                       var
-                               username = $.trim( $input.val() ),
-                               currentRequestInternal;
-
-                       // Abort any pending requests.
-                       if ( currentRequest ) {
-                               currentRequest.abort();
-                       }
+               function checkPassword() {
+                       // We could just use .then() if we didn't have to pass on .abort()…
+                       var apiPromise,
+                               d = $.Deferred();
 
-                       if ( username === '' ) {
-                               clearStatus();
-                               return;
+                       if ( $.trim( $usernameInput.val() ) === '' ) {
+                               d.resolve( { valid: true, messages: [] } );
+                               return d.promise();
                        }
 
-                       currentRequest = currentRequestInternal = checkUsername( username ).done( function ( info ) {
-                               var message;
-
-                               // Another request was fired in the meantime, the result we got here is no longer current.
-                               // This shouldn't happen as we abort pending requests, but you never know.
-                               if ( currentRequest !== currentRequestInternal ) {
-                                       return;
-                               }
-                               // If we're here, then the current request has finished, avoid calling .abort() needlessly.
-                               currentRequest = undefined;
-
-                               if ( info.state === 'ok' ) {
-                                       clearStatus();
-                               } else {
-                                       if ( info.state === 'invalid' ) {
-                                               message = mw.message( 'noname' ).text();
-                                       } else if ( info.state === 'taken' ) {
-                                               message = mw.message( 'userexists' ).text();
-                                       }
+                       apiPromise = api.post( {
+                               action: 'validatepassword',
+                               user: $usernameInput.val(),
+                               password: $passwordInput.val(),
+                               email: $emailInput.val() || '',
+                               realname: $realNameInput.val() || '',
+                               formatversion: 2,
+                               errorformat: 'html',
+                               errorsuselocal: true,
+                               uselang: mw.config.get( 'wgUserLanguage' )
+                       } )
+                               .done( function ( resp ) {
+                                       var pwinfo = resp.validatepassword || {};
+
+                                       d.resolve( {
+                                               valid: pwinfo.validity === 'Good',
+                                               messages: pwinfo.validitymessages ? pwinfo.validitymessages.map( function ( m ) {
+                                                       return m.html;
+                                               } ) : []
+                                       } );
+                               } )
+                               .fail( d.reject );
 
-                                       $statusContainer
-                                               .attr( 'class', 'errorbox' )
-                                               .empty()
-                                               .append(
-                                                       // Ugh…
-                                                       // TODO Change the HTML structure in includes/templates/Usercreate.php
-                                                       $( '<strong>' ).text( mw.message( 'createacct-error' ).text() ),
-                                                       $( '<br>' ),
-                                                       document.createTextNode( message )
-                                               )
-                                               .slideDown();
-                               }
-                       } ).fail( function () {
-                               clearStatus();
-                       } );
+                       return d.promise( { abort: apiPromise.abort } );
                }
 
-               $input.on( events, $.debounce( 1000, updateUsernameStatus ) );
+               usernameChecker = new mw.htmlform.Checker( $usernameInput, checkUsername );
+               usernameChecker.attach();
+
+               passwordChecker = new mw.htmlform.Checker( $passwordInput, checkPassword );
+               passwordChecker.attach( $usernameInput.add( $emailInput ).add( $realNameInput ) );
        } );
 }( mediaWiki, jQuery ) );
index 0ec6a4c..dd2ce2a 100644 (file)
@@ -56,7 +56,7 @@
         *     } );
         *
         * @class
-        * @extends OO.ui.InputWidget
+        * @extends OO.ui.TextInputWidget
         * @mixins OO.ui.mixin.IndicatorElement
         *
         * @constructor
 
                // Properties (must be set before parent constructor, which calls #setValue)
                this.$handle = $( '<div>' );
-               this.label = new OO.ui.LabelWidget();
+               this.innerLabel = new OO.ui.LabelWidget();
                this.textInput = new OO.ui.TextInputWidget( {
                        required: config.required,
                        placeholder: placeholderDateFormat,
                this.longDisplayFormat = config.longDisplayFormat;
                this.required = config.required;
                this.placeholderLabel = config.placeholderLabel;
-
                // Validate and set min and max dates as properties
+
                if ( config.mustBeAfter !== undefined ) {
                        mustBeAfter = moment( config.mustBeAfter, 'YYYY-MM-DD' );
                        if ( mustBeAfter.isValid() ) {
                                this.mustBeBefore = mustBeBefore;
                        }
                }
-
                // Parent constructor
                mw.widgets.DateInputWidget.parent.call( this, config );
 
                // Move 'tabindex' from this.$input (which is invisible) to the visible handle
                this.setTabIndexedElement( this.$handle );
                this.$handle
-                       .append( this.label.$element, this.$indicator )
+                       .append( this.innerLabel.$element, this.$indicator )
                        .addClass( 'mw-widget-dateInputWidget-handle' );
                this.calendar.$element
                        .addClass( 'mw-widget-dateInputWidget-calendar' );
 
        /* Inheritance */
 
-       OO.inheritClass( mw.widgets.DateInputWidget, OO.ui.InputWidget );
+       OO.inheritClass( mw.widgets.DateInputWidget, OO.ui.TextInputWidget );
        OO.mixinClass( mw.widgets.DateInputWidget, OO.ui.mixin.IndicatorElement );
 
        /* Methods */
                if ( this.getValue() === '' ) {
                        this.textInput.setValue( '' );
                        this.calendar.setDate( null );
-                       this.label.setLabel( this.placeholderLabel );
+                       this.innerLabel.setLabel( this.placeholderLabel );
                        this.$element.addClass( 'mw-widget-dateInputWidget-empty' );
                } else {
                        moment = this.getMoment();
                        if ( !this.inCalendar ) {
                                this.calendar.setDate( this.getValue() );
                        }
-                       this.label.setLabel( moment.format( this.getDisplayFormat() ) );
+                       this.innerLabel.setLabel( moment.format( this.getDisplayFormat() ) );
                        this.$element.removeClass( 'mw-widget-dateInputWidget-empty' );
                }
        };
index 8ba9a99..cad2b02 100644 (file)
 @indicator-size: unit( 12 / 16 / 0.8, em );
 
 .mw-widget-dateInputWidget {
-       display: inline-block;
-       position: relative;
-       width: 21em;
-       margin-top: 0.25em;
-       .oo-ui-inline-spacing( 0.5em );
-       margin-bottom: 0.25em;
-       margin-left: 0;
-
-       &-handle {
+       &.oo-ui-textInputWidget {
+               display: inline-block;
+               position: relative;
+               width: 21em;
+               margin-top: 0.25em;
+               .oo-ui-inline-spacing( 0.5em );
+               margin-bottom: 0.25em;
+               margin-left: 0;
+       }
+
+       &-handle,
+       &.oo-ui-textInputWidget input {
                background-color: #fff;
                display: inline-block;
                position: relative;
                border-radius: 2px;
                outline: 0;
                line-height: 1.275;
+               /**
+                * Ensures non-infused and infused widget have the same height.
+                * Equal to line height + top padding + bottom padding
+                */
+               height: 2.275em;
 
                > .oo-ui-labelElement-label {
                        padding: 0;
index 0a73bef..7880b55 100755 (executable)
@@ -30,7 +30,6 @@
                var $form = config.$input ? config.$input.closest( 'form' ) : $();
 
                config = $.extend( {
-                       type: 'search',
                        icon: 'search',
                        maxLength: undefined,
                        performSearchOnClick: true,
                                )
                        } );
                }.bind( this ) );
+
+               this.$element.addClass( 'oo-ui-textInputWidget-type-search' );
+               this.updateSearchIndicator();
+               this.connect( this, {
+                       disable: 'onDisable'
+               } );
        };
 
        /* Setup */
 
        /* Methods */
 
+       /**
+        * @inheritdoc
+        * @protected
+        */
+       mw.widgets.SearchInputWidget.prototype.getInputElement = function () {
+               return $( '<input>' ).attr( 'type', 'search' );
+       };
+
+       /**
+        * @inheritdoc
+        */
+       mw.widgets.SearchInputWidget.prototype.onIndicatorMouseDown = function ( e ) {
+               if ( e.which === OO.ui.MouseButtons.LEFT ) {
+                       // Clear the text field
+                       this.setValue( '' );
+                       this.$input[ 0 ].focus();
+                       return false;
+               }
+       };
+
+       /**
+        * Update the 'clear' indicator displayed on type: 'search' text
+        * fields, hiding it when the field is already empty or when it's not
+        * editable.
+        */
+       mw.widgets.SearchInputWidget.prototype.updateSearchIndicator = function () {
+               if ( this.getValue() === '' || this.isDisabled() || this.isReadOnly() ) {
+                       this.setIndicator( null );
+               } else {
+                       this.setIndicator( 'clear' );
+               }
+       };
+
+       /**
+        * @inheritdoc
+        */
+       mw.widgets.SearchInputWidget.prototype.onChange = function () {
+               mw.widgets.SearchInputWidget.parent.prototype.onChange.call( this );
+               this.updateSearchIndicator();
+       };
+
+       /**
+        * Handle disable events.
+        *
+        * @param {boolean} disabled Element is disabled
+        * @private
+        */
+       mw.widgets.SearchInputWidget.prototype.onDisable = function () {
+               this.updateSearchIndicator();
+       };
+
+       /**
+        * @inheritdoc
+        */
+       mw.widgets.SearchInputWidget.prototype.setReadOnly = function ( state ) {
+               mw.widgets.SearchInputWidget.parent.prototype.setReadOnly.call( this, state );
+               this.updateSearchIndicator();
+               return this;
+       };
+
        /**
         * @inheritdoc mw.widgets.TitleWidget
         */
index 37e6e1a..3583e5e 100644 (file)
@@ -65,7 +65,9 @@
                } );
 
                // Highlight matching parts of link suggestion
-               this.$label.autoEllipsis( { hasSpan: false, tooltip: true, matchText: config.query } );
+               this.$label
+                       .highlightText( config.query )
+                       .attr( 'title', config.data );
 
                if ( config.missing ) {
                        this.$label.addClass( 'new' );
diff --git a/resources/src/mediawiki/htmlform/htmlform.Checker.js b/resources/src/mediawiki/htmlform/htmlform.Checker.js
new file mode 100644 (file)
index 0000000..3f53b63
--- /dev/null
@@ -0,0 +1,180 @@
+( function ( mw, $ ) {
+
+       mw.htmlform = {};
+
+       /**
+        * @class mw.htmlform.Checker
+        */
+
+       /**
+        * A helper class to add validation to non-OOUI HtmlForm fields.
+        *
+        * @constructor
+        * @param {jQuery} $element Form field generated by HTMLForm
+        * @param {Function} validator Validation callback
+        * @param {string} validator.value Value of the form field to be validated
+        * @param {jQuery.Promise} validator.return The promise should be resolved
+        *  with an object with two properties: Boolean 'valid' to indicate success
+        *  or failure of validation, and an array 'messages' to be passed to
+        *  setErrors() on failure.
+        */
+       mw.htmlform.Checker = function ( $element, validator ) {
+               this.validator = validator;
+               this.$element = $element;
+
+               this.$errorBox = $element.next( '.error' );
+               if ( !this.$errorBox.length ) {
+                       this.$errorBox = $( '<span>' );
+                       this.$errorBox.hide();
+                       $element.after( this.$errorBox );
+               }
+
+               this.currentValue = this.$element.val();
+       };
+
+       /**
+        * Attach validation events to the form element
+        *
+        * @param {jQuery} [$extraElements] Additional elements to listen for change
+        *  events on.
+        * @return {mw.htmlform.Checker}
+        * @chainable
+        */
+       mw.htmlform.Checker.prototype.attach = function ( $extraElements ) {
+               var $e,
+                       // We need to hook to all of these events to be sure we are
+                       // notified of all changes to the value of an <input type=text>
+                       // field.
+                       events = 'keyup keydown change mouseup cut paste focus blur';
+
+               $e = this.$element;
+               if ( $extraElements ) {
+                       $e = $e.add( $extraElements );
+               }
+               $e.on( events, $.debounce( 1000, this.validate.bind( this ) ) );
+
+               return this;
+       };
+
+       /**
+        * Validate the form element
+        * @return {jQuery.Promise}
+        */
+       mw.htmlform.Checker.prototype.validate = function () {
+               var currentRequestInternal,
+                       that = this,
+                       value = this.$element.val();
+
+               // Abort any pending requests.
+               if ( this.currentRequest && this.currentRequest.abort ) {
+                       this.currentRequest.abort();
+               }
+
+               if ( value === '' ) {
+                       this.currentValue = value;
+                       this.setErrors( [] );
+                       return;
+               }
+
+               this.currentRequest = currentRequestInternal = this.validator( value )
+                       .done( function ( info ) {
+                               var forceReplacement = value !== that.currentValue;
+
+                               // Another request was fired in the meantime, the result we got here is no longer current.
+                               // This shouldn't happen as we abort pending requests, but you never know.
+                               if ( that.currentRequest !== currentRequestInternal ) {
+                                       return;
+                               }
+                               // If we're here, then the current request has finished, avoid calling .abort() needlessly.
+                               that.currentRequest = undefined;
+
+                               that.currentValue = value;
+
+                               if ( info.valid ) {
+                                       that.setErrors( [], forceReplacement );
+                               } else {
+                                       that.setErrors( info.messages, forceReplacement );
+                               }
+                       } ).fail( function () {
+                               that.currentValue = null;
+                               that.setErrors( [] );
+                       } );
+
+               return currentRequestInternal;
+       };
+
+       /**
+        * Display errors associated with the form element
+        * @param {Array} errors Error messages. Each error message will be appended to a
+        *  `<span>` or `<li>`, as with jQuery.append().
+        * @param {boolean} [forceReplacement] Set true to force a visual replacement even
+        *  if the errors are the same. Ignored if errors are empty.
+        * @return {mw.htmlform.Checker}
+        * @chainable
+        */
+       mw.htmlform.Checker.prototype.setErrors = function ( errors, forceReplacement ) {
+               var $oldErrorBox, tagName, showFunc, text, replace,
+                       $errorBox = this.$errorBox;
+
+               if ( errors.length === 0 ) {
+                       $errorBox.slideUp( function () {
+                               $errorBox
+                                       .removeAttr( 'class' )
+                                       .empty();
+                       } );
+               } else {
+                       // Match behavior of HTMLFormField::formatErrors(), <span> or <ul>
+                       // depending on the count.
+                       tagName = errors.length === 1 ? 'span' : 'ul';
+
+                       // We have to animate the replacement if we're changing the tag. We
+                       // also want to if told to by the caller (i.e. to make it visually
+                       // obvious that the changed field value gives the same error) or if
+                       // the error text changes (because it makes more sense than
+                       // changing the text with no animation).
+                       replace = (
+                               forceReplacement || $errorBox.length > 1 ||
+                               $errorBox[ 0 ].tagName.toLowerCase() !== tagName
+                       );
+                       if ( !replace ) {
+                               text = $( '<' + tagName + '>' )
+                                       .append( errors.map( function ( e ) {
+                                               return errors.length === 1 ? e : $( '<li>' ).append( e );
+                                       } ) );
+                               if ( text.text() !== $errorBox.text() ) {
+                                       replace = true;
+                               }
+                       }
+
+                       $oldErrorBox = $errorBox;
+                       if ( replace ) {
+                               this.$errorBox = $errorBox = $( '<' + tagName + '>' );
+                               $errorBox.hide();
+                               $oldErrorBox.after( this.$errorBox );
+                       }
+
+                       showFunc = function () {
+                               if ( $oldErrorBox !== $errorBox ) {
+                                       $oldErrorBox
+                                               .removeAttr( 'class' )
+                                               .detach();
+                               }
+                               $errorBox
+                                       .attr( 'class', 'error' )
+                                       .empty()
+                                       .append( errors.map( function ( e ) {
+                                               return errors.length === 1 ? e : $( '<li>' ).append( e );
+                                       } ) )
+                                       .slideDown();
+                       };
+                       if ( $oldErrorBox !== $errorBox && $oldErrorBox.hasClass( 'error' ) ) {
+                               $oldErrorBox.slideUp( showFunc );
+                       } else {
+                               showFunc();
+                       }
+               }
+
+               return this;
+       };
+
+}( mediaWiki, jQuery ) );
index 172cac2..2f90fe6 100644 (file)
         */
        mw.Upload.BookletLayout.prototype.uploadFile = function () {
                var deferred = $.Deferred(),
-                       startTime = new Date(),
+                       startTime = mw.now(),
                        layout = this,
                        file = this.getFile();
 
                                deferred.reject( errorMessage );
                        } );
                }, function ( progress ) {
-                       var elapsedTime = new Date() - startTime,
+                       var elapsedTime = mw.now() - startTime,
                                estimatedTotalTime = ( 1 / progress ) * elapsedTime,
                                estimatedRemainingTime = moment.duration( estimatedTotalTime - elapsedTime );
                        layout.emit( 'fileUploadProgress', progress, estimatedRemainingTime );
index c82b9cb..282a2ee 100644 (file)
@@ -16,8 +16,7 @@
                parserDefaults = {
                        magic: {
                                PAGENAME: mw.config.get( 'wgPageName' ),
-                               PAGENAMEE: mw.util.wikiUrlencode( mw.config.get( 'wgPageName' ) ),
-                               SITENAME: mw.config.get( 'wgSiteName' )
+                               PAGENAMEE: mw.util.wikiUrlencode( mw.config.get( 'wgPageName' ) )
                        },
                        // Whitelist for allowed HTML elements in wikitext.
                        // Self-closing tags are not currently supported.
         * parsers, pass the relevant options to mw.jqueryMsg.parser.
         *
         * @private
-        * @param {Object} data
+        * @param {Object} data New data to extend parser defaults with
+        * @param {boolean} [deep=false] Whether the extend is done recursively (deep)
         */
-       mw.jqueryMsg.setParserDefaults = function ( data ) {
-               $.extend( parserDefaults, data );
+       mw.jqueryMsg.setParserDefaults = function ( data, deep ) {
+               if ( deep ) {
+                       $.extend( true, parserDefaults, data );
+               } else {
+                       $.extend( parserDefaults, data );
+               }
        };
 
        /**
index 33f146b..c2cee7e 100644 (file)
                /* eslint-enable no-bitwise */
        }
 
-       // <https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Set>
-       StringSet = window.Set || ( function () {
-               /**
-                * @private
-                * @class
-                */
-               function StringSet() {
-                       this.set = {};
-               }
-               StringSet.prototype.add = function ( value ) {
-                       this.set[ value ] = true;
-               };
-               StringSet.prototype.has = function ( value ) {
-                       return hasOwn.call( this.set, value );
-               };
-               return StringSet;
-       }() );
+       function defineFallbacks() {
+               // <https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Set>
+               StringSet = window.Set || ( function () {
+                       /**
+                        * @private
+                        * @class
+                        */
+                       function StringSet() {
+                               this.set = {};
+                       }
+                       StringSet.prototype.add = function ( value ) {
+                               this.set[ value ] = true;
+                       };
+                       StringSet.prototype.has = function ( value ) {
+                               return hasOwn.call( this.set, value );
+                       };
+                       return StringSet;
+               }() );
+       }
 
        /**
         * Create an object that can be read from or written to via methods that allow
                }
        };
 
+       defineFallbacks();
+
        /* eslint-disable no-console */
        log = ( function () {
                // Also update the restoration of methods in mediawiki.log.js
         * @class mw
         */
        mw = {
+               redefineFallbacksForTest: function () {
+                       if ( !window.QUnit ) {
+                               throw new Error( 'Reset not allowed outside unit tests' );
+                       }
+                       defineFallbacks();
+               },
 
                /**
                 * Get the current time, measured in milliseconds since January 1, 1970 (UTC).
diff --git a/resources/src/mediawiki/mediawiki.user.blockcookie.js b/resources/src/mediawiki/mediawiki.user.blockcookie.js
deleted file mode 100644 (file)
index ffff039..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-( function ( mw ) {
-
-       // If a user has been autoblocked, a cookie is set.
-       // Its value is replicated here in localStorage to guard against cookie-removal.
-       // This module will only be loaded when $wgCookieSetOnAutoblock is true.
-       // Ref: https://phabricator.wikimedia.org/T5233
-
-       if ( !mw.cookie.get( 'BlockID' ) && mw.storage.get( 'blockID' ) ) {
-               // The block ID exists in storage, but not in the cookie.
-               mw.cookie.set( 'BlockID', mw.storage.get( 'blockID' ) );
-
-       } else if ( parseInt( mw.cookie.get( 'BlockID' ), 10 ) > 0 && !mw.storage.get( 'blockID' ) ) {
-               // The block ID exists in the cookie, but not in storage.
-               // (When a block expires the cookie remains but its value is '', hence the integer check above.)
-               mw.storage.set( 'blockID', mw.cookie.get( 'BlockID' ) );
-
-       } else if ( mw.cookie.get( 'BlockID' ) === '' && mw.storage.get( 'blockID' ) ) {
-               // If only the empty string is in the cookie, remove the storage value. The block is no longer valid.
-               mw.storage.remove( 'blockID' );
-
-       }
-
-}( mediaWiki ) );
index d228f3e..f11bbde 100644 (file)
        }
 
        mw.hook( 'wikipage.content' ).add( function ( $content ) {
-               var $sortableTables;
+               var $sortable, $collapsible;
 
                // Run jquery.placeholder polyfill if placeholder is not supported
                if ( !supportsPlaceholder ) {
                        $content.find( 'input[placeholder]' ).placeholder();
                }
 
-               // Run jquery.makeCollapsible
-               $content.find( '.mw-collapsible' ).makeCollapsible();
+               $collapsible = $content.find( '.mw-collapsible' );
+               if ( $collapsible.length ) {
+                       // Preloaded by Skin::getDefaultModules()
+                       mw.loader.using( 'jquery.makeCollapsible', function () {
+                               $collapsible.makeCollapsible();
+                       } );
+               }
 
-               // Lazy load jquery.tablesorter
-               $sortableTables = $content.find( 'table.sortable' );
-               if ( $sortableTables.length ) {
+               $sortable = $content.find( 'table.sortable' );
+               if ( $sortable.length ) {
+                       // Preloaded by Skin::getDefaultModules()
                        mw.loader.using( 'jquery.tablesorter', function () {
-                               $sortableTables.tablesorter();
+                               $sortable.tablesorter();
                        } );
                }
 
index b67c9ab..2a4c43f 100644 (file)
@@ -24,6 +24,7 @@
 global $wgAutoloadClasses;
 $testDir = __DIR__ . "/..";
 
+// @codingStandardsIgnoreStart Generic.Files.LineLength.TooLong
 $wgAutoloadClasses += [
 
        # tests/common
@@ -130,6 +131,7 @@ $wgAutoloadClasses += [
 
        # tests/phpunit/includes/specialpage
        'SpecialPageTestHelper' => "$testDir/phpunit/includes/specialpage/SpecialPageTestHelper.php",
+       'AbstractChangesListSpecialPageTestCase' => "$testDir/phpunit/includes/specialpage/AbstractChangesListSpecialPageTestCase.php",
 
        # tests/phpunit/includes/specials
        'SpecialPageTestBase' => "$testDir/phpunit/includes/specials/SpecialPageTestBase.php",
@@ -158,6 +160,8 @@ $wgAutoloadClasses += [
        'MockDjVuHandler' => "$testDir/phpunit/mocks/media/MockDjVuHandler.php",
        'MockOggHandler' => "$testDir/phpunit/mocks/media/MockOggHandler.php",
        'MockMediaHandlerFactory' => "$testDir/phpunit/mocks/media/MockMediaHandlerFactory.php",
+       'MockChangesListFilter' => "$testDir/phpunit/mocks/MockChangesListFilter.php",
+       'MockChangesListFilterGroup' => "$testDir/phpunit/mocks/MockChangesListFilterGroup.php",
        'MockWebRequest' => "$testDir/phpunit/mocks/MockWebRequest.php",
        'MediaWiki\\Session\\DummySessionBackend'
                => "$testDir/phpunit/mocks/session/DummySessionBackend.php",
@@ -167,3 +171,4 @@ $wgAutoloadClasses += [
        'ParserTestFileSuite' => "$testDir/phpunit/suites/ParserTestFileSuite.php",
        'ParserTestTopLevelSuite' => "$testDir/phpunit/suites/ParserTestTopLevelSuite.php",
 ];
+// @codingStandardsIgnoreEnd
\ No newline at end of file
index 57223da..286a1a4 100644 (file)
@@ -1,4 +1,4 @@
-<root><template><title>int:allmessagestext</title></template>
+<root><template><title>int:57dbe26a</title></template>
 
 &lt;table border=1 width=100%&gt;&lt;tr&gt;&lt;td&gt;
 '''Name'''
 &lt;/td&gt;&lt;td&gt;
 '''Current text'''
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1movedto2&amp;action=edit 1movedto2]&lt;br&gt;
-[[MediaWiki_talk:1movedto2|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f9cca05b&amp;action=edit f9cca05b]&lt;br&gt;
+[[MediaWiki_talk:f9cca05b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 $1 moved to $2
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:1movedto2</title></template>
+<template lineStart="1"><title>int:f9cca05b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Monobook.css&amp;action=edit Monobook.css]&lt;br&gt;
-[[MediaWiki_talk:Monobook.css|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ed065216&amp;action=edit ed065216]&lt;br&gt;
+[[MediaWiki_talk:ed065216|Talk]]
 &lt;/td&gt;&lt;td&gt;
 /* edit this file to customize the monobook skin for the entire site */
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Monobook.css</title></template>
+<template lineStart="1"><title>int:ed065216</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:About&amp;action=edit about]&lt;br&gt;
-[[MediaWiki_talk:About|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6b21fb79&amp;action=edit 5780daf6]&lt;br&gt;
+[[MediaWiki_talk:6b21fb79|Talk]]
 &lt;/td&gt;&lt;td&gt;
 About
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:About</title></template>
+<template lineStart="1"><title>int:6b21fb79</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Aboutpage&amp;action=edit aboutpage]&lt;br&gt;
-[[MediaWiki_talk:Aboutpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:54f19e13&amp;action=edit 4bd9b804]&lt;br&gt;
+[[MediaWiki_talk:54f19e13|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Wiktionary:About
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Aboutpage</title></template>
+<template lineStart="1"><title>int:54f19e13</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Aboutwikipedia&amp;action=edit aboutwikipedia]&lt;br&gt;
-[[MediaWiki_talk:Aboutwikipedia|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8e17cc1b&amp;action=edit 7be96c69]&lt;br&gt;
+[[MediaWiki_talk:8e17cc1b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 About Wiktionary
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Aboutwikipedia</title></template>
+<template lineStart="1"><title>int:8e17cc1b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-addsection&amp;action=edit accesskey-addsection]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-addsection|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:4b7f0428&amp;action=edit 69f5ae1e]&lt;br&gt;
+[[MediaWiki_talk:4b7f0428|Talk]]
 &lt;/td&gt;&lt;td&gt;
 +
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-addsection</title></template>
+<template lineStart="1"><title>int:4b7f0428</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-anontalk&amp;action=edit accesskey-anontalk]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-anontalk|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b18a7fba&amp;action=edit ba8c9426]&lt;br&gt;
+[[MediaWiki_talk:b18a7fba|Talk]]
 &lt;/td&gt;&lt;td&gt;
 n
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-anontalk</title></template>
+<template lineStart="1"><title>int:b18a7fba</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-anonuserpage&amp;action=edit accesskey-anonuserpage]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-anonuserpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3cfd08b4&amp;action=edit 098256f5]&lt;br&gt;
+[[MediaWiki_talk:3cfd08b4|Talk]]
 &lt;/td&gt;&lt;td&gt;
 .
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-anonuserpage</title></template>
+<template lineStart="1"><title>int:3cfd08b4</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-article&amp;action=edit accesskey-article]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-article|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d00706c5&amp;action=edit 7638fc38]&lt;br&gt;
+[[MediaWiki_talk:d00706c5|Talk]]
 &lt;/td&gt;&lt;td&gt;
 a
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-article</title></template>
+<template lineStart="1"><title>int:d00706c5</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-compareselectedversions&amp;action=edit accesskey-compareselectedversions]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-compareselectedversions|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7bbcdfc9&amp;action=edit 840afed8]&lt;br&gt;
+[[MediaWiki_talk:7bbcdfc9|Talk]]
 &lt;/td&gt;&lt;td&gt;
 v
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-compareselectedversions</title></template>
+<template lineStart="1"><title>int:7bbcdfc9</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-contributions&amp;action=edit accesskey-contributions]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-contributions|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0750ed4b&amp;action=edit 9703e6d9]&lt;br&gt;
+[[MediaWiki_talk:0750ed4b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;amp;lt;accesskey-contributions&amp;amp;gt;
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-contributions</title></template>
+<template lineStart="1"><title>int:0750ed4b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-currentevents&amp;action=edit accesskey-currentevents]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-currentevents|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:602dda6f&amp;action=edit 7e13f963]&lt;br&gt;
+[[MediaWiki_talk:602dda6f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;amp;lt;accesskey-currentevents&amp;amp;gt;
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-currentevents</title></template>
+<template lineStart="1"><title>int:602dda6f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-delete&amp;action=edit accesskey-delete]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-delete|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a395260e&amp;action=edit be42f966]&lt;br&gt;
+[[MediaWiki_talk:a395260e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 d
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-delete</title></template>
+<template lineStart="1"><title>int:a395260e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-edit&amp;action=edit accesskey-edit]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-edit|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f89faca3&amp;action=edit 89888a71]&lt;br&gt;
+[[MediaWiki_talk:f89faca3|Talk]]
 &lt;/td&gt;&lt;td&gt;
 e
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-edit</title></template>
+<template lineStart="1"><title>int:f89faca3</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-emailuser&amp;action=edit accesskey-emailuser]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-emailuser|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bc7a3e78&amp;action=edit 7b2ee991]&lt;br&gt;
+[[MediaWiki_talk:bc7a3e78|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;amp;lt;accesskey-emailuser&amp;amp;gt;
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-emailuser</title></template>
+<template lineStart="1"><title>int:bc7a3e78</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-help&amp;action=edit accesskey-help]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-help|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9e9d3613&amp;action=edit fe788279]&lt;br&gt;
+[[MediaWiki_talk:9e9d3613|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;amp;lt;accesskey-help&amp;amp;gt;
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-help</title></template>
+<template lineStart="1"><title>int:9e9d3613</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-history&amp;action=edit accesskey-history]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-history|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7ea0e322&amp;action=edit 4bb7a2e4]&lt;br&gt;
+[[MediaWiki_talk:7ea0e322|Talk]]
 &lt;/td&gt;&lt;td&gt;
 h
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-history</title></template>
+<template lineStart="1"><title>int:7ea0e322</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-login&amp;action=edit accesskey-login]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-login|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:4204d3db&amp;action=edit 725cb6bf]&lt;br&gt;
+[[MediaWiki_talk:4204d3db|Talk]]
 &lt;/td&gt;&lt;td&gt;
 o
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-login</title></template>
+<template lineStart="1"><title>int:4204d3db</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-logout&amp;action=edit accesskey-logout]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-logout|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2a92e37a&amp;action=edit a1de2049]&lt;br&gt;
+[[MediaWiki_talk:2a92e37a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 o
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-logout</title></template>
+<template lineStart="1"><title>int:2a92e37a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-mainpage&amp;action=edit accesskey-mainpage]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-mainpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:68d388ec&amp;action=edit 0542623d]&lt;br&gt;
+[[MediaWiki_talk:68d388ec|Talk]]
 &lt;/td&gt;&lt;td&gt;
 z
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-mainpage</title></template>
+<template lineStart="1"><title>int:68d388ec</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-minoredit&amp;action=edit accesskey-minoredit]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-minoredit|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:18fe1121&amp;action=edit e3f25b72]&lt;br&gt;
+[[MediaWiki_talk:18fe1121|Talk]]
 &lt;/td&gt;&lt;td&gt;
 i
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-minoredit</title></template>
+<template lineStart="1"><title>int:18fe1121</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-move&amp;action=edit accesskey-move]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-move|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6d15983f&amp;action=edit c9d212d3]&lt;br&gt;
+[[MediaWiki_talk:6d15983f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 m
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-move</title></template>
+<template lineStart="1"><title>int:6d15983f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-mycontris&amp;action=edit accesskey-mycontris]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-mycontris|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ecaba7f4&amp;action=edit ac57178f]&lt;br&gt;
+[[MediaWiki_talk:ecaba7f4|Talk]]
 &lt;/td&gt;&lt;td&gt;
 y
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-mycontris</title></template>
+<template lineStart="1"><title>int:ecaba7f4</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-mytalk&amp;action=edit accesskey-mytalk]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-mytalk|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:711aec5d&amp;action=edit 6d3ae9a7]&lt;br&gt;
+[[MediaWiki_talk:711aec5d|Talk]]
 &lt;/td&gt;&lt;td&gt;
 n
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-mytalk</title></template>
+<template lineStart="1"><title>int:711aec5d</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-portal&amp;action=edit accesskey-portal]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-portal|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9905f56f&amp;action=edit 0a376cab]&lt;br&gt;
+[[MediaWiki_talk:9905f56f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;amp;lt;accesskey-portal&amp;amp;gt;
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-portal</title></template>
+<template lineStart="1"><title>int:9905f56f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-preferences&amp;action=edit accesskey-preferences]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-preferences|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9305eef3&amp;action=edit e72912be]&lt;br&gt;
+[[MediaWiki_talk:9305eef3|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;amp;lt;accesskey-preferences&amp;amp;gt;
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-preferences</title></template>
+<template lineStart="1"><title>int:9305eef3</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-preview&amp;action=edit accesskey-preview]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-preview|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:186ee8a4&amp;action=edit cef51de6]&lt;br&gt;
+[[MediaWiki_talk:186ee8a4|Talk]]
 &lt;/td&gt;&lt;td&gt;
 p
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-preview</title></template>
+<template lineStart="1"><title>int:186ee8a4</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-protect&amp;action=edit accesskey-protect]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-protect|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:676f28e9&amp;action=edit 0f10afb5]&lt;br&gt;
+[[MediaWiki_talk:676f28e9|Talk]]
 &lt;/td&gt;&lt;td&gt;
 =
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-protect</title></template>
+<template lineStart="1"><title>int:676f28e9</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-randompage&amp;action=edit accesskey-randompage]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-randompage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1a09f43e&amp;action=edit 46a4e82c]&lt;br&gt;
+[[MediaWiki_talk:1a09f43e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 x
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-randompage</title></template>
+<template lineStart="1"><title>int:1a09f43e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-recentchanges&amp;action=edit accesskey-recentchanges]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-recentchanges|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1306607d&amp;action=edit 025b667f]&lt;br&gt;
+[[MediaWiki_talk:1306607d|Talk]]
 &lt;/td&gt;&lt;td&gt;
 r
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-recentchanges</title></template>
+<template lineStart="1"><title>int:1306607d</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-recentchangeslinked&amp;action=edit accesskey-recentchangeslinked]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-recentchangeslinked|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e14390c4&amp;action=edit 600e8a44]&lt;br&gt;
+[[MediaWiki_talk:e14390c4|Talk]]
 &lt;/td&gt;&lt;td&gt;
 c
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-recentchangeslinked</title></template>
+<template lineStart="1"><title>int:e14390c4</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-save&amp;action=edit accesskey-save]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-save|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:59b75a10&amp;action=edit 0fde75cd]&lt;br&gt;
+[[MediaWiki_talk:59b75a10|Talk]]
 &lt;/td&gt;&lt;td&gt;
 s
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-save</title></template>
+<template lineStart="1"><title>int:59b75a10</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-search&amp;action=edit accesskey-search]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-search|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0b6fd89e&amp;action=edit 5163ba5b]&lt;br&gt;
+[[MediaWiki_talk:0b6fd89e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 f
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-search</title></template>
+<template lineStart="1"><title>int:0b6fd89e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-sitesupport&amp;action=edit accesskey-sitesupport]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-sitesupport|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ba9e0fc4&amp;action=edit f70dbcff]&lt;br&gt;
+[[MediaWiki_talk:ba9e0fc4|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;amp;lt;accesskey-sitesupport&amp;amp;gt;
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-sitesupport</title></template>
+<template lineStart="1"><title>int:ba9e0fc4</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-specialpage&amp;action=edit accesskey-specialpage]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-specialpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b932fee9&amp;action=edit 8949be8d]&lt;br&gt;
+[[MediaWiki_talk:b932fee9|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;amp;lt;accesskey-specialpage&amp;amp;gt;
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-specialpage</title></template>
+<template lineStart="1"><title>int:b932fee9</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-specialpages&amp;action=edit accesskey-specialpages]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-specialpages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1ac10275&amp;action=edit 59a5e487]&lt;br&gt;
+[[MediaWiki_talk:1ac10275|Talk]]
 &lt;/td&gt;&lt;td&gt;
 q
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-specialpages</title></template>
+<template lineStart="1"><title>int:1ac10275</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-talk&amp;action=edit accesskey-talk]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-talk|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:116fd1b0&amp;action=edit a83f2193]&lt;br&gt;
+[[MediaWiki_talk:116fd1b0|Talk]]
 &lt;/td&gt;&lt;td&gt;
 t
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-talk</title></template>
+<template lineStart="1"><title>int:116fd1b0</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-undelete&amp;action=edit accesskey-undelete]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-undelete|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ec06f1a7&amp;action=edit 5894e42e]&lt;br&gt;
+[[MediaWiki_talk:ec06f1a7|Talk]]
 &lt;/td&gt;&lt;td&gt;
 d
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-undelete</title></template>
+<template lineStart="1"><title>int:ec06f1a7</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-unwatch&amp;action=edit accesskey-unwatch]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-unwatch|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7f99a8c2&amp;action=edit 2a2a9d13]&lt;br&gt;
+[[MediaWiki_talk:7f99a8c2|Talk]]
 &lt;/td&gt;&lt;td&gt;
 w
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-unwatch</title></template>
+<template lineStart="1"><title>int:7f99a8c2</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-upload&amp;action=edit accesskey-upload]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-upload|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:903549e8&amp;action=edit 3a1dcde8]&lt;br&gt;
+[[MediaWiki_talk:903549e8|Talk]]
 &lt;/td&gt;&lt;td&gt;
 u
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-upload</title></template>
+<template lineStart="1"><title>int:903549e8</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-userpage&amp;action=edit accesskey-userpage]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-userpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8f696cc0&amp;action=edit be76a8c2]&lt;br&gt;
+[[MediaWiki_talk:8f696cc0|Talk]]
 &lt;/td&gt;&lt;td&gt;
 .
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-userpage</title></template>
+<template lineStart="1"><title>int:8f696cc0</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-viewsource&amp;action=edit accesskey-viewsource]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-viewsource|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:613ebbad&amp;action=edit e467bdec]&lt;br&gt;
+[[MediaWiki_talk:613ebbad|Talk]]
 &lt;/td&gt;&lt;td&gt;
 e
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-viewsource</title></template>
+<template lineStart="1"><title>int:613ebbad</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-watch&amp;action=edit accesskey-watch]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-watch|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f598b5d6&amp;action=edit 8bbdd8ad]&lt;br&gt;
+[[MediaWiki_talk:f598b5d6|Talk]]
 &lt;/td&gt;&lt;td&gt;
 w
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-watch</title></template>
+<template lineStart="1"><title>int:f598b5d6</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-watchlist&amp;action=edit accesskey-watchlist]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-watchlist|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:59863979&amp;action=edit f8563593]&lt;br&gt;
+[[MediaWiki_talk:59863979|Talk]]
 &lt;/td&gt;&lt;td&gt;
 l
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-watchlist</title></template>
+<template lineStart="1"><title>int:59863979</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-whatlinkshere&amp;action=edit accesskey-whatlinkshere]&lt;br&gt;
-[[MediaWiki_talk:Accesskey-whatlinkshere|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:00143391&amp;action=edit 016415ff]&lt;br&gt;
+[[MediaWiki_talk:00143391|Talk]]
 &lt;/td&gt;&lt;td&gt;
 b
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accesskey-whatlinkshere</title></template>
+<template lineStart="1"><title>int:00143391</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accmailtext&amp;action=edit accmailtext]&lt;br&gt;
-[[MediaWiki_talk:Accmailtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d4dce921&amp;action=edit c90b0565]&lt;br&gt;
+[[MediaWiki_talk:d4dce921|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The Password for &amp;#39;$1&amp;#39; has been sent to $2.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accmailtext</title></template>
+<template lineStart="1"><title>int:d4dce921</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accmailtitle&amp;action=edit accmailtitle]&lt;br&gt;
-[[MediaWiki_talk:Accmailtitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9e6cd678&amp;action=edit 05cb31f3]&lt;br&gt;
+[[MediaWiki_talk:9e6cd678|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Password sent.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Accmailtitle</title></template>
+<template lineStart="1"><title>int:9e6cd678</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Actioncomplete&amp;action=edit actioncomplete]&lt;br&gt;
-[[MediaWiki_talk:Actioncomplete|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:37186ec6&amp;action=edit 6703566b]&lt;br&gt;
+[[MediaWiki_talk:37186ec6|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Action complete
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Actioncomplete</title></template>
+<template lineStart="1"><title>int:37186ec6</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Addedwatch&amp;action=edit addedwatch]&lt;br&gt;
-[[MediaWiki_talk:Addedwatch|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2bacba53&amp;action=edit 9a954e94]&lt;br&gt;
+[[MediaWiki_talk:2bacba53|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Added to watchlist
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Addedwatch</title></template>
+<template lineStart="1"><title>int:2bacba53</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Addedwatchtext&amp;action=edit addedwatchtext]&lt;br&gt;
-[[MediaWiki_talk:Addedwatchtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b28893b8&amp;action=edit cb101aa3]&lt;br&gt;
+[[MediaWiki_talk:b28893b8|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The page &amp;quot;$1&amp;quot; has been added to your &amp;#91;&amp;#91;Special:Watchlist&amp;#124;watchlist]].
 Future changes to this page and its associated Talk page will be listed there,
@@ -360,150 +360,150 @@ make it easier to pick out.
 
 &amp;lt;p&amp;gt;If you want to remove the page from your watchlist later, click &amp;quot;Stop watching&amp;quot; in the sidebar.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Addedwatchtext</title></template>
+<template lineStart="1"><title>int:b28893b8</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Addsection&amp;action=edit addsection]&lt;br&gt;
-[[MediaWiki_talk:Addsection|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:291bfe3c&amp;action=edit 788205f7]&lt;br&gt;
+[[MediaWiki_talk:291bfe3c|Talk]]
 &lt;/td&gt;&lt;td&gt;
 +
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Addsection</title></template>
+<template lineStart="1"><title>int:291bfe3c</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Administrators&amp;action=edit administrators]&lt;br&gt;
-[[MediaWiki_talk:Administrators|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0d4d418a&amp;action=edit 69189a95]&lt;br&gt;
+[[MediaWiki_talk:0d4d418a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Wiktionary:Administrators
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Administrators</title></template>
+<template lineStart="1"><title>int:0d4d418a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Affirmation&amp;action=edit affirmation]&lt;br&gt;
-[[MediaWiki_talk:Affirmation|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1b4ceeda&amp;action=edit f61e4837]&lt;br&gt;
+[[MediaWiki_talk:1b4ceeda|Talk]]
 &lt;/td&gt;&lt;td&gt;
 I affirm that the copyright holder of this file
 agrees to license it under the terms of the $1.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Affirmation</title></template>
+<template lineStart="1"><title>int:1b4ceeda</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:All&amp;action=edit all]&lt;br&gt;
-[[MediaWiki_talk:All|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6a720856&amp;action=edit d87c4480]&lt;br&gt;
+[[MediaWiki_talk:6a720856|Talk]]
 &lt;/td&gt;&lt;td&gt;
 all
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:All</title></template>
+<template lineStart="1"><title>int:6a720856</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Allmessages&amp;action=edit allmessages]&lt;br&gt;
-[[MediaWiki_talk:Allmessages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f2fab435&amp;action=edit a6623c77]&lt;br&gt;
+[[MediaWiki_talk:f2fab435|Talk]]
 &lt;/td&gt;&lt;td&gt;
 All system messages
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Allmessages</title></template>
+<template lineStart="1"><title>int:f2fab435</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Allmessagestext&amp;action=edit allmessagestext]&lt;br&gt;
-[[MediaWiki_talk:Allmessagestext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e57c77b8&amp;action=edit 57dbe26a]&lt;br&gt;
+[[MediaWiki_talk:e57c77b8|Talk]]
 &lt;/td&gt;&lt;td&gt;
 This is a list of all system messages available in the MediaWiki: namespace.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Allmessagestext</title></template>
+<template lineStart="1"><title>int:e57c77b8</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Allpages&amp;action=edit allpages]&lt;br&gt;
-[[MediaWiki_talk:Allpages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ff8db74d&amp;action=edit bf1dccf6]&lt;br&gt;
+[[MediaWiki_talk:ff8db74d|Talk]]
 &lt;/td&gt;&lt;td&gt;
 All pages
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Allpages</title></template>
+<template lineStart="1"><title>int:ff8db74d</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Alphaindexline&amp;action=edit alphaindexline]&lt;br&gt;
-[[MediaWiki_talk:Alphaindexline|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:89c23e53&amp;action=edit 1ee05de8]&lt;br&gt;
+[[MediaWiki_talk:89c23e53|Talk]]
 &lt;/td&gt;&lt;td&gt;
 $1 to $2
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Alphaindexline</title></template>
+<template lineStart="1"><title>int:89c23e53</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Alreadyloggedin&amp;action=edit alreadyloggedin]&lt;br&gt;
-[[MediaWiki_talk:Alreadyloggedin|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8550125b&amp;action=edit 0dc174ae]&lt;br&gt;
+[[MediaWiki_talk:8550125b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;lt;font color=red&amp;gt;&amp;lt;b&amp;gt;User $1, you are already logged in!&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;
 
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Alreadyloggedin</title></template>
+<template lineStart="1"><title>int:8550125b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Alreadyrolled&amp;action=edit alreadyrolled]&lt;br&gt;
-[[MediaWiki_talk:Alreadyrolled|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3f7be8a8&amp;action=edit 3f1bd6a1]&lt;br&gt;
+[[MediaWiki_talk:3f7be8a8|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Cannot rollback last edit of &amp;#91;&amp;#91;$1]]
 by &amp;#91;&amp;#91;User:$2&amp;#124;$2]] (&amp;#91;&amp;#91;User talk:$2&amp;#124;Talk]]); someone else has edited or rolled back the page already. 
 
 Last edit was by &amp;#91;&amp;#91;User:$3&amp;#124;$3]] (&amp;#91;&amp;#91;User talk:$3&amp;#124;Talk]]). 
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Alreadyrolled</title></template>
+<template lineStart="1"><title>int:3f7be8a8</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ancientpages&amp;action=edit ancientpages]&lt;br&gt;
-[[MediaWiki_talk:Ancientpages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:49a4df39&amp;action=edit 4f70712f]&lt;br&gt;
+[[MediaWiki_talk:49a4df39|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Oldest pages
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Ancientpages</title></template>
+<template lineStart="1"><title>int:49a4df39</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:And&amp;action=edit and]&lt;br&gt;
-[[MediaWiki_talk:And|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a01e33f4&amp;action=edit cffa50a3]&lt;br&gt;
+[[MediaWiki_talk:a01e33f4|Talk]]
 &lt;/td&gt;&lt;td&gt;
 and
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:And</title></template>
+<template lineStart="1"><title>int:a01e33f4</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Anontalk&amp;action=edit anontalk]&lt;br&gt;
-[[MediaWiki_talk:Anontalk|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:20cb482e&amp;action=edit 801db13e]&lt;br&gt;
+[[MediaWiki_talk:20cb482e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Talk for this IP
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Anontalk</title></template>
+<template lineStart="1"><title>int:20cb482e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Anontalkpagetext&amp;action=edit anontalkpagetext]&lt;br&gt;
-[[MediaWiki_talk:Anontalkpagetext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5bbc19f4&amp;action=edit 07575f81]&lt;br&gt;
+[[MediaWiki_talk:5bbc19f4|Talk]]
 &lt;/td&gt;&lt;td&gt;
 ----&amp;#39;&amp;#39;This is the discussion page for an anonymous user who has not created an account yet or who does not use it. We therefore have to use the numerical &amp;#91;&amp;#91;IP address]] to identify him/her. Such an IP address can be shared by several users. If you are an anonymous user and feel that irrelevant comments have been directed at you, please &amp;#91;&amp;#91;Special:Userlogin&amp;#124;create an account or log in]] to avoid future confusion with other anonymous users.&amp;#39;&amp;#39; 
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Anontalkpagetext</title></template>
+<template lineStart="1"><title>int:5bbc19f4</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Anonymous&amp;action=edit anonymous]&lt;br&gt;
-[[MediaWiki_talk:Anonymous|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9bed5104&amp;action=edit 0a92fab3]&lt;br&gt;
+[[MediaWiki_talk:9bed5104|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Anonymous user(s) of Wiktionary
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Anonymous</title></template>
+<template lineStart="1"><title>int:9bed5104</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Article&amp;action=edit article]&lt;br&gt;
-[[MediaWiki_talk:Article|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:4360c2dc&amp;action=edit 565cecd7]&lt;br&gt;
+[[MediaWiki_talk:4360c2dc|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Content page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Article</title></template>
+<template lineStart="1"><title>int:4360c2dc</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Articleexists&amp;action=edit articleexists]&lt;br&gt;
-[[MediaWiki_talk:Articleexists|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d3ee4a57&amp;action=edit ac8af25b]&lt;br&gt;
+[[MediaWiki_talk:d3ee4a57|Talk]]
 &lt;/td&gt;&lt;td&gt;
 A page of that name already exists, or the
 name you have chosen is not valid.
 Please choose another name.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Articleexists</title></template>
+<template lineStart="1"><title>int:d3ee4a57</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Articlepage&amp;action=edit articlepage]&lt;br&gt;
-[[MediaWiki_talk:Articlepage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:494f1af2&amp;action=edit 01d643b6]&lt;br&gt;
+[[MediaWiki_talk:494f1af2|Talk]]
 &lt;/td&gt;&lt;td&gt;
 View content page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Articlepage</title></template>
+<template lineStart="1"><title>int:494f1af2</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Asksql&amp;action=edit asksql]&lt;br&gt;
-[[MediaWiki_talk:Asksql|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:dc93382e&amp;action=edit 4e529571]&lt;br&gt;
+[[MediaWiki_talk:dc93382e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 SQL query
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Asksql</title></template>
+<template lineStart="1"><title>int:dc93382e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Asksqltext&amp;action=edit asksqltext]&lt;br&gt;
-[[MediaWiki_talk:Asksqltext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d12f6023&amp;action=edit 47551563]&lt;br&gt;
+[[MediaWiki_talk:d12f6023|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Use the form below to make a direct query of the
 database.
@@ -511,52 +511,52 @@ Use single quotes (&amp;#39;like this&amp;#39;) to delimit string literals.
 This can often add considerable load to the server, so please use
 this function sparingly.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Asksqltext</title></template>
+<template lineStart="1"><title>int:d12f6023</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Autoblocker&amp;action=edit autoblocker]&lt;br&gt;
-[[MediaWiki_talk:Autoblocker|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f36efd21&amp;action=edit d8f0b5e0]&lt;br&gt;
+[[MediaWiki_talk:f36efd21|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Autoblocked because you share an IP address with &amp;quot;$1&amp;quot;. Reason &amp;quot;$2&amp;quot;.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Autoblocker</title></template>
+<template lineStart="1"><title>int:f36efd21</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Badarticleerror&amp;action=edit badarticleerror]&lt;br&gt;
-[[MediaWiki_talk:Badarticleerror|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9503e2b1&amp;action=edit 100ce8a2]&lt;br&gt;
+[[MediaWiki_talk:9503e2b1|Talk]]
 &lt;/td&gt;&lt;td&gt;
 This action cannot be performed on this page.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Badarticleerror</title></template>
+<template lineStart="1"><title>int:9503e2b1</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Badfilename&amp;action=edit badfilename]&lt;br&gt;
-[[MediaWiki_talk:Badfilename|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f146770f&amp;action=edit 5c50b102]&lt;br&gt;
+[[MediaWiki_talk:f146770f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Image name has been changed to &amp;quot;$1&amp;quot;.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Badfilename</title></template>
+<template lineStart="1"><title>int:f146770f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Badfiletype&amp;action=edit badfiletype]&lt;br&gt;
-[[MediaWiki_talk:Badfiletype|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a87ee981&amp;action=edit fe89c3de]&lt;br&gt;
+[[MediaWiki_talk:a87ee981|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;quot;.$1&amp;quot; is not a recommended image file format.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Badfiletype</title></template>
+<template lineStart="1"><title>int:a87ee981</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Badipaddress&amp;action=edit badipaddress]&lt;br&gt;
-[[MediaWiki_talk:Badipaddress|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0222775a&amp;action=edit c7623eeb]&lt;br&gt;
+[[MediaWiki_talk:0222775a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Invalid IP address
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Badipaddress</title></template>
+<template lineStart="1"><title>int:0222775a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Badquery&amp;action=edit badquery]&lt;br&gt;
-[[MediaWiki_talk:Badquery|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:feabd786&amp;action=edit 798bc46a]&lt;br&gt;
+[[MediaWiki_talk:feabd786|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Badly formed search query
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Badquery</title></template>
+<template lineStart="1"><title>int:feabd786</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Badquerytext&amp;action=edit badquerytext]&lt;br&gt;
-[[MediaWiki_talk:Badquerytext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7e82f04b&amp;action=edit e5493056]&lt;br&gt;
+[[MediaWiki_talk:7e82f04b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 We could not process your query.
 This is probably because you have attempted to search for a
@@ -565,39 +565,39 @@ It could also be that you have mistyped the expression, for
 example &amp;quot;fish and and scales&amp;quot;.
 Please try another query.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Badquerytext</title></template>
+<template lineStart="1"><title>int:7e82f04b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Badretype&amp;action=edit badretype]&lt;br&gt;
-[[MediaWiki_talk:Badretype|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:36ad01d4&amp;action=edit c36e32c1]&lt;br&gt;
+[[MediaWiki_talk:36ad01d4|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The passwords you entered do not match.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Badretype</title></template>
+<template lineStart="1"><title>int:36ad01d4</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Badtitle&amp;action=edit badtitle]&lt;br&gt;
-[[MediaWiki_talk:Badtitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ab570b90&amp;action=edit 5c0f9f2b]&lt;br&gt;
+[[MediaWiki_talk:ab570b90|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Bad title
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Badtitle</title></template>
+<template lineStart="1"><title>int:ab570b90</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Badtitletext&amp;action=edit badtitletext]&lt;br&gt;
-[[MediaWiki_talk:Badtitletext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:73766845&amp;action=edit e9ac7510]&lt;br&gt;
+[[MediaWiki_talk:73766845|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The requested page title was invalid, empty, or
 an incorrectly linked inter-language or inter-wiki title.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Badtitletext</title></template>
+<template lineStart="1"><title>int:73766845</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blanknamespace&amp;action=edit blanknamespace]&lt;br&gt;
-[[MediaWiki_talk:Blanknamespace|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ef0a17b1&amp;action=edit ec00742f]&lt;br&gt;
+[[MediaWiki_talk:ef0a17b1|Talk]]
 &lt;/td&gt;&lt;td&gt;
 (Main)
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Blanknamespace</title></template>
+<template lineStart="1"><title>int:ef0a17b1</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blockedtext&amp;action=edit blockedtext]&lt;br&gt;
-[[MediaWiki_talk:Blockedtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2fe89b37&amp;action=edit 0756a2f3]&lt;br&gt;
+[[MediaWiki_talk:2fe89b37|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Your user name or IP address has been blocked by $1.
 The reason given is this:&amp;lt;br /&amp;gt;&amp;#39;&amp;#39;$2&amp;#39;&amp;#39;&amp;lt;p&amp;gt;You may contact $1 or one of the other
@@ -608,39 +608,39 @@ Note that you may not use the &amp;quot;email this user&amp;quot; feature unless
 Your IP address is $3. Please include this address in any queries you make.
 
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Blockedtext</title></template>
+<template lineStart="1"><title>int:2fe89b37</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blockedtitle&amp;action=edit blockedtitle]&lt;br&gt;
-[[MediaWiki_talk:Blockedtitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:4153985a&amp;action=edit ee09eebe]&lt;br&gt;
+[[MediaWiki_talk:4153985a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 User is blocked
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Blockedtitle</title></template>
+<template lineStart="1"><title>int:4153985a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blockip&amp;action=edit blockip]&lt;br&gt;
-[[MediaWiki_talk:Blockip|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f8225753&amp;action=edit 387c304e]&lt;br&gt;
+[[MediaWiki_talk:f8225753|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Block user
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Blockip</title></template>
+<template lineStart="1"><title>int:f8225753</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blockipsuccesssub&amp;action=edit blockipsuccesssub]&lt;br&gt;
-[[MediaWiki_talk:Blockipsuccesssub|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:178b4021&amp;action=edit d19404ef]&lt;br&gt;
+[[MediaWiki_talk:178b4021|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Block succeeded
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Blockipsuccesssub</title></template>
+<template lineStart="1"><title>int:178b4021</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blockipsuccesstext&amp;action=edit blockipsuccesstext]&lt;br&gt;
-[[MediaWiki_talk:Blockipsuccesstext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c9aa5295&amp;action=edit 8c464806]&lt;br&gt;
+[[MediaWiki_talk:c9aa5295|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;quot;$1&amp;quot; has been blocked.
 &amp;lt;br /&amp;gt;See &amp;#91;&amp;#91;Special:Ipblocklist&amp;#124;IP block list]] to review blocks.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Blockipsuccesstext</title></template>
+<template lineStart="1"><title>int:c9aa5295</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blockiptext&amp;action=edit blockiptext]&lt;br&gt;
-[[MediaWiki_talk:Blockiptext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d79d9fe6&amp;action=edit ec372bf2]&lt;br&gt;
+[[MediaWiki_talk:d79d9fe6|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Use the form below to block write access
 from a specific IP address or username.
@@ -649,261 +649,261 @@ accordance with &amp;#91;&amp;#91;Wiktionary:Policy&amp;#124;policy]].
 Fill in a specific reason below (for example, citing particular
 pages that were vandalized).
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Blockiptext</title></template>
+<template lineStart="1"><title>int:d79d9fe6</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blocklink&amp;action=edit blocklink]&lt;br&gt;
-[[MediaWiki_talk:Blocklink|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9a96cfdc&amp;action=edit 1c6c7aa2]&lt;br&gt;
+[[MediaWiki_talk:9a96cfdc|Talk]]
 &lt;/td&gt;&lt;td&gt;
 block
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Blocklink</title></template>
+<template lineStart="1"><title>int:9a96cfdc</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blocklistline&amp;action=edit blocklistline]&lt;br&gt;
-[[MediaWiki_talk:Blocklistline|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b81f5cad&amp;action=edit b821b758]&lt;br&gt;
+[[MediaWiki_talk:b81f5cad|Talk]]
 &lt;/td&gt;&lt;td&gt;
 $1, $2 blocked $3 (expires $4)
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Blocklistline</title></template>
+<template lineStart="1"><title>int:b81f5cad</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blocklogentry&amp;action=edit blocklogentry]&lt;br&gt;
-[[MediaWiki_talk:Blocklogentry|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0871a19a&amp;action=edit 9be87d66]&lt;br&gt;
+[[MediaWiki_talk:0871a19a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 blocked &amp;quot;$1&amp;quot; with an expiry time of $2
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Blocklogentry</title></template>
+<template lineStart="1"><title>int:0871a19a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blocklogpage&amp;action=edit blocklogpage]&lt;br&gt;
-[[MediaWiki_talk:Blocklogpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:31534d45&amp;action=edit 4bcce96c]&lt;br&gt;
+[[MediaWiki_talk:31534d45|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Block_log
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Blocklogpage</title></template>
+<template lineStart="1"><title>int:31534d45</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blocklogtext&amp;action=edit blocklogtext]&lt;br&gt;
-[[MediaWiki_talk:Blocklogtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f4872c71&amp;action=edit b9902a3c]&lt;br&gt;
+[[MediaWiki_talk:f4872c71|Talk]]
 &lt;/td&gt;&lt;td&gt;
 This is a log of user blocking and unblocking actions. Automatically 
 blocked IP addresses are not be listed. See the &amp;#91;&amp;#91;Special:Ipblocklist&amp;#124;IP block list]] for
 the list of currently operational bans and blocks.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Blocklogtext</title></template>
+<template lineStart="1"><title>int:f4872c71</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Bold_sample&amp;action=edit bold_sample]&lt;br&gt;
-[[MediaWiki_talk:Bold_sample|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d8ae34f5&amp;action=edit e9a0daa2]&lt;br&gt;
+[[MediaWiki_talk:d8ae34f5|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Bold text
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Bold_sample</title></template>
+<template lineStart="1"><title>int:d8ae34f5</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Bold_tip&amp;action=edit bold_tip]&lt;br&gt;
-[[MediaWiki_talk:Bold_tip|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:58086558&amp;action=edit 02320399]&lt;br&gt;
+[[MediaWiki_talk:58086558|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Bold text
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Bold_tip</title></template>
+<template lineStart="1"><title>int:58086558</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Booksources&amp;action=edit booksources]&lt;br&gt;
-[[MediaWiki_talk:Booksources|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1d546a7c&amp;action=edit 9bd576b3]&lt;br&gt;
+[[MediaWiki_talk:1d546a7c|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Book sources
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Booksources</title></template>
+<template lineStart="1"><title>int:1d546a7c</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Booksourcetext&amp;action=edit booksourcetext]&lt;br&gt;
-[[MediaWiki_talk:Booksourcetext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:809e6557&amp;action=edit 72f7a5ba]&lt;br&gt;
+[[MediaWiki_talk:809e6557|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Below is a list of links to other sites that
 sell new and used books, and may also have further information
 about books you are looking for.Wiktionary is not affiliated with any of these businesses, and
 this list should not be construed as an endorsement.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Booksourcetext</title></template>
+<template lineStart="1"><title>int:809e6557</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Brokenredirects&amp;action=edit brokenredirects]&lt;br&gt;
-[[MediaWiki_talk:Brokenredirects|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:40925079&amp;action=edit fe673f57]&lt;br&gt;
+[[MediaWiki_talk:40925079|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Broken Redirects
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Brokenredirects</title></template>
+<template lineStart="1"><title>int:40925079</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Brokenredirectstext&amp;action=edit brokenredirectstext]&lt;br&gt;
-[[MediaWiki_talk:Brokenredirectstext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3953d564&amp;action=edit 283e89cc]&lt;br&gt;
+[[MediaWiki_talk:3953d564|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The following redirects link to a non-existing pages.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Brokenredirectstext</title></template>
+<template lineStart="1"><title>int:3953d564</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Bugreports&amp;action=edit bugreports]&lt;br&gt;
-[[MediaWiki_talk:Bugreports|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f12ee4ee&amp;action=edit 741bd9a7]&lt;br&gt;
+[[MediaWiki_talk:f12ee4ee|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Bug reports
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Bugreports</title></template>
+<template lineStart="1"><title>int:f12ee4ee</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Bugreportspage&amp;action=edit bugreportspage]&lt;br&gt;
-[[MediaWiki_talk:Bugreportspage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1e9054cf&amp;action=edit 7cc56699]&lt;br&gt;
+[[MediaWiki_talk:1e9054cf|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Wiktionary:Bug_reports
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Bugreportspage</title></template>
+<template lineStart="1"><title>int:1e9054cf</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Bureaucratlog&amp;action=edit bureaucratlog]&lt;br&gt;
-[[MediaWiki_talk:Bureaucratlog|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:cfea7660&amp;action=edit eaac0dcf]&lt;br&gt;
+[[MediaWiki_talk:cfea7660|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Bureaucrat_log
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Bureaucratlog</title></template>
+<template lineStart="1"><title>int:cfea7660</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Bureaucratlogentry&amp;action=edit bureaucratlogentry]&lt;br&gt;
-[[MediaWiki_talk:Bureaucratlogentry|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:04cf1ba3&amp;action=edit cc1544ab]&lt;br&gt;
+[[MediaWiki_talk:04cf1ba3|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Rights for user &amp;quot;$1&amp;quot; set &amp;quot;$2&amp;quot;
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Bureaucratlogentry</title></template>
+<template lineStart="1"><title>int:04cf1ba3</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Bureaucrattext&amp;action=edit bureaucrattext]&lt;br&gt;
-[[MediaWiki_talk:Bureaucrattext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a0750047&amp;action=edit 5eb1e911]&lt;br&gt;
+[[MediaWiki_talk:a0750047|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The action you have requested can only be
 performed by sysops with  &amp;quot;bureaucrat&amp;quot; status.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Bureaucrattext</title></template>
+<template lineStart="1"><title>int:a0750047</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Bureaucrattitle&amp;action=edit bureaucrattitle]&lt;br&gt;
-[[MediaWiki_talk:Bureaucrattitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:4837977b&amp;action=edit f523b504]&lt;br&gt;
+[[MediaWiki_talk:4837977b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Bureaucrat access required
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Bureaucrattitle</title></template>
+<template lineStart="1"><title>int:4837977b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Bydate&amp;action=edit bydate]&lt;br&gt;
-[[MediaWiki_talk:Bydate|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:590988e2&amp;action=edit f06de085]&lt;br&gt;
+[[MediaWiki_talk:590988e2|Talk]]
 &lt;/td&gt;&lt;td&gt;
 by date
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Bydate</title></template>
+<template lineStart="1"><title>int:590988e2</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Byname&amp;action=edit byname]&lt;br&gt;
-[[MediaWiki_talk:Byname|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c08c3f0d&amp;action=edit e51a8413]&lt;br&gt;
+[[MediaWiki_talk:c08c3f0d|Talk]]
 &lt;/td&gt;&lt;td&gt;
 by name
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Byname</title></template>
+<template lineStart="1"><title>int:c08c3f0d</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Bysize&amp;action=edit bysize]&lt;br&gt;
-[[MediaWiki_talk:Bysize|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ede279e9&amp;action=edit 43ba766a]&lt;br&gt;
+[[MediaWiki_talk:ede279e9|Talk]]
 &lt;/td&gt;&lt;td&gt;
 by size
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Bysize</title></template>
+<template lineStart="1"><title>int:ede279e9</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Cachederror&amp;action=edit cachederror]&lt;br&gt;
-[[MediaWiki_talk:Cachederror|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e1ad9b35&amp;action=edit 075fc8df]&lt;br&gt;
+[[MediaWiki_talk:e1ad9b35|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The following is a cached copy of the requested page, and may not be up to date.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Cachederror</title></template>
+<template lineStart="1"><title>int:e1ad9b35</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Cancel&amp;action=edit cancel]&lt;br&gt;
-[[MediaWiki_talk:Cancel|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:77dfd213&amp;action=edit 4fd0653c]&lt;br&gt;
+[[MediaWiki_talk:77dfd213|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Cancel
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Cancel</title></template>
+<template lineStart="1"><title>int:77dfd213</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Cannotdelete&amp;action=edit cannotdelete]&lt;br&gt;
-[[MediaWiki_talk:Cannotdelete|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:03442eec&amp;action=edit ee57c22e]&lt;br&gt;
+[[MediaWiki_talk:03442eec|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Could not delete the page or image specified. (It may have already been deleted by someone else.)
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Cannotdelete</title></template>
+<template lineStart="1"><title>int:03442eec</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Cantrollback&amp;action=edit cantrollback]&lt;br&gt;
-[[MediaWiki_talk:Cantrollback|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:27b55ed3&amp;action=edit 4b739ac2]&lt;br&gt;
+[[MediaWiki_talk:27b55ed3|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Cannot revert edit; last contributor is only author of this page.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Cantrollback</title></template>
+<template lineStart="1"><title>int:27b55ed3</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Categories&amp;action=edit categories]&lt;br&gt;
-[[MediaWiki_talk:Categories|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6ccb6007&amp;action=edit 50b9e781]&lt;br&gt;
+[[MediaWiki_talk:6ccb6007|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Categories
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Categories</title></template>
+<template lineStart="1"><title>int:6ccb6007</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Category&amp;action=edit category]&lt;br&gt;
-[[MediaWiki_talk:Category|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a3c686e7&amp;action=edit 5ccbf9c9]&lt;br&gt;
+[[MediaWiki_talk:a3c686e7|Talk]]
 &lt;/td&gt;&lt;td&gt;
 category
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Category</title></template>
+<template lineStart="1"><title>int:a3c686e7</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Category_header&amp;action=edit category_header]&lt;br&gt;
-[[MediaWiki_talk:Category_header|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f2ff5f46&amp;action=edit 7245f61e]&lt;br&gt;
+[[MediaWiki_talk:f2ff5f46|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Articles in category &amp;quot;$1&amp;quot;
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Category_header</title></template>
+<template lineStart="1"><title>int:f2ff5f46</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Changepassword&amp;action=edit changepassword]&lt;br&gt;
-[[MediaWiki_talk:Changepassword|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:cc60b2e2&amp;action=edit 3dfd4581]&lt;br&gt;
+[[MediaWiki_talk:cc60b2e2|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Change password
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Changepassword</title></template>
+<template lineStart="1"><title>int:cc60b2e2</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Changes&amp;action=edit changes]&lt;br&gt;
-[[MediaWiki_talk:Changes|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8aa57de6&amp;action=edit 49a04ba4]&lt;br&gt;
+[[MediaWiki_talk:8aa57de6|Talk]]
 &lt;/td&gt;&lt;td&gt;
 changes
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Changes</title></template>
+<template lineStart="1"><title>int:8aa57de6</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Columns&amp;action=edit columns]&lt;br&gt;
-[[MediaWiki_talk:Columns|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:cf723c59&amp;action=edit 4f1b1dbe]&lt;br&gt;
+[[MediaWiki_talk:cf723c59|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Columns
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Columns</title></template>
+<template lineStart="1"><title>int:cf723c59</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Commentedit&amp;action=edit commentedit]&lt;br&gt;
-[[MediaWiki_talk:Commentedit|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2a4f8ff8&amp;action=edit 99be507a]&lt;br&gt;
+[[MediaWiki_talk:2a4f8ff8|Talk]]
 &lt;/td&gt;&lt;td&gt;
  (comment)
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Commentedit</title></template>
+<template lineStart="1"><title>int:2a4f8ff8</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Compareselectedversions&amp;action=edit compareselectedversions]&lt;br&gt;
-[[MediaWiki_talk:Compareselectedversions|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9833df65&amp;action=edit 978cce5f]&lt;br&gt;
+[[MediaWiki_talk:9833df65|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Compare selected versions
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Compareselectedversions</title></template>
+<template lineStart="1"><title>int:9833df65</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Confirm&amp;action=edit confirm]&lt;br&gt;
-[[MediaWiki_talk:Confirm|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:04a21221&amp;action=edit d0c4047c]&lt;br&gt;
+[[MediaWiki_talk:04a21221|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Confirm
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Confirm</title></template>
+<template lineStart="1"><title>int:04a21221</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Confirmcheck&amp;action=edit confirmcheck]&lt;br&gt;
-[[MediaWiki_talk:Confirmcheck|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b8e469fe&amp;action=edit bb4bf8de]&lt;br&gt;
+[[MediaWiki_talk:b8e469fe|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Yes, I really want to delete this.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Confirmcheck</title></template>
+<template lineStart="1"><title>int:b8e469fe</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Confirmdelete&amp;action=edit confirmdelete]&lt;br&gt;
-[[MediaWiki_talk:Confirmdelete|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7773ad82&amp;action=edit 16805d57]&lt;br&gt;
+[[MediaWiki_talk:7773ad82|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Confirm delete
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Confirmdelete</title></template>
+<template lineStart="1"><title>int:7773ad82</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Confirmdeletetext&amp;action=edit confirmdeletetext]&lt;br&gt;
-[[MediaWiki_talk:Confirmdeletetext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:87358bf0&amp;action=edit 872e01c0]&lt;br&gt;
+[[MediaWiki_talk:87358bf0|Talk]]
 &lt;/td&gt;&lt;td&gt;
 You are about to permanently delete a page
 or image along with all of its history from the database.
@@ -911,94 +911,94 @@ Please confirm that you intend to do this, that you understand the
 consequences, and that you are doing this in accordance with
 &amp;#91;&amp;#91;Wiktionary:Policy]].
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Confirmdeletetext</title></template>
+<template lineStart="1"><title>int:87358bf0</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Confirmprotect&amp;action=edit confirmprotect]&lt;br&gt;
-[[MediaWiki_talk:Confirmprotect|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b46f1463&amp;action=edit 96a48c11]&lt;br&gt;
+[[MediaWiki_talk:b46f1463|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Confirm protection
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Confirmprotect</title></template>
+<template lineStart="1"><title>int:b46f1463</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Confirmprotecttext&amp;action=edit confirmprotecttext]&lt;br&gt;
-[[MediaWiki_talk:Confirmprotecttext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e382b883&amp;action=edit e76ab37d]&lt;br&gt;
+[[MediaWiki_talk:e382b883|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Do you really want to protect this page?
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Confirmprotecttext</title></template>
+<template lineStart="1"><title>int:e382b883</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Confirmunprotect&amp;action=edit confirmunprotect]&lt;br&gt;
-[[MediaWiki_talk:Confirmunprotect|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:33be1711&amp;action=edit 306661e6]&lt;br&gt;
+[[MediaWiki_talk:33be1711|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Confirm unprotection
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Confirmunprotect</title></template>
+<template lineStart="1"><title>int:33be1711</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Confirmunprotecttext&amp;action=edit confirmunprotecttext]&lt;br&gt;
-[[MediaWiki_talk:Confirmunprotecttext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2d82e05f&amp;action=edit 4df1abe3]&lt;br&gt;
+[[MediaWiki_talk:2d82e05f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Do you really want to unprotect this page?
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Confirmunprotecttext</title></template>
+<template lineStart="1"><title>int:2d82e05f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Contextchars&amp;action=edit contextchars]&lt;br&gt;
-[[MediaWiki_talk:Contextchars|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7f051e88&amp;action=edit 0858695c]&lt;br&gt;
+[[MediaWiki_talk:7f051e88|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Characters of context per line
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Contextchars</title></template>
+<template lineStart="1"><title>int:7f051e88</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Contextlines&amp;action=edit contextlines]&lt;br&gt;
-[[MediaWiki_talk:Contextlines|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7127b581&amp;action=edit e9d81e50]&lt;br&gt;
+[[MediaWiki_talk:7127b581|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Lines to show per hit
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Contextlines</title></template>
+<template lineStart="1"><title>int:7127b581</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Contribslink&amp;action=edit contribslink]&lt;br&gt;
-[[MediaWiki_talk:Contribslink|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9850ceab&amp;action=edit df5b918c]&lt;br&gt;
+[[MediaWiki_talk:9850ceab|Talk]]
 &lt;/td&gt;&lt;td&gt;
 contribs
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Contribslink</title></template>
+<template lineStart="1"><title>int:9850ceab</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Contribsub&amp;action=edit contribsub]&lt;br&gt;
-[[MediaWiki_talk:Contribsub|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b688a4d7&amp;action=edit ab48ec14]&lt;br&gt;
+[[MediaWiki_talk:b688a4d7|Talk]]
 &lt;/td&gt;&lt;td&gt;
 For $1
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Contribsub</title></template>
+<template lineStart="1"><title>int:b688a4d7</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Contributions&amp;action=edit contributions]&lt;br&gt;
-[[MediaWiki_talk:Contributions|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:aa11023f&amp;action=edit 9d5b6e5e]&lt;br&gt;
+[[MediaWiki_talk:aa11023f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 User contributions
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Contributions</title></template>
+<template lineStart="1"><title>int:aa11023f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Copyright&amp;action=edit copyright]&lt;br&gt;
-[[MediaWiki_talk:Copyright|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a420abf6&amp;action=edit 521307dd]&lt;br&gt;
+[[MediaWiki_talk:a420abf6|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Content is available under $1.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Copyright</title></template>
+<template lineStart="1"><title>int:a420abf6</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Copyrightpage&amp;action=edit copyrightpage]&lt;br&gt;
-[[MediaWiki_talk:Copyrightpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:fc8c1b42&amp;action=edit 5327fdcf]&lt;br&gt;
+[[MediaWiki_talk:fc8c1b42|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Wiktionary:Copyrights
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Copyrightpage</title></template>
+<template lineStart="1"><title>int:fc8c1b42</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Copyrightpagename&amp;action=edit copyrightpagename]&lt;br&gt;
-[[MediaWiki_talk:Copyrightpagename|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:52a98e51&amp;action=edit f6652583]&lt;br&gt;
+[[MediaWiki_talk:52a98e51|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Wiktionary copyright
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Copyrightpagename</title></template>
+<template lineStart="1"><title>int:52a98e51</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Copyrightwarning&amp;action=edit copyrightwarning]&lt;br&gt;
-[[MediaWiki_talk:Copyrightwarning|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:25a1afd7&amp;action=edit 731cc8a6]&lt;br&gt;
+[[MediaWiki_talk:25a1afd7|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Please note that all contributions to Wiktionary are
 considered to be released under the GNU Free Documentation License
@@ -1009,66 +1009,66 @@ You are also promising us that you wrote this yourself, or copied it from a
 public domain or similar free resource.
 &amp;lt;strong&amp;gt;DO NOT SUBMIT COPYRIGHTED WORK WITHOUT PERMISSION!&amp;lt;/strong&amp;gt;
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Copyrightwarning</title></template>
+<template lineStart="1"><title>int:25a1afd7</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Couldntremove&amp;action=edit couldntremove]&lt;br&gt;
-[[MediaWiki_talk:Couldntremove|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:465ca4b8&amp;action=edit e04b3a96]&lt;br&gt;
+[[MediaWiki_talk:465ca4b8|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Couldn&amp;#39;t remove item &amp;#39;$1&amp;#39;...
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Couldntremove</title></template>
+<template lineStart="1"><title>int:465ca4b8</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Createaccount&amp;action=edit createaccount]&lt;br&gt;
-[[MediaWiki_talk:Createaccount|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3724dfa6&amp;action=edit 19fd5658]&lt;br&gt;
+[[MediaWiki_talk:3724dfa6|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Create new account
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Createaccount</title></template>
+<template lineStart="1"><title>int:3724dfa6</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Createaccountmail&amp;action=edit createaccountmail]&lt;br&gt;
-[[MediaWiki_talk:Createaccountmail|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a4a1f0cb&amp;action=edit b10d6306]&lt;br&gt;
+[[MediaWiki_talk:a4a1f0cb|Talk]]
 &lt;/td&gt;&lt;td&gt;
 by email
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Createaccountmail</title></template>
+<template lineStart="1"><title>int:a4a1f0cb</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Cur&amp;action=edit cur]&lt;br&gt;
-[[MediaWiki_talk:Cur|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:07f81f3c&amp;action=edit dce81611]&lt;br&gt;
+[[MediaWiki_talk:07f81f3c|Talk]]
 &lt;/td&gt;&lt;td&gt;
 cur
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Cur</title></template>
+<template lineStart="1"><title>int:07f81f3c</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Currentevents&amp;action=edit currentevents]&lt;br&gt;
-[[MediaWiki_talk:Currentevents|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:42b921f8&amp;action=edit 81c8f458]&lt;br&gt;
+[[MediaWiki_talk:42b921f8|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Current events
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Currentevents</title></template>
+<template lineStart="1"><title>int:42b921f8</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Currentrev&amp;action=edit currentrev]&lt;br&gt;
-[[MediaWiki_talk:Currentrev|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:78892831&amp;action=edit 23418566]&lt;br&gt;
+[[MediaWiki_talk:78892831|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Current revision
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Currentrev</title></template>
+<template lineStart="1"><title>int:78892831</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Databaseerror&amp;action=edit databaseerror]&lt;br&gt;
-[[MediaWiki_talk:Databaseerror|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e4838ed0&amp;action=edit 66409316]&lt;br&gt;
+[[MediaWiki_talk:e4838ed0|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Database error
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Databaseerror</title></template>
+<template lineStart="1"><title>int:e4838ed0</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Dateformat&amp;action=edit dateformat]&lt;br&gt;
-[[MediaWiki_talk:Dateformat|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:507be676&amp;action=edit 3b538bdf]&lt;br&gt;
+[[MediaWiki_talk:507be676|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Date format
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Dateformat</title></template>
+<template lineStart="1"><title>int:507be676</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Dberrortext&amp;action=edit dberrortext]&lt;br&gt;
-[[MediaWiki_talk:Dberrortext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0bfa85bb&amp;action=edit 34c01d3c]&lt;br&gt;
+[[MediaWiki_talk:0bfa85bb|Talk]]
 &lt;/td&gt;&lt;td&gt;
 A database query syntax error has occurred.
 This could be because of an illegal search query (see $5),
@@ -1078,10 +1078,10 @@ The last attempted database query was:
 from within function &amp;quot;&amp;lt;tt&amp;gt;$2&amp;lt;/tt&amp;gt;&amp;quot;.
 MySQL returned error &amp;quot;&amp;lt;tt&amp;gt;$3: $4&amp;lt;/tt&amp;gt;&amp;quot;.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Dberrortext</title></template>
+<template lineStart="1"><title>int:0bfa85bb</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Dberrortextcl&amp;action=edit dberrortextcl]&lt;br&gt;
-[[MediaWiki_talk:Dberrortextcl|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:39d82941&amp;action=edit f6e1bcbd]&lt;br&gt;
+[[MediaWiki_talk:39d82941|Talk]]
 &lt;/td&gt;&lt;td&gt;
 A database query syntax error has occurred.
 The last attempted database query was:
@@ -1090,109 +1090,109 @@ from within function &amp;quot;$2&amp;quot;.
 MySQL returned error &amp;quot;$3: $4&amp;quot;.
 
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Dberrortextcl</title></template>
+<template lineStart="1"><title>int:39d82941</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Deadendpages&amp;action=edit deadendpages]&lt;br&gt;
-[[MediaWiki_talk:Deadendpages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ae14da43&amp;action=edit d4234aad]&lt;br&gt;
+[[MediaWiki_talk:ae14da43|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Dead-end pages
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Deadendpages</title></template>
+<template lineStart="1"><title>int:ae14da43</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Debug&amp;action=edit debug]&lt;br&gt;
-[[MediaWiki_talk:Debug|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bd604d99&amp;action=edit 32faaeca]&lt;br&gt;
+[[MediaWiki_talk:bd604d99|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Debug
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Debug</title></template>
+<template lineStart="1"><title>int:bd604d99</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Defaultns&amp;action=edit defaultns]&lt;br&gt;
-[[MediaWiki_talk:Defaultns|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6f349a89&amp;action=edit f674a4a1]&lt;br&gt;
+[[MediaWiki_talk:6f349a89|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Search in these namespaces by default:
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Defaultns</title></template>
+<template lineStart="1"><title>int:6f349a89</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Defemailsubject&amp;action=edit defemailsubject]&lt;br&gt;
-[[MediaWiki_talk:Defemailsubject|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:801b725b&amp;action=edit 93c2c32b]&lt;br&gt;
+[[MediaWiki_talk:801b725b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Wiktionary e-mail
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Defemailsubject</title></template>
+<template lineStart="1"><title>int:801b725b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Delete&amp;action=edit delete]&lt;br&gt;
-[[MediaWiki_talk:Delete|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f6fdbe48&amp;action=edit 9485989f]&lt;br&gt;
+[[MediaWiki_talk:f6fdbe48|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Delete
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Delete</title></template>
+<template lineStart="1"><title>int:f6fdbe48</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Deletecomment&amp;action=edit deletecomment]&lt;br&gt;
-[[MediaWiki_talk:Deletecomment|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:728e102f&amp;action=edit 070ad01c]&lt;br&gt;
+[[MediaWiki_talk:728e102f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Reason for deletion
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Deletecomment</title></template>
+<template lineStart="1"><title>int:728e102f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Deletedarticle&amp;action=edit deletedarticle]&lt;br&gt;
-[[MediaWiki_talk:Deletedarticle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:784f094b&amp;action=edit abb03e0b]&lt;br&gt;
+[[MediaWiki_talk:784f094b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 deleted &amp;quot;$1&amp;quot;
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Deletedarticle</title></template>
+<template lineStart="1"><title>int:784f094b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Deletedtext&amp;action=edit deletedtext]&lt;br&gt;
-[[MediaWiki_talk:Deletedtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b40dc398&amp;action=edit 81545b85]&lt;br&gt;
+[[MediaWiki_talk:b40dc398|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;quot;$1&amp;quot; has been deleted.
 See $2 for a record of recent deletions.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Deletedtext</title></template>
+<template lineStart="1"><title>int:b40dc398</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Deleteimg&amp;action=edit deleteimg]&lt;br&gt;
-[[MediaWiki_talk:Deleteimg|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:64a8bf46&amp;action=edit 6f4d03ee]&lt;br&gt;
+[[MediaWiki_talk:64a8bf46|Talk]]
 &lt;/td&gt;&lt;td&gt;
 del
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Deleteimg</title></template>
+<template lineStart="1"><title>int:64a8bf46</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Deletepage&amp;action=edit deletepage]&lt;br&gt;
-[[MediaWiki_talk:Deletepage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3316ac85&amp;action=edit c423c282]&lt;br&gt;
+[[MediaWiki_talk:3316ac85|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Delete page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Deletepage</title></template>
+<template lineStart="1"><title>int:3316ac85</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Deletesub&amp;action=edit deletesub]&lt;br&gt;
-[[MediaWiki_talk:Deletesub|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a2496a13&amp;action=edit a3173eab]&lt;br&gt;
+[[MediaWiki_talk:a2496a13|Talk]]
 &lt;/td&gt;&lt;td&gt;
 (Deleting &amp;quot;$1&amp;quot;)
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Deletesub</title></template>
+<template lineStart="1"><title>int:a2496a13</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Deletethispage&amp;action=edit deletethispage]&lt;br&gt;
-[[MediaWiki_talk:Deletethispage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9d817726&amp;action=edit b93901eb]&lt;br&gt;
+[[MediaWiki_talk:9d817726|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Delete this page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Deletethispage</title></template>
+<template lineStart="1"><title>int:9d817726</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Deletionlog&amp;action=edit deletionlog]&lt;br&gt;
-[[MediaWiki_talk:Deletionlog|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:49653e1b&amp;action=edit 58f0b919]&lt;br&gt;
+[[MediaWiki_talk:49653e1b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 deletion log
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Deletionlog</title></template>
+<template lineStart="1"><title>int:49653e1b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Dellogpage&amp;action=edit dellogpage]&lt;br&gt;
-[[MediaWiki_talk:Dellogpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d73442e4&amp;action=edit c5ee36a7]&lt;br&gt;
+[[MediaWiki_talk:d73442e4|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Deletion_log
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Dellogpage</title></template>
+<template lineStart="1"><title>int:d73442e4</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Dellogpagetext&amp;action=edit dellogpagetext]&lt;br&gt;
-[[MediaWiki_talk:Dellogpagetext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2349bb58&amp;action=edit 6526e633]&lt;br&gt;
+[[MediaWiki_talk:2349bb58|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Below is a list of the most recent deletions.
 All times shown are server time (UTC).
@@ -1200,185 +1200,185 @@ All times shown are server time (UTC).
 &amp;lt;/ul&amp;gt;
 
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Dellogpagetext</title></template>
+<template lineStart="1"><title>int:2349bb58</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Developerspheading&amp;action=edit developerspheading]&lt;br&gt;
-[[MediaWiki_talk:Developerspheading|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:381bedfc&amp;action=edit 015693e1]&lt;br&gt;
+[[MediaWiki_talk:381bedfc|Talk]]
 &lt;/td&gt;&lt;td&gt;
 For developer use only
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Developerspheading</title></template>
+<template lineStart="1"><title>int:381bedfc</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Developertext&amp;action=edit developertext]&lt;br&gt;
-[[MediaWiki_talk:Developertext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:52713d3d&amp;action=edit 9c6f4cd5]&lt;br&gt;
+[[MediaWiki_talk:52713d3d|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The action you have requested can only be
 performed by users with &amp;quot;developer&amp;quot; status.
 See $1.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Developertext</title></template>
+<template lineStart="1"><title>int:52713d3d</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Developertitle&amp;action=edit developertitle]&lt;br&gt;
-[[MediaWiki_talk:Developertitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6cca6111&amp;action=edit 59afe6b0]&lt;br&gt;
+[[MediaWiki_talk:6cca6111|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Developer access required
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Developertitle</title></template>
+<template lineStart="1"><title>int:6cca6111</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Diff&amp;action=edit diff]&lt;br&gt;
-[[MediaWiki_talk:Diff|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d23a1c9f&amp;action=edit 75a0ee1b]&lt;br&gt;
+[[MediaWiki_talk:d23a1c9f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 diff
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Diff</title></template>
+<template lineStart="1"><title>int:d23a1c9f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Difference&amp;action=edit difference]&lt;br&gt;
-[[MediaWiki_talk:Difference|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b16f1f66&amp;action=edit 48d53c6e]&lt;br&gt;
+[[MediaWiki_talk:b16f1f66|Talk]]
 &lt;/td&gt;&lt;td&gt;
 (Difference between revisions)
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Difference</title></template>
+<template lineStart="1"><title>int:b16f1f66</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Disclaimerpage&amp;action=edit disclaimerpage]&lt;br&gt;
-[[MediaWiki_talk:Disclaimerpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3c1c1596&amp;action=edit 657b3530]&lt;br&gt;
+[[MediaWiki_talk:3c1c1596|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Wiktionary:General_disclaimer
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Disclaimerpage</title></template>
+<template lineStart="1"><title>int:3c1c1596</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Disclaimers&amp;action=edit disclaimers]&lt;br&gt;
-[[MediaWiki_talk:Disclaimers|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2cbbc29e&amp;action=edit 774706d2]&lt;br&gt;
+[[MediaWiki_talk:2cbbc29e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Disclaimers
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Disclaimers</title></template>
+<template lineStart="1"><title>int:2cbbc29e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Doubleredirects&amp;action=edit doubleredirects]&lt;br&gt;
-[[MediaWiki_talk:Doubleredirects|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ac57c500&amp;action=edit c06b805b]&lt;br&gt;
+[[MediaWiki_talk:ac57c500|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Double Redirects
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Doubleredirects</title></template>
+<template lineStart="1"><title>int:ac57c500</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Doubleredirectstext&amp;action=edit doubleredirectstext]&lt;br&gt;
-[[MediaWiki_talk:Doubleredirectstext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ba6ba737&amp;action=edit 49eadc1d]&lt;br&gt;
+[[MediaWiki_talk:ba6ba737|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;lt;b&amp;gt;Attention:&amp;lt;/b&amp;gt; This list may contain false positives. That usually means there is additional text with links below the first #REDIRECT.&amp;lt;br /&amp;gt;
 Each row contains links to the first and second redirect, as well as the first line of the second redirect text, usually giving the &amp;quot;real&amp;quot; target page, which the first redirect should point to.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Doubleredirectstext</title></template>
+<template lineStart="1"><title>int:ba6ba737</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Edit&amp;action=edit edit]&lt;br&gt;
-[[MediaWiki_talk:Edit|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5301648d&amp;action=edit 9ead47a8]&lt;br&gt;
+[[MediaWiki_talk:5301648d|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Edit
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Edit</title></template>
+<template lineStart="1"><title>int:5301648d</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Editcomment&amp;action=edit editcomment]&lt;br&gt;
-[[MediaWiki_talk:Editcomment|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:299ca80d&amp;action=edit 74940f72]&lt;br&gt;
+[[MediaWiki_talk:299ca80d|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The edit comment was: &amp;quot;&amp;lt;i&amp;gt;$1&amp;lt;/i&amp;gt;&amp;quot;.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Editcomment</title></template>
+<template lineStart="1"><title>int:299ca80d</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Editconflict&amp;action=edit editconflict]&lt;br&gt;
-[[MediaWiki_talk:Editconflict|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1af657fb&amp;action=edit 3b56e95b]&lt;br&gt;
+[[MediaWiki_talk:1af657fb|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Edit conflict: $1
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Editconflict</title></template>
+<template lineStart="1"><title>int:1af657fb</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Editcurrent&amp;action=edit editcurrent]&lt;br&gt;
-[[MediaWiki_talk:Editcurrent|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8b46c7e0&amp;action=edit 10d395b9]&lt;br&gt;
+[[MediaWiki_talk:8b46c7e0|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Edit the current version of this page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Editcurrent</title></template>
+<template lineStart="1"><title>int:8b46c7e0</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Edithelp&amp;action=edit edithelp]&lt;br&gt;
-[[MediaWiki_talk:Edithelp|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:47f4389a&amp;action=edit a1524e37]&lt;br&gt;
+[[MediaWiki_talk:47f4389a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Editing help
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Edithelp</title></template>
+<template lineStart="1"><title>int:47f4389a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Edithelppage&amp;action=edit edithelppage]&lt;br&gt;
-[[MediaWiki_talk:Edithelppage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:56815513&amp;action=edit 7072deb5]&lt;br&gt;
+[[MediaWiki_talk:56815513|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Help:Editing
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Edithelppage</title></template>
+<template lineStart="1"><title>int:56815513</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Editing&amp;action=edit editing]&lt;br&gt;
-[[MediaWiki_talk:Editing|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3b9ba1a2&amp;action=edit f34946be]&lt;br&gt;
+[[MediaWiki_talk:3b9ba1a2|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Editing $1
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Editing</title></template>
+<template lineStart="1"><title>int:3b9ba1a2</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Editingold&amp;action=edit editingold]&lt;br&gt;
-[[MediaWiki_talk:Editingold|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5e6bd9f3&amp;action=edit bd55ff2e]&lt;br&gt;
+[[MediaWiki_talk:5e6bd9f3|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;lt;strong&amp;gt;WARNING: You are editing an out-of-date
 revision of this page.
 If you save it, any changes made since this revision will be lost.&amp;lt;/strong&amp;gt;
 
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Editingold</title></template>
+<template lineStart="1"><title>int:5e6bd9f3</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Editsection&amp;action=edit editsection]&lt;br&gt;
-[[MediaWiki_talk:Editsection|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:51905619&amp;action=edit 965b4116]&lt;br&gt;
+[[MediaWiki_talk:51905619|Talk]]
 &lt;/td&gt;&lt;td&gt;
 edit
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Editsection</title></template>
+<template lineStart="1"><title>int:51905619</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Editthispage&amp;action=edit editthispage]&lt;br&gt;
-[[MediaWiki_talk:Editthispage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2138f524&amp;action=edit 8bc15909]&lt;br&gt;
+[[MediaWiki_talk:2138f524|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Edit this page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Editthispage</title></template>
+<template lineStart="1"><title>int:2138f524</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailflag&amp;action=edit emailflag]&lt;br&gt;
-[[MediaWiki_talk:Emailflag|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:96c0b2c5&amp;action=edit 4a27c333]&lt;br&gt;
+[[MediaWiki_talk:96c0b2c5|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Disable e-mail from other users
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Emailflag</title></template>
+<template lineStart="1"><title>int:96c0b2c5</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailforlost&amp;action=edit emailforlost]&lt;br&gt;
-[[MediaWiki_talk:Emailforlost|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8a275a27&amp;action=edit e4573eb4]&lt;br&gt;
+[[MediaWiki_talk:8a275a27|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Fields marked with a star (*) are optional.  Storing an email address enables people to contact you through the website without you having to reveal your 
 email address to them, and it can be used to send you a new password if you forget it.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Your real name, if you choose to provide it, will be used for giving you attribution for your work.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Emailforlost</title></template>
+<template lineStart="1"><title>int:8a275a27</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailfrom&amp;action=edit emailfrom]&lt;br&gt;
-[[MediaWiki_talk:Emailfrom|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:34a573ac&amp;action=edit b29c18eb]&lt;br&gt;
+[[MediaWiki_talk:34a573ac|Talk]]
 &lt;/td&gt;&lt;td&gt;
 From
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Emailfrom</title></template>
+<template lineStart="1"><title>int:34a573ac</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailmessage&amp;action=edit emailmessage]&lt;br&gt;
-[[MediaWiki_talk:Emailmessage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1653aeb3&amp;action=edit 8d8c0edf]&lt;br&gt;
+[[MediaWiki_talk:1653aeb3|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Message
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Emailmessage</title></template>
+<template lineStart="1"><title>int:1653aeb3</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailuser&amp;action=edit emailuser]&lt;br&gt;
-[[MediaWiki_talk:Emailuser|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ac5cfb8e&amp;action=edit a9b033ab]&lt;br&gt;
+[[MediaWiki_talk:ac5cfb8e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 E-mail user
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Emailuser</title></template>
+<template lineStart="1"><title>int:ac5cfb8e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailpagetext&amp;action=edit emailpagetext]&lt;br&gt;
-[[MediaWiki_talk:Emailpagetext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e3fc4fe2&amp;action=edit eb6bf1bb]&lt;br&gt;
+[[MediaWiki_talk:e3fc4fe2|Talk]]
 &lt;/td&gt;&lt;td&gt;
 If this user has entered a valid e-mail address in
 his or her user preferences, the form below will send a single message.
@@ -1386,95 +1386,95 @@ The e-mail address you entered in your user preferences will appear
 as the &amp;quot;From&amp;quot; address of the mail, so the recipient will be able
 to reply.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Emailpagetext</title></template>
+<template lineStart="1"><title>int:e3fc4fe2</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailsend&amp;action=edit emailsend]&lt;br&gt;
-[[MediaWiki_talk:Emailsend|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:145da553&amp;action=edit 05072b51]&lt;br&gt;
+[[MediaWiki_talk:145da553|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Send
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Emailsend</title></template>
+<template lineStart="1"><title>int:145da553</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailsent&amp;action=edit emailsent]&lt;br&gt;
-[[MediaWiki_talk:Emailsent|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:833a22dc&amp;action=edit b1d3f3e4]&lt;br&gt;
+[[MediaWiki_talk:833a22dc|Talk]]
 &lt;/td&gt;&lt;td&gt;
 E-mail sent
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Emailsent</title></template>
+<template lineStart="1"><title>int:833a22dc</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailsenttext&amp;action=edit emailsenttext]&lt;br&gt;
-[[MediaWiki_talk:Emailsenttext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e3935836&amp;action=edit 2effa7aa]&lt;br&gt;
+[[MediaWiki_talk:e3935836|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Your e-mail message has been sent.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Emailsenttext</title></template>
+<template lineStart="1"><title>int:e3935836</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailsubject&amp;action=edit emailsubject]&lt;br&gt;
-[[MediaWiki_talk:Emailsubject|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c8dba338&amp;action=edit 275a0d68]&lt;br&gt;
+[[MediaWiki_talk:c8dba338|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Subject
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Emailsubject</title></template>
+<template lineStart="1"><title>int:c8dba338</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailto&amp;action=edit emailto]&lt;br&gt;
-[[MediaWiki_talk:Emailto|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c35740f4&amp;action=edit 88b0fd50]&lt;br&gt;
+[[MediaWiki_talk:c35740f4|Talk]]
 &lt;/td&gt;&lt;td&gt;
 To
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Emailto</title></template>
+<template lineStart="1"><title>int:c35740f4</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailuser&amp;action=edit emailuser]&lt;br&gt;
-[[MediaWiki_talk:Emailuser|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ac5cfb8e&amp;action=edit a9b033ab]&lt;br&gt;
+[[MediaWiki_talk:ac5cfb8e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 E-mail this user
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Emailuser</title></template>
+<template lineStart="1"><title>int:ac5cfb8e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Enterlockreason&amp;action=edit enterlockreason]&lt;br&gt;
-[[MediaWiki_talk:Enterlockreason|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6b0a234b&amp;action=edit 698a308a]&lt;br&gt;
+[[MediaWiki_talk:6b0a234b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Enter a reason for the lock, including an estimate
 of when the lock will be released
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Enterlockreason</title></template>
+<template lineStart="1"><title>int:6b0a234b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Error&amp;action=edit error]&lt;br&gt;
-[[MediaWiki_talk:Error|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7f2f6a15&amp;action=edit 11f9578d]&lt;br&gt;
+[[MediaWiki_talk:7f2f6a15|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Error
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Error</title></template>
+<template lineStart="1"><title>int:7f2f6a15</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Errorpagetitle&amp;action=edit errorpagetitle]&lt;br&gt;
-[[MediaWiki_talk:Errorpagetitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:53ee1378&amp;action=edit aa2d1eba]&lt;br&gt;
+[[MediaWiki_talk:53ee1378|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Error
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Errorpagetitle</title></template>
+<template lineStart="1"><title>int:53ee1378</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Exbeforeblank&amp;action=edit exbeforeblank]&lt;br&gt;
-[[MediaWiki_talk:Exbeforeblank|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8aedeece&amp;action=edit a1c634a7]&lt;br&gt;
+[[MediaWiki_talk:8aedeece|Talk]]
 &lt;/td&gt;&lt;td&gt;
 content before blanking was:
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Exbeforeblank</title></template>
+<template lineStart="1"><title>int:8aedeece</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Exblank&amp;action=edit exblank]&lt;br&gt;
-[[MediaWiki_talk:Exblank|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:42abde88&amp;action=edit eba6d64f]&lt;br&gt;
+[[MediaWiki_talk:42abde88|Talk]]
 &lt;/td&gt;&lt;td&gt;
 page was empty
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Exblank</title></template>
+<template lineStart="1"><title>int:42abde88</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Excontent&amp;action=edit excontent]&lt;br&gt;
-[[MediaWiki_talk:Excontent|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:dd028a5c&amp;action=edit fe80d230]&lt;br&gt;
+[[MediaWiki_talk:dd028a5c|Talk]]
 &lt;/td&gt;&lt;td&gt;
 content was:
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Excontent</title></template>
+<template lineStart="1"><title>int:dd028a5c</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Explainconflict&amp;action=edit explainconflict]&lt;br&gt;
-[[MediaWiki_talk:Explainconflict|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b7845dfb&amp;action=edit 1a7999fa]&lt;br&gt;
+[[MediaWiki_talk:b7845dfb|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Someone else has changed this page since you
 started editing it.
@@ -1485,163 +1485,163 @@ You will have to merge your changes into the existing text.
 press &amp;quot;Save page&amp;quot;.
 &amp;lt;p&amp;gt;
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Explainconflict</title></template>
+<template lineStart="1"><title>int:b7845dfb</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Export&amp;action=edit export]&lt;br&gt;
-[[MediaWiki_talk:Export|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f3e4fadb&amp;action=edit 51713409]&lt;br&gt;
+[[MediaWiki_talk:f3e4fadb|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Export pages
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Export</title></template>
+<template lineStart="1"><title>int:f3e4fadb</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Exportcuronly&amp;action=edit exportcuronly]&lt;br&gt;
-[[MediaWiki_talk:Exportcuronly|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b68aeee1&amp;action=edit bf364325]&lt;br&gt;
+[[MediaWiki_talk:b68aeee1|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Include only the current revision, not the full history
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Exportcuronly</title></template>
+<template lineStart="1"><title>int:b68aeee1</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Exporttext&amp;action=edit exporttext]&lt;br&gt;
-[[MediaWiki_talk:Exporttext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7e884d79&amp;action=edit eddfb839]&lt;br&gt;
+[[MediaWiki_talk:7e884d79|Talk]]
 &lt;/td&gt;&lt;td&gt;
 You can export the text and editing history of a particular
 page or set of pages wrapped in some XML; this can then be imported into another
 wiki running MediaWiki software, transformed, or just kept for your private
 amusement.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Exporttext</title></template>
+<template lineStart="1"><title>int:7e884d79</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Extlink_sample&amp;action=edit extlink_sample]&lt;br&gt;
-[[MediaWiki_talk:Extlink_sample|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a34d80e8&amp;action=edit 8f95a409]&lt;br&gt;
+[[MediaWiki_talk:a34d80e8|Talk]]
 &lt;/td&gt;&lt;td&gt;
 http&amp;#58;//www.example.com link title
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Extlink_sample</title></template>
+<template lineStart="1"><title>int:a34d80e8</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Extlink_tip&amp;action=edit extlink_tip]&lt;br&gt;
-[[MediaWiki_talk:Extlink_tip|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:117651f0&amp;action=edit 481904c0]&lt;br&gt;
+[[MediaWiki_talk:117651f0|Talk]]
 &lt;/td&gt;&lt;td&gt;
 External link (remember http&amp;#58;// prefix)
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Extlink_tip</title></template>
+<template lineStart="1"><title>int:117651f0</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Faq&amp;action=edit faq]&lt;br&gt;
-[[MediaWiki_talk:Faq|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f11042a4&amp;action=edit e75bc045]&lt;br&gt;
+[[MediaWiki_talk:f11042a4|Talk]]
 &lt;/td&gt;&lt;td&gt;
 FAQ
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Faq</title></template>
+<template lineStart="1"><title>int:f11042a4</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Faqpage&amp;action=edit faqpage]&lt;br&gt;
-[[MediaWiki_talk:Faqpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2e891e10&amp;action=edit 5b772c96]&lt;br&gt;
+[[MediaWiki_talk:2e891e10|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Wiktionary:FAQ
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Faqpage</title></template>
+<template lineStart="1"><title>int:2e891e10</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Feedlinks&amp;action=edit feedlinks]&lt;br&gt;
-[[MediaWiki_talk:Feedlinks|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:86edbc13&amp;action=edit 62f8af98]&lt;br&gt;
+[[MediaWiki_talk:86edbc13|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Feed:
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Feedlinks</title></template>
+<template lineStart="1"><title>int:86edbc13</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Filecopyerror&amp;action=edit filecopyerror]&lt;br&gt;
-[[MediaWiki_talk:Filecopyerror|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2727dd90&amp;action=edit 6c916412]&lt;br&gt;
+[[MediaWiki_talk:2727dd90|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Could not copy file &amp;quot;$1&amp;quot; to &amp;quot;$2&amp;quot;.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Filecopyerror</title></template>
+<template lineStart="1"><title>int:2727dd90</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Filedeleteerror&amp;action=edit filedeleteerror]&lt;br&gt;
-[[MediaWiki_talk:Filedeleteerror|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e60a2c42&amp;action=edit d393dbbc]&lt;br&gt;
+[[MediaWiki_talk:e60a2c42|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Could not delete file &amp;quot;$1&amp;quot;.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Filedeleteerror</title></template>
+<template lineStart="1"><title>int:e60a2c42</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Filedesc&amp;action=edit filedesc]&lt;br&gt;
-[[MediaWiki_talk:Filedesc|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d7b25eeb&amp;action=edit 6dace2d5]&lt;br&gt;
+[[MediaWiki_talk:d7b25eeb|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Summary
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Filedesc</title></template>
+<template lineStart="1"><title>int:d7b25eeb</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Filename&amp;action=edit filename]&lt;br&gt;
-[[MediaWiki_talk:Filename|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a3cbb98d&amp;action=edit 08deae8d]&lt;br&gt;
+[[MediaWiki_talk:a3cbb98d|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Filename
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Filename</title></template>
+<template lineStart="1"><title>int:a3cbb98d</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Filenotfound&amp;action=edit filenotfound]&lt;br&gt;
-[[MediaWiki_talk:Filenotfound|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c8f6c94d&amp;action=edit 35c4ded6]&lt;br&gt;
+[[MediaWiki_talk:c8f6c94d|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Could not find file &amp;quot;$1&amp;quot;.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Filenotfound</title></template>
+<template lineStart="1"><title>int:c8f6c94d</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Filerenameerror&amp;action=edit filerenameerror]&lt;br&gt;
-[[MediaWiki_talk:Filerenameerror|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b9b56972&amp;action=edit 6d195b75]&lt;br&gt;
+[[MediaWiki_talk:b9b56972|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Could not rename file &amp;quot;$1&amp;quot; to &amp;quot;$2&amp;quot;.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Filerenameerror</title></template>
+<template lineStart="1"><title>int:b9b56972</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Filesource&amp;action=edit filesource]&lt;br&gt;
-[[MediaWiki_talk:Filesource|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0a6a1eb6&amp;action=edit 1ffce53a]&lt;br&gt;
+[[MediaWiki_talk:0a6a1eb6|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Source
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Filesource</title></template>
+<template lineStart="1"><title>int:0a6a1eb6</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Filestatus&amp;action=edit filestatus]&lt;br&gt;
-[[MediaWiki_talk:Filestatus|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0f0e70a0&amp;action=edit 040e2ba8]&lt;br&gt;
+[[MediaWiki_talk:0f0e70a0|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Copyright status
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Filestatus</title></template>
+<template lineStart="1"><title>int:0f0e70a0</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Fileuploaded&amp;action=edit fileuploaded]&lt;br&gt;
-[[MediaWiki_talk:Fileuploaded|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:45eaa53f&amp;action=edit 79423d38]&lt;br&gt;
+[[MediaWiki_talk:45eaa53f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 File &amp;quot;$1&amp;quot; uploaded successfully.
 Please follow this link: $2 to the description page and fill
 in information about the file, such as where it came from, when it was
 created and by whom, and anything else you may know about it.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Fileuploaded</title></template>
+<template lineStart="1"><title>int:45eaa53f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Formerror&amp;action=edit formerror]&lt;br&gt;
-[[MediaWiki_talk:Formerror|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a303ff06&amp;action=edit 416cf9e4]&lt;br&gt;
+[[MediaWiki_talk:a303ff06|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Error: could not submit form
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Formerror</title></template>
+<template lineStart="1"><title>int:a303ff06</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Fromwikipedia&amp;action=edit fromwikipedia]&lt;br&gt;
-[[MediaWiki_talk:Fromwikipedia|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:dc08787f&amp;action=edit ada66d8e]&lt;br&gt;
+[[MediaWiki_talk:dc08787f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 From Wiktionary
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Fromwikipedia</title></template>
+<template lineStart="1"><title>int:dc08787f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Getimagelist&amp;action=edit getimagelist]&lt;br&gt;
-[[MediaWiki_talk:Getimagelist|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c4c83db8&amp;action=edit f8d783cd]&lt;br&gt;
+[[MediaWiki_talk:c4c83db8|Talk]]
 &lt;/td&gt;&lt;td&gt;
 fetching image list
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Getimagelist</title></template>
+<template lineStart="1"><title>int:c4c83db8</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Go&amp;action=edit go]&lt;br&gt;
-[[MediaWiki_talk:Go|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2e0b45f2&amp;action=edit 1ec558a6]&lt;br&gt;
+[[MediaWiki_talk:2e0b45f2|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Go
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Go</title></template>
+<template lineStart="1"><title>int:2e0b45f2</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Googlesearch&amp;action=edit googlesearch]&lt;br&gt;
-[[MediaWiki_talk:Googlesearch|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:749351b4&amp;action=edit 49a50bdf]&lt;br&gt;
+[[MediaWiki_talk:749351b4|Talk]]
 &lt;/td&gt;&lt;td&gt;
 
 &amp;lt;!-- SiteSearch Google --&amp;gt;
@@ -1663,527 +1663,527 @@ border=&amp;quot;0&amp;quot; ALT=&amp;quot;Google&amp;quot;&amp;gt;&amp;lt;/A&am
 &amp;lt;/FORM&amp;gt;
 &amp;lt;!-- SiteSearch Google --&amp;gt;
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Googlesearch</title></template>
+<template lineStart="1"><title>int:749351b4</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Guesstimezone&amp;action=edit guesstimezone]&lt;br&gt;
-[[MediaWiki_talk:Guesstimezone|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:489b474b&amp;action=edit 8da95a41]&lt;br&gt;
+[[MediaWiki_talk:489b474b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Fill in from browser
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Guesstimezone</title></template>
+<template lineStart="1"><title>int:489b474b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Headline_sample&amp;action=edit headline_sample]&lt;br&gt;
-[[MediaWiki_talk:Headline_sample|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:237cf168&amp;action=edit 7f401fbb]&lt;br&gt;
+[[MediaWiki_talk:237cf168|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Headline text
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Headline_sample</title></template>
+<template lineStart="1"><title>int:237cf168</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Headline_tip&amp;action=edit headline_tip]&lt;br&gt;
-[[MediaWiki_talk:Headline_tip|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:91b3bc72&amp;action=edit c4eef2f5]&lt;br&gt;
+[[MediaWiki_talk:91b3bc72|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Level 2 headline
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Headline_tip</title></template>
+<template lineStart="1"><title>int:91b3bc72</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Help&amp;action=edit help]&lt;br&gt;
-[[MediaWiki_talk:Help|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c47ae153&amp;action=edit 92005ecf]&lt;br&gt;
+[[MediaWiki_talk:c47ae153|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Help
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Help</title></template>
+<template lineStart="1"><title>int:c47ae153</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Helppage&amp;action=edit helppage]&lt;br&gt;
-[[MediaWiki_talk:Helppage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:56203224&amp;action=edit 9ca36083]&lt;br&gt;
+[[MediaWiki_talk:56203224|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Help:Contents
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Helppage</title></template>
+<template lineStart="1"><title>int:56203224</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Hide&amp;action=edit hide]&lt;br&gt;
-[[MediaWiki_talk:Hide|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:34d8b60f&amp;action=edit 93c8c96b]&lt;br&gt;
+[[MediaWiki_talk:34d8b60f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 hide
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Hide</title></template>
+<template lineStart="1"><title>int:34d8b60f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Hidetoc&amp;action=edit hidetoc]&lt;br&gt;
-[[MediaWiki_talk:Hidetoc|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9aa39fe3&amp;action=edit 1cc77a14]&lt;br&gt;
+[[MediaWiki_talk:9aa39fe3|Talk]]
 &lt;/td&gt;&lt;td&gt;
 hide
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Hidetoc</title></template>
+<template lineStart="1"><title>int:9aa39fe3</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Hist&amp;action=edit hist]&lt;br&gt;
-[[MediaWiki_talk:Hist|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:4d9810c0&amp;action=edit 56714843]&lt;br&gt;
+[[MediaWiki_talk:4d9810c0|Talk]]
 &lt;/td&gt;&lt;td&gt;
 hist
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Hist</title></template>
+<template lineStart="1"><title>int:4d9810c0</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Histlegend&amp;action=edit histlegend]&lt;br&gt;
-[[MediaWiki_talk:Histlegend|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f37ab91a&amp;action=edit 4e7121e9]&lt;br&gt;
+[[MediaWiki_talk:f37ab91a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Diff selection: mark the radio boxes of the versions to compare and hit enter or the button at the bottom.&amp;lt;br/&amp;gt;
 Legend: (cur) = difference with current version,
 (last) = difference with preceding version, M = minor edit.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Histlegend</title></template>
+<template lineStart="1"><title>int:f37ab91a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:History&amp;action=edit history]&lt;br&gt;
-[[MediaWiki_talk:History|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:90ccd649&amp;action=edit 66f79d8a]&lt;br&gt;
+[[MediaWiki_talk:90ccd649|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Page history
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:History</title></template>
+<template lineStart="1"><title>int:90ccd649</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:History_short&amp;action=edit history_short]&lt;br&gt;
-[[MediaWiki_talk:History_short|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:15a13ace&amp;action=edit a937e036]&lt;br&gt;
+[[MediaWiki_talk:15a13ace|Talk]]
 &lt;/td&gt;&lt;td&gt;
 History
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:History_short</title></template>
+<template lineStart="1"><title>int:15a13ace</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Historywarning&amp;action=edit historywarning]&lt;br&gt;
-[[MediaWiki_talk:Historywarning|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e02c3587&amp;action=edit 6079f80a]&lt;br&gt;
+[[MediaWiki_talk:e02c3587|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Warning: The page you are about to delete has a history: 
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Historywarning</title></template>
+<template lineStart="1"><title>int:e02c3587</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Hr_tip&amp;action=edit hr_tip]&lt;br&gt;
-[[MediaWiki_talk:Hr_tip|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5741ad8f&amp;action=edit 48849a80]&lt;br&gt;
+[[MediaWiki_talk:5741ad8f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Horizontal line (use sparingly)
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Hr_tip</title></template>
+<template lineStart="1"><title>int:5741ad8f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ignorewarning&amp;action=edit ignorewarning]&lt;br&gt;
-[[MediaWiki_talk:Ignorewarning|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7e18602a&amp;action=edit d874ec59]&lt;br&gt;
+[[MediaWiki_talk:7e18602a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Ignore warning and save file anyway.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Ignorewarning</title></template>
+<template lineStart="1"><title>int:7e18602a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ilshowmatch&amp;action=edit ilshowmatch]&lt;br&gt;
-[[MediaWiki_talk:Ilshowmatch|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5bf1efaa&amp;action=edit a98182df]&lt;br&gt;
+[[MediaWiki_talk:5bf1efaa|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Show all images with names matching
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Ilshowmatch</title></template>
+<template lineStart="1"><title>int:5bf1efaa</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ilsubmit&amp;action=edit ilsubmit]&lt;br&gt;
-[[MediaWiki_talk:Ilsubmit|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8e7a51d5&amp;action=edit f8288ad8]&lt;br&gt;
+[[MediaWiki_talk:8e7a51d5|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Search
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Ilsubmit</title></template>
+<template lineStart="1"><title>int:8e7a51d5</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Image_sample&amp;action=edit image_sample]&lt;br&gt;
-[[MediaWiki_talk:Image_sample|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:133971b3&amp;action=edit be19a728]&lt;br&gt;
+[[MediaWiki_talk:133971b3|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Example.jpg
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Image_sample</title></template>
+<template lineStart="1"><title>int:133971b3</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Image_tip&amp;action=edit image_tip]&lt;br&gt;
-[[MediaWiki_talk:Image_tip|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2a73e0c3&amp;action=edit d103e97d]&lt;br&gt;
+[[MediaWiki_talk:2a73e0c3|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Embedded image
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Image_tip</title></template>
+<template lineStart="1"><title>int:2a73e0c3</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Imagelinks&amp;action=edit imagelinks]&lt;br&gt;
-[[MediaWiki_talk:Imagelinks|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:353c260c&amp;action=edit 3414ac48]&lt;br&gt;
+[[MediaWiki_talk:353c260c|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Image links
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Imagelinks</title></template>
+<template lineStart="1"><title>int:353c260c</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Imagelist&amp;action=edit imagelist]&lt;br&gt;
-[[MediaWiki_talk:Imagelist|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:affc6aca&amp;action=edit 4c06ba77]&lt;br&gt;
+[[MediaWiki_talk:affc6aca|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Image list
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Imagelist</title></template>
+<template lineStart="1"><title>int:affc6aca</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Imagelisttext&amp;action=edit imagelisttext]&lt;br&gt;
-[[MediaWiki_talk:Imagelisttext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ade85019&amp;action=edit 2e8294bd]&lt;br&gt;
+[[MediaWiki_talk:ade85019|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Below is a list of $1 images sorted $2.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Imagelisttext</title></template>
+<template lineStart="1"><title>int:ade85019</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Imagepage&amp;action=edit imagepage]&lt;br&gt;
-[[MediaWiki_talk:Imagepage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7277ee94&amp;action=edit a152014b]&lt;br&gt;
+[[MediaWiki_talk:7277ee94|Talk]]
 &lt;/td&gt;&lt;td&gt;
 View image page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Imagepage</title></template>
+<template lineStart="1"><title>int:7277ee94</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Imagereverted&amp;action=edit imagereverted]&lt;br&gt;
-[[MediaWiki_talk:Imagereverted|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c783375c&amp;action=edit b1d4cc4c]&lt;br&gt;
+[[MediaWiki_talk:c783375c|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Revert to earlier version was successful.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Imagereverted</title></template>
+<template lineStart="1"><title>int:c783375c</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Imgdelete&amp;action=edit imgdelete]&lt;br&gt;
-[[MediaWiki_talk:Imgdelete|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c6f52751&amp;action=edit 6656e4f4]&lt;br&gt;
+[[MediaWiki_talk:c6f52751|Talk]]
 &lt;/td&gt;&lt;td&gt;
 del
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Imgdelete</title></template>
+<template lineStart="1"><title>int:c6f52751</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Imgdesc&amp;action=edit imgdesc]&lt;br&gt;
-[[MediaWiki_talk:Imgdesc|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3c281ed6&amp;action=edit a1adca28]&lt;br&gt;
+[[MediaWiki_talk:3c281ed6|Talk]]
 &lt;/td&gt;&lt;td&gt;
 desc
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Imgdesc</title></template>
+<template lineStart="1"><title>int:3c281ed6</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Imghistlegend&amp;action=edit imghistlegend]&lt;br&gt;
-[[MediaWiki_talk:Imghistlegend|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:186e5ca1&amp;action=edit de786597]&lt;br&gt;
+[[MediaWiki_talk:186e5ca1|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Legend: (cur) = this is the current image, (del) = delete
 this old version, (rev) = revert to this old version.
 &amp;lt;br /&amp;gt;&amp;lt;i&amp;gt;Click on date to see image uploaded on that date&amp;lt;/i&amp;gt;.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Imghistlegend</title></template>
+<template lineStart="1"><title>int:186e5ca1</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Imghistory&amp;action=edit imghistory]&lt;br&gt;
-[[MediaWiki_talk:Imghistory|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8d78c0d7&amp;action=edit d9305ede]&lt;br&gt;
+[[MediaWiki_talk:8d78c0d7|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Image history
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Imghistory</title></template>
+<template lineStart="1"><title>int:8d78c0d7</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Imglegend&amp;action=edit imglegend]&lt;br&gt;
-[[MediaWiki_talk:Imglegend|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:86260b9f&amp;action=edit a46e05c1]&lt;br&gt;
+[[MediaWiki_talk:86260b9f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Legend: (desc) = show/edit image description.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Imglegend</title></template>
+<template lineStart="1"><title>int:86260b9f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Import&amp;action=edit import]&lt;br&gt;
-[[MediaWiki_talk:Import|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d6fbc9d2&amp;action=edit 62fdfbd5]&lt;br&gt;
+[[MediaWiki_talk:d6fbc9d2|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Import pages
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Import</title></template>
+<template lineStart="1"><title>int:d6fbc9d2</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Importfailed&amp;action=edit importfailed]&lt;br&gt;
-[[MediaWiki_talk:Importfailed|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bac6ed75&amp;action=edit 85d2877a]&lt;br&gt;
+[[MediaWiki_talk:bac6ed75|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Import failed: $1
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Importfailed</title></template>
+<template lineStart="1"><title>int:bac6ed75</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Importhistoryconflict&amp;action=edit importhistoryconflict]&lt;br&gt;
-[[MediaWiki_talk:Importhistoryconflict|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f4dee51e&amp;action=edit f74f664b]&lt;br&gt;
+[[MediaWiki_talk:f4dee51e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Conflicting history revision exists (may have imported this page before)
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Importhistoryconflict</title></template>
+<template lineStart="1"><title>int:f4dee51e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Importnotext&amp;action=edit importnotext]&lt;br&gt;
-[[MediaWiki_talk:Importnotext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1d461354&amp;action=edit ff881471]&lt;br&gt;
+[[MediaWiki_talk:1d461354|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Empty or no text
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Importnotext</title></template>
+<template lineStart="1"><title>int:1d461354</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Importsuccess&amp;action=edit importsuccess]&lt;br&gt;
-[[MediaWiki_talk:Importsuccess|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5b910f21&amp;action=edit e2781bd1]&lt;br&gt;
+[[MediaWiki_talk:5b910f21|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Import succeeded!
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Importsuccess</title></template>
+<template lineStart="1"><title>int:5b910f21</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Importtext&amp;action=edit importtext]&lt;br&gt;
-[[MediaWiki_talk:Importtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3d58d609&amp;action=edit 965243c5]&lt;br&gt;
+[[MediaWiki_talk:3d58d609|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Please export the file from the source wiki using the Special:Export utility, save it to your disk and upload it here.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Importtext</title></template>
+<template lineStart="1"><title>int:3d58d609</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Infobox&amp;action=edit infobox]&lt;br&gt;
-[[MediaWiki_talk:Infobox|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:31be67da&amp;action=edit 176bd169]&lt;br&gt;
+[[MediaWiki_talk:31be67da|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Click a button to get an example text
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Infobox</title></template>
+<template lineStart="1"><title>int:31be67da</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Infobox_alert&amp;action=edit infobox_alert]&lt;br&gt;
-[[MediaWiki_talk:Infobox_alert|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2854823a&amp;action=edit 6de0a6d1]&lt;br&gt;
+[[MediaWiki_talk:2854823a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Please enter the text you want to be formatted.\n It will be shown in the infobox for copy and pasting.\nExample:\n$1\nwill become:\n$2
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Infobox_alert</title></template>
+<template lineStart="1"><title>int:2854823a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Internalerror&amp;action=edit internalerror]&lt;br&gt;
-[[MediaWiki_talk:Internalerror|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:103c360a&amp;action=edit e90e9e1c]&lt;br&gt;
+[[MediaWiki_talk:103c360a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Internal error
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Internalerror</title></template>
+<template lineStart="1"><title>int:103c360a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Intl&amp;action=edit intl]&lt;br&gt;
-[[MediaWiki_talk:Intl|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:148008a6&amp;action=edit 919b03e5]&lt;br&gt;
+[[MediaWiki_talk:148008a6|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Interlanguage links
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Intl</title></template>
+<template lineStart="1"><title>int:148008a6</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ip_range_invalid&amp;action=edit ip_range_invalid]&lt;br&gt;
-[[MediaWiki_talk:Ip_range_invalid|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:07586557&amp;action=edit 5c2ff182]&lt;br&gt;
+[[MediaWiki_talk:07586557|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Invalid IP range.
 
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Ip_range_invalid</title></template>
+<template lineStart="1"><title>int:07586557</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ipaddress&amp;action=edit ipaddress]&lt;br&gt;
-[[MediaWiki_talk:Ipaddress|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:22f9ff50&amp;action=edit 1f99aaad]&lt;br&gt;
+[[MediaWiki_talk:22f9ff50|Talk]]
 &lt;/td&gt;&lt;td&gt;
 IP Address/username
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Ipaddress</title></template>
+<template lineStart="1"><title>int:22f9ff50</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ipb_expiry_invalid&amp;action=edit ipb_expiry_invalid]&lt;br&gt;
-[[MediaWiki_talk:Ipb_expiry_invalid|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f8994552&amp;action=edit 91b35c2d]&lt;br&gt;
+[[MediaWiki_talk:f8994552|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Expiry time invalid.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Ipb_expiry_invalid</title></template>
+<template lineStart="1"><title>int:f8994552</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ipbexpiry&amp;action=edit ipbexpiry]&lt;br&gt;
-[[MediaWiki_talk:Ipbexpiry|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2147c662&amp;action=edit 524cfd7e]&lt;br&gt;
+[[MediaWiki_talk:2147c662|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Expiry
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Ipbexpiry</title></template>
+<template lineStart="1"><title>int:2147c662</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ipblocklist&amp;action=edit ipblocklist]&lt;br&gt;
-[[MediaWiki_talk:Ipblocklist|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9cb7e6ee&amp;action=edit 503153e9]&lt;br&gt;
+[[MediaWiki_talk:9cb7e6ee|Talk]]
 &lt;/td&gt;&lt;td&gt;
 List of blocked IP addresses and usernames
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Ipblocklist</title></template>
+<template lineStart="1"><title>int:9cb7e6ee</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ipbreason&amp;action=edit ipbreason]&lt;br&gt;
-[[MediaWiki_talk:Ipbreason|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6774dfa8&amp;action=edit 1ecdad25]&lt;br&gt;
+[[MediaWiki_talk:6774dfa8|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Reason
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Ipbreason</title></template>
+<template lineStart="1"><title>int:6774dfa8</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ipbsubmit&amp;action=edit ipbsubmit]&lt;br&gt;
-[[MediaWiki_talk:Ipbsubmit|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:62218118&amp;action=edit e29a20a2]&lt;br&gt;
+[[MediaWiki_talk:62218118|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Block this user
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Ipbsubmit</title></template>
+<template lineStart="1"><title>int:62218118</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ipusubmit&amp;action=edit ipusubmit]&lt;br&gt;
-[[MediaWiki_talk:Ipusubmit|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7863d305&amp;action=edit 73ecf10c]&lt;br&gt;
+[[MediaWiki_talk:7863d305|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Unblock this address
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Ipusubmit</title></template>
+<template lineStart="1"><title>int:7863d305</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ipusuccess&amp;action=edit ipusuccess]&lt;br&gt;
-[[MediaWiki_talk:Ipusuccess|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ba95215c&amp;action=edit 5fc7f411]&lt;br&gt;
+[[MediaWiki_talk:ba95215c|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;quot;$1&amp;quot; unblocked
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Ipusuccess</title></template>
+<template lineStart="1"><title>int:ba95215c</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Isbn&amp;action=edit isbn]&lt;br&gt;
-[[MediaWiki_talk:Isbn|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8e89a827&amp;action=edit 9aa403ad]&lt;br&gt;
+[[MediaWiki_talk:8e89a827|Talk]]
 &lt;/td&gt;&lt;td&gt;
 ISBN
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Isbn</title></template>
+<template lineStart="1"><title>int:8e89a827</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Isredirect&amp;action=edit isredirect]&lt;br&gt;
-[[MediaWiki_talk:Isredirect|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5b017ff1&amp;action=edit abdf987b]&lt;br&gt;
+[[MediaWiki_talk:5b017ff1|Talk]]
 &lt;/td&gt;&lt;td&gt;
 redirect page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Isredirect</title></template>
+<template lineStart="1"><title>int:5b017ff1</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Italic_sample&amp;action=edit italic_sample]&lt;br&gt;
-[[MediaWiki_talk:Italic_sample|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:208e76ed&amp;action=edit 95f02073]&lt;br&gt;
+[[MediaWiki_talk:208e76ed|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Italic text
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Italic_sample</title></template>
+<template lineStart="1"><title>int:208e76ed</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Italic_tip&amp;action=edit italic_tip]&lt;br&gt;
-[[MediaWiki_talk:Italic_tip|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7e5211e9&amp;action=edit 3f1c7185]&lt;br&gt;
+[[MediaWiki_talk:7e5211e9|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Italic text
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Italic_tip</title></template>
+<template lineStart="1"><title>int:7e5211e9</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Iteminvalidname&amp;action=edit iteminvalidname]&lt;br&gt;
-[[MediaWiki_talk:Iteminvalidname|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bcce0a8a&amp;action=edit 0e29818a]&lt;br&gt;
+[[MediaWiki_talk:bcce0a8a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Problem with item &amp;#39;$1&amp;#39;, invalid name...
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Iteminvalidname</title></template>
+<template lineStart="1"><title>int:bcce0a8a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Largefile&amp;action=edit largefile]&lt;br&gt;
-[[MediaWiki_talk:Largefile|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:996c231b&amp;action=edit 5dd7fd8c]&lt;br&gt;
+[[MediaWiki_talk:996c231b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 It is recommended that images not exceed 100k in size.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Largefile</title></template>
+<template lineStart="1"><title>int:996c231b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Last&amp;action=edit last]&lt;br&gt;
-[[MediaWiki_talk:Last|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d1c69a85&amp;action=edit 213ed3ea]&lt;br&gt;
+[[MediaWiki_talk:d1c69a85|Talk]]
 &lt;/td&gt;&lt;td&gt;
 last
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Last</title></template>
+<template lineStart="1"><title>int:d1c69a85</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Lastmodified&amp;action=edit lastmodified]&lt;br&gt;
-[[MediaWiki_talk:Lastmodified|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:26d03483&amp;action=edit 1d0be5cf]&lt;br&gt;
+[[MediaWiki_talk:26d03483|Talk]]
 &lt;/td&gt;&lt;td&gt;
 This page was last modified $1.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Lastmodified</title></template>
+<template lineStart="1"><title>int:26d03483</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Lastmodifiedby&amp;action=edit lastmodifiedby]&lt;br&gt;
-[[MediaWiki_talk:Lastmodifiedby|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d8b6a1ce&amp;action=edit b4c7424e]&lt;br&gt;
+[[MediaWiki_talk:d8b6a1ce|Talk]]
 &lt;/td&gt;&lt;td&gt;
 This page was last modified $1 by $2.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Lastmodifiedby</title></template>
+<template lineStart="1"><title>int:d8b6a1ce</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Lineno&amp;action=edit lineno]&lt;br&gt;
-[[MediaWiki_talk:Lineno|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b5fb75c3&amp;action=edit 7aab91e5]&lt;br&gt;
+[[MediaWiki_talk:b5fb75c3|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Line $1:
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Lineno</title></template>
+<template lineStart="1"><title>int:b5fb75c3</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Link_sample&amp;action=edit link_sample]&lt;br&gt;
-[[MediaWiki_talk:Link_sample|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a1a27fd2&amp;action=edit 4c4ec68a]&lt;br&gt;
+[[MediaWiki_talk:a1a27fd2|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Link title
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Link_sample</title></template>
+<template lineStart="1"><title>int:a1a27fd2</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Link_tip&amp;action=edit link_tip]&lt;br&gt;
-[[MediaWiki_talk:Link_tip|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:28f8c928&amp;action=edit e0ee37d8]&lt;br&gt;
+[[MediaWiki_talk:28f8c928|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Internal link
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Link_tip</title></template>
+<template lineStart="1"><title>int:28f8c928</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Linklistsub&amp;action=edit linklistsub]&lt;br&gt;
-[[MediaWiki_talk:Linklistsub|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:003058f7&amp;action=edit c692b683]&lt;br&gt;
+[[MediaWiki_talk:003058f7|Talk]]
 &lt;/td&gt;&lt;td&gt;
 (List of links)
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Linklistsub</title></template>
+<template lineStart="1"><title>int:003058f7</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Linkshere&amp;action=edit linkshere]&lt;br&gt;
-[[MediaWiki_talk:Linkshere|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6508e12f&amp;action=edit ce30384f]&lt;br&gt;
+[[MediaWiki_talk:6508e12f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The following pages link to here:
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Linkshere</title></template>
+<template lineStart="1"><title>int:6508e12f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Linkstoimage&amp;action=edit linkstoimage]&lt;br&gt;
-[[MediaWiki_talk:Linkstoimage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f6dbd59d&amp;action=edit 50b839a3]&lt;br&gt;
+[[MediaWiki_talk:f6dbd59d|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The following pages link to this image:
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Linkstoimage</title></template>
+<template lineStart="1"><title>int:f6dbd59d</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Linktrail&amp;action=edit linktrail]&lt;br&gt;
-[[MediaWiki_talk:Linktrail|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:eb68781a&amp;action=edit 743236e7]&lt;br&gt;
+[[MediaWiki_talk:eb68781a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 /^(&amp;#91;a-z]+)(.*)$/sD
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Linktrail</title></template>
+<template lineStart="1"><title>int:eb68781a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Listform&amp;action=edit listform]&lt;br&gt;
-[[MediaWiki_talk:Listform|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a8ca6811&amp;action=edit 069b38c0]&lt;br&gt;
+[[MediaWiki_talk:a8ca6811|Talk]]
 &lt;/td&gt;&lt;td&gt;
 list
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Listform</title></template>
+<template lineStart="1"><title>int:a8ca6811</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Listusers&amp;action=edit listusers]&lt;br&gt;
-[[MediaWiki_talk:Listusers|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9bf82beb&amp;action=edit aabbb062]&lt;br&gt;
+[[MediaWiki_talk:9bf82beb|Talk]]
 &lt;/td&gt;&lt;td&gt;
 User list
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Listusers</title></template>
+<template lineStart="1"><title>int:9bf82beb</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loadhist&amp;action=edit loadhist]&lt;br&gt;
-[[MediaWiki_talk:Loadhist|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:61a6ed55&amp;action=edit 1b4ae4f9]&lt;br&gt;
+[[MediaWiki_talk:61a6ed55|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Loading page history
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Loadhist</title></template>
+<template lineStart="1"><title>int:61a6ed55</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loadingrev&amp;action=edit loadingrev]&lt;br&gt;
-[[MediaWiki_talk:Loadingrev|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bf19b1de&amp;action=edit b6bb9fa5]&lt;br&gt;
+[[MediaWiki_talk:bf19b1de|Talk]]
 &lt;/td&gt;&lt;td&gt;
 loading revision for diff
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Loadingrev</title></template>
+<template lineStart="1"><title>int:bf19b1de</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Localtime&amp;action=edit localtime]&lt;br&gt;
-[[MediaWiki_talk:Localtime|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:43678846&amp;action=edit f25bccd7]&lt;br&gt;
+[[MediaWiki_talk:43678846|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Local time display
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Localtime</title></template>
+<template lineStart="1"><title>int:43678846</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Lockbtn&amp;action=edit lockbtn]&lt;br&gt;
-[[MediaWiki_talk:Lockbtn|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:31dcaa22&amp;action=edit 62c50181]&lt;br&gt;
+[[MediaWiki_talk:31dcaa22|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Lock database
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Lockbtn</title></template>
+<template lineStart="1"><title>int:31dcaa22</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Lockconfirm&amp;action=edit lockconfirm]&lt;br&gt;
-[[MediaWiki_talk:Lockconfirm|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9dc82fa2&amp;action=edit 5199ac8e]&lt;br&gt;
+[[MediaWiki_talk:9dc82fa2|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Yes, I really want to lock the database.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Lockconfirm</title></template>
+<template lineStart="1"><title>int:9dc82fa2</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Lockdb&amp;action=edit lockdb]&lt;br&gt;
-[[MediaWiki_talk:Lockdb|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:fef93b9b&amp;action=edit 4f29ae0a]&lt;br&gt;
+[[MediaWiki_talk:fef93b9b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Lock database
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Lockdb</title></template>
+<template lineStart="1"><title>int:fef93b9b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Lockdbsuccesssub&amp;action=edit lockdbsuccesssub]&lt;br&gt;
-[[MediaWiki_talk:Lockdbsuccesssub|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b4abc4bb&amp;action=edit e73c06d7]&lt;br&gt;
+[[MediaWiki_talk:b4abc4bb|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Database lock succeeded
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Lockdbsuccesssub</title></template>
+<template lineStart="1"><title>int:b4abc4bb</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Lockdbsuccesstext&amp;action=edit lockdbsuccesstext]&lt;br&gt;
-[[MediaWiki_talk:Lockdbsuccesstext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b6fcfec5&amp;action=edit 88c6fb22]&lt;br&gt;
+[[MediaWiki_talk:b6fcfec5|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The database has been locked.
 &amp;lt;br /&amp;gt;Remember to remove the lock after your maintenance is complete.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Lockdbsuccesstext</title></template>
+<template lineStart="1"><title>int:b6fcfec5</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Lockdbtext&amp;action=edit lockdbtext]&lt;br&gt;
-[[MediaWiki_talk:Lockdbtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:459bf648&amp;action=edit 070ff9ae]&lt;br&gt;
+[[MediaWiki_talk:459bf648|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Locking the database will suspend the ability of all
 users to edit pages, change their preferences, edit their watchlists, and
@@ -2191,87 +2191,87 @@ other things requiring changes in the database.
 Please confirm that this is what you intend to do, and that you will
 unlock the database when your maintenance is done.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Lockdbtext</title></template>
+<template lineStart="1"><title>int:459bf648</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Locknoconfirm&amp;action=edit locknoconfirm]&lt;br&gt;
-[[MediaWiki_talk:Locknoconfirm|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2727a733&amp;action=edit 8a890d0a]&lt;br&gt;
+[[MediaWiki_talk:2727a733|Talk]]
 &lt;/td&gt;&lt;td&gt;
 You did not check the confirmation box.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Locknoconfirm</title></template>
+<template lineStart="1"><title>int:2727a733</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Login&amp;action=edit login]&lt;br&gt;
-[[MediaWiki_talk:Login|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:4e5a2893&amp;action=edit 2736fab2]&lt;br&gt;
+[[MediaWiki_talk:4e5a2893|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Log in
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Login</title></template>
+<template lineStart="1"><title>int:4e5a2893</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loginerror&amp;action=edit loginerror]&lt;br&gt;
-[[MediaWiki_talk:Loginerror|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:fcfc7549&amp;action=edit e6f9a4e2]&lt;br&gt;
+[[MediaWiki_talk:fcfc7549|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Login error
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Loginerror</title></template>
+<template lineStart="1"><title>int:fcfc7549</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loginpagetitle&amp;action=edit loginpagetitle]&lt;br&gt;
-[[MediaWiki_talk:Loginpagetitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:4113f724&amp;action=edit 36f843a7]&lt;br&gt;
+[[MediaWiki_talk:4113f724|Talk]]
 &lt;/td&gt;&lt;td&gt;
 User login
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Loginpagetitle</title></template>
+<template lineStart="1"><title>int:4113f724</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loginproblem&amp;action=edit loginproblem]&lt;br&gt;
-[[MediaWiki_talk:Loginproblem|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7a6963a6&amp;action=edit d23ee6a8]&lt;br&gt;
+[[MediaWiki_talk:7a6963a6|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;lt;b&amp;gt;There has been a problem with your login.&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;Try again!
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Loginproblem</title></template>
+<template lineStart="1"><title>int:7a6963a6</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loginprompt&amp;action=edit loginprompt]&lt;br&gt;
-[[MediaWiki_talk:Loginprompt|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bbf56890&amp;action=edit 221d44a4]&lt;br&gt;
+[[MediaWiki_talk:bbf56890|Talk]]
 &lt;/td&gt;&lt;td&gt;
 You must have cookies enabled to log in to Wiktionary.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Loginprompt</title></template>
+<template lineStart="1"><title>int:bbf56890</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loginreqtext&amp;action=edit loginreqtext]&lt;br&gt;
-[[MediaWiki_talk:Loginreqtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:75749962&amp;action=edit ee8446ea]&lt;br&gt;
+[[MediaWiki_talk:75749962|Talk]]
 &lt;/td&gt;&lt;td&gt;
 You must &amp;#91;&amp;#91;special:Userlogin&amp;#124;login]] to view other pages.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Loginreqtext</title></template>
+<template lineStart="1"><title>int:75749962</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loginreqtitle&amp;action=edit loginreqtitle]&lt;br&gt;
-[[MediaWiki_talk:Loginreqtitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c779400b&amp;action=edit a90049e8]&lt;br&gt;
+[[MediaWiki_talk:c779400b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Login Required
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Loginreqtitle</title></template>
+<template lineStart="1"><title>int:c779400b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loginsuccess&amp;action=edit loginsuccess]&lt;br&gt;
-[[MediaWiki_talk:Loginsuccess|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:753694e0&amp;action=edit a5607b10]&lt;br&gt;
+[[MediaWiki_talk:753694e0|Talk]]
 &lt;/td&gt;&lt;td&gt;
 You are now logged in to Wiktionary as &amp;quot;$1&amp;quot;.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Loginsuccess</title></template>
+<template lineStart="1"><title>int:753694e0</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loginsuccesstitle&amp;action=edit loginsuccesstitle]&lt;br&gt;
-[[MediaWiki_talk:Loginsuccesstitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:73eb6767&amp;action=edit 5c2a05be]&lt;br&gt;
+[[MediaWiki_talk:73eb6767|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Login successful
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Loginsuccesstitle</title></template>
+<template lineStart="1"><title>int:73eb6767</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Logout&amp;action=edit logout]&lt;br&gt;
-[[MediaWiki_talk:Logout|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e43d612e&amp;action=edit 55525e1b]&lt;br&gt;
+[[MediaWiki_talk:e43d612e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Log out
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Logout</title></template>
+<template lineStart="1"><title>int:e43d612e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Logouttext&amp;action=edit logouttext]&lt;br&gt;
-[[MediaWiki_talk:Logouttext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a8455b1c&amp;action=edit 50310460]&lt;br&gt;
+[[MediaWiki_talk:a8455b1c|Talk]]
 &lt;/td&gt;&lt;td&gt;
 You are now logged out.
 You can continue to use Wiktionary anonymously, or you can log in
@@ -2280,311 +2280,311 @@ continue to be displayed as if you were still logged in, until you clear
 your browser cache
 
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Logouttext</title></template>
+<template lineStart="1"><title>int:a8455b1c</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Logouttitle&amp;action=edit logouttitle]&lt;br&gt;
-[[MediaWiki_talk:Logouttitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:cd48f4e7&amp;action=edit 8f9db4e5]&lt;br&gt;
+[[MediaWiki_talk:cd48f4e7|Talk]]
 &lt;/td&gt;&lt;td&gt;
 User logout
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Logouttitle</title></template>
+<template lineStart="1"><title>int:cd48f4e7</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Lonelypages&amp;action=edit lonelypages]&lt;br&gt;
-[[MediaWiki_talk:Lonelypages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:916f5569&amp;action=edit 92ab2259]&lt;br&gt;
+[[MediaWiki_talk:916f5569|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Orphaned pages
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Lonelypages</title></template>
+<template lineStart="1"><title>int:916f5569</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Longpages&amp;action=edit longpages]&lt;br&gt;
-[[MediaWiki_talk:Longpages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9cdfa115&amp;action=edit 38996948]&lt;br&gt;
+[[MediaWiki_talk:9cdfa115|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Long pages
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Longpages</title></template>
+<template lineStart="1"><title>int:9cdfa115</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Longpagewarning&amp;action=edit longpagewarning]&lt;br&gt;
-[[MediaWiki_talk:Longpagewarning|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b91ee293&amp;action=edit 09b5b0a2]&lt;br&gt;
+[[MediaWiki_talk:b91ee293|Talk]]
 &lt;/td&gt;&lt;td&gt;
 WARNING: This page is $1 kilobytes long; some
 browsers may have problems editing pages approaching or longer than 32kb.
 Please consider breaking the page into smaller sections.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Longpagewarning</title></template>
+<template lineStart="1"><title>int:b91ee293</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mailerror&amp;action=edit mailerror]&lt;br&gt;
-[[MediaWiki_talk:Mailerror|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1ca3c8a2&amp;action=edit 2b82fce3]&lt;br&gt;
+[[MediaWiki_talk:1ca3c8a2|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Error sending mail: $1
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Mailerror</title></template>
+<template lineStart="1"><title>int:1ca3c8a2</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mailmypassword&amp;action=edit mailmypassword]&lt;br&gt;
-[[MediaWiki_talk:Mailmypassword|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:97681e3e&amp;action=edit 669d145f]&lt;br&gt;
+[[MediaWiki_talk:97681e3e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Mail me a new password
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Mailmypassword</title></template>
+<template lineStart="1"><title>int:97681e3e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mailnologin&amp;action=edit mailnologin]&lt;br&gt;
-[[MediaWiki_talk:Mailnologin|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8646515d&amp;action=edit 874a6660]&lt;br&gt;
+[[MediaWiki_talk:8646515d|Talk]]
 &lt;/td&gt;&lt;td&gt;
 No send address
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Mailnologin</title></template>
+<template lineStart="1"><title>int:8646515d</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mailnologintext&amp;action=edit mailnologintext]&lt;br&gt;
-[[MediaWiki_talk:Mailnologintext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f8116e36&amp;action=edit ce0442ed]&lt;br&gt;
+[[MediaWiki_talk:f8116e36|Talk]]
 &lt;/td&gt;&lt;td&gt;
 You must be &amp;lt;a href=&amp;quot;{{localurl:Special:Userlogin&amp;quot;&amp;gt;logged in&amp;lt;/a&amp;gt;
 and have a valid e-mail address in your &amp;lt;a href=&amp;quot;/wiki/Special:Preferences&amp;quot;&amp;gt;preferences&amp;lt;/a&amp;gt;
 to send e-mail to other users.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Mailnologintext</title></template>
+<template lineStart="1"><title>int:f8116e36</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mainpage&amp;action=edit mainpage]&lt;br&gt;
-[[MediaWiki_talk:Mainpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:95989ab3&amp;action=edit 6ad3db9a]&lt;br&gt;
+[[MediaWiki_talk:95989ab3|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Main Page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Mainpage</title></template>
+<template lineStart="1"><title>int:95989ab3</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mainpagedocfooter&amp;action=edit mainpagedocfooter]&lt;br&gt;
-[[MediaWiki_talk:Mainpagedocfooter|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:216e0fe3&amp;action=edit 19d499cf]&lt;br&gt;
+[[MediaWiki_talk:216e0fe3|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Please see &amp;#91;http&amp;#58;//meta.wikipedia.org/wiki/MediaWiki_i18n documentation on customizing the interface]
 and the &amp;#91;http&amp;#58;//meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User&amp;#39;s Guide] for usage and configuration help.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Mainpagedocfooter</title></template>
+<template lineStart="1"><title>int:216e0fe3</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mainpagetext&amp;action=edit mainpagetext]&lt;br&gt;
-[[MediaWiki_talk:Mainpagetext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:29c07aac&amp;action=edit 30186460]&lt;br&gt;
+[[MediaWiki_talk:29c07aac|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Wiki software successfully installed.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Mainpagetext</title></template>
+<template lineStart="1"><title>int:29c07aac</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Maintenance&amp;action=edit maintenance]&lt;br&gt;
-[[MediaWiki_talk:Maintenance|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:94de303b&amp;action=edit 5b30e2c5]&lt;br&gt;
+[[MediaWiki_talk:94de303b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Maintenance page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Maintenance</title></template>
+<template lineStart="1"><title>int:94de303b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Maintenancebacklink&amp;action=edit maintenancebacklink]&lt;br&gt;
-[[MediaWiki_talk:Maintenancebacklink|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b98df751&amp;action=edit aa734abd]&lt;br&gt;
+[[MediaWiki_talk:b98df751|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Back to Maintenance Page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Maintenancebacklink</title></template>
+<template lineStart="1"><title>int:b98df751</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Maintnancepagetext&amp;action=edit maintnancepagetext]&lt;br&gt;
-[[MediaWiki_talk:Maintnancepagetext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5e830e7c&amp;action=edit ff589b21]&lt;br&gt;
+[[MediaWiki_talk:5e830e7c|Talk]]
 &lt;/td&gt;&lt;td&gt;
 This page includes several handy tools for everyday maintenance. Some of these functions tend to stress the database, so please do not hit reload after every item you fixed ;-)
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Maintnancepagetext</title></template>
+<template lineStart="1"><title>int:5e830e7c</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Makesysop&amp;action=edit makesysop]&lt;br&gt;
-[[MediaWiki_talk:Makesysop|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:147d840b&amp;action=edit 192a7baa]&lt;br&gt;
+[[MediaWiki_talk:147d840b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Make a user into a sysop
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Makesysop</title></template>
+<template lineStart="1"><title>int:147d840b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Makesysopfail&amp;action=edit makesysopfail]&lt;br&gt;
-[[MediaWiki_talk:Makesysopfail|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3e1272dd&amp;action=edit c857a847]&lt;br&gt;
+[[MediaWiki_talk:3e1272dd|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;lt;b&amp;gt;User &amp;quot;$1&amp;quot; could not be made into a sysop. (Did you enter the name correctly?)&amp;lt;/b&amp;gt;
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Makesysopfail</title></template>
+<template lineStart="1"><title>int:3e1272dd</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Makesysopname&amp;action=edit makesysopname]&lt;br&gt;
-[[MediaWiki_talk:Makesysopname|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f942827d&amp;action=edit 4ae2de91]&lt;br&gt;
+[[MediaWiki_talk:f942827d|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Name of the user:
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Makesysopname</title></template>
+<template lineStart="1"><title>int:f942827d</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Makesysopok&amp;action=edit makesysopok]&lt;br&gt;
-[[MediaWiki_talk:Makesysopok|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8933e97e&amp;action=edit 1138d88d]&lt;br&gt;
+[[MediaWiki_talk:8933e97e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;lt;b&amp;gt;User &amp;quot;$1&amp;quot; is now a sysop&amp;lt;/b&amp;gt;
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Makesysopok</title></template>
+<template lineStart="1"><title>int:8933e97e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Makesysopsubmit&amp;action=edit makesysopsubmit]&lt;br&gt;
-[[MediaWiki_talk:Makesysopsubmit|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ffde53f7&amp;action=edit 51a3d81a]&lt;br&gt;
+[[MediaWiki_talk:ffde53f7|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Make this user into a sysop
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Makesysopsubmit</title></template>
+<template lineStart="1"><title>int:ffde53f7</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Makesysoptext&amp;action=edit makesysoptext]&lt;br&gt;
-[[MediaWiki_talk:Makesysoptext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6135d20c&amp;action=edit 9014f0fd]&lt;br&gt;
+[[MediaWiki_talk:6135d20c|Talk]]
 &lt;/td&gt;&lt;td&gt;
 This form is used by bureaucrats to turn ordinary users into administrators. 
 Type the name of the user in the box and press the button to make the user an administrator
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Makesysoptext</title></template>
+<template lineStart="1"><title>int:6135d20c</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Makesysoptitle&amp;action=edit makesysoptitle]&lt;br&gt;
-[[MediaWiki_talk:Makesysoptitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:40537c23&amp;action=edit 9d7a92cc]&lt;br&gt;
+[[MediaWiki_talk:40537c23|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Make a user into a sysop
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Makesysoptitle</title></template>
+<template lineStart="1"><title>int:40537c23</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Matchtotals&amp;action=edit matchtotals]&lt;br&gt;
-[[MediaWiki_talk:Matchtotals|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b00f5f1f&amp;action=edit f2f4e13e]&lt;br&gt;
+[[MediaWiki_talk:b00f5f1f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The query &amp;quot;$1&amp;quot; matched $2 page titles
 and the text of $3 pages.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Matchtotals</title></template>
+<template lineStart="1"><title>int:b00f5f1f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math&amp;action=edit math]&lt;br&gt;
-[[MediaWiki_talk:Math|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3edf0df4&amp;action=edit 7a488390]&lt;br&gt;
+[[MediaWiki_talk:3edf0df4|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Rendering math
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Math</title></template>
+<template lineStart="1"><title>int:3edf0df4</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_bad_output&amp;action=edit math_bad_output]&lt;br&gt;
-[[MediaWiki_talk:Math_bad_output|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:78c6cb06&amp;action=edit d9b8688c]&lt;br&gt;
+[[MediaWiki_talk:78c6cb06|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Can&amp;#39;t write to or create math output directory
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Math_bad_output</title></template>
+<template lineStart="1"><title>int:78c6cb06</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_bad_tmpdir&amp;action=edit math_bad_tmpdir]&lt;br&gt;
-[[MediaWiki_talk:Math_bad_tmpdir|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f83fe947&amp;action=edit be21263f]&lt;br&gt;
+[[MediaWiki_talk:f83fe947|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Can&amp;#39;t write to or create math temp directory
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Math_bad_tmpdir</title></template>
+<template lineStart="1"><title>int:f83fe947</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_failure&amp;action=edit math_failure]&lt;br&gt;
-[[MediaWiki_talk:Math_failure|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f8cf40ba&amp;action=edit 53e1c013]&lt;br&gt;
+[[MediaWiki_talk:f8cf40ba|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Failed to parse
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Math_failure</title></template>
+<template lineStart="1"><title>int:f8cf40ba</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_image_error&amp;action=edit math_image_error]&lt;br&gt;
-[[MediaWiki_talk:Math_image_error|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7b3e958f&amp;action=edit 7082c48f]&lt;br&gt;
+[[MediaWiki_talk:7b3e958f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 PNG conversion failed; check for correct installation of latex, dvips, gs, and convert
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Math_image_error</title></template>
+<template lineStart="1"><title>int:7b3e958f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_lexing_error&amp;action=edit math_lexing_error]&lt;br&gt;
-[[MediaWiki_talk:Math_lexing_error|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d6a158de&amp;action=edit 41e6fe2b]&lt;br&gt;
+[[MediaWiki_talk:d6a158de|Talk]]
 &lt;/td&gt;&lt;td&gt;
 lexing error
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Math_lexing_error</title></template>
+<template lineStart="1"><title>int:d6a158de</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_notexvc&amp;action=edit math_notexvc]&lt;br&gt;
-[[MediaWiki_talk:Math_notexvc|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8109168a&amp;action=edit 20ec4685]&lt;br&gt;
+[[MediaWiki_talk:8109168a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Missing texvc executable; please see math/README to configure.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Math_notexvc</title></template>
+<template lineStart="1"><title>int:8109168a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_sample&amp;action=edit math_sample]&lt;br&gt;
-[[MediaWiki_talk:Math_sample|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:41b65279&amp;action=edit 3e8b5972]&lt;br&gt;
+[[MediaWiki_talk:41b65279|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Insert formula here
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Math_sample</title></template>
+<template lineStart="1"><title>int:41b65279</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_syntax_error&amp;action=edit math_syntax_error]&lt;br&gt;
-[[MediaWiki_talk:Math_syntax_error|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5cbab860&amp;action=edit d5667f6b]&lt;br&gt;
+[[MediaWiki_talk:5cbab860|Talk]]
 &lt;/td&gt;&lt;td&gt;
 syntax error
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Math_syntax_error</title></template>
+<template lineStart="1"><title>int:5cbab860</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_tip&amp;action=edit math_tip]&lt;br&gt;
-[[MediaWiki_talk:Math_tip|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7e756feb&amp;action=edit 0baadf18]&lt;br&gt;
+[[MediaWiki_talk:7e756feb|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Mathematical formula (LaTeX)
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Math_tip</title></template>
+<template lineStart="1"><title>int:7e756feb</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_unknown_error&amp;action=edit math_unknown_error]&lt;br&gt;
-[[MediaWiki_talk:Math_unknown_error|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:fb4d261d&amp;action=edit 5e0c970a]&lt;br&gt;
+[[MediaWiki_talk:fb4d261d|Talk]]
 &lt;/td&gt;&lt;td&gt;
 unknown error
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Math_unknown_error</title></template>
+<template lineStart="1"><title>int:fb4d261d</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_unknown_function&amp;action=edit math_unknown_function]&lt;br&gt;
-[[MediaWiki_talk:Math_unknown_function|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:26558f91&amp;action=edit a0577d1d]&lt;br&gt;
+[[MediaWiki_talk:26558f91|Talk]]
 &lt;/td&gt;&lt;td&gt;
 unknown function 
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Math_unknown_function</title></template>
+<template lineStart="1"><title>int:26558f91</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Media_sample&amp;action=edit media_sample]&lt;br&gt;
-[[MediaWiki_talk:Media_sample|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:63e94059&amp;action=edit 704093ed]&lt;br&gt;
+[[MediaWiki_talk:63e94059|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Example.mp3
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Media_sample</title></template>
+<template lineStart="1"><title>int:63e94059</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Media_tip&amp;action=edit media_tip]&lt;br&gt;
-[[MediaWiki_talk:Media_tip|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8e4baaa8&amp;action=edit 77fbb90b]&lt;br&gt;
+[[MediaWiki_talk:8e4baaa8|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Media file link
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Media_tip</title></template>
+<template lineStart="1"><title>int:8e4baaa8</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Minlength&amp;action=edit minlength]&lt;br&gt;
-[[MediaWiki_talk:Minlength|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:cca18055&amp;action=edit 61350cd2]&lt;br&gt;
+[[MediaWiki_talk:cca18055|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Image names must be at least three letters.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Minlength</title></template>
+<template lineStart="1"><title>int:cca18055</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Minoredit&amp;action=edit minoredit]&lt;br&gt;
-[[MediaWiki_talk:Minoredit|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7f8c4ff3&amp;action=edit 3dd77123]&lt;br&gt;
+[[MediaWiki_talk:7f8c4ff3|Talk]]
 &lt;/td&gt;&lt;td&gt;
 This is a minor edit
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Minoredit</title></template>
+<template lineStart="1"><title>int:7f8c4ff3</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Minoreditletter&amp;action=edit minoreditletter]&lt;br&gt;
-[[MediaWiki_talk:Minoreditletter|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ce5828a8&amp;action=edit 3c37ba2f]&lt;br&gt;
+[[MediaWiki_talk:ce5828a8|Talk]]
 &lt;/td&gt;&lt;td&gt;
 M
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Minoreditletter</title></template>
+<template lineStart="1"><title>int:ce5828a8</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mispeelings&amp;action=edit mispeelings]&lt;br&gt;
-[[MediaWiki_talk:Mispeelings|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1e3a3f5e&amp;action=edit abf0b01a]&lt;br&gt;
+[[MediaWiki_talk:1e3a3f5e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Pages with misspellings
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Mispeelings</title></template>
+<template lineStart="1"><title>int:1e3a3f5e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mispeelingspage&amp;action=edit mispeelingspage]&lt;br&gt;
-[[MediaWiki_talk:Mispeelingspage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:18c50601&amp;action=edit 4841b1be]&lt;br&gt;
+[[MediaWiki_talk:18c50601|Talk]]
 &lt;/td&gt;&lt;td&gt;
 List of common misspellings
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Mispeelingspage</title></template>
+<template lineStart="1"><title>int:18c50601</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mispeelingstext&amp;action=edit mispeelingstext]&lt;br&gt;
-[[MediaWiki_talk:Mispeelingstext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ff661e66&amp;action=edit 20eeb250]&lt;br&gt;
+[[MediaWiki_talk:ff661e66|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The following pages contain a common misspelling, which are listed on $1. The correct spelling might be given (like this).
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Mispeelingstext</title></template>
+<template lineStart="1"><title>int:ff661e66</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Missingarticle&amp;action=edit missingarticle]&lt;br&gt;
-[[MediaWiki_talk:Missingarticle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:77dd649d&amp;action=edit 28d8d2f3]&lt;br&gt;
+[[MediaWiki_talk:77dd649d|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The database did not find the text of a page
 that it should have found, named &amp;quot;$1&amp;quot;.
@@ -2595,96 +2595,96 @@ page that has been deleted.
 &amp;lt;p&amp;gt;If this is not the case, you may have found a bug in the software.
 Please report this to an administrator, making note of the URL.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Missingarticle</title></template>
+<template lineStart="1"><title>int:77dd649d</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Missingimage&amp;action=edit missingimage]&lt;br&gt;
-[[MediaWiki_talk:Missingimage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:43bf0acd&amp;action=edit d6472ac8]&lt;br&gt;
+[[MediaWiki_talk:43bf0acd|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;lt;b&amp;gt;Missing image&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;i&amp;gt;$1&amp;lt;/i&amp;gt;
 
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Missingimage</title></template>
+<template lineStart="1"><title>int:43bf0acd</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Missinglanguagelinks&amp;action=edit missinglanguagelinks]&lt;br&gt;
-[[MediaWiki_talk:Missinglanguagelinks|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:75c0518a&amp;action=edit f433e9c8]&lt;br&gt;
+[[MediaWiki_talk:75c0518a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Missing Language Links
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Missinglanguagelinks</title></template>
+<template lineStart="1"><title>int:75c0518a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Missinglanguagelinksbutton&amp;action=edit missinglanguagelinksbutton]&lt;br&gt;
-[[MediaWiki_talk:Missinglanguagelinksbutton|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5ef61b91&amp;action=edit a4a9fdcd]&lt;br&gt;
+[[MediaWiki_talk:5ef61b91|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Find missing language links for
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Missinglanguagelinksbutton</title></template>
+<template lineStart="1"><title>int:5ef61b91</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Missinglanguagelinkstext&amp;action=edit missinglanguagelinkstext]&lt;br&gt;
-[[MediaWiki_talk:Missinglanguagelinkstext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f5affad8&amp;action=edit e46ff038]&lt;br&gt;
+[[MediaWiki_talk:f5affad8|Talk]]
 &lt;/td&gt;&lt;td&gt;
 These pages do &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; link to their counterpart in $1. Redirects and subpages are &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; shown.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Missinglanguagelinkstext</title></template>
+<template lineStart="1"><title>int:f5affad8</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Moredotdotdot&amp;action=edit moredotdotdot]&lt;br&gt;
-[[MediaWiki_talk:Moredotdotdot|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:22e2c957&amp;action=edit b43c02b9]&lt;br&gt;
+[[MediaWiki_talk:22e2c957|Talk]]
 &lt;/td&gt;&lt;td&gt;
 More...
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Moredotdotdot</title></template>
+<template lineStart="1"><title>int:22e2c957</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Move&amp;action=edit move]&lt;br&gt;
-[[MediaWiki_talk:Move|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:76cdb950&amp;action=edit 379d6ce9]&lt;br&gt;
+[[MediaWiki_talk:76cdb950|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Move
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Move</title></template>
+<template lineStart="1"><title>int:76cdb950</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Movearticle&amp;action=edit movearticle]&lt;br&gt;
-[[MediaWiki_talk:Movearticle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:31d22872&amp;action=edit d55a3c2a]&lt;br&gt;
+[[MediaWiki_talk:31d22872|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Move page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Movearticle</title></template>
+<template lineStart="1"><title>int:31d22872</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Movedto&amp;action=edit movedto]&lt;br&gt;
-[[MediaWiki_talk:Movedto|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:fb280ed2&amp;action=edit 0bd0c880]&lt;br&gt;
+[[MediaWiki_talk:fb280ed2|Talk]]
 &lt;/td&gt;&lt;td&gt;
 moved to
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Movedto</title></template>
+<template lineStart="1"><title>int:fb280ed2</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Movenologin&amp;action=edit movenologin]&lt;br&gt;
-[[MediaWiki_talk:Movenologin|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8ddc20a0&amp;action=edit 7c041d6e]&lt;br&gt;
+[[MediaWiki_talk:8ddc20a0|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Not logged in
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Movenologin</title></template>
+<template lineStart="1"><title>int:8ddc20a0</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Movenologintext&amp;action=edit movenologintext]&lt;br&gt;
-[[MediaWiki_talk:Movenologintext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:75985d0e&amp;action=edit e479574b]&lt;br&gt;
+[[MediaWiki_talk:75985d0e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 You must be a registered user and &amp;lt;a href=&amp;quot;/wiki/Special:Userlogin&amp;quot;&amp;gt;logged in&amp;lt;/a&amp;gt;
 to move a page.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Movenologintext</title></template>
+<template lineStart="1"><title>int:75985d0e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Movepage&amp;action=edit movepage]&lt;br&gt;
-[[MediaWiki_talk:Movepage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:addffb42&amp;action=edit 0f05ab2b]&lt;br&gt;
+[[MediaWiki_talk:addffb42|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Move page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Movepage</title></template>
+<template lineStart="1"><title>int:addffb42</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Movepagebtn&amp;action=edit movepagebtn]&lt;br&gt;
-[[MediaWiki_talk:Movepagebtn|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6f9e8dfc&amp;action=edit 0311d79b]&lt;br&gt;
+[[MediaWiki_talk:6f9e8dfc|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Move page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Movepagebtn</title></template>
+<template lineStart="1"><title>int:6f9e8dfc</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Movepagetalktext&amp;action=edit movepagetalktext]&lt;br&gt;
-[[MediaWiki_talk:Movepagetalktext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:993d5ce8&amp;action=edit 53ab3d1c]&lt;br&gt;
+[[MediaWiki_talk:993d5ce8|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The associated talk page, if any, will be automatically moved along with it &amp;#39;&amp;#39;&amp;#39;unless:&amp;#39;&amp;#39;&amp;#39;
 *You are moving the page across namespaces,
@@ -2693,10 +2693,10 @@ The associated talk page, if any, will be automatically moved along with it &amp
 
 In those cases, you will have to move or merge the page manually if desired.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Movepagetalktext</title></template>
+<template lineStart="1"><title>int:993d5ce8</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Movepagetext&amp;action=edit movepagetext]&lt;br&gt;
-[[MediaWiki_talk:Movepagetext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ce6bc0ee&amp;action=edit a363312c]&lt;br&gt;
+[[MediaWiki_talk:ce6bc0ee|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Using the form below will rename a page, moving all
 of its history to the new name.
@@ -2717,798 +2717,798 @@ This can be a drastic and unexpected change for a popular page;
 please be sure you understand the consequences of this before
 proceeding.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Movepagetext</title></template>
+<template lineStart="1"><title>int:ce6bc0ee</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Movetalk&amp;action=edit movetalk]&lt;br&gt;
-[[MediaWiki_talk:Movetalk|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e0a05db0&amp;action=edit 7bd87d2d]&lt;br&gt;
+[[MediaWiki_talk:e0a05db0|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Move &amp;quot;talk&amp;quot; page as well, if applicable.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Movetalk</title></template>
+<template lineStart="1"><title>int:e0a05db0</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Movethispage&amp;action=edit movethispage]&lt;br&gt;
-[[MediaWiki_talk:Movethispage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:689ff1e7&amp;action=edit 2119d3ee]&lt;br&gt;
+[[MediaWiki_talk:689ff1e7|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Move this page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Movethispage</title></template>
+<template lineStart="1"><title>int:689ff1e7</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mycontris&amp;action=edit mycontris]&lt;br&gt;
-[[MediaWiki_talk:Mycontris|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0dc37cdb&amp;action=edit 12b6caf0]&lt;br&gt;
+[[MediaWiki_talk:0dc37cdb|Talk]]
 &lt;/td&gt;&lt;td&gt;
 My contributions
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Mycontris</title></template>
+<template lineStart="1"><title>int:0dc37cdb</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mypage&amp;action=edit mypage]&lt;br&gt;
-[[MediaWiki_talk:Mypage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:51a7215d&amp;action=edit 5d558678]&lt;br&gt;
+[[MediaWiki_talk:51a7215d|Talk]]
 &lt;/td&gt;&lt;td&gt;
 My page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Mypage</title></template>
+<template lineStart="1"><title>int:51a7215d</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mytalk&amp;action=edit mytalk]&lt;br&gt;
-[[MediaWiki_talk:Mytalk|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:fbe8f485&amp;action=edit 49886539]&lt;br&gt;
+[[MediaWiki_talk:fbe8f485|Talk]]
 &lt;/td&gt;&lt;td&gt;
 My talk
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Mytalk</title></template>
+<template lineStart="1"><title>int:fbe8f485</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Navigation&amp;action=edit navigation]&lt;br&gt;
-[[MediaWiki_talk:Navigation|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:cf03cf2e&amp;action=edit ad831792]&lt;br&gt;
+[[MediaWiki_talk:cf03cf2e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Navigation
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Navigation</title></template>
+<template lineStart="1"><title>int:cf03cf2e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nbytes&amp;action=edit nbytes]&lt;br&gt;
-[[MediaWiki_talk:Nbytes|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b5b13ae8&amp;action=edit e75caf8a]&lt;br&gt;
+[[MediaWiki_talk:b5b13ae8|Talk]]
 &lt;/td&gt;&lt;td&gt;
 $1 bytes
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nbytes</title></template>
+<template lineStart="1"><title>int:b5b13ae8</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nchanges&amp;action=edit nchanges]&lt;br&gt;
-[[MediaWiki_talk:Nchanges|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bee99a5f&amp;action=edit 3d7d513a]&lt;br&gt;
+[[MediaWiki_talk:bee99a5f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 $1 changes
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nchanges</title></template>
+<template lineStart="1"><title>int:bee99a5f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Newarticle&amp;action=edit newarticle]&lt;br&gt;
-[[MediaWiki_talk:Newarticle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:654df301&amp;action=edit 06b1c460]&lt;br&gt;
+[[MediaWiki_talk:654df301|Talk]]
 &lt;/td&gt;&lt;td&gt;
 (New)
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Newarticle</title></template>
+<template lineStart="1"><title>int:654df301</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Newarticletext&amp;action=edit newarticletext]&lt;br&gt;
-[[MediaWiki_talk:Newarticletext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f1622d18&amp;action=edit b90d5eb0]&lt;br&gt;
+[[MediaWiki_talk:f1622d18|Talk]]
 &lt;/td&gt;&lt;td&gt;
 You&amp;#39;ve followed a link to a page that doesn&amp;#39;t exist yet.
 To create the page, start typing in the box below 
 (see the &amp;#91;&amp;#91;Wiktionary:Help&amp;#124;help page]] for more info).
 If you are here by mistake, just click your browser&amp;#39;s &amp;#39;&amp;#39;&amp;#39;back&amp;#39;&amp;#39;&amp;#39; button.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Newarticletext</title></template>
+<template lineStart="1"><title>int:f1622d18</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Newmessages&amp;action=edit newmessages]&lt;br&gt;
-[[MediaWiki_talk:Newmessages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:780ce01b&amp;action=edit 0b08523d]&lt;br&gt;
+[[MediaWiki_talk:780ce01b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 You have $1.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Newmessages</title></template>
+<template lineStart="1"><title>int:780ce01b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Newmessageslink&amp;action=edit newmessageslink]&lt;br&gt;
-[[MediaWiki_talk:Newmessageslink|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e09d8ffe&amp;action=edit 1f028736]&lt;br&gt;
+[[MediaWiki_talk:e09d8ffe|Talk]]
 &lt;/td&gt;&lt;td&gt;
 new messages
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Newmessageslink</title></template>
+<template lineStart="1"><title>int:e09d8ffe</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Newpage&amp;action=edit newpage]&lt;br&gt;
-[[MediaWiki_talk:Newpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ce656abe&amp;action=edit d68c7e3c]&lt;br&gt;
+[[MediaWiki_talk:ce656abe|Talk]]
 &lt;/td&gt;&lt;td&gt;
 New page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Newpage</title></template>
+<template lineStart="1"><title>int:ce656abe</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Newpageletter&amp;action=edit newpageletter]&lt;br&gt;
-[[MediaWiki_talk:Newpageletter|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b886426f&amp;action=edit d081a481]&lt;br&gt;
+[[MediaWiki_talk:b886426f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 N
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Newpageletter</title></template>
+<template lineStart="1"><title>int:b886426f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Newpages&amp;action=edit newpages]&lt;br&gt;
-[[MediaWiki_talk:Newpages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2adf1ae7&amp;action=edit eeadf049]&lt;br&gt;
+[[MediaWiki_talk:2adf1ae7|Talk]]
 &lt;/td&gt;&lt;td&gt;
 New pages
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Newpages</title></template>
+<template lineStart="1"><title>int:2adf1ae7</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Newpassword&amp;action=edit newpassword]&lt;br&gt;
-[[MediaWiki_talk:Newpassword|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:393f8bca&amp;action=edit f2c57870]&lt;br&gt;
+[[MediaWiki_talk:393f8bca|Talk]]
 &lt;/td&gt;&lt;td&gt;
 New password
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Newpassword</title></template>
+<template lineStart="1"><title>int:393f8bca</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Newtitle&amp;action=edit newtitle]&lt;br&gt;
-[[MediaWiki_talk:Newtitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:fa56bbd9&amp;action=edit a104cc01]&lt;br&gt;
+[[MediaWiki_talk:fa56bbd9|Talk]]
 &lt;/td&gt;&lt;td&gt;
 To new title
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Newtitle</title></template>
+<template lineStart="1"><title>int:fa56bbd9</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Newusersonly&amp;action=edit newusersonly]&lt;br&gt;
-[[MediaWiki_talk:Newusersonly|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2a57c83c&amp;action=edit 41af2ba5]&lt;br&gt;
+[[MediaWiki_talk:2a57c83c|Talk]]
 &lt;/td&gt;&lt;td&gt;
  (new users only)
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Newusersonly</title></template>
+<template lineStart="1"><title>int:2a57c83c</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Next&amp;action=edit next]&lt;br&gt;
-[[MediaWiki_talk:Next|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bc981983&amp;action=edit edee9402]&lt;br&gt;
+[[MediaWiki_talk:bc981983|Talk]]
 &lt;/td&gt;&lt;td&gt;
 next
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Next</title></template>
+<template lineStart="1"><title>int:bc981983</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nextn&amp;action=edit nextn]&lt;br&gt;
-[[MediaWiki_talk:Nextn|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5e067f51&amp;action=edit e0bd4ddb]&lt;br&gt;
+[[MediaWiki_talk:5e067f51|Talk]]
 &lt;/td&gt;&lt;td&gt;
 next $1
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nextn</title></template>
+<template lineStart="1"><title>int:5e067f51</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nlinks&amp;action=edit nlinks]&lt;br&gt;
-[[MediaWiki_talk:Nlinks|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:61c11c45&amp;action=edit 2b45e9af]&lt;br&gt;
+[[MediaWiki_talk:61c11c45|Talk]]
 &lt;/td&gt;&lt;td&gt;
 $1 links
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nlinks</title></template>
+<template lineStart="1"><title>int:61c11c45</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Noaffirmation&amp;action=edit noaffirmation]&lt;br&gt;
-[[MediaWiki_talk:Noaffirmation|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e307257f&amp;action=edit f6f5e28d]&lt;br&gt;
+[[MediaWiki_talk:e307257f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 You must affirm that your upload does not violate
 any copyrights.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Noaffirmation</title></template>
+<template lineStart="1"><title>int:e307257f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Noarticletext&amp;action=edit noarticletext]&lt;br&gt;
-[[MediaWiki_talk:Noarticletext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:335462de&amp;action=edit 2658d031]&lt;br&gt;
+[[MediaWiki_talk:335462de|Talk]]
 &lt;/td&gt;&lt;td&gt;
 (There is currently no text in this page)
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Noarticletext</title></template>
+<template lineStart="1"><title>int:335462de</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Noblockreason&amp;action=edit noblockreason]&lt;br&gt;
-[[MediaWiki_talk:Noblockreason|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:46716843&amp;action=edit 68326cbc]&lt;br&gt;
+[[MediaWiki_talk:46716843|Talk]]
 &lt;/td&gt;&lt;td&gt;
 You must supply a reason for the block.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Noblockreason</title></template>
+<template lineStart="1"><title>int:46716843</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Noconnect&amp;action=edit noconnect]&lt;br&gt;
-[[MediaWiki_talk:Noconnect|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8fa787f6&amp;action=edit 5d122d51]&lt;br&gt;
+[[MediaWiki_talk:8fa787f6|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Sorry! The wiki is experiencing some technical difficulties, and cannot contact the database server.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Noconnect</title></template>
+<template lineStart="1"><title>int:8fa787f6</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nocontribs&amp;action=edit nocontribs]&lt;br&gt;
-[[MediaWiki_talk:Nocontribs|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f60d1a6d&amp;action=edit b88f305b]&lt;br&gt;
+[[MediaWiki_talk:f60d1a6d|Talk]]
 &lt;/td&gt;&lt;td&gt;
 No changes were found matching these criteria.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nocontribs</title></template>
+<template lineStart="1"><title>int:f60d1a6d</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nocookieslogin&amp;action=edit nocookieslogin]&lt;br&gt;
-[[MediaWiki_talk:Nocookieslogin|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9d931b8c&amp;action=edit de736886]&lt;br&gt;
+[[MediaWiki_talk:9d931b8c|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Wiktionary uses cookies to log in users. You have cookies disabled. Please enable them and try again.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nocookieslogin</title></template>
+<template lineStart="1"><title>int:9d931b8c</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nocookiesnew&amp;action=edit nocookiesnew]&lt;br&gt;
-[[MediaWiki_talk:Nocookiesnew|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e4a19fc8&amp;action=edit 71c8d192]&lt;br&gt;
+[[MediaWiki_talk:e4a19fc8|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The user account was created, but you are not logged in. Wiktionary uses cookies to log in users. You have cookies disabled. Please enable them, then log in with your new username and password.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nocookiesnew</title></template>
+<template lineStart="1"><title>int:e4a19fc8</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nocreativecommons&amp;action=edit nocreativecommons]&lt;br&gt;
-[[MediaWiki_talk:Nocreativecommons|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6fbb6d3a&amp;action=edit cc61a719]&lt;br&gt;
+[[MediaWiki_talk:6fbb6d3a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Creative Commons RDF metadata disabled for this server.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nocreativecommons</title></template>
+<template lineStart="1"><title>int:6fbb6d3a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nodb&amp;action=edit nodb]&lt;br&gt;
-[[MediaWiki_talk:Nodb|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e0dd32fc&amp;action=edit 5ed4cf16]&lt;br&gt;
+[[MediaWiki_talk:e0dd32fc|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Could not select database $1
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nodb</title></template>
+<template lineStart="1"><title>int:e0dd32fc</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nodublincore&amp;action=edit nodublincore]&lt;br&gt;
-[[MediaWiki_talk:Nodublincore|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:067ee3e9&amp;action=edit 3a58322b]&lt;br&gt;
+[[MediaWiki_talk:067ee3e9|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Dublin Core RDF metadata disabled for this server.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nodublincore</title></template>
+<template lineStart="1"><title>int:067ee3e9</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Noemail&amp;action=edit noemail]&lt;br&gt;
-[[MediaWiki_talk:Noemail|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:325a917f&amp;action=edit 4c8d93d2]&lt;br&gt;
+[[MediaWiki_talk:325a917f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 There is no e-mail address recorded for user &amp;quot;$1&amp;quot;.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Noemail</title></template>
+<template lineStart="1"><title>int:325a917f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Noemailtext&amp;action=edit noemailtext]&lt;br&gt;
-[[MediaWiki_talk:Noemailtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:deb172c1&amp;action=edit f8bace82]&lt;br&gt;
+[[MediaWiki_talk:deb172c1|Talk]]
 &lt;/td&gt;&lt;td&gt;
 This user has not specified a valid e-mail address,
 or has chosen not to receive e-mail from other users.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Noemailtext</title></template>
+<template lineStart="1"><title>int:deb172c1</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Noemailtitle&amp;action=edit noemailtitle]&lt;br&gt;
-[[MediaWiki_talk:Noemailtitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6bd33d89&amp;action=edit a158d61f]&lt;br&gt;
+[[MediaWiki_talk:6bd33d89|Talk]]
 &lt;/td&gt;&lt;td&gt;
 No e-mail address
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Noemailtitle</title></template>
+<template lineStart="1"><title>int:6bd33d89</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nogomatch&amp;action=edit nogomatch]&lt;br&gt;
-[[MediaWiki_talk:Nogomatch|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e68327b0&amp;action=edit 36552107]&lt;br&gt;
+[[MediaWiki_talk:e68327b0|Talk]]
 &lt;/td&gt;&lt;td&gt;
 No page with this exact title exists, trying full text search.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nogomatch</title></template>
+<template lineStart="1"><title>int:e68327b0</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nohistory&amp;action=edit nohistory]&lt;br&gt;
-[[MediaWiki_talk:Nohistory|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:90c1625a&amp;action=edit 8d231ce4]&lt;br&gt;
+[[MediaWiki_talk:90c1625a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 There is no edit history for this page.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nohistory</title></template>
+<template lineStart="1"><title>int:90c1625a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nolinkshere&amp;action=edit nolinkshere]&lt;br&gt;
-[[MediaWiki_talk:Nolinkshere|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:13e13fa2&amp;action=edit e63b6d19]&lt;br&gt;
+[[MediaWiki_talk:13e13fa2|Talk]]
 &lt;/td&gt;&lt;td&gt;
 No pages link to here.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nolinkshere</title></template>
+<template lineStart="1"><title>int:13e13fa2</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nolinkstoimage&amp;action=edit nolinkstoimage]&lt;br&gt;
-[[MediaWiki_talk:Nolinkstoimage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5c3c99a8&amp;action=edit 1e827a30]&lt;br&gt;
+[[MediaWiki_talk:5c3c99a8|Talk]]
 &lt;/td&gt;&lt;td&gt;
 There are no pages that link to this image.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nolinkstoimage</title></template>
+<template lineStart="1"><title>int:5c3c99a8</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Noname&amp;action=edit noname]&lt;br&gt;
-[[MediaWiki_talk:Noname|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d9ff75a4&amp;action=edit e21bfc14]&lt;br&gt;
+[[MediaWiki_talk:d9ff75a4|Talk]]
 &lt;/td&gt;&lt;td&gt;
 You have not specified a valid user name.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Noname</title></template>
+<template lineStart="1"><title>int:d9ff75a4</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nonefound&amp;action=edit nonefound]&lt;br&gt;
-[[MediaWiki_talk:Nonefound|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f7d27b0c&amp;action=edit 5db654d1]&lt;br&gt;
+[[MediaWiki_talk:f7d27b0c|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;lt;strong&amp;gt;Note&amp;lt;/strong&amp;gt;: unsuccessful searches are
 often caused by searching for common words like &amp;quot;have&amp;quot; and &amp;quot;from&amp;quot;,
 which are not indexed, or by specifying more than one search term (only pages
 containing all of the search terms will appear in the result).
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nonefound</title></template>
+<template lineStart="1"><title>int:f7d27b0c</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nospecialpagetext&amp;action=edit nospecialpagetext]&lt;br&gt;
-[[MediaWiki_talk:Nospecialpagetext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d5f565dd&amp;action=edit aaaac807]&lt;br&gt;
+[[MediaWiki_talk:d5f565dd|Talk]]
 &lt;/td&gt;&lt;td&gt;
 You have requested a special page that is not
 recognized by the wiki.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nospecialpagetext</title></template>
+<template lineStart="1"><title>int:d5f565dd</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nosuchaction&amp;action=edit nosuchaction]&lt;br&gt;
-[[MediaWiki_talk:Nosuchaction|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:247c2db2&amp;action=edit 273b8154]&lt;br&gt;
+[[MediaWiki_talk:247c2db2|Talk]]
 &lt;/td&gt;&lt;td&gt;
 No such action
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nosuchaction</title></template>
+<template lineStart="1"><title>int:247c2db2</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nosuchactiontext&amp;action=edit nosuchactiontext]&lt;br&gt;
-[[MediaWiki_talk:Nosuchactiontext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0e2f696c&amp;action=edit e8773306]&lt;br&gt;
+[[MediaWiki_talk:0e2f696c|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The action specified by the URL is not
 recognized by the wiki
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nosuchactiontext</title></template>
+<template lineStart="1"><title>int:0e2f696c</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nosuchspecialpage&amp;action=edit nosuchspecialpage]&lt;br&gt;
-[[MediaWiki_talk:Nosuchspecialpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bd0d7ac6&amp;action=edit b98c7c10]&lt;br&gt;
+[[MediaWiki_talk:bd0d7ac6|Talk]]
 &lt;/td&gt;&lt;td&gt;
 No such special page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nosuchspecialpage</title></template>
+<template lineStart="1"><title>int:bd0d7ac6</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nosuchuser&amp;action=edit nosuchuser]&lt;br&gt;
-[[MediaWiki_talk:Nosuchuser|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:22012b0a&amp;action=edit f542883d]&lt;br&gt;
+[[MediaWiki_talk:22012b0a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 There is no user by the name &amp;quot;$1&amp;quot;.
 Check your spelling, or use the form below to create a new user account.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nosuchuser</title></template>
+<template lineStart="1"><title>int:22012b0a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Notacceptable&amp;action=edit notacceptable]&lt;br&gt;
-[[MediaWiki_talk:Notacceptable|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:982342c7&amp;action=edit f4909824]&lt;br&gt;
+[[MediaWiki_talk:982342c7|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The wiki server can&amp;#39;t provide data in a format your client can read.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Notacceptable</title></template>
+<template lineStart="1"><title>int:982342c7</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Notanarticle&amp;action=edit notanarticle]&lt;br&gt;
-[[MediaWiki_talk:Notanarticle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:272cfb97&amp;action=edit cdb5d3a9]&lt;br&gt;
+[[MediaWiki_talk:272cfb97|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Not a content page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Notanarticle</title></template>
+<template lineStart="1"><title>int:272cfb97</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Notargettext&amp;action=edit notargettext]&lt;br&gt;
-[[MediaWiki_talk:Notargettext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8ccaecd6&amp;action=edit 42534913]&lt;br&gt;
+[[MediaWiki_talk:8ccaecd6|Talk]]
 &lt;/td&gt;&lt;td&gt;
 You have not specified a target page or user
 to perform this function on.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Notargettext</title></template>
+<template lineStart="1"><title>int:8ccaecd6</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Notargettitle&amp;action=edit notargettitle]&lt;br&gt;
-[[MediaWiki_talk:Notargettitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:4532ec15&amp;action=edit dff62a20]&lt;br&gt;
+[[MediaWiki_talk:4532ec15|Talk]]
 &lt;/td&gt;&lt;td&gt;
 No target
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Notargettitle</title></template>
+<template lineStart="1"><title>int:4532ec15</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Note&amp;action=edit note]&lt;br&gt;
-[[MediaWiki_talk:Note|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2c924e30&amp;action=edit c51048b7]&lt;br&gt;
+[[MediaWiki_talk:2c924e30|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;lt;strong&amp;gt;Note:&amp;lt;/strong&amp;gt; 
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Note</title></template>
+<template lineStart="1"><title>int:2c924e30</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Notextmatches&amp;action=edit notextmatches]&lt;br&gt;
-[[MediaWiki_talk:Notextmatches|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:51c2043b&amp;action=edit 879701e9]&lt;br&gt;
+[[MediaWiki_talk:51c2043b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 No page text matches
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Notextmatches</title></template>
+<template lineStart="1"><title>int:51c2043b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Notitlematches&amp;action=edit notitlematches]&lt;br&gt;
-[[MediaWiki_talk:Notitlematches|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6f3befe0&amp;action=edit 5a56ca1b]&lt;br&gt;
+[[MediaWiki_talk:6f3befe0|Talk]]
 &lt;/td&gt;&lt;td&gt;
 No page title matches
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Notitlematches</title></template>
+<template lineStart="1"><title>int:6f3befe0</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Notloggedin&amp;action=edit notloggedin]&lt;br&gt;
-[[MediaWiki_talk:Notloggedin|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:219a05e4&amp;action=edit 02bcadd3]&lt;br&gt;
+[[MediaWiki_talk:219a05e4|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Not logged in
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Notloggedin</title></template>
+<template lineStart="1"><title>int:219a05e4</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nowatchlist&amp;action=edit nowatchlist]&lt;br&gt;
-[[MediaWiki_talk:Nowatchlist|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:28b54fd2&amp;action=edit ba736b7f]&lt;br&gt;
+[[MediaWiki_talk:28b54fd2|Talk]]
 &lt;/td&gt;&lt;td&gt;
 You have no items on your watchlist.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nowatchlist</title></template>
+<template lineStart="1"><title>int:28b54fd2</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nowiki_sample&amp;action=edit nowiki_sample]&lt;br&gt;
-[[MediaWiki_talk:Nowiki_sample|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a78319d8&amp;action=edit 2398990d]&lt;br&gt;
+[[MediaWiki_talk:a78319d8|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Insert non-formatted text here
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nowiki_sample</title></template>
+<template lineStart="1"><title>int:a78319d8</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nowiki_tip&amp;action=edit nowiki_tip]&lt;br&gt;
-[[MediaWiki_talk:Nowiki_tip|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:20d39be1&amp;action=edit cf8602ad]&lt;br&gt;
+[[MediaWiki_talk:20d39be1|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Ignore wiki formatting
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nowiki_tip</title></template>
+<template lineStart="1"><title>int:20d39be1</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nstab-category&amp;action=edit nstab-category]&lt;br&gt;
-[[MediaWiki_talk:Nstab-category|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:dee84866&amp;action=edit 7a6336e0]&lt;br&gt;
+[[MediaWiki_talk:dee84866|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Category
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nstab-category</title></template>
+<template lineStart="1"><title>int:dee84866</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nstab-help&amp;action=edit nstab-help]&lt;br&gt;
-[[MediaWiki_talk:Nstab-help|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a3e0d95e&amp;action=edit 16b32116]&lt;br&gt;
+[[MediaWiki_talk:a3e0d95e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Help
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nstab-help</title></template>
+<template lineStart="1"><title>int:a3e0d95e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nstab-image&amp;action=edit nstab-image]&lt;br&gt;
-[[MediaWiki_talk:Nstab-image|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:911dff1f&amp;action=edit 081e450a]&lt;br&gt;
+[[MediaWiki_talk:911dff1f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Image
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nstab-image</title></template>
+<template lineStart="1"><title>int:911dff1f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nstab-main&amp;action=edit nstab-main]&lt;br&gt;
-[[MediaWiki_talk:Nstab-main|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:931f9736&amp;action=edit 5b9c503a]&lt;br&gt;
+[[MediaWiki_talk:931f9736|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Article
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nstab-main</title></template>
+<template lineStart="1"><title>int:931f9736</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nstab-media&amp;action=edit nstab-media]&lt;br&gt;
-[[MediaWiki_talk:Nstab-media|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6da2f6ae&amp;action=edit 86e5f16d]&lt;br&gt;
+[[MediaWiki_talk:6da2f6ae|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Media
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nstab-media</title></template>
+<template lineStart="1"><title>int:6da2f6ae</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nstab-mediawiki&amp;action=edit nstab-mediawiki]&lt;br&gt;
-[[MediaWiki_talk:Nstab-mediawiki|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:53504d48&amp;action=edit 368d5d22]&lt;br&gt;
+[[MediaWiki_talk:53504d48|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Message
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nstab-mediawiki</title></template>
+<template lineStart="1"><title>int:53504d48</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nstab-special&amp;action=edit nstab-special]&lt;br&gt;
-[[MediaWiki_talk:Nstab-special|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:14d4daef&amp;action=edit 34a2cba3]&lt;br&gt;
+[[MediaWiki_talk:14d4daef|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Special
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nstab-special</title></template>
+<template lineStart="1"><title>int:14d4daef</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nstab-template&amp;action=edit nstab-template]&lt;br&gt;
-[[MediaWiki_talk:Nstab-template|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ed2e8b27&amp;action=edit a1024e18]&lt;br&gt;
+[[MediaWiki_talk:ed2e8b27|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Template
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nstab-template</title></template>
+<template lineStart="1"><title>int:ed2e8b27</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nstab-user&amp;action=edit nstab-user]&lt;br&gt;
-[[MediaWiki_talk:Nstab-user|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:31ebc74b&amp;action=edit 313f5ee2]&lt;br&gt;
+[[MediaWiki_talk:31ebc74b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 User page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nstab-user</title></template>
+<template lineStart="1"><title>int:31ebc74b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nstab-wp&amp;action=edit nstab-wp]&lt;br&gt;
-[[MediaWiki_talk:Nstab-wp|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a8d28daa&amp;action=edit 0611a13e]&lt;br&gt;
+[[MediaWiki_talk:a8d28daa|Talk]]
 &lt;/td&gt;&lt;td&gt;
 About
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Nstab-wp</title></template>
+<template lineStart="1"><title>int:a8d28daa</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ok&amp;action=edit ok]&lt;br&gt;
-[[MediaWiki_talk:Ok|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b0a98216&amp;action=edit 7a85f476]&lt;br&gt;
+[[MediaWiki_talk:b0a98216|Talk]]
 &lt;/td&gt;&lt;td&gt;
 OK
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Ok</title></template>
+<template lineStart="1"><title>int:b0a98216</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Oldpassword&amp;action=edit oldpassword]&lt;br&gt;
-[[MediaWiki_talk:Oldpassword|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e081cf87&amp;action=edit 23ace733]&lt;br&gt;
+[[MediaWiki_talk:e081cf87|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Old password
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Oldpassword</title></template>
+<template lineStart="1"><title>int:e081cf87</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Orig&amp;action=edit orig]&lt;br&gt;
-[[MediaWiki_talk:Orig|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:db6998a7&amp;action=edit dc894908]&lt;br&gt;
+[[MediaWiki_talk:db6998a7|Talk]]
 &lt;/td&gt;&lt;td&gt;
 orig
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Orig</title></template>
+<template lineStart="1"><title>int:db6998a7</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Orphans&amp;action=edit orphans]&lt;br&gt;
-[[MediaWiki_talk:Orphans|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:cb5dc4a4&amp;action=edit 89f56e51]&lt;br&gt;
+[[MediaWiki_talk:cb5dc4a4|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Orphaned pages
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Orphans</title></template>
+<template lineStart="1"><title>int:cb5dc4a4</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Othercontribs&amp;action=edit othercontribs]&lt;br&gt;
-[[MediaWiki_talk:Othercontribs|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:51caf0b1&amp;action=edit e6287b24]&lt;br&gt;
+[[MediaWiki_talk:51caf0b1|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Based on work by $1.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Othercontribs</title></template>
+<template lineStart="1"><title>int:51caf0b1</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Otherlanguages&amp;action=edit otherlanguages]&lt;br&gt;
-[[MediaWiki_talk:Otherlanguages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:838fda53&amp;action=edit f953cc13]&lt;br&gt;
+[[MediaWiki_talk:838fda53|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Other languages
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Otherlanguages</title></template>
+<template lineStart="1"><title>int:838fda53</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Pagemovedsub&amp;action=edit pagemovedsub]&lt;br&gt;
-[[MediaWiki_talk:Pagemovedsub|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8b80dc12&amp;action=edit 06b2b863]&lt;br&gt;
+[[MediaWiki_talk:8b80dc12|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Move succeeded
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Pagemovedsub</title></template>
+<template lineStart="1"><title>int:8b80dc12</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Pagemovedtext&amp;action=edit pagemovedtext]&lt;br&gt;
-[[MediaWiki_talk:Pagemovedtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:67c1c9b9&amp;action=edit 6df06888]&lt;br&gt;
+[[MediaWiki_talk:67c1c9b9|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Page &amp;quot;&amp;#91;&amp;#91;$1]]&amp;quot; moved to &amp;quot;&amp;#91;&amp;#91;$2]]&amp;quot;.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Pagemovedtext</title></template>
+<template lineStart="1"><title>int:67c1c9b9</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Pagetitle&amp;action=edit pagetitle]&lt;br&gt;
-[[MediaWiki_talk:Pagetitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0488d9f9&amp;action=edit ca0a1736]&lt;br&gt;
+[[MediaWiki_talk:0488d9f9|Talk]]
 &lt;/td&gt;&lt;td&gt;
 $1 - Wiktionary
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Pagetitle</title></template>
+<template lineStart="1"><title>int:0488d9f9</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Passwordremindertext&amp;action=edit passwordremindertext]&lt;br&gt;
-[[MediaWiki_talk:Passwordremindertext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:724220c3&amp;action=edit 00c46482]&lt;br&gt;
+[[MediaWiki_talk:724220c3|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Someone (probably you, from IP address $1)
 requested that we send you a new Wiktionary login password.
 The password for user &amp;quot;$2&amp;quot; is now &amp;quot;$3&amp;quot;.
 You should log in and change your password now.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Passwordremindertext</title></template>
+<template lineStart="1"><title>int:724220c3</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Passwordremindertitle&amp;action=edit passwordremindertitle]&lt;br&gt;
-[[MediaWiki_talk:Passwordremindertitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:67675177&amp;action=edit 9943fd1d]&lt;br&gt;
+[[MediaWiki_talk:67675177|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Password reminder from Wiktionary
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Passwordremindertitle</title></template>
+<template lineStart="1"><title>int:67675177</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Passwordsent&amp;action=edit passwordsent]&lt;br&gt;
-[[MediaWiki_talk:Passwordsent|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:feea022e&amp;action=edit 52c6d21a]&lt;br&gt;
+[[MediaWiki_talk:feea022e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 A new password has been sent to the e-mail address
 registered for &amp;quot;$1&amp;quot;.
 Please log in again after you receive it.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Passwordsent</title></template>
+<template lineStart="1"><title>int:feea022e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Perfcached&amp;action=edit perfcached]&lt;br&gt;
-[[MediaWiki_talk:Perfcached|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d89b33a4&amp;action=edit 6148b748]&lt;br&gt;
+[[MediaWiki_talk:d89b33a4|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The following data is cached and may not be completely up to date:
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Perfcached</title></template>
+<template lineStart="1"><title>int:d89b33a4</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Perfdisabled&amp;action=edit perfdisabled]&lt;br&gt;
-[[MediaWiki_talk:Perfdisabled|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7c3d6ba1&amp;action=edit edb94b6f]&lt;br&gt;
+[[MediaWiki_talk:7c3d6ba1|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Sorry! This feature has been temporarily disabled
 because it slows the database down to the point that no one can use
 the wiki.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Perfdisabled</title></template>
+<template lineStart="1"><title>int:7c3d6ba1</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Perfdisabledsub&amp;action=edit perfdisabledsub]&lt;br&gt;
-[[MediaWiki_talk:Perfdisabledsub|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ba8fb63e&amp;action=edit 7971fbbc]&lt;br&gt;
+[[MediaWiki_talk:ba8fb63e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Here&amp;#39;s a saved copy from $1:
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Perfdisabledsub</title></template>
+<template lineStart="1"><title>int:ba8fb63e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Personaltools&amp;action=edit personaltools]&lt;br&gt;
-[[MediaWiki_talk:Personaltools|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1f9d5196&amp;action=edit faae8244]&lt;br&gt;
+[[MediaWiki_talk:1f9d5196|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Personal tools
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Personaltools</title></template>
+<template lineStart="1"><title>int:1f9d5196</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Portal&amp;action=edit portal]&lt;br&gt;
-[[MediaWiki_talk:Portal|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b55223c7&amp;action=edit 23f3fd77]&lt;br&gt;
+[[MediaWiki_talk:b55223c7|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Community portal
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Portal</title></template>
+<template lineStart="1"><title>int:b55223c7</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Portal-url&amp;action=edit portal-url]&lt;br&gt;
-[[MediaWiki_talk:Portal-url|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b6100630&amp;action=edit d69501d7]&lt;br&gt;
+[[MediaWiki_talk:b6100630|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Wiktionary:Community Portal
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Portal-url</title></template>
+<template lineStart="1"><title>int:b6100630</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Postcomment&amp;action=edit postcomment]&lt;br&gt;
-[[MediaWiki_talk:Postcomment|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:83c6e160&amp;action=edit 7ce546d1]&lt;br&gt;
+[[MediaWiki_talk:83c6e160|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Post a comment
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Postcomment</title></template>
+<template lineStart="1"><title>int:83c6e160</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Poweredby&amp;action=edit poweredby]&lt;br&gt;
-[[MediaWiki_talk:Poweredby|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f715eef0&amp;action=edit 03d7f055]&lt;br&gt;
+[[MediaWiki_talk:f715eef0|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Wiktionary is powered by &amp;#91;http&amp;#58;//www.mediawiki.org/ MediaWiki], an open source wiki engine.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Poweredby</title></template>
+<template lineStart="1"><title>int:f715eef0</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Powersearch&amp;action=edit powersearch]&lt;br&gt;
-[[MediaWiki_talk:Powersearch|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5f86f380&amp;action=edit fe586261]&lt;br&gt;
+[[MediaWiki_talk:5f86f380|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Search
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Powersearch</title></template>
+<template lineStart="1"><title>int:5f86f380</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Powersearchtext&amp;action=edit powersearchtext]&lt;br&gt;
-[[MediaWiki_talk:Powersearchtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:02360031&amp;action=edit 7c50040c]&lt;br&gt;
+[[MediaWiki_talk:02360031|Talk]]
 &lt;/td&gt;&lt;td&gt;
 
 Search in namespaces :&amp;lt;br /&amp;gt;
 $1&amp;lt;br /&amp;gt;
 $2 List redirects &amp;amp;nbsp; Search for $3 $9
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Powersearchtext</title></template>
+<template lineStart="1"><title>int:02360031</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Preferences&amp;action=edit preferences]&lt;br&gt;
-[[MediaWiki_talk:Preferences|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9dfd349e&amp;action=edit dcedb31d]&lt;br&gt;
+[[MediaWiki_talk:9dfd349e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Preferences
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Preferences</title></template>
+<template lineStart="1"><title>int:9dfd349e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Prefs-help-userdata&amp;action=edit prefs-help-userdata]&lt;br&gt;
-[[MediaWiki_talk:Prefs-help-userdata|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6b97fde2&amp;action=edit 4d381b11]&lt;br&gt;
+[[MediaWiki_talk:6b97fde2|Talk]]
 &lt;/td&gt;&lt;td&gt;
 * &amp;lt;strong&amp;gt;Real name&amp;lt;/strong&amp;gt; (optional): if you choose to provide it this will be used for giving you attribution for your work.&amp;lt;br/&amp;gt;
 * &amp;lt;strong&amp;gt;Email&amp;lt;/strong&amp;gt; (optional): Enables people to contact you through the website without you having to reveal your 
 email address to them, and it can be used to send you a new password if you forget it.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Prefs-help-userdata</title></template>
+<template lineStart="1"><title>int:6b97fde2</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Prefs-misc&amp;action=edit prefs-misc]&lt;br&gt;
-[[MediaWiki_talk:Prefs-misc|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:30cafb20&amp;action=edit 4413aea7]&lt;br&gt;
+[[MediaWiki_talk:30cafb20|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Misc settings
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Prefs-misc</title></template>
+<template lineStart="1"><title>int:30cafb20</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Prefs-personal&amp;action=edit prefs-personal]&lt;br&gt;
-[[MediaWiki_talk:Prefs-personal|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:58796ee5&amp;action=edit 79de347d]&lt;br&gt;
+[[MediaWiki_talk:58796ee5|Talk]]
 &lt;/td&gt;&lt;td&gt;
 User data
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Prefs-personal</title></template>
+<template lineStart="1"><title>int:58796ee5</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Prefs-rc&amp;action=edit prefs-rc]&lt;br&gt;
-[[MediaWiki_talk:Prefs-rc|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e055ac90&amp;action=edit b8a6f738]&lt;br&gt;
+[[MediaWiki_talk:e055ac90|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Recent changes and stub display
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Prefs-rc</title></template>
+<template lineStart="1"><title>int:e055ac90</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Prefslogintext&amp;action=edit prefslogintext]&lt;br&gt;
-[[MediaWiki_talk:Prefslogintext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0603b5a9&amp;action=edit 3b8a7d0e]&lt;br&gt;
+[[MediaWiki_talk:0603b5a9|Talk]]
 &lt;/td&gt;&lt;td&gt;
 You are logged in as &amp;quot;$1&amp;quot;.
 Your internal ID number is $2.
 
 See &amp;#91;&amp;#91;Wiktionary:User preferences help]] for help deciphering the options.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Prefslogintext</title></template>
+<template lineStart="1"><title>int:0603b5a9</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Prefsnologin&amp;action=edit prefsnologin]&lt;br&gt;
-[[MediaWiki_talk:Prefsnologin|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2366fb91&amp;action=edit f2475be5]&lt;br&gt;
+[[MediaWiki_talk:2366fb91|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Not logged in
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Prefsnologin</title></template>
+<template lineStart="1"><title>int:2366fb91</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Prefsnologintext&amp;action=edit prefsnologintext]&lt;br&gt;
-[[MediaWiki_talk:Prefsnologintext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0389a76a&amp;action=edit 69cb02c9]&lt;br&gt;
+[[MediaWiki_talk:0389a76a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 You must be &amp;lt;a href=&amp;quot;/wiki/Special:Userlogin&amp;quot;&amp;gt;logged in&amp;lt;/a&amp;gt;
 to set user preferences.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Prefsnologintext</title></template>
+<template lineStart="1"><title>int:0389a76a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Prefsreset&amp;action=edit prefsreset]&lt;br&gt;
-[[MediaWiki_talk:Prefsreset|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e6216751&amp;action=edit 2b688ff4]&lt;br&gt;
+[[MediaWiki_talk:e6216751|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Preferences have been reset from storage.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Prefsreset</title></template>
+<template lineStart="1"><title>int:e6216751</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Preview&amp;action=edit preview]&lt;br&gt;
-[[MediaWiki_talk:Preview|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f1fbb2b4&amp;action=edit 1aa787fe]&lt;br&gt;
+[[MediaWiki_talk:f1fbb2b4|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Preview
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Preview</title></template>
+<template lineStart="1"><title>int:f1fbb2b4</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Previewconflict&amp;action=edit previewconflict]&lt;br&gt;
-[[MediaWiki_talk:Previewconflict|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7357cd58&amp;action=edit 353820b9]&lt;br&gt;
+[[MediaWiki_talk:7357cd58|Talk]]
 &lt;/td&gt;&lt;td&gt;
 This preview reflects the text in the upper
 text editing area as it will appear if you choose to save.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Previewconflict</title></template>
+<template lineStart="1"><title>int:7357cd58</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Previewnote&amp;action=edit previewnote]&lt;br&gt;
-[[MediaWiki_talk:Previewnote|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f0bd6ebe&amp;action=edit 2281018c]&lt;br&gt;
+[[MediaWiki_talk:f0bd6ebe|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Remember that this is only a preview, and has not yet been saved!
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Previewnote</title></template>
+<template lineStart="1"><title>int:f0bd6ebe</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Prevn&amp;action=edit prevn]&lt;br&gt;
-[[MediaWiki_talk:Prevn|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c7db0778&amp;action=edit 8b3bb669]&lt;br&gt;
+[[MediaWiki_talk:c7db0778|Talk]]
 &lt;/td&gt;&lt;td&gt;
 previous $1
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Prevn</title></template>
+<template lineStart="1"><title>int:c7db0778</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Printableversion&amp;action=edit printableversion]&lt;br&gt;
-[[MediaWiki_talk:Printableversion|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0a67b813&amp;action=edit e1a919ba]&lt;br&gt;
+[[MediaWiki_talk:0a67b813|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Printable version
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Printableversion</title></template>
+<template lineStart="1"><title>int:0a67b813</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Printsubtitle&amp;action=edit printsubtitle]&lt;br&gt;
-[[MediaWiki_talk:Printsubtitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:dc3b6f21&amp;action=edit d4d3cccd]&lt;br&gt;
+[[MediaWiki_talk:dc3b6f21|Talk]]
 &lt;/td&gt;&lt;td&gt;
 (From http&amp;#58;//tl.wiktionary.org)
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Printsubtitle</title></template>
+<template lineStart="1"><title>int:dc3b6f21</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protect&amp;action=edit protect]&lt;br&gt;
-[[MediaWiki_talk:Protect|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:016ac2dc&amp;action=edit 145969f1]&lt;br&gt;
+[[MediaWiki_talk:016ac2dc|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Protect
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Protect</title></template>
+<template lineStart="1"><title>int:016ac2dc</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectcomment&amp;action=edit protectcomment]&lt;br&gt;
-[[MediaWiki_talk:Protectcomment|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:073135b4&amp;action=edit bf7f9e49]&lt;br&gt;
+[[MediaWiki_talk:073135b4|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Reason for protecting
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Protectcomment</title></template>
+<template lineStart="1"><title>int:073135b4</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectedarticle&amp;action=edit protectedarticle]&lt;br&gt;
-[[MediaWiki_talk:Protectedarticle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3ee691ce&amp;action=edit 1f880b64]&lt;br&gt;
+[[MediaWiki_talk:3ee691ce|Talk]]
 &lt;/td&gt;&lt;td&gt;
 protected &amp;#91;&amp;#91;$1]]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Protectedarticle</title></template>
+<template lineStart="1"><title>int:3ee691ce</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectedpage&amp;action=edit protectedpage]&lt;br&gt;
-[[MediaWiki_talk:Protectedpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a44b308c&amp;action=edit 7afa7fea]&lt;br&gt;
+[[MediaWiki_talk:a44b308c|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Protected page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Protectedpage</title></template>
+<template lineStart="1"><title>int:a44b308c</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectedpagewarning&amp;action=edit protectedpagewarning]&lt;br&gt;
-[[MediaWiki_talk:Protectedpagewarning|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0017a4f5&amp;action=edit 962032da]&lt;br&gt;
+[[MediaWiki_talk:0017a4f5|Talk]]
 &lt;/td&gt;&lt;td&gt;
 WARNING:  This page has been locked so that only
 users with sysop privileges can edit it. Be sure you are following the
 &amp;lt;a href=&amp;#39;/w/wiki.phtml/Wiktionary:Protected_page_guidelines&amp;#39;&amp;gt;protected page
 guidelines&amp;lt;/a&amp;gt;.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Protectedpagewarning</title></template>
+<template lineStart="1"><title>int:0017a4f5</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectedtext&amp;action=edit protectedtext]&lt;br&gt;
-[[MediaWiki_talk:Protectedtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:cf2a914e&amp;action=edit 561f00bf]&lt;br&gt;
+[[MediaWiki_talk:cf2a914e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 This page has been locked to prevent editing; there are
 a number of reasons why this may be so, please see
@@ -3516,222 +3516,222 @@ a number of reasons why this may be so, please see
 
 You can view and copy the source of this page:
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Protectedtext</title></template>
+<template lineStart="1"><title>int:cf2a914e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectlogpage&amp;action=edit protectlogpage]&lt;br&gt;
-[[MediaWiki_talk:Protectlogpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bb915483&amp;action=edit 85888484]&lt;br&gt;
+[[MediaWiki_talk:bb915483|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Protection_log
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Protectlogpage</title></template>
+<template lineStart="1"><title>int:bb915483</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectlogtext&amp;action=edit protectlogtext]&lt;br&gt;
-[[MediaWiki_talk:Protectlogtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:061ec7fa&amp;action=edit 197cfa0d]&lt;br&gt;
+[[MediaWiki_talk:061ec7fa|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Below is a list of page locks/unlocks.
 See &amp;#91;&amp;#91;Wiktionary:Protected page]] for more information.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Protectlogtext</title></template>
+<template lineStart="1"><title>int:061ec7fa</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectpage&amp;action=edit protectpage]&lt;br&gt;
-[[MediaWiki_talk:Protectpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d2ae1354&amp;action=edit 33c2c02c]&lt;br&gt;
+[[MediaWiki_talk:d2ae1354|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Protect page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Protectpage</title></template>
+<template lineStart="1"><title>int:d2ae1354</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectreason&amp;action=edit protectreason]&lt;br&gt;
-[[MediaWiki_talk:Protectreason|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c0e9bbaf&amp;action=edit 5cbc043a]&lt;br&gt;
+[[MediaWiki_talk:c0e9bbaf|Talk]]
 &lt;/td&gt;&lt;td&gt;
 (give a reason)
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Protectreason</title></template>
+<template lineStart="1"><title>int:c0e9bbaf</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectsub&amp;action=edit protectsub]&lt;br&gt;
-[[MediaWiki_talk:Protectsub|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:23176a41&amp;action=edit 24a81acc]&lt;br&gt;
+[[MediaWiki_talk:23176a41|Talk]]
 &lt;/td&gt;&lt;td&gt;
 (Protecting &amp;quot;$1&amp;quot;)
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Protectsub</title></template>
+<template lineStart="1"><title>int:23176a41</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectthispage&amp;action=edit protectthispage]&lt;br&gt;
-[[MediaWiki_talk:Protectthispage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:884b47b3&amp;action=edit 77ca39fa]&lt;br&gt;
+[[MediaWiki_talk:884b47b3|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Protect this page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Protectthispage</title></template>
+<template lineStart="1"><title>int:884b47b3</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Proxyblocker&amp;action=edit proxyblocker]&lt;br&gt;
-[[MediaWiki_talk:Proxyblocker|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0ebe1928&amp;action=edit 11599708]&lt;br&gt;
+[[MediaWiki_talk:0ebe1928|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Proxy blocker
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Proxyblocker</title></template>
+<template lineStart="1"><title>int:0ebe1928</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Proxyblockreason&amp;action=edit proxyblockreason]&lt;br&gt;
-[[MediaWiki_talk:Proxyblockreason|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0ccb1a72&amp;action=edit f4482395]&lt;br&gt;
+[[MediaWiki_talk:0ccb1a72|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Your IP address has been blocked because it is an open proxy. Please contact your Internet service provider or tech support and inform them of this serious security problem.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Proxyblockreason</title></template>
+<template lineStart="1"><title>int:0ccb1a72</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Proxyblocksuccess&amp;action=edit proxyblocksuccess]&lt;br&gt;
-[[MediaWiki_talk:Proxyblocksuccess|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:88af6e64&amp;action=edit 01b6671f]&lt;br&gt;
+[[MediaWiki_talk:88af6e64|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Done.
 
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Proxyblocksuccess</title></template>
+<template lineStart="1"><title>int:88af6e64</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Qbbrowse&amp;action=edit qbbrowse]&lt;br&gt;
-[[MediaWiki_talk:Qbbrowse|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b1594c4a&amp;action=edit 596b17aa]&lt;br&gt;
+[[MediaWiki_talk:b1594c4a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Browse
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Qbbrowse</title></template>
+<template lineStart="1"><title>int:b1594c4a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Qbedit&amp;action=edit qbedit]&lt;br&gt;
-[[MediaWiki_talk:Qbedit|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:25b61f80&amp;action=edit 9e11e13b]&lt;br&gt;
+[[MediaWiki_talk:25b61f80|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Edit
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Qbedit</title></template>
+<template lineStart="1"><title>int:25b61f80</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Qbfind&amp;action=edit qbfind]&lt;br&gt;
-[[MediaWiki_talk:Qbfind|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e1a9ed9d&amp;action=edit cc717307]&lt;br&gt;
+[[MediaWiki_talk:e1a9ed9d|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Find
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Qbfind</title></template>
+<template lineStart="1"><title>int:e1a9ed9d</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Qbmyoptions&amp;action=edit qbmyoptions]&lt;br&gt;
-[[MediaWiki_talk:Qbmyoptions|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:24074cfc&amp;action=edit a40d0b3f]&lt;br&gt;
+[[MediaWiki_talk:24074cfc|Talk]]
 &lt;/td&gt;&lt;td&gt;
 My pages
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Qbmyoptions</title></template>
+<template lineStart="1"><title>int:24074cfc</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Qbpageinfo&amp;action=edit qbpageinfo]&lt;br&gt;
-[[MediaWiki_talk:Qbpageinfo|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:af83fbba&amp;action=edit 8f794a0f]&lt;br&gt;
+[[MediaWiki_talk:af83fbba|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Context
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Qbpageinfo</title></template>
+<template lineStart="1"><title>int:af83fbba</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Qbpageoptions&amp;action=edit qbpageoptions]&lt;br&gt;
-[[MediaWiki_talk:Qbpageoptions|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c8fff0e7&amp;action=edit 20fec244]&lt;br&gt;
+[[MediaWiki_talk:c8fff0e7|Talk]]
 &lt;/td&gt;&lt;td&gt;
 This page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Qbpageoptions</title></template>
+<template lineStart="1"><title>int:c8fff0e7</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Qbsettings&amp;action=edit qbsettings]&lt;br&gt;
-[[MediaWiki_talk:Qbsettings|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5a6ec2af&amp;action=edit 2dfd6121]&lt;br&gt;
+[[MediaWiki_talk:5a6ec2af|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Quickbar settings
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Qbsettings</title></template>
+<template lineStart="1"><title>int:5a6ec2af</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Qbspecialpages&amp;action=edit qbspecialpages]&lt;br&gt;
-[[MediaWiki_talk:Qbspecialpages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8eda832f&amp;action=edit e97e9088]&lt;br&gt;
+[[MediaWiki_talk:8eda832f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Special pages
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Qbspecialpages</title></template>
+<template lineStart="1"><title>int:8eda832f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Querybtn&amp;action=edit querybtn]&lt;br&gt;
-[[MediaWiki_talk:Querybtn|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ce1c6b9a&amp;action=edit dc17545e]&lt;br&gt;
+[[MediaWiki_talk:ce1c6b9a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Submit query
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Querybtn</title></template>
+<template lineStart="1"><title>int:ce1c6b9a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Querysuccessful&amp;action=edit querysuccessful]&lt;br&gt;
-[[MediaWiki_talk:Querysuccessful|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:342970ff&amp;action=edit 7f2e7314]&lt;br&gt;
+[[MediaWiki_talk:342970ff|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Query successful
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Querysuccessful</title></template>
+<template lineStart="1"><title>int:342970ff</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Randompage&amp;action=edit randompage]&lt;br&gt;
-[[MediaWiki_talk:Randompage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c2300ac1&amp;action=edit 08f4cb5c]&lt;br&gt;
+[[MediaWiki_talk:c2300ac1|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Random page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Randompage</title></template>
+<template lineStart="1"><title>int:c2300ac1</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Range_block_disabled&amp;action=edit range_block_disabled]&lt;br&gt;
-[[MediaWiki_talk:Range_block_disabled|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9f84f8de&amp;action=edit 0da9559a]&lt;br&gt;
+[[MediaWiki_talk:9f84f8de|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The sysop ability to create range blocks is disabled.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Range_block_disabled</title></template>
+<template lineStart="1"><title>int:9f84f8de</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rchide&amp;action=edit rchide]&lt;br&gt;
-[[MediaWiki_talk:Rchide|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f65142b8&amp;action=edit 65c24302]&lt;br&gt;
+[[MediaWiki_talk:f65142b8|Talk]]
 &lt;/td&gt;&lt;td&gt;
 in $4 form; $1 minor edits; $2 secondary namespaces; $3 multiple edits.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Rchide</title></template>
+<template lineStart="1"><title>int:f65142b8</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rclinks&amp;action=edit rclinks]&lt;br&gt;
-[[MediaWiki_talk:Rclinks|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:78b9278a&amp;action=edit 96bcbd6a]&lt;br&gt;
+[[MediaWiki_talk:78b9278a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Show last $1 changes in last $2 days&amp;lt;br /&amp;gt;$3
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Rclinks</title></template>
+<template lineStart="1"><title>int:78b9278a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rclistfrom&amp;action=edit rclistfrom]&lt;br&gt;
-[[MediaWiki_talk:Rclistfrom|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ead9cd8b&amp;action=edit 69cdd5ad]&lt;br&gt;
+[[MediaWiki_talk:ead9cd8b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Show new changes starting from $1
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Rclistfrom</title></template>
+<template lineStart="1"><title>int:ead9cd8b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rcliu&amp;action=edit rcliu]&lt;br&gt;
-[[MediaWiki_talk:Rcliu|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bad8b81d&amp;action=edit f13491ba]&lt;br&gt;
+[[MediaWiki_talk:bad8b81d|Talk]]
 &lt;/td&gt;&lt;td&gt;
 ; $1 edits from logged in users
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Rcliu</title></template>
+<template lineStart="1"><title>int:bad8b81d</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rcloaderr&amp;action=edit rcloaderr]&lt;br&gt;
-[[MediaWiki_talk:Rcloaderr|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:58a7c0de&amp;action=edit ced7752e]&lt;br&gt;
+[[MediaWiki_talk:58a7c0de|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Loading recent changes
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Rcloaderr</title></template>
+<template lineStart="1"><title>int:58a7c0de</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rclsub&amp;action=edit rclsub]&lt;br&gt;
-[[MediaWiki_talk:Rclsub|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c3fd1aca&amp;action=edit d259fbf6]&lt;br&gt;
+[[MediaWiki_talk:c3fd1aca|Talk]]
 &lt;/td&gt;&lt;td&gt;
 (to pages linked from &amp;quot;$1&amp;quot;)
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Rclsub</title></template>
+<template lineStart="1"><title>int:c3fd1aca</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rcnote&amp;action=edit rcnote]&lt;br&gt;
-[[MediaWiki_talk:Rcnote|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2c0a654c&amp;action=edit 15ea8401]&lt;br&gt;
+[[MediaWiki_talk:2c0a654c|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Below are the last &amp;lt;strong&amp;gt;$1&amp;lt;/strong&amp;gt; changes in last &amp;lt;strong&amp;gt;$2&amp;lt;/strong&amp;gt; days.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Rcnote</title></template>
+<template lineStart="1"><title>int:2c0a654c</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rcnotefrom&amp;action=edit rcnotefrom]&lt;br&gt;
-[[MediaWiki_talk:Rcnotefrom|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0a00aaba&amp;action=edit c516366b]&lt;br&gt;
+[[MediaWiki_talk:0a00aaba|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Below are the changes since &amp;lt;b&amp;gt;$2&amp;lt;/b&amp;gt; (up to &amp;lt;b&amp;gt;$1&amp;lt;/b&amp;gt; shown).
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Rcnotefrom</title></template>
+<template lineStart="1"><title>int:0a00aaba</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Readonly&amp;action=edit readonly]&lt;br&gt;
-[[MediaWiki_talk:Readonly|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1d920fff&amp;action=edit 9a277182]&lt;br&gt;
+[[MediaWiki_talk:1d920fff|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Database locked
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Readonly</title></template>
+<template lineStart="1"><title>int:1d920fff</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Readonlytext&amp;action=edit readonlytext]&lt;br&gt;
-[[MediaWiki_talk:Readonlytext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:64743780&amp;action=edit e5990e81]&lt;br&gt;
+[[MediaWiki_talk:64743780|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The database is currently locked to new
 entries and other modifications, probably for routine database maintenance,
@@ -3739,476 +3739,476 @@ after which it will be back to normal.
 The administrator who locked it offered this explanation:
 &amp;lt;p&amp;gt;$1
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Readonlytext</title></template>
+<template lineStart="1"><title>int:64743780</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Readonlywarning&amp;action=edit readonlywarning]&lt;br&gt;
-[[MediaWiki_talk:Readonlywarning|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8c9d6af6&amp;action=edit 74bcbeed]&lt;br&gt;
+[[MediaWiki_talk:8c9d6af6|Talk]]
 &lt;/td&gt;&lt;td&gt;
 WARNING: The database has been locked for maintenance,
 so you will not be able to save your edits right now. You may wish to cut-n-paste
 the text into a text file and save it for later.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Readonlywarning</title></template>
+<template lineStart="1"><title>int:8c9d6af6</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Recentchanges&amp;action=edit recentchanges]&lt;br&gt;
-[[MediaWiki_talk:Recentchanges|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:4d75dd33&amp;action=edit 51734654]&lt;br&gt;
+[[MediaWiki_talk:4d75dd33|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Recent changes
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Recentchanges</title></template>
+<template lineStart="1"><title>int:4d75dd33</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Recentchangescount&amp;action=edit recentchangescount]&lt;br&gt;
-[[MediaWiki_talk:Recentchangescount|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:40f1d259&amp;action=edit 44d93957]&lt;br&gt;
+[[MediaWiki_talk:40f1d259|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Number of titles in recent changes
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Recentchangescount</title></template>
+<template lineStart="1"><title>int:40f1d259</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Recentchangeslinked&amp;action=edit recentchangeslinked]&lt;br&gt;
-[[MediaWiki_talk:Recentchangeslinked|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:312aafe1&amp;action=edit b5822b16]&lt;br&gt;
+[[MediaWiki_talk:312aafe1|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Related changes
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Recentchangeslinked</title></template>
+<template lineStart="1"><title>int:312aafe1</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Recentchangestext&amp;action=edit recentchangestext]&lt;br&gt;
-[[MediaWiki_talk:Recentchangestext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2f453993&amp;action=edit 049f8c5f]&lt;br&gt;
+[[MediaWiki_talk:2f453993|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Track the most recent changes to the wiki on this page.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Recentchangestext</title></template>
+<template lineStart="1"><title>int:2f453993</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Redirectedfrom&amp;action=edit redirectedfrom]&lt;br&gt;
-[[MediaWiki_talk:Redirectedfrom|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7124fa4a&amp;action=edit 43d741c1]&lt;br&gt;
+[[MediaWiki_talk:7124fa4a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 (Redirected from $1)
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Redirectedfrom</title></template>
+<template lineStart="1"><title>int:7124fa4a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Remembermypassword&amp;action=edit remembermypassword]&lt;br&gt;
-[[MediaWiki_talk:Remembermypassword|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:54d89323&amp;action=edit 4eef1c9f]&lt;br&gt;
+[[MediaWiki_talk:54d89323|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Remember my password across sessions.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Remembermypassword</title></template>
+<template lineStart="1"><title>int:54d89323</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Removechecked&amp;action=edit removechecked]&lt;br&gt;
-[[MediaWiki_talk:Removechecked|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:537f5507&amp;action=edit bfa5dc98]&lt;br&gt;
+[[MediaWiki_talk:537f5507|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Remove checked items from watchlist
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Removechecked</title></template>
+<template lineStart="1"><title>int:537f5507</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Removedwatch&amp;action=edit removedwatch]&lt;br&gt;
-[[MediaWiki_talk:Removedwatch|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:78e82769&amp;action=edit eeadf87c]&lt;br&gt;
+[[MediaWiki_talk:78e82769|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Removed from watchlist
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Removedwatch</title></template>
+<template lineStart="1"><title>int:78e82769</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Removedwatchtext&amp;action=edit removedwatchtext]&lt;br&gt;
-[[MediaWiki_talk:Removedwatchtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ad711aa8&amp;action=edit d9807612]&lt;br&gt;
+[[MediaWiki_talk:ad711aa8|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The page &amp;quot;$1&amp;quot; has been removed from your watchlist.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Removedwatchtext</title></template>
+<template lineStart="1"><title>int:ad711aa8</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Removingchecked&amp;action=edit removingchecked]&lt;br&gt;
-[[MediaWiki_talk:Removingchecked|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:48b0bcb6&amp;action=edit 7d083ee5]&lt;br&gt;
+[[MediaWiki_talk:48b0bcb6|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Removing requested items from watchlist...
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Removingchecked</title></template>
+<template lineStart="1"><title>int:48b0bcb6</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Resetprefs&amp;action=edit resetprefs]&lt;br&gt;
-[[MediaWiki_talk:Resetprefs|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2f022894&amp;action=edit 4b81718e]&lt;br&gt;
+[[MediaWiki_talk:2f022894|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Reset preferences
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Resetprefs</title></template>
+<template lineStart="1"><title>int:2f022894</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Restorelink&amp;action=edit restorelink]&lt;br&gt;
-[[MediaWiki_talk:Restorelink|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bc47acaf&amp;action=edit 8f8f7d13]&lt;br&gt;
+[[MediaWiki_talk:bc47acaf|Talk]]
 &lt;/td&gt;&lt;td&gt;
 $1 deleted edits
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Restorelink</title></template>
+<template lineStart="1"><title>int:bc47acaf</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Resultsperpage&amp;action=edit resultsperpage]&lt;br&gt;
-[[MediaWiki_talk:Resultsperpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6add8c15&amp;action=edit 8f0c68f0]&lt;br&gt;
+[[MediaWiki_talk:6add8c15|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Hits to show per page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Resultsperpage</title></template>
+<template lineStart="1"><title>int:6add8c15</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Retrievedfrom&amp;action=edit retrievedfrom]&lt;br&gt;
-[[MediaWiki_talk:Retrievedfrom|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6f54af5b&amp;action=edit a5e2f101]&lt;br&gt;
+[[MediaWiki_talk:6f54af5b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Retrieved from &amp;quot;$1&amp;quot;
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Retrievedfrom</title></template>
+<template lineStart="1"><title>int:6f54af5b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Returnto&amp;action=edit returnto]&lt;br&gt;
-[[MediaWiki_talk:Returnto|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3dcff1b0&amp;action=edit 58f19667]&lt;br&gt;
+[[MediaWiki_talk:3dcff1b0|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Return to $1.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Returnto</title></template>
+<template lineStart="1"><title>int:3dcff1b0</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Retypenew&amp;action=edit retypenew]&lt;br&gt;
-[[MediaWiki_talk:Retypenew|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b9ac79c6&amp;action=edit 2b9171b6]&lt;br&gt;
+[[MediaWiki_talk:b9ac79c6|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Retype new password
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Retypenew</title></template>
+<template lineStart="1"><title>int:b9ac79c6</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Reupload&amp;action=edit reupload]&lt;br&gt;
-[[MediaWiki_talk:Reupload|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b7ae8f64&amp;action=edit a3eee606]&lt;br&gt;
+[[MediaWiki_talk:b7ae8f64|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Re-upload
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Reupload</title></template>
+<template lineStart="1"><title>int:b7ae8f64</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Reuploaddesc&amp;action=edit reuploaddesc]&lt;br&gt;
-[[MediaWiki_talk:Reuploaddesc|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:cd783da0&amp;action=edit d7ba5bcb]&lt;br&gt;
+[[MediaWiki_talk:cd783da0|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Return to the upload form.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Reuploaddesc</title></template>
+<template lineStart="1"><title>int:cd783da0</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Reverted&amp;action=edit reverted]&lt;br&gt;
-[[MediaWiki_talk:Reverted|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c73c43f3&amp;action=edit f322de9a]&lt;br&gt;
+[[MediaWiki_talk:c73c43f3|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Reverted to earlier revision
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Reverted</title></template>
+<template lineStart="1"><title>int:c73c43f3</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Revertimg&amp;action=edit revertimg]&lt;br&gt;
-[[MediaWiki_talk:Revertimg|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:18591a4b&amp;action=edit 0d86ed82]&lt;br&gt;
+[[MediaWiki_talk:18591a4b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 rev
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Revertimg</title></template>
+<template lineStart="1"><title>int:18591a4b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Revertpage&amp;action=edit revertpage]&lt;br&gt;
-[[MediaWiki_talk:Revertpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b24ef4f1&amp;action=edit 8ce494ea]&lt;br&gt;
+[[MediaWiki_talk:b24ef4f1|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Reverted edit of $2, changed back to last version by $1
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Revertpage</title></template>
+<template lineStart="1"><title>int:b24ef4f1</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Revhistory&amp;action=edit revhistory]&lt;br&gt;
-[[MediaWiki_talk:Revhistory|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:96e64350&amp;action=edit 949a77c7]&lt;br&gt;
+[[MediaWiki_talk:96e64350|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Revision history
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Revhistory</title></template>
+<template lineStart="1"><title>int:96e64350</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Revisionasof&amp;action=edit revisionasof]&lt;br&gt;
-[[MediaWiki_talk:Revisionasof|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0c299dc7&amp;action=edit 3338672b]&lt;br&gt;
+[[MediaWiki_talk:0c299dc7|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Revision as of $1
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Revisionasof</title></template>
+<template lineStart="1"><title>int:0c299dc7</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Revnotfound&amp;action=edit revnotfound]&lt;br&gt;
-[[MediaWiki_talk:Revnotfound|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:159f321a&amp;action=edit d567812b]&lt;br&gt;
+[[MediaWiki_talk:159f321a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Revision not found
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Revnotfound</title></template>
+<template lineStart="1"><title>int:159f321a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Revnotfoundtext&amp;action=edit revnotfoundtext]&lt;br&gt;
-[[MediaWiki_talk:Revnotfoundtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:955fec48&amp;action=edit 4060f114]&lt;br&gt;
+[[MediaWiki_talk:955fec48|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The old revision of the page you asked for could not be found.
 Please check the URL you used to access this page.
 
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Revnotfoundtext</title></template>
+<template lineStart="1"><title>int:955fec48</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rfcurl&amp;action=edit rfcurl]&lt;br&gt;
-[[MediaWiki_talk:Rfcurl|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b2f04988&amp;action=edit e8b606c2]&lt;br&gt;
+[[MediaWiki_talk:b2f04988|Talk]]
 &lt;/td&gt;&lt;td&gt;
 http&amp;#58;//www.faqs.org/rfcs/rfc$1.html
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Rfcurl</title></template>
+<template lineStart="1"><title>int:b2f04988</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rights&amp;action=edit rights]&lt;br&gt;
-[[MediaWiki_talk:Rights|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:db94ff6b&amp;action=edit 1407cb23]&lt;br&gt;
+[[MediaWiki_talk:db94ff6b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Rights:
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Rights</title></template>
+<template lineStart="1"><title>int:db94ff6b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rollback&amp;action=edit rollback]&lt;br&gt;
-[[MediaWiki_talk:Rollback|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f28daee2&amp;action=edit ff3a6f3b]&lt;br&gt;
+[[MediaWiki_talk:f28daee2|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Roll back edits
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Rollback</title></template>
+<template lineStart="1"><title>int:f28daee2</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rollback_short&amp;action=edit rollback_short]&lt;br&gt;
-[[MediaWiki_talk:Rollback_short|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2aaec24c&amp;action=edit 5f0fa7e7]&lt;br&gt;
+[[MediaWiki_talk:2aaec24c|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Rollback
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Rollback_short</title></template>
+<template lineStart="1"><title>int:2aaec24c</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rollbackfailed&amp;action=edit rollbackfailed]&lt;br&gt;
-[[MediaWiki_talk:Rollbackfailed|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:54d37a4c&amp;action=edit 73c685e6]&lt;br&gt;
+[[MediaWiki_talk:54d37a4c|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Rollback failed
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Rollbackfailed</title></template>
+<template lineStart="1"><title>int:54d37a4c</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rollbacklink&amp;action=edit rollbacklink]&lt;br&gt;
-[[MediaWiki_talk:Rollbacklink|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b82a8f42&amp;action=edit 1a9fae49]&lt;br&gt;
+[[MediaWiki_talk:b82a8f42|Talk]]
 &lt;/td&gt;&lt;td&gt;
 rollback
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Rollbacklink</title></template>
+<template lineStart="1"><title>int:b82a8f42</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rows&amp;action=edit rows]&lt;br&gt;
-[[MediaWiki_talk:Rows|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:52d0b352&amp;action=edit 6c30d261]&lt;br&gt;
+[[MediaWiki_talk:52d0b352|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Rows
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Rows</title></template>
+<template lineStart="1"><title>int:52d0b352</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Savearticle&amp;action=edit savearticle]&lt;br&gt;
-[[MediaWiki_talk:Savearticle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5a43014e&amp;action=edit 1308cde0]&lt;br&gt;
+[[MediaWiki_talk:5a43014e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Save page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Savearticle</title></template>
+<template lineStart="1"><title>int:5a43014e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Savedprefs&amp;action=edit savedprefs]&lt;br&gt;
-[[MediaWiki_talk:Savedprefs|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0e53fdc8&amp;action=edit 5f6543d0]&lt;br&gt;
+[[MediaWiki_talk:0e53fdc8|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Your preferences have been saved.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Savedprefs</title></template>
+<template lineStart="1"><title>int:0e53fdc8</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Savefile&amp;action=edit savefile]&lt;br&gt;
-[[MediaWiki_talk:Savefile|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e1415b15&amp;action=edit d6d40a58]&lt;br&gt;
+[[MediaWiki_talk:e1415b15|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Save file
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Savefile</title></template>
+<template lineStart="1"><title>int:e1415b15</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Saveprefs&amp;action=edit saveprefs]&lt;br&gt;
-[[MediaWiki_talk:Saveprefs|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ad98e68e&amp;action=edit 34ac956e]&lt;br&gt;
+[[MediaWiki_talk:ad98e68e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Save preferences
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Saveprefs</title></template>
+<template lineStart="1"><title>int:ad98e68e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Search&amp;action=edit search]&lt;br&gt;
-[[MediaWiki_talk:Search|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bce06414&amp;action=edit 3559d7ac]&lt;br&gt;
+[[MediaWiki_talk:bce06414|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Search
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Search</title></template>
+<template lineStart="1"><title>int:bce06414</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Searchdisabled&amp;action=edit searchdisabled]&lt;br&gt;
-[[MediaWiki_talk:Searchdisabled|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8f6495a7&amp;action=edit cfa0722d]&lt;br&gt;
+[[MediaWiki_talk:8f6495a7|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;lt;p&amp;gt;Sorry! Full text search has been disabled temporarily, for performance reasons. In the meantime, you can use the Google search below, which may be out of date.&amp;lt;/p&amp;gt;
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Searchdisabled</title></template>
+<template lineStart="1"><title>int:8f6495a7</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Searchhelppage&amp;action=edit searchhelppage]&lt;br&gt;
-[[MediaWiki_talk:Searchhelppage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:72344e87&amp;action=edit 3eea6ce4]&lt;br&gt;
+[[MediaWiki_talk:72344e87|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Wiktionary:Searching
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Searchhelppage</title></template>
+<template lineStart="1"><title>int:72344e87</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Searchingwikipedia&amp;action=edit searchingwikipedia]&lt;br&gt;
-[[MediaWiki_talk:Searchingwikipedia|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:cb9c1653&amp;action=edit da48347f]&lt;br&gt;
+[[MediaWiki_talk:cb9c1653|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Searching Wiktionary
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Searchingwikipedia</title></template>
+<template lineStart="1"><title>int:cb9c1653</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Searchquery&amp;action=edit searchquery]&lt;br&gt;
-[[MediaWiki_talk:Searchquery|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3d79ca88&amp;action=edit 64bdca9a]&lt;br&gt;
+[[MediaWiki_talk:3d79ca88|Talk]]
 &lt;/td&gt;&lt;td&gt;
 For query &amp;quot;$1&amp;quot;
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Searchquery</title></template>
+<template lineStart="1"><title>int:3d79ca88</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Searchresults&amp;action=edit searchresults]&lt;br&gt;
-[[MediaWiki_talk:Searchresults|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b2f7c0e1&amp;action=edit 8ef6d4d3]&lt;br&gt;
+[[MediaWiki_talk:b2f7c0e1|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Search results
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Searchresults</title></template>
+<template lineStart="1"><title>int:b2f7c0e1</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Searchresultshead&amp;action=edit searchresultshead]&lt;br&gt;
-[[MediaWiki_talk:Searchresultshead|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e5ed9018&amp;action=edit 83d578cd]&lt;br&gt;
+[[MediaWiki_talk:e5ed9018|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Search result settings
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Searchresultshead</title></template>
+<template lineStart="1"><title>int:e5ed9018</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Searchresulttext&amp;action=edit searchresulttext]&lt;br&gt;
-[[MediaWiki_talk:Searchresulttext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8cab5350&amp;action=edit 781b9fee]&lt;br&gt;
+[[MediaWiki_talk:8cab5350|Talk]]
 &lt;/td&gt;&lt;td&gt;
 For more information about searching Wiktionary, see $1.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Searchresulttext</title></template>
+<template lineStart="1"><title>int:8cab5350</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sectionedit&amp;action=edit sectionedit]&lt;br&gt;
-[[MediaWiki_talk:Sectionedit|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:37b6df63&amp;action=edit a26b768d]&lt;br&gt;
+[[MediaWiki_talk:37b6df63|Talk]]
 &lt;/td&gt;&lt;td&gt;
  (section)
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Sectionedit</title></template>
+<template lineStart="1"><title>int:37b6df63</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Selectnewerversionfordiff&amp;action=edit selectnewerversionfordiff]&lt;br&gt;
-[[MediaWiki_talk:Selectnewerversionfordiff|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:be4aaa62&amp;action=edit 2ddce298]&lt;br&gt;
+[[MediaWiki_talk:be4aaa62|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Select a newer version for comparison
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Selectnewerversionfordiff</title></template>
+<template lineStart="1"><title>int:be4aaa62</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Selectolderversionfordiff&amp;action=edit selectolderversionfordiff]&lt;br&gt;
-[[MediaWiki_talk:Selectolderversionfordiff|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5124db4d&amp;action=edit 80ffa0cb]&lt;br&gt;
+[[MediaWiki_talk:5124db4d|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Select an older version for comparison
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Selectolderversionfordiff</title></template>
+<template lineStart="1"><title>int:5124db4d</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Selectonly&amp;action=edit selectonly]&lt;br&gt;
-[[MediaWiki_talk:Selectonly|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a3c0a747&amp;action=edit 5ec1b504]&lt;br&gt;
+[[MediaWiki_talk:a3c0a747|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Only read-only queries are allowed.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Selectonly</title></template>
+<template lineStart="1"><title>int:a3c0a747</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Selflinks&amp;action=edit selflinks]&lt;br&gt;
-[[MediaWiki_talk:Selflinks|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e93eec9e&amp;action=edit 06cf46b3]&lt;br&gt;
+[[MediaWiki_talk:e93eec9e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Pages with Self Links
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Selflinks</title></template>
+<template lineStart="1"><title>int:e93eec9e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Selflinkstext&amp;action=edit selflinkstext]&lt;br&gt;
-[[MediaWiki_talk:Selflinkstext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f993dd01&amp;action=edit e7caf074]&lt;br&gt;
+[[MediaWiki_talk:f993dd01|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The following pages contain a link to themselves, which they should not.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Selflinkstext</title></template>
+<template lineStart="1"><title>int:f993dd01</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Seriousxhtmlerrors&amp;action=edit seriousxhtmlerrors]&lt;br&gt;
-[[MediaWiki_talk:Seriousxhtmlerrors|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:fa56e16c&amp;action=edit 249c203d]&lt;br&gt;
+[[MediaWiki_talk:fa56e16c|Talk]]
 &lt;/td&gt;&lt;td&gt;
 There were serious xhtml markup errors detected by tidy.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Seriousxhtmlerrors</title></template>
+<template lineStart="1"><title>int:fa56e16c</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Servertime&amp;action=edit servertime]&lt;br&gt;
-[[MediaWiki_talk:Servertime|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5123f28d&amp;action=edit 8fcf47da]&lt;br&gt;
+[[MediaWiki_talk:5123f28d|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Server time is now
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Servertime</title></template>
+<template lineStart="1"><title>int:5123f28d</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Set_rights_fail&amp;action=edit set_rights_fail]&lt;br&gt;
-[[MediaWiki_talk:Set_rights_fail|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:4075f71a&amp;action=edit 79d35179]&lt;br&gt;
+[[MediaWiki_talk:4075f71a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;lt;b&amp;gt;User rights for &amp;quot;$1&amp;quot; could not be set. (Did you enter the name correctly?)&amp;lt;/b&amp;gt;
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Set_rights_fail</title></template>
+<template lineStart="1"><title>int:4075f71a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Set_user_rights&amp;action=edit set_user_rights]&lt;br&gt;
-[[MediaWiki_talk:Set_user_rights|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:13187ffc&amp;action=edit f2cd2a2a]&lt;br&gt;
+[[MediaWiki_talk:13187ffc|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Set user rights
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Set_user_rights</title></template>
+<template lineStart="1"><title>int:13187ffc</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Setbureaucratflag&amp;action=edit setbureaucratflag]&lt;br&gt;
-[[MediaWiki_talk:Setbureaucratflag|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:56640761&amp;action=edit c5bfd68a]&lt;br&gt;
+[[MediaWiki_talk:56640761|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Set bureaucrat flag
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Setbureaucratflag</title></template>
+<template lineStart="1"><title>int:56640761</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Shortpages&amp;action=edit shortpages]&lt;br&gt;
-[[MediaWiki_talk:Shortpages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0d3f883b&amp;action=edit fff9c94a]&lt;br&gt;
+[[MediaWiki_talk:0d3f883b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Short pages
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Shortpages</title></template>
+<template lineStart="1"><title>int:0d3f883b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Show&amp;action=edit show]&lt;br&gt;
-[[MediaWiki_talk:Show|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d97d1ee3&amp;action=edit 9fb29051]&lt;br&gt;
+[[MediaWiki_talk:d97d1ee3|Talk]]
 &lt;/td&gt;&lt;td&gt;
 show
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Show</title></template>
+<template lineStart="1"><title>int:d97d1ee3</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Showhideminor&amp;action=edit showhideminor]&lt;br&gt;
-[[MediaWiki_talk:Showhideminor|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f1a75ecf&amp;action=edit 4fe654c7]&lt;br&gt;
+[[MediaWiki_talk:f1a75ecf|Talk]]
 &lt;/td&gt;&lt;td&gt;
 $1 minor edits &amp;#124; $2 bots &amp;#124; $3 logged in users 
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Showhideminor</title></template>
+<template lineStart="1"><title>int:f1a75ecf</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Showingresults&amp;action=edit showingresults]&lt;br&gt;
-[[MediaWiki_talk:Showingresults|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:72fad336&amp;action=edit 9569cf23]&lt;br&gt;
+[[MediaWiki_talk:72fad336|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Showing below &amp;lt;b&amp;gt;$1&amp;lt;/b&amp;gt; results starting with #&amp;lt;b&amp;gt;$2&amp;lt;/b&amp;gt;.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Showingresults</title></template>
+<template lineStart="1"><title>int:72fad336</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Showingresultsnum&amp;action=edit showingresultsnum]&lt;br&gt;
-[[MediaWiki_talk:Showingresultsnum|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6db37657&amp;action=edit f7535b52]&lt;br&gt;
+[[MediaWiki_talk:6db37657|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Showing below &amp;lt;b&amp;gt;$3&amp;lt;/b&amp;gt; results starting with #&amp;lt;b&amp;gt;$2&amp;lt;/b&amp;gt;.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Showingresultsnum</title></template>
+<template lineStart="1"><title>int:6db37657</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Showlast&amp;action=edit showlast]&lt;br&gt;
-[[MediaWiki_talk:Showlast|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:acbdf814&amp;action=edit 43158759]&lt;br&gt;
+[[MediaWiki_talk:acbdf814|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Show last $1 images sorted $2.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Showlast</title></template>
+<template lineStart="1"><title>int:acbdf814</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Showpreview&amp;action=edit showpreview]&lt;br&gt;
-[[MediaWiki_talk:Showpreview|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:915318a0&amp;action=edit ac2b4c32]&lt;br&gt;
+[[MediaWiki_talk:915318a0|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Show preview
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Showpreview</title></template>
+<template lineStart="1"><title>int:915318a0</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Showtoc&amp;action=edit showtoc]&lt;br&gt;
-[[MediaWiki_talk:Showtoc|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:cfff5a5a&amp;action=edit 6eeee3cb]&lt;br&gt;
+[[MediaWiki_talk:cfff5a5a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 show
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Showtoc</title></template>
+<template lineStart="1"><title>int:cfff5a5a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sig_tip&amp;action=edit sig_tip]&lt;br&gt;
-[[MediaWiki_talk:Sig_tip|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ac617b53&amp;action=edit 1144c9d9]&lt;br&gt;
+[[MediaWiki_talk:ac617b53|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Your signature with timestamp
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Sig_tip</title></template>
+<template lineStart="1"><title>int:ac617b53</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sitestats&amp;action=edit sitestats]&lt;br&gt;
-[[MediaWiki_talk:Sitestats|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f6baa6ad&amp;action=edit 7f5726ac]&lt;br&gt;
+[[MediaWiki_talk:f6baa6ad|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Site statistics
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Sitestats</title></template>
+<template lineStart="1"><title>int:f6baa6ad</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sitestatstext&amp;action=edit sitestatstext]&lt;br&gt;
-[[MediaWiki_talk:Sitestatstext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e150b0f4&amp;action=edit 8e86f95d]&lt;br&gt;
+[[MediaWiki_talk:e150b0f4|Talk]]
 &lt;/td&gt;&lt;td&gt;
 There are &amp;#39;&amp;#39;&amp;#39;$1&amp;#39;&amp;#39;&amp;#39; total pages in the database.
 This includes &amp;quot;talk&amp;quot; pages, pages about Wiktionary, minimal &amp;quot;stub&amp;quot;
@@ -4220,931 +4220,931 @@ There have been a total of &amp;#39;&amp;#39;&amp;#39;$3&amp;#39;&amp;#39;&amp;#
 since the wiki was setup.
 That comes to &amp;#39;&amp;#39;&amp;#39;$5&amp;#39;&amp;#39;&amp;#39; average edits per page, and &amp;#39;&amp;#39;&amp;#39;$6&amp;#39;&amp;#39;&amp;#39; views per edit.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Sitestatstext</title></template>
+<template lineStart="1"><title>int:e150b0f4</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sitesubtitle&amp;action=edit sitesubtitle]&lt;br&gt;
-[[MediaWiki_talk:Sitesubtitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:daaf7240&amp;action=edit 8dca090f]&lt;br&gt;
+[[MediaWiki_talk:daaf7240|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The Free Encyclopedia
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Sitesubtitle</title></template>
+<template lineStart="1"><title>int:daaf7240</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sitesupport&amp;action=edit sitesupport]&lt;br&gt;
-[[MediaWiki_talk:Sitesupport|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3b434c6d&amp;action=edit 32b42c53]&lt;br&gt;
+[[MediaWiki_talk:3b434c6d|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Donations
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Sitesupport</title></template>
+<template lineStart="1"><title>int:3b434c6d</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sitetitle&amp;action=edit sitetitle]&lt;br&gt;
-[[MediaWiki_talk:Sitetitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d75649ef&amp;action=edit d88e8164]&lt;br&gt;
+[[MediaWiki_talk:d75649ef|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Wiktionary
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Sitetitle</title></template>
+<template lineStart="1"><title>int:d75649ef</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Siteuser&amp;action=edit siteuser]&lt;br&gt;
-[[MediaWiki_talk:Siteuser|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:cb06d8a3&amp;action=edit b64ec710]&lt;br&gt;
+[[MediaWiki_talk:cb06d8a3|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Wiktionary user $1
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Siteuser</title></template>
+<template lineStart="1"><title>int:cb06d8a3</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Siteusers&amp;action=edit siteusers]&lt;br&gt;
-[[MediaWiki_talk:Siteusers|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d25d37c8&amp;action=edit 4f548531]&lt;br&gt;
+[[MediaWiki_talk:d25d37c8|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Wiktionary user(s) $1
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Siteusers</title></template>
+<template lineStart="1"><title>int:d25d37c8</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Skin&amp;action=edit skin]&lt;br&gt;
-[[MediaWiki_talk:Skin|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8f57bd61&amp;action=edit d0cb2acd]&lt;br&gt;
+[[MediaWiki_talk:8f57bd61|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Skin
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Skin</title></template>
+<template lineStart="1"><title>int:8f57bd61</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Spamprotectiontext&amp;action=edit spamprotectiontext]&lt;br&gt;
-[[MediaWiki_talk:Spamprotectiontext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d3a6dd4e&amp;action=edit bcd196f9]&lt;br&gt;
+[[MediaWiki_talk:d3a6dd4e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The page you wanted to save was blocked by the spam filter. This is probably caused by a link to an external site. 
 
 You might want to check the following regular expression for patterns that are currently blocked:
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Spamprotectiontext</title></template>
+<template lineStart="1"><title>int:d3a6dd4e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Spamprotectiontitle&amp;action=edit spamprotectiontitle]&lt;br&gt;
-[[MediaWiki_talk:Spamprotectiontitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:add33980&amp;action=edit 60a90929]&lt;br&gt;
+[[MediaWiki_talk:add33980|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Spam protection filter
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Spamprotectiontitle</title></template>
+<template lineStart="1"><title>int:add33980</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Specialpage&amp;action=edit specialpage]&lt;br&gt;
-[[MediaWiki_talk:Specialpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:984c6817&amp;action=edit 25255195]&lt;br&gt;
+[[MediaWiki_talk:984c6817|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Special Page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Specialpage</title></template>
+<template lineStart="1"><title>int:984c6817</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Specialpages&amp;action=edit specialpages]&lt;br&gt;
-[[MediaWiki_talk:Specialpages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b67d51d8&amp;action=edit 62bc32dc]&lt;br&gt;
+[[MediaWiki_talk:b67d51d8|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Special pages
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Specialpages</title></template>
+<template lineStart="1"><title>int:b67d51d8</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Spheading&amp;action=edit spheading]&lt;br&gt;
-[[MediaWiki_talk:Spheading|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c9709132&amp;action=edit 73ac2b41]&lt;br&gt;
+[[MediaWiki_talk:c9709132|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Special pages for all users
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Spheading</title></template>
+<template lineStart="1"><title>int:c9709132</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sqlislogged&amp;action=edit sqlislogged]&lt;br&gt;
-[[MediaWiki_talk:Sqlislogged|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:87ac14f6&amp;action=edit ed31e1e1]&lt;br&gt;
+[[MediaWiki_talk:87ac14f6|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Please note that all queries are logged.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Sqlislogged</title></template>
+<template lineStart="1"><title>int:87ac14f6</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sqlquery&amp;action=edit sqlquery]&lt;br&gt;
-[[MediaWiki_talk:Sqlquery|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:00c261e1&amp;action=edit 26cb51a1]&lt;br&gt;
+[[MediaWiki_talk:00c261e1|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Enter query
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Sqlquery</title></template>
+<template lineStart="1"><title>int:00c261e1</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Statistics&amp;action=edit statistics]&lt;br&gt;
-[[MediaWiki_talk:Statistics|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2086b21f&amp;action=edit 3d18b2ea]&lt;br&gt;
+[[MediaWiki_talk:2086b21f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Statistics
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Statistics</title></template>
+<template lineStart="1"><title>int:2086b21f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Storedversion&amp;action=edit storedversion]&lt;br&gt;
-[[MediaWiki_talk:Storedversion|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8cd0c85e&amp;action=edit 1b9e838c]&lt;br&gt;
+[[MediaWiki_talk:8cd0c85e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Stored version
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Storedversion</title></template>
+<template lineStart="1"><title>int:8cd0c85e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Stubthreshold&amp;action=edit stubthreshold]&lt;br&gt;
-[[MediaWiki_talk:Stubthreshold|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2eb6d4bd&amp;action=edit a5125d69]&lt;br&gt;
+[[MediaWiki_talk:2eb6d4bd|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Threshold for stub display
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Stubthreshold</title></template>
+<template lineStart="1"><title>int:2eb6d4bd</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Subcategories&amp;action=edit subcategories]&lt;br&gt;
-[[MediaWiki_talk:Subcategories|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f3da206c&amp;action=edit ef062b0e]&lt;br&gt;
+[[MediaWiki_talk:f3da206c|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Subcategories
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Subcategories</title></template>
+<template lineStart="1"><title>int:f3da206c</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Subject&amp;action=edit subject]&lt;br&gt;
-[[MediaWiki_talk:Subject|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8d183dbd&amp;action=edit 335ce16b]&lt;br&gt;
+[[MediaWiki_talk:8d183dbd|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Subject/headline
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Subject</title></template>
+<template lineStart="1"><title>int:8d183dbd</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Subjectpage&amp;action=edit subjectpage]&lt;br&gt;
-[[MediaWiki_talk:Subjectpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ca29f2df&amp;action=edit d7084ef8]&lt;br&gt;
+[[MediaWiki_talk:ca29f2df|Talk]]
 &lt;/td&gt;&lt;td&gt;
 View subject
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Subjectpage</title></template>
+<template lineStart="1"><title>int:ca29f2df</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Successfulupload&amp;action=edit successfulupload]&lt;br&gt;
-[[MediaWiki_talk:Successfulupload|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:17bc3900&amp;action=edit 3dfd0f51]&lt;br&gt;
+[[MediaWiki_talk:17bc3900|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Successful upload
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Successfulupload</title></template>
+<template lineStart="1"><title>int:17bc3900</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Summary&amp;action=edit summary]&lt;br&gt;
-[[MediaWiki_talk:Summary|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:12b71c3e&amp;action=edit 05535ecf]&lt;br&gt;
+[[MediaWiki_talk:12b71c3e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Summary
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Summary</title></template>
+<template lineStart="1"><title>int:12b71c3e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sysopspheading&amp;action=edit sysopspheading]&lt;br&gt;
-[[MediaWiki_talk:Sysopspheading|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ee858d9a&amp;action=edit fde4e0f4]&lt;br&gt;
+[[MediaWiki_talk:ee858d9a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 For sysop use only
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Sysopspheading</title></template>
+<template lineStart="1"><title>int:ee858d9a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sysoptext&amp;action=edit sysoptext]&lt;br&gt;
-[[MediaWiki_talk:Sysoptext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2f758a39&amp;action=edit 85232d4f]&lt;br&gt;
+[[MediaWiki_talk:2f758a39|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The action you have requested can only be
 performed by users with &amp;quot;sysop&amp;quot; status.
 See $1.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Sysoptext</title></template>
+<template lineStart="1"><title>int:2f758a39</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sysoptitle&amp;action=edit sysoptitle]&lt;br&gt;
-[[MediaWiki_talk:Sysoptitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:91b8467b&amp;action=edit 3265b18d]&lt;br&gt;
+[[MediaWiki_talk:91b8467b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Sysop access required
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Sysoptitle</title></template>
+<template lineStart="1"><title>int:91b8467b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tableform&amp;action=edit tableform]&lt;br&gt;
-[[MediaWiki_talk:Tableform|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:77b9c5ad&amp;action=edit 109e51e1]&lt;br&gt;
+[[MediaWiki_talk:77b9c5ad|Talk]]
 &lt;/td&gt;&lt;td&gt;
 table
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tableform</title></template>
+<template lineStart="1"><title>int:77b9c5ad</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Talk&amp;action=edit talk]&lt;br&gt;
-[[MediaWiki_talk:Talk|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:4e6a710d&amp;action=edit e55e91b2]&lt;br&gt;
+[[MediaWiki_talk:4e6a710d|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Discussion
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Talk</title></template>
+<template lineStart="1"><title>int:4e6a710d</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Talkexists&amp;action=edit talkexists]&lt;br&gt;
-[[MediaWiki_talk:Talkexists|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c11ac522&amp;action=edit 1ed6d2b4]&lt;br&gt;
+[[MediaWiki_talk:c11ac522|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The page itself was moved successfully, but the
 talk page could not be moved because one already exists at the new
 title. Please merge them manually.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Talkexists</title></template>
+<template lineStart="1"><title>int:c11ac522</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Talkpage&amp;action=edit talkpage]&lt;br&gt;
-[[MediaWiki_talk:Talkpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6a38ff98&amp;action=edit 3c940bbf]&lt;br&gt;
+[[MediaWiki_talk:6a38ff98|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Discuss this page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Talkpage</title></template>
+<template lineStart="1"><title>int:6a38ff98</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Talkpagemoved&amp;action=edit talkpagemoved]&lt;br&gt;
-[[MediaWiki_talk:Talkpagemoved|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2b630ea0&amp;action=edit f053e191]&lt;br&gt;
+[[MediaWiki_talk:2b630ea0|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The corresponding talk page was also moved.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Talkpagemoved</title></template>
+<template lineStart="1"><title>int:2b630ea0</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Talkpagenotmoved&amp;action=edit talkpagenotmoved]&lt;br&gt;
-[[MediaWiki_talk:Talkpagenotmoved|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2282b1ca&amp;action=edit f3b6a64f]&lt;br&gt;
+[[MediaWiki_talk:2282b1ca|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The corresponding talk page was &amp;lt;strong&amp;gt;not&amp;lt;/strong&amp;gt; moved.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Talkpagenotmoved</title></template>
+<template lineStart="1"><title>int:2282b1ca</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Talkpagetext&amp;action=edit talkpagetext]&lt;br&gt;
-[[MediaWiki_talk:Talkpagetext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:45e3f76d&amp;action=edit 6534acb5]&lt;br&gt;
+[[MediaWiki_talk:45e3f76d|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;lt;!-- MediaWiki:talkpagetext --&amp;gt;
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Talkpagetext</title></template>
+<template lineStart="1"><title>int:45e3f76d</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Textboxsize&amp;action=edit textboxsize]&lt;br&gt;
-[[MediaWiki_talk:Textboxsize|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:607359f2&amp;action=edit 5788df25]&lt;br&gt;
+[[MediaWiki_talk:607359f2|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Textbox dimensions
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Textboxsize</title></template>
+<template lineStart="1"><title>int:607359f2</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Textmatches&amp;action=edit textmatches]&lt;br&gt;
-[[MediaWiki_talk:Textmatches|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:66571fbc&amp;action=edit 7d66aa0e]&lt;br&gt;
+[[MediaWiki_talk:66571fbc|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Page text matches
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Textmatches</title></template>
+<template lineStart="1"><title>int:66571fbc</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Thisisdeleted&amp;action=edit thisisdeleted]&lt;br&gt;
-[[MediaWiki_talk:Thisisdeleted|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e1f36741&amp;action=edit 83f663ed]&lt;br&gt;
+[[MediaWiki_talk:e1f36741|Talk]]
 &lt;/td&gt;&lt;td&gt;
 View or restore $1?
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Thisisdeleted</title></template>
+<template lineStart="1"><title>int:e1f36741</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Thumbnail-more&amp;action=edit thumbnail-more]&lt;br&gt;
-[[MediaWiki_talk:Thumbnail-more|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a29f027b&amp;action=edit a299730b]&lt;br&gt;
+[[MediaWiki_talk:a29f027b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Enlarge
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Thumbnail-more</title></template>
+<template lineStart="1"><title>int:a29f027b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Timezonelegend&amp;action=edit timezonelegend]&lt;br&gt;
-[[MediaWiki_talk:Timezonelegend|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9ced4850&amp;action=edit 36ee6f56]&lt;br&gt;
+[[MediaWiki_talk:9ced4850|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Time zone
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Timezonelegend</title></template>
+<template lineStart="1"><title>int:9ced4850</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Timezoneoffset&amp;action=edit timezoneoffset]&lt;br&gt;
-[[MediaWiki_talk:Timezoneoffset|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ca45a968&amp;action=edit 9dba4eb8]&lt;br&gt;
+[[MediaWiki_talk:ca45a968|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Offset
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Timezoneoffset</title></template>
+<template lineStart="1"><title>int:ca45a968</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Timezonetext&amp;action=edit timezonetext]&lt;br&gt;
-[[MediaWiki_talk:Timezonetext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:60bc3c41&amp;action=edit 3f58a2a9]&lt;br&gt;
+[[MediaWiki_talk:60bc3c41|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Enter number of hours your local time differs
 from server time (UTC).
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Timezonetext</title></template>
+<template lineStart="1"><title>int:60bc3c41</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Titlematches&amp;action=edit titlematches]&lt;br&gt;
-[[MediaWiki_talk:Titlematches|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2618febd&amp;action=edit e3f5384c]&lt;br&gt;
+[[MediaWiki_talk:2618febd|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Article title matches
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Titlematches</title></template>
+<template lineStart="1"><title>int:2618febd</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Toc&amp;action=edit toc]&lt;br&gt;
-[[MediaWiki_talk:Toc|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b8684fcf&amp;action=edit 2a609230]&lt;br&gt;
+[[MediaWiki_talk:b8684fcf|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Table of contents
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Toc</title></template>
+<template lineStart="1"><title>int:b8684fcf</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Toolbox&amp;action=edit toolbox]&lt;br&gt;
-[[MediaWiki_talk:Toolbox|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:692107c0&amp;action=edit d75ba923]&lt;br&gt;
+[[MediaWiki_talk:692107c0|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Toolbox
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Toolbox</title></template>
+<template lineStart="1"><title>int:692107c0</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-addsection&amp;action=edit tooltip-addsection]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-addsection|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b9116941&amp;action=edit 04ced041]&lt;br&gt;
+[[MediaWiki_talk:b9116941|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Add a comment to this page. &amp;#91;alt-+]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-addsection</title></template>
+<template lineStart="1"><title>int:b9116941</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-anontalk&amp;action=edit tooltip-anontalk]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-anontalk|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b583d36c&amp;action=edit b987f993]&lt;br&gt;
+[[MediaWiki_talk:b583d36c|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Discussion about edits from this ip address &amp;#91;alt-n]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-anontalk</title></template>
+<template lineStart="1"><title>int:b583d36c</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-anonuserpage&amp;action=edit tooltip-anonuserpage]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-anonuserpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9efcbe2f&amp;action=edit e3522c89]&lt;br&gt;
+[[MediaWiki_talk:9efcbe2f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The user page for the ip you&amp;#39;re editing as &amp;#91;alt-.]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-anonuserpage</title></template>
+<template lineStart="1"><title>int:9efcbe2f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-article&amp;action=edit tooltip-article]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-article|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2a4b9eea&amp;action=edit f3025f7a]&lt;br&gt;
+[[MediaWiki_talk:2a4b9eea|Talk]]
 &lt;/td&gt;&lt;td&gt;
 View the content page &amp;#91;alt-a]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-article</title></template>
+<template lineStart="1"><title>int:2a4b9eea</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-atom&amp;action=edit tooltip-atom]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-atom|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:dcd3ca0c&amp;action=edit e420bf33]&lt;br&gt;
+[[MediaWiki_talk:dcd3ca0c|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Atom feed for this page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-atom</title></template>
+<template lineStart="1"><title>int:dcd3ca0c</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-compareselectedversions&amp;action=edit tooltip-compareselectedversions]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-compareselectedversions|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d318992a&amp;action=edit d2ae036e]&lt;br&gt;
+[[MediaWiki_talk:d318992a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 See the differences between the two selected versions of this page. &amp;#91;alt-v]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-compareselectedversions</title></template>
+<template lineStart="1"><title>int:d318992a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-contributions&amp;action=edit tooltip-contributions]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-contributions|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:17165e38&amp;action=edit 2039dc44]&lt;br&gt;
+[[MediaWiki_talk:17165e38|Talk]]
 &lt;/td&gt;&lt;td&gt;
 View the list of contributions of this user
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-contributions</title></template>
+<template lineStart="1"><title>int:17165e38</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-currentevents&amp;action=edit tooltip-currentevents]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-currentevents|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:32bcbdd6&amp;action=edit d57ba9d6]&lt;br&gt;
+[[MediaWiki_talk:32bcbdd6|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Find background information on current events
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-currentevents</title></template>
+<template lineStart="1"><title>int:32bcbdd6</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-delete&amp;action=edit tooltip-delete]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-delete|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b1488dbf&amp;action=edit 742e0c2a]&lt;br&gt;
+[[MediaWiki_talk:b1488dbf|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Delete this page &amp;#91;alt-d]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-delete</title></template>
+<template lineStart="1"><title>int:b1488dbf</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-edit&amp;action=edit tooltip-edit]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-edit|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8c519c79&amp;action=edit 6b354128]&lt;br&gt;
+[[MediaWiki_talk:8c519c79|Talk]]
 &lt;/td&gt;&lt;td&gt;
 You can edit this page. Please use the preview button before saving. &amp;#91;alt-e]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-edit</title></template>
+<template lineStart="1"><title>int:8c519c79</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-emailuser&amp;action=edit tooltip-emailuser]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-emailuser|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d61f42ac&amp;action=edit 6a333373]&lt;br&gt;
+[[MediaWiki_talk:d61f42ac|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Send a mail to this user
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-emailuser</title></template>
+<template lineStart="1"><title>int:d61f42ac</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-help&amp;action=edit tooltip-help]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-help|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:691c7c4c&amp;action=edit 1f2e0a5e]&lt;br&gt;
+[[MediaWiki_talk:691c7c4c|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The place to find out.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-help</title></template>
+<template lineStart="1"><title>int:691c7c4c</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-history&amp;action=edit tooltip-history]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-history|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:da5d5f0e&amp;action=edit 357e85a5]&lt;br&gt;
+[[MediaWiki_talk:da5d5f0e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Past versions of this page, &amp;#91;alt-h]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-history</title></template>
+<template lineStart="1"><title>int:da5d5f0e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-login&amp;action=edit tooltip-login]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-login|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e20e86bb&amp;action=edit ff6db008]&lt;br&gt;
+[[MediaWiki_talk:e20e86bb|Talk]]
 &lt;/td&gt;&lt;td&gt;
 You are encouraged to log in, it is not mandatory however. &amp;#91;alt-o]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-login</title></template>
+<template lineStart="1"><title>int:e20e86bb</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-logout&amp;action=edit tooltip-logout]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-logout|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ab189540&amp;action=edit bd25c34c]&lt;br&gt;
+[[MediaWiki_talk:ab189540|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Log out &amp;#91;alt-o]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-logout</title></template>
+<template lineStart="1"><title>int:ab189540</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-mainpage&amp;action=edit tooltip-mainpage]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-mainpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8d2a8168&amp;action=edit 9dd4b86c]&lt;br&gt;
+[[MediaWiki_talk:8d2a8168|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Visit the Main Page &amp;#91;alt-z]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-mainpage</title></template>
+<template lineStart="1"><title>int:8d2a8168</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-minoredit&amp;action=edit tooltip-minoredit]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-minoredit|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7316f250&amp;action=edit 2138d388]&lt;br&gt;
+[[MediaWiki_talk:7316f250|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Mark this as a minor edit &amp;#91;alt-i]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-minoredit</title></template>
+<template lineStart="1"><title>int:7316f250</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-move&amp;action=edit tooltip-move]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-move|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bfe45253&amp;action=edit 00ef7343]&lt;br&gt;
+[[MediaWiki_talk:bfe45253|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Move this page &amp;#91;alt-m]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-move</title></template>
+<template lineStart="1"><title>int:bfe45253</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-mycontris&amp;action=edit tooltip-mycontris]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-mycontris|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c2b4d858&amp;action=edit 0bafecde]&lt;br&gt;
+[[MediaWiki_talk:c2b4d858|Talk]]
 &lt;/td&gt;&lt;td&gt;
 List of my contributions &amp;#91;alt-y]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-mycontris</title></template>
+<template lineStart="1"><title>int:c2b4d858</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-mytalk&amp;action=edit tooltip-mytalk]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-mytalk|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:22361e38&amp;action=edit ef887076]&lt;br&gt;
+[[MediaWiki_talk:22361e38|Talk]]
 &lt;/td&gt;&lt;td&gt;
 My talk page &amp;#91;alt-n]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-mytalk</title></template>
+<template lineStart="1"><title>int:22361e38</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-nomove&amp;action=edit tooltip-nomove]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-nomove|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b34e28e3&amp;action=edit 6d66eb21]&lt;br&gt;
+[[MediaWiki_talk:b34e28e3|Talk]]
 &lt;/td&gt;&lt;td&gt;
 You don&amp;#39;t have the permissions to move this page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-nomove</title></template>
+<template lineStart="1"><title>int:b34e28e3</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-portal&amp;action=edit tooltip-portal]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-portal|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:dc2cdd3b&amp;action=edit 7e77da11]&lt;br&gt;
+[[MediaWiki_talk:dc2cdd3b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 About the project, what you can do, where to find things
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-portal</title></template>
+<template lineStart="1"><title>int:dc2cdd3b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-preferences&amp;action=edit tooltip-preferences]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-preferences|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2032ad70&amp;action=edit 5611ec73]&lt;br&gt;
+[[MediaWiki_talk:2032ad70|Talk]]
 &lt;/td&gt;&lt;td&gt;
 My preferences
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-preferences</title></template>
+<template lineStart="1"><title>int:2032ad70</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-preview&amp;action=edit tooltip-preview]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-preview|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d87a6e27&amp;action=edit 71b5f228]&lt;br&gt;
+[[MediaWiki_talk:d87a6e27|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Preview your changes, please use this before saving! &amp;#91;alt-p]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-preview</title></template>
+<template lineStart="1"><title>int:d87a6e27</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-protect&amp;action=edit tooltip-protect]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-protect|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:44edd577&amp;action=edit fa1fc302]&lt;br&gt;
+[[MediaWiki_talk:44edd577|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Protect this page &amp;#91;alt-=]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-protect</title></template>
+<template lineStart="1"><title>int:44edd577</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-randompage&amp;action=edit tooltip-randompage]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-randompage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:aa67a70a&amp;action=edit f2eedbde]&lt;br&gt;
+[[MediaWiki_talk:aa67a70a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Load a random page &amp;#91;alt-x]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-randompage</title></template>
+<template lineStart="1"><title>int:aa67a70a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-recentchanges&amp;action=edit tooltip-recentchanges]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-recentchanges|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a5de539f&amp;action=edit cafd58f7]&lt;br&gt;
+[[MediaWiki_talk:a5de539f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The list of recent changes in the wiki. &amp;#91;alt-r]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-recentchanges</title></template>
+<template lineStart="1"><title>int:a5de539f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-recentchangeslinked&amp;action=edit tooltip-recentchangeslinked]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-recentchangeslinked|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:47cd8236&amp;action=edit ccab4d0f]&lt;br&gt;
+[[MediaWiki_talk:47cd8236|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Recent changes in pages linking to this page &amp;#91;alt-c]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-recentchangeslinked</title></template>
+<template lineStart="1"><title>int:47cd8236</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-rss&amp;action=edit tooltip-rss]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-rss|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:82964371&amp;action=edit 53235bed]&lt;br&gt;
+[[MediaWiki_talk:82964371|Talk]]
 &lt;/td&gt;&lt;td&gt;
 RSS feed for this page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-rss</title></template>
+<template lineStart="1"><title>int:82964371</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-save&amp;action=edit tooltip-save]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-save|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ec76631f&amp;action=edit 8ce4a9b9]&lt;br&gt;
+[[MediaWiki_talk:ec76631f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Save your changes &amp;#91;alt-s]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-save</title></template>
+<template lineStart="1"><title>int:ec76631f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-search&amp;action=edit tooltip-search]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-search|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6d206f30&amp;action=edit a6413695]&lt;br&gt;
+[[MediaWiki_talk:6d206f30|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Search this wiki &amp;#91;alt-f]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-search</title></template>
+<template lineStart="1"><title>int:6d206f30</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-sitesupport&amp;action=edit tooltip-sitesupport]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-sitesupport|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:65256208&amp;action=edit c2dafa2a]&lt;br&gt;
+[[MediaWiki_talk:65256208|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Support Wiktionary
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-sitesupport</title></template>
+<template lineStart="1"><title>int:65256208</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-specialpage&amp;action=edit tooltip-specialpage]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-specialpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:280cc8fd&amp;action=edit 73f9a677]&lt;br&gt;
+[[MediaWiki_talk:280cc8fd|Talk]]
 &lt;/td&gt;&lt;td&gt;
 This is a special page, you can&amp;#39;t edit the page itself.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-specialpage</title></template>
+<template lineStart="1"><title>int:280cc8fd</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-specialpages&amp;action=edit tooltip-specialpages]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-specialpages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7c7223be&amp;action=edit 764993b1]&lt;br&gt;
+[[MediaWiki_talk:7c7223be|Talk]]
 &lt;/td&gt;&lt;td&gt;
 List of all special pages &amp;#91;alt-q]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-specialpages</title></template>
+<template lineStart="1"><title>int:7c7223be</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-talk&amp;action=edit tooltip-talk]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-talk|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:06fb1d8e&amp;action=edit cb23801a]&lt;br&gt;
+[[MediaWiki_talk:06fb1d8e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Discussion about the content page &amp;#91;alt-t]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-talk</title></template>
+<template lineStart="1"><title>int:06fb1d8e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-undelete&amp;action=edit tooltip-undelete]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-undelete|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:341a8a32&amp;action=edit df81e982]&lt;br&gt;
+[[MediaWiki_talk:341a8a32|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Restore the $1 edits done to this page before it was deleted &amp;#91;alt-d]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-undelete</title></template>
+<template lineStart="1"><title>int:341a8a32</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-unwatch&amp;action=edit tooltip-unwatch]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-unwatch|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:377e895f&amp;action=edit 53f18c52]&lt;br&gt;
+[[MediaWiki_talk:377e895f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Remove this page from your watchlist &amp;#91;alt-w]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-unwatch</title></template>
+<template lineStart="1"><title>int:377e895f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-upload&amp;action=edit tooltip-upload]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-upload|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b1d4103e&amp;action=edit 6143ca0f]&lt;br&gt;
+[[MediaWiki_talk:b1d4103e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Upload images or media files &amp;#91;alt-u]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-upload</title></template>
+<template lineStart="1"><title>int:b1d4103e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-userpage&amp;action=edit tooltip-userpage]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-userpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3d8cae2f&amp;action=edit 2b3a6ed0]&lt;br&gt;
+[[MediaWiki_talk:3d8cae2f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 My user page &amp;#91;alt-.]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-userpage</title></template>
+<template lineStart="1"><title>int:3d8cae2f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-viewsource&amp;action=edit tooltip-viewsource]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-viewsource|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:141dd88c&amp;action=edit 1ef2ea9d]&lt;br&gt;
+[[MediaWiki_talk:141dd88c|Talk]]
 &lt;/td&gt;&lt;td&gt;
 This page is protected. You can view its source. &amp;#91;alt-e]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-viewsource</title></template>
+<template lineStart="1"><title>int:141dd88c</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-watch&amp;action=edit tooltip-watch]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-watch|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:68a73399&amp;action=edit 07e7b59d]&lt;br&gt;
+[[MediaWiki_talk:68a73399|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Add this page to your watchlist &amp;#91;alt-w]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-watch</title></template>
+<template lineStart="1"><title>int:68a73399</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-watchlist&amp;action=edit tooltip-watchlist]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-watchlist|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:56a787ff&amp;action=edit e24666fc]&lt;br&gt;
+[[MediaWiki_talk:56a787ff|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The list of pages you&amp;#39;re monitoring for changes. &amp;#91;alt-l]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-watchlist</title></template>
+<template lineStart="1"><title>int:56a787ff</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-whatlinkshere&amp;action=edit tooltip-whatlinkshere]&lt;br&gt;
-[[MediaWiki_talk:Tooltip-whatlinkshere|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3fd46bc1&amp;action=edit fbd416b7]&lt;br&gt;
+[[MediaWiki_talk:3fd46bc1|Talk]]
 &lt;/td&gt;&lt;td&gt;
 List of all wiki pages that link here &amp;#91;alt-b]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Tooltip-whatlinkshere</title></template>
+<template lineStart="1"><title>int:3fd46bc1</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uclinks&amp;action=edit uclinks]&lt;br&gt;
-[[MediaWiki_talk:Uclinks|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:47514ec5&amp;action=edit c48d8241]&lt;br&gt;
+[[MediaWiki_talk:47514ec5|Talk]]
 &lt;/td&gt;&lt;td&gt;
 View the last $1 changes; view the last $2 days.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Uclinks</title></template>
+<template lineStart="1"><title>int:47514ec5</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ucnote&amp;action=edit ucnote]&lt;br&gt;
-[[MediaWiki_talk:Ucnote|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6442d081&amp;action=edit 0d69ac51]&lt;br&gt;
+[[MediaWiki_talk:6442d081|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Below are this user&amp;#39;s last &amp;lt;b&amp;gt;$1&amp;lt;/b&amp;gt; changes in the last &amp;lt;b&amp;gt;$2&amp;lt;/b&amp;gt; days.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Ucnote</title></template>
+<template lineStart="1"><title>int:6442d081</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uctop&amp;action=edit uctop]&lt;br&gt;
-[[MediaWiki_talk:Uctop|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:507d407a&amp;action=edit f9bb6366]&lt;br&gt;
+[[MediaWiki_talk:507d407a|Talk]]
 &lt;/td&gt;&lt;td&gt;
  (top)
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Uctop</title></template>
+<template lineStart="1"><title>int:507d407a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unblockip&amp;action=edit unblockip]&lt;br&gt;
-[[MediaWiki_talk:Unblockip|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8c29ba33&amp;action=edit 2b4842fd]&lt;br&gt;
+[[MediaWiki_talk:8c29ba33|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Unblock user
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Unblockip</title></template>
+<template lineStart="1"><title>int:8c29ba33</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unblockiptext&amp;action=edit unblockiptext]&lt;br&gt;
-[[MediaWiki_talk:Unblockiptext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3a879bdb&amp;action=edit 98f7f719]&lt;br&gt;
+[[MediaWiki_talk:3a879bdb|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Use the form below to restore write access
 to a previously blocked IP address or username.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Unblockiptext</title></template>
+<template lineStart="1"><title>int:3a879bdb</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unblocklink&amp;action=edit unblocklink]&lt;br&gt;
-[[MediaWiki_talk:Unblocklink|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e954d285&amp;action=edit 24e7c6e7]&lt;br&gt;
+[[MediaWiki_talk:e954d285|Talk]]
 &lt;/td&gt;&lt;td&gt;
 unblock
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Unblocklink</title></template>
+<template lineStart="1"><title>int:e954d285</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unblocklogentry&amp;action=edit unblocklogentry]&lt;br&gt;
-[[MediaWiki_talk:Unblocklogentry|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5e55820a&amp;action=edit eecac2a2]&lt;br&gt;
+[[MediaWiki_talk:5e55820a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 unblocked &amp;quot;$1&amp;quot;
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Unblocklogentry</title></template>
+<template lineStart="1"><title>int:5e55820a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undelete&amp;action=edit undelete]&lt;br&gt;
-[[MediaWiki_talk:Undelete|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9b2a9354&amp;action=edit f690005f]&lt;br&gt;
+[[MediaWiki_talk:9b2a9354|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Restore deleted page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Undelete</title></template>
+<template lineStart="1"><title>int:9b2a9354</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undelete_short&amp;action=edit undelete_short]&lt;br&gt;
-[[MediaWiki_talk:Undelete_short|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:85cdbe83&amp;action=edit d4adea3f]&lt;br&gt;
+[[MediaWiki_talk:85cdbe83|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Undelete $1 edits
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Undelete_short</title></template>
+<template lineStart="1"><title>int:85cdbe83</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undeletearticle&amp;action=edit undeletearticle]&lt;br&gt;
-[[MediaWiki_talk:Undeletearticle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9ba522b6&amp;action=edit c4635e76]&lt;br&gt;
+[[MediaWiki_talk:9ba522b6|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Restore deleted page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Undeletearticle</title></template>
+<template lineStart="1"><title>int:9ba522b6</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undeletebtn&amp;action=edit undeletebtn]&lt;br&gt;
-[[MediaWiki_talk:Undeletebtn|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3346239e&amp;action=edit 5dd4b2af]&lt;br&gt;
+[[MediaWiki_talk:3346239e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Restore!
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Undeletebtn</title></template>
+<template lineStart="1"><title>int:3346239e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undeletedarticle&amp;action=edit undeletedarticle]&lt;br&gt;
-[[MediaWiki_talk:Undeletedarticle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c2a7eb23&amp;action=edit cf1590b6]&lt;br&gt;
+[[MediaWiki_talk:c2a7eb23|Talk]]
 &lt;/td&gt;&lt;td&gt;
 restored &amp;quot;$1&amp;quot;
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Undeletedarticle</title></template>
+<template lineStart="1"><title>int:c2a7eb23</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undeletedtext&amp;action=edit undeletedtext]&lt;br&gt;
-[[MediaWiki_talk:Undeletedtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:40f0db7a&amp;action=edit 5e55bc75]&lt;br&gt;
+[[MediaWiki_talk:40f0db7a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;#91;&amp;#91;$1]] has been successfully restored.
 See &amp;#91;&amp;#91;Wiktionary:Deletion_log]] for a record of recent deletions and restorations.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Undeletedtext</title></template>
+<template lineStart="1"><title>int:40f0db7a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undeletehistory&amp;action=edit undeletehistory]&lt;br&gt;
-[[MediaWiki_talk:Undeletehistory|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:feaa86c6&amp;action=edit a69aad99]&lt;br&gt;
+[[MediaWiki_talk:feaa86c6|Talk]]
 &lt;/td&gt;&lt;td&gt;
 If you restore the page, all revisions will be restored to the history.
 If a new page with the same name has been created since the deletion, the restored
 revisions will appear in the prior history, and the current revision of the live page
 will not be automatically replaced.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Undeletehistory</title></template>
+<template lineStart="1"><title>int:feaa86c6</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undeletepage&amp;action=edit undeletepage]&lt;br&gt;
-[[MediaWiki_talk:Undeletepage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9fa6521f&amp;action=edit d650f0a7]&lt;br&gt;
+[[MediaWiki_talk:9fa6521f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 View and restore deleted pages
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Undeletepage</title></template>
+<template lineStart="1"><title>int:9fa6521f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undeletepagetext&amp;action=edit undeletepagetext]&lt;br&gt;
-[[MediaWiki_talk:Undeletepagetext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2e99f66e&amp;action=edit 19b68d7f]&lt;br&gt;
+[[MediaWiki_talk:2e99f66e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The following pages have been deleted but are still in the archive and
 can be restored. The archive may be periodically cleaned out.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Undeletepagetext</title></template>
+<template lineStart="1"><title>int:2e99f66e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undeleterevision&amp;action=edit undeleterevision]&lt;br&gt;
-[[MediaWiki_talk:Undeleterevision|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b097a89b&amp;action=edit 2a3672ef]&lt;br&gt;
+[[MediaWiki_talk:b097a89b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Deleted revision as of $1
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Undeleterevision</title></template>
+<template lineStart="1"><title>int:b097a89b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undeleterevisions&amp;action=edit undeleterevisions]&lt;br&gt;
-[[MediaWiki_talk:Undeleterevisions|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:eb2694a4&amp;action=edit d0cd3f87]&lt;br&gt;
+[[MediaWiki_talk:eb2694a4|Talk]]
 &lt;/td&gt;&lt;td&gt;
 $1 revisions archived
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Undeleterevisions</title></template>
+<template lineStart="1"><title>int:eb2694a4</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unexpected&amp;action=edit unexpected]&lt;br&gt;
-[[MediaWiki_talk:Unexpected|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3b67a8c9&amp;action=edit fd2a2764]&lt;br&gt;
+[[MediaWiki_talk:3b67a8c9|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Unexpected value: &amp;quot;$1&amp;quot;=&amp;quot;$2&amp;quot;.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Unexpected</title></template>
+<template lineStart="1"><title>int:3b67a8c9</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unlockbtn&amp;action=edit unlockbtn]&lt;br&gt;
-[[MediaWiki_talk:Unlockbtn|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:016b68d2&amp;action=edit 74a8f293]&lt;br&gt;
+[[MediaWiki_talk:016b68d2|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Unlock database
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Unlockbtn</title></template>
+<template lineStart="1"><title>int:016b68d2</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unlockconfirm&amp;action=edit unlockconfirm]&lt;br&gt;
-[[MediaWiki_talk:Unlockconfirm|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:fc3080bf&amp;action=edit ded00b4f]&lt;br&gt;
+[[MediaWiki_talk:fc3080bf|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Yes, I really want to unlock the database.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Unlockconfirm</title></template>
+<template lineStart="1"><title>int:fc3080bf</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unlockdb&amp;action=edit unlockdb]&lt;br&gt;
-[[MediaWiki_talk:Unlockdb|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:4df98d29&amp;action=edit 68a2c7e3]&lt;br&gt;
+[[MediaWiki_talk:4df98d29|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Unlock database
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Unlockdb</title></template>
+<template lineStart="1"><title>int:4df98d29</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unlockdbsuccesssub&amp;action=edit unlockdbsuccesssub]&lt;br&gt;
-[[MediaWiki_talk:Unlockdbsuccesssub|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:86605aa9&amp;action=edit eb575aa1]&lt;br&gt;
+[[MediaWiki_talk:86605aa9|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Database lock removed
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Unlockdbsuccesssub</title></template>
+<template lineStart="1"><title>int:86605aa9</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unlockdbsuccesstext&amp;action=edit unlockdbsuccesstext]&lt;br&gt;
-[[MediaWiki_talk:Unlockdbsuccesstext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1896db20&amp;action=edit a7a78572]&lt;br&gt;
+[[MediaWiki_talk:1896db20|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The database has been unlocked.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Unlockdbsuccesstext</title></template>
+<template lineStart="1"><title>int:1896db20</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unlockdbtext&amp;action=edit unlockdbtext]&lt;br&gt;
-[[MediaWiki_talk:Unlockdbtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bd3decce&amp;action=edit 6b32a82f]&lt;br&gt;
+[[MediaWiki_talk:bd3decce|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Unlocking the database will restore the ability of all
 users to edit pages, change their preferences, edit their watchlists, and
 other things requiring changes in the database.
 Please confirm that this is what you intend to do.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Unlockdbtext</title></template>
+<template lineStart="1"><title>int:bd3decce</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unprotect&amp;action=edit unprotect]&lt;br&gt;
-[[MediaWiki_talk:Unprotect|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d180e0d9&amp;action=edit 116b2a3b]&lt;br&gt;
+[[MediaWiki_talk:d180e0d9|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Unprotect
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Unprotect</title></template>
+<template lineStart="1"><title>int:d180e0d9</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unprotectcomment&amp;action=edit unprotectcomment]&lt;br&gt;
-[[MediaWiki_talk:Unprotectcomment|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:affff3c2&amp;action=edit a4439c30]&lt;br&gt;
+[[MediaWiki_talk:affff3c2|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Reason for unprotecting
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Unprotectcomment</title></template>
+<template lineStart="1"><title>int:affff3c2</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unprotectedarticle&amp;action=edit unprotectedarticle]&lt;br&gt;
-[[MediaWiki_talk:Unprotectedarticle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b8d58125&amp;action=edit 66029ebc]&lt;br&gt;
+[[MediaWiki_talk:b8d58125|Talk]]
 &lt;/td&gt;&lt;td&gt;
 unprotected &amp;#91;&amp;#91;$1]]
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Unprotectedarticle</title></template>
+<template lineStart="1"><title>int:b8d58125</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unprotectsub&amp;action=edit unprotectsub]&lt;br&gt;
-[[MediaWiki_talk:Unprotectsub|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b15ab8cb&amp;action=edit c77cef4c]&lt;br&gt;
+[[MediaWiki_talk:b15ab8cb|Talk]]
 &lt;/td&gt;&lt;td&gt;
 (Unprotecting &amp;quot;$1&amp;quot;)
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Unprotectsub</title></template>
+<template lineStart="1"><title>int:b15ab8cb</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unprotectthispage&amp;action=edit unprotectthispage]&lt;br&gt;
-[[MediaWiki_talk:Unprotectthispage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:10782968&amp;action=edit caa31f1e]&lt;br&gt;
+[[MediaWiki_talk:10782968|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Unprotect this page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Unprotectthispage</title></template>
+<template lineStart="1"><title>int:10782968</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unusedimages&amp;action=edit unusedimages]&lt;br&gt;
-[[MediaWiki_talk:Unusedimages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5ed67176&amp;action=edit e17373a9]&lt;br&gt;
+[[MediaWiki_talk:5ed67176|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Unused images
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Unusedimages</title></template>
+<template lineStart="1"><title>int:5ed67176</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unusedimagestext&amp;action=edit unusedimagestext]&lt;br&gt;
-[[MediaWiki_talk:Unusedimagestext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:373709c4&amp;action=edit 13626cea]&lt;br&gt;
+[[MediaWiki_talk:373709c4|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;lt;p&amp;gt;Please note that other web sites may link to an image with
 a direct URL, and so may still be listed here despite being
 in active use.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Unusedimagestext</title></template>
+<template lineStart="1"><title>int:373709c4</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unwatch&amp;action=edit unwatch]&lt;br&gt;
-[[MediaWiki_talk:Unwatch|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:51055a00&amp;action=edit f6f282e9]&lt;br&gt;
+[[MediaWiki_talk:51055a00|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Unwatch
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Unwatch</title></template>
+<template lineStart="1"><title>int:51055a00</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unwatchthispage&amp;action=edit unwatchthispage]&lt;br&gt;
-[[MediaWiki_talk:Unwatchthispage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e21d3614&amp;action=edit c7d1cd1e]&lt;br&gt;
+[[MediaWiki_talk:e21d3614|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Stop watching
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Unwatchthispage</title></template>
+<template lineStart="1"><title>int:e21d3614</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Updated&amp;action=edit updated]&lt;br&gt;
-[[MediaWiki_talk:Updated|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f2f8570d&amp;action=edit 13a1891a]&lt;br&gt;
+[[MediaWiki_talk:f2f8570d|Talk]]
 &lt;/td&gt;&lt;td&gt;
 (Updated)
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Updated</title></template>
+<template lineStart="1"><title>int:f2f8570d</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Upload&amp;action=edit upload]&lt;br&gt;
-[[MediaWiki_talk:Upload|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8bdf057f&amp;action=edit bb73aaaf]&lt;br&gt;
+[[MediaWiki_talk:8bdf057f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Upload file
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Upload</title></template>
+<template lineStart="1"><title>int:8bdf057f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadbtn&amp;action=edit uploadbtn]&lt;br&gt;
-[[MediaWiki_talk:Uploadbtn|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0238951b&amp;action=edit 6be1c689]&lt;br&gt;
+[[MediaWiki_talk:0238951b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Upload file
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Uploadbtn</title></template>
+<template lineStart="1"><title>int:0238951b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploaddisabled&amp;action=edit uploaddisabled]&lt;br&gt;
-[[MediaWiki_talk:Uploaddisabled|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:88f59c5a&amp;action=edit 693f4b51]&lt;br&gt;
+[[MediaWiki_talk:88f59c5a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Sorry, uploading is disabled.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Uploaddisabled</title></template>
+<template lineStart="1"><title>int:88f59c5a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadedfiles&amp;action=edit uploadedfiles]&lt;br&gt;
-[[MediaWiki_talk:Uploadedfiles|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7b8969f2&amp;action=edit 7d4f03ff]&lt;br&gt;
+[[MediaWiki_talk:7b8969f2|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Uploaded files
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Uploadedfiles</title></template>
+<template lineStart="1"><title>int:7b8969f2</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadedimage&amp;action=edit uploadedimage]&lt;br&gt;
-[[MediaWiki_talk:Uploadedimage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:954c2a11&amp;action=edit e57056a0]&lt;br&gt;
+[[MediaWiki_talk:954c2a11|Talk]]
 &lt;/td&gt;&lt;td&gt;
 uploaded &amp;quot;$1&amp;quot;
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Uploadedimage</title></template>
+<template lineStart="1"><title>int:954c2a11</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploaderror&amp;action=edit uploaderror]&lt;br&gt;
-[[MediaWiki_talk:Uploaderror|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:304f9593&amp;action=edit 8f1603bd]&lt;br&gt;
+[[MediaWiki_talk:304f9593|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Upload error
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Uploaderror</title></template>
+<template lineStart="1"><title>int:304f9593</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadfile&amp;action=edit uploadfile]&lt;br&gt;
-[[MediaWiki_talk:Uploadfile|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9e71a62c&amp;action=edit 40d977b5]&lt;br&gt;
+[[MediaWiki_talk:9e71a62c|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Upload images, sounds, documents etc.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Uploadfile</title></template>
+<template lineStart="1"><title>int:9e71a62c</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadlink&amp;action=edit uploadlink]&lt;br&gt;
-[[MediaWiki_talk:Uploadlink|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:955e39f9&amp;action=edit 0bf93eec]&lt;br&gt;
+[[MediaWiki_talk:955e39f9|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Upload images
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Uploadlink</title></template>
+<template lineStart="1"><title>int:955e39f9</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadlog&amp;action=edit uploadlog]&lt;br&gt;
-[[MediaWiki_talk:Uploadlog|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0d39c428&amp;action=edit 0d49abe6]&lt;br&gt;
+[[MediaWiki_talk:0d39c428|Talk]]
 &lt;/td&gt;&lt;td&gt;
 upload log
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Uploadlog</title></template>
+<template lineStart="1"><title>int:0d39c428</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadlogpage&amp;action=edit uploadlogpage]&lt;br&gt;
-[[MediaWiki_talk:Uploadlogpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1f68a0e7&amp;action=edit 87611d30]&lt;br&gt;
+[[MediaWiki_talk:1f68a0e7|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Upload_log
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Uploadlogpage</title></template>
+<template lineStart="1"><title>int:1f68a0e7</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadlogpagetext&amp;action=edit uploadlogpagetext]&lt;br&gt;
-[[MediaWiki_talk:Uploadlogpagetext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2a430331&amp;action=edit 8aa7bf47]&lt;br&gt;
+[[MediaWiki_talk:2a430331|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Below is a list of the most recent file uploads.
 All times shown are server time (UTC).
@@ -5152,25 +5152,25 @@ All times shown are server time (UTC).
 &amp;lt;/ul&amp;gt;
 
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Uploadlogpagetext</title></template>
+<template lineStart="1"><title>int:2a430331</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadnologin&amp;action=edit uploadnologin]&lt;br&gt;
-[[MediaWiki_talk:Uploadnologin|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:92dd3bc9&amp;action=edit d2d8bd08]&lt;br&gt;
+[[MediaWiki_talk:92dd3bc9|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Not logged in
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Uploadnologin</title></template>
+<template lineStart="1"><title>int:92dd3bc9</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadnologintext&amp;action=edit uploadnologintext]&lt;br&gt;
-[[MediaWiki_talk:Uploadnologintext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:fecdb77e&amp;action=edit 09b01f51]&lt;br&gt;
+[[MediaWiki_talk:fecdb77e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 You must be &amp;lt;a href=&amp;quot;/wiki/Special:Userlogin&amp;quot;&amp;gt;logged in&amp;lt;/a&amp;gt;
 to upload files.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Uploadnologintext</title></template>
+<template lineStart="1"><title>int:fecdb77e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadtext&amp;action=edit uploadtext]&lt;br&gt;
-[[MediaWiki_talk:Uploadtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7804cb84&amp;action=edit 85bb3caa]&lt;br&gt;
+[[MediaWiki_talk:7804cb84|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;lt;strong&amp;gt;STOP!&amp;lt;/strong&amp;gt; Before you upload here,
 make sure to read and follow the &amp;lt;a href=&amp;quot;/wiki/Special:Image_use_policy&amp;quot;&amp;gt;image use policy&amp;lt;/a&amp;gt;.
@@ -5201,404 +5201,404 @@ or &amp;lt;b&amp;gt;&amp;#91;&amp;#91;Media:file.ogg]]&amp;lt;/b&amp;gt; for sou
 delete your uploads if they think it serves the project, and
 you may be blocked from uploading if you abuse the system.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Uploadtext</title></template>
+<template lineStart="1"><title>int:7804cb84</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadwarning&amp;action=edit uploadwarning]&lt;br&gt;
-[[MediaWiki_talk:Uploadwarning|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:fb3ef2ae&amp;action=edit 8aae8210]&lt;br&gt;
+[[MediaWiki_talk:fb3ef2ae|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Upload warning
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Uploadwarning</title></template>
+<template lineStart="1"><title>int:fb3ef2ae</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:User_rights_set&amp;action=edit user_rights_set]&lt;br&gt;
-[[MediaWiki_talk:User_rights_set|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a5430c9b&amp;action=edit 6a080eb0]&lt;br&gt;
+[[MediaWiki_talk:a5430c9b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;lt;b&amp;gt;User rights for &amp;quot;$1&amp;quot; updated&amp;lt;/b&amp;gt;
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:User_rights_set</title></template>
+<template lineStart="1"><title>int:a5430c9b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Usercssjs&amp;action=edit usercssjs]&lt;br&gt;
-[[MediaWiki_talk:Usercssjs|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:89b73748&amp;action=edit 8b23a826]&lt;br&gt;
+[[MediaWiki_talk:89b73748|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;#39;&amp;#39;&amp;#39;Note:&amp;#39;&amp;#39;&amp;#39; After saving, you have to tell your bowser to get the new version: &amp;#39;&amp;#39;&amp;#39;Mozilla:&amp;#39;&amp;#39;&amp;#39; click &amp;#39;&amp;#39;reload&amp;#39;&amp;#39;(or &amp;#39;&amp;#39;ctrl-r&amp;#39;&amp;#39;), &amp;#39;&amp;#39;&amp;#39;IE / Opera:&amp;#39;&amp;#39;&amp;#39; &amp;#39;&amp;#39;ctrl-f5&amp;#39;&amp;#39;, &amp;#39;&amp;#39;&amp;#39;Safari:&amp;#39;&amp;#39;&amp;#39; &amp;#39;&amp;#39;cmd-r&amp;#39;&amp;#39;, &amp;#39;&amp;#39;&amp;#39;Konqueror&amp;#39;&amp;#39;&amp;#39; &amp;#39;&amp;#39;ctrl-r&amp;#39;&amp;#39;.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Usercssjs</title></template>
+<template lineStart="1"><title>int:89b73748</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Usercssjsyoucanpreview&amp;action=edit usercssjsyoucanpreview]&lt;br&gt;
-[[MediaWiki_talk:Usercssjsyoucanpreview|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1656c92b&amp;action=edit 97bd6e75]&lt;br&gt;
+[[MediaWiki_talk:1656c92b|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;lt;strong&amp;gt;Tip:&amp;lt;/strong&amp;gt; Use the &amp;#39;Show preview&amp;#39; button to test your new css/js before saving.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Usercssjsyoucanpreview</title></template>
+<template lineStart="1"><title>int:1656c92b</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Usercsspreview&amp;action=edit usercsspreview]&lt;br&gt;
-[[MediaWiki_talk:Usercsspreview|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9f62117d&amp;action=edit b51c3667]&lt;br&gt;
+[[MediaWiki_talk:9f62117d|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;#39;&amp;#39;&amp;#39;Remember that you are only previewing your user css, it has not yet been saved!&amp;#39;&amp;#39;&amp;#39;
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Usercsspreview</title></template>
+<template lineStart="1"><title>int:9f62117d</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Userexists&amp;action=edit userexists]&lt;br&gt;
-[[MediaWiki_talk:Userexists|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:77541367&amp;action=edit a49220af]&lt;br&gt;
+[[MediaWiki_talk:77541367|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The user name you entered is already in use. Please choose a different name.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Userexists</title></template>
+<template lineStart="1"><title>int:77541367</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Userjspreview&amp;action=edit userjspreview]&lt;br&gt;
-[[MediaWiki_talk:Userjspreview|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:eca4b211&amp;action=edit 2e8efec0]&lt;br&gt;
+[[MediaWiki_talk:eca4b211|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;#39;&amp;#39;&amp;#39;Remember that you are only testing/previewing your user javascript, it has not yet been saved!&amp;#39;&amp;#39;&amp;#39;
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Userjspreview</title></template>
+<template lineStart="1"><title>int:eca4b211</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Userlogin&amp;action=edit userlogin]&lt;br&gt;
-[[MediaWiki_talk:Userlogin|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:49c670f4&amp;action=edit eb0f23d8]&lt;br&gt;
+[[MediaWiki_talk:49c670f4|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Log in
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Userlogin</title></template>
+<template lineStart="1"><title>int:49c670f4</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Userlogout&amp;action=edit userlogout]&lt;br&gt;
-[[MediaWiki_talk:Userlogout|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:fb3467d9&amp;action=edit 271a962f]&lt;br&gt;
+[[MediaWiki_talk:fb3467d9|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Log out
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Userlogout</title></template>
+<template lineStart="1"><title>int:fb3467d9</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Usermailererror&amp;action=edit usermailererror]&lt;br&gt;
-[[MediaWiki_talk:Usermailererror|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e1881ca2&amp;action=edit 0e3f35e1]&lt;br&gt;
+[[MediaWiki_talk:e1881ca2|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Mail object returned error: 
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Usermailererror</title></template>
+<template lineStart="1"><title>int:e1881ca2</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Userpage&amp;action=edit userpage]&lt;br&gt;
-[[MediaWiki_talk:Userpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:823fdaf7&amp;action=edit ea81d010]&lt;br&gt;
+[[MediaWiki_talk:823fdaf7|Talk]]
 &lt;/td&gt;&lt;td&gt;
 View user page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Userpage</title></template>
+<template lineStart="1"><title>int:823fdaf7</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Userstats&amp;action=edit userstats]&lt;br&gt;
-[[MediaWiki_talk:Userstats|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f25ef873&amp;action=edit 2ab9a2af]&lt;br&gt;
+[[MediaWiki_talk:f25ef873|Talk]]
 &lt;/td&gt;&lt;td&gt;
 User statistics
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Userstats</title></template>
+<template lineStart="1"><title>int:f25ef873</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Userstatstext&amp;action=edit userstatstext]&lt;br&gt;
-[[MediaWiki_talk:Userstatstext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b704c939&amp;action=edit 903f135d]&lt;br&gt;
+[[MediaWiki_talk:b704c939|Talk]]
 &lt;/td&gt;&lt;td&gt;
 There are &amp;#39;&amp;#39;&amp;#39;$1&amp;#39;&amp;#39;&amp;#39; registered users.
 &amp;#39;&amp;#39;&amp;#39;$2&amp;#39;&amp;#39;&amp;#39; of these are administrators (see $3).
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Userstatstext</title></template>
+<template lineStart="1"><title>int:b704c939</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Version&amp;action=edit version]&lt;br&gt;
-[[MediaWiki_talk:Version|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2da600bf&amp;action=edit c692273d]&lt;br&gt;
+[[MediaWiki_talk:2da600bf|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Version
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Version</title></template>
+<template lineStart="1"><title>int:2da600bf</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Viewcount&amp;action=edit viewcount]&lt;br&gt;
-[[MediaWiki_talk:Viewcount|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:cd20ed80&amp;action=edit 9204f6f2]&lt;br&gt;
+[[MediaWiki_talk:cd20ed80|Talk]]
 &lt;/td&gt;&lt;td&gt;
 This page has been accessed $1 times.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Viewcount</title></template>
+<template lineStart="1"><title>int:cd20ed80</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Viewprevnext&amp;action=edit viewprevnext]&lt;br&gt;
-[[MediaWiki_talk:Viewprevnext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b3a212e8&amp;action=edit 023f0549]&lt;br&gt;
+[[MediaWiki_talk:b3a212e8|Talk]]
 &lt;/td&gt;&lt;td&gt;
 View ($1) ($2) ($3).
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Viewprevnext</title></template>
+<template lineStart="1"><title>int:b3a212e8</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Viewsource&amp;action=edit viewsource]&lt;br&gt;
-[[MediaWiki_talk:Viewsource|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1affdb1e&amp;action=edit db9e2eba]&lt;br&gt;
+[[MediaWiki_talk:1affdb1e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 View source
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Viewsource</title></template>
+<template lineStart="1"><title>int:1affdb1e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Viewtalkpage&amp;action=edit viewtalkpage]&lt;br&gt;
-[[MediaWiki_talk:Viewtalkpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f6336004&amp;action=edit 2e250bd9]&lt;br&gt;
+[[MediaWiki_talk:f6336004|Talk]]
 &lt;/td&gt;&lt;td&gt;
 View discussion
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Viewtalkpage</title></template>
+<template lineStart="1"><title>int:f6336004</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Wantedpages&amp;action=edit wantedpages]&lt;br&gt;
-[[MediaWiki_talk:Wantedpages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7da05431&amp;action=edit 4d2466a3]&lt;br&gt;
+[[MediaWiki_talk:7da05431|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Wanted pages
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Wantedpages</title></template>
+<template lineStart="1"><title>int:7da05431</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watch&amp;action=edit watch]&lt;br&gt;
-[[MediaWiki_talk:Watch|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d91ebf58&amp;action=edit 292b0901]&lt;br&gt;
+[[MediaWiki_talk:d91ebf58|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Watch
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Watch</title></template>
+<template lineStart="1"><title>int:d91ebf58</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchdetails&amp;action=edit watchdetails]&lt;br&gt;
-[[MediaWiki_talk:Watchdetails|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d815e414&amp;action=edit ddfeb02c]&lt;br&gt;
+[[MediaWiki_talk:d815e414|Talk]]
 &lt;/td&gt;&lt;td&gt;
 ($1 pages watched not counting talk pages;
 $2 total pages edited since cutoff;
 $3...
 &amp;lt;a href=&amp;#39;$4&amp;#39;&amp;gt;show and edit complete list&amp;lt;/a&amp;gt;.)
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Watchdetails</title></template>
+<template lineStart="1"><title>int:d815e414</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watcheditlist&amp;action=edit watcheditlist]&lt;br&gt;
-[[MediaWiki_talk:Watcheditlist|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:780e4559&amp;action=edit d7d3bb79]&lt;br&gt;
+[[MediaWiki_talk:780e4559|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Here&amp;#39;s an alphabetical list of your
 watched pages. Check the boxes of pages you want to remove
 from your watchlist and click the &amp;#39;remove checked&amp;#39; button
 at the bottom of the screen.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Watcheditlist</title></template>
+<template lineStart="1"><title>int:780e4559</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchlist&amp;action=edit watchlist]&lt;br&gt;
-[[MediaWiki_talk:Watchlist|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:48a616d9&amp;action=edit db14f0be]&lt;br&gt;
+[[MediaWiki_talk:48a616d9|Talk]]
 &lt;/td&gt;&lt;td&gt;
 My watchlist
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Watchlist</title></template>
+<template lineStart="1"><title>int:48a616d9</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchlistcontains&amp;action=edit watchlistcontains]&lt;br&gt;
-[[MediaWiki_talk:Watchlistcontains|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:690e08f8&amp;action=edit 37074879]&lt;br&gt;
+[[MediaWiki_talk:690e08f8|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Your watchlist contains $1 pages.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Watchlistcontains</title></template>
+<template lineStart="1"><title>int:690e08f8</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchlistsub&amp;action=edit watchlistsub]&lt;br&gt;
-[[MediaWiki_talk:Watchlistsub|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:913a8eb4&amp;action=edit 1d490f51]&lt;br&gt;
+[[MediaWiki_talk:913a8eb4|Talk]]
 &lt;/td&gt;&lt;td&gt;
 (for user &amp;quot;$1&amp;quot;)
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Watchlistsub</title></template>
+<template lineStart="1"><title>int:913a8eb4</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchmethod-list&amp;action=edit watchmethod-list]&lt;br&gt;
-[[MediaWiki_talk:Watchmethod-list|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:983ce9b1&amp;action=edit b5396cea]&lt;br&gt;
+[[MediaWiki_talk:983ce9b1|Talk]]
 &lt;/td&gt;&lt;td&gt;
 checking watched pages for recent edits
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Watchmethod-list</title></template>
+<template lineStart="1"><title>int:983ce9b1</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchmethod-recent&amp;action=edit watchmethod-recent]&lt;br&gt;
-[[MediaWiki_talk:Watchmethod-recent|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2e5e56e2&amp;action=edit c69b87d2]&lt;br&gt;
+[[MediaWiki_talk:2e5e56e2|Talk]]
 &lt;/td&gt;&lt;td&gt;
 checking recent edits for watched pages
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Watchmethod-recent</title></template>
+<template lineStart="1"><title>int:2e5e56e2</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchnochange&amp;action=edit watchnochange]&lt;br&gt;
-[[MediaWiki_talk:Watchnochange|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:cdd40087&amp;action=edit 24353550]&lt;br&gt;
+[[MediaWiki_talk:cdd40087|Talk]]
 &lt;/td&gt;&lt;td&gt;
 None of your watched items were edited in the time period displayed.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Watchnochange</title></template>
+<template lineStart="1"><title>int:cdd40087</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchnologin&amp;action=edit watchnologin]&lt;br&gt;
-[[MediaWiki_talk:Watchnologin|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ec51da09&amp;action=edit c873a8c3]&lt;br&gt;
+[[MediaWiki_talk:ec51da09|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Not logged in
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Watchnologin</title></template>
+<template lineStart="1"><title>int:ec51da09</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchnologintext&amp;action=edit watchnologintext]&lt;br&gt;
-[[MediaWiki_talk:Watchnologintext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7870af11&amp;action=edit 080c4da9]&lt;br&gt;
+[[MediaWiki_talk:7870af11|Talk]]
 &lt;/td&gt;&lt;td&gt;
 You must be &amp;lt;a href=&amp;quot;/wiki/Special:Userlogin&amp;quot;&amp;gt;logged in&amp;lt;/a&amp;gt;
 to modify your watchlist.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Watchnologintext</title></template>
+<template lineStart="1"><title>int:7870af11</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchthis&amp;action=edit watchthis]&lt;br&gt;
-[[MediaWiki_talk:Watchthis|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2fa65d73&amp;action=edit 89758668]&lt;br&gt;
+[[MediaWiki_talk:2fa65d73|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Watch this page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Watchthis</title></template>
+<template lineStart="1"><title>int:2fa65d73</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchthispage&amp;action=edit watchthispage]&lt;br&gt;
-[[MediaWiki_talk:Watchthispage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:79260dc8&amp;action=edit d94c2857]&lt;br&gt;
+[[MediaWiki_talk:79260dc8|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Watch this page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Watchthispage</title></template>
+<template lineStart="1"><title>int:79260dc8</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Welcomecreation&amp;action=edit welcomecreation]&lt;br&gt;
-[[MediaWiki_talk:Welcomecreation|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:622a355f&amp;action=edit 5b3750aa]&lt;br&gt;
+[[MediaWiki_talk:622a355f|Talk]]
 &lt;/td&gt;&lt;td&gt;
 &amp;lt;h2&amp;gt;Welcome, $1!&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Your account has been created.
 Don&amp;#39;t forget to change your Wiktionary preferences.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Welcomecreation</title></template>
+<template lineStart="1"><title>int:622a355f</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Whatlinkshere&amp;action=edit whatlinkshere]&lt;br&gt;
-[[MediaWiki_talk:Whatlinkshere|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bde1fbba&amp;action=edit 28d0e2a8]&lt;br&gt;
+[[MediaWiki_talk:bde1fbba|Talk]]
 &lt;/td&gt;&lt;td&gt;
 What links here
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Whatlinkshere</title></template>
+<template lineStart="1"><title>int:bde1fbba</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Whitelistacctext&amp;action=edit whitelistacctext]&lt;br&gt;
-[[MediaWiki_talk:Whitelistacctext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:53f0999a&amp;action=edit b3775e04]&lt;br&gt;
+[[MediaWiki_talk:53f0999a|Talk]]
 &lt;/td&gt;&lt;td&gt;
 To be allowed to create accounts in this Wiki you have to &amp;#91;&amp;#91;Special:Userlogin&amp;#124;log]] in and have the appropriate permissions.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Whitelistacctext</title></template>
+<template lineStart="1"><title>int:53f0999a</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Whitelistacctitle&amp;action=edit whitelistacctitle]&lt;br&gt;
-[[MediaWiki_talk:Whitelistacctitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:901574b0&amp;action=edit 13f7d937]&lt;br&gt;
+[[MediaWiki_talk:901574b0|Talk]]
 &lt;/td&gt;&lt;td&gt;
 You are not allowed to create an account
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Whitelistacctitle</title></template>
+<template lineStart="1"><title>int:901574b0</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Whitelistedittext&amp;action=edit whitelistedittext]&lt;br&gt;
-[[MediaWiki_talk:Whitelistedittext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:28589651&amp;action=edit 8d93b543]&lt;br&gt;
+[[MediaWiki_talk:28589651|Talk]]
 &lt;/td&gt;&lt;td&gt;
 You have to &amp;#91;&amp;#91;Special:Userlogin&amp;#124;login]] to edit pages.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Whitelistedittext</title></template>
+<template lineStart="1"><title>int:28589651</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Whitelistedittitle&amp;action=edit whitelistedittitle]&lt;br&gt;
-[[MediaWiki_talk:Whitelistedittitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d4e0db33&amp;action=edit 76713eb6]&lt;br&gt;
+[[MediaWiki_talk:d4e0db33|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Login required to edit
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Whitelistedittitle</title></template>
+<template lineStart="1"><title>int:d4e0db33</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Whitelistreadtext&amp;action=edit whitelistreadtext]&lt;br&gt;
-[[MediaWiki_talk:Whitelistreadtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7046be67&amp;action=edit 3c46b4af]&lt;br&gt;
+[[MediaWiki_talk:7046be67|Talk]]
 &lt;/td&gt;&lt;td&gt;
 You have to &amp;#91;&amp;#91;Special:Userlogin&amp;#124;login]] to read pages.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Whitelistreadtext</title></template>
+<template lineStart="1"><title>int:7046be67</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Whitelistreadtitle&amp;action=edit whitelistreadtitle]&lt;br&gt;
-[[MediaWiki_talk:Whitelistreadtitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:56f7b6c8&amp;action=edit 27809c2a]&lt;br&gt;
+[[MediaWiki_talk:56f7b6c8|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Login required to read
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Whitelistreadtitle</title></template>
+<template lineStart="1"><title>int:56f7b6c8</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Wikipediapage&amp;action=edit wikipediapage]&lt;br&gt;
-[[MediaWiki_talk:Wikipediapage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8815fbb3&amp;action=edit 80a9ff8d]&lt;br&gt;
+[[MediaWiki_talk:8815fbb3|Talk]]
 &lt;/td&gt;&lt;td&gt;
 View project page
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Wikipediapage</title></template>
+<template lineStart="1"><title>int:8815fbb3</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Wikititlesuffix&amp;action=edit wikititlesuffix]&lt;br&gt;
-[[MediaWiki_talk:Wikititlesuffix|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d00a5142&amp;action=edit 937cdab5]&lt;br&gt;
+[[MediaWiki_talk:d00a5142|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Wiktionary
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Wikititlesuffix</title></template>
+<template lineStart="1"><title>int:d00a5142</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Wlnote&amp;action=edit wlnote]&lt;br&gt;
-[[MediaWiki_talk:Wlnote|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a7ee1c5c&amp;action=edit b6ea8219]&lt;br&gt;
+[[MediaWiki_talk:a7ee1c5c|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Below are the last $1 changes in the last &amp;lt;b&amp;gt;$2&amp;lt;/b&amp;gt; hours.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Wlnote</title></template>
+<template lineStart="1"><title>int:a7ee1c5c</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Wlsaved&amp;action=edit wlsaved]&lt;br&gt;
-[[MediaWiki_talk:Wlsaved|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:deb21c59&amp;action=edit 843af08d]&lt;br&gt;
+[[MediaWiki_talk:deb21c59|Talk]]
 &lt;/td&gt;&lt;td&gt;
 This is a saved version of your watchlist.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Wlsaved</title></template>
+<template lineStart="1"><title>int:deb21c59</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Wlshowlast&amp;action=edit wlshowlast]&lt;br&gt;
-[[MediaWiki_talk:Wlshowlast|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e77517fa&amp;action=edit 89821357]&lt;br&gt;
+[[MediaWiki_talk:e77517fa|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Show last $1 hours $2 days $3
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Wlshowlast</title></template>
+<template lineStart="1"><title>int:e77517fa</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Wrong_wfQuery_params&amp;action=edit wrong_wfQuery_params]&lt;br&gt;
-[[MediaWiki_talk:Wrong_wfQuery_params|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a9b62164&amp;action=edit d526a8a6]&lt;br&gt;
+[[MediaWiki_talk:a9b62164|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Incorrect parameters to wfQuery()&amp;lt;br /&amp;gt;
 Function: $1&amp;lt;br /&amp;gt;
 Query: $2
 
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Wrong_wfQuery_params</title></template>
+<template lineStart="1"><title>int:a9b62164</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Wrongpassword&amp;action=edit wrongpassword]&lt;br&gt;
-[[MediaWiki_talk:Wrongpassword|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3314dacf&amp;action=edit d8ecf7db]&lt;br&gt;
+[[MediaWiki_talk:3314dacf|Talk]]
 &lt;/td&gt;&lt;td&gt;
 The password you entered is incorrect. Please try again.
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Wrongpassword</title></template>
+<template lineStart="1"><title>int:3314dacf</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Yourdiff&amp;action=edit yourdiff]&lt;br&gt;
-[[MediaWiki_talk:Yourdiff|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2e0414f0&amp;action=edit 4fe151ac]&lt;br&gt;
+[[MediaWiki_talk:2e0414f0|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Differences
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Yourdiff</title></template>
+<template lineStart="1"><title>int:2e0414f0</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Youremail&amp;action=edit youremail]&lt;br&gt;
-[[MediaWiki_talk:Youremail|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0f5ab9c9&amp;action=edit 0a98c2ad]&lt;br&gt;
+[[MediaWiki_talk:0f5ab9c9|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Your email*
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Youremail</title></template>
+<template lineStart="1"><title>int:0f5ab9c9</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Yourname&amp;action=edit yourname]&lt;br&gt;
-[[MediaWiki_talk:Yourname|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f495043e&amp;action=edit 32d0e33a]&lt;br&gt;
+[[MediaWiki_talk:f495043e|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Your user name
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Yourname</title></template>
+<template lineStart="1"><title>int:f495043e</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Yournick&amp;action=edit yournick]&lt;br&gt;
-[[MediaWiki_talk:Yournick|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6aa78968&amp;action=edit f8b28bd9]&lt;br&gt;
+[[MediaWiki_talk:6aa78968|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Your nickname (for signatures)
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Yournick</title></template>
+<template lineStart="1"><title>int:6aa78968</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Yourpassword&amp;action=edit yourpassword]&lt;br&gt;
-[[MediaWiki_talk:Yourpassword|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:13a44203&amp;action=edit b48cf014]&lt;br&gt;
+[[MediaWiki_talk:13a44203|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Your password
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Yourpassword</title></template>
+<template lineStart="1"><title>int:13a44203</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Yourpasswordagain&amp;action=edit yourpasswordagain]&lt;br&gt;
-[[MediaWiki_talk:Yourpasswordagain|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c0ad7f05&amp;action=edit e14a732b]&lt;br&gt;
+[[MediaWiki_talk:c0ad7f05|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Retype password
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Yourpasswordagain</title></template>
+<template lineStart="1"><title>int:c0ad7f05</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Yourrealname&amp;action=edit yourrealname]&lt;br&gt;
-[[MediaWiki_talk:Yourrealname|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:519f30b5&amp;action=edit 7fc3e5b1]&lt;br&gt;
+[[MediaWiki_talk:519f30b5|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Your real name*
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Yourrealname</title></template>
+<template lineStart="1"><title>int:519f30b5</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Yourtext&amp;action=edit yourtext]&lt;br&gt;
-[[MediaWiki_talk:Yourtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f98650e0&amp;action=edit 5b5af4ea]&lt;br&gt;
+[[MediaWiki_talk:f98650e0|Talk]]
 &lt;/td&gt;&lt;td&gt;
 Your text
 &lt;/td&gt;&lt;td&gt;
-<template lineStart="1"><title>int:Yourtext</title></template>
+<template lineStart="1"><title>int:f98650e0</title></template>
 &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
 
 </root>
\ No newline at end of file
index cdc223a..3212ae1 100644 (file)
@@ -1,4 +1,4 @@
-{{int:allmessagestext}}
+{{int:57dbe26a}}
 
 <table border=1 width=100%><tr><td>
 '''Name'''
 </td><td>
 '''Current text'''
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1movedto2&action=edit 1movedto2]<br>
-[[MediaWiki_talk:1movedto2|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f9cca05b&action=edit f9cca05b]<br>
+[[MediaWiki_talk:f9cca05b|Talk]]
 </td><td>
 $1 moved to $2
 </td><td>
-{{int:1movedto2}}
+{{int:f9cca05b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Monobook.css&action=edit Monobook.css]<br>
-[[MediaWiki_talk:Monobook.css|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ed065216&action=edit ed065216]<br>
+[[MediaWiki_talk:ed065216|Talk]]
 </td><td>
 /* edit this file to customize the monobook skin for the entire site */
 </td><td>
-{{int:Monobook.css}}
+{{int:ed065216}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:About&action=edit about]<br>
-[[MediaWiki_talk:About|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6b21fb79&action=edit 5780daf6]<br>
+[[MediaWiki_talk:6b21fb79|Talk]]
 </td><td>
 About
 </td><td>
-{{int:About}}
+{{int:6b21fb79}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Aboutpage&action=edit aboutpage]<br>
-[[MediaWiki_talk:Aboutpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:54f19e13&action=edit 4bd9b804]<br>
+[[MediaWiki_talk:54f19e13|Talk]]
 </td><td>
 Wiktionary:About
 </td><td>
-{{int:Aboutpage}}
+{{int:54f19e13}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Aboutwikipedia&action=edit aboutwikipedia]<br>
-[[MediaWiki_talk:Aboutwikipedia|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8e17cc1b&action=edit 7be96c69]<br>
+[[MediaWiki_talk:8e17cc1b|Talk]]
 </td><td>
 About Wiktionary
 </td><td>
-{{int:Aboutwikipedia}}
+{{int:8e17cc1b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-addsection&action=edit accesskey-addsection]<br>
-[[MediaWiki_talk:Accesskey-addsection|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:4b7f0428&action=edit 69f5ae1e]<br>
+[[MediaWiki_talk:4b7f0428|Talk]]
 </td><td>
 +
 </td><td>
-{{int:Accesskey-addsection}}
+{{int:4b7f0428}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-anontalk&action=edit accesskey-anontalk]<br>
-[[MediaWiki_talk:Accesskey-anontalk|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b18a7fba&action=edit ba8c9426]<br>
+[[MediaWiki_talk:b18a7fba|Talk]]
 </td><td>
 n
 </td><td>
-{{int:Accesskey-anontalk}}
+{{int:b18a7fba}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-anonuserpage&action=edit accesskey-anonuserpage]<br>
-[[MediaWiki_talk:Accesskey-anonuserpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3cfd08b4&action=edit 098256f5]<br>
+[[MediaWiki_talk:3cfd08b4|Talk]]
 </td><td>
 .
 </td><td>
-{{int:Accesskey-anonuserpage}}
+{{int:3cfd08b4}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-article&action=edit accesskey-article]<br>
-[[MediaWiki_talk:Accesskey-article|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d00706c5&action=edit 7638fc38]<br>
+[[MediaWiki_talk:d00706c5|Talk]]
 </td><td>
 a
 </td><td>
-{{int:Accesskey-article}}
+{{int:d00706c5}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-compareselectedversions&action=edit accesskey-compareselectedversions]<br>
-[[MediaWiki_talk:Accesskey-compareselectedversions|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7bbcdfc9&action=edit 840afed8]<br>
+[[MediaWiki_talk:7bbcdfc9|Talk]]
 </td><td>
 v
 </td><td>
-{{int:Accesskey-compareselectedversions}}
+{{int:7bbcdfc9}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-contributions&action=edit accesskey-contributions]<br>
-[[MediaWiki_talk:Accesskey-contributions|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0750ed4b&action=edit 9703e6d9]<br>
+[[MediaWiki_talk:0750ed4b|Talk]]
 </td><td>
 &amp;lt;accesskey-contributions&amp;gt;
 </td><td>
-{{int:Accesskey-contributions}}
+{{int:0750ed4b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-currentevents&action=edit accesskey-currentevents]<br>
-[[MediaWiki_talk:Accesskey-currentevents|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:602dda6f&action=edit 7e13f963]<br>
+[[MediaWiki_talk:602dda6f|Talk]]
 </td><td>
 &amp;lt;accesskey-currentevents&amp;gt;
 </td><td>
-{{int:Accesskey-currentevents}}
+{{int:602dda6f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-delete&action=edit accesskey-delete]<br>
-[[MediaWiki_talk:Accesskey-delete|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a395260e&action=edit be42f966]<br>
+[[MediaWiki_talk:a395260e|Talk]]
 </td><td>
 d
 </td><td>
-{{int:Accesskey-delete}}
+{{int:a395260e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-edit&action=edit accesskey-edit]<br>
-[[MediaWiki_talk:Accesskey-edit|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f89faca3&action=edit 89888a71]<br>
+[[MediaWiki_talk:f89faca3|Talk]]
 </td><td>
 e
 </td><td>
-{{int:Accesskey-edit}}
+{{int:f89faca3}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-emailuser&action=edit accesskey-emailuser]<br>
-[[MediaWiki_talk:Accesskey-emailuser|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bc7a3e78&action=edit 7b2ee991]<br>
+[[MediaWiki_talk:bc7a3e78|Talk]]
 </td><td>
 &amp;lt;accesskey-emailuser&amp;gt;
 </td><td>
-{{int:Accesskey-emailuser}}
+{{int:bc7a3e78}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-help&action=edit accesskey-help]<br>
-[[MediaWiki_talk:Accesskey-help|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9e9d3613&action=edit fe788279]<br>
+[[MediaWiki_talk:9e9d3613|Talk]]
 </td><td>
 &amp;lt;accesskey-help&amp;gt;
 </td><td>
-{{int:Accesskey-help}}
+{{int:9e9d3613}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-history&action=edit accesskey-history]<br>
-[[MediaWiki_talk:Accesskey-history|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7ea0e322&action=edit 4bb7a2e4]<br>
+[[MediaWiki_talk:7ea0e322|Talk]]
 </td><td>
 h
 </td><td>
-{{int:Accesskey-history}}
+{{int:7ea0e322}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-login&action=edit accesskey-login]<br>
-[[MediaWiki_talk:Accesskey-login|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:4204d3db&action=edit 725cb6bf]<br>
+[[MediaWiki_talk:4204d3db|Talk]]
 </td><td>
 o
 </td><td>
-{{int:Accesskey-login}}
+{{int:4204d3db}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-logout&action=edit accesskey-logout]<br>
-[[MediaWiki_talk:Accesskey-logout|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2a92e37a&action=edit a1de2049]<br>
+[[MediaWiki_talk:2a92e37a|Talk]]
 </td><td>
 o
 </td><td>
-{{int:Accesskey-logout}}
+{{int:2a92e37a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-mainpage&action=edit accesskey-mainpage]<br>
-[[MediaWiki_talk:Accesskey-mainpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:68d388ec&action=edit 0542623d]<br>
+[[MediaWiki_talk:68d388ec|Talk]]
 </td><td>
 z
 </td><td>
-{{int:Accesskey-mainpage}}
+{{int:68d388ec}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-minoredit&action=edit accesskey-minoredit]<br>
-[[MediaWiki_talk:Accesskey-minoredit|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:18fe1121&action=edit e3f25b72]<br>
+[[MediaWiki_talk:18fe1121|Talk]]
 </td><td>
 i
 </td><td>
-{{int:Accesskey-minoredit}}
+{{int:18fe1121}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-move&action=edit accesskey-move]<br>
-[[MediaWiki_talk:Accesskey-move|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6d15983f&action=edit c9d212d3]<br>
+[[MediaWiki_talk:6d15983f|Talk]]
 </td><td>
 m
 </td><td>
-{{int:Accesskey-move}}
+{{int:6d15983f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-mycontris&action=edit accesskey-mycontris]<br>
-[[MediaWiki_talk:Accesskey-mycontris|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ecaba7f4&action=edit ac57178f]<br>
+[[MediaWiki_talk:ecaba7f4|Talk]]
 </td><td>
 y
 </td><td>
-{{int:Accesskey-mycontris}}
+{{int:ecaba7f4}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-mytalk&action=edit accesskey-mytalk]<br>
-[[MediaWiki_talk:Accesskey-mytalk|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:711aec5d&action=edit 6d3ae9a7]<br>
+[[MediaWiki_talk:711aec5d|Talk]]
 </td><td>
 n
 </td><td>
-{{int:Accesskey-mytalk}}
+{{int:711aec5d}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-portal&action=edit accesskey-portal]<br>
-[[MediaWiki_talk:Accesskey-portal|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9905f56f&action=edit 0a376cab]<br>
+[[MediaWiki_talk:9905f56f|Talk]]
 </td><td>
 &amp;lt;accesskey-portal&amp;gt;
 </td><td>
-{{int:Accesskey-portal}}
+{{int:9905f56f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-preferences&action=edit accesskey-preferences]<br>
-[[MediaWiki_talk:Accesskey-preferences|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9305eef3&action=edit e72912be]<br>
+[[MediaWiki_talk:9305eef3|Talk]]
 </td><td>
 &amp;lt;accesskey-preferences&amp;gt;
 </td><td>
-{{int:Accesskey-preferences}}
+{{int:9305eef3}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-preview&action=edit accesskey-preview]<br>
-[[MediaWiki_talk:Accesskey-preview|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:186ee8a4&action=edit cef51de6]<br>
+[[MediaWiki_talk:186ee8a4|Talk]]
 </td><td>
 p
 </td><td>
-{{int:Accesskey-preview}}
+{{int:186ee8a4}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-protect&action=edit accesskey-protect]<br>
-[[MediaWiki_talk:Accesskey-protect|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:676f28e9&action=edit 0f10afb5]<br>
+[[MediaWiki_talk:676f28e9|Talk]]
 </td><td>
 =
 </td><td>
-{{int:Accesskey-protect}}
+{{int:676f28e9}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-randompage&action=edit accesskey-randompage]<br>
-[[MediaWiki_talk:Accesskey-randompage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1a09f43e&action=edit 46a4e82c]<br>
+[[MediaWiki_talk:1a09f43e|Talk]]
 </td><td>
 x
 </td><td>
-{{int:Accesskey-randompage}}
+{{int:1a09f43e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-recentchanges&action=edit accesskey-recentchanges]<br>
-[[MediaWiki_talk:Accesskey-recentchanges|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1306607d&action=edit 025b667f]<br>
+[[MediaWiki_talk:1306607d|Talk]]
 </td><td>
 r
 </td><td>
-{{int:Accesskey-recentchanges}}
+{{int:1306607d}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-recentchangeslinked&action=edit accesskey-recentchangeslinked]<br>
-[[MediaWiki_talk:Accesskey-recentchangeslinked|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e14390c4&action=edit 600e8a44]<br>
+[[MediaWiki_talk:e14390c4|Talk]]
 </td><td>
 c
 </td><td>
-{{int:Accesskey-recentchangeslinked}}
+{{int:e14390c4}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-save&action=edit accesskey-save]<br>
-[[MediaWiki_talk:Accesskey-save|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:59b75a10&action=edit 0fde75cd]<br>
+[[MediaWiki_talk:59b75a10|Talk]]
 </td><td>
 s
 </td><td>
-{{int:Accesskey-save}}
+{{int:59b75a10}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-search&action=edit accesskey-search]<br>
-[[MediaWiki_talk:Accesskey-search|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0b6fd89e&action=edit 5163ba5b]<br>
+[[MediaWiki_talk:0b6fd89e|Talk]]
 </td><td>
 f
 </td><td>
-{{int:Accesskey-search}}
+{{int:0b6fd89e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-sitesupport&action=edit accesskey-sitesupport]<br>
-[[MediaWiki_talk:Accesskey-sitesupport|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ba9e0fc4&action=edit f70dbcff]<br>
+[[MediaWiki_talk:ba9e0fc4|Talk]]
 </td><td>
 &amp;lt;accesskey-sitesupport&amp;gt;
 </td><td>
-{{int:Accesskey-sitesupport}}
+{{int:ba9e0fc4}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-specialpage&action=edit accesskey-specialpage]<br>
-[[MediaWiki_talk:Accesskey-specialpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b932fee9&action=edit 8949be8d]<br>
+[[MediaWiki_talk:b932fee9|Talk]]
 </td><td>
 &amp;lt;accesskey-specialpage&amp;gt;
 </td><td>
-{{int:Accesskey-specialpage}}
+{{int:b932fee9}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-specialpages&action=edit accesskey-specialpages]<br>
-[[MediaWiki_talk:Accesskey-specialpages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1ac10275&action=edit 59a5e487]<br>
+[[MediaWiki_talk:1ac10275|Talk]]
 </td><td>
 q
 </td><td>
-{{int:Accesskey-specialpages}}
+{{int:1ac10275}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-talk&action=edit accesskey-talk]<br>
-[[MediaWiki_talk:Accesskey-talk|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:116fd1b0&action=edit a83f2193]<br>
+[[MediaWiki_talk:116fd1b0|Talk]]
 </td><td>
 t
 </td><td>
-{{int:Accesskey-talk}}
+{{int:116fd1b0}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-undelete&action=edit accesskey-undelete]<br>
-[[MediaWiki_talk:Accesskey-undelete|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ec06f1a7&action=edit 5894e42e]<br>
+[[MediaWiki_talk:ec06f1a7|Talk]]
 </td><td>
 d
 </td><td>
-{{int:Accesskey-undelete}}
+{{int:ec06f1a7}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-unwatch&action=edit accesskey-unwatch]<br>
-[[MediaWiki_talk:Accesskey-unwatch|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7f99a8c2&action=edit 2a2a9d13]<br>
+[[MediaWiki_talk:7f99a8c2|Talk]]
 </td><td>
 w
 </td><td>
-{{int:Accesskey-unwatch}}
+{{int:7f99a8c2}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-upload&action=edit accesskey-upload]<br>
-[[MediaWiki_talk:Accesskey-upload|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:903549e8&action=edit 3a1dcde8]<br>
+[[MediaWiki_talk:903549e8|Talk]]
 </td><td>
 u
 </td><td>
-{{int:Accesskey-upload}}
+{{int:903549e8}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-userpage&action=edit accesskey-userpage]<br>
-[[MediaWiki_talk:Accesskey-userpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8f696cc0&action=edit be76a8c2]<br>
+[[MediaWiki_talk:8f696cc0|Talk]]
 </td><td>
 .
 </td><td>
-{{int:Accesskey-userpage}}
+{{int:8f696cc0}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-viewsource&action=edit accesskey-viewsource]<br>
-[[MediaWiki_talk:Accesskey-viewsource|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:613ebbad&action=edit e467bdec]<br>
+[[MediaWiki_talk:613ebbad|Talk]]
 </td><td>
 e
 </td><td>
-{{int:Accesskey-viewsource}}
+{{int:613ebbad}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-watch&action=edit accesskey-watch]<br>
-[[MediaWiki_talk:Accesskey-watch|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f598b5d6&action=edit 8bbdd8ad]<br>
+[[MediaWiki_talk:f598b5d6|Talk]]
 </td><td>
 w
 </td><td>
-{{int:Accesskey-watch}}
+{{int:f598b5d6}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-watchlist&action=edit accesskey-watchlist]<br>
-[[MediaWiki_talk:Accesskey-watchlist|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:59863979&action=edit f8563593]<br>
+[[MediaWiki_talk:59863979|Talk]]
 </td><td>
 l
 </td><td>
-{{int:Accesskey-watchlist}}
+{{int:59863979}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accesskey-whatlinkshere&action=edit accesskey-whatlinkshere]<br>
-[[MediaWiki_talk:Accesskey-whatlinkshere|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:00143391&action=edit 016415ff]<br>
+[[MediaWiki_talk:00143391|Talk]]
 </td><td>
 b
 </td><td>
-{{int:Accesskey-whatlinkshere}}
+{{int:00143391}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accmailtext&action=edit accmailtext]<br>
-[[MediaWiki_talk:Accmailtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d4dce921&action=edit c90b0565]<br>
+[[MediaWiki_talk:d4dce921|Talk]]
 </td><td>
 The Password for &#39;$1&#39; has been sent to $2.
 </td><td>
-{{int:Accmailtext}}
+{{int:d4dce921}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Accmailtitle&action=edit accmailtitle]<br>
-[[MediaWiki_talk:Accmailtitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9e6cd678&action=edit 05cb31f3]<br>
+[[MediaWiki_talk:9e6cd678|Talk]]
 </td><td>
 Password sent.
 </td><td>
-{{int:Accmailtitle}}
+{{int:9e6cd678}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Actioncomplete&action=edit actioncomplete]<br>
-[[MediaWiki_talk:Actioncomplete|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:37186ec6&action=edit 6703566b]<br>
+[[MediaWiki_talk:37186ec6|Talk]]
 </td><td>
 Action complete
 </td><td>
-{{int:Actioncomplete}}
+{{int:37186ec6}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Addedwatch&action=edit addedwatch]<br>
-[[MediaWiki_talk:Addedwatch|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2bacba53&action=edit 9a954e94]<br>
+[[MediaWiki_talk:2bacba53|Talk]]
 </td><td>
 Added to watchlist
 </td><td>
-{{int:Addedwatch}}
+{{int:2bacba53}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Addedwatchtext&action=edit addedwatchtext]<br>
-[[MediaWiki_talk:Addedwatchtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b28893b8&action=edit cb101aa3]<br>
+[[MediaWiki_talk:b28893b8|Talk]]
 </td><td>
 The page &quot;$1&quot; has been added to your &#91;&#91;Special:Watchlist&#124;watchlist]].
 Future changes to this page and its associated Talk page will be listed there,
@@ -360,150 +360,150 @@ make it easier to pick out.
 
 &lt;p&gt;If you want to remove the page from your watchlist later, click &quot;Stop watching&quot; in the sidebar.
 </td><td>
-{{int:Addedwatchtext}}
+{{int:b28893b8}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Addsection&action=edit addsection]<br>
-[[MediaWiki_talk:Addsection|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:291bfe3c&action=edit 788205f7]<br>
+[[MediaWiki_talk:291bfe3c|Talk]]
 </td><td>
 +
 </td><td>
-{{int:Addsection}}
+{{int:291bfe3c}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Administrators&action=edit administrators]<br>
-[[MediaWiki_talk:Administrators|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0d4d418a&action=edit 69189a95]<br>
+[[MediaWiki_talk:0d4d418a|Talk]]
 </td><td>
 Wiktionary:Administrators
 </td><td>
-{{int:Administrators}}
+{{int:0d4d418a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Affirmation&action=edit affirmation]<br>
-[[MediaWiki_talk:Affirmation|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1b4ceeda&action=edit f61e4837]<br>
+[[MediaWiki_talk:1b4ceeda|Talk]]
 </td><td>
 I affirm that the copyright holder of this file
 agrees to license it under the terms of the $1.
 </td><td>
-{{int:Affirmation}}
+{{int:1b4ceeda}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:All&action=edit all]<br>
-[[MediaWiki_talk:All|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6a720856&action=edit d87c4480]<br>
+[[MediaWiki_talk:6a720856|Talk]]
 </td><td>
 all
 </td><td>
-{{int:All}}
+{{int:6a720856}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Allmessages&action=edit allmessages]<br>
-[[MediaWiki_talk:Allmessages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f2fab435&action=edit a6623c77]<br>
+[[MediaWiki_talk:f2fab435|Talk]]
 </td><td>
 All system messages
 </td><td>
-{{int:Allmessages}}
+{{int:f2fab435}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Allmessagestext&action=edit allmessagestext]<br>
-[[MediaWiki_talk:Allmessagestext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e57c77b8&action=edit 57dbe26a]<br>
+[[MediaWiki_talk:e57c77b8|Talk]]
 </td><td>
 This is a list of all system messages available in the MediaWiki: namespace.
 </td><td>
-{{int:Allmessagestext}}
+{{int:e57c77b8}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Allpages&action=edit allpages]<br>
-[[MediaWiki_talk:Allpages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ff8db74d&action=edit bf1dccf6]<br>
+[[MediaWiki_talk:ff8db74d|Talk]]
 </td><td>
 All pages
 </td><td>
-{{int:Allpages}}
+{{int:ff8db74d}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Alphaindexline&action=edit alphaindexline]<br>
-[[MediaWiki_talk:Alphaindexline|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:89c23e53&action=edit 1ee05de8]<br>
+[[MediaWiki_talk:89c23e53|Talk]]
 </td><td>
 $1 to $2
 </td><td>
-{{int:Alphaindexline}}
+{{int:89c23e53}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Alreadyloggedin&action=edit alreadyloggedin]<br>
-[[MediaWiki_talk:Alreadyloggedin|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8550125b&action=edit 0dc174ae]<br>
+[[MediaWiki_talk:8550125b|Talk]]
 </td><td>
 &lt;font color=red&gt;&lt;b&gt;User $1, you are already logged in!&lt;/b&gt;&lt;/font&gt;&lt;br /&gt;
 
 </td><td>
-{{int:Alreadyloggedin}}
+{{int:8550125b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Alreadyrolled&action=edit alreadyrolled]<br>
-[[MediaWiki_talk:Alreadyrolled|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3f7be8a8&action=edit 3f1bd6a1]<br>
+[[MediaWiki_talk:3f7be8a8|Talk]]
 </td><td>
 Cannot rollback last edit of &#91;&#91;$1]]
 by &#91;&#91;User:$2&#124;$2]] (&#91;&#91;User talk:$2&#124;Talk]]); someone else has edited or rolled back the page already. 
 
 Last edit was by &#91;&#91;User:$3&#124;$3]] (&#91;&#91;User talk:$3&#124;Talk]]). 
 </td><td>
-{{int:Alreadyrolled}}
+{{int:3f7be8a8}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ancientpages&action=edit ancientpages]<br>
-[[MediaWiki_talk:Ancientpages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:49a4df39&action=edit 4f70712f]<br>
+[[MediaWiki_talk:49a4df39|Talk]]
 </td><td>
 Oldest pages
 </td><td>
-{{int:Ancientpages}}
+{{int:49a4df39}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:And&action=edit and]<br>
-[[MediaWiki_talk:And|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a01e33f4&action=edit cffa50a3]<br>
+[[MediaWiki_talk:a01e33f4|Talk]]
 </td><td>
 and
 </td><td>
-{{int:And}}
+{{int:a01e33f4}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Anontalk&action=edit anontalk]<br>
-[[MediaWiki_talk:Anontalk|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:20cb482e&action=edit 801db13e]<br>
+[[MediaWiki_talk:20cb482e|Talk]]
 </td><td>
 Talk for this IP
 </td><td>
-{{int:Anontalk}}
+{{int:20cb482e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Anontalkpagetext&action=edit anontalkpagetext]<br>
-[[MediaWiki_talk:Anontalkpagetext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5bbc19f4&action=edit 07575f81]<br>
+[[MediaWiki_talk:5bbc19f4|Talk]]
 </td><td>
 ----&#39;&#39;This is the discussion page for an anonymous user who has not created an account yet or who does not use it. We therefore have to use the numerical &#91;&#91;IP address]] to identify him/her. Such an IP address can be shared by several users. If you are an anonymous user and feel that irrelevant comments have been directed at you, please &#91;&#91;Special:Userlogin&#124;create an account or log in]] to avoid future confusion with other anonymous users.&#39;&#39; 
 </td><td>
-{{int:Anontalkpagetext}}
+{{int:5bbc19f4}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Anonymous&action=edit anonymous]<br>
-[[MediaWiki_talk:Anonymous|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9bed5104&action=edit 0a92fab3]<br>
+[[MediaWiki_talk:9bed5104|Talk]]
 </td><td>
 Anonymous user(s) of Wiktionary
 </td><td>
-{{int:Anonymous}}
+{{int:9bed5104}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Article&action=edit article]<br>
-[[MediaWiki_talk:Article|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:4360c2dc&action=edit 565cecd7]<br>
+[[MediaWiki_talk:4360c2dc|Talk]]
 </td><td>
 Content page
 </td><td>
-{{int:Article}}
+{{int:4360c2dc}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Articleexists&action=edit articleexists]<br>
-[[MediaWiki_talk:Articleexists|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d3ee4a57&action=edit ac8af25b]<br>
+[[MediaWiki_talk:d3ee4a57|Talk]]
 </td><td>
 A page of that name already exists, or the
 name you have chosen is not valid.
 Please choose another name.
 </td><td>
-{{int:Articleexists}}
+{{int:d3ee4a57}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Articlepage&action=edit articlepage]<br>
-[[MediaWiki_talk:Articlepage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:494f1af2&action=edit 01d643b6]<br>
+[[MediaWiki_talk:494f1af2|Talk]]
 </td><td>
 View content page
 </td><td>
-{{int:Articlepage}}
+{{int:494f1af2}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Asksql&action=edit asksql]<br>
-[[MediaWiki_talk:Asksql|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:dc93382e&action=edit 4e529571]<br>
+[[MediaWiki_talk:dc93382e|Talk]]
 </td><td>
 SQL query
 </td><td>
-{{int:Asksql}}
+{{int:dc93382e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Asksqltext&action=edit asksqltext]<br>
-[[MediaWiki_talk:Asksqltext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d12f6023&action=edit 47551563]<br>
+[[MediaWiki_talk:d12f6023|Talk]]
 </td><td>
 Use the form below to make a direct query of the
 database.
@@ -511,52 +511,52 @@ Use single quotes (&#39;like this&#39;) to delimit string literals.
 This can often add considerable load to the server, so please use
 this function sparingly.
 </td><td>
-{{int:Asksqltext}}
+{{int:d12f6023}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Autoblocker&action=edit autoblocker]<br>
-[[MediaWiki_talk:Autoblocker|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f36efd21&action=edit d8f0b5e0]<br>
+[[MediaWiki_talk:f36efd21|Talk]]
 </td><td>
 Autoblocked because you share an IP address with &quot;$1&quot;. Reason &quot;$2&quot;.
 </td><td>
-{{int:Autoblocker}}
+{{int:f36efd21}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Badarticleerror&action=edit badarticleerror]<br>
-[[MediaWiki_talk:Badarticleerror|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9503e2b1&action=edit 100ce8a2]<br>
+[[MediaWiki_talk:9503e2b1|Talk]]
 </td><td>
 This action cannot be performed on this page.
 </td><td>
-{{int:Badarticleerror}}
+{{int:9503e2b1}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Badfilename&action=edit badfilename]<br>
-[[MediaWiki_talk:Badfilename|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f146770f&action=edit 5c50b102]<br>
+[[MediaWiki_talk:f146770f|Talk]]
 </td><td>
 Image name has been changed to &quot;$1&quot;.
 </td><td>
-{{int:Badfilename}}
+{{int:f146770f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Badfiletype&action=edit badfiletype]<br>
-[[MediaWiki_talk:Badfiletype|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a87ee981&action=edit fe89c3de]<br>
+[[MediaWiki_talk:a87ee981|Talk]]
 </td><td>
 &quot;.$1&quot; is not a recommended image file format.
 </td><td>
-{{int:Badfiletype}}
+{{int:a87ee981}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Badipaddress&action=edit badipaddress]<br>
-[[MediaWiki_talk:Badipaddress|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0222775a&action=edit c7623eeb]<br>
+[[MediaWiki_talk:0222775a|Talk]]
 </td><td>
 Invalid IP address
 </td><td>
-{{int:Badipaddress}}
+{{int:0222775a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Badquery&action=edit badquery]<br>
-[[MediaWiki_talk:Badquery|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:feabd786&action=edit 798bc46a]<br>
+[[MediaWiki_talk:feabd786|Talk]]
 </td><td>
 Badly formed search query
 </td><td>
-{{int:Badquery}}
+{{int:feabd786}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Badquerytext&action=edit badquerytext]<br>
-[[MediaWiki_talk:Badquerytext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7e82f04b&action=edit e5493056]<br>
+[[MediaWiki_talk:7e82f04b|Talk]]
 </td><td>
 We could not process your query.
 This is probably because you have attempted to search for a
@@ -565,39 +565,39 @@ It could also be that you have mistyped the expression, for
 example &quot;fish and and scales&quot;.
 Please try another query.
 </td><td>
-{{int:Badquerytext}}
+{{int:7e82f04b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Badretype&action=edit badretype]<br>
-[[MediaWiki_talk:Badretype|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:36ad01d4&action=edit c36e32c1]<br>
+[[MediaWiki_talk:36ad01d4|Talk]]
 </td><td>
 The passwords you entered do not match.
 </td><td>
-{{int:Badretype}}
+{{int:36ad01d4}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Badtitle&action=edit badtitle]<br>
-[[MediaWiki_talk:Badtitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ab570b90&action=edit 5c0f9f2b]<br>
+[[MediaWiki_talk:ab570b90|Talk]]
 </td><td>
 Bad title
 </td><td>
-{{int:Badtitle}}
+{{int:ab570b90}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Badtitletext&action=edit badtitletext]<br>
-[[MediaWiki_talk:Badtitletext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:73766845&action=edit e9ac7510]<br>
+[[MediaWiki_talk:73766845|Talk]]
 </td><td>
 The requested page title was invalid, empty, or
 an incorrectly linked inter-language or inter-wiki title.
 </td><td>
-{{int:Badtitletext}}
+{{int:73766845}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blanknamespace&action=edit blanknamespace]<br>
-[[MediaWiki_talk:Blanknamespace|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ef0a17b1&action=edit ec00742f]<br>
+[[MediaWiki_talk:ef0a17b1|Talk]]
 </td><td>
 (Main)
 </td><td>
-{{int:Blanknamespace}}
+{{int:ef0a17b1}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blockedtext&action=edit blockedtext]<br>
-[[MediaWiki_talk:Blockedtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2fe89b37&action=edit 0756a2f3]<br>
+[[MediaWiki_talk:2fe89b37|Talk]]
 </td><td>
 Your user name or IP address has been blocked by $1.
 The reason given is this:&lt;br /&gt;&#39;&#39;$2&#39;&#39;&lt;p&gt;You may contact $1 or one of the other
@@ -608,39 +608,39 @@ Note that you may not use the &quot;email this user&quot; feature unless you hav
 Your IP address is $3. Please include this address in any queries you make.
 
 </td><td>
-{{int:Blockedtext}}
+{{int:2fe89b37}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blockedtitle&action=edit blockedtitle]<br>
-[[MediaWiki_talk:Blockedtitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:4153985a&action=edit ee09eebe]<br>
+[[MediaWiki_talk:4153985a|Talk]]
 </td><td>
 User is blocked
 </td><td>
-{{int:Blockedtitle}}
+{{int:4153985a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blockip&action=edit blockip]<br>
-[[MediaWiki_talk:Blockip|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f8225753&action=edit 387c304e]<br>
+[[MediaWiki_talk:f8225753|Talk]]
 </td><td>
 Block user
 </td><td>
-{{int:Blockip}}
+{{int:f8225753}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blockipsuccesssub&action=edit blockipsuccesssub]<br>
-[[MediaWiki_talk:Blockipsuccesssub|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:178b4021&action=edit d19404ef]<br>
+[[MediaWiki_talk:178b4021|Talk]]
 </td><td>
 Block succeeded
 </td><td>
-{{int:Blockipsuccesssub}}
+{{int:178b4021}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blockipsuccesstext&action=edit blockipsuccesstext]<br>
-[[MediaWiki_talk:Blockipsuccesstext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c9aa5295&action=edit 8c464806]<br>
+[[MediaWiki_talk:c9aa5295|Talk]]
 </td><td>
 &quot;$1&quot; has been blocked.
 &lt;br /&gt;See &#91;&#91;Special:Ipblocklist&#124;IP block list]] to review blocks.
 </td><td>
-{{int:Blockipsuccesstext}}
+{{int:c9aa5295}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blockiptext&action=edit blockiptext]<br>
-[[MediaWiki_talk:Blockiptext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d79d9fe6&action=edit ec372bf2]<br>
+[[MediaWiki_talk:d79d9fe6|Talk]]
 </td><td>
 Use the form below to block write access
 from a specific IP address or username.
@@ -649,261 +649,261 @@ accordance with &#91;&#91;Wiktionary:Policy&#124;policy]].
 Fill in a specific reason below (for example, citing particular
 pages that were vandalized).
 </td><td>
-{{int:Blockiptext}}
+{{int:d79d9fe6}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blocklink&action=edit blocklink]<br>
-[[MediaWiki_talk:Blocklink|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9a96cfdc&action=edit 1c6c7aa2]<br>
+[[MediaWiki_talk:9a96cfdc|Talk]]
 </td><td>
 block
 </td><td>
-{{int:Blocklink}}
+{{int:9a96cfdc}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blocklistline&action=edit blocklistline]<br>
-[[MediaWiki_talk:Blocklistline|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b81f5cad&action=edit b821b758]<br>
+[[MediaWiki_talk:b81f5cad|Talk]]
 </td><td>
 $1, $2 blocked $3 (expires $4)
 </td><td>
-{{int:Blocklistline}}
+{{int:b81f5cad}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blocklogentry&action=edit blocklogentry]<br>
-[[MediaWiki_talk:Blocklogentry|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0871a19a&action=edit 9be87d66]<br>
+[[MediaWiki_talk:0871a19a|Talk]]
 </td><td>
 blocked &quot;$1&quot; with an expiry time of $2
 </td><td>
-{{int:Blocklogentry}}
+{{int:0871a19a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blocklogpage&action=edit blocklogpage]<br>
-[[MediaWiki_talk:Blocklogpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:31534d45&action=edit 4bcce96c]<br>
+[[MediaWiki_talk:31534d45|Talk]]
 </td><td>
 Block_log
 </td><td>
-{{int:Blocklogpage}}
+{{int:31534d45}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Blocklogtext&action=edit blocklogtext]<br>
-[[MediaWiki_talk:Blocklogtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f4872c71&action=edit b9902a3c]<br>
+[[MediaWiki_talk:f4872c71|Talk]]
 </td><td>
 This is a log of user blocking and unblocking actions. Automatically 
 blocked IP addresses are not be listed. See the &#91;&#91;Special:Ipblocklist&#124;IP block list]] for
 the list of currently operational bans and blocks.
 </td><td>
-{{int:Blocklogtext}}
+{{int:f4872c71}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Bold_sample&action=edit bold_sample]<br>
-[[MediaWiki_talk:Bold_sample|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d8ae34f5&action=edit e9a0daa2]<br>
+[[MediaWiki_talk:d8ae34f5|Talk]]
 </td><td>
 Bold text
 </td><td>
-{{int:Bold_sample}}
+{{int:d8ae34f5}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Bold_tip&action=edit bold_tip]<br>
-[[MediaWiki_talk:Bold_tip|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:58086558&action=edit 02320399]<br>
+[[MediaWiki_talk:58086558|Talk]]
 </td><td>
 Bold text
 </td><td>
-{{int:Bold_tip}}
+{{int:58086558}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Booksources&action=edit booksources]<br>
-[[MediaWiki_talk:Booksources|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1d546a7c&action=edit 9bd576b3]<br>
+[[MediaWiki_talk:1d546a7c|Talk]]
 </td><td>
 Book sources
 </td><td>
-{{int:Booksources}}
+{{int:1d546a7c}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Booksourcetext&action=edit booksourcetext]<br>
-[[MediaWiki_talk:Booksourcetext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:809e6557&action=edit 72f7a5ba]<br>
+[[MediaWiki_talk:809e6557|Talk]]
 </td><td>
 Below is a list of links to other sites that
 sell new and used books, and may also have further information
 about books you are looking for.Wiktionary is not affiliated with any of these businesses, and
 this list should not be construed as an endorsement.
 </td><td>
-{{int:Booksourcetext}}
+{{int:809e6557}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Brokenredirects&action=edit brokenredirects]<br>
-[[MediaWiki_talk:Brokenredirects|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:40925079&action=edit fe673f57]<br>
+[[MediaWiki_talk:40925079|Talk]]
 </td><td>
 Broken Redirects
 </td><td>
-{{int:Brokenredirects}}
+{{int:40925079}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Brokenredirectstext&action=edit brokenredirectstext]<br>
-[[MediaWiki_talk:Brokenredirectstext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3953d564&action=edit 283e89cc]<br>
+[[MediaWiki_talk:3953d564|Talk]]
 </td><td>
 The following redirects link to a non-existing pages.
 </td><td>
-{{int:Brokenredirectstext}}
+{{int:3953d564}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Bugreports&action=edit bugreports]<br>
-[[MediaWiki_talk:Bugreports|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f12ee4ee&action=edit 741bd9a7]<br>
+[[MediaWiki_talk:f12ee4ee|Talk]]
 </td><td>
 Bug reports
 </td><td>
-{{int:Bugreports}}
+{{int:f12ee4ee}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Bugreportspage&action=edit bugreportspage]<br>
-[[MediaWiki_talk:Bugreportspage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1e9054cf&action=edit 7cc56699]<br>
+[[MediaWiki_talk:1e9054cf|Talk]]
 </td><td>
 Wiktionary:Bug_reports
 </td><td>
-{{int:Bugreportspage}}
+{{int:1e9054cf}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Bureaucratlog&action=edit bureaucratlog]<br>
-[[MediaWiki_talk:Bureaucratlog|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:cfea7660&action=edit eaac0dcf]<br>
+[[MediaWiki_talk:cfea7660|Talk]]
 </td><td>
 Bureaucrat_log
 </td><td>
-{{int:Bureaucratlog}}
+{{int:cfea7660}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Bureaucratlogentry&action=edit bureaucratlogentry]<br>
-[[MediaWiki_talk:Bureaucratlogentry|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:04cf1ba3&action=edit cc1544ab]<br>
+[[MediaWiki_talk:04cf1ba3|Talk]]
 </td><td>
 Rights for user &quot;$1&quot; set &quot;$2&quot;
 </td><td>
-{{int:Bureaucratlogentry}}
+{{int:04cf1ba3}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Bureaucrattext&action=edit bureaucrattext]<br>
-[[MediaWiki_talk:Bureaucrattext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a0750047&action=edit 5eb1e911]<br>
+[[MediaWiki_talk:a0750047|Talk]]
 </td><td>
 The action you have requested can only be
 performed by sysops with  &quot;bureaucrat&quot; status.
 </td><td>
-{{int:Bureaucrattext}}
+{{int:a0750047}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Bureaucrattitle&action=edit bureaucrattitle]<br>
-[[MediaWiki_talk:Bureaucrattitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:4837977b&action=edit f523b504]<br>
+[[MediaWiki_talk:4837977b|Talk]]
 </td><td>
 Bureaucrat access required
 </td><td>
-{{int:Bureaucrattitle}}
+{{int:4837977b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Bydate&action=edit bydate]<br>
-[[MediaWiki_talk:Bydate|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:590988e2&action=edit f06de085]<br>
+[[MediaWiki_talk:590988e2|Talk]]
 </td><td>
 by date
 </td><td>
-{{int:Bydate}}
+{{int:590988e2}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Byname&action=edit byname]<br>
-[[MediaWiki_talk:Byname|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c08c3f0d&action=edit e51a8413]<br>
+[[MediaWiki_talk:c08c3f0d|Talk]]
 </td><td>
 by name
 </td><td>
-{{int:Byname}}
+{{int:c08c3f0d}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Bysize&action=edit bysize]<br>
-[[MediaWiki_talk:Bysize|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ede279e9&action=edit 43ba766a]<br>
+[[MediaWiki_talk:ede279e9|Talk]]
 </td><td>
 by size
 </td><td>
-{{int:Bysize}}
+{{int:ede279e9}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Cachederror&action=edit cachederror]<br>
-[[MediaWiki_talk:Cachederror|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e1ad9b35&action=edit 075fc8df]<br>
+[[MediaWiki_talk:e1ad9b35|Talk]]
 </td><td>
 The following is a cached copy of the requested page, and may not be up to date.
 </td><td>
-{{int:Cachederror}}
+{{int:e1ad9b35}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Cancel&action=edit cancel]<br>
-[[MediaWiki_talk:Cancel|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:77dfd213&action=edit 4fd0653c]<br>
+[[MediaWiki_talk:77dfd213|Talk]]
 </td><td>
 Cancel
 </td><td>
-{{int:Cancel}}
+{{int:77dfd213}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Cannotdelete&action=edit cannotdelete]<br>
-[[MediaWiki_talk:Cannotdelete|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:03442eec&action=edit ee57c22e]<br>
+[[MediaWiki_talk:03442eec|Talk]]
 </td><td>
 Could not delete the page or image specified. (It may have already been deleted by someone else.)
 </td><td>
-{{int:Cannotdelete}}
+{{int:03442eec}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Cantrollback&action=edit cantrollback]<br>
-[[MediaWiki_talk:Cantrollback|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:27b55ed3&action=edit 4b739ac2]<br>
+[[MediaWiki_talk:27b55ed3|Talk]]
 </td><td>
 Cannot revert edit; last contributor is only author of this page.
 </td><td>
-{{int:Cantrollback}}
+{{int:27b55ed3}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Categories&action=edit categories]<br>
-[[MediaWiki_talk:Categories|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6ccb6007&action=edit 50b9e781]<br>
+[[MediaWiki_talk:6ccb6007|Talk]]
 </td><td>
 Categories
 </td><td>
-{{int:Categories}}
+{{int:6ccb6007}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Category&action=edit category]<br>
-[[MediaWiki_talk:Category|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a3c686e7&action=edit 5ccbf9c9]<br>
+[[MediaWiki_talk:a3c686e7|Talk]]
 </td><td>
 category
 </td><td>
-{{int:Category}}
+{{int:a3c686e7}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Category_header&action=edit category_header]<br>
-[[MediaWiki_talk:Category_header|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f2ff5f46&action=edit 7245f61e]<br>
+[[MediaWiki_talk:f2ff5f46|Talk]]
 </td><td>
 Articles in category &quot;$1&quot;
 </td><td>
-{{int:Category_header}}
+{{int:f2ff5f46}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Changepassword&action=edit changepassword]<br>
-[[MediaWiki_talk:Changepassword|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:cc60b2e2&action=edit 3dfd4581]<br>
+[[MediaWiki_talk:cc60b2e2|Talk]]
 </td><td>
 Change password
 </td><td>
-{{int:Changepassword}}
+{{int:cc60b2e2}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Changes&action=edit changes]<br>
-[[MediaWiki_talk:Changes|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8aa57de6&action=edit 49a04ba4]<br>
+[[MediaWiki_talk:8aa57de6|Talk]]
 </td><td>
 changes
 </td><td>
-{{int:Changes}}
+{{int:8aa57de6}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Columns&action=edit columns]<br>
-[[MediaWiki_talk:Columns|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:cf723c59&action=edit 4f1b1dbe]<br>
+[[MediaWiki_talk:cf723c59|Talk]]
 </td><td>
 Columns
 </td><td>
-{{int:Columns}}
+{{int:cf723c59}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Commentedit&action=edit commentedit]<br>
-[[MediaWiki_talk:Commentedit|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2a4f8ff8&action=edit 99be507a]<br>
+[[MediaWiki_talk:2a4f8ff8|Talk]]
 </td><td>
  (comment)
 </td><td>
-{{int:Commentedit}}
+{{int:2a4f8ff8}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Compareselectedversions&action=edit compareselectedversions]<br>
-[[MediaWiki_talk:Compareselectedversions|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9833df65&action=edit 978cce5f]<br>
+[[MediaWiki_talk:9833df65|Talk]]
 </td><td>
 Compare selected versions
 </td><td>
-{{int:Compareselectedversions}}
+{{int:9833df65}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Confirm&action=edit confirm]<br>
-[[MediaWiki_talk:Confirm|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:04a21221&action=edit d0c4047c]<br>
+[[MediaWiki_talk:04a21221|Talk]]
 </td><td>
 Confirm
 </td><td>
-{{int:Confirm}}
+{{int:04a21221}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Confirmcheck&action=edit confirmcheck]<br>
-[[MediaWiki_talk:Confirmcheck|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b8e469fe&action=edit bb4bf8de]<br>
+[[MediaWiki_talk:b8e469fe|Talk]]
 </td><td>
 Yes, I really want to delete this.
 </td><td>
-{{int:Confirmcheck}}
+{{int:b8e469fe}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Confirmdelete&action=edit confirmdelete]<br>
-[[MediaWiki_talk:Confirmdelete|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7773ad82&action=edit 16805d57]<br>
+[[MediaWiki_talk:7773ad82|Talk]]
 </td><td>
 Confirm delete
 </td><td>
-{{int:Confirmdelete}}
+{{int:7773ad82}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Confirmdeletetext&action=edit confirmdeletetext]<br>
-[[MediaWiki_talk:Confirmdeletetext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:87358bf0&action=edit 872e01c0]<br>
+[[MediaWiki_talk:87358bf0|Talk]]
 </td><td>
 You are about to permanently delete a page
 or image along with all of its history from the database.
@@ -911,94 +911,94 @@ Please confirm that you intend to do this, that you understand the
 consequences, and that you are doing this in accordance with
 &#91;&#91;Wiktionary:Policy]].
 </td><td>
-{{int:Confirmdeletetext}}
+{{int:87358bf0}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Confirmprotect&action=edit confirmprotect]<br>
-[[MediaWiki_talk:Confirmprotect|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b46f1463&action=edit 96a48c11]<br>
+[[MediaWiki_talk:b46f1463|Talk]]
 </td><td>
 Confirm protection
 </td><td>
-{{int:Confirmprotect}}
+{{int:b46f1463}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Confirmprotecttext&action=edit confirmprotecttext]<br>
-[[MediaWiki_talk:Confirmprotecttext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e382b883&action=edit e76ab37d]<br>
+[[MediaWiki_talk:e382b883|Talk]]
 </td><td>
 Do you really want to protect this page?
 </td><td>
-{{int:Confirmprotecttext}}
+{{int:e382b883}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Confirmunprotect&action=edit confirmunprotect]<br>
-[[MediaWiki_talk:Confirmunprotect|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:33be1711&action=edit 306661e6]<br>
+[[MediaWiki_talk:33be1711|Talk]]
 </td><td>
 Confirm unprotection
 </td><td>
-{{int:Confirmunprotect}}
+{{int:33be1711}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Confirmunprotecttext&action=edit confirmunprotecttext]<br>
-[[MediaWiki_talk:Confirmunprotecttext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2d82e05f&action=edit 4df1abe3]<br>
+[[MediaWiki_talk:2d82e05f|Talk]]
 </td><td>
 Do you really want to unprotect this page?
 </td><td>
-{{int:Confirmunprotecttext}}
+{{int:2d82e05f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Contextchars&action=edit contextchars]<br>
-[[MediaWiki_talk:Contextchars|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7f051e88&action=edit 0858695c]<br>
+[[MediaWiki_talk:7f051e88|Talk]]
 </td><td>
 Characters of context per line
 </td><td>
-{{int:Contextchars}}
+{{int:7f051e88}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Contextlines&action=edit contextlines]<br>
-[[MediaWiki_talk:Contextlines|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7127b581&action=edit e9d81e50]<br>
+[[MediaWiki_talk:7127b581|Talk]]
 </td><td>
 Lines to show per hit
 </td><td>
-{{int:Contextlines}}
+{{int:7127b581}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Contribslink&action=edit contribslink]<br>
-[[MediaWiki_talk:Contribslink|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9850ceab&action=edit df5b918c]<br>
+[[MediaWiki_talk:9850ceab|Talk]]
 </td><td>
 contribs
 </td><td>
-{{int:Contribslink}}
+{{int:9850ceab}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Contribsub&action=edit contribsub]<br>
-[[MediaWiki_talk:Contribsub|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b688a4d7&action=edit ab48ec14]<br>
+[[MediaWiki_talk:b688a4d7|Talk]]
 </td><td>
 For $1
 </td><td>
-{{int:Contribsub}}
+{{int:b688a4d7}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Contributions&action=edit contributions]<br>
-[[MediaWiki_talk:Contributions|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:aa11023f&action=edit 9d5b6e5e]<br>
+[[MediaWiki_talk:aa11023f|Talk]]
 </td><td>
 User contributions
 </td><td>
-{{int:Contributions}}
+{{int:aa11023f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Copyright&action=edit copyright]<br>
-[[MediaWiki_talk:Copyright|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a420abf6&action=edit 521307dd]<br>
+[[MediaWiki_talk:a420abf6|Talk]]
 </td><td>
 Content is available under $1.
 </td><td>
-{{int:Copyright}}
+{{int:a420abf6}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Copyrightpage&action=edit copyrightpage]<br>
-[[MediaWiki_talk:Copyrightpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:fc8c1b42&action=edit 5327fdcf]<br>
+[[MediaWiki_talk:fc8c1b42|Talk]]
 </td><td>
 Wiktionary:Copyrights
 </td><td>
-{{int:Copyrightpage}}
+{{int:fc8c1b42}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Copyrightpagename&action=edit copyrightpagename]<br>
-[[MediaWiki_talk:Copyrightpagename|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:52a98e51&action=edit f6652583]<br>
+[[MediaWiki_talk:52a98e51|Talk]]
 </td><td>
 Wiktionary copyright
 </td><td>
-{{int:Copyrightpagename}}
+{{int:52a98e51}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Copyrightwarning&action=edit copyrightwarning]<br>
-[[MediaWiki_talk:Copyrightwarning|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:25a1afd7&action=edit 731cc8a6]<br>
+[[MediaWiki_talk:25a1afd7|Talk]]
 </td><td>
 Please note that all contributions to Wiktionary are
 considered to be released under the GNU Free Documentation License
@@ -1009,66 +1009,66 @@ You are also promising us that you wrote this yourself, or copied it from a
 public domain or similar free resource.
 &lt;strong&gt;DO NOT SUBMIT COPYRIGHTED WORK WITHOUT PERMISSION!&lt;/strong&gt;
 </td><td>
-{{int:Copyrightwarning}}
+{{int:25a1afd7}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Couldntremove&action=edit couldntremove]<br>
-[[MediaWiki_talk:Couldntremove|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:465ca4b8&action=edit e04b3a96]<br>
+[[MediaWiki_talk:465ca4b8|Talk]]
 </td><td>
 Couldn&#39;t remove item &#39;$1&#39;...
 </td><td>
-{{int:Couldntremove}}
+{{int:465ca4b8}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Createaccount&action=edit createaccount]<br>
-[[MediaWiki_talk:Createaccount|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3724dfa6&action=edit 19fd5658]<br>
+[[MediaWiki_talk:3724dfa6|Talk]]
 </td><td>
 Create new account
 </td><td>
-{{int:Createaccount}}
+{{int:3724dfa6}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Createaccountmail&action=edit createaccountmail]<br>
-[[MediaWiki_talk:Createaccountmail|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a4a1f0cb&action=edit b10d6306]<br>
+[[MediaWiki_talk:a4a1f0cb|Talk]]
 </td><td>
 by email
 </td><td>
-{{int:Createaccountmail}}
+{{int:a4a1f0cb}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Cur&action=edit cur]<br>
-[[MediaWiki_talk:Cur|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:07f81f3c&action=edit dce81611]<br>
+[[MediaWiki_talk:07f81f3c|Talk]]
 </td><td>
 cur
 </td><td>
-{{int:Cur}}
+{{int:07f81f3c}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Currentevents&action=edit currentevents]<br>
-[[MediaWiki_talk:Currentevents|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:42b921f8&action=edit 81c8f458]<br>
+[[MediaWiki_talk:42b921f8|Talk]]
 </td><td>
 Current events
 </td><td>
-{{int:Currentevents}}
+{{int:42b921f8}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Currentrev&action=edit currentrev]<br>
-[[MediaWiki_talk:Currentrev|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:78892831&action=edit 23418566]<br>
+[[MediaWiki_talk:78892831|Talk]]
 </td><td>
 Current revision
 </td><td>
-{{int:Currentrev}}
+{{int:78892831}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Databaseerror&action=edit databaseerror]<br>
-[[MediaWiki_talk:Databaseerror|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e4838ed0&action=edit 66409316]<br>
+[[MediaWiki_talk:e4838ed0|Talk]]
 </td><td>
 Database error
 </td><td>
-{{int:Databaseerror}}
+{{int:e4838ed0}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Dateformat&action=edit dateformat]<br>
-[[MediaWiki_talk:Dateformat|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:507be676&action=edit 3b538bdf]<br>
+[[MediaWiki_talk:507be676|Talk]]
 </td><td>
 Date format
 </td><td>
-{{int:Dateformat}}
+{{int:507be676}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Dberrortext&action=edit dberrortext]<br>
-[[MediaWiki_talk:Dberrortext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0bfa85bb&action=edit 34c01d3c]<br>
+[[MediaWiki_talk:0bfa85bb|Talk]]
 </td><td>
 A database query syntax error has occurred.
 This could be because of an illegal search query (see $5),
@@ -1078,10 +1078,10 @@ The last attempted database query was:
 from within function &quot;&lt;tt&gt;$2&lt;/tt&gt;&quot;.
 MySQL returned error &quot;&lt;tt&gt;$3: $4&lt;/tt&gt;&quot;.
 </td><td>
-{{int:Dberrortext}}
+{{int:0bfa85bb}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Dberrortextcl&action=edit dberrortextcl]<br>
-[[MediaWiki_talk:Dberrortextcl|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:39d82941&action=edit f6e1bcbd]<br>
+[[MediaWiki_talk:39d82941|Talk]]
 </td><td>
 A database query syntax error has occurred.
 The last attempted database query was:
@@ -1090,109 +1090,109 @@ from within function &quot;$2&quot;.
 MySQL returned error &quot;$3: $4&quot;.
 
 </td><td>
-{{int:Dberrortextcl}}
+{{int:39d82941}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Deadendpages&action=edit deadendpages]<br>
-[[MediaWiki_talk:Deadendpages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ae14da43&action=edit d4234aad]<br>
+[[MediaWiki_talk:ae14da43|Talk]]
 </td><td>
 Dead-end pages
 </td><td>
-{{int:Deadendpages}}
+{{int:ae14da43}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Debug&action=edit debug]<br>
-[[MediaWiki_talk:Debug|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bd604d99&action=edit 32faaeca]<br>
+[[MediaWiki_talk:bd604d99|Talk]]
 </td><td>
 Debug
 </td><td>
-{{int:Debug}}
+{{int:bd604d99}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Defaultns&action=edit defaultns]<br>
-[[MediaWiki_talk:Defaultns|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6f349a89&action=edit f674a4a1]<br>
+[[MediaWiki_talk:6f349a89|Talk]]
 </td><td>
 Search in these namespaces by default:
 </td><td>
-{{int:Defaultns}}
+{{int:6f349a89}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Defemailsubject&action=edit defemailsubject]<br>
-[[MediaWiki_talk:Defemailsubject|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:801b725b&action=edit 93c2c32b]<br>
+[[MediaWiki_talk:801b725b|Talk]]
 </td><td>
 Wiktionary e-mail
 </td><td>
-{{int:Defemailsubject}}
+{{int:801b725b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Delete&action=edit delete]<br>
-[[MediaWiki_talk:Delete|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f6fdbe48&action=edit 9485989f]<br>
+[[MediaWiki_talk:f6fdbe48|Talk]]
 </td><td>
 Delete
 </td><td>
-{{int:Delete}}
+{{int:f6fdbe48}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Deletecomment&action=edit deletecomment]<br>
-[[MediaWiki_talk:Deletecomment|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:728e102f&action=edit 070ad01c]<br>
+[[MediaWiki_talk:728e102f|Talk]]
 </td><td>
 Reason for deletion
 </td><td>
-{{int:Deletecomment}}
+{{int:728e102f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Deletedarticle&action=edit deletedarticle]<br>
-[[MediaWiki_talk:Deletedarticle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:784f094b&action=edit abb03e0b]<br>
+[[MediaWiki_talk:784f094b|Talk]]
 </td><td>
 deleted &quot;$1&quot;
 </td><td>
-{{int:Deletedarticle}}
+{{int:784f094b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Deletedtext&action=edit deletedtext]<br>
-[[MediaWiki_talk:Deletedtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b40dc398&action=edit 81545b85]<br>
+[[MediaWiki_talk:b40dc398|Talk]]
 </td><td>
 &quot;$1&quot; has been deleted.
 See $2 for a record of recent deletions.
 </td><td>
-{{int:Deletedtext}}
+{{int:b40dc398}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Deleteimg&action=edit deleteimg]<br>
-[[MediaWiki_talk:Deleteimg|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:64a8bf46&action=edit 6f4d03ee]<br>
+[[MediaWiki_talk:64a8bf46|Talk]]
 </td><td>
 del
 </td><td>
-{{int:Deleteimg}}
+{{int:64a8bf46}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Deletepage&action=edit deletepage]<br>
-[[MediaWiki_talk:Deletepage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3316ac85&action=edit c423c282]<br>
+[[MediaWiki_talk:3316ac85|Talk]]
 </td><td>
 Delete page
 </td><td>
-{{int:Deletepage}}
+{{int:3316ac85}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Deletesub&action=edit deletesub]<br>
-[[MediaWiki_talk:Deletesub|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a2496a13&action=edit a3173eab]<br>
+[[MediaWiki_talk:a2496a13|Talk]]
 </td><td>
 (Deleting &quot;$1&quot;)
 </td><td>
-{{int:Deletesub}}
+{{int:a2496a13}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Deletethispage&action=edit deletethispage]<br>
-[[MediaWiki_talk:Deletethispage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9d817726&action=edit b93901eb]<br>
+[[MediaWiki_talk:9d817726|Talk]]
 </td><td>
 Delete this page
 </td><td>
-{{int:Deletethispage}}
+{{int:9d817726}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Deletionlog&action=edit deletionlog]<br>
-[[MediaWiki_talk:Deletionlog|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:49653e1b&action=edit 58f0b919]<br>
+[[MediaWiki_talk:49653e1b|Talk]]
 </td><td>
 deletion log
 </td><td>
-{{int:Deletionlog}}
+{{int:49653e1b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Dellogpage&action=edit dellogpage]<br>
-[[MediaWiki_talk:Dellogpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d73442e4&action=edit c5ee36a7]<br>
+[[MediaWiki_talk:d73442e4|Talk]]
 </td><td>
 Deletion_log
 </td><td>
-{{int:Dellogpage}}
+{{int:d73442e4}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Dellogpagetext&action=edit dellogpagetext]<br>
-[[MediaWiki_talk:Dellogpagetext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2349bb58&action=edit 6526e633]<br>
+[[MediaWiki_talk:2349bb58|Talk]]
 </td><td>
 Below is a list of the most recent deletions.
 All times shown are server time (UTC).
@@ -1200,185 +1200,185 @@ All times shown are server time (UTC).
 &lt;/ul&gt;
 
 </td><td>
-{{int:Dellogpagetext}}
+{{int:2349bb58}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Developerspheading&action=edit developerspheading]<br>
-[[MediaWiki_talk:Developerspheading|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:381bedfc&action=edit 015693e1]<br>
+[[MediaWiki_talk:381bedfc|Talk]]
 </td><td>
 For developer use only
 </td><td>
-{{int:Developerspheading}}
+{{int:381bedfc}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Developertext&action=edit developertext]<br>
-[[MediaWiki_talk:Developertext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:52713d3d&action=edit 9c6f4cd5]<br>
+[[MediaWiki_talk:52713d3d|Talk]]
 </td><td>
 The action you have requested can only be
 performed by users with &quot;developer&quot; status.
 See $1.
 </td><td>
-{{int:Developertext}}
+{{int:52713d3d}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Developertitle&action=edit developertitle]<br>
-[[MediaWiki_talk:Developertitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6cca6111&action=edit 59afe6b0]<br>
+[[MediaWiki_talk:6cca6111|Talk]]
 </td><td>
 Developer access required
 </td><td>
-{{int:Developertitle}}
+{{int:6cca6111}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Diff&action=edit diff]<br>
-[[MediaWiki_talk:Diff|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d23a1c9f&action=edit 75a0ee1b]<br>
+[[MediaWiki_talk:d23a1c9f|Talk]]
 </td><td>
 diff
 </td><td>
-{{int:Diff}}
+{{int:d23a1c9f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Difference&action=edit difference]<br>
-[[MediaWiki_talk:Difference|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b16f1f66&action=edit 48d53c6e]<br>
+[[MediaWiki_talk:b16f1f66|Talk]]
 </td><td>
 (Difference between revisions)
 </td><td>
-{{int:Difference}}
+{{int:b16f1f66}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Disclaimerpage&action=edit disclaimerpage]<br>
-[[MediaWiki_talk:Disclaimerpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3c1c1596&action=edit 657b3530]<br>
+[[MediaWiki_talk:3c1c1596|Talk]]
 </td><td>
 Wiktionary:General_disclaimer
 </td><td>
-{{int:Disclaimerpage}}
+{{int:3c1c1596}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Disclaimers&action=edit disclaimers]<br>
-[[MediaWiki_talk:Disclaimers|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2cbbc29e&action=edit 774706d2]<br>
+[[MediaWiki_talk:2cbbc29e|Talk]]
 </td><td>
 Disclaimers
 </td><td>
-{{int:Disclaimers}}
+{{int:2cbbc29e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Doubleredirects&action=edit doubleredirects]<br>
-[[MediaWiki_talk:Doubleredirects|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ac57c500&action=edit c06b805b]<br>
+[[MediaWiki_talk:ac57c500|Talk]]
 </td><td>
 Double Redirects
 </td><td>
-{{int:Doubleredirects}}
+{{int:ac57c500}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Doubleredirectstext&action=edit doubleredirectstext]<br>
-[[MediaWiki_talk:Doubleredirectstext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ba6ba737&action=edit 49eadc1d]<br>
+[[MediaWiki_talk:ba6ba737|Talk]]
 </td><td>
 &lt;b&gt;Attention:&lt;/b&gt; This list may contain false positives. That usually means there is additional text with links below the first #REDIRECT.&lt;br /&gt;
 Each row contains links to the first and second redirect, as well as the first line of the second redirect text, usually giving the &quot;real&quot; target page, which the first redirect should point to.
 </td><td>
-{{int:Doubleredirectstext}}
+{{int:ba6ba737}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Edit&action=edit edit]<br>
-[[MediaWiki_talk:Edit|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5301648d&action=edit 9ead47a8]<br>
+[[MediaWiki_talk:5301648d|Talk]]
 </td><td>
 Edit
 </td><td>
-{{int:Edit}}
+{{int:5301648d}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Editcomment&action=edit editcomment]<br>
-[[MediaWiki_talk:Editcomment|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:299ca80d&action=edit 74940f72]<br>
+[[MediaWiki_talk:299ca80d|Talk]]
 </td><td>
 The edit comment was: &quot;&lt;i&gt;$1&lt;/i&gt;&quot;.
 </td><td>
-{{int:Editcomment}}
+{{int:299ca80d}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Editconflict&action=edit editconflict]<br>
-[[MediaWiki_talk:Editconflict|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1af657fb&action=edit 3b56e95b]<br>
+[[MediaWiki_talk:1af657fb|Talk]]
 </td><td>
 Edit conflict: $1
 </td><td>
-{{int:Editconflict}}
+{{int:1af657fb}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Editcurrent&action=edit editcurrent]<br>
-[[MediaWiki_talk:Editcurrent|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8b46c7e0&action=edit 10d395b9]<br>
+[[MediaWiki_talk:8b46c7e0|Talk]]
 </td><td>
 Edit the current version of this page
 </td><td>
-{{int:Editcurrent}}
+{{int:8b46c7e0}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Edithelp&action=edit edithelp]<br>
-[[MediaWiki_talk:Edithelp|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:47f4389a&action=edit a1524e37]<br>
+[[MediaWiki_talk:47f4389a|Talk]]
 </td><td>
 Editing help
 </td><td>
-{{int:Edithelp}}
+{{int:47f4389a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Edithelppage&action=edit edithelppage]<br>
-[[MediaWiki_talk:Edithelppage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:56815513&action=edit 7072deb5]<br>
+[[MediaWiki_talk:56815513|Talk]]
 </td><td>
 Help:Editing
 </td><td>
-{{int:Edithelppage}}
+{{int:56815513}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Editing&action=edit editing]<br>
-[[MediaWiki_talk:Editing|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3b9ba1a2&action=edit f34946be]<br>
+[[MediaWiki_talk:3b9ba1a2|Talk]]
 </td><td>
 Editing $1
 </td><td>
-{{int:Editing}}
+{{int:3b9ba1a2}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Editingold&action=edit editingold]<br>
-[[MediaWiki_talk:Editingold|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5e6bd9f3&action=edit bd55ff2e]<br>
+[[MediaWiki_talk:5e6bd9f3|Talk]]
 </td><td>
 &lt;strong&gt;WARNING: You are editing an out-of-date
 revision of this page.
 If you save it, any changes made since this revision will be lost.&lt;/strong&gt;
 
 </td><td>
-{{int:Editingold}}
+{{int:5e6bd9f3}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Editsection&action=edit editsection]<br>
-[[MediaWiki_talk:Editsection|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:51905619&action=edit 965b4116]<br>
+[[MediaWiki_talk:51905619|Talk]]
 </td><td>
 edit
 </td><td>
-{{int:Editsection}}
+{{int:51905619}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Editthispage&action=edit editthispage]<br>
-[[MediaWiki_talk:Editthispage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2138f524&action=edit 8bc15909]<br>
+[[MediaWiki_talk:2138f524|Talk]]
 </td><td>
 Edit this page
 </td><td>
-{{int:Editthispage}}
+{{int:2138f524}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailflag&action=edit emailflag]<br>
-[[MediaWiki_talk:Emailflag|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:96c0b2c5&action=edit 4a27c333]<br>
+[[MediaWiki_talk:96c0b2c5|Talk]]
 </td><td>
 Disable e-mail from other users
 </td><td>
-{{int:Emailflag}}
+{{int:96c0b2c5}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailforlost&action=edit emailforlost]<br>
-[[MediaWiki_talk:Emailforlost|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8a275a27&action=edit e4573eb4]<br>
+[[MediaWiki_talk:8a275a27|Talk]]
 </td><td>
 Fields marked with a star (*) are optional.  Storing an email address enables people to contact you through the website without you having to reveal your 
 email address to them, and it can be used to send you a new password if you forget it.&lt;br /&gt;&lt;br /&gt;Your real name, if you choose to provide it, will be used for giving you attribution for your work.
 </td><td>
-{{int:Emailforlost}}
+{{int:8a275a27}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailfrom&action=edit emailfrom]<br>
-[[MediaWiki_talk:Emailfrom|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:34a573ac&action=edit b29c18eb]<br>
+[[MediaWiki_talk:34a573ac|Talk]]
 </td><td>
 From
 </td><td>
-{{int:Emailfrom}}
+{{int:34a573ac}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailmessage&action=edit emailmessage]<br>
-[[MediaWiki_talk:Emailmessage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1653aeb3&action=edit 8d8c0edf]<br>
+[[MediaWiki_talk:1653aeb3|Talk]]
 </td><td>
 Message
 </td><td>
-{{int:Emailmessage}}
+{{int:1653aeb3}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailuser&action=edit emailuser]<br>
-[[MediaWiki_talk:Emailuser|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ac5cfb8e&action=edit a9b033ab]<br>
+[[MediaWiki_talk:ac5cfb8e|Talk]]
 </td><td>
 E-mail user
 </td><td>
-{{int:Emailuser}}
+{{int:ac5cfb8e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailpagetext&action=edit emailpagetext]<br>
-[[MediaWiki_talk:Emailpagetext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e3fc4fe2&action=edit eb6bf1bb]<br>
+[[MediaWiki_talk:e3fc4fe2|Talk]]
 </td><td>
 If this user has entered a valid e-mail address in
 his or her user preferences, the form below will send a single message.
@@ -1386,95 +1386,95 @@ The e-mail address you entered in your user preferences will appear
 as the &quot;From&quot; address of the mail, so the recipient will be able
 to reply.
 </td><td>
-{{int:Emailpagetext}}
+{{int:e3fc4fe2}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailsend&action=edit emailsend]<br>
-[[MediaWiki_talk:Emailsend|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:145da553&action=edit 05072b51]<br>
+[[MediaWiki_talk:145da553|Talk]]
 </td><td>
 Send
 </td><td>
-{{int:Emailsend}}
+{{int:145da553}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailsent&action=edit emailsent]<br>
-[[MediaWiki_talk:Emailsent|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:833a22dc&action=edit b1d3f3e4]<br>
+[[MediaWiki_talk:833a22dc|Talk]]
 </td><td>
 E-mail sent
 </td><td>
-{{int:Emailsent}}
+{{int:833a22dc}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailsenttext&action=edit emailsenttext]<br>
-[[MediaWiki_talk:Emailsenttext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e3935836&action=edit 2effa7aa]<br>
+[[MediaWiki_talk:e3935836|Talk]]
 </td><td>
 Your e-mail message has been sent.
 </td><td>
-{{int:Emailsenttext}}
+{{int:e3935836}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailsubject&action=edit emailsubject]<br>
-[[MediaWiki_talk:Emailsubject|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c8dba338&action=edit 275a0d68]<br>
+[[MediaWiki_talk:c8dba338|Talk]]
 </td><td>
 Subject
 </td><td>
-{{int:Emailsubject}}
+{{int:c8dba338}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailto&action=edit emailto]<br>
-[[MediaWiki_talk:Emailto|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c35740f4&action=edit 88b0fd50]<br>
+[[MediaWiki_talk:c35740f4|Talk]]
 </td><td>
 To
 </td><td>
-{{int:Emailto}}
+{{int:c35740f4}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Emailuser&action=edit emailuser]<br>
-[[MediaWiki_talk:Emailuser|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ac5cfb8e&action=edit a9b033ab]<br>
+[[MediaWiki_talk:ac5cfb8e|Talk]]
 </td><td>
 E-mail this user
 </td><td>
-{{int:Emailuser}}
+{{int:ac5cfb8e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Enterlockreason&action=edit enterlockreason]<br>
-[[MediaWiki_talk:Enterlockreason|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6b0a234b&action=edit 698a308a]<br>
+[[MediaWiki_talk:6b0a234b|Talk]]
 </td><td>
 Enter a reason for the lock, including an estimate
 of when the lock will be released
 </td><td>
-{{int:Enterlockreason}}
+{{int:6b0a234b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Error&action=edit error]<br>
-[[MediaWiki_talk:Error|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7f2f6a15&action=edit 11f9578d]<br>
+[[MediaWiki_talk:7f2f6a15|Talk]]
 </td><td>
 Error
 </td><td>
-{{int:Error}}
+{{int:7f2f6a15}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Errorpagetitle&action=edit errorpagetitle]<br>
-[[MediaWiki_talk:Errorpagetitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:53ee1378&action=edit aa2d1eba]<br>
+[[MediaWiki_talk:53ee1378|Talk]]
 </td><td>
 Error
 </td><td>
-{{int:Errorpagetitle}}
+{{int:53ee1378}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Exbeforeblank&action=edit exbeforeblank]<br>
-[[MediaWiki_talk:Exbeforeblank|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8aedeece&action=edit a1c634a7]<br>
+[[MediaWiki_talk:8aedeece|Talk]]
 </td><td>
 content before blanking was:
 </td><td>
-{{int:Exbeforeblank}}
+{{int:8aedeece}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Exblank&action=edit exblank]<br>
-[[MediaWiki_talk:Exblank|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:42abde88&action=edit eba6d64f]<br>
+[[MediaWiki_talk:42abde88|Talk]]
 </td><td>
 page was empty
 </td><td>
-{{int:Exblank}}
+{{int:42abde88}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Excontent&action=edit excontent]<br>
-[[MediaWiki_talk:Excontent|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:dd028a5c&action=edit fe80d230]<br>
+[[MediaWiki_talk:dd028a5c|Talk]]
 </td><td>
 content was:
 </td><td>
-{{int:Excontent}}
+{{int:dd028a5c}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Explainconflict&action=edit explainconflict]<br>
-[[MediaWiki_talk:Explainconflict|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b7845dfb&action=edit 1a7999fa]<br>
+[[MediaWiki_talk:b7845dfb|Talk]]
 </td><td>
 Someone else has changed this page since you
 started editing it.
@@ -1485,163 +1485,163 @@ You will have to merge your changes into the existing text.
 press &quot;Save page&quot;.
 &lt;p&gt;
 </td><td>
-{{int:Explainconflict}}
+{{int:b7845dfb}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Export&action=edit export]<br>
-[[MediaWiki_talk:Export|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f3e4fadb&action=edit 51713409]<br>
+[[MediaWiki_talk:f3e4fadb|Talk]]
 </td><td>
 Export pages
 </td><td>
-{{int:Export}}
+{{int:f3e4fadb}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Exportcuronly&action=edit exportcuronly]<br>
-[[MediaWiki_talk:Exportcuronly|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b68aeee1&action=edit bf364325]<br>
+[[MediaWiki_talk:b68aeee1|Talk]]
 </td><td>
 Include only the current revision, not the full history
 </td><td>
-{{int:Exportcuronly}}
+{{int:b68aeee1}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Exporttext&action=edit exporttext]<br>
-[[MediaWiki_talk:Exporttext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7e884d79&action=edit eddfb839]<br>
+[[MediaWiki_talk:7e884d79|Talk]]
 </td><td>
 You can export the text and editing history of a particular
 page or set of pages wrapped in some XML; this can then be imported into another
 wiki running MediaWiki software, transformed, or just kept for your private
 amusement.
 </td><td>
-{{int:Exporttext}}
+{{int:7e884d79}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Extlink_sample&action=edit extlink_sample]<br>
-[[MediaWiki_talk:Extlink_sample|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a34d80e8&action=edit 8f95a409]<br>
+[[MediaWiki_talk:a34d80e8|Talk]]
 </td><td>
 http&#58;//www.example.com link title
 </td><td>
-{{int:Extlink_sample}}
+{{int:a34d80e8}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Extlink_tip&action=edit extlink_tip]<br>
-[[MediaWiki_talk:Extlink_tip|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:117651f0&action=edit 481904c0]<br>
+[[MediaWiki_talk:117651f0|Talk]]
 </td><td>
 External link (remember http&#58;// prefix)
 </td><td>
-{{int:Extlink_tip}}
+{{int:117651f0}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Faq&action=edit faq]<br>
-[[MediaWiki_talk:Faq|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f11042a4&action=edit e75bc045]<br>
+[[MediaWiki_talk:f11042a4|Talk]]
 </td><td>
 FAQ
 </td><td>
-{{int:Faq}}
+{{int:f11042a4}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Faqpage&action=edit faqpage]<br>
-[[MediaWiki_talk:Faqpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2e891e10&action=edit 5b772c96]<br>
+[[MediaWiki_talk:2e891e10|Talk]]
 </td><td>
 Wiktionary:FAQ
 </td><td>
-{{int:Faqpage}}
+{{int:2e891e10}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Feedlinks&action=edit feedlinks]<br>
-[[MediaWiki_talk:Feedlinks|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:86edbc13&action=edit 62f8af98]<br>
+[[MediaWiki_talk:86edbc13|Talk]]
 </td><td>
 Feed:
 </td><td>
-{{int:Feedlinks}}
+{{int:86edbc13}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Filecopyerror&action=edit filecopyerror]<br>
-[[MediaWiki_talk:Filecopyerror|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2727dd90&action=edit 6c916412]<br>
+[[MediaWiki_talk:2727dd90|Talk]]
 </td><td>
 Could not copy file &quot;$1&quot; to &quot;$2&quot;.
 </td><td>
-{{int:Filecopyerror}}
+{{int:2727dd90}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Filedeleteerror&action=edit filedeleteerror]<br>
-[[MediaWiki_talk:Filedeleteerror|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e60a2c42&action=edit d393dbbc]<br>
+[[MediaWiki_talk:e60a2c42|Talk]]
 </td><td>
 Could not delete file &quot;$1&quot;.
 </td><td>
-{{int:Filedeleteerror}}
+{{int:e60a2c42}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Filedesc&action=edit filedesc]<br>
-[[MediaWiki_talk:Filedesc|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d7b25eeb&action=edit 6dace2d5]<br>
+[[MediaWiki_talk:d7b25eeb|Talk]]
 </td><td>
 Summary
 </td><td>
-{{int:Filedesc}}
+{{int:d7b25eeb}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Filename&action=edit filename]<br>
-[[MediaWiki_talk:Filename|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a3cbb98d&action=edit 08deae8d]<br>
+[[MediaWiki_talk:a3cbb98d|Talk]]
 </td><td>
 Filename
 </td><td>
-{{int:Filename}}
+{{int:a3cbb98d}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Filenotfound&action=edit filenotfound]<br>
-[[MediaWiki_talk:Filenotfound|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c8f6c94d&action=edit 35c4ded6]<br>
+[[MediaWiki_talk:c8f6c94d|Talk]]
 </td><td>
 Could not find file &quot;$1&quot;.
 </td><td>
-{{int:Filenotfound}}
+{{int:c8f6c94d}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Filerenameerror&action=edit filerenameerror]<br>
-[[MediaWiki_talk:Filerenameerror|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b9b56972&action=edit 6d195b75]<br>
+[[MediaWiki_talk:b9b56972|Talk]]
 </td><td>
 Could not rename file &quot;$1&quot; to &quot;$2&quot;.
 </td><td>
-{{int:Filerenameerror}}
+{{int:b9b56972}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Filesource&action=edit filesource]<br>
-[[MediaWiki_talk:Filesource|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0a6a1eb6&action=edit 1ffce53a]<br>
+[[MediaWiki_talk:0a6a1eb6|Talk]]
 </td><td>
 Source
 </td><td>
-{{int:Filesource}}
+{{int:0a6a1eb6}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Filestatus&action=edit filestatus]<br>
-[[MediaWiki_talk:Filestatus|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0f0e70a0&action=edit 040e2ba8]<br>
+[[MediaWiki_talk:0f0e70a0|Talk]]
 </td><td>
 Copyright status
 </td><td>
-{{int:Filestatus}}
+{{int:0f0e70a0}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Fileuploaded&action=edit fileuploaded]<br>
-[[MediaWiki_talk:Fileuploaded|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:45eaa53f&action=edit 79423d38]<br>
+[[MediaWiki_talk:45eaa53f|Talk]]
 </td><td>
 File &quot;$1&quot; uploaded successfully.
 Please follow this link: $2 to the description page and fill
 in information about the file, such as where it came from, when it was
 created and by whom, and anything else you may know about it.
 </td><td>
-{{int:Fileuploaded}}
+{{int:45eaa53f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Formerror&action=edit formerror]<br>
-[[MediaWiki_talk:Formerror|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a303ff06&action=edit 416cf9e4]<br>
+[[MediaWiki_talk:a303ff06|Talk]]
 </td><td>
 Error: could not submit form
 </td><td>
-{{int:Formerror}}
+{{int:a303ff06}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Fromwikipedia&action=edit fromwikipedia]<br>
-[[MediaWiki_talk:Fromwikipedia|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:dc08787f&action=edit ada66d8e]<br>
+[[MediaWiki_talk:dc08787f|Talk]]
 </td><td>
 From Wiktionary
 </td><td>
-{{int:Fromwikipedia}}
+{{int:dc08787f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Getimagelist&action=edit getimagelist]<br>
-[[MediaWiki_talk:Getimagelist|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c4c83db8&action=edit f8d783cd]<br>
+[[MediaWiki_talk:c4c83db8|Talk]]
 </td><td>
 fetching image list
 </td><td>
-{{int:Getimagelist}}
+{{int:c4c83db8}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Go&action=edit go]<br>
-[[MediaWiki_talk:Go|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2e0b45f2&action=edit 1ec558a6]<br>
+[[MediaWiki_talk:2e0b45f2|Talk]]
 </td><td>
 Go
 </td><td>
-{{int:Go}}
+{{int:2e0b45f2}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Googlesearch&action=edit googlesearch]<br>
-[[MediaWiki_talk:Googlesearch|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:749351b4&action=edit 49a50bdf]<br>
+[[MediaWiki_talk:749351b4|Talk]]
 </td><td>
 
 &lt;!-- SiteSearch Google --&gt;
@@ -1663,527 +1663,527 @@ border=&quot;0&quot; ALT=&quot;Google&quot;&gt;&lt;/A&gt;
 &lt;/FORM&gt;
 &lt;!-- SiteSearch Google --&gt;
 </td><td>
-{{int:Googlesearch}}
+{{int:749351b4}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Guesstimezone&action=edit guesstimezone]<br>
-[[MediaWiki_talk:Guesstimezone|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:489b474b&action=edit 8da95a41]<br>
+[[MediaWiki_talk:489b474b|Talk]]
 </td><td>
 Fill in from browser
 </td><td>
-{{int:Guesstimezone}}
+{{int:489b474b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Headline_sample&action=edit headline_sample]<br>
-[[MediaWiki_talk:Headline_sample|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:237cf168&action=edit 7f401fbb]<br>
+[[MediaWiki_talk:237cf168|Talk]]
 </td><td>
 Headline text
 </td><td>
-{{int:Headline_sample}}
+{{int:237cf168}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Headline_tip&action=edit headline_tip]<br>
-[[MediaWiki_talk:Headline_tip|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:91b3bc72&action=edit c4eef2f5]<br>
+[[MediaWiki_talk:91b3bc72|Talk]]
 </td><td>
 Level 2 headline
 </td><td>
-{{int:Headline_tip}}
+{{int:91b3bc72}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Help&action=edit help]<br>
-[[MediaWiki_talk:Help|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c47ae153&action=edit 92005ecf]<br>
+[[MediaWiki_talk:c47ae153|Talk]]
 </td><td>
 Help
 </td><td>
-{{int:Help}}
+{{int:c47ae153}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Helppage&action=edit helppage]<br>
-[[MediaWiki_talk:Helppage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:56203224&action=edit 9ca36083]<br>
+[[MediaWiki_talk:56203224|Talk]]
 </td><td>
 Help:Contents
 </td><td>
-{{int:Helppage}}
+{{int:56203224}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Hide&action=edit hide]<br>
-[[MediaWiki_talk:Hide|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:34d8b60f&action=edit 93c8c96b]<br>
+[[MediaWiki_talk:34d8b60f|Talk]]
 </td><td>
 hide
 </td><td>
-{{int:Hide}}
+{{int:34d8b60f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Hidetoc&action=edit hidetoc]<br>
-[[MediaWiki_talk:Hidetoc|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9aa39fe3&action=edit 1cc77a14]<br>
+[[MediaWiki_talk:9aa39fe3|Talk]]
 </td><td>
 hide
 </td><td>
-{{int:Hidetoc}}
+{{int:9aa39fe3}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Hist&action=edit hist]<br>
-[[MediaWiki_talk:Hist|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:4d9810c0&action=edit 56714843]<br>
+[[MediaWiki_talk:4d9810c0|Talk]]
 </td><td>
 hist
 </td><td>
-{{int:Hist}}
+{{int:4d9810c0}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Histlegend&action=edit histlegend]<br>
-[[MediaWiki_talk:Histlegend|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f37ab91a&action=edit 4e7121e9]<br>
+[[MediaWiki_talk:f37ab91a|Talk]]
 </td><td>
 Diff selection: mark the radio boxes of the versions to compare and hit enter or the button at the bottom.&lt;br/&gt;
 Legend: (cur) = difference with current version,
 (last) = difference with preceding version, M = minor edit.
 </td><td>
-{{int:Histlegend}}
+{{int:f37ab91a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:History&action=edit history]<br>
-[[MediaWiki_talk:History|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:90ccd649&action=edit 66f79d8a]<br>
+[[MediaWiki_talk:90ccd649|Talk]]
 </td><td>
 Page history
 </td><td>
-{{int:History}}
+{{int:90ccd649}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:History_short&action=edit history_short]<br>
-[[MediaWiki_talk:History_short|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:15a13ace&action=edit a937e036]<br>
+[[MediaWiki_talk:15a13ace|Talk]]
 </td><td>
 History
 </td><td>
-{{int:History_short}}
+{{int:15a13ace}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Historywarning&action=edit historywarning]<br>
-[[MediaWiki_talk:Historywarning|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e02c3587&action=edit 6079f80a]<br>
+[[MediaWiki_talk:e02c3587|Talk]]
 </td><td>
 Warning: The page you are about to delete has a history: 
 </td><td>
-{{int:Historywarning}}
+{{int:e02c3587}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Hr_tip&action=edit hr_tip]<br>
-[[MediaWiki_talk:Hr_tip|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5741ad8f&action=edit 48849a80]<br>
+[[MediaWiki_talk:5741ad8f|Talk]]
 </td><td>
 Horizontal line (use sparingly)
 </td><td>
-{{int:Hr_tip}}
+{{int:5741ad8f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ignorewarning&action=edit ignorewarning]<br>
-[[MediaWiki_talk:Ignorewarning|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7e18602a&action=edit d874ec59]<br>
+[[MediaWiki_talk:7e18602a|Talk]]
 </td><td>
 Ignore warning and save file anyway.
 </td><td>
-{{int:Ignorewarning}}
+{{int:7e18602a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ilshowmatch&action=edit ilshowmatch]<br>
-[[MediaWiki_talk:Ilshowmatch|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5bf1efaa&action=edit a98182df]<br>
+[[MediaWiki_talk:5bf1efaa|Talk]]
 </td><td>
 Show all images with names matching
 </td><td>
-{{int:Ilshowmatch}}
+{{int:5bf1efaa}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ilsubmit&action=edit ilsubmit]<br>
-[[MediaWiki_talk:Ilsubmit|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8e7a51d5&action=edit f8288ad8]<br>
+[[MediaWiki_talk:8e7a51d5|Talk]]
 </td><td>
 Search
 </td><td>
-{{int:Ilsubmit}}
+{{int:8e7a51d5}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Image_sample&action=edit image_sample]<br>
-[[MediaWiki_talk:Image_sample|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:133971b3&action=edit be19a728]<br>
+[[MediaWiki_talk:133971b3|Talk]]
 </td><td>
 Example.jpg
 </td><td>
-{{int:Image_sample}}
+{{int:133971b3}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Image_tip&action=edit image_tip]<br>
-[[MediaWiki_talk:Image_tip|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2a73e0c3&action=edit d103e97d]<br>
+[[MediaWiki_talk:2a73e0c3|Talk]]
 </td><td>
 Embedded image
 </td><td>
-{{int:Image_tip}}
+{{int:2a73e0c3}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Imagelinks&action=edit imagelinks]<br>
-[[MediaWiki_talk:Imagelinks|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:353c260c&action=edit 3414ac48]<br>
+[[MediaWiki_talk:353c260c|Talk]]
 </td><td>
 Image links
 </td><td>
-{{int:Imagelinks}}
+{{int:353c260c}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Imagelist&action=edit imagelist]<br>
-[[MediaWiki_talk:Imagelist|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:affc6aca&action=edit 4c06ba77]<br>
+[[MediaWiki_talk:affc6aca|Talk]]
 </td><td>
 Image list
 </td><td>
-{{int:Imagelist}}
+{{int:affc6aca}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Imagelisttext&action=edit imagelisttext]<br>
-[[MediaWiki_talk:Imagelisttext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ade85019&action=edit 2e8294bd]<br>
+[[MediaWiki_talk:ade85019|Talk]]
 </td><td>
 Below is a list of $1 images sorted $2.
 </td><td>
-{{int:Imagelisttext}}
+{{int:ade85019}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Imagepage&action=edit imagepage]<br>
-[[MediaWiki_talk:Imagepage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7277ee94&action=edit a152014b]<br>
+[[MediaWiki_talk:7277ee94|Talk]]
 </td><td>
 View image page
 </td><td>
-{{int:Imagepage}}
+{{int:7277ee94}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Imagereverted&action=edit imagereverted]<br>
-[[MediaWiki_talk:Imagereverted|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c783375c&action=edit b1d4cc4c]<br>
+[[MediaWiki_talk:c783375c|Talk]]
 </td><td>
 Revert to earlier version was successful.
 </td><td>
-{{int:Imagereverted}}
+{{int:c783375c}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Imgdelete&action=edit imgdelete]<br>
-[[MediaWiki_talk:Imgdelete|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c6f52751&action=edit 6656e4f4]<br>
+[[MediaWiki_talk:c6f52751|Talk]]
 </td><td>
 del
 </td><td>
-{{int:Imgdelete}}
+{{int:c6f52751}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Imgdesc&action=edit imgdesc]<br>
-[[MediaWiki_talk:Imgdesc|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3c281ed6&action=edit a1adca28]<br>
+[[MediaWiki_talk:3c281ed6|Talk]]
 </td><td>
 desc
 </td><td>
-{{int:Imgdesc}}
+{{int:3c281ed6}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Imghistlegend&action=edit imghistlegend]<br>
-[[MediaWiki_talk:Imghistlegend|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:186e5ca1&action=edit de786597]<br>
+[[MediaWiki_talk:186e5ca1|Talk]]
 </td><td>
 Legend: (cur) = this is the current image, (del) = delete
 this old version, (rev) = revert to this old version.
 &lt;br /&gt;&lt;i&gt;Click on date to see image uploaded on that date&lt;/i&gt;.
 </td><td>
-{{int:Imghistlegend}}
+{{int:186e5ca1}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Imghistory&action=edit imghistory]<br>
-[[MediaWiki_talk:Imghistory|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8d78c0d7&action=edit d9305ede]<br>
+[[MediaWiki_talk:8d78c0d7|Talk]]
 </td><td>
 Image history
 </td><td>
-{{int:Imghistory}}
+{{int:8d78c0d7}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Imglegend&action=edit imglegend]<br>
-[[MediaWiki_talk:Imglegend|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:86260b9f&action=edit a46e05c1]<br>
+[[MediaWiki_talk:86260b9f|Talk]]
 </td><td>
 Legend: (desc) = show/edit image description.
 </td><td>
-{{int:Imglegend}}
+{{int:86260b9f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Import&action=edit import]<br>
-[[MediaWiki_talk:Import|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d6fbc9d2&action=edit 62fdfbd5]<br>
+[[MediaWiki_talk:d6fbc9d2|Talk]]
 </td><td>
 Import pages
 </td><td>
-{{int:Import}}
+{{int:d6fbc9d2}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Importfailed&action=edit importfailed]<br>
-[[MediaWiki_talk:Importfailed|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bac6ed75&action=edit 85d2877a]<br>
+[[MediaWiki_talk:bac6ed75|Talk]]
 </td><td>
 Import failed: $1
 </td><td>
-{{int:Importfailed}}
+{{int:bac6ed75}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Importhistoryconflict&action=edit importhistoryconflict]<br>
-[[MediaWiki_talk:Importhistoryconflict|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f4dee51e&action=edit f74f664b]<br>
+[[MediaWiki_talk:f4dee51e|Talk]]
 </td><td>
 Conflicting history revision exists (may have imported this page before)
 </td><td>
-{{int:Importhistoryconflict}}
+{{int:f4dee51e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Importnotext&action=edit importnotext]<br>
-[[MediaWiki_talk:Importnotext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1d461354&action=edit ff881471]<br>
+[[MediaWiki_talk:1d461354|Talk]]
 </td><td>
 Empty or no text
 </td><td>
-{{int:Importnotext}}
+{{int:1d461354}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Importsuccess&action=edit importsuccess]<br>
-[[MediaWiki_talk:Importsuccess|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5b910f21&action=edit e2781bd1]<br>
+[[MediaWiki_talk:5b910f21|Talk]]
 </td><td>
 Import succeeded!
 </td><td>
-{{int:Importsuccess}}
+{{int:5b910f21}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Importtext&action=edit importtext]<br>
-[[MediaWiki_talk:Importtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3d58d609&action=edit 965243c5]<br>
+[[MediaWiki_talk:3d58d609|Talk]]
 </td><td>
 Please export the file from the source wiki using the Special:Export utility, save it to your disk and upload it here.
 </td><td>
-{{int:Importtext}}
+{{int:3d58d609}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Infobox&action=edit infobox]<br>
-[[MediaWiki_talk:Infobox|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:31be67da&action=edit 176bd169]<br>
+[[MediaWiki_talk:31be67da|Talk]]
 </td><td>
 Click a button to get an example text
 </td><td>
-{{int:Infobox}}
+{{int:31be67da}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Infobox_alert&action=edit infobox_alert]<br>
-[[MediaWiki_talk:Infobox_alert|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2854823a&action=edit 6de0a6d1]<br>
+[[MediaWiki_talk:2854823a|Talk]]
 </td><td>
 Please enter the text you want to be formatted.\n It will be shown in the infobox for copy and pasting.\nExample:\n$1\nwill become:\n$2
 </td><td>
-{{int:Infobox_alert}}
+{{int:2854823a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Internalerror&action=edit internalerror]<br>
-[[MediaWiki_talk:Internalerror|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:103c360a&action=edit e90e9e1c]<br>
+[[MediaWiki_talk:103c360a|Talk]]
 </td><td>
 Internal error
 </td><td>
-{{int:Internalerror}}
+{{int:103c360a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Intl&action=edit intl]<br>
-[[MediaWiki_talk:Intl|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:148008a6&action=edit 919b03e5]<br>
+[[MediaWiki_talk:148008a6|Talk]]
 </td><td>
 Interlanguage links
 </td><td>
-{{int:Intl}}
+{{int:148008a6}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ip_range_invalid&action=edit ip_range_invalid]<br>
-[[MediaWiki_talk:Ip_range_invalid|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:07586557&action=edit 5c2ff182]<br>
+[[MediaWiki_talk:07586557|Talk]]
 </td><td>
 Invalid IP range.
 
 </td><td>
-{{int:Ip_range_invalid}}
+{{int:07586557}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ipaddress&action=edit ipaddress]<br>
-[[MediaWiki_talk:Ipaddress|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:22f9ff50&action=edit 1f99aaad]<br>
+[[MediaWiki_talk:22f9ff50|Talk]]
 </td><td>
 IP Address/username
 </td><td>
-{{int:Ipaddress}}
+{{int:22f9ff50}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ipb_expiry_invalid&action=edit ipb_expiry_invalid]<br>
-[[MediaWiki_talk:Ipb_expiry_invalid|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f8994552&action=edit 91b35c2d]<br>
+[[MediaWiki_talk:f8994552|Talk]]
 </td><td>
 Expiry time invalid.
 </td><td>
-{{int:Ipb_expiry_invalid}}
+{{int:f8994552}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ipbexpiry&action=edit ipbexpiry]<br>
-[[MediaWiki_talk:Ipbexpiry|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2147c662&action=edit 524cfd7e]<br>
+[[MediaWiki_talk:2147c662|Talk]]
 </td><td>
 Expiry
 </td><td>
-{{int:Ipbexpiry}}
+{{int:2147c662}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ipblocklist&action=edit ipblocklist]<br>
-[[MediaWiki_talk:Ipblocklist|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9cb7e6ee&action=edit 503153e9]<br>
+[[MediaWiki_talk:9cb7e6ee|Talk]]
 </td><td>
 List of blocked IP addresses and usernames
 </td><td>
-{{int:Ipblocklist}}
+{{int:9cb7e6ee}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ipbreason&action=edit ipbreason]<br>
-[[MediaWiki_talk:Ipbreason|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6774dfa8&action=edit 1ecdad25]<br>
+[[MediaWiki_talk:6774dfa8|Talk]]
 </td><td>
 Reason
 </td><td>
-{{int:Ipbreason}}
+{{int:6774dfa8}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ipbsubmit&action=edit ipbsubmit]<br>
-[[MediaWiki_talk:Ipbsubmit|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:62218118&action=edit e29a20a2]<br>
+[[MediaWiki_talk:62218118|Talk]]
 </td><td>
 Block this user
 </td><td>
-{{int:Ipbsubmit}}
+{{int:62218118}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ipusubmit&action=edit ipusubmit]<br>
-[[MediaWiki_talk:Ipusubmit|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7863d305&action=edit 73ecf10c]<br>
+[[MediaWiki_talk:7863d305|Talk]]
 </td><td>
 Unblock this address
 </td><td>
-{{int:Ipusubmit}}
+{{int:7863d305}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ipusuccess&action=edit ipusuccess]<br>
-[[MediaWiki_talk:Ipusuccess|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ba95215c&action=edit 5fc7f411]<br>
+[[MediaWiki_talk:ba95215c|Talk]]
 </td><td>
 &quot;$1&quot; unblocked
 </td><td>
-{{int:Ipusuccess}}
+{{int:ba95215c}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Isbn&action=edit isbn]<br>
-[[MediaWiki_talk:Isbn|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8e89a827&action=edit 9aa403ad]<br>
+[[MediaWiki_talk:8e89a827|Talk]]
 </td><td>
 ISBN
 </td><td>
-{{int:Isbn}}
+{{int:8e89a827}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Isredirect&action=edit isredirect]<br>
-[[MediaWiki_talk:Isredirect|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5b017ff1&action=edit abdf987b]<br>
+[[MediaWiki_talk:5b017ff1|Talk]]
 </td><td>
 redirect page
 </td><td>
-{{int:Isredirect}}
+{{int:5b017ff1}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Italic_sample&action=edit italic_sample]<br>
-[[MediaWiki_talk:Italic_sample|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:208e76ed&action=edit 95f02073]<br>
+[[MediaWiki_talk:208e76ed|Talk]]
 </td><td>
 Italic text
 </td><td>
-{{int:Italic_sample}}
+{{int:208e76ed}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Italic_tip&action=edit italic_tip]<br>
-[[MediaWiki_talk:Italic_tip|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7e5211e9&action=edit 3f1c7185]<br>
+[[MediaWiki_talk:7e5211e9|Talk]]
 </td><td>
 Italic text
 </td><td>
-{{int:Italic_tip}}
+{{int:7e5211e9}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Iteminvalidname&action=edit iteminvalidname]<br>
-[[MediaWiki_talk:Iteminvalidname|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bcce0a8a&action=edit 0e29818a]<br>
+[[MediaWiki_talk:bcce0a8a|Talk]]
 </td><td>
 Problem with item &#39;$1&#39;, invalid name...
 </td><td>
-{{int:Iteminvalidname}}
+{{int:bcce0a8a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Largefile&action=edit largefile]<br>
-[[MediaWiki_talk:Largefile|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:996c231b&action=edit 5dd7fd8c]<br>
+[[MediaWiki_talk:996c231b|Talk]]
 </td><td>
 It is recommended that images not exceed 100k in size.
 </td><td>
-{{int:Largefile}}
+{{int:996c231b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Last&action=edit last]<br>
-[[MediaWiki_talk:Last|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d1c69a85&action=edit 213ed3ea]<br>
+[[MediaWiki_talk:d1c69a85|Talk]]
 </td><td>
 last
 </td><td>
-{{int:Last}}
+{{int:d1c69a85}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Lastmodified&action=edit lastmodified]<br>
-[[MediaWiki_talk:Lastmodified|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:26d03483&action=edit 1d0be5cf]<br>
+[[MediaWiki_talk:26d03483|Talk]]
 </td><td>
 This page was last modified $1.
 </td><td>
-{{int:Lastmodified}}
+{{int:26d03483}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Lastmodifiedby&action=edit lastmodifiedby]<br>
-[[MediaWiki_talk:Lastmodifiedby|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d8b6a1ce&action=edit b4c7424e]<br>
+[[MediaWiki_talk:d8b6a1ce|Talk]]
 </td><td>
 This page was last modified $1 by $2.
 </td><td>
-{{int:Lastmodifiedby}}
+{{int:d8b6a1ce}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Lineno&action=edit lineno]<br>
-[[MediaWiki_talk:Lineno|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b5fb75c3&action=edit 7aab91e5]<br>
+[[MediaWiki_talk:b5fb75c3|Talk]]
 </td><td>
 Line $1:
 </td><td>
-{{int:Lineno}}
+{{int:b5fb75c3}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Link_sample&action=edit link_sample]<br>
-[[MediaWiki_talk:Link_sample|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a1a27fd2&action=edit 4c4ec68a]<br>
+[[MediaWiki_talk:a1a27fd2|Talk]]
 </td><td>
 Link title
 </td><td>
-{{int:Link_sample}}
+{{int:a1a27fd2}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Link_tip&action=edit link_tip]<br>
-[[MediaWiki_talk:Link_tip|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:28f8c928&action=edit e0ee37d8]<br>
+[[MediaWiki_talk:28f8c928|Talk]]
 </td><td>
 Internal link
 </td><td>
-{{int:Link_tip}}
+{{int:28f8c928}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Linklistsub&action=edit linklistsub]<br>
-[[MediaWiki_talk:Linklistsub|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:003058f7&action=edit c692b683]<br>
+[[MediaWiki_talk:003058f7|Talk]]
 </td><td>
 (List of links)
 </td><td>
-{{int:Linklistsub}}
+{{int:003058f7}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Linkshere&action=edit linkshere]<br>
-[[MediaWiki_talk:Linkshere|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6508e12f&action=edit ce30384f]<br>
+[[MediaWiki_talk:6508e12f|Talk]]
 </td><td>
 The following pages link to here:
 </td><td>
-{{int:Linkshere}}
+{{int:6508e12f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Linkstoimage&action=edit linkstoimage]<br>
-[[MediaWiki_talk:Linkstoimage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f6dbd59d&action=edit 50b839a3]<br>
+[[MediaWiki_talk:f6dbd59d|Talk]]
 </td><td>
 The following pages link to this image:
 </td><td>
-{{int:Linkstoimage}}
+{{int:f6dbd59d}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Linktrail&action=edit linktrail]<br>
-[[MediaWiki_talk:Linktrail|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:eb68781a&action=edit 743236e7]<br>
+[[MediaWiki_talk:eb68781a|Talk]]
 </td><td>
 /^(&#91;a-z]+)(.*)$/sD
 </td><td>
-{{int:Linktrail}}
+{{int:eb68781a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Listform&action=edit listform]<br>
-[[MediaWiki_talk:Listform|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a8ca6811&action=edit 069b38c0]<br>
+[[MediaWiki_talk:a8ca6811|Talk]]
 </td><td>
 list
 </td><td>
-{{int:Listform}}
+{{int:a8ca6811}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Listusers&action=edit listusers]<br>
-[[MediaWiki_talk:Listusers|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9bf82beb&action=edit aabbb062]<br>
+[[MediaWiki_talk:9bf82beb|Talk]]
 </td><td>
 User list
 </td><td>
-{{int:Listusers}}
+{{int:9bf82beb}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loadhist&action=edit loadhist]<br>
-[[MediaWiki_talk:Loadhist|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:61a6ed55&action=edit 1b4ae4f9]<br>
+[[MediaWiki_talk:61a6ed55|Talk]]
 </td><td>
 Loading page history
 </td><td>
-{{int:Loadhist}}
+{{int:61a6ed55}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loadingrev&action=edit loadingrev]<br>
-[[MediaWiki_talk:Loadingrev|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bf19b1de&action=edit b6bb9fa5]<br>
+[[MediaWiki_talk:bf19b1de|Talk]]
 </td><td>
 loading revision for diff
 </td><td>
-{{int:Loadingrev}}
+{{int:bf19b1de}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Localtime&action=edit localtime]<br>
-[[MediaWiki_talk:Localtime|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:43678846&action=edit f25bccd7]<br>
+[[MediaWiki_talk:43678846|Talk]]
 </td><td>
 Local time display
 </td><td>
-{{int:Localtime}}
+{{int:43678846}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Lockbtn&action=edit lockbtn]<br>
-[[MediaWiki_talk:Lockbtn|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:31dcaa22&action=edit 62c50181]<br>
+[[MediaWiki_talk:31dcaa22|Talk]]
 </td><td>
 Lock database
 </td><td>
-{{int:Lockbtn}}
+{{int:31dcaa22}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Lockconfirm&action=edit lockconfirm]<br>
-[[MediaWiki_talk:Lockconfirm|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9dc82fa2&action=edit 5199ac8e]<br>
+[[MediaWiki_talk:9dc82fa2|Talk]]
 </td><td>
 Yes, I really want to lock the database.
 </td><td>
-{{int:Lockconfirm}}
+{{int:9dc82fa2}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Lockdb&action=edit lockdb]<br>
-[[MediaWiki_talk:Lockdb|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:fef93b9b&action=edit 4f29ae0a]<br>
+[[MediaWiki_talk:fef93b9b|Talk]]
 </td><td>
 Lock database
 </td><td>
-{{int:Lockdb}}
+{{int:fef93b9b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Lockdbsuccesssub&action=edit lockdbsuccesssub]<br>
-[[MediaWiki_talk:Lockdbsuccesssub|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b4abc4bb&action=edit e73c06d7]<br>
+[[MediaWiki_talk:b4abc4bb|Talk]]
 </td><td>
 Database lock succeeded
 </td><td>
-{{int:Lockdbsuccesssub}}
+{{int:b4abc4bb}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Lockdbsuccesstext&action=edit lockdbsuccesstext]<br>
-[[MediaWiki_talk:Lockdbsuccesstext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b6fcfec5&action=edit 88c6fb22]<br>
+[[MediaWiki_talk:b6fcfec5|Talk]]
 </td><td>
 The database has been locked.
 &lt;br /&gt;Remember to remove the lock after your maintenance is complete.
 </td><td>
-{{int:Lockdbsuccesstext}}
+{{int:b6fcfec5}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Lockdbtext&action=edit lockdbtext]<br>
-[[MediaWiki_talk:Lockdbtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:459bf648&action=edit 070ff9ae]<br>
+[[MediaWiki_talk:459bf648|Talk]]
 </td><td>
 Locking the database will suspend the ability of all
 users to edit pages, change their preferences, edit their watchlists, and
@@ -2191,87 +2191,87 @@ other things requiring changes in the database.
 Please confirm that this is what you intend to do, and that you will
 unlock the database when your maintenance is done.
 </td><td>
-{{int:Lockdbtext}}
+{{int:459bf648}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Locknoconfirm&action=edit locknoconfirm]<br>
-[[MediaWiki_talk:Locknoconfirm|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2727a733&action=edit 8a890d0a]<br>
+[[MediaWiki_talk:2727a733|Talk]]
 </td><td>
 You did not check the confirmation box.
 </td><td>
-{{int:Locknoconfirm}}
+{{int:2727a733}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Login&action=edit login]<br>
-[[MediaWiki_talk:Login|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:4e5a2893&action=edit 2736fab2]<br>
+[[MediaWiki_talk:4e5a2893|Talk]]
 </td><td>
 Log in
 </td><td>
-{{int:Login}}
+{{int:4e5a2893}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loginerror&action=edit loginerror]<br>
-[[MediaWiki_talk:Loginerror|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:fcfc7549&action=edit e6f9a4e2]<br>
+[[MediaWiki_talk:fcfc7549|Talk]]
 </td><td>
 Login error
 </td><td>
-{{int:Loginerror}}
+{{int:fcfc7549}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loginpagetitle&action=edit loginpagetitle]<br>
-[[MediaWiki_talk:Loginpagetitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:4113f724&action=edit 36f843a7]<br>
+[[MediaWiki_talk:4113f724|Talk]]
 </td><td>
 User login
 </td><td>
-{{int:Loginpagetitle}}
+{{int:4113f724}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loginproblem&action=edit loginproblem]<br>
-[[MediaWiki_talk:Loginproblem|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7a6963a6&action=edit d23ee6a8]<br>
+[[MediaWiki_talk:7a6963a6|Talk]]
 </td><td>
 &lt;b&gt;There has been a problem with your login.&lt;/b&gt;&lt;br /&gt;Try again!
 </td><td>
-{{int:Loginproblem}}
+{{int:7a6963a6}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loginprompt&action=edit loginprompt]<br>
-[[MediaWiki_talk:Loginprompt|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bbf56890&action=edit 221d44a4]<br>
+[[MediaWiki_talk:bbf56890|Talk]]
 </td><td>
 You must have cookies enabled to log in to Wiktionary.
 </td><td>
-{{int:Loginprompt}}
+{{int:bbf56890}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loginreqtext&action=edit loginreqtext]<br>
-[[MediaWiki_talk:Loginreqtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:75749962&action=edit ee8446ea]<br>
+[[MediaWiki_talk:75749962|Talk]]
 </td><td>
 You must &#91;&#91;special:Userlogin&#124;login]] to view other pages.
 </td><td>
-{{int:Loginreqtext}}
+{{int:75749962}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loginreqtitle&action=edit loginreqtitle]<br>
-[[MediaWiki_talk:Loginreqtitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c779400b&action=edit a90049e8]<br>
+[[MediaWiki_talk:c779400b|Talk]]
 </td><td>
 Login Required
 </td><td>
-{{int:Loginreqtitle}}
+{{int:c779400b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loginsuccess&action=edit loginsuccess]<br>
-[[MediaWiki_talk:Loginsuccess|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:753694e0&action=edit a5607b10]<br>
+[[MediaWiki_talk:753694e0|Talk]]
 </td><td>
 You are now logged in to Wiktionary as &quot;$1&quot;.
 </td><td>
-{{int:Loginsuccess}}
+{{int:753694e0}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Loginsuccesstitle&action=edit loginsuccesstitle]<br>
-[[MediaWiki_talk:Loginsuccesstitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:73eb6767&action=edit 5c2a05be]<br>
+[[MediaWiki_talk:73eb6767|Talk]]
 </td><td>
 Login successful
 </td><td>
-{{int:Loginsuccesstitle}}
+{{int:73eb6767}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Logout&action=edit logout]<br>
-[[MediaWiki_talk:Logout|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e43d612e&action=edit 55525e1b]<br>
+[[MediaWiki_talk:e43d612e|Talk]]
 </td><td>
 Log out
 </td><td>
-{{int:Logout}}
+{{int:e43d612e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Logouttext&action=edit logouttext]<br>
-[[MediaWiki_talk:Logouttext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a8455b1c&action=edit 50310460]<br>
+[[MediaWiki_talk:a8455b1c|Talk]]
 </td><td>
 You are now logged out.
 You can continue to use Wiktionary anonymously, or you can log in
@@ -2280,311 +2280,311 @@ continue to be displayed as if you were still logged in, until you clear
 your browser cache
 
 </td><td>
-{{int:Logouttext}}
+{{int:a8455b1c}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Logouttitle&action=edit logouttitle]<br>
-[[MediaWiki_talk:Logouttitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:cd48f4e7&action=edit 8f9db4e5]<br>
+[[MediaWiki_talk:cd48f4e7|Talk]]
 </td><td>
 User logout
 </td><td>
-{{int:Logouttitle}}
+{{int:cd48f4e7}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Lonelypages&action=edit lonelypages]<br>
-[[MediaWiki_talk:Lonelypages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:916f5569&action=edit 92ab2259]<br>
+[[MediaWiki_talk:916f5569|Talk]]
 </td><td>
 Orphaned pages
 </td><td>
-{{int:Lonelypages}}
+{{int:916f5569}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Longpages&action=edit longpages]<br>
-[[MediaWiki_talk:Longpages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9cdfa115&action=edit 38996948]<br>
+[[MediaWiki_talk:9cdfa115|Talk]]
 </td><td>
 Long pages
 </td><td>
-{{int:Longpages}}
+{{int:9cdfa115}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Longpagewarning&action=edit longpagewarning]<br>
-[[MediaWiki_talk:Longpagewarning|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b91ee293&action=edit 09b5b0a2]<br>
+[[MediaWiki_talk:b91ee293|Talk]]
 </td><td>
 WARNING: This page is $1 kilobytes long; some
 browsers may have problems editing pages approaching or longer than 32kb.
 Please consider breaking the page into smaller sections.
 </td><td>
-{{int:Longpagewarning}}
+{{int:b91ee293}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mailerror&action=edit mailerror]<br>
-[[MediaWiki_talk:Mailerror|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1ca3c8a2&action=edit 2b82fce3]<br>
+[[MediaWiki_talk:1ca3c8a2|Talk]]
 </td><td>
 Error sending mail: $1
 </td><td>
-{{int:Mailerror}}
+{{int:1ca3c8a2}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mailmypassword&action=edit mailmypassword]<br>
-[[MediaWiki_talk:Mailmypassword|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:97681e3e&action=edit 669d145f]<br>
+[[MediaWiki_talk:97681e3e|Talk]]
 </td><td>
 Mail me a new password
 </td><td>
-{{int:Mailmypassword}}
+{{int:97681e3e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mailnologin&action=edit mailnologin]<br>
-[[MediaWiki_talk:Mailnologin|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8646515d&action=edit 874a6660]<br>
+[[MediaWiki_talk:8646515d|Talk]]
 </td><td>
 No send address
 </td><td>
-{{int:Mailnologin}}
+{{int:8646515d}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mailnologintext&action=edit mailnologintext]<br>
-[[MediaWiki_talk:Mailnologintext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f8116e36&action=edit ce0442ed]<br>
+[[MediaWiki_talk:f8116e36|Talk]]
 </td><td>
 You must be &lt;a href=&quot;{{localurl:Special:Userlogin&quot;&gt;logged in&lt;/a&gt;
 and have a valid e-mail address in your &lt;a href=&quot;/wiki/Special:Preferences&quot;&gt;preferences&lt;/a&gt;
 to send e-mail to other users.
 </td><td>
-{{int:Mailnologintext}}
+{{int:f8116e36}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mainpage&action=edit mainpage]<br>
-[[MediaWiki_talk:Mainpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:95989ab3&action=edit 6ad3db9a]<br>
+[[MediaWiki_talk:95989ab3|Talk]]
 </td><td>
 Main Page
 </td><td>
-{{int:Mainpage}}
+{{int:95989ab3}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mainpagedocfooter&action=edit mainpagedocfooter]<br>
-[[MediaWiki_talk:Mainpagedocfooter|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:216e0fe3&action=edit 19d499cf]<br>
+[[MediaWiki_talk:216e0fe3|Talk]]
 </td><td>
 Please see &#91;http&#58;//meta.wikipedia.org/wiki/MediaWiki_i18n documentation on customizing the interface]
 and the &#91;http&#58;//meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User&#39;s Guide] for usage and configuration help.
 </td><td>
-{{int:Mainpagedocfooter}}
+{{int:216e0fe3}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mainpagetext&action=edit mainpagetext]<br>
-[[MediaWiki_talk:Mainpagetext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:29c07aac&action=edit 30186460]<br>
+[[MediaWiki_talk:29c07aac|Talk]]
 </td><td>
 Wiki software successfully installed.
 </td><td>
-{{int:Mainpagetext}}
+{{int:29c07aac}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Maintenance&action=edit maintenance]<br>
-[[MediaWiki_talk:Maintenance|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:94de303b&action=edit 5b30e2c5]<br>
+[[MediaWiki_talk:94de303b|Talk]]
 </td><td>
 Maintenance page
 </td><td>
-{{int:Maintenance}}
+{{int:94de303b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Maintenancebacklink&action=edit maintenancebacklink]<br>
-[[MediaWiki_talk:Maintenancebacklink|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b98df751&action=edit aa734abd]<br>
+[[MediaWiki_talk:b98df751|Talk]]
 </td><td>
 Back to Maintenance Page
 </td><td>
-{{int:Maintenancebacklink}}
+{{int:b98df751}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Maintnancepagetext&action=edit maintnancepagetext]<br>
-[[MediaWiki_talk:Maintnancepagetext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5e830e7c&action=edit ff589b21]<br>
+[[MediaWiki_talk:5e830e7c|Talk]]
 </td><td>
 This page includes several handy tools for everyday maintenance. Some of these functions tend to stress the database, so please do not hit reload after every item you fixed ;-)
 </td><td>
-{{int:Maintnancepagetext}}
+{{int:5e830e7c}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Makesysop&action=edit makesysop]<br>
-[[MediaWiki_talk:Makesysop|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:147d840b&action=edit 192a7baa]<br>
+[[MediaWiki_talk:147d840b|Talk]]
 </td><td>
 Make a user into a sysop
 </td><td>
-{{int:Makesysop}}
+{{int:147d840b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Makesysopfail&action=edit makesysopfail]<br>
-[[MediaWiki_talk:Makesysopfail|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3e1272dd&action=edit c857a847]<br>
+[[MediaWiki_talk:3e1272dd|Talk]]
 </td><td>
 &lt;b&gt;User &quot;$1&quot; could not be made into a sysop. (Did you enter the name correctly?)&lt;/b&gt;
 </td><td>
-{{int:Makesysopfail}}
+{{int:3e1272dd}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Makesysopname&action=edit makesysopname]<br>
-[[MediaWiki_talk:Makesysopname|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f942827d&action=edit 4ae2de91]<br>
+[[MediaWiki_talk:f942827d|Talk]]
 </td><td>
 Name of the user:
 </td><td>
-{{int:Makesysopname}}
+{{int:f942827d}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Makesysopok&action=edit makesysopok]<br>
-[[MediaWiki_talk:Makesysopok|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8933e97e&action=edit 1138d88d]<br>
+[[MediaWiki_talk:8933e97e|Talk]]
 </td><td>
 &lt;b&gt;User &quot;$1&quot; is now a sysop&lt;/b&gt;
 </td><td>
-{{int:Makesysopok}}
+{{int:8933e97e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Makesysopsubmit&action=edit makesysopsubmit]<br>
-[[MediaWiki_talk:Makesysopsubmit|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ffde53f7&action=edit 51a3d81a]<br>
+[[MediaWiki_talk:ffde53f7|Talk]]
 </td><td>
 Make this user into a sysop
 </td><td>
-{{int:Makesysopsubmit}}
+{{int:ffde53f7}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Makesysoptext&action=edit makesysoptext]<br>
-[[MediaWiki_talk:Makesysoptext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6135d20c&action=edit 9014f0fd]<br>
+[[MediaWiki_talk:6135d20c|Talk]]
 </td><td>
 This form is used by bureaucrats to turn ordinary users into administrators. 
 Type the name of the user in the box and press the button to make the user an administrator
 </td><td>
-{{int:Makesysoptext}}
+{{int:6135d20c}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Makesysoptitle&action=edit makesysoptitle]<br>
-[[MediaWiki_talk:Makesysoptitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:40537c23&action=edit 9d7a92cc]<br>
+[[MediaWiki_talk:40537c23|Talk]]
 </td><td>
 Make a user into a sysop
 </td><td>
-{{int:Makesysoptitle}}
+{{int:40537c23}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Matchtotals&action=edit matchtotals]<br>
-[[MediaWiki_talk:Matchtotals|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b00f5f1f&action=edit f2f4e13e]<br>
+[[MediaWiki_talk:b00f5f1f|Talk]]
 </td><td>
 The query &quot;$1&quot; matched $2 page titles
 and the text of $3 pages.
 </td><td>
-{{int:Matchtotals}}
+{{int:b00f5f1f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math&action=edit math]<br>
-[[MediaWiki_talk:Math|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3edf0df4&action=edit 7a488390]<br>
+[[MediaWiki_talk:3edf0df4|Talk]]
 </td><td>
 Rendering math
 </td><td>
-{{int:Math}}
+{{int:3edf0df4}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_bad_output&action=edit math_bad_output]<br>
-[[MediaWiki_talk:Math_bad_output|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:78c6cb06&action=edit d9b8688c]<br>
+[[MediaWiki_talk:78c6cb06|Talk]]
 </td><td>
 Can&#39;t write to or create math output directory
 </td><td>
-{{int:Math_bad_output}}
+{{int:78c6cb06}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_bad_tmpdir&action=edit math_bad_tmpdir]<br>
-[[MediaWiki_talk:Math_bad_tmpdir|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f83fe947&action=edit be21263f]<br>
+[[MediaWiki_talk:f83fe947|Talk]]
 </td><td>
 Can&#39;t write to or create math temp directory
 </td><td>
-{{int:Math_bad_tmpdir}}
+{{int:f83fe947}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_failure&action=edit math_failure]<br>
-[[MediaWiki_talk:Math_failure|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f8cf40ba&action=edit 53e1c013]<br>
+[[MediaWiki_talk:f8cf40ba|Talk]]
 </td><td>
 Failed to parse
 </td><td>
-{{int:Math_failure}}
+{{int:f8cf40ba}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_image_error&action=edit math_image_error]<br>
-[[MediaWiki_talk:Math_image_error|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7b3e958f&action=edit 7082c48f]<br>
+[[MediaWiki_talk:7b3e958f|Talk]]
 </td><td>
 PNG conversion failed; check for correct installation of latex, dvips, gs, and convert
 </td><td>
-{{int:Math_image_error}}
+{{int:7b3e958f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_lexing_error&action=edit math_lexing_error]<br>
-[[MediaWiki_talk:Math_lexing_error|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d6a158de&action=edit 41e6fe2b]<br>
+[[MediaWiki_talk:d6a158de|Talk]]
 </td><td>
 lexing error
 </td><td>
-{{int:Math_lexing_error}}
+{{int:d6a158de}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_notexvc&action=edit math_notexvc]<br>
-[[MediaWiki_talk:Math_notexvc|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8109168a&action=edit 20ec4685]<br>
+[[MediaWiki_talk:8109168a|Talk]]
 </td><td>
 Missing texvc executable; please see math/README to configure.
 </td><td>
-{{int:Math_notexvc}}
+{{int:8109168a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_sample&action=edit math_sample]<br>
-[[MediaWiki_talk:Math_sample|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:41b65279&action=edit 3e8b5972]<br>
+[[MediaWiki_talk:41b65279|Talk]]
 </td><td>
 Insert formula here
 </td><td>
-{{int:Math_sample}}
+{{int:41b65279}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_syntax_error&action=edit math_syntax_error]<br>
-[[MediaWiki_talk:Math_syntax_error|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5cbab860&action=edit d5667f6b]<br>
+[[MediaWiki_talk:5cbab860|Talk]]
 </td><td>
 syntax error
 </td><td>
-{{int:Math_syntax_error}}
+{{int:5cbab860}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_tip&action=edit math_tip]<br>
-[[MediaWiki_talk:Math_tip|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7e756feb&action=edit 0baadf18]<br>
+[[MediaWiki_talk:7e756feb|Talk]]
 </td><td>
 Mathematical formula (LaTeX)
 </td><td>
-{{int:Math_tip}}
+{{int:7e756feb}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_unknown_error&action=edit math_unknown_error]<br>
-[[MediaWiki_talk:Math_unknown_error|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:fb4d261d&action=edit 5e0c970a]<br>
+[[MediaWiki_talk:fb4d261d|Talk]]
 </td><td>
 unknown error
 </td><td>
-{{int:Math_unknown_error}}
+{{int:fb4d261d}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Math_unknown_function&action=edit math_unknown_function]<br>
-[[MediaWiki_talk:Math_unknown_function|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:26558f91&action=edit a0577d1d]<br>
+[[MediaWiki_talk:26558f91|Talk]]
 </td><td>
 unknown function 
 </td><td>
-{{int:Math_unknown_function}}
+{{int:26558f91}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Media_sample&action=edit media_sample]<br>
-[[MediaWiki_talk:Media_sample|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:63e94059&action=edit 704093ed]<br>
+[[MediaWiki_talk:63e94059|Talk]]
 </td><td>
 Example.mp3
 </td><td>
-{{int:Media_sample}}
+{{int:63e94059}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Media_tip&action=edit media_tip]<br>
-[[MediaWiki_talk:Media_tip|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8e4baaa8&action=edit 77fbb90b]<br>
+[[MediaWiki_talk:8e4baaa8|Talk]]
 </td><td>
 Media file link
 </td><td>
-{{int:Media_tip}}
+{{int:8e4baaa8}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Minlength&action=edit minlength]<br>
-[[MediaWiki_talk:Minlength|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:cca18055&action=edit 61350cd2]<br>
+[[MediaWiki_talk:cca18055|Talk]]
 </td><td>
 Image names must be at least three letters.
 </td><td>
-{{int:Minlength}}
+{{int:cca18055}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Minoredit&action=edit minoredit]<br>
-[[MediaWiki_talk:Minoredit|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7f8c4ff3&action=edit 3dd77123]<br>
+[[MediaWiki_talk:7f8c4ff3|Talk]]
 </td><td>
 This is a minor edit
 </td><td>
-{{int:Minoredit}}
+{{int:7f8c4ff3}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Minoreditletter&action=edit minoreditletter]<br>
-[[MediaWiki_talk:Minoreditletter|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ce5828a8&action=edit 3c37ba2f]<br>
+[[MediaWiki_talk:ce5828a8|Talk]]
 </td><td>
 M
 </td><td>
-{{int:Minoreditletter}}
+{{int:ce5828a8}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mispeelings&action=edit mispeelings]<br>
-[[MediaWiki_talk:Mispeelings|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1e3a3f5e&action=edit abf0b01a]<br>
+[[MediaWiki_talk:1e3a3f5e|Talk]]
 </td><td>
 Pages with misspellings
 </td><td>
-{{int:Mispeelings}}
+{{int:1e3a3f5e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mispeelingspage&action=edit mispeelingspage]<br>
-[[MediaWiki_talk:Mispeelingspage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:18c50601&action=edit 4841b1be]<br>
+[[MediaWiki_talk:18c50601|Talk]]
 </td><td>
 List of common misspellings
 </td><td>
-{{int:Mispeelingspage}}
+{{int:18c50601}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mispeelingstext&action=edit mispeelingstext]<br>
-[[MediaWiki_talk:Mispeelingstext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ff661e66&action=edit 20eeb250]<br>
+[[MediaWiki_talk:ff661e66|Talk]]
 </td><td>
 The following pages contain a common misspelling, which are listed on $1. The correct spelling might be given (like this).
 </td><td>
-{{int:Mispeelingstext}}
+{{int:ff661e66}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Missingarticle&action=edit missingarticle]<br>
-[[MediaWiki_talk:Missingarticle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:77dd649d&action=edit 28d8d2f3]<br>
+[[MediaWiki_talk:77dd649d|Talk]]
 </td><td>
 The database did not find the text of a page
 that it should have found, named &quot;$1&quot;.
@@ -2595,96 +2595,96 @@ page that has been deleted.
 &lt;p&gt;If this is not the case, you may have found a bug in the software.
 Please report this to an administrator, making note of the URL.
 </td><td>
-{{int:Missingarticle}}
+{{int:77dd649d}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Missingimage&action=edit missingimage]<br>
-[[MediaWiki_talk:Missingimage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:43bf0acd&action=edit d6472ac8]<br>
+[[MediaWiki_talk:43bf0acd|Talk]]
 </td><td>
 &lt;b&gt;Missing image&lt;/b&gt;&lt;br /&gt;&lt;i&gt;$1&lt;/i&gt;
 
 </td><td>
-{{int:Missingimage}}
+{{int:43bf0acd}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Missinglanguagelinks&action=edit missinglanguagelinks]<br>
-[[MediaWiki_talk:Missinglanguagelinks|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:75c0518a&action=edit f433e9c8]<br>
+[[MediaWiki_talk:75c0518a|Talk]]
 </td><td>
 Missing Language Links
 </td><td>
-{{int:Missinglanguagelinks}}
+{{int:75c0518a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Missinglanguagelinksbutton&action=edit missinglanguagelinksbutton]<br>
-[[MediaWiki_talk:Missinglanguagelinksbutton|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5ef61b91&action=edit a4a9fdcd]<br>
+[[MediaWiki_talk:5ef61b91|Talk]]
 </td><td>
 Find missing language links for
 </td><td>
-{{int:Missinglanguagelinksbutton}}
+{{int:5ef61b91}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Missinglanguagelinkstext&action=edit missinglanguagelinkstext]<br>
-[[MediaWiki_talk:Missinglanguagelinkstext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f5affad8&action=edit e46ff038]<br>
+[[MediaWiki_talk:f5affad8|Talk]]
 </td><td>
 These pages do &lt;i&gt;not&lt;/i&gt; link to their counterpart in $1. Redirects and subpages are &lt;i&gt;not&lt;/i&gt; shown.
 </td><td>
-{{int:Missinglanguagelinkstext}}
+{{int:f5affad8}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Moredotdotdot&action=edit moredotdotdot]<br>
-[[MediaWiki_talk:Moredotdotdot|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:22e2c957&action=edit b43c02b9]<br>
+[[MediaWiki_talk:22e2c957|Talk]]
 </td><td>
 More...
 </td><td>
-{{int:Moredotdotdot}}
+{{int:22e2c957}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Move&action=edit move]<br>
-[[MediaWiki_talk:Move|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:76cdb950&action=edit 379d6ce9]<br>
+[[MediaWiki_talk:76cdb950|Talk]]
 </td><td>
 Move
 </td><td>
-{{int:Move}}
+{{int:76cdb950}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Movearticle&action=edit movearticle]<br>
-[[MediaWiki_talk:Movearticle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:31d22872&action=edit d55a3c2a]<br>
+[[MediaWiki_talk:31d22872|Talk]]
 </td><td>
 Move page
 </td><td>
-{{int:Movearticle}}
+{{int:31d22872}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Movedto&action=edit movedto]<br>
-[[MediaWiki_talk:Movedto|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:fb280ed2&action=edit 0bd0c880]<br>
+[[MediaWiki_talk:fb280ed2|Talk]]
 </td><td>
 moved to
 </td><td>
-{{int:Movedto}}
+{{int:fb280ed2}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Movenologin&action=edit movenologin]<br>
-[[MediaWiki_talk:Movenologin|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8ddc20a0&action=edit 7c041d6e]<br>
+[[MediaWiki_talk:8ddc20a0|Talk]]
 </td><td>
 Not logged in
 </td><td>
-{{int:Movenologin}}
+{{int:8ddc20a0}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Movenologintext&action=edit movenologintext]<br>
-[[MediaWiki_talk:Movenologintext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:75985d0e&action=edit e479574b]<br>
+[[MediaWiki_talk:75985d0e|Talk]]
 </td><td>
 You must be a registered user and &lt;a href=&quot;/wiki/Special:Userlogin&quot;&gt;logged in&lt;/a&gt;
 to move a page.
 </td><td>
-{{int:Movenologintext}}
+{{int:75985d0e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Movepage&action=edit movepage]<br>
-[[MediaWiki_talk:Movepage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:addffb42&action=edit 0f05ab2b]<br>
+[[MediaWiki_talk:addffb42|Talk]]
 </td><td>
 Move page
 </td><td>
-{{int:Movepage}}
+{{int:addffb42}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Movepagebtn&action=edit movepagebtn]<br>
-[[MediaWiki_talk:Movepagebtn|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6f9e8dfc&action=edit 0311d79b]<br>
+[[MediaWiki_talk:6f9e8dfc|Talk]]
 </td><td>
 Move page
 </td><td>
-{{int:Movepagebtn}}
+{{int:6f9e8dfc}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Movepagetalktext&action=edit movepagetalktext]<br>
-[[MediaWiki_talk:Movepagetalktext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:993d5ce8&action=edit 53ab3d1c]<br>
+[[MediaWiki_talk:993d5ce8|Talk]]
 </td><td>
 The associated talk page, if any, will be automatically moved along with it &#39;&#39;&#39;unless:&#39;&#39;&#39;
 *You are moving the page across namespaces,
@@ -2693,10 +2693,10 @@ The associated talk page, if any, will be automatically moved along with it &#39
 
 In those cases, you will have to move or merge the page manually if desired.
 </td><td>
-{{int:Movepagetalktext}}
+{{int:993d5ce8}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Movepagetext&action=edit movepagetext]<br>
-[[MediaWiki_talk:Movepagetext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ce6bc0ee&action=edit a363312c]<br>
+[[MediaWiki_talk:ce6bc0ee|Talk]]
 </td><td>
 Using the form below will rename a page, moving all
 of its history to the new name.
@@ -2717,798 +2717,798 @@ This can be a drastic and unexpected change for a popular page;
 please be sure you understand the consequences of this before
 proceeding.
 </td><td>
-{{int:Movepagetext}}
+{{int:ce6bc0ee}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Movetalk&action=edit movetalk]<br>
-[[MediaWiki_talk:Movetalk|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e0a05db0&action=edit 7bd87d2d]<br>
+[[MediaWiki_talk:e0a05db0|Talk]]
 </td><td>
 Move &quot;talk&quot; page as well, if applicable.
 </td><td>
-{{int:Movetalk}}
+{{int:e0a05db0}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Movethispage&action=edit movethispage]<br>
-[[MediaWiki_talk:Movethispage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:689ff1e7&action=edit 2119d3ee]<br>
+[[MediaWiki_talk:689ff1e7|Talk]]
 </td><td>
 Move this page
 </td><td>
-{{int:Movethispage}}
+{{int:689ff1e7}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mycontris&action=edit mycontris]<br>
-[[MediaWiki_talk:Mycontris|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0dc37cdb&action=edit 12b6caf0]<br>
+[[MediaWiki_talk:0dc37cdb|Talk]]
 </td><td>
 My contributions
 </td><td>
-{{int:Mycontris}}
+{{int:0dc37cdb}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mypage&action=edit mypage]<br>
-[[MediaWiki_talk:Mypage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:51a7215d&action=edit 5d558678]<br>
+[[MediaWiki_talk:51a7215d|Talk]]
 </td><td>
 My page
 </td><td>
-{{int:Mypage}}
+{{int:51a7215d}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Mytalk&action=edit mytalk]<br>
-[[MediaWiki_talk:Mytalk|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:fbe8f485&action=edit 49886539]<br>
+[[MediaWiki_talk:fbe8f485|Talk]]
 </td><td>
 My talk
 </td><td>
-{{int:Mytalk}}
+{{int:fbe8f485}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Navigation&action=edit navigation]<br>
-[[MediaWiki_talk:Navigation|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:cf03cf2e&action=edit ad831792]<br>
+[[MediaWiki_talk:cf03cf2e|Talk]]
 </td><td>
 Navigation
 </td><td>
-{{int:Navigation}}
+{{int:cf03cf2e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nbytes&action=edit nbytes]<br>
-[[MediaWiki_talk:Nbytes|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b5b13ae8&action=edit e75caf8a]<br>
+[[MediaWiki_talk:b5b13ae8|Talk]]
 </td><td>
 $1 bytes
 </td><td>
-{{int:Nbytes}}
+{{int:b5b13ae8}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nchanges&action=edit nchanges]<br>
-[[MediaWiki_talk:Nchanges|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bee99a5f&action=edit 3d7d513a]<br>
+[[MediaWiki_talk:bee99a5f|Talk]]
 </td><td>
 $1 changes
 </td><td>
-{{int:Nchanges}}
+{{int:bee99a5f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Newarticle&action=edit newarticle]<br>
-[[MediaWiki_talk:Newarticle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:654df301&action=edit 06b1c460]<br>
+[[MediaWiki_talk:654df301|Talk]]
 </td><td>
 (New)
 </td><td>
-{{int:Newarticle}}
+{{int:654df301}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Newarticletext&action=edit newarticletext]<br>
-[[MediaWiki_talk:Newarticletext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f1622d18&action=edit b90d5eb0]<br>
+[[MediaWiki_talk:f1622d18|Talk]]
 </td><td>
 You&#39;ve followed a link to a page that doesn&#39;t exist yet.
 To create the page, start typing in the box below 
 (see the &#91;&#91;Wiktionary:Help&#124;help page]] for more info).
 If you are here by mistake, just click your browser&#39;s &#39;&#39;&#39;back&#39;&#39;&#39; button.
 </td><td>
-{{int:Newarticletext}}
+{{int:f1622d18}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Newmessages&action=edit newmessages]<br>
-[[MediaWiki_talk:Newmessages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:780ce01b&action=edit 0b08523d]<br>
+[[MediaWiki_talk:780ce01b|Talk]]
 </td><td>
 You have $1.
 </td><td>
-{{int:Newmessages}}
+{{int:780ce01b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Newmessageslink&action=edit newmessageslink]<br>
-[[MediaWiki_talk:Newmessageslink|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e09d8ffe&action=edit 1f028736]<br>
+[[MediaWiki_talk:e09d8ffe|Talk]]
 </td><td>
 new messages
 </td><td>
-{{int:Newmessageslink}}
+{{int:e09d8ffe}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Newpage&action=edit newpage]<br>
-[[MediaWiki_talk:Newpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ce656abe&action=edit d68c7e3c]<br>
+[[MediaWiki_talk:ce656abe|Talk]]
 </td><td>
 New page
 </td><td>
-{{int:Newpage}}
+{{int:ce656abe}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Newpageletter&action=edit newpageletter]<br>
-[[MediaWiki_talk:Newpageletter|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b886426f&action=edit d081a481]<br>
+[[MediaWiki_talk:b886426f|Talk]]
 </td><td>
 N
 </td><td>
-{{int:Newpageletter}}
+{{int:b886426f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Newpages&action=edit newpages]<br>
-[[MediaWiki_talk:Newpages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2adf1ae7&action=edit eeadf049]<br>
+[[MediaWiki_talk:2adf1ae7|Talk]]
 </td><td>
 New pages
 </td><td>
-{{int:Newpages}}
+{{int:2adf1ae7}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Newpassword&action=edit newpassword]<br>
-[[MediaWiki_talk:Newpassword|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:393f8bca&action=edit f2c57870]<br>
+[[MediaWiki_talk:393f8bca|Talk]]
 </td><td>
 New password
 </td><td>
-{{int:Newpassword}}
+{{int:393f8bca}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Newtitle&action=edit newtitle]<br>
-[[MediaWiki_talk:Newtitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:fa56bbd9&action=edit a104cc01]<br>
+[[MediaWiki_talk:fa56bbd9|Talk]]
 </td><td>
 To new title
 </td><td>
-{{int:Newtitle}}
+{{int:fa56bbd9}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Newusersonly&action=edit newusersonly]<br>
-[[MediaWiki_talk:Newusersonly|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2a57c83c&action=edit 41af2ba5]<br>
+[[MediaWiki_talk:2a57c83c|Talk]]
 </td><td>
  (new users only)
 </td><td>
-{{int:Newusersonly}}
+{{int:2a57c83c}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Next&action=edit next]<br>
-[[MediaWiki_talk:Next|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bc981983&action=edit edee9402]<br>
+[[MediaWiki_talk:bc981983|Talk]]
 </td><td>
 next
 </td><td>
-{{int:Next}}
+{{int:bc981983}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nextn&action=edit nextn]<br>
-[[MediaWiki_talk:Nextn|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5e067f51&action=edit e0bd4ddb]<br>
+[[MediaWiki_talk:5e067f51|Talk]]
 </td><td>
 next $1
 </td><td>
-{{int:Nextn}}
+{{int:5e067f51}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nlinks&action=edit nlinks]<br>
-[[MediaWiki_talk:Nlinks|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:61c11c45&action=edit 2b45e9af]<br>
+[[MediaWiki_talk:61c11c45|Talk]]
 </td><td>
 $1 links
 </td><td>
-{{int:Nlinks}}
+{{int:61c11c45}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Noaffirmation&action=edit noaffirmation]<br>
-[[MediaWiki_talk:Noaffirmation|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e307257f&action=edit f6f5e28d]<br>
+[[MediaWiki_talk:e307257f|Talk]]
 </td><td>
 You must affirm that your upload does not violate
 any copyrights.
 </td><td>
-{{int:Noaffirmation}}
+{{int:e307257f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Noarticletext&action=edit noarticletext]<br>
-[[MediaWiki_talk:Noarticletext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:335462de&action=edit 2658d031]<br>
+[[MediaWiki_talk:335462de|Talk]]
 </td><td>
 (There is currently no text in this page)
 </td><td>
-{{int:Noarticletext}}
+{{int:335462de}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Noblockreason&action=edit noblockreason]<br>
-[[MediaWiki_talk:Noblockreason|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:46716843&action=edit 68326cbc]<br>
+[[MediaWiki_talk:46716843|Talk]]
 </td><td>
 You must supply a reason for the block.
 </td><td>
-{{int:Noblockreason}}
+{{int:46716843}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Noconnect&action=edit noconnect]<br>
-[[MediaWiki_talk:Noconnect|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8fa787f6&action=edit 5d122d51]<br>
+[[MediaWiki_talk:8fa787f6|Talk]]
 </td><td>
 Sorry! The wiki is experiencing some technical difficulties, and cannot contact the database server.
 </td><td>
-{{int:Noconnect}}
+{{int:8fa787f6}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nocontribs&action=edit nocontribs]<br>
-[[MediaWiki_talk:Nocontribs|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f60d1a6d&action=edit b88f305b]<br>
+[[MediaWiki_talk:f60d1a6d|Talk]]
 </td><td>
 No changes were found matching these criteria.
 </td><td>
-{{int:Nocontribs}}
+{{int:f60d1a6d}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nocookieslogin&action=edit nocookieslogin]<br>
-[[MediaWiki_talk:Nocookieslogin|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9d931b8c&action=edit de736886]<br>
+[[MediaWiki_talk:9d931b8c|Talk]]
 </td><td>
 Wiktionary uses cookies to log in users. You have cookies disabled. Please enable them and try again.
 </td><td>
-{{int:Nocookieslogin}}
+{{int:9d931b8c}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nocookiesnew&action=edit nocookiesnew]<br>
-[[MediaWiki_talk:Nocookiesnew|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e4a19fc8&action=edit 71c8d192]<br>
+[[MediaWiki_talk:e4a19fc8|Talk]]
 </td><td>
 The user account was created, but you are not logged in. Wiktionary uses cookies to log in users. You have cookies disabled. Please enable them, then log in with your new username and password.
 </td><td>
-{{int:Nocookiesnew}}
+{{int:e4a19fc8}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nocreativecommons&action=edit nocreativecommons]<br>
-[[MediaWiki_talk:Nocreativecommons|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6fbb6d3a&action=edit cc61a719]<br>
+[[MediaWiki_talk:6fbb6d3a|Talk]]
 </td><td>
 Creative Commons RDF metadata disabled for this server.
 </td><td>
-{{int:Nocreativecommons}}
+{{int:6fbb6d3a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nodb&action=edit nodb]<br>
-[[MediaWiki_talk:Nodb|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e0dd32fc&action=edit 5ed4cf16]<br>
+[[MediaWiki_talk:e0dd32fc|Talk]]
 </td><td>
 Could not select database $1
 </td><td>
-{{int:Nodb}}
+{{int:e0dd32fc}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nodublincore&action=edit nodublincore]<br>
-[[MediaWiki_talk:Nodublincore|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:067ee3e9&action=edit 3a58322b]<br>
+[[MediaWiki_talk:067ee3e9|Talk]]
 </td><td>
 Dublin Core RDF metadata disabled for this server.
 </td><td>
-{{int:Nodublincore}}
+{{int:067ee3e9}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Noemail&action=edit noemail]<br>
-[[MediaWiki_talk:Noemail|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:325a917f&action=edit 4c8d93d2]<br>
+[[MediaWiki_talk:325a917f|Talk]]
 </td><td>
 There is no e-mail address recorded for user &quot;$1&quot;.
 </td><td>
-{{int:Noemail}}
+{{int:325a917f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Noemailtext&action=edit noemailtext]<br>
-[[MediaWiki_talk:Noemailtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:deb172c1&action=edit f8bace82]<br>
+[[MediaWiki_talk:deb172c1|Talk]]
 </td><td>
 This user has not specified a valid e-mail address,
 or has chosen not to receive e-mail from other users.
 </td><td>
-{{int:Noemailtext}}
+{{int:deb172c1}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Noemailtitle&action=edit noemailtitle]<br>
-[[MediaWiki_talk:Noemailtitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6bd33d89&action=edit a158d61f]<br>
+[[MediaWiki_talk:6bd33d89|Talk]]
 </td><td>
 No e-mail address
 </td><td>
-{{int:Noemailtitle}}
+{{int:6bd33d89}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nogomatch&action=edit nogomatch]<br>
-[[MediaWiki_talk:Nogomatch|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e68327b0&action=edit 36552107]<br>
+[[MediaWiki_talk:e68327b0|Talk]]
 </td><td>
 No page with this exact title exists, trying full text search.
 </td><td>
-{{int:Nogomatch}}
+{{int:e68327b0}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nohistory&action=edit nohistory]<br>
-[[MediaWiki_talk:Nohistory|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:90c1625a&action=edit 8d231ce4]<br>
+[[MediaWiki_talk:90c1625a|Talk]]
 </td><td>
 There is no edit history for this page.
 </td><td>
-{{int:Nohistory}}
+{{int:90c1625a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nolinkshere&action=edit nolinkshere]<br>
-[[MediaWiki_talk:Nolinkshere|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:13e13fa2&action=edit e63b6d19]<br>
+[[MediaWiki_talk:13e13fa2|Talk]]
 </td><td>
 No pages link to here.
 </td><td>
-{{int:Nolinkshere}}
+{{int:13e13fa2}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nolinkstoimage&action=edit nolinkstoimage]<br>
-[[MediaWiki_talk:Nolinkstoimage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5c3c99a8&action=edit 1e827a30]<br>
+[[MediaWiki_talk:5c3c99a8|Talk]]
 </td><td>
 There are no pages that link to this image.
 </td><td>
-{{int:Nolinkstoimage}}
+{{int:5c3c99a8}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Noname&action=edit noname]<br>
-[[MediaWiki_talk:Noname|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d9ff75a4&action=edit e21bfc14]<br>
+[[MediaWiki_talk:d9ff75a4|Talk]]
 </td><td>
 You have not specified a valid user name.
 </td><td>
-{{int:Noname}}
+{{int:d9ff75a4}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nonefound&action=edit nonefound]<br>
-[[MediaWiki_talk:Nonefound|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f7d27b0c&action=edit 5db654d1]<br>
+[[MediaWiki_talk:f7d27b0c|Talk]]
 </td><td>
 &lt;strong&gt;Note&lt;/strong&gt;: unsuccessful searches are
 often caused by searching for common words like &quot;have&quot; and &quot;from&quot;,
 which are not indexed, or by specifying more than one search term (only pages
 containing all of the search terms will appear in the result).
 </td><td>
-{{int:Nonefound}}
+{{int:f7d27b0c}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nospecialpagetext&action=edit nospecialpagetext]<br>
-[[MediaWiki_talk:Nospecialpagetext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d5f565dd&action=edit aaaac807]<br>
+[[MediaWiki_talk:d5f565dd|Talk]]
 </td><td>
 You have requested a special page that is not
 recognized by the wiki.
 </td><td>
-{{int:Nospecialpagetext}}
+{{int:d5f565dd}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nosuchaction&action=edit nosuchaction]<br>
-[[MediaWiki_talk:Nosuchaction|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:247c2db2&action=edit 273b8154]<br>
+[[MediaWiki_talk:247c2db2|Talk]]
 </td><td>
 No such action
 </td><td>
-{{int:Nosuchaction}}
+{{int:247c2db2}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nosuchactiontext&action=edit nosuchactiontext]<br>
-[[MediaWiki_talk:Nosuchactiontext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0e2f696c&action=edit e8773306]<br>
+[[MediaWiki_talk:0e2f696c|Talk]]
 </td><td>
 The action specified by the URL is not
 recognized by the wiki
 </td><td>
-{{int:Nosuchactiontext}}
+{{int:0e2f696c}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nosuchspecialpage&action=edit nosuchspecialpage]<br>
-[[MediaWiki_talk:Nosuchspecialpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bd0d7ac6&action=edit b98c7c10]<br>
+[[MediaWiki_talk:bd0d7ac6|Talk]]
 </td><td>
 No such special page
 </td><td>
-{{int:Nosuchspecialpage}}
+{{int:bd0d7ac6}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nosuchuser&action=edit nosuchuser]<br>
-[[MediaWiki_talk:Nosuchuser|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:22012b0a&action=edit f542883d]<br>
+[[MediaWiki_talk:22012b0a|Talk]]
 </td><td>
 There is no user by the name &quot;$1&quot;.
 Check your spelling, or use the form below to create a new user account.
 </td><td>
-{{int:Nosuchuser}}
+{{int:22012b0a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Notacceptable&action=edit notacceptable]<br>
-[[MediaWiki_talk:Notacceptable|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:982342c7&action=edit f4909824]<br>
+[[MediaWiki_talk:982342c7|Talk]]
 </td><td>
 The wiki server can&#39;t provide data in a format your client can read.
 </td><td>
-{{int:Notacceptable}}
+{{int:982342c7}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Notanarticle&action=edit notanarticle]<br>
-[[MediaWiki_talk:Notanarticle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:272cfb97&action=edit cdb5d3a9]<br>
+[[MediaWiki_talk:272cfb97|Talk]]
 </td><td>
 Not a content page
 </td><td>
-{{int:Notanarticle}}
+{{int:272cfb97}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Notargettext&action=edit notargettext]<br>
-[[MediaWiki_talk:Notargettext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8ccaecd6&action=edit 42534913]<br>
+[[MediaWiki_talk:8ccaecd6|Talk]]
 </td><td>
 You have not specified a target page or user
 to perform this function on.
 </td><td>
-{{int:Notargettext}}
+{{int:8ccaecd6}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Notargettitle&action=edit notargettitle]<br>
-[[MediaWiki_talk:Notargettitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:4532ec15&action=edit dff62a20]<br>
+[[MediaWiki_talk:4532ec15|Talk]]
 </td><td>
 No target
 </td><td>
-{{int:Notargettitle}}
+{{int:4532ec15}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Note&action=edit note]<br>
-[[MediaWiki_talk:Note|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2c924e30&action=edit c51048b7]<br>
+[[MediaWiki_talk:2c924e30|Talk]]
 </td><td>
 &lt;strong&gt;Note:&lt;/strong&gt; 
 </td><td>
-{{int:Note}}
+{{int:2c924e30}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Notextmatches&action=edit notextmatches]<br>
-[[MediaWiki_talk:Notextmatches|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:51c2043b&action=edit 879701e9]<br>
+[[MediaWiki_talk:51c2043b|Talk]]
 </td><td>
 No page text matches
 </td><td>
-{{int:Notextmatches}}
+{{int:51c2043b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Notitlematches&action=edit notitlematches]<br>
-[[MediaWiki_talk:Notitlematches|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6f3befe0&action=edit 5a56ca1b]<br>
+[[MediaWiki_talk:6f3befe0|Talk]]
 </td><td>
 No page title matches
 </td><td>
-{{int:Notitlematches}}
+{{int:6f3befe0}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Notloggedin&action=edit notloggedin]<br>
-[[MediaWiki_talk:Notloggedin|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:219a05e4&action=edit 02bcadd3]<br>
+[[MediaWiki_talk:219a05e4|Talk]]
 </td><td>
 Not logged in
 </td><td>
-{{int:Notloggedin}}
+{{int:219a05e4}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nowatchlist&action=edit nowatchlist]<br>
-[[MediaWiki_talk:Nowatchlist|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:28b54fd2&action=edit ba736b7f]<br>
+[[MediaWiki_talk:28b54fd2|Talk]]
 </td><td>
 You have no items on your watchlist.
 </td><td>
-{{int:Nowatchlist}}
+{{int:28b54fd2}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nowiki_sample&action=edit nowiki_sample]<br>
-[[MediaWiki_talk:Nowiki_sample|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a78319d8&action=edit 2398990d]<br>
+[[MediaWiki_talk:a78319d8|Talk]]
 </td><td>
 Insert non-formatted text here
 </td><td>
-{{int:Nowiki_sample}}
+{{int:a78319d8}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nowiki_tip&action=edit nowiki_tip]<br>
-[[MediaWiki_talk:Nowiki_tip|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:20d39be1&action=edit cf8602ad]<br>
+[[MediaWiki_talk:20d39be1|Talk]]
 </td><td>
 Ignore wiki formatting
 </td><td>
-{{int:Nowiki_tip}}
+{{int:20d39be1}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nstab-category&action=edit nstab-category]<br>
-[[MediaWiki_talk:Nstab-category|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:dee84866&action=edit 7a6336e0]<br>
+[[MediaWiki_talk:dee84866|Talk]]
 </td><td>
 Category
 </td><td>
-{{int:Nstab-category}}
+{{int:dee84866}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nstab-help&action=edit nstab-help]<br>
-[[MediaWiki_talk:Nstab-help|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a3e0d95e&action=edit 16b32116]<br>
+[[MediaWiki_talk:a3e0d95e|Talk]]
 </td><td>
 Help
 </td><td>
-{{int:Nstab-help}}
+{{int:a3e0d95e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nstab-image&action=edit nstab-image]<br>
-[[MediaWiki_talk:Nstab-image|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:911dff1f&action=edit 081e450a]<br>
+[[MediaWiki_talk:911dff1f|Talk]]
 </td><td>
 Image
 </td><td>
-{{int:Nstab-image}}
+{{int:911dff1f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nstab-main&action=edit nstab-main]<br>
-[[MediaWiki_talk:Nstab-main|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:931f9736&action=edit 5b9c503a]<br>
+[[MediaWiki_talk:931f9736|Talk]]
 </td><td>
 Article
 </td><td>
-{{int:Nstab-main}}
+{{int:931f9736}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nstab-media&action=edit nstab-media]<br>
-[[MediaWiki_talk:Nstab-media|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6da2f6ae&action=edit 86e5f16d]<br>
+[[MediaWiki_talk:6da2f6ae|Talk]]
 </td><td>
 Media
 </td><td>
-{{int:Nstab-media}}
+{{int:6da2f6ae}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nstab-mediawiki&action=edit nstab-mediawiki]<br>
-[[MediaWiki_talk:Nstab-mediawiki|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:53504d48&action=edit 368d5d22]<br>
+[[MediaWiki_talk:53504d48|Talk]]
 </td><td>
 Message
 </td><td>
-{{int:Nstab-mediawiki}}
+{{int:53504d48}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nstab-special&action=edit nstab-special]<br>
-[[MediaWiki_talk:Nstab-special|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:14d4daef&action=edit 34a2cba3]<br>
+[[MediaWiki_talk:14d4daef|Talk]]
 </td><td>
 Special
 </td><td>
-{{int:Nstab-special}}
+{{int:14d4daef}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nstab-template&action=edit nstab-template]<br>
-[[MediaWiki_talk:Nstab-template|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ed2e8b27&action=edit a1024e18]<br>
+[[MediaWiki_talk:ed2e8b27|Talk]]
 </td><td>
 Template
 </td><td>
-{{int:Nstab-template}}
+{{int:ed2e8b27}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nstab-user&action=edit nstab-user]<br>
-[[MediaWiki_talk:Nstab-user|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:31ebc74b&action=edit 313f5ee2]<br>
+[[MediaWiki_talk:31ebc74b|Talk]]
 </td><td>
 User page
 </td><td>
-{{int:Nstab-user}}
+{{int:31ebc74b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Nstab-wp&action=edit nstab-wp]<br>
-[[MediaWiki_talk:Nstab-wp|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a8d28daa&action=edit 0611a13e]<br>
+[[MediaWiki_talk:a8d28daa|Talk]]
 </td><td>
 About
 </td><td>
-{{int:Nstab-wp}}
+{{int:a8d28daa}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ok&action=edit ok]<br>
-[[MediaWiki_talk:Ok|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b0a98216&action=edit 7a85f476]<br>
+[[MediaWiki_talk:b0a98216|Talk]]
 </td><td>
 OK
 </td><td>
-{{int:Ok}}
+{{int:b0a98216}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Oldpassword&action=edit oldpassword]<br>
-[[MediaWiki_talk:Oldpassword|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e081cf87&action=edit 23ace733]<br>
+[[MediaWiki_talk:e081cf87|Talk]]
 </td><td>
 Old password
 </td><td>
-{{int:Oldpassword}}
+{{int:e081cf87}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Orig&action=edit orig]<br>
-[[MediaWiki_talk:Orig|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:db6998a7&action=edit dc894908]<br>
+[[MediaWiki_talk:db6998a7|Talk]]
 </td><td>
 orig
 </td><td>
-{{int:Orig}}
+{{int:db6998a7}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Orphans&action=edit orphans]<br>
-[[MediaWiki_talk:Orphans|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:cb5dc4a4&action=edit 89f56e51]<br>
+[[MediaWiki_talk:cb5dc4a4|Talk]]
 </td><td>
 Orphaned pages
 </td><td>
-{{int:Orphans}}
+{{int:cb5dc4a4}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Othercontribs&action=edit othercontribs]<br>
-[[MediaWiki_talk:Othercontribs|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:51caf0b1&action=edit e6287b24]<br>
+[[MediaWiki_talk:51caf0b1|Talk]]
 </td><td>
 Based on work by $1.
 </td><td>
-{{int:Othercontribs}}
+{{int:51caf0b1}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Otherlanguages&action=edit otherlanguages]<br>
-[[MediaWiki_talk:Otherlanguages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:838fda53&action=edit f953cc13]<br>
+[[MediaWiki_talk:838fda53|Talk]]
 </td><td>
 Other languages
 </td><td>
-{{int:Otherlanguages}}
+{{int:838fda53}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Pagemovedsub&action=edit pagemovedsub]<br>
-[[MediaWiki_talk:Pagemovedsub|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8b80dc12&action=edit 06b2b863]<br>
+[[MediaWiki_talk:8b80dc12|Talk]]
 </td><td>
 Move succeeded
 </td><td>
-{{int:Pagemovedsub}}
+{{int:8b80dc12}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Pagemovedtext&action=edit pagemovedtext]<br>
-[[MediaWiki_talk:Pagemovedtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:67c1c9b9&action=edit 6df06888]<br>
+[[MediaWiki_talk:67c1c9b9|Talk]]
 </td><td>
 Page &quot;&#91;&#91;$1]]&quot; moved to &quot;&#91;&#91;$2]]&quot;.
 </td><td>
-{{int:Pagemovedtext}}
+{{int:67c1c9b9}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Pagetitle&action=edit pagetitle]<br>
-[[MediaWiki_talk:Pagetitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0488d9f9&action=edit ca0a1736]<br>
+[[MediaWiki_talk:0488d9f9|Talk]]
 </td><td>
 $1 - Wiktionary
 </td><td>
-{{int:Pagetitle}}
+{{int:0488d9f9}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Passwordremindertext&action=edit passwordremindertext]<br>
-[[MediaWiki_talk:Passwordremindertext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:724220c3&action=edit 00c46482]<br>
+[[MediaWiki_talk:724220c3|Talk]]
 </td><td>
 Someone (probably you, from IP address $1)
 requested that we send you a new Wiktionary login password.
 The password for user &quot;$2&quot; is now &quot;$3&quot;.
 You should log in and change your password now.
 </td><td>
-{{int:Passwordremindertext}}
+{{int:724220c3}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Passwordremindertitle&action=edit passwordremindertitle]<br>
-[[MediaWiki_talk:Passwordremindertitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:67675177&action=edit 9943fd1d]<br>
+[[MediaWiki_talk:67675177|Talk]]
 </td><td>
 Password reminder from Wiktionary
 </td><td>
-{{int:Passwordremindertitle}}
+{{int:67675177}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Passwordsent&action=edit passwordsent]<br>
-[[MediaWiki_talk:Passwordsent|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:feea022e&action=edit 52c6d21a]<br>
+[[MediaWiki_talk:feea022e|Talk]]
 </td><td>
 A new password has been sent to the e-mail address
 registered for &quot;$1&quot;.
 Please log in again after you receive it.
 </td><td>
-{{int:Passwordsent}}
+{{int:feea022e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Perfcached&action=edit perfcached]<br>
-[[MediaWiki_talk:Perfcached|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d89b33a4&action=edit 6148b748]<br>
+[[MediaWiki_talk:d89b33a4|Talk]]
 </td><td>
 The following data is cached and may not be completely up to date:
 </td><td>
-{{int:Perfcached}}
+{{int:d89b33a4}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Perfdisabled&action=edit perfdisabled]<br>
-[[MediaWiki_talk:Perfdisabled|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7c3d6ba1&action=edit edb94b6f]<br>
+[[MediaWiki_talk:7c3d6ba1|Talk]]
 </td><td>
 Sorry! This feature has been temporarily disabled
 because it slows the database down to the point that no one can use
 the wiki.
 </td><td>
-{{int:Perfdisabled}}
+{{int:7c3d6ba1}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Perfdisabledsub&action=edit perfdisabledsub]<br>
-[[MediaWiki_talk:Perfdisabledsub|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ba8fb63e&action=edit 7971fbbc]<br>
+[[MediaWiki_talk:ba8fb63e|Talk]]
 </td><td>
 Here&#39;s a saved copy from $1:
 </td><td>
-{{int:Perfdisabledsub}}
+{{int:ba8fb63e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Personaltools&action=edit personaltools]<br>
-[[MediaWiki_talk:Personaltools|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1f9d5196&action=edit faae8244]<br>
+[[MediaWiki_talk:1f9d5196|Talk]]
 </td><td>
 Personal tools
 </td><td>
-{{int:Personaltools}}
+{{int:1f9d5196}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Portal&action=edit portal]<br>
-[[MediaWiki_talk:Portal|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b55223c7&action=edit 23f3fd77]<br>
+[[MediaWiki_talk:b55223c7|Talk]]
 </td><td>
 Community portal
 </td><td>
-{{int:Portal}}
+{{int:b55223c7}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Portal-url&action=edit portal-url]<br>
-[[MediaWiki_talk:Portal-url|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b6100630&action=edit d69501d7]<br>
+[[MediaWiki_talk:b6100630|Talk]]
 </td><td>
 Wiktionary:Community Portal
 </td><td>
-{{int:Portal-url}}
+{{int:b6100630}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Postcomment&action=edit postcomment]<br>
-[[MediaWiki_talk:Postcomment|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:83c6e160&action=edit 7ce546d1]<br>
+[[MediaWiki_talk:83c6e160|Talk]]
 </td><td>
 Post a comment
 </td><td>
-{{int:Postcomment}}
+{{int:83c6e160}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Poweredby&action=edit poweredby]<br>
-[[MediaWiki_talk:Poweredby|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f715eef0&action=edit 03d7f055]<br>
+[[MediaWiki_talk:f715eef0|Talk]]
 </td><td>
 Wiktionary is powered by &#91;http&#58;//www.mediawiki.org/ MediaWiki], an open source wiki engine.
 </td><td>
-{{int:Poweredby}}
+{{int:f715eef0}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Powersearch&action=edit powersearch]<br>
-[[MediaWiki_talk:Powersearch|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5f86f380&action=edit fe586261]<br>
+[[MediaWiki_talk:5f86f380|Talk]]
 </td><td>
 Search
 </td><td>
-{{int:Powersearch}}
+{{int:5f86f380}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Powersearchtext&action=edit powersearchtext]<br>
-[[MediaWiki_talk:Powersearchtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:02360031&action=edit 7c50040c]<br>
+[[MediaWiki_talk:02360031|Talk]]
 </td><td>
 
 Search in namespaces :&lt;br /&gt;
 $1&lt;br /&gt;
 $2 List redirects &amp;nbsp; Search for $3 $9
 </td><td>
-{{int:Powersearchtext}}
+{{int:02360031}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Preferences&action=edit preferences]<br>
-[[MediaWiki_talk:Preferences|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9dfd349e&action=edit dcedb31d]<br>
+[[MediaWiki_talk:9dfd349e|Talk]]
 </td><td>
 Preferences
 </td><td>
-{{int:Preferences}}
+{{int:9dfd349e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Prefs-help-userdata&action=edit prefs-help-userdata]<br>
-[[MediaWiki_talk:Prefs-help-userdata|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6b97fde2&action=edit 4d381b11]<br>
+[[MediaWiki_talk:6b97fde2|Talk]]
 </td><td>
 * &lt;strong&gt;Real name&lt;/strong&gt; (optional): if you choose to provide it this will be used for giving you attribution for your work.&lt;br/&gt;
 * &lt;strong&gt;Email&lt;/strong&gt; (optional): Enables people to contact you through the website without you having to reveal your 
 email address to them, and it can be used to send you a new password if you forget it.
 </td><td>
-{{int:Prefs-help-userdata}}
+{{int:6b97fde2}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Prefs-misc&action=edit prefs-misc]<br>
-[[MediaWiki_talk:Prefs-misc|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:30cafb20&action=edit 4413aea7]<br>
+[[MediaWiki_talk:30cafb20|Talk]]
 </td><td>
 Misc settings
 </td><td>
-{{int:Prefs-misc}}
+{{int:30cafb20}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Prefs-personal&action=edit prefs-personal]<br>
-[[MediaWiki_talk:Prefs-personal|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:58796ee5&action=edit 79de347d]<br>
+[[MediaWiki_talk:58796ee5|Talk]]
 </td><td>
 User data
 </td><td>
-{{int:Prefs-personal}}
+{{int:58796ee5}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Prefs-rc&action=edit prefs-rc]<br>
-[[MediaWiki_talk:Prefs-rc|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e055ac90&action=edit b8a6f738]<br>
+[[MediaWiki_talk:e055ac90|Talk]]
 </td><td>
 Recent changes and stub display
 </td><td>
-{{int:Prefs-rc}}
+{{int:e055ac90}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Prefslogintext&action=edit prefslogintext]<br>
-[[MediaWiki_talk:Prefslogintext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0603b5a9&action=edit 3b8a7d0e]<br>
+[[MediaWiki_talk:0603b5a9|Talk]]
 </td><td>
 You are logged in as &quot;$1&quot;.
 Your internal ID number is $2.
 
 See &#91;&#91;Wiktionary:User preferences help]] for help deciphering the options.
 </td><td>
-{{int:Prefslogintext}}
+{{int:0603b5a9}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Prefsnologin&action=edit prefsnologin]<br>
-[[MediaWiki_talk:Prefsnologin|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2366fb91&action=edit f2475be5]<br>
+[[MediaWiki_talk:2366fb91|Talk]]
 </td><td>
 Not logged in
 </td><td>
-{{int:Prefsnologin}}
+{{int:2366fb91}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Prefsnologintext&action=edit prefsnologintext]<br>
-[[MediaWiki_talk:Prefsnologintext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0389a76a&action=edit 69cb02c9]<br>
+[[MediaWiki_talk:0389a76a|Talk]]
 </td><td>
 You must be &lt;a href=&quot;/wiki/Special:Userlogin&quot;&gt;logged in&lt;/a&gt;
 to set user preferences.
 </td><td>
-{{int:Prefsnologintext}}
+{{int:0389a76a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Prefsreset&action=edit prefsreset]<br>
-[[MediaWiki_talk:Prefsreset|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e6216751&action=edit 2b688ff4]<br>
+[[MediaWiki_talk:e6216751|Talk]]
 </td><td>
 Preferences have been reset from storage.
 </td><td>
-{{int:Prefsreset}}
+{{int:e6216751}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Preview&action=edit preview]<br>
-[[MediaWiki_talk:Preview|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f1fbb2b4&action=edit 1aa787fe]<br>
+[[MediaWiki_talk:f1fbb2b4|Talk]]
 </td><td>
 Preview
 </td><td>
-{{int:Preview}}
+{{int:f1fbb2b4}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Previewconflict&action=edit previewconflict]<br>
-[[MediaWiki_talk:Previewconflict|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7357cd58&action=edit 353820b9]<br>
+[[MediaWiki_talk:7357cd58|Talk]]
 </td><td>
 This preview reflects the text in the upper
 text editing area as it will appear if you choose to save.
 </td><td>
-{{int:Previewconflict}}
+{{int:7357cd58}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Previewnote&action=edit previewnote]<br>
-[[MediaWiki_talk:Previewnote|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f0bd6ebe&action=edit 2281018c]<br>
+[[MediaWiki_talk:f0bd6ebe|Talk]]
 </td><td>
 Remember that this is only a preview, and has not yet been saved!
 </td><td>
-{{int:Previewnote}}
+{{int:f0bd6ebe}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Prevn&action=edit prevn]<br>
-[[MediaWiki_talk:Prevn|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c7db0778&action=edit 8b3bb669]<br>
+[[MediaWiki_talk:c7db0778|Talk]]
 </td><td>
 previous $1
 </td><td>
-{{int:Prevn}}
+{{int:c7db0778}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Printableversion&action=edit printableversion]<br>
-[[MediaWiki_talk:Printableversion|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0a67b813&action=edit e1a919ba]<br>
+[[MediaWiki_talk:0a67b813|Talk]]
 </td><td>
 Printable version
 </td><td>
-{{int:Printableversion}}
+{{int:0a67b813}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Printsubtitle&action=edit printsubtitle]<br>
-[[MediaWiki_talk:Printsubtitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:dc3b6f21&action=edit d4d3cccd]<br>
+[[MediaWiki_talk:dc3b6f21|Talk]]
 </td><td>
 (From http&#58;//tl.wiktionary.org)
 </td><td>
-{{int:Printsubtitle}}
+{{int:dc3b6f21}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protect&action=edit protect]<br>
-[[MediaWiki_talk:Protect|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:016ac2dc&action=edit 145969f1]<br>
+[[MediaWiki_talk:016ac2dc|Talk]]
 </td><td>
 Protect
 </td><td>
-{{int:Protect}}
+{{int:016ac2dc}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectcomment&action=edit protectcomment]<br>
-[[MediaWiki_talk:Protectcomment|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:073135b4&action=edit bf7f9e49]<br>
+[[MediaWiki_talk:073135b4|Talk]]
 </td><td>
 Reason for protecting
 </td><td>
-{{int:Protectcomment}}
+{{int:073135b4}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectedarticle&action=edit protectedarticle]<br>
-[[MediaWiki_talk:Protectedarticle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3ee691ce&action=edit 1f880b64]<br>
+[[MediaWiki_talk:3ee691ce|Talk]]
 </td><td>
 protected &#91;&#91;$1]]
 </td><td>
-{{int:Protectedarticle}}
+{{int:3ee691ce}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectedpage&action=edit protectedpage]<br>
-[[MediaWiki_talk:Protectedpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a44b308c&action=edit 7afa7fea]<br>
+[[MediaWiki_talk:a44b308c|Talk]]
 </td><td>
 Protected page
 </td><td>
-{{int:Protectedpage}}
+{{int:a44b308c}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectedpagewarning&action=edit protectedpagewarning]<br>
-[[MediaWiki_talk:Protectedpagewarning|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0017a4f5&action=edit 962032da]<br>
+[[MediaWiki_talk:0017a4f5|Talk]]
 </td><td>
 WARNING:  This page has been locked so that only
 users with sysop privileges can edit it. Be sure you are following the
 &lt;a href=&#39;/w/wiki.phtml/Wiktionary:Protected_page_guidelines&#39;&gt;protected page
 guidelines&lt;/a&gt;.
 </td><td>
-{{int:Protectedpagewarning}}
+{{int:0017a4f5}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectedtext&action=edit protectedtext]<br>
-[[MediaWiki_talk:Protectedtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:cf2a914e&action=edit 561f00bf]<br>
+[[MediaWiki_talk:cf2a914e|Talk]]
 </td><td>
 This page has been locked to prevent editing; there are
 a number of reasons why this may be so, please see
@@ -3516,222 +3516,222 @@ a number of reasons why this may be so, please see
 
 You can view and copy the source of this page:
 </td><td>
-{{int:Protectedtext}}
+{{int:cf2a914e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectlogpage&action=edit protectlogpage]<br>
-[[MediaWiki_talk:Protectlogpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bb915483&action=edit 85888484]<br>
+[[MediaWiki_talk:bb915483|Talk]]
 </td><td>
 Protection_log
 </td><td>
-{{int:Protectlogpage}}
+{{int:bb915483}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectlogtext&action=edit protectlogtext]<br>
-[[MediaWiki_talk:Protectlogtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:061ec7fa&action=edit 197cfa0d]<br>
+[[MediaWiki_talk:061ec7fa|Talk]]
 </td><td>
 Below is a list of page locks/unlocks.
 See &#91;&#91;Wiktionary:Protected page]] for more information.
 </td><td>
-{{int:Protectlogtext}}
+{{int:061ec7fa}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectpage&action=edit protectpage]<br>
-[[MediaWiki_talk:Protectpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d2ae1354&action=edit 33c2c02c]<br>
+[[MediaWiki_talk:d2ae1354|Talk]]
 </td><td>
 Protect page
 </td><td>
-{{int:Protectpage}}
+{{int:d2ae1354}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectreason&action=edit protectreason]<br>
-[[MediaWiki_talk:Protectreason|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c0e9bbaf&action=edit 5cbc043a]<br>
+[[MediaWiki_talk:c0e9bbaf|Talk]]
 </td><td>
 (give a reason)
 </td><td>
-{{int:Protectreason}}
+{{int:c0e9bbaf}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectsub&action=edit protectsub]<br>
-[[MediaWiki_talk:Protectsub|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:23176a41&action=edit 24a81acc]<br>
+[[MediaWiki_talk:23176a41|Talk]]
 </td><td>
 (Protecting &quot;$1&quot;)
 </td><td>
-{{int:Protectsub}}
+{{int:23176a41}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Protectthispage&action=edit protectthispage]<br>
-[[MediaWiki_talk:Protectthispage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:884b47b3&action=edit 77ca39fa]<br>
+[[MediaWiki_talk:884b47b3|Talk]]
 </td><td>
 Protect this page
 </td><td>
-{{int:Protectthispage}}
+{{int:884b47b3}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Proxyblocker&action=edit proxyblocker]<br>
-[[MediaWiki_talk:Proxyblocker|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0ebe1928&action=edit 11599708]<br>
+[[MediaWiki_talk:0ebe1928|Talk]]
 </td><td>
 Proxy blocker
 </td><td>
-{{int:Proxyblocker}}
+{{int:0ebe1928}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Proxyblockreason&action=edit proxyblockreason]<br>
-[[MediaWiki_talk:Proxyblockreason|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0ccb1a72&action=edit f4482395]<br>
+[[MediaWiki_talk:0ccb1a72|Talk]]
 </td><td>
 Your IP address has been blocked because it is an open proxy. Please contact your Internet service provider or tech support and inform them of this serious security problem.
 </td><td>
-{{int:Proxyblockreason}}
+{{int:0ccb1a72}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Proxyblocksuccess&action=edit proxyblocksuccess]<br>
-[[MediaWiki_talk:Proxyblocksuccess|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:88af6e64&action=edit 01b6671f]<br>
+[[MediaWiki_talk:88af6e64|Talk]]
 </td><td>
 Done.
 
 </td><td>
-{{int:Proxyblocksuccess}}
+{{int:88af6e64}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Qbbrowse&action=edit qbbrowse]<br>
-[[MediaWiki_talk:Qbbrowse|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b1594c4a&action=edit 596b17aa]<br>
+[[MediaWiki_talk:b1594c4a|Talk]]
 </td><td>
 Browse
 </td><td>
-{{int:Qbbrowse}}
+{{int:b1594c4a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Qbedit&action=edit qbedit]<br>
-[[MediaWiki_talk:Qbedit|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:25b61f80&action=edit 9e11e13b]<br>
+[[MediaWiki_talk:25b61f80|Talk]]
 </td><td>
 Edit
 </td><td>
-{{int:Qbedit}}
+{{int:25b61f80}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Qbfind&action=edit qbfind]<br>
-[[MediaWiki_talk:Qbfind|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e1a9ed9d&action=edit cc717307]<br>
+[[MediaWiki_talk:e1a9ed9d|Talk]]
 </td><td>
 Find
 </td><td>
-{{int:Qbfind}}
+{{int:e1a9ed9d}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Qbmyoptions&action=edit qbmyoptions]<br>
-[[MediaWiki_talk:Qbmyoptions|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:24074cfc&action=edit a40d0b3f]<br>
+[[MediaWiki_talk:24074cfc|Talk]]
 </td><td>
 My pages
 </td><td>
-{{int:Qbmyoptions}}
+{{int:24074cfc}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Qbpageinfo&action=edit qbpageinfo]<br>
-[[MediaWiki_talk:Qbpageinfo|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:af83fbba&action=edit 8f794a0f]<br>
+[[MediaWiki_talk:af83fbba|Talk]]
 </td><td>
 Context
 </td><td>
-{{int:Qbpageinfo}}
+{{int:af83fbba}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Qbpageoptions&action=edit qbpageoptions]<br>
-[[MediaWiki_talk:Qbpageoptions|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c8fff0e7&action=edit 20fec244]<br>
+[[MediaWiki_talk:c8fff0e7|Talk]]
 </td><td>
 This page
 </td><td>
-{{int:Qbpageoptions}}
+{{int:c8fff0e7}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Qbsettings&action=edit qbsettings]<br>
-[[MediaWiki_talk:Qbsettings|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5a6ec2af&action=edit 2dfd6121]<br>
+[[MediaWiki_talk:5a6ec2af|Talk]]
 </td><td>
 Quickbar settings
 </td><td>
-{{int:Qbsettings}}
+{{int:5a6ec2af}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Qbspecialpages&action=edit qbspecialpages]<br>
-[[MediaWiki_talk:Qbspecialpages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8eda832f&action=edit e97e9088]<br>
+[[MediaWiki_talk:8eda832f|Talk]]
 </td><td>
 Special pages
 </td><td>
-{{int:Qbspecialpages}}
+{{int:8eda832f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Querybtn&action=edit querybtn]<br>
-[[MediaWiki_talk:Querybtn|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ce1c6b9a&action=edit dc17545e]<br>
+[[MediaWiki_talk:ce1c6b9a|Talk]]
 </td><td>
 Submit query
 </td><td>
-{{int:Querybtn}}
+{{int:ce1c6b9a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Querysuccessful&action=edit querysuccessful]<br>
-[[MediaWiki_talk:Querysuccessful|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:342970ff&action=edit 7f2e7314]<br>
+[[MediaWiki_talk:342970ff|Talk]]
 </td><td>
 Query successful
 </td><td>
-{{int:Querysuccessful}}
+{{int:342970ff}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Randompage&action=edit randompage]<br>
-[[MediaWiki_talk:Randompage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c2300ac1&action=edit 08f4cb5c]<br>
+[[MediaWiki_talk:c2300ac1|Talk]]
 </td><td>
 Random page
 </td><td>
-{{int:Randompage}}
+{{int:c2300ac1}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Range_block_disabled&action=edit range_block_disabled]<br>
-[[MediaWiki_talk:Range_block_disabled|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9f84f8de&action=edit 0da9559a]<br>
+[[MediaWiki_talk:9f84f8de|Talk]]
 </td><td>
 The sysop ability to create range blocks is disabled.
 </td><td>
-{{int:Range_block_disabled}}
+{{int:9f84f8de}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rchide&action=edit rchide]<br>
-[[MediaWiki_talk:Rchide|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f65142b8&action=edit 65c24302]<br>
+[[MediaWiki_talk:f65142b8|Talk]]
 </td><td>
 in $4 form; $1 minor edits; $2 secondary namespaces; $3 multiple edits.
 </td><td>
-{{int:Rchide}}
+{{int:f65142b8}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rclinks&action=edit rclinks]<br>
-[[MediaWiki_talk:Rclinks|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:78b9278a&action=edit 96bcbd6a]<br>
+[[MediaWiki_talk:78b9278a|Talk]]
 </td><td>
 Show last $1 changes in last $2 days&lt;br /&gt;$3
 </td><td>
-{{int:Rclinks}}
+{{int:78b9278a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rclistfrom&action=edit rclistfrom]<br>
-[[MediaWiki_talk:Rclistfrom|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ead9cd8b&action=edit 69cdd5ad]<br>
+[[MediaWiki_talk:ead9cd8b|Talk]]
 </td><td>
 Show new changes starting from $1
 </td><td>
-{{int:Rclistfrom}}
+{{int:ead9cd8b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rcliu&action=edit rcliu]<br>
-[[MediaWiki_talk:Rcliu|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bad8b81d&action=edit f13491ba]<br>
+[[MediaWiki_talk:bad8b81d|Talk]]
 </td><td>
 ; $1 edits from logged in users
 </td><td>
-{{int:Rcliu}}
+{{int:bad8b81d}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rcloaderr&action=edit rcloaderr]<br>
-[[MediaWiki_talk:Rcloaderr|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:58a7c0de&action=edit ced7752e]<br>
+[[MediaWiki_talk:58a7c0de|Talk]]
 </td><td>
 Loading recent changes
 </td><td>
-{{int:Rcloaderr}}
+{{int:58a7c0de}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rclsub&action=edit rclsub]<br>
-[[MediaWiki_talk:Rclsub|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c3fd1aca&action=edit d259fbf6]<br>
+[[MediaWiki_talk:c3fd1aca|Talk]]
 </td><td>
 (to pages linked from &quot;$1&quot;)
 </td><td>
-{{int:Rclsub}}
+{{int:c3fd1aca}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rcnote&action=edit rcnote]<br>
-[[MediaWiki_talk:Rcnote|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2c0a654c&action=edit 15ea8401]<br>
+[[MediaWiki_talk:2c0a654c|Talk]]
 </td><td>
 Below are the last &lt;strong&gt;$1&lt;/strong&gt; changes in last &lt;strong&gt;$2&lt;/strong&gt; days.
 </td><td>
-{{int:Rcnote}}
+{{int:2c0a654c}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rcnotefrom&action=edit rcnotefrom]<br>
-[[MediaWiki_talk:Rcnotefrom|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0a00aaba&action=edit c516366b]<br>
+[[MediaWiki_talk:0a00aaba|Talk]]
 </td><td>
 Below are the changes since &lt;b&gt;$2&lt;/b&gt; (up to &lt;b&gt;$1&lt;/b&gt; shown).
 </td><td>
-{{int:Rcnotefrom}}
+{{int:0a00aaba}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Readonly&action=edit readonly]<br>
-[[MediaWiki_talk:Readonly|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1d920fff&action=edit 9a277182]<br>
+[[MediaWiki_talk:1d920fff|Talk]]
 </td><td>
 Database locked
 </td><td>
-{{int:Readonly}}
+{{int:1d920fff}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Readonlytext&action=edit readonlytext]<br>
-[[MediaWiki_talk:Readonlytext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:64743780&action=edit e5990e81]<br>
+[[MediaWiki_talk:64743780|Talk]]
 </td><td>
 The database is currently locked to new
 entries and other modifications, probably for routine database maintenance,
@@ -3739,476 +3739,476 @@ after which it will be back to normal.
 The administrator who locked it offered this explanation:
 &lt;p&gt;$1
 </td><td>
-{{int:Readonlytext}}
+{{int:64743780}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Readonlywarning&action=edit readonlywarning]<br>
-[[MediaWiki_talk:Readonlywarning|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8c9d6af6&action=edit 74bcbeed]<br>
+[[MediaWiki_talk:8c9d6af6|Talk]]
 </td><td>
 WARNING: The database has been locked for maintenance,
 so you will not be able to save your edits right now. You may wish to cut-n-paste
 the text into a text file and save it for later.
 </td><td>
-{{int:Readonlywarning}}
+{{int:8c9d6af6}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Recentchanges&action=edit recentchanges]<br>
-[[MediaWiki_talk:Recentchanges|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:4d75dd33&action=edit 51734654]<br>
+[[MediaWiki_talk:4d75dd33|Talk]]
 </td><td>
 Recent changes
 </td><td>
-{{int:Recentchanges}}
+{{int:4d75dd33}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Recentchangescount&action=edit recentchangescount]<br>
-[[MediaWiki_talk:Recentchangescount|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:40f1d259&action=edit 44d93957]<br>
+[[MediaWiki_talk:40f1d259|Talk]]
 </td><td>
 Number of titles in recent changes
 </td><td>
-{{int:Recentchangescount}}
+{{int:40f1d259}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Recentchangeslinked&action=edit recentchangeslinked]<br>
-[[MediaWiki_talk:Recentchangeslinked|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:312aafe1&action=edit b5822b16]<br>
+[[MediaWiki_talk:312aafe1|Talk]]
 </td><td>
 Related changes
 </td><td>
-{{int:Recentchangeslinked}}
+{{int:312aafe1}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Recentchangestext&action=edit recentchangestext]<br>
-[[MediaWiki_talk:Recentchangestext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2f453993&action=edit 049f8c5f]<br>
+[[MediaWiki_talk:2f453993|Talk]]
 </td><td>
 Track the most recent changes to the wiki on this page.
 </td><td>
-{{int:Recentchangestext}}
+{{int:2f453993}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Redirectedfrom&action=edit redirectedfrom]<br>
-[[MediaWiki_talk:Redirectedfrom|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7124fa4a&action=edit 43d741c1]<br>
+[[MediaWiki_talk:7124fa4a|Talk]]
 </td><td>
 (Redirected from $1)
 </td><td>
-{{int:Redirectedfrom}}
+{{int:7124fa4a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Remembermypassword&action=edit remembermypassword]<br>
-[[MediaWiki_talk:Remembermypassword|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:54d89323&action=edit 4eef1c9f]<br>
+[[MediaWiki_talk:54d89323|Talk]]
 </td><td>
 Remember my password across sessions.
 </td><td>
-{{int:Remembermypassword}}
+{{int:54d89323}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Removechecked&action=edit removechecked]<br>
-[[MediaWiki_talk:Removechecked|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:537f5507&action=edit bfa5dc98]<br>
+[[MediaWiki_talk:537f5507|Talk]]
 </td><td>
 Remove checked items from watchlist
 </td><td>
-{{int:Removechecked}}
+{{int:537f5507}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Removedwatch&action=edit removedwatch]<br>
-[[MediaWiki_talk:Removedwatch|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:78e82769&action=edit eeadf87c]<br>
+[[MediaWiki_talk:78e82769|Talk]]
 </td><td>
 Removed from watchlist
 </td><td>
-{{int:Removedwatch}}
+{{int:78e82769}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Removedwatchtext&action=edit removedwatchtext]<br>
-[[MediaWiki_talk:Removedwatchtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ad711aa8&action=edit d9807612]<br>
+[[MediaWiki_talk:ad711aa8|Talk]]
 </td><td>
 The page &quot;$1&quot; has been removed from your watchlist.
 </td><td>
-{{int:Removedwatchtext}}
+{{int:ad711aa8}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Removingchecked&action=edit removingchecked]<br>
-[[MediaWiki_talk:Removingchecked|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:48b0bcb6&action=edit 7d083ee5]<br>
+[[MediaWiki_talk:48b0bcb6|Talk]]
 </td><td>
 Removing requested items from watchlist...
 </td><td>
-{{int:Removingchecked}}
+{{int:48b0bcb6}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Resetprefs&action=edit resetprefs]<br>
-[[MediaWiki_talk:Resetprefs|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2f022894&action=edit 4b81718e]<br>
+[[MediaWiki_talk:2f022894|Talk]]
 </td><td>
 Reset preferences
 </td><td>
-{{int:Resetprefs}}
+{{int:2f022894}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Restorelink&action=edit restorelink]<br>
-[[MediaWiki_talk:Restorelink|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bc47acaf&action=edit 8f8f7d13]<br>
+[[MediaWiki_talk:bc47acaf|Talk]]
 </td><td>
 $1 deleted edits
 </td><td>
-{{int:Restorelink}}
+{{int:bc47acaf}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Resultsperpage&action=edit resultsperpage]<br>
-[[MediaWiki_talk:Resultsperpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6add8c15&action=edit 8f0c68f0]<br>
+[[MediaWiki_talk:6add8c15|Talk]]
 </td><td>
 Hits to show per page
 </td><td>
-{{int:Resultsperpage}}
+{{int:6add8c15}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Retrievedfrom&action=edit retrievedfrom]<br>
-[[MediaWiki_talk:Retrievedfrom|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6f54af5b&action=edit a5e2f101]<br>
+[[MediaWiki_talk:6f54af5b|Talk]]
 </td><td>
 Retrieved from &quot;$1&quot;
 </td><td>
-{{int:Retrievedfrom}}
+{{int:6f54af5b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Returnto&action=edit returnto]<br>
-[[MediaWiki_talk:Returnto|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3dcff1b0&action=edit 58f19667]<br>
+[[MediaWiki_talk:3dcff1b0|Talk]]
 </td><td>
 Return to $1.
 </td><td>
-{{int:Returnto}}
+{{int:3dcff1b0}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Retypenew&action=edit retypenew]<br>
-[[MediaWiki_talk:Retypenew|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b9ac79c6&action=edit 2b9171b6]<br>
+[[MediaWiki_talk:b9ac79c6|Talk]]
 </td><td>
 Retype new password
 </td><td>
-{{int:Retypenew}}
+{{int:b9ac79c6}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Reupload&action=edit reupload]<br>
-[[MediaWiki_talk:Reupload|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b7ae8f64&action=edit a3eee606]<br>
+[[MediaWiki_talk:b7ae8f64|Talk]]
 </td><td>
 Re-upload
 </td><td>
-{{int:Reupload}}
+{{int:b7ae8f64}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Reuploaddesc&action=edit reuploaddesc]<br>
-[[MediaWiki_talk:Reuploaddesc|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:cd783da0&action=edit d7ba5bcb]<br>
+[[MediaWiki_talk:cd783da0|Talk]]
 </td><td>
 Return to the upload form.
 </td><td>
-{{int:Reuploaddesc}}
+{{int:cd783da0}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Reverted&action=edit reverted]<br>
-[[MediaWiki_talk:Reverted|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c73c43f3&action=edit f322de9a]<br>
+[[MediaWiki_talk:c73c43f3|Talk]]
 </td><td>
 Reverted to earlier revision
 </td><td>
-{{int:Reverted}}
+{{int:c73c43f3}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Revertimg&action=edit revertimg]<br>
-[[MediaWiki_talk:Revertimg|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:18591a4b&action=edit 0d86ed82]<br>
+[[MediaWiki_talk:18591a4b|Talk]]
 </td><td>
 rev
 </td><td>
-{{int:Revertimg}}
+{{int:18591a4b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Revertpage&action=edit revertpage]<br>
-[[MediaWiki_talk:Revertpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b24ef4f1&action=edit 8ce494ea]<br>
+[[MediaWiki_talk:b24ef4f1|Talk]]
 </td><td>
 Reverted edit of $2, changed back to last version by $1
 </td><td>
-{{int:Revertpage}}
+{{int:b24ef4f1}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Revhistory&action=edit revhistory]<br>
-[[MediaWiki_talk:Revhistory|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:96e64350&action=edit 949a77c7]<br>
+[[MediaWiki_talk:96e64350|Talk]]
 </td><td>
 Revision history
 </td><td>
-{{int:Revhistory}}
+{{int:96e64350}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Revisionasof&action=edit revisionasof]<br>
-[[MediaWiki_talk:Revisionasof|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0c299dc7&action=edit 3338672b]<br>
+[[MediaWiki_talk:0c299dc7|Talk]]
 </td><td>
 Revision as of $1
 </td><td>
-{{int:Revisionasof}}
+{{int:0c299dc7}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Revnotfound&action=edit revnotfound]<br>
-[[MediaWiki_talk:Revnotfound|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:159f321a&action=edit d567812b]<br>
+[[MediaWiki_talk:159f321a|Talk]]
 </td><td>
 Revision not found
 </td><td>
-{{int:Revnotfound}}
+{{int:159f321a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Revnotfoundtext&action=edit revnotfoundtext]<br>
-[[MediaWiki_talk:Revnotfoundtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:955fec48&action=edit 4060f114]<br>
+[[MediaWiki_talk:955fec48|Talk]]
 </td><td>
 The old revision of the page you asked for could not be found.
 Please check the URL you used to access this page.
 
 </td><td>
-{{int:Revnotfoundtext}}
+{{int:955fec48}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rfcurl&action=edit rfcurl]<br>
-[[MediaWiki_talk:Rfcurl|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b2f04988&action=edit e8b606c2]<br>
+[[MediaWiki_talk:b2f04988|Talk]]
 </td><td>
 http&#58;//www.faqs.org/rfcs/rfc$1.html
 </td><td>
-{{int:Rfcurl}}
+{{int:b2f04988}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rights&action=edit rights]<br>
-[[MediaWiki_talk:Rights|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:db94ff6b&action=edit 1407cb23]<br>
+[[MediaWiki_talk:db94ff6b|Talk]]
 </td><td>
 Rights:
 </td><td>
-{{int:Rights}}
+{{int:db94ff6b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rollback&action=edit rollback]<br>
-[[MediaWiki_talk:Rollback|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f28daee2&action=edit ff3a6f3b]<br>
+[[MediaWiki_talk:f28daee2|Talk]]
 </td><td>
 Roll back edits
 </td><td>
-{{int:Rollback}}
+{{int:f28daee2}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rollback_short&action=edit rollback_short]<br>
-[[MediaWiki_talk:Rollback_short|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2aaec24c&action=edit 5f0fa7e7]<br>
+[[MediaWiki_talk:2aaec24c|Talk]]
 </td><td>
 Rollback
 </td><td>
-{{int:Rollback_short}}
+{{int:2aaec24c}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rollbackfailed&action=edit rollbackfailed]<br>
-[[MediaWiki_talk:Rollbackfailed|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:54d37a4c&action=edit 73c685e6]<br>
+[[MediaWiki_talk:54d37a4c|Talk]]
 </td><td>
 Rollback failed
 </td><td>
-{{int:Rollbackfailed}}
+{{int:54d37a4c}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rollbacklink&action=edit rollbacklink]<br>
-[[MediaWiki_talk:Rollbacklink|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b82a8f42&action=edit 1a9fae49]<br>
+[[MediaWiki_talk:b82a8f42|Talk]]
 </td><td>
 rollback
 </td><td>
-{{int:Rollbacklink}}
+{{int:b82a8f42}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Rows&action=edit rows]<br>
-[[MediaWiki_talk:Rows|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:52d0b352&action=edit 6c30d261]<br>
+[[MediaWiki_talk:52d0b352|Talk]]
 </td><td>
 Rows
 </td><td>
-{{int:Rows}}
+{{int:52d0b352}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Savearticle&action=edit savearticle]<br>
-[[MediaWiki_talk:Savearticle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5a43014e&action=edit 1308cde0]<br>
+[[MediaWiki_talk:5a43014e|Talk]]
 </td><td>
 Save page
 </td><td>
-{{int:Savearticle}}
+{{int:5a43014e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Savedprefs&action=edit savedprefs]<br>
-[[MediaWiki_talk:Savedprefs|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0e53fdc8&action=edit 5f6543d0]<br>
+[[MediaWiki_talk:0e53fdc8|Talk]]
 </td><td>
 Your preferences have been saved.
 </td><td>
-{{int:Savedprefs}}
+{{int:0e53fdc8}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Savefile&action=edit savefile]<br>
-[[MediaWiki_talk:Savefile|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e1415b15&action=edit d6d40a58]<br>
+[[MediaWiki_talk:e1415b15|Talk]]
 </td><td>
 Save file
 </td><td>
-{{int:Savefile}}
+{{int:e1415b15}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Saveprefs&action=edit saveprefs]<br>
-[[MediaWiki_talk:Saveprefs|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ad98e68e&action=edit 34ac956e]<br>
+[[MediaWiki_talk:ad98e68e|Talk]]
 </td><td>
 Save preferences
 </td><td>
-{{int:Saveprefs}}
+{{int:ad98e68e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Search&action=edit search]<br>
-[[MediaWiki_talk:Search|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bce06414&action=edit 3559d7ac]<br>
+[[MediaWiki_talk:bce06414|Talk]]
 </td><td>
 Search
 </td><td>
-{{int:Search}}
+{{int:bce06414}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Searchdisabled&action=edit searchdisabled]<br>
-[[MediaWiki_talk:Searchdisabled|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8f6495a7&action=edit cfa0722d]<br>
+[[MediaWiki_talk:8f6495a7|Talk]]
 </td><td>
 &lt;p&gt;Sorry! Full text search has been disabled temporarily, for performance reasons. In the meantime, you can use the Google search below, which may be out of date.&lt;/p&gt;
 </td><td>
-{{int:Searchdisabled}}
+{{int:8f6495a7}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Searchhelppage&action=edit searchhelppage]<br>
-[[MediaWiki_talk:Searchhelppage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:72344e87&action=edit 3eea6ce4]<br>
+[[MediaWiki_talk:72344e87|Talk]]
 </td><td>
 Wiktionary:Searching
 </td><td>
-{{int:Searchhelppage}}
+{{int:72344e87}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Searchingwikipedia&action=edit searchingwikipedia]<br>
-[[MediaWiki_talk:Searchingwikipedia|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:cb9c1653&action=edit da48347f]<br>
+[[MediaWiki_talk:cb9c1653|Talk]]
 </td><td>
 Searching Wiktionary
 </td><td>
-{{int:Searchingwikipedia}}
+{{int:cb9c1653}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Searchquery&action=edit searchquery]<br>
-[[MediaWiki_talk:Searchquery|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3d79ca88&action=edit 64bdca9a]<br>
+[[MediaWiki_talk:3d79ca88|Talk]]
 </td><td>
 For query &quot;$1&quot;
 </td><td>
-{{int:Searchquery}}
+{{int:3d79ca88}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Searchresults&action=edit searchresults]<br>
-[[MediaWiki_talk:Searchresults|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b2f7c0e1&action=edit 8ef6d4d3]<br>
+[[MediaWiki_talk:b2f7c0e1|Talk]]
 </td><td>
 Search results
 </td><td>
-{{int:Searchresults}}
+{{int:b2f7c0e1}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Searchresultshead&action=edit searchresultshead]<br>
-[[MediaWiki_talk:Searchresultshead|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e5ed9018&action=edit 83d578cd]<br>
+[[MediaWiki_talk:e5ed9018|Talk]]
 </td><td>
 Search result settings
 </td><td>
-{{int:Searchresultshead}}
+{{int:e5ed9018}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Searchresulttext&action=edit searchresulttext]<br>
-[[MediaWiki_talk:Searchresulttext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8cab5350&action=edit 781b9fee]<br>
+[[MediaWiki_talk:8cab5350|Talk]]
 </td><td>
 For more information about searching Wiktionary, see $1.
 </td><td>
-{{int:Searchresulttext}}
+{{int:8cab5350}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sectionedit&action=edit sectionedit]<br>
-[[MediaWiki_talk:Sectionedit|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:37b6df63&action=edit a26b768d]<br>
+[[MediaWiki_talk:37b6df63|Talk]]
 </td><td>
  (section)
 </td><td>
-{{int:Sectionedit}}
+{{int:37b6df63}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Selectnewerversionfordiff&action=edit selectnewerversionfordiff]<br>
-[[MediaWiki_talk:Selectnewerversionfordiff|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:be4aaa62&action=edit 2ddce298]<br>
+[[MediaWiki_talk:be4aaa62|Talk]]
 </td><td>
 Select a newer version for comparison
 </td><td>
-{{int:Selectnewerversionfordiff}}
+{{int:be4aaa62}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Selectolderversionfordiff&action=edit selectolderversionfordiff]<br>
-[[MediaWiki_talk:Selectolderversionfordiff|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5124db4d&action=edit 80ffa0cb]<br>
+[[MediaWiki_talk:5124db4d|Talk]]
 </td><td>
 Select an older version for comparison
 </td><td>
-{{int:Selectolderversionfordiff}}
+{{int:5124db4d}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Selectonly&action=edit selectonly]<br>
-[[MediaWiki_talk:Selectonly|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a3c0a747&action=edit 5ec1b504]<br>
+[[MediaWiki_talk:a3c0a747|Talk]]
 </td><td>
 Only read-only queries are allowed.
 </td><td>
-{{int:Selectonly}}
+{{int:a3c0a747}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Selflinks&action=edit selflinks]<br>
-[[MediaWiki_talk:Selflinks|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e93eec9e&action=edit 06cf46b3]<br>
+[[MediaWiki_talk:e93eec9e|Talk]]
 </td><td>
 Pages with Self Links
 </td><td>
-{{int:Selflinks}}
+{{int:e93eec9e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Selflinkstext&action=edit selflinkstext]<br>
-[[MediaWiki_talk:Selflinkstext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f993dd01&action=edit e7caf074]<br>
+[[MediaWiki_talk:f993dd01|Talk]]
 </td><td>
 The following pages contain a link to themselves, which they should not.
 </td><td>
-{{int:Selflinkstext}}
+{{int:f993dd01}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Seriousxhtmlerrors&action=edit seriousxhtmlerrors]<br>
-[[MediaWiki_talk:Seriousxhtmlerrors|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:fa56e16c&action=edit 249c203d]<br>
+[[MediaWiki_talk:fa56e16c|Talk]]
 </td><td>
 There were serious xhtml markup errors detected by tidy.
 </td><td>
-{{int:Seriousxhtmlerrors}}
+{{int:fa56e16c}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Servertime&action=edit servertime]<br>
-[[MediaWiki_talk:Servertime|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5123f28d&action=edit 8fcf47da]<br>
+[[MediaWiki_talk:5123f28d|Talk]]
 </td><td>
 Server time is now
 </td><td>
-{{int:Servertime}}
+{{int:5123f28d}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Set_rights_fail&action=edit set_rights_fail]<br>
-[[MediaWiki_talk:Set_rights_fail|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:4075f71a&action=edit 79d35179]<br>
+[[MediaWiki_talk:4075f71a|Talk]]
 </td><td>
 &lt;b&gt;User rights for &quot;$1&quot; could not be set. (Did you enter the name correctly?)&lt;/b&gt;
 </td><td>
-{{int:Set_rights_fail}}
+{{int:4075f71a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Set_user_rights&action=edit set_user_rights]<br>
-[[MediaWiki_talk:Set_user_rights|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:13187ffc&action=edit f2cd2a2a]<br>
+[[MediaWiki_talk:13187ffc|Talk]]
 </td><td>
 Set user rights
 </td><td>
-{{int:Set_user_rights}}
+{{int:13187ffc}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Setbureaucratflag&action=edit setbureaucratflag]<br>
-[[MediaWiki_talk:Setbureaucratflag|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:56640761&action=edit c5bfd68a]<br>
+[[MediaWiki_talk:56640761|Talk]]
 </td><td>
 Set bureaucrat flag
 </td><td>
-{{int:Setbureaucratflag}}
+{{int:56640761}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Shortpages&action=edit shortpages]<br>
-[[MediaWiki_talk:Shortpages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0d3f883b&action=edit fff9c94a]<br>
+[[MediaWiki_talk:0d3f883b|Talk]]
 </td><td>
 Short pages
 </td><td>
-{{int:Shortpages}}
+{{int:0d3f883b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Show&action=edit show]<br>
-[[MediaWiki_talk:Show|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d97d1ee3&action=edit 9fb29051]<br>
+[[MediaWiki_talk:d97d1ee3|Talk]]
 </td><td>
 show
 </td><td>
-{{int:Show}}
+{{int:d97d1ee3}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Showhideminor&action=edit showhideminor]<br>
-[[MediaWiki_talk:Showhideminor|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f1a75ecf&action=edit 4fe654c7]<br>
+[[MediaWiki_talk:f1a75ecf|Talk]]
 </td><td>
 $1 minor edits &#124; $2 bots &#124; $3 logged in users 
 </td><td>
-{{int:Showhideminor}}
+{{int:f1a75ecf}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Showingresults&action=edit showingresults]<br>
-[[MediaWiki_talk:Showingresults|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:72fad336&action=edit 9569cf23]<br>
+[[MediaWiki_talk:72fad336|Talk]]
 </td><td>
 Showing below &lt;b&gt;$1&lt;/b&gt; results starting with #&lt;b&gt;$2&lt;/b&gt;.
 </td><td>
-{{int:Showingresults}}
+{{int:72fad336}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Showingresultsnum&action=edit showingresultsnum]<br>
-[[MediaWiki_talk:Showingresultsnum|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6db37657&action=edit f7535b52]<br>
+[[MediaWiki_talk:6db37657|Talk]]
 </td><td>
 Showing below &lt;b&gt;$3&lt;/b&gt; results starting with #&lt;b&gt;$2&lt;/b&gt;.
 </td><td>
-{{int:Showingresultsnum}}
+{{int:6db37657}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Showlast&action=edit showlast]<br>
-[[MediaWiki_talk:Showlast|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:acbdf814&action=edit 43158759]<br>
+[[MediaWiki_talk:acbdf814|Talk]]
 </td><td>
 Show last $1 images sorted $2.
 </td><td>
-{{int:Showlast}}
+{{int:acbdf814}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Showpreview&action=edit showpreview]<br>
-[[MediaWiki_talk:Showpreview|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:915318a0&action=edit ac2b4c32]<br>
+[[MediaWiki_talk:915318a0|Talk]]
 </td><td>
 Show preview
 </td><td>
-{{int:Showpreview}}
+{{int:915318a0}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Showtoc&action=edit showtoc]<br>
-[[MediaWiki_talk:Showtoc|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:cfff5a5a&action=edit 6eeee3cb]<br>
+[[MediaWiki_talk:cfff5a5a|Talk]]
 </td><td>
 show
 </td><td>
-{{int:Showtoc}}
+{{int:cfff5a5a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sig_tip&action=edit sig_tip]<br>
-[[MediaWiki_talk:Sig_tip|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ac617b53&action=edit 1144c9d9]<br>
+[[MediaWiki_talk:ac617b53|Talk]]
 </td><td>
 Your signature with timestamp
 </td><td>
-{{int:Sig_tip}}
+{{int:ac617b53}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sitestats&action=edit sitestats]<br>
-[[MediaWiki_talk:Sitestats|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f6baa6ad&action=edit 7f5726ac]<br>
+[[MediaWiki_talk:f6baa6ad|Talk]]
 </td><td>
 Site statistics
 </td><td>
-{{int:Sitestats}}
+{{int:f6baa6ad}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sitestatstext&action=edit sitestatstext]<br>
-[[MediaWiki_talk:Sitestatstext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e150b0f4&action=edit 8e86f95d]<br>
+[[MediaWiki_talk:e150b0f4|Talk]]
 </td><td>
 There are &#39;&#39;&#39;$1&#39;&#39;&#39; total pages in the database.
 This includes &quot;talk&quot; pages, pages about Wiktionary, minimal &quot;stub&quot;
@@ -4220,931 +4220,931 @@ There have been a total of &#39;&#39;&#39;$3&#39;&#39;&#39; page views, and &#39
 since the wiki was setup.
 That comes to &#39;&#39;&#39;$5&#39;&#39;&#39; average edits per page, and &#39;&#39;&#39;$6&#39;&#39;&#39; views per edit.
 </td><td>
-{{int:Sitestatstext}}
+{{int:e150b0f4}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sitesubtitle&action=edit sitesubtitle]<br>
-[[MediaWiki_talk:Sitesubtitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:daaf7240&action=edit 8dca090f]<br>
+[[MediaWiki_talk:daaf7240|Talk]]
 </td><td>
 The Free Encyclopedia
 </td><td>
-{{int:Sitesubtitle}}
+{{int:daaf7240}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sitesupport&action=edit sitesupport]<br>
-[[MediaWiki_talk:Sitesupport|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3b434c6d&action=edit 32b42c53]<br>
+[[MediaWiki_talk:3b434c6d|Talk]]
 </td><td>
 Donations
 </td><td>
-{{int:Sitesupport}}
+{{int:3b434c6d}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sitetitle&action=edit sitetitle]<br>
-[[MediaWiki_talk:Sitetitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d75649ef&action=edit d88e8164]<br>
+[[MediaWiki_talk:d75649ef|Talk]]
 </td><td>
 Wiktionary
 </td><td>
-{{int:Sitetitle}}
+{{int:d75649ef}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Siteuser&action=edit siteuser]<br>
-[[MediaWiki_talk:Siteuser|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:cb06d8a3&action=edit b64ec710]<br>
+[[MediaWiki_talk:cb06d8a3|Talk]]
 </td><td>
 Wiktionary user $1
 </td><td>
-{{int:Siteuser}}
+{{int:cb06d8a3}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Siteusers&action=edit siteusers]<br>
-[[MediaWiki_talk:Siteusers|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d25d37c8&action=edit 4f548531]<br>
+[[MediaWiki_talk:d25d37c8|Talk]]
 </td><td>
 Wiktionary user(s) $1
 </td><td>
-{{int:Siteusers}}
+{{int:d25d37c8}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Skin&action=edit skin]<br>
-[[MediaWiki_talk:Skin|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8f57bd61&action=edit d0cb2acd]<br>
+[[MediaWiki_talk:8f57bd61|Talk]]
 </td><td>
 Skin
 </td><td>
-{{int:Skin}}
+{{int:8f57bd61}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Spamprotectiontext&action=edit spamprotectiontext]<br>
-[[MediaWiki_talk:Spamprotectiontext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d3a6dd4e&action=edit bcd196f9]<br>
+[[MediaWiki_talk:d3a6dd4e|Talk]]
 </td><td>
 The page you wanted to save was blocked by the spam filter. This is probably caused by a link to an external site. 
 
 You might want to check the following regular expression for patterns that are currently blocked:
 </td><td>
-{{int:Spamprotectiontext}}
+{{int:d3a6dd4e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Spamprotectiontitle&action=edit spamprotectiontitle]<br>
-[[MediaWiki_talk:Spamprotectiontitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:add33980&action=edit 60a90929]<br>
+[[MediaWiki_talk:add33980|Talk]]
 </td><td>
 Spam protection filter
 </td><td>
-{{int:Spamprotectiontitle}}
+{{int:add33980}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Specialpage&action=edit specialpage]<br>
-[[MediaWiki_talk:Specialpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:984c6817&action=edit 25255195]<br>
+[[MediaWiki_talk:984c6817|Talk]]
 </td><td>
 Special Page
 </td><td>
-{{int:Specialpage}}
+{{int:984c6817}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Specialpages&action=edit specialpages]<br>
-[[MediaWiki_talk:Specialpages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b67d51d8&action=edit 62bc32dc]<br>
+[[MediaWiki_talk:b67d51d8|Talk]]
 </td><td>
 Special pages
 </td><td>
-{{int:Specialpages}}
+{{int:b67d51d8}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Spheading&action=edit spheading]<br>
-[[MediaWiki_talk:Spheading|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c9709132&action=edit 73ac2b41]<br>
+[[MediaWiki_talk:c9709132|Talk]]
 </td><td>
 Special pages for all users
 </td><td>
-{{int:Spheading}}
+{{int:c9709132}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sqlislogged&action=edit sqlislogged]<br>
-[[MediaWiki_talk:Sqlislogged|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:87ac14f6&action=edit ed31e1e1]<br>
+[[MediaWiki_talk:87ac14f6|Talk]]
 </td><td>
 Please note that all queries are logged.
 </td><td>
-{{int:Sqlislogged}}
+{{int:87ac14f6}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sqlquery&action=edit sqlquery]<br>
-[[MediaWiki_talk:Sqlquery|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:00c261e1&action=edit 26cb51a1]<br>
+[[MediaWiki_talk:00c261e1|Talk]]
 </td><td>
 Enter query
 </td><td>
-{{int:Sqlquery}}
+{{int:00c261e1}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Statistics&action=edit statistics]<br>
-[[MediaWiki_talk:Statistics|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2086b21f&action=edit 3d18b2ea]<br>
+[[MediaWiki_talk:2086b21f|Talk]]
 </td><td>
 Statistics
 </td><td>
-{{int:Statistics}}
+{{int:2086b21f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Storedversion&action=edit storedversion]<br>
-[[MediaWiki_talk:Storedversion|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8cd0c85e&action=edit 1b9e838c]<br>
+[[MediaWiki_talk:8cd0c85e|Talk]]
 </td><td>
 Stored version
 </td><td>
-{{int:Storedversion}}
+{{int:8cd0c85e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Stubthreshold&action=edit stubthreshold]<br>
-[[MediaWiki_talk:Stubthreshold|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2eb6d4bd&action=edit a5125d69]<br>
+[[MediaWiki_talk:2eb6d4bd|Talk]]
 </td><td>
 Threshold for stub display
 </td><td>
-{{int:Stubthreshold}}
+{{int:2eb6d4bd}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Subcategories&action=edit subcategories]<br>
-[[MediaWiki_talk:Subcategories|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f3da206c&action=edit ef062b0e]<br>
+[[MediaWiki_talk:f3da206c|Talk]]
 </td><td>
 Subcategories
 </td><td>
-{{int:Subcategories}}
+{{int:f3da206c}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Subject&action=edit subject]<br>
-[[MediaWiki_talk:Subject|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8d183dbd&action=edit 335ce16b]<br>
+[[MediaWiki_talk:8d183dbd|Talk]]
 </td><td>
 Subject/headline
 </td><td>
-{{int:Subject}}
+{{int:8d183dbd}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Subjectpage&action=edit subjectpage]<br>
-[[MediaWiki_talk:Subjectpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ca29f2df&action=edit d7084ef8]<br>
+[[MediaWiki_talk:ca29f2df|Talk]]
 </td><td>
 View subject
 </td><td>
-{{int:Subjectpage}}
+{{int:ca29f2df}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Successfulupload&action=edit successfulupload]<br>
-[[MediaWiki_talk:Successfulupload|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:17bc3900&action=edit 3dfd0f51]<br>
+[[MediaWiki_talk:17bc3900|Talk]]
 </td><td>
 Successful upload
 </td><td>
-{{int:Successfulupload}}
+{{int:17bc3900}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Summary&action=edit summary]<br>
-[[MediaWiki_talk:Summary|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:12b71c3e&action=edit 05535ecf]<br>
+[[MediaWiki_talk:12b71c3e|Talk]]
 </td><td>
 Summary
 </td><td>
-{{int:Summary}}
+{{int:12b71c3e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sysopspheading&action=edit sysopspheading]<br>
-[[MediaWiki_talk:Sysopspheading|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ee858d9a&action=edit fde4e0f4]<br>
+[[MediaWiki_talk:ee858d9a|Talk]]
 </td><td>
 For sysop use only
 </td><td>
-{{int:Sysopspheading}}
+{{int:ee858d9a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sysoptext&action=edit sysoptext]<br>
-[[MediaWiki_talk:Sysoptext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2f758a39&action=edit 85232d4f]<br>
+[[MediaWiki_talk:2f758a39|Talk]]
 </td><td>
 The action you have requested can only be
 performed by users with &quot;sysop&quot; status.
 See $1.
 </td><td>
-{{int:Sysoptext}}
+{{int:2f758a39}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Sysoptitle&action=edit sysoptitle]<br>
-[[MediaWiki_talk:Sysoptitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:91b8467b&action=edit 3265b18d]<br>
+[[MediaWiki_talk:91b8467b|Talk]]
 </td><td>
 Sysop access required
 </td><td>
-{{int:Sysoptitle}}
+{{int:91b8467b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tableform&action=edit tableform]<br>
-[[MediaWiki_talk:Tableform|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:77b9c5ad&action=edit 109e51e1]<br>
+[[MediaWiki_talk:77b9c5ad|Talk]]
 </td><td>
 table
 </td><td>
-{{int:Tableform}}
+{{int:77b9c5ad}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Talk&action=edit talk]<br>
-[[MediaWiki_talk:Talk|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:4e6a710d&action=edit e55e91b2]<br>
+[[MediaWiki_talk:4e6a710d|Talk]]
 </td><td>
 Discussion
 </td><td>
-{{int:Talk}}
+{{int:4e6a710d}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Talkexists&action=edit talkexists]<br>
-[[MediaWiki_talk:Talkexists|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c11ac522&action=edit 1ed6d2b4]<br>
+[[MediaWiki_talk:c11ac522|Talk]]
 </td><td>
 The page itself was moved successfully, but the
 talk page could not be moved because one already exists at the new
 title. Please merge them manually.
 </td><td>
-{{int:Talkexists}}
+{{int:c11ac522}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Talkpage&action=edit talkpage]<br>
-[[MediaWiki_talk:Talkpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6a38ff98&action=edit 3c940bbf]<br>
+[[MediaWiki_talk:6a38ff98|Talk]]
 </td><td>
 Discuss this page
 </td><td>
-{{int:Talkpage}}
+{{int:6a38ff98}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Talkpagemoved&action=edit talkpagemoved]<br>
-[[MediaWiki_talk:Talkpagemoved|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2b630ea0&action=edit f053e191]<br>
+[[MediaWiki_talk:2b630ea0|Talk]]
 </td><td>
 The corresponding talk page was also moved.
 </td><td>
-{{int:Talkpagemoved}}
+{{int:2b630ea0}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Talkpagenotmoved&action=edit talkpagenotmoved]<br>
-[[MediaWiki_talk:Talkpagenotmoved|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2282b1ca&action=edit f3b6a64f]<br>
+[[MediaWiki_talk:2282b1ca|Talk]]
 </td><td>
 The corresponding talk page was &lt;strong&gt;not&lt;/strong&gt; moved.
 </td><td>
-{{int:Talkpagenotmoved}}
+{{int:2282b1ca}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Talkpagetext&action=edit talkpagetext]<br>
-[[MediaWiki_talk:Talkpagetext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:45e3f76d&action=edit 6534acb5]<br>
+[[MediaWiki_talk:45e3f76d|Talk]]
 </td><td>
 &lt;!-- MediaWiki:talkpagetext --&gt;
 </td><td>
-{{int:Talkpagetext}}
+{{int:45e3f76d}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Textboxsize&action=edit textboxsize]<br>
-[[MediaWiki_talk:Textboxsize|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:607359f2&action=edit 5788df25]<br>
+[[MediaWiki_talk:607359f2|Talk]]
 </td><td>
 Textbox dimensions
 </td><td>
-{{int:Textboxsize}}
+{{int:607359f2}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Textmatches&action=edit textmatches]<br>
-[[MediaWiki_talk:Textmatches|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:66571fbc&action=edit 7d66aa0e]<br>
+[[MediaWiki_talk:66571fbc|Talk]]
 </td><td>
 Page text matches
 </td><td>
-{{int:Textmatches}}
+{{int:66571fbc}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Thisisdeleted&action=edit thisisdeleted]<br>
-[[MediaWiki_talk:Thisisdeleted|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e1f36741&action=edit 83f663ed]<br>
+[[MediaWiki_talk:e1f36741|Talk]]
 </td><td>
 View or restore $1?
 </td><td>
-{{int:Thisisdeleted}}
+{{int:e1f36741}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Thumbnail-more&action=edit thumbnail-more]<br>
-[[MediaWiki_talk:Thumbnail-more|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a29f027b&action=edit a299730b]<br>
+[[MediaWiki_talk:a29f027b|Talk]]
 </td><td>
 Enlarge
 </td><td>
-{{int:Thumbnail-more}}
+{{int:a29f027b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Timezonelegend&action=edit timezonelegend]<br>
-[[MediaWiki_talk:Timezonelegend|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9ced4850&action=edit 36ee6f56]<br>
+[[MediaWiki_talk:9ced4850|Talk]]
 </td><td>
 Time zone
 </td><td>
-{{int:Timezonelegend}}
+{{int:9ced4850}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Timezoneoffset&action=edit timezoneoffset]<br>
-[[MediaWiki_talk:Timezoneoffset|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ca45a968&action=edit 9dba4eb8]<br>
+[[MediaWiki_talk:ca45a968|Talk]]
 </td><td>
 Offset
 </td><td>
-{{int:Timezoneoffset}}
+{{int:ca45a968}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Timezonetext&action=edit timezonetext]<br>
-[[MediaWiki_talk:Timezonetext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:60bc3c41&action=edit 3f58a2a9]<br>
+[[MediaWiki_talk:60bc3c41|Talk]]
 </td><td>
 Enter number of hours your local time differs
 from server time (UTC).
 </td><td>
-{{int:Timezonetext}}
+{{int:60bc3c41}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Titlematches&action=edit titlematches]<br>
-[[MediaWiki_talk:Titlematches|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2618febd&action=edit e3f5384c]<br>
+[[MediaWiki_talk:2618febd|Talk]]
 </td><td>
 Article title matches
 </td><td>
-{{int:Titlematches}}
+{{int:2618febd}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Toc&action=edit toc]<br>
-[[MediaWiki_talk:Toc|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b8684fcf&action=edit 2a609230]<br>
+[[MediaWiki_talk:b8684fcf|Talk]]
 </td><td>
 Table of contents
 </td><td>
-{{int:Toc}}
+{{int:b8684fcf}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Toolbox&action=edit toolbox]<br>
-[[MediaWiki_talk:Toolbox|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:692107c0&action=edit d75ba923]<br>
+[[MediaWiki_talk:692107c0|Talk]]
 </td><td>
 Toolbox
 </td><td>
-{{int:Toolbox}}
+{{int:692107c0}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-addsection&action=edit tooltip-addsection]<br>
-[[MediaWiki_talk:Tooltip-addsection|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b9116941&action=edit 04ced041]<br>
+[[MediaWiki_talk:b9116941|Talk]]
 </td><td>
 Add a comment to this page. &#91;alt-+]
 </td><td>
-{{int:Tooltip-addsection}}
+{{int:b9116941}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-anontalk&action=edit tooltip-anontalk]<br>
-[[MediaWiki_talk:Tooltip-anontalk|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b583d36c&action=edit b987f993]<br>
+[[MediaWiki_talk:b583d36c|Talk]]
 </td><td>
 Discussion about edits from this ip address &#91;alt-n]
 </td><td>
-{{int:Tooltip-anontalk}}
+{{int:b583d36c}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-anonuserpage&action=edit tooltip-anonuserpage]<br>
-[[MediaWiki_talk:Tooltip-anonuserpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9efcbe2f&action=edit e3522c89]<br>
+[[MediaWiki_talk:9efcbe2f|Talk]]
 </td><td>
 The user page for the ip you&#39;re editing as &#91;alt-.]
 </td><td>
-{{int:Tooltip-anonuserpage}}
+{{int:9efcbe2f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-article&action=edit tooltip-article]<br>
-[[MediaWiki_talk:Tooltip-article|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2a4b9eea&action=edit f3025f7a]<br>
+[[MediaWiki_talk:2a4b9eea|Talk]]
 </td><td>
 View the content page &#91;alt-a]
 </td><td>
-{{int:Tooltip-article}}
+{{int:2a4b9eea}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-atom&action=edit tooltip-atom]<br>
-[[MediaWiki_talk:Tooltip-atom|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:dcd3ca0c&action=edit e420bf33]<br>
+[[MediaWiki_talk:dcd3ca0c|Talk]]
 </td><td>
 Atom feed for this page
 </td><td>
-{{int:Tooltip-atom}}
+{{int:dcd3ca0c}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-compareselectedversions&action=edit tooltip-compareselectedversions]<br>
-[[MediaWiki_talk:Tooltip-compareselectedversions|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d318992a&action=edit d2ae036e]<br>
+[[MediaWiki_talk:d318992a|Talk]]
 </td><td>
 See the differences between the two selected versions of this page. &#91;alt-v]
 </td><td>
-{{int:Tooltip-compareselectedversions}}
+{{int:d318992a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-contributions&action=edit tooltip-contributions]<br>
-[[MediaWiki_talk:Tooltip-contributions|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:17165e38&action=edit 2039dc44]<br>
+[[MediaWiki_talk:17165e38|Talk]]
 </td><td>
 View the list of contributions of this user
 </td><td>
-{{int:Tooltip-contributions}}
+{{int:17165e38}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-currentevents&action=edit tooltip-currentevents]<br>
-[[MediaWiki_talk:Tooltip-currentevents|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:32bcbdd6&action=edit d57ba9d6]<br>
+[[MediaWiki_talk:32bcbdd6|Talk]]
 </td><td>
 Find background information on current events
 </td><td>
-{{int:Tooltip-currentevents}}
+{{int:32bcbdd6}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-delete&action=edit tooltip-delete]<br>
-[[MediaWiki_talk:Tooltip-delete|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b1488dbf&action=edit 742e0c2a]<br>
+[[MediaWiki_talk:b1488dbf|Talk]]
 </td><td>
 Delete this page &#91;alt-d]
 </td><td>
-{{int:Tooltip-delete}}
+{{int:b1488dbf}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-edit&action=edit tooltip-edit]<br>
-[[MediaWiki_talk:Tooltip-edit|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8c519c79&action=edit 6b354128]<br>
+[[MediaWiki_talk:8c519c79|Talk]]
 </td><td>
 You can edit this page. Please use the preview button before saving. &#91;alt-e]
 </td><td>
-{{int:Tooltip-edit}}
+{{int:8c519c79}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-emailuser&action=edit tooltip-emailuser]<br>
-[[MediaWiki_talk:Tooltip-emailuser|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d61f42ac&action=edit 6a333373]<br>
+[[MediaWiki_talk:d61f42ac|Talk]]
 </td><td>
 Send a mail to this user
 </td><td>
-{{int:Tooltip-emailuser}}
+{{int:d61f42ac}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-help&action=edit tooltip-help]<br>
-[[MediaWiki_talk:Tooltip-help|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:691c7c4c&action=edit 1f2e0a5e]<br>
+[[MediaWiki_talk:691c7c4c|Talk]]
 </td><td>
 The place to find out.
 </td><td>
-{{int:Tooltip-help}}
+{{int:691c7c4c}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-history&action=edit tooltip-history]<br>
-[[MediaWiki_talk:Tooltip-history|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:da5d5f0e&action=edit 357e85a5]<br>
+[[MediaWiki_talk:da5d5f0e|Talk]]
 </td><td>
 Past versions of this page, &#91;alt-h]
 </td><td>
-{{int:Tooltip-history}}
+{{int:da5d5f0e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-login&action=edit tooltip-login]<br>
-[[MediaWiki_talk:Tooltip-login|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e20e86bb&action=edit ff6db008]<br>
+[[MediaWiki_talk:e20e86bb|Talk]]
 </td><td>
 You are encouraged to log in, it is not mandatory however. &#91;alt-o]
 </td><td>
-{{int:Tooltip-login}}
+{{int:e20e86bb}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-logout&action=edit tooltip-logout]<br>
-[[MediaWiki_talk:Tooltip-logout|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ab189540&action=edit bd25c34c]<br>
+[[MediaWiki_talk:ab189540|Talk]]
 </td><td>
 Log out &#91;alt-o]
 </td><td>
-{{int:Tooltip-logout}}
+{{int:ab189540}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-mainpage&action=edit tooltip-mainpage]<br>
-[[MediaWiki_talk:Tooltip-mainpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8d2a8168&action=edit 9dd4b86c]<br>
+[[MediaWiki_talk:8d2a8168|Talk]]
 </td><td>
 Visit the Main Page &#91;alt-z]
 </td><td>
-{{int:Tooltip-mainpage}}
+{{int:8d2a8168}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-minoredit&action=edit tooltip-minoredit]<br>
-[[MediaWiki_talk:Tooltip-minoredit|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7316f250&action=edit 2138d388]<br>
+[[MediaWiki_talk:7316f250|Talk]]
 </td><td>
 Mark this as a minor edit &#91;alt-i]
 </td><td>
-{{int:Tooltip-minoredit}}
+{{int:7316f250}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-move&action=edit tooltip-move]<br>
-[[MediaWiki_talk:Tooltip-move|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bfe45253&action=edit 00ef7343]<br>
+[[MediaWiki_talk:bfe45253|Talk]]
 </td><td>
 Move this page &#91;alt-m]
 </td><td>
-{{int:Tooltip-move}}
+{{int:bfe45253}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-mycontris&action=edit tooltip-mycontris]<br>
-[[MediaWiki_talk:Tooltip-mycontris|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c2b4d858&action=edit 0bafecde]<br>
+[[MediaWiki_talk:c2b4d858|Talk]]
 </td><td>
 List of my contributions &#91;alt-y]
 </td><td>
-{{int:Tooltip-mycontris}}
+{{int:c2b4d858}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-mytalk&action=edit tooltip-mytalk]<br>
-[[MediaWiki_talk:Tooltip-mytalk|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:22361e38&action=edit ef887076]<br>
+[[MediaWiki_talk:22361e38|Talk]]
 </td><td>
 My talk page &#91;alt-n]
 </td><td>
-{{int:Tooltip-mytalk}}
+{{int:22361e38}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-nomove&action=edit tooltip-nomove]<br>
-[[MediaWiki_talk:Tooltip-nomove|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b34e28e3&action=edit 6d66eb21]<br>
+[[MediaWiki_talk:b34e28e3|Talk]]
 </td><td>
 You don&#39;t have the permissions to move this page
 </td><td>
-{{int:Tooltip-nomove}}
+{{int:b34e28e3}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-portal&action=edit tooltip-portal]<br>
-[[MediaWiki_talk:Tooltip-portal|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:dc2cdd3b&action=edit 7e77da11]<br>
+[[MediaWiki_talk:dc2cdd3b|Talk]]
 </td><td>
 About the project, what you can do, where to find things
 </td><td>
-{{int:Tooltip-portal}}
+{{int:dc2cdd3b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-preferences&action=edit tooltip-preferences]<br>
-[[MediaWiki_talk:Tooltip-preferences|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2032ad70&action=edit 5611ec73]<br>
+[[MediaWiki_talk:2032ad70|Talk]]
 </td><td>
 My preferences
 </td><td>
-{{int:Tooltip-preferences}}
+{{int:2032ad70}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-preview&action=edit tooltip-preview]<br>
-[[MediaWiki_talk:Tooltip-preview|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d87a6e27&action=edit 71b5f228]<br>
+[[MediaWiki_talk:d87a6e27|Talk]]
 </td><td>
 Preview your changes, please use this before saving! &#91;alt-p]
 </td><td>
-{{int:Tooltip-preview}}
+{{int:d87a6e27}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-protect&action=edit tooltip-protect]<br>
-[[MediaWiki_talk:Tooltip-protect|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:44edd577&action=edit fa1fc302]<br>
+[[MediaWiki_talk:44edd577|Talk]]
 </td><td>
 Protect this page &#91;alt-=]
 </td><td>
-{{int:Tooltip-protect}}
+{{int:44edd577}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-randompage&action=edit tooltip-randompage]<br>
-[[MediaWiki_talk:Tooltip-randompage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:aa67a70a&action=edit f2eedbde]<br>
+[[MediaWiki_talk:aa67a70a|Talk]]
 </td><td>
 Load a random page &#91;alt-x]
 </td><td>
-{{int:Tooltip-randompage}}
+{{int:aa67a70a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-recentchanges&action=edit tooltip-recentchanges]<br>
-[[MediaWiki_talk:Tooltip-recentchanges|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a5de539f&action=edit cafd58f7]<br>
+[[MediaWiki_talk:a5de539f|Talk]]
 </td><td>
 The list of recent changes in the wiki. &#91;alt-r]
 </td><td>
-{{int:Tooltip-recentchanges}}
+{{int:a5de539f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-recentchangeslinked&action=edit tooltip-recentchangeslinked]<br>
-[[MediaWiki_talk:Tooltip-recentchangeslinked|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:47cd8236&action=edit ccab4d0f]<br>
+[[MediaWiki_talk:47cd8236|Talk]]
 </td><td>
 Recent changes in pages linking to this page &#91;alt-c]
 </td><td>
-{{int:Tooltip-recentchangeslinked}}
+{{int:47cd8236}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-rss&action=edit tooltip-rss]<br>
-[[MediaWiki_talk:Tooltip-rss|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:82964371&action=edit 53235bed]<br>
+[[MediaWiki_talk:82964371|Talk]]
 </td><td>
 RSS feed for this page
 </td><td>
-{{int:Tooltip-rss}}
+{{int:82964371}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-save&action=edit tooltip-save]<br>
-[[MediaWiki_talk:Tooltip-save|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ec76631f&action=edit 8ce4a9b9]<br>
+[[MediaWiki_talk:ec76631f|Talk]]
 </td><td>
 Save your changes &#91;alt-s]
 </td><td>
-{{int:Tooltip-save}}
+{{int:ec76631f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-search&action=edit tooltip-search]<br>
-[[MediaWiki_talk:Tooltip-search|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6d206f30&action=edit a6413695]<br>
+[[MediaWiki_talk:6d206f30|Talk]]
 </td><td>
 Search this wiki &#91;alt-f]
 </td><td>
-{{int:Tooltip-search}}
+{{int:6d206f30}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-sitesupport&action=edit tooltip-sitesupport]<br>
-[[MediaWiki_talk:Tooltip-sitesupport|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:65256208&action=edit c2dafa2a]<br>
+[[MediaWiki_talk:65256208|Talk]]
 </td><td>
 Support Wiktionary
 </td><td>
-{{int:Tooltip-sitesupport}}
+{{int:65256208}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-specialpage&action=edit tooltip-specialpage]<br>
-[[MediaWiki_talk:Tooltip-specialpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:280cc8fd&action=edit 73f9a677]<br>
+[[MediaWiki_talk:280cc8fd|Talk]]
 </td><td>
 This is a special page, you can&#39;t edit the page itself.
 </td><td>
-{{int:Tooltip-specialpage}}
+{{int:280cc8fd}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-specialpages&action=edit tooltip-specialpages]<br>
-[[MediaWiki_talk:Tooltip-specialpages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7c7223be&action=edit 764993b1]<br>
+[[MediaWiki_talk:7c7223be|Talk]]
 </td><td>
 List of all special pages &#91;alt-q]
 </td><td>
-{{int:Tooltip-specialpages}}
+{{int:7c7223be}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-talk&action=edit tooltip-talk]<br>
-[[MediaWiki_talk:Tooltip-talk|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:06fb1d8e&action=edit cb23801a]<br>
+[[MediaWiki_talk:06fb1d8e|Talk]]
 </td><td>
 Discussion about the content page &#91;alt-t]
 </td><td>
-{{int:Tooltip-talk}}
+{{int:06fb1d8e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-undelete&action=edit tooltip-undelete]<br>
-[[MediaWiki_talk:Tooltip-undelete|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:341a8a32&action=edit df81e982]<br>
+[[MediaWiki_talk:341a8a32|Talk]]
 </td><td>
 Restore the $1 edits done to this page before it was deleted &#91;alt-d]
 </td><td>
-{{int:Tooltip-undelete}}
+{{int:341a8a32}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-unwatch&action=edit tooltip-unwatch]<br>
-[[MediaWiki_talk:Tooltip-unwatch|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:377e895f&action=edit 53f18c52]<br>
+[[MediaWiki_talk:377e895f|Talk]]
 </td><td>
 Remove this page from your watchlist &#91;alt-w]
 </td><td>
-{{int:Tooltip-unwatch}}
+{{int:377e895f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-upload&action=edit tooltip-upload]<br>
-[[MediaWiki_talk:Tooltip-upload|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b1d4103e&action=edit 6143ca0f]<br>
+[[MediaWiki_talk:b1d4103e|Talk]]
 </td><td>
 Upload images or media files &#91;alt-u]
 </td><td>
-{{int:Tooltip-upload}}
+{{int:b1d4103e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-userpage&action=edit tooltip-userpage]<br>
-[[MediaWiki_talk:Tooltip-userpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3d8cae2f&action=edit 2b3a6ed0]<br>
+[[MediaWiki_talk:3d8cae2f|Talk]]
 </td><td>
 My user page &#91;alt-.]
 </td><td>
-{{int:Tooltip-userpage}}
+{{int:3d8cae2f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-viewsource&action=edit tooltip-viewsource]<br>
-[[MediaWiki_talk:Tooltip-viewsource|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:141dd88c&action=edit 1ef2ea9d]<br>
+[[MediaWiki_talk:141dd88c|Talk]]
 </td><td>
 This page is protected. You can view its source. &#91;alt-e]
 </td><td>
-{{int:Tooltip-viewsource}}
+{{int:141dd88c}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-watch&action=edit tooltip-watch]<br>
-[[MediaWiki_talk:Tooltip-watch|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:68a73399&action=edit 07e7b59d]<br>
+[[MediaWiki_talk:68a73399|Talk]]
 </td><td>
 Add this page to your watchlist &#91;alt-w]
 </td><td>
-{{int:Tooltip-watch}}
+{{int:68a73399}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-watchlist&action=edit tooltip-watchlist]<br>
-[[MediaWiki_talk:Tooltip-watchlist|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:56a787ff&action=edit e24666fc]<br>
+[[MediaWiki_talk:56a787ff|Talk]]
 </td><td>
 The list of pages you&#39;re monitoring for changes. &#91;alt-l]
 </td><td>
-{{int:Tooltip-watchlist}}
+{{int:56a787ff}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Tooltip-whatlinkshere&action=edit tooltip-whatlinkshere]<br>
-[[MediaWiki_talk:Tooltip-whatlinkshere|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3fd46bc1&action=edit fbd416b7]<br>
+[[MediaWiki_talk:3fd46bc1|Talk]]
 </td><td>
 List of all wiki pages that link here &#91;alt-b]
 </td><td>
-{{int:Tooltip-whatlinkshere}}
+{{int:3fd46bc1}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uclinks&action=edit uclinks]<br>
-[[MediaWiki_talk:Uclinks|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:47514ec5&action=edit c48d8241]<br>
+[[MediaWiki_talk:47514ec5|Talk]]
 </td><td>
 View the last $1 changes; view the last $2 days.
 </td><td>
-{{int:Uclinks}}
+{{int:47514ec5}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Ucnote&action=edit ucnote]<br>
-[[MediaWiki_talk:Ucnote|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6442d081&action=edit 0d69ac51]<br>
+[[MediaWiki_talk:6442d081|Talk]]
 </td><td>
 Below are this user&#39;s last &lt;b&gt;$1&lt;/b&gt; changes in the last &lt;b&gt;$2&lt;/b&gt; days.
 </td><td>
-{{int:Ucnote}}
+{{int:6442d081}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uctop&action=edit uctop]<br>
-[[MediaWiki_talk:Uctop|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:507d407a&action=edit f9bb6366]<br>
+[[MediaWiki_talk:507d407a|Talk]]
 </td><td>
  (top)
 </td><td>
-{{int:Uctop}}
+{{int:507d407a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unblockip&action=edit unblockip]<br>
-[[MediaWiki_talk:Unblockip|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8c29ba33&action=edit 2b4842fd]<br>
+[[MediaWiki_talk:8c29ba33|Talk]]
 </td><td>
 Unblock user
 </td><td>
-{{int:Unblockip}}
+{{int:8c29ba33}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unblockiptext&action=edit unblockiptext]<br>
-[[MediaWiki_talk:Unblockiptext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3a879bdb&action=edit 98f7f719]<br>
+[[MediaWiki_talk:3a879bdb|Talk]]
 </td><td>
 Use the form below to restore write access
 to a previously blocked IP address or username.
 </td><td>
-{{int:Unblockiptext}}
+{{int:3a879bdb}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unblocklink&action=edit unblocklink]<br>
-[[MediaWiki_talk:Unblocklink|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e954d285&action=edit 24e7c6e7]<br>
+[[MediaWiki_talk:e954d285|Talk]]
 </td><td>
 unblock
 </td><td>
-{{int:Unblocklink}}
+{{int:e954d285}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unblocklogentry&action=edit unblocklogentry]<br>
-[[MediaWiki_talk:Unblocklogentry|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5e55820a&action=edit eecac2a2]<br>
+[[MediaWiki_talk:5e55820a|Talk]]
 </td><td>
 unblocked &quot;$1&quot;
 </td><td>
-{{int:Unblocklogentry}}
+{{int:5e55820a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undelete&action=edit undelete]<br>
-[[MediaWiki_talk:Undelete|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9b2a9354&action=edit f690005f]<br>
+[[MediaWiki_talk:9b2a9354|Talk]]
 </td><td>
 Restore deleted page
 </td><td>
-{{int:Undelete}}
+{{int:9b2a9354}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undelete_short&action=edit undelete_short]<br>
-[[MediaWiki_talk:Undelete_short|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:85cdbe83&action=edit d4adea3f]<br>
+[[MediaWiki_talk:85cdbe83|Talk]]
 </td><td>
 Undelete $1 edits
 </td><td>
-{{int:Undelete_short}}
+{{int:85cdbe83}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undeletearticle&action=edit undeletearticle]<br>
-[[MediaWiki_talk:Undeletearticle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9ba522b6&action=edit c4635e76]<br>
+[[MediaWiki_talk:9ba522b6|Talk]]
 </td><td>
 Restore deleted page
 </td><td>
-{{int:Undeletearticle}}
+{{int:9ba522b6}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undeletebtn&action=edit undeletebtn]<br>
-[[MediaWiki_talk:Undeletebtn|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3346239e&action=edit 5dd4b2af]<br>
+[[MediaWiki_talk:3346239e|Talk]]
 </td><td>
 Restore!
 </td><td>
-{{int:Undeletebtn}}
+{{int:3346239e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undeletedarticle&action=edit undeletedarticle]<br>
-[[MediaWiki_talk:Undeletedarticle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c2a7eb23&action=edit cf1590b6]<br>
+[[MediaWiki_talk:c2a7eb23|Talk]]
 </td><td>
 restored &quot;$1&quot;
 </td><td>
-{{int:Undeletedarticle}}
+{{int:c2a7eb23}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undeletedtext&action=edit undeletedtext]<br>
-[[MediaWiki_talk:Undeletedtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:40f0db7a&action=edit 5e55bc75]<br>
+[[MediaWiki_talk:40f0db7a|Talk]]
 </td><td>
 &#91;&#91;$1]] has been successfully restored.
 See &#91;&#91;Wiktionary:Deletion_log]] for a record of recent deletions and restorations.
 </td><td>
-{{int:Undeletedtext}}
+{{int:40f0db7a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undeletehistory&action=edit undeletehistory]<br>
-[[MediaWiki_talk:Undeletehistory|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:feaa86c6&action=edit a69aad99]<br>
+[[MediaWiki_talk:feaa86c6|Talk]]
 </td><td>
 If you restore the page, all revisions will be restored to the history.
 If a new page with the same name has been created since the deletion, the restored
 revisions will appear in the prior history, and the current revision of the live page
 will not be automatically replaced.
 </td><td>
-{{int:Undeletehistory}}
+{{int:feaa86c6}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undeletepage&action=edit undeletepage]<br>
-[[MediaWiki_talk:Undeletepage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9fa6521f&action=edit d650f0a7]<br>
+[[MediaWiki_talk:9fa6521f|Talk]]
 </td><td>
 View and restore deleted pages
 </td><td>
-{{int:Undeletepage}}
+{{int:9fa6521f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undeletepagetext&action=edit undeletepagetext]<br>
-[[MediaWiki_talk:Undeletepagetext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2e99f66e&action=edit 19b68d7f]<br>
+[[MediaWiki_talk:2e99f66e|Talk]]
 </td><td>
 The following pages have been deleted but are still in the archive and
 can be restored. The archive may be periodically cleaned out.
 </td><td>
-{{int:Undeletepagetext}}
+{{int:2e99f66e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undeleterevision&action=edit undeleterevision]<br>
-[[MediaWiki_talk:Undeleterevision|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b097a89b&action=edit 2a3672ef]<br>
+[[MediaWiki_talk:b097a89b|Talk]]
 </td><td>
 Deleted revision as of $1
 </td><td>
-{{int:Undeleterevision}}
+{{int:b097a89b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Undeleterevisions&action=edit undeleterevisions]<br>
-[[MediaWiki_talk:Undeleterevisions|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:eb2694a4&action=edit d0cd3f87]<br>
+[[MediaWiki_talk:eb2694a4|Talk]]
 </td><td>
 $1 revisions archived
 </td><td>
-{{int:Undeleterevisions}}
+{{int:eb2694a4}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unexpected&action=edit unexpected]<br>
-[[MediaWiki_talk:Unexpected|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3b67a8c9&action=edit fd2a2764]<br>
+[[MediaWiki_talk:3b67a8c9|Talk]]
 </td><td>
 Unexpected value: &quot;$1&quot;=&quot;$2&quot;.
 </td><td>
-{{int:Unexpected}}
+{{int:3b67a8c9}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unlockbtn&action=edit unlockbtn]<br>
-[[MediaWiki_talk:Unlockbtn|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:016b68d2&action=edit 74a8f293]<br>
+[[MediaWiki_talk:016b68d2|Talk]]
 </td><td>
 Unlock database
 </td><td>
-{{int:Unlockbtn}}
+{{int:016b68d2}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unlockconfirm&action=edit unlockconfirm]<br>
-[[MediaWiki_talk:Unlockconfirm|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:fc3080bf&action=edit ded00b4f]<br>
+[[MediaWiki_talk:fc3080bf|Talk]]
 </td><td>
 Yes, I really want to unlock the database.
 </td><td>
-{{int:Unlockconfirm}}
+{{int:fc3080bf}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unlockdb&action=edit unlockdb]<br>
-[[MediaWiki_talk:Unlockdb|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:4df98d29&action=edit 68a2c7e3]<br>
+[[MediaWiki_talk:4df98d29|Talk]]
 </td><td>
 Unlock database
 </td><td>
-{{int:Unlockdb}}
+{{int:4df98d29}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unlockdbsuccesssub&action=edit unlockdbsuccesssub]<br>
-[[MediaWiki_talk:Unlockdbsuccesssub|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:86605aa9&action=edit eb575aa1]<br>
+[[MediaWiki_talk:86605aa9|Talk]]
 </td><td>
 Database lock removed
 </td><td>
-{{int:Unlockdbsuccesssub}}
+{{int:86605aa9}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unlockdbsuccesstext&action=edit unlockdbsuccesstext]<br>
-[[MediaWiki_talk:Unlockdbsuccesstext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1896db20&action=edit a7a78572]<br>
+[[MediaWiki_talk:1896db20|Talk]]
 </td><td>
 The database has been unlocked.
 </td><td>
-{{int:Unlockdbsuccesstext}}
+{{int:1896db20}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unlockdbtext&action=edit unlockdbtext]<br>
-[[MediaWiki_talk:Unlockdbtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bd3decce&action=edit 6b32a82f]<br>
+[[MediaWiki_talk:bd3decce|Talk]]
 </td><td>
 Unlocking the database will restore the ability of all
 users to edit pages, change their preferences, edit their watchlists, and
 other things requiring changes in the database.
 Please confirm that this is what you intend to do.
 </td><td>
-{{int:Unlockdbtext}}
+{{int:bd3decce}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unprotect&action=edit unprotect]<br>
-[[MediaWiki_talk:Unprotect|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d180e0d9&action=edit 116b2a3b]<br>
+[[MediaWiki_talk:d180e0d9|Talk]]
 </td><td>
 Unprotect
 </td><td>
-{{int:Unprotect}}
+{{int:d180e0d9}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unprotectcomment&action=edit unprotectcomment]<br>
-[[MediaWiki_talk:Unprotectcomment|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:affff3c2&action=edit a4439c30]<br>
+[[MediaWiki_talk:affff3c2|Talk]]
 </td><td>
 Reason for unprotecting
 </td><td>
-{{int:Unprotectcomment}}
+{{int:affff3c2}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unprotectedarticle&action=edit unprotectedarticle]<br>
-[[MediaWiki_talk:Unprotectedarticle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b8d58125&action=edit 66029ebc]<br>
+[[MediaWiki_talk:b8d58125|Talk]]
 </td><td>
 unprotected &#91;&#91;$1]]
 </td><td>
-{{int:Unprotectedarticle}}
+{{int:b8d58125}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unprotectsub&action=edit unprotectsub]<br>
-[[MediaWiki_talk:Unprotectsub|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b15ab8cb&action=edit c77cef4c]<br>
+[[MediaWiki_talk:b15ab8cb|Talk]]
 </td><td>
 (Unprotecting &quot;$1&quot;)
 </td><td>
-{{int:Unprotectsub}}
+{{int:b15ab8cb}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unprotectthispage&action=edit unprotectthispage]<br>
-[[MediaWiki_talk:Unprotectthispage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:10782968&action=edit caa31f1e]<br>
+[[MediaWiki_talk:10782968|Talk]]
 </td><td>
 Unprotect this page
 </td><td>
-{{int:Unprotectthispage}}
+{{int:10782968}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unusedimages&action=edit unusedimages]<br>
-[[MediaWiki_talk:Unusedimages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:5ed67176&action=edit e17373a9]<br>
+[[MediaWiki_talk:5ed67176|Talk]]
 </td><td>
 Unused images
 </td><td>
-{{int:Unusedimages}}
+{{int:5ed67176}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unusedimagestext&action=edit unusedimagestext]<br>
-[[MediaWiki_talk:Unusedimagestext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:373709c4&action=edit 13626cea]<br>
+[[MediaWiki_talk:373709c4|Talk]]
 </td><td>
 &lt;p&gt;Please note that other web sites may link to an image with
 a direct URL, and so may still be listed here despite being
 in active use.
 </td><td>
-{{int:Unusedimagestext}}
+{{int:373709c4}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unwatch&action=edit unwatch]<br>
-[[MediaWiki_talk:Unwatch|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:51055a00&action=edit f6f282e9]<br>
+[[MediaWiki_talk:51055a00|Talk]]
 </td><td>
 Unwatch
 </td><td>
-{{int:Unwatch}}
+{{int:51055a00}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Unwatchthispage&action=edit unwatchthispage]<br>
-[[MediaWiki_talk:Unwatchthispage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e21d3614&action=edit c7d1cd1e]<br>
+[[MediaWiki_talk:e21d3614|Talk]]
 </td><td>
 Stop watching
 </td><td>
-{{int:Unwatchthispage}}
+{{int:e21d3614}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Updated&action=edit updated]<br>
-[[MediaWiki_talk:Updated|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f2f8570d&action=edit 13a1891a]<br>
+[[MediaWiki_talk:f2f8570d|Talk]]
 </td><td>
 (Updated)
 </td><td>
-{{int:Updated}}
+{{int:f2f8570d}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Upload&action=edit upload]<br>
-[[MediaWiki_talk:Upload|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8bdf057f&action=edit bb73aaaf]<br>
+[[MediaWiki_talk:8bdf057f|Talk]]
 </td><td>
 Upload file
 </td><td>
-{{int:Upload}}
+{{int:8bdf057f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadbtn&action=edit uploadbtn]<br>
-[[MediaWiki_talk:Uploadbtn|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0238951b&action=edit 6be1c689]<br>
+[[MediaWiki_talk:0238951b|Talk]]
 </td><td>
 Upload file
 </td><td>
-{{int:Uploadbtn}}
+{{int:0238951b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploaddisabled&action=edit uploaddisabled]<br>
-[[MediaWiki_talk:Uploaddisabled|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:88f59c5a&action=edit 693f4b51]<br>
+[[MediaWiki_talk:88f59c5a|Talk]]
 </td><td>
 Sorry, uploading is disabled.
 </td><td>
-{{int:Uploaddisabled}}
+{{int:88f59c5a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadedfiles&action=edit uploadedfiles]<br>
-[[MediaWiki_talk:Uploadedfiles|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7b8969f2&action=edit 7d4f03ff]<br>
+[[MediaWiki_talk:7b8969f2|Talk]]
 </td><td>
 Uploaded files
 </td><td>
-{{int:Uploadedfiles}}
+{{int:7b8969f2}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadedimage&action=edit uploadedimage]<br>
-[[MediaWiki_talk:Uploadedimage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:954c2a11&action=edit e57056a0]<br>
+[[MediaWiki_talk:954c2a11|Talk]]
 </td><td>
 uploaded &quot;$1&quot;
 </td><td>
-{{int:Uploadedimage}}
+{{int:954c2a11}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploaderror&action=edit uploaderror]<br>
-[[MediaWiki_talk:Uploaderror|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:304f9593&action=edit 8f1603bd]<br>
+[[MediaWiki_talk:304f9593|Talk]]
 </td><td>
 Upload error
 </td><td>
-{{int:Uploaderror}}
+{{int:304f9593}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadfile&action=edit uploadfile]<br>
-[[MediaWiki_talk:Uploadfile|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9e71a62c&action=edit 40d977b5]<br>
+[[MediaWiki_talk:9e71a62c|Talk]]
 </td><td>
 Upload images, sounds, documents etc.
 </td><td>
-{{int:Uploadfile}}
+{{int:9e71a62c}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadlink&action=edit uploadlink]<br>
-[[MediaWiki_talk:Uploadlink|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:955e39f9&action=edit 0bf93eec]<br>
+[[MediaWiki_talk:955e39f9|Talk]]
 </td><td>
 Upload images
 </td><td>
-{{int:Uploadlink}}
+{{int:955e39f9}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadlog&action=edit uploadlog]<br>
-[[MediaWiki_talk:Uploadlog|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0d39c428&action=edit 0d49abe6]<br>
+[[MediaWiki_talk:0d39c428|Talk]]
 </td><td>
 upload log
 </td><td>
-{{int:Uploadlog}}
+{{int:0d39c428}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadlogpage&action=edit uploadlogpage]<br>
-[[MediaWiki_talk:Uploadlogpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1f68a0e7&action=edit 87611d30]<br>
+[[MediaWiki_talk:1f68a0e7|Talk]]
 </td><td>
 Upload_log
 </td><td>
-{{int:Uploadlogpage}}
+{{int:1f68a0e7}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadlogpagetext&action=edit uploadlogpagetext]<br>
-[[MediaWiki_talk:Uploadlogpagetext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2a430331&action=edit 8aa7bf47]<br>
+[[MediaWiki_talk:2a430331|Talk]]
 </td><td>
 Below is a list of the most recent file uploads.
 All times shown are server time (UTC).
@@ -5152,25 +5152,25 @@ All times shown are server time (UTC).
 &lt;/ul&gt;
 
 </td><td>
-{{int:Uploadlogpagetext}}
+{{int:2a430331}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadnologin&action=edit uploadnologin]<br>
-[[MediaWiki_talk:Uploadnologin|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:92dd3bc9&action=edit d2d8bd08]<br>
+[[MediaWiki_talk:92dd3bc9|Talk]]
 </td><td>
 Not logged in
 </td><td>
-{{int:Uploadnologin}}
+{{int:92dd3bc9}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadnologintext&action=edit uploadnologintext]<br>
-[[MediaWiki_talk:Uploadnologintext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:fecdb77e&action=edit 09b01f51]<br>
+[[MediaWiki_talk:fecdb77e|Talk]]
 </td><td>
 You must be &lt;a href=&quot;/wiki/Special:Userlogin&quot;&gt;logged in&lt;/a&gt;
 to upload files.
 </td><td>
-{{int:Uploadnologintext}}
+{{int:fecdb77e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadtext&action=edit uploadtext]<br>
-[[MediaWiki_talk:Uploadtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7804cb84&action=edit 85bb3caa]<br>
+[[MediaWiki_talk:7804cb84|Talk]]
 </td><td>
 &lt;strong&gt;STOP!&lt;/strong&gt; Before you upload here,
 make sure to read and follow the &lt;a href=&quot;/wiki/Special:Image_use_policy&quot;&gt;image use policy&lt;/a&gt;.
@@ -5201,403 +5201,403 @@ or &lt;b&gt;&#91;&#91;Media:file.ogg]]&lt;/b&gt; for sounds.
 delete your uploads if they think it serves the project, and
 you may be blocked from uploading if you abuse the system.
 </td><td>
-{{int:Uploadtext}}
+{{int:7804cb84}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Uploadwarning&action=edit uploadwarning]<br>
-[[MediaWiki_talk:Uploadwarning|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:fb3ef2ae&action=edit 8aae8210]<br>
+[[MediaWiki_talk:fb3ef2ae|Talk]]
 </td><td>
 Upload warning
 </td><td>
-{{int:Uploadwarning}}
+{{int:fb3ef2ae}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:User_rights_set&action=edit user_rights_set]<br>
-[[MediaWiki_talk:User_rights_set|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a5430c9b&action=edit 6a080eb0]<br>
+[[MediaWiki_talk:a5430c9b|Talk]]
 </td><td>
 &lt;b&gt;User rights for &quot;$1&quot; updated&lt;/b&gt;
 </td><td>
-{{int:User_rights_set}}
+{{int:a5430c9b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Usercssjs&action=edit usercssjs]<br>
-[[MediaWiki_talk:Usercssjs|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:89b73748&action=edit 8b23a826]<br>
+[[MediaWiki_talk:89b73748|Talk]]
 </td><td>
 &#39;&#39;&#39;Note:&#39;&#39;&#39; After saving, you have to tell your bowser to get the new version: &#39;&#39;&#39;Mozilla:&#39;&#39;&#39; click &#39;&#39;reload&#39;&#39;(or &#39;&#39;ctrl-r&#39;&#39;), &#39;&#39;&#39;IE / Opera:&#39;&#39;&#39; &#39;&#39;ctrl-f5&#39;&#39;, &#39;&#39;&#39;Safari:&#39;&#39;&#39; &#39;&#39;cmd-r&#39;&#39;, &#39;&#39;&#39;Konqueror&#39;&#39;&#39; &#39;&#39;ctrl-r&#39;&#39;.
 </td><td>
-{{int:Usercssjs}}
+{{int:89b73748}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Usercssjsyoucanpreview&action=edit usercssjsyoucanpreview]<br>
-[[MediaWiki_talk:Usercssjsyoucanpreview|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1656c92b&action=edit 97bd6e75]<br>
+[[MediaWiki_talk:1656c92b|Talk]]
 </td><td>
 &lt;strong&gt;Tip:&lt;/strong&gt; Use the &#39;Show preview&#39; button to test your new css/js before saving.
 </td><td>
-{{int:Usercssjsyoucanpreview}}
+{{int:1656c92b}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Usercsspreview&action=edit usercsspreview]<br>
-[[MediaWiki_talk:Usercsspreview|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:9f62117d&action=edit b51c3667]<br>
+[[MediaWiki_talk:9f62117d|Talk]]
 </td><td>
 &#39;&#39;&#39;Remember that you are only previewing your user css, it has not yet been saved!&#39;&#39;&#39;
 </td><td>
-{{int:Usercsspreview}}
+{{int:9f62117d}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Userexists&action=edit userexists]<br>
-[[MediaWiki_talk:Userexists|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:77541367&action=edit a49220af]<br>
+[[MediaWiki_talk:77541367|Talk]]
 </td><td>
 The user name you entered is already in use. Please choose a different name.
 </td><td>
-{{int:Userexists}}
+{{int:77541367}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Userjspreview&action=edit userjspreview]<br>
-[[MediaWiki_talk:Userjspreview|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:eca4b211&action=edit 2e8efec0]<br>
+[[MediaWiki_talk:eca4b211|Talk]]
 </td><td>
 &#39;&#39;&#39;Remember that you are only testing/previewing your user javascript, it has not yet been saved!&#39;&#39;&#39;
 </td><td>
-{{int:Userjspreview}}
+{{int:eca4b211}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Userlogin&action=edit userlogin]<br>
-[[MediaWiki_talk:Userlogin|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:49c670f4&action=edit eb0f23d8]<br>
+[[MediaWiki_talk:49c670f4|Talk]]
 </td><td>
 Log in
 </td><td>
-{{int:Userlogin}}
+{{int:49c670f4}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Userlogout&action=edit userlogout]<br>
-[[MediaWiki_talk:Userlogout|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:fb3467d9&action=edit 271a962f]<br>
+[[MediaWiki_talk:fb3467d9|Talk]]
 </td><td>
 Log out
 </td><td>
-{{int:Userlogout}}
+{{int:fb3467d9}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Usermailererror&action=edit usermailererror]<br>
-[[MediaWiki_talk:Usermailererror|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e1881ca2&action=edit 0e3f35e1]<br>
+[[MediaWiki_talk:e1881ca2|Talk]]
 </td><td>
 Mail object returned error: 
 </td><td>
-{{int:Usermailererror}}
+{{int:e1881ca2}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Userpage&action=edit userpage]<br>
-[[MediaWiki_talk:Userpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:823fdaf7&action=edit ea81d010]<br>
+[[MediaWiki_talk:823fdaf7|Talk]]
 </td><td>
 View user page
 </td><td>
-{{int:Userpage}}
+{{int:823fdaf7}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Userstats&action=edit userstats]<br>
-[[MediaWiki_talk:Userstats|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f25ef873&action=edit 2ab9a2af]<br>
+[[MediaWiki_talk:f25ef873|Talk]]
 </td><td>
 User statistics
 </td><td>
-{{int:Userstats}}
+{{int:f25ef873}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Userstatstext&action=edit userstatstext]<br>
-[[MediaWiki_talk:Userstatstext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b704c939&action=edit 903f135d]<br>
+[[MediaWiki_talk:b704c939|Talk]]
 </td><td>
 There are &#39;&#39;&#39;$1&#39;&#39;&#39; registered users.
 &#39;&#39;&#39;$2&#39;&#39;&#39; of these are administrators (see $3).
 </td><td>
-{{int:Userstatstext}}
+{{int:b704c939}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Version&action=edit version]<br>
-[[MediaWiki_talk:Version|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2da600bf&action=edit c692273d]<br>
+[[MediaWiki_talk:2da600bf|Talk]]
 </td><td>
 Version
 </td><td>
-{{int:Version}}
+{{int:2da600bf}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Viewcount&action=edit viewcount]<br>
-[[MediaWiki_talk:Viewcount|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:cd20ed80&action=edit 9204f6f2]<br>
+[[MediaWiki_talk:cd20ed80|Talk]]
 </td><td>
 This page has been accessed $1 times.
 </td><td>
-{{int:Viewcount}}
+{{int:cd20ed80}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Viewprevnext&action=edit viewprevnext]<br>
-[[MediaWiki_talk:Viewprevnext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:b3a212e8&action=edit 023f0549]<br>
+[[MediaWiki_talk:b3a212e8|Talk]]
 </td><td>
 View ($1) ($2) ($3).
 </td><td>
-{{int:Viewprevnext}}
+{{int:b3a212e8}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Viewsource&action=edit viewsource]<br>
-[[MediaWiki_talk:Viewsource|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:1affdb1e&action=edit db9e2eba]<br>
+[[MediaWiki_talk:1affdb1e|Talk]]
 </td><td>
 View source
 </td><td>
-{{int:Viewsource}}
+{{int:1affdb1e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Viewtalkpage&action=edit viewtalkpage]<br>
-[[MediaWiki_talk:Viewtalkpage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f6336004&action=edit 2e250bd9]<br>
+[[MediaWiki_talk:f6336004|Talk]]
 </td><td>
 View discussion
 </td><td>
-{{int:Viewtalkpage}}
+{{int:f6336004}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Wantedpages&action=edit wantedpages]<br>
-[[MediaWiki_talk:Wantedpages|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7da05431&action=edit 4d2466a3]<br>
+[[MediaWiki_talk:7da05431|Talk]]
 </td><td>
 Wanted pages
 </td><td>
-{{int:Wantedpages}}
+{{int:7da05431}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watch&action=edit watch]<br>
-[[MediaWiki_talk:Watch|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d91ebf58&action=edit 292b0901]<br>
+[[MediaWiki_talk:d91ebf58|Talk]]
 </td><td>
 Watch
 </td><td>
-{{int:Watch}}
+{{int:d91ebf58}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchdetails&action=edit watchdetails]<br>
-[[MediaWiki_talk:Watchdetails|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d815e414&action=edit ddfeb02c]<br>
+[[MediaWiki_talk:d815e414|Talk]]
 </td><td>
 ($1 pages watched not counting talk pages;
 $2 total pages edited since cutoff;
 $3...
 &lt;a href=&#39;$4&#39;&gt;show and edit complete list&lt;/a&gt;.)
 </td><td>
-{{int:Watchdetails}}
+{{int:d815e414}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watcheditlist&action=edit watcheditlist]<br>
-[[MediaWiki_talk:Watcheditlist|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:780e4559&action=edit d7d3bb79]<br>
+[[MediaWiki_talk:780e4559|Talk]]
 </td><td>
 Here&#39;s an alphabetical list of your
 watched pages. Check the boxes of pages you want to remove
 from your watchlist and click the &#39;remove checked&#39; button
 at the bottom of the screen.
 </td><td>
-{{int:Watcheditlist}}
+{{int:780e4559}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchlist&action=edit watchlist]<br>
-[[MediaWiki_talk:Watchlist|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:48a616d9&action=edit db14f0be]<br>
+[[MediaWiki_talk:48a616d9|Talk]]
 </td><td>
 My watchlist
 </td><td>
-{{int:Watchlist}}
+{{int:48a616d9}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchlistcontains&action=edit watchlistcontains]<br>
-[[MediaWiki_talk:Watchlistcontains|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:690e08f8&action=edit 37074879]<br>
+[[MediaWiki_talk:690e08f8|Talk]]
 </td><td>
 Your watchlist contains $1 pages.
 </td><td>
-{{int:Watchlistcontains}}
+{{int:690e08f8}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchlistsub&action=edit watchlistsub]<br>
-[[MediaWiki_talk:Watchlistsub|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:913a8eb4&action=edit 1d490f51]<br>
+[[MediaWiki_talk:913a8eb4|Talk]]
 </td><td>
 (for user &quot;$1&quot;)
 </td><td>
-{{int:Watchlistsub}}
+{{int:913a8eb4}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchmethod-list&action=edit watchmethod-list]<br>
-[[MediaWiki_talk:Watchmethod-list|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:983ce9b1&action=edit b5396cea]<br>
+[[MediaWiki_talk:983ce9b1|Talk]]
 </td><td>
 checking watched pages for recent edits
 </td><td>
-{{int:Watchmethod-list}}
+{{int:983ce9b1}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchmethod-recent&action=edit watchmethod-recent]<br>
-[[MediaWiki_talk:Watchmethod-recent|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2e5e56e2&action=edit c69b87d2]<br>
+[[MediaWiki_talk:2e5e56e2|Talk]]
 </td><td>
 checking recent edits for watched pages
 </td><td>
-{{int:Watchmethod-recent}}
+{{int:2e5e56e2}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchnochange&action=edit watchnochange]<br>
-[[MediaWiki_talk:Watchnochange|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:cdd40087&action=edit 24353550]<br>
+[[MediaWiki_talk:cdd40087|Talk]]
 </td><td>
 None of your watched items were edited in the time period displayed.
 </td><td>
-{{int:Watchnochange}}
+{{int:cdd40087}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchnologin&action=edit watchnologin]<br>
-[[MediaWiki_talk:Watchnologin|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:ec51da09&action=edit c873a8c3]<br>
+[[MediaWiki_talk:ec51da09|Talk]]
 </td><td>
 Not logged in
 </td><td>
-{{int:Watchnologin}}
+{{int:ec51da09}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchnologintext&action=edit watchnologintext]<br>
-[[MediaWiki_talk:Watchnologintext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7870af11&action=edit 080c4da9]<br>
+[[MediaWiki_talk:7870af11|Talk]]
 </td><td>
 You must be &lt;a href=&quot;/wiki/Special:Userlogin&quot;&gt;logged in&lt;/a&gt;
 to modify your watchlist.
 </td><td>
-{{int:Watchnologintext}}
+{{int:7870af11}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchthis&action=edit watchthis]<br>
-[[MediaWiki_talk:Watchthis|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2fa65d73&action=edit 89758668]<br>
+[[MediaWiki_talk:2fa65d73|Talk]]
 </td><td>
 Watch this page
 </td><td>
-{{int:Watchthis}}
+{{int:2fa65d73}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Watchthispage&action=edit watchthispage]<br>
-[[MediaWiki_talk:Watchthispage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:79260dc8&action=edit d94c2857]<br>
+[[MediaWiki_talk:79260dc8|Talk]]
 </td><td>
 Watch this page
 </td><td>
-{{int:Watchthispage}}
+{{int:79260dc8}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Welcomecreation&action=edit welcomecreation]<br>
-[[MediaWiki_talk:Welcomecreation|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:622a355f&action=edit 5b3750aa]<br>
+[[MediaWiki_talk:622a355f|Talk]]
 </td><td>
 &lt;h2&gt;Welcome, $1!&lt;/h2&gt;&lt;p&gt;Your account has been created.
 Don&#39;t forget to change your Wiktionary preferences.
 </td><td>
-{{int:Welcomecreation}}
+{{int:622a355f}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Whatlinkshere&action=edit whatlinkshere]<br>
-[[MediaWiki_talk:Whatlinkshere|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:bde1fbba&action=edit 28d0e2a8]<br>
+[[MediaWiki_talk:bde1fbba|Talk]]
 </td><td>
 What links here
 </td><td>
-{{int:Whatlinkshere}}
+{{int:bde1fbba}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Whitelistacctext&action=edit whitelistacctext]<br>
-[[MediaWiki_talk:Whitelistacctext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:53f0999a&action=edit b3775e04]<br>
+[[MediaWiki_talk:53f0999a|Talk]]
 </td><td>
 To be allowed to create accounts in this Wiki you have to &#91;&#91;Special:Userlogin&#124;log]] in and have the appropriate permissions.
 </td><td>
-{{int:Whitelistacctext}}
+{{int:53f0999a}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Whitelistacctitle&action=edit whitelistacctitle]<br>
-[[MediaWiki_talk:Whitelistacctitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:901574b0&action=edit 13f7d937]<br>
+[[MediaWiki_talk:901574b0|Talk]]
 </td><td>
 You are not allowed to create an account
 </td><td>
-{{int:Whitelistacctitle}}
+{{int:901574b0}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Whitelistedittext&action=edit whitelistedittext]<br>
-[[MediaWiki_talk:Whitelistedittext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:28589651&action=edit 8d93b543]<br>
+[[MediaWiki_talk:28589651|Talk]]
 </td><td>
 You have to &#91;&#91;Special:Userlogin&#124;login]] to edit pages.
 </td><td>
-{{int:Whitelistedittext}}
+{{int:28589651}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Whitelistedittitle&action=edit whitelistedittitle]<br>
-[[MediaWiki_talk:Whitelistedittitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d4e0db33&action=edit 76713eb6]<br>
+[[MediaWiki_talk:d4e0db33|Talk]]
 </td><td>
 Login required to edit
 </td><td>
-{{int:Whitelistedittitle}}
+{{int:d4e0db33}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Whitelistreadtext&action=edit whitelistreadtext]<br>
-[[MediaWiki_talk:Whitelistreadtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:7046be67&action=edit 3c46b4af]<br>
+[[MediaWiki_talk:7046be67|Talk]]
 </td><td>
 You have to &#91;&#91;Special:Userlogin&#124;login]] to read pages.
 </td><td>
-{{int:Whitelistreadtext}}
+{{int:7046be67}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Whitelistreadtitle&action=edit whitelistreadtitle]<br>
-[[MediaWiki_talk:Whitelistreadtitle|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:56f7b6c8&action=edit 27809c2a]<br>
+[[MediaWiki_talk:56f7b6c8|Talk]]
 </td><td>
 Login required to read
 </td><td>
-{{int:Whitelistreadtitle}}
+{{int:56f7b6c8}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Wikipediapage&action=edit wikipediapage]<br>
-[[MediaWiki_talk:Wikipediapage|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:8815fbb3&action=edit 80a9ff8d]<br>
+[[MediaWiki_talk:8815fbb3|Talk]]
 </td><td>
 View project page
 </td><td>
-{{int:Wikipediapage}}
+{{int:8815fbb3}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Wikititlesuffix&action=edit wikititlesuffix]<br>
-[[MediaWiki_talk:Wikititlesuffix|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:d00a5142&action=edit 937cdab5]<br>
+[[MediaWiki_talk:d00a5142|Talk]]
 </td><td>
 Wiktionary
 </td><td>
-{{int:Wikititlesuffix}}
+{{int:d00a5142}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Wlnote&action=edit wlnote]<br>
-[[MediaWiki_talk:Wlnote|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a7ee1c5c&action=edit b6ea8219]<br>
+[[MediaWiki_talk:a7ee1c5c|Talk]]
 </td><td>
 Below are the last $1 changes in the last &lt;b&gt;$2&lt;/b&gt; hours.
 </td><td>
-{{int:Wlnote}}
+{{int:a7ee1c5c}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Wlsaved&action=edit wlsaved]<br>
-[[MediaWiki_talk:Wlsaved|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:deb21c59&action=edit 843af08d]<br>
+[[MediaWiki_talk:deb21c59|Talk]]
 </td><td>
 This is a saved version of your watchlist.
 </td><td>
-{{int:Wlsaved}}
+{{int:deb21c59}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Wlshowlast&action=edit wlshowlast]<br>
-[[MediaWiki_talk:Wlshowlast|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:e77517fa&action=edit 89821357]<br>
+[[MediaWiki_talk:e77517fa|Talk]]
 </td><td>
 Show last $1 hours $2 days $3
 </td><td>
-{{int:Wlshowlast}}
+{{int:e77517fa}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Wrong_wfQuery_params&action=edit wrong_wfQuery_params]<br>
-[[MediaWiki_talk:Wrong_wfQuery_params|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:a9b62164&action=edit d526a8a6]<br>
+[[MediaWiki_talk:a9b62164|Talk]]
 </td><td>
 Incorrect parameters to wfQuery()&lt;br /&gt;
 Function: $1&lt;br /&gt;
 Query: $2
 
 </td><td>
-{{int:Wrong_wfQuery_params}}
+{{int:a9b62164}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Wrongpassword&action=edit wrongpassword]<br>
-[[MediaWiki_talk:Wrongpassword|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:3314dacf&action=edit d8ecf7db]<br>
+[[MediaWiki_talk:3314dacf|Talk]]
 </td><td>
 The password you entered is incorrect. Please try again.
 </td><td>
-{{int:Wrongpassword}}
+{{int:3314dacf}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Yourdiff&action=edit yourdiff]<br>
-[[MediaWiki_talk:Yourdiff|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:2e0414f0&action=edit 4fe151ac]<br>
+[[MediaWiki_talk:2e0414f0|Talk]]
 </td><td>
 Differences
 </td><td>
-{{int:Yourdiff}}
+{{int:2e0414f0}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Youremail&action=edit youremail]<br>
-[[MediaWiki_talk:Youremail|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:0f5ab9c9&action=edit 0a98c2ad]<br>
+[[MediaWiki_talk:0f5ab9c9|Talk]]
 </td><td>
 Your email*
 </td><td>
-{{int:Youremail}}
+{{int:0f5ab9c9}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Yourname&action=edit yourname]<br>
-[[MediaWiki_talk:Yourname|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f495043e&action=edit 32d0e33a]<br>
+[[MediaWiki_talk:f495043e|Talk]]
 </td><td>
 Your user name
 </td><td>
-{{int:Yourname}}
+{{int:f495043e}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Yournick&action=edit yournick]<br>
-[[MediaWiki_talk:Yournick|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:6aa78968&action=edit f8b28bd9]<br>
+[[MediaWiki_talk:6aa78968|Talk]]
 </td><td>
 Your nickname (for signatures)
 </td><td>
-{{int:Yournick}}
+{{int:6aa78968}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Yourpassword&action=edit yourpassword]<br>
-[[MediaWiki_talk:Yourpassword|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:13a44203&action=edit b48cf014]<br>
+[[MediaWiki_talk:13a44203|Talk]]
 </td><td>
 Your password
 </td><td>
-{{int:Yourpassword}}
+{{int:13a44203}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Yourpasswordagain&action=edit yourpasswordagain]<br>
-[[MediaWiki_talk:Yourpasswordagain|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:c0ad7f05&action=edit e14a732b]<br>
+[[MediaWiki_talk:c0ad7f05|Talk]]
 </td><td>
 Retype password
 </td><td>
-{{int:Yourpasswordagain}}
+{{int:c0ad7f05}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Yourrealname&action=edit yourrealname]<br>
-[[MediaWiki_talk:Yourrealname|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:519f30b5&action=edit 7fc3e5b1]<br>
+[[MediaWiki_talk:519f30b5|Talk]]
 </td><td>
 Your real name*
 </td><td>
-{{int:Yourrealname}}
+{{int:519f30b5}}
 </td></tr><tr><td>
-[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:Yourtext&action=edit yourtext]<br>
-[[MediaWiki_talk:Yourtext|Talk]]
+[http://tl.wiktionary.org/w/wiki.phtml?title=MediaWiki:f98650e0&action=edit 5b5af4ea]<br>
+[[MediaWiki_talk:f98650e0|Talk]]
 </td><td>
 Your text
 </td><td>
-{{int:Yourtext}}
+{{int:f98650e0}}
 </td></tr></table>
 
index 1d48d08..2206fbd 100644 (file)
@@ -1,6 +1,7 @@
 <?php
 
 /**
+ * @group Database
  * @group GlobalFunctions
  */
 class GlobalTest extends MediaWikiTestCase {
index 50f851c..59441ce 100644 (file)
@@ -4,6 +4,7 @@
  *
  * @author Matthew Flaschen
  *
+ * @group Database
  * @group Output
  *
  * @todo factor tests in this class into providers and test methods
index 469f45a..2bd9086 100644 (file)
@@ -51,6 +51,43 @@ class TemplateParserTest extends MediaWikiTestCase {
                                false,
                                'UnexpectedValueException'
                        ],
+                       [
+                               "\000../foobar",
+                               [],
+                               false,
+                               'UnexpectedValueException'
+                       ],
+                       [
+                               '/',
+                               [],
+                               false,
+                               'UnexpectedValueException'
+                       ],
+                       [
+                               // Allegedly this can strip ext in windows.
+                               'baz<',
+                               [],
+                               false,
+                               'UnexpectedValueException'
+                       ],
+                       [
+                               '\\foo',
+                               [],
+                               false,
+                               'UnexpectedValueException'
+                       ],
+                       [
+                               'C:\bar',
+                               [],
+                               false,
+                               'UnexpectedValueException'
+                       ],
+                       [
+                               "foo\000bar",
+                               [],
+                               false,
+                               'UnexpectedValueException'
+                       ],
                        [
                                'nonexistenttemplate',
                                [],
index 184dd43..6c059ec 100644 (file)
@@ -397,4 +397,33 @@ class XmlTest extends MediaWikiTestCase {
                        'encodeJsVar() with float-like string'
                );
        }
+
+       /**
+        * @covers Xml::listDropDown
+        */
+       public function testListDropDown() {
+               $this->assertEquals(
+                       '<select id="test-name" name="test-name" class="test-css" tabindex="2">' . "\n" .
+                               '<option value="other">other reasons</option>' .
+                               '<optgroup label="Foo"><option value="Foo 1">Foo 1</option>' .
+                               '<option value="Example" selected="">Example</option>' .
+                               '</optgroup><optgroup label="Bar">' .
+                               '<option value="Bar 1">Bar 1</option></optgroup>' . "\n" .
+                               '</select>',
+                       Xml::listDropDown(
+                               // name
+                               'test-name',
+                               // source list
+                               "* Foo\n** Foo 1\n** Example\n* Bar\n** Bar 1",
+                               // other
+                               'other reasons',
+                               // selected
+                               'Example',
+                               // class
+                               'test-css',
+                               // tabindex
+                               2
+                       )
+               );
+       }
 }
index 9060dfb..5c0a5d9 100644 (file)
@@ -2,6 +2,7 @@
 
 /**
  * @group API
+ * @group Database
  * @group medium
  *
  * @covers ApiMain
diff --git a/tests/phpunit/includes/changes/ChangesListBooleanFilterGroupTest.php b/tests/phpunit/includes/changes/ChangesListBooleanFilterGroupTest.php
new file mode 100644 (file)
index 0000000..d98311f
--- /dev/null
@@ -0,0 +1,99 @@
+<?php
+
+/**
+ * @covers ChangesListBooleanFilterGroup
+ */
+class ChangesListBooleanFilterGroupTest extends MediaWikiTestCase {
+       public function testIsFullCoverage() {
+               $hideGroupDefault = TestingAccessWrapper::newFromObject(
+                       new ChangesListBooleanFilterGroup( [
+                               'name' => 'groupName',
+                               'priority' => 1,
+                               'filters' => [],
+                       ] )
+               );
+
+               $this->assertSame(
+                       true,
+                       $hideGroupDefault->isFullCoverage
+               );
+       }
+
+       public function testGetJsData() {
+               $definition = [
+                       'name' => 'some-group',
+                       'title' => 'some-group-title',
+                       'priority' => 1,
+                       'filters' => [
+                               [
+                                       'name' => 'hidefoo',
+                                       'label' => 'foo-label',
+                                       'description' => 'foo-description',
+                                       'default' => true,
+                                       'showHide' => 'showhidefoo',
+                                       'priority' => 2,
+                               ],
+                               [
+                                       'name' => 'hidebar',
+                                       'label' => 'bar-label',
+                                       'description' => 'bar-description',
+                                       'default' => false,
+                                       'priority' => 4,
+                               ]
+                       ],
+               ];
+
+               $group = new ChangesListBooleanFilterGroup( $definition );
+
+               $specialPage = $this->getMockBuilder( 'ChangesListSpecialPage' )
+                       ->setConstructorArgs( [
+                               'ChangesListSpecialPage',
+                               '',
+                       ] )
+                       ->getMockForAbstractClass();
+
+               $this->assertArrayEquals(
+                       [
+                               'name' => 'some-group',
+                               'title' => 'some-group-title',
+                               'type' => ChangesListBooleanFilterGroup::TYPE,
+                               'priority' => 1,
+                               'filters' => [
+                                       [
+                                               'name' => 'hidebar',
+                                               'label' => 'bar-label',
+                                               'description' => 'bar-description',
+                                               'default' => false,
+                                               'priority' => 4,
+                                               'cssClass' => null,
+                                               'conflicts' => [],
+                                               'subset' => [],
+                                       ],
+                                       [
+                                               'name' => 'hidefoo',
+                                               'label' => 'foo-label',
+                                               'description' => 'foo-description',
+                                               'default' => true,
+                                               'priority' => 2,
+                                               'cssClass' => null,
+                                               'conflicts' => [],
+                                               'subset' => [],
+                                       ],
+                               ],
+                               'conflicts' => [],
+                               'fullCoverage' => true,
+                               'messageKeys' => [
+                                       'some-group-title',
+                                       'bar-label',
+                                       'bar-description',
+                                       'foo-label',
+                                       'foo-description',
+                               ],
+                       ],
+
+                       $group->getJsData( $specialPage ),
+                       /** ordered= */ false,
+                       /** named= */ true
+               );
+       }
+}
diff --git a/tests/phpunit/includes/changes/ChangesListBooleanFilterTest.php b/tests/phpunit/includes/changes/ChangesListBooleanFilterTest.php
new file mode 100644 (file)
index 0000000..2c0c22d
--- /dev/null
@@ -0,0 +1,171 @@
+<?php
+
+/**
+ * @covers ChangesListBooleanFilter
+ */
+class ChangesListBooleanFilterTest extends MediaWikiTestCase {
+       public function testGetJsData() {
+               $group = new ChangesListBooleanFilterGroup( [
+                       'name' => 'group',
+                       'priority' => 2,
+                       'filters' => [],
+               ] );
+
+               $definition = [
+                       'group' => $group,
+                       'label' => 'main-label',
+                       'description' => 'main-description',
+                       'default' => 1,
+                       'priority' => 1,
+               ];
+
+               $fooFilter = new ChangesListBooleanFilter(
+                       $definition + [ 'name' => 'hidefoo' ]
+               );
+
+               $barFilter = new ChangesListBooleanFilter(
+                       $definition + [ 'name' => 'hidebar' ]
+               );
+
+               $bazFilter = new ChangesListBooleanFilter(
+                       $definition + [ 'name' => 'hidebaz' ]
+               );
+
+               $fooFilter->conflictsWith(
+                       $barFilter,
+                       'foo-bar-global-conflict',
+                       'foo-conflicts-bar',
+                       'bar-conflicts-foo'
+               );
+
+               $fooFilter->setAsSupersetOf( $bazFilter, 'foo-superset-of-baz' );
+
+               $fooData = $fooFilter->getJsData();
+               $this->assertArrayEquals(
+                       [
+                               'name' => 'hidefoo',
+                               'label' => 'main-label',
+                               'description' => 'main-description',
+                               'default' => 1,
+                               'priority' => 1,
+                               'cssClass' => null,
+                               'conflicts' => [
+                                       [
+                                               'group' => 'group',
+                                               'filter' => 'hidebar',
+                                               'globalDescription' => 'foo-bar-global-conflict',
+                                               'contextDescription' => 'foo-conflicts-bar',
+                                       ]
+                               ],
+                               'subset' => [
+                                       [
+                                               'group' => 'group',
+                                               'filter' => 'hidebaz',
+                                       ],
+
+                               ],
+                               'messageKeys' => [
+                                       'main-label',
+                                       'main-description',
+                                       'foo-bar-global-conflict',
+                                       'foo-conflicts-bar',
+                               ],
+                       ],
+                       $fooData,
+                       /** ordered= */ false,
+                       /** named= */ true
+               );
+
+               $barData = $barFilter->getJsData();
+               $this->assertArrayEquals(
+                       [
+                               'name' => 'hidebar',
+                               'label' => 'main-label',
+                               'description' => 'main-description',
+                               'default' => 1,
+                               'priority' => 1,
+                               'cssClass' => null,
+                               'conflicts' => [
+                                       [
+                                               'group' => 'group',
+                                               'filter' => 'hidefoo',
+                                               'globalDescription' => 'foo-bar-global-conflict',
+                                               'contextDescription' => 'bar-conflicts-foo',
+                                       ]
+                               ],
+                               'subset' => [],
+                               'messageKeys' => [
+                                       'main-label',
+                                       'main-description',
+                                       'foo-bar-global-conflict',
+                                       'bar-conflicts-foo',
+                               ],
+                       ],
+                       $barData,
+                       /** ordered= */ false,
+                       /** named= */ true
+               );
+       }
+
+       public function testIsFeatureAvailableOnStructuredUi() {
+               $specialPage = $this->getMockBuilder( 'ChangesListSpecialPage' )
+                       ->setConstructorArgs( [
+                                       'ChangesListSpecialPage',
+                                       '',
+                               ] )
+                       ->getMockForAbstractClass();
+
+               $groupA = new ChangesListBooleanFilterGroup( [
+                       'name' => 'groupA',
+                       'priority' => 1,
+                       'filters' => [],
+               ] );
+
+               $foo = new ChangesListBooleanFilter( [
+                       'name' => 'hidefoo',
+                       'group' => $groupA,
+                       'label' => 'foo-label',
+                       'description' => 'foo-description',
+                       'default' => true,
+                       'showHide' => 'showhidefoo',
+                       'priority' => 2,
+               ] );
+
+               $this->assertEquals(
+                       true,
+                       $foo->isFeatureAvailableOnStructuredUi( $specialPage ),
+                       'Same filter appears on both'
+               );
+
+               // Should only be legacy ones that haven't been ported yet
+               $bar = new ChangesListBooleanFilter( [
+                       'name' => 'hidebar',
+                       'default' => true,
+                       'group' => $groupA,
+                       'showHide' => 'showhidebar',
+                       'priority' => 2,
+               ] );
+
+               $this->assertEquals(
+                       false,
+                       $bar->isFeatureAvailableOnStructuredUi( $specialPage ),
+                       'Only on unstructured UI'
+               );
+
+               $baz = new ChangesListBooleanFilter( [
+                       'name' => 'hidebaz',
+                       'default' => true,
+                       'group' => $groupA,
+                       'showHide' => 'showhidebaz',
+                       'isReplacedInStructuredUi' => true,
+                       'priority' => 2,
+               ] );
+
+               $this->assertEquals(
+                       true,
+                       $baz->isFeatureAvailableOnStructuredUi( $specialPage ),
+                       'Legacy filter does not appear directly in new UI, but equivalent ' .
+                               'does and is marked with isReplacedInStructuredUi'
+               );
+       }
+}
diff --git a/tests/phpunit/includes/changes/ChangesListFilterGroupTest.php b/tests/phpunit/includes/changes/ChangesListFilterGroupTest.php
new file mode 100644 (file)
index 0000000..465a9d1
--- /dev/null
@@ -0,0 +1,79 @@
+<?php
+
+/**
+ * @covers ChangesListFilterGroup
+ */
+class ChangesListFilterGroupTest extends MediaWikiTestCase {
+       // @codingStandardsIgnoreStart
+       /**
+        * @expectedException MWException
+        * @expectedExceptionMessage Group names may not contain '_'.  Use the naming convention: 'camelCase'
+        */
+       // @codingStandardsIgnoreEnd
+       public function testReservedCharacter() {
+               new MockChangesListFilterGroup(
+                       [
+                               'type' => 'some_type',
+                               'name' => 'group_name',
+                               'priority' => 1,
+                               'filters' => [],
+                       ]
+               );
+       }
+
+       public function testAutoPriorities() {
+               $group = new MockChangesListFilterGroup(
+                       [
+                               'type' => 'some_type',
+                               'name' => 'groupName',
+                               'isFullCoverage' => true,
+                               'priority' => 1,
+                               'filters' => [
+                                       [ 'name' => 'hidefoo' ],
+                                       [ 'name' => 'hidebar' ],
+                                       [ 'name' => 'hidebaz' ],
+                               ],
+                       ]
+               );
+
+               $filters = $group->getFilters();
+               $this->assertEquals(
+                       [
+                               -2,
+                               -3,
+                               -4,
+                       ],
+                       array_map(
+                               function ( $f ) {
+                                       return $f->getPriority();
+                               },
+                               array_values( $filters )
+                       )
+               );
+       }
+
+       // Get without warnings
+       public function testGetFilter() {
+               $group = new MockChangesListFilterGroup(
+                       [
+                               'type' => 'some_type',
+                               'name' => 'groupName',
+                               'isFullCoverage' => true,
+                               'priority' => 1,
+                               'filters' => [
+                                       [ 'name' => 'foo' ],
+                               ],
+                       ]
+               );
+
+               $this->assertEquals(
+                       'foo',
+                       $group->getFilter( 'foo' )->getName()
+               );
+
+               $this->assertEquals(
+                       null,
+                       $group->getFilter( 'bar' )
+               );
+       }
+}
diff --git a/tests/phpunit/includes/changes/ChangesListFilterTest.php b/tests/phpunit/includes/changes/ChangesListFilterTest.php
new file mode 100644 (file)
index 0000000..1d87aeb
--- /dev/null
@@ -0,0 +1,117 @@
+<?php
+
+/**
+ * @covers ChangesListFilter
+ */
+class ChangesListFilterTest extends MediaWikiTestCase {
+       protected $group;
+
+       public function setUp() {
+               $this->group = $this->getGroup( [ 'name' => 'group' ] );
+
+               parent::setUp();
+       }
+
+       protected function getGroup( $groupDefinition ) {
+               return new MockChangesListFilterGroup(
+                       $groupDefinition + [
+                               'isFullCoverage' => true,
+                               'type' => 'some_type',
+                               'name' => 'group',
+                               'filters' => [],
+                       ]
+               );
+
+       }
+
+       // @codingStandardsIgnoreStart
+       /**
+        * @expectedException MWException
+        * @expectedExceptionMessage Filter names may not contain '_'.  Use the naming convention: 'lowercase'
+        */
+       // @codingStandardsIgnoreEnd
+       public function testReservedCharacter() {
+               $filter = new MockChangesListFilter(
+                       [
+                               'group' => $this->group,
+                               'name' => 'some_name',
+                               'priority' => 1,
+                       ]
+               );
+       }
+
+       // @codingStandardsIgnoreStart
+       /**
+        * @expectedException MWException
+        * @expectedExceptionMessage Two filters in a group cannot have the same name: 'somename'
+        */
+       // @codingStandardsIgnoreEnd
+       public function testDuplicateName() {
+               new MockChangesListFilter(
+                       [
+                               'group' => $this->group,
+                               'name' => 'somename',
+                               'priority' => 1,
+                       ]
+               );
+
+               new MockChangesListFilter(
+                       [
+                               'group' => $this->group,
+                               'name' => 'somename',
+                               'priority' => 2,
+                       ]
+               );
+       }
+
+       /**
+        * @expectedException MWException
+        * @expectedExceptionMessage Supersets can only be defined for filters in the same group
+        */
+       public function testSetAsSupersetOf() {
+               $groupA = $this->getGroup(
+                       [
+                               'name' => 'groupA',
+                               'filters' => [
+                                       [
+                                               'name' => 'foo',
+                                       ],
+                                       [
+                                               'name' => 'bar',
+                                       ]
+                               ],
+                       ]
+               );
+
+               $groupB =  $this->getGroup(
+                       [
+                               'name' => 'groupB',
+                               'filters' => [
+                                       [
+                                               'name' => 'baz',
+                                       ],
+                               ],
+                       ]
+               );
+
+               $foo = TestingAccessWrapper::newFromObject( $groupA->getFilter( 'foo' ) );
+
+               $bar = $groupA->getFilter( 'bar' );
+
+               $baz = $groupB->getFilter( 'baz' );
+
+               $foo->setAsSupersetOf( $bar );
+               $this->assertArrayEquals( [
+                               [
+                                       'group' => 'groupA',
+                                       'filter' => 'bar',
+                               ],
+                       ],
+                       $foo->subsetFilters,
+                       /** ordered= */ false,
+                       /** named= */ true
+               );
+
+               $foo->setAsSupersetOf( $baz );
+       }
+}
diff --git a/tests/phpunit/includes/changes/ChangesListStringOptionsFilterGroupTest.php b/tests/phpunit/includes/changes/ChangesListStringOptionsFilterGroupTest.php
new file mode 100644 (file)
index 0000000..019e257
--- /dev/null
@@ -0,0 +1,302 @@
+<?php
+
+/**
+ * @covers ChangesListStringOptionsFilterGroup
+ */
+class ChangesListStringOptionsFilterGroupTest extends MediaWikiTestCase {
+       /**
+        * @expectedException MWException
+        */
+       public function testIsFullCoverage() {
+               $falseGroup = TestingAccessWrapper::newFromObject(
+                       new ChangesListStringOptionsFilterGroup( [
+                               'name' => 'group',
+                               'filters' => [],
+                               'isFullCoverage' => false,
+                               'queryCallable' => function () {
+                               }
+                       ] )
+               );
+
+               $this->assertSame(
+                       false,
+                       $falseGroup->isFullCoverage
+               );
+
+               // Should throw due to missing isFullCoverage
+               $undefinedFullCoverageGroup = new ChangesListStringOptionsFilterGroup( [
+                       'name' => 'othergroup',
+                       'filters' => [],
+               ] );
+       }
+
+       /**
+        * @param array $filterDefinitions Array of filter definitions
+        * @param array $expectedValues Array of values callback should receive
+        * @param string $input Value in URL
+        *
+        * @dataProvider provideModifyQuery
+        */
+       public function testModifyQuery( $filterDefinitions, $expectedValues, $input ) {
+               $self = $this;
+
+               $queryCallable = function (
+                       $className,
+                       $ctx,
+                       $dbr,
+                       &$tables,
+                       &$fields,
+                       &$conds,
+                       &$query_options,
+                       &$join_conds,
+                       $actualSelectedValues
+               ) use ( $self, $expectedValues ) {
+                       $self->assertSame(
+                               $expectedValues,
+                               $actualSelectedValues
+                       );
+               };
+
+               $groupDefinition = [
+                       'name' => 'group',
+                       'default' => '',
+                       'isFullCoverage' => true,
+                       'filters' => $filterDefinitions,
+                       'queryCallable' => $queryCallable,
+               ];
+
+               $this->modifyQueryHelper( $groupDefinition, $input );
+       }
+
+       public function provideModifyQuery() {
+               $mixedFilters = [
+                       [
+                               'name' => 'foo',
+                       ],
+                       [
+                               'name' => 'bar',
+                               'isAllowedCallable' => function () {
+                                       return false;
+                               },
+                       ],
+                       [
+                               'name' => 'baz',
+                       ],
+                       [
+                               'name' => 'goo'
+                       ],
+               ];
+
+               return [
+                       [
+                               $mixedFilters,
+                               [ 'baz', 'foo', ],
+                               'foo;bar;BaZ;invalid',
+                       ],
+
+                       [
+                               $mixedFilters,
+                               [ 'baz', 'foo', 'goo' ],
+                               'all',
+                       ],
+               ];
+       }
+
+       /**
+        * @param array $filterDefinitions Array of filter definitions
+        * @param string $input Value in URL
+        * @param string $message Message thrown by exception
+        *
+        * @dataProvider provideNoOpModifyQuery
+        */
+       public function testNoOpModifyQuery( $filterDefinitions, $input, $message ) {
+               $noFiltersAllowedCallable = function (
+                       $className,
+                       $ctx,
+                       $dbr,
+                       &$tables,
+                       &$fields,
+                       &$conds,
+                       &$query_options,
+                       &$join_conds,
+                       $actualSelectedValues
+               ) use ( $message ) {
+                       throw new MWException( $message );
+               };
+
+               $groupDefinition = [
+                       'name' => 'group',
+                       'default' => '',
+                       'isFullCoverage' => true,
+                       'filters' => $filterDefinitions,
+                       'queryCallable' => $noFiltersAllowedCallable,
+               ];
+
+               $this->modifyQueryHelper( $groupDefinition, $input );
+
+               $this->assertTrue(
+                       true,
+                       'Test successfully completed without calling queryCallable'
+               );
+       }
+
+       public function provideNoOpModifyQuery() {
+               $isAllowedFalse = [
+                       'isAllowedCallable' => function () {
+                               return false;
+                       },
+               ];
+
+               $allDisallowedFilters = [
+                       [
+                               'name' => 'disallowed1',
+                       ] + $isAllowedFalse,
+
+                       [
+                               'name' => 'disallowed2',
+                       ] + $isAllowedFalse,
+
+                       [
+                               'name' => 'disallowed3',
+                       ] + $isAllowedFalse,
+               ];
+
+               $normalFilters = [
+                       [
+                               'name' => 'foo',
+                       ],
+                       [
+                               'name' => 'bar',
+                       ]
+               ];
+
+               return [
+                       [
+                               $allDisallowedFilters,
+                               'disallowed1;disallowed3',
+                               'The queryCallable should not be called if no filters are allowed',
+                       ],
+
+                       [
+                               $normalFilters,
+                               '',
+                               'The queryCallable should not be called if no filters are selected',
+                       ],
+
+                       [
+                               $normalFilters,
+                               'invalid1',
+                               'The queryCallable should not be called if no valid filters are selected',
+                       ],
+               ];
+       }
+
+       protected function getSpecialPage() {
+               return $this->getMockBuilder( 'ChangesListSpecialPage' )
+                       ->setConstructorArgs( [
+                                       'ChangesListSpecialPage',
+                                       '',
+                               ] )
+                       ->getMockForAbstractClass();
+       }
+
+       /**
+        * @param array $groupDefinition Group definition
+        * @param string $input Value in URL
+        *
+        * @dataProvider provideModifyQuery
+        */
+       protected function modifyQueryHelper( $groupDefinition, $input ) {
+               $ctx = $this->getMock( 'IContextSource' );
+               $dbr = $this->getMock( 'IDatabase' );
+               $tables = $fields = $conds = $query_options = $join_conds = [];
+
+               $group = new ChangesListStringOptionsFilterGroup( $groupDefinition );
+
+               $specialPage = $this->getSpecialPage();
+
+               $group->modifyQuery(
+                       $dbr,
+                       $specialPage,
+                       $tables,
+                       $fields,
+                       $conds,
+                       $query_options,
+                       $join_conds,
+                       $input
+               );
+       }
+
+       public function testGetJsData() {
+               $definition = [
+                       'name' => 'some-group',
+                       'title' => 'some-group-title',
+                       'default' => 'foo',
+                       'priority' => 1,
+                       'isFullCoverage' => false,
+                       'queryCallable' => function () {
+                       },
+                       'filters' => [
+                               [
+                                       'name' => 'foo',
+                                       'label' => 'foo-label',
+                                       'description' => 'foo-description',
+                                       'priority' => 2,
+                               ],
+                               [
+                                       'name' => 'bar',
+                                       'label' => 'bar-label',
+                                       'description' => 'bar-description',
+                                       'priority' => 4,
+                               ]
+                       ],
+               ];
+
+               $group = new ChangesListStringOptionsFilterGroup( $definition );
+
+               $specialPage = $this->getSpecialPage();
+
+               $this->assertArrayEquals(
+                       [
+                               'name' => 'some-group',
+                               'title' => 'some-group-title',
+                               'type' => ChangesListStringOptionsFilterGroup::TYPE,
+                               'default' => 'foo',
+                               'priority' => 1,
+                               'fullCoverage' => false,
+                               'filters' => [
+                                       [
+                                               'name' => 'bar',
+                                               'label' => 'bar-label',
+                                               'description' => 'bar-description',
+                                               'priority' => 4,
+                                               'cssClass' => null,
+                                               'conflicts' => [],
+                                               'subset' => [],
+                                       ],
+                                       [
+                                               'name' => 'foo',
+                                               'label' => 'foo-label',
+                                               'description' => 'foo-description',
+                                               'priority' => 2,
+                                               'cssClass' => null,
+                                               'conflicts' => [],
+                                               'subset' => [],
+                                       ],
+                               ],
+                               'conflicts' => [],
+                               'separator' => ';',
+                               'messageKeys' => [
+                                       'some-group-title',
+                                       'bar-label',
+                                       'bar-description',
+                                       'foo-label',
+                                       'foo-description',
+                               ],
+                       ],
+                       $group->getJsData( $specialPage ),
+                       /** ordered= */ false,
+                       /** named= */ true
+               );
+       }
+}
index 995c4be..68f9079 100644 (file)
@@ -88,15 +88,14 @@ class RecentChangeTest extends MediaWikiTestCase {
        }
 
        /**
-        * 50 mins and 100 mins are used here as the tests never take that long!
         * @return array
         */
        public function provideIsInRCLifespan() {
                return [
-                       [ 6000, time() - 3000, 0, true ],
-                       [ 3000, time() - 6000, 0, false ],
-                       [ 6000, time() - 3000, 6000, true ],
-                       [ 3000, time() - 6000, 6000, true ],
+                       [ 6000, -3000, 0, true ],
+                       [ 3000, -6000, 0, false ],
+                       [ 6000, -3000, 6000, true ],
+                       [ 3000, -6000, 6000, true ],
                ];
        }
 
@@ -104,8 +103,12 @@ class RecentChangeTest extends MediaWikiTestCase {
         * @covers RecentChange::isInRCLifespan
         * @dataProvider provideIsInRCLifespan
         */
-       public function testIsInRCLifespan( $maxAge, $timestamp, $tolerance, $expected ) {
+       public function testIsInRCLifespan( $maxAge, $offset, $tolerance, $expected ) {
                $this->setMwGlobals( 'wgRCMaxAge', $maxAge );
+               // Calculate this here instead of the data provider because the provider
+               // is expanded early on and the full test suite may take longer than 100 minutes
+               // when coverage is enabled.
+               $timestamp = time() + $offset;
                $this->assertEquals( $expected, RecentChange::isInRCLifespan( $timestamp, $tolerance ) );
        }
 
index 2e5c0bb..42f08cc 100644 (file)
@@ -18,6 +18,81 @@ class CSSMinTest extends MediaWikiTestCase {
                ] );
        }
 
+       /**
+        * @dataProvider mimeTypeProvider
+        */
+       public function testGetMimeType( $fileContents, $fileExtension, $expected ) {
+               $fileName = wfTempDir() . DIRECTORY_SEPARATOR . uniqid( 'MW_PHPUnit_CSSMinTest_' ) . '.'
+                       . $fileExtension;
+               $this->addTmpFiles( $fileName );
+               file_put_contents( $fileName, $fileContents );
+               $this->assertSame( $expected, CSSMin::getMimeType( $fileName ) );
+       }
+
+       public function mimeTypeProvider() {
+               return [
+                       'JPEG with short extension' => [
+                               "\xFF\xD8\xFF",
+                               'jpg',
+                               'image/jpeg'
+                       ],
+                       'JPEG with long extension' => [
+                               "\xFF\xD8\xFF",
+                               'jpeg',
+                               'image/jpeg'
+                       ],
+                       'PNG' => [
+                               "\x89\x50\x4E\x47\x0D\x0A\x1A\x0A",
+                               'png',
+                               'image/png'
+                       ],
+
+                       'PNG extension but JPEG content' => [
+                               "\xFF\xD8\xFF",
+                               'png',
+                               'image/png'
+                       ],
+                       'JPEG extension but PNG content' => [
+                               "\x89\x50\x4E\x47\x0D\x0A\x1A\x0A",
+                               'jpg',
+                               'image/jpeg'
+                       ],
+                       'PNG extension but SVG content' => [
+                               '<?xml version="1.0"?><svg></svg>',
+                               'png',
+                               'image/png'
+                       ],
+                       'SVG extension but PNG content' => [
+                               "\x89\x50\x4E\x47\x0D\x0A\x1A\x0A",
+                               'svg',
+                               'image/svg+xml'
+                       ],
+
+                       'SVG with all headers' => [
+                               '<?xml version="1.0"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" '
+                               . '"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg></svg>',
+                               'svg',
+                               'image/svg+xml'
+                       ],
+                       'SVG with XML header only' => [
+                               '<?xml version="1.0"?><svg></svg>',
+                               'svg',
+                               'image/svg+xml'
+                       ],
+                       'SVG with DOCTYPE only' => [
+                               '<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" '
+                               . '"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg></svg>',
+                               'svg',
+                               'image/svg+xml'
+                       ],
+                       'SVG without any header' => [
+                               '<svg></svg>',
+                               'svg',
+                               'image/svg+xml'
+                       ],
+               ];
+       }
+
        /**
         * @dataProvider provideMinifyCases
         * @covers CSSMin::minify
index 5ea7b1d..8a69b5c 100644 (file)
@@ -20,6 +20,9 @@
  * @file
  */
 
+/**
+ * @group Database
+ */
 class UserPasswordPolicyTest extends MediaWikiTestCase {
 
        protected $policies = [
index e3ea139..3e9c567 100644 (file)
@@ -1,5 +1,8 @@
 <?php
 
+/**
+ * @group Database
+ */
 class RCFeedIntegrationTest extends MediaWikiTestCase {
        protected function setUp() {
                parent::setUp();
index 4a3b90a..7d12e59 100644 (file)
@@ -31,9 +31,7 @@ class ResourceLoaderFileModuleTest extends ResourceLoaderTestCase {
                                'deprecated' => true,
                        ],
                        'deprecatedTomorrow' => $base + [
-                               'deprecated' => [
-                                       'message' => 'Will be removed tomorrow.'
-                               ],
+                               'deprecated' => 'Will be removed tomorrow.'
                        ],
 
                        'htmlTemplateModule' => $base + [
index aeb82d1..3877288 100644 (file)
@@ -197,6 +197,62 @@ class ResourceLoaderImageModuleTest extends ResourceLoaderTestCase {
                ] ) );
                $this->assertInstanceOf( ResourceLoaderImage::class, $context->getImageObj() );
        }
+
+       public static function providerGetStyleDeclarations() {
+               return [
+                       [
+                               false,
+<<<TEXT
+background-image: url(rasterized.png);
+       background-image: linear-gradient(transparent, transparent), url(original.svg);
+       background-image: -o-linear-gradient(transparent, transparent), url(rasterized.png);
+TEXT
+                       ],
+                       [
+                               'data:image/svg+xml',
+<<<TEXT
+background-image: url(rasterized.png);
+       background-image: linear-gradient(transparent, transparent), url(data:image/svg+xml);
+       background-image: -o-linear-gradient(transparent, transparent), url(rasterized.png);
+TEXT
+                       ],
+
+               ];
+       }
+
+       /**
+        * @dataProvider providerGetStyleDeclarations
+        * @covers ResourceLoaderImageModule::getStyleDeclarations
+        */
+       public function testGetStyleDeclarations( $dataUriReturnValue, $expected ) {
+               $module = TestingAccessWrapper::newFromObject( new ResourceLoaderImageModule() );
+               $context = $this->getResourceLoaderContext();
+               $image = $this->getImageMock( $context, $dataUriReturnValue );
+
+               $styles = $module->getStyleDeclarations(
+                       $context,
+                       $image,
+                       'load.php'
+               );
+
+               $this->assertEquals( $expected, $styles );
+       }
+
+       private function getImageMock( ResourceLoaderContext $context, $dataUriReturnValue ) {
+               $image = $this->getMockBuilder( 'ResourceLoaderImage' )
+                       ->disableOriginalConstructor()
+                       ->getMock();
+               $image->method( 'getDataUri' )
+                       ->will( $this->returnValue( $dataUriReturnValue ) );
+               $image->expects( $this->any() )
+                       ->method( 'getUrl' )
+                       ->will( $this->returnValueMap( [
+                               [ $context, 'load.php', null, 'original', 'original.svg' ],
+                               [ $context, 'load.php', null, 'rasterized', 'rasterized.png' ],
+                       ] ) );
+
+               return $image;
+       }
 }
 
 class ResourceLoaderImageModuleTestable extends ResourceLoaderImageModule {
index a332528..4048ffe 100644 (file)
@@ -1,5 +1,7 @@
 <?php
 
+use MediaWiki\MediaWikiServices;
+
 class ResourceLoaderWikiModuleTest extends ResourceLoaderTestCase {
 
        /**
@@ -214,6 +216,50 @@ class ResourceLoaderWikiModuleTest extends ResourceLoaderTestCase {
                $module = TestingAccessWrapper::newFromObject( $module );
                $this->assertEquals( $expected, $module->getTitleInfo( $context ), 'Title info' );
        }
+
+       /**
+        * @covers ResourceLoaderWikiModule::getContent
+        */
+       public function testGetContentForRedirects() {
+               // Set up context and module object
+               $context = $this->getResourceLoaderContext( [], new EmptyResourceLoader );
+               $module = $this->getMockBuilder( 'ResourceLoaderWikiModule' )
+                       ->setMethods( [ 'getPages', 'getContentObj' ] )
+                       ->getMock();
+               $module->expects( $this->any() )
+                       ->method( 'getPages' )
+                       ->will( $this->returnValue( [
+                               'MediaWiki:Redirect.js' => [ 'type' => 'script' ]
+                       ] ) );
+               $module->expects( $this->any() )
+                       ->method( 'getContentObj' )
+                       ->will( $this->returnCallback( function ( Title $title ) {
+                               if ( $title->getPrefixedText() === 'MediaWiki:Redirect.js' ) {
+                                       $handler = new JavaScriptContentHandler();
+                                       return $handler->makeRedirectContent(
+                                               Title::makeTitle( NS_MEDIAWIKI, 'Target.js' )
+                                       );
+                               } elseif ( $title->getPrefixedText() === 'MediaWiki:Target.js' ) {
+                                       return new JavaScriptContent( 'target;' );
+                               } else {
+                                       return null;
+                               }
+                       } ) );
+
+               // Mock away Title's db queries with LinkCache
+               MediaWikiServices::getInstance()->getLinkCache()->addGoodLinkObj(
+                       1, // id
+                       new TitleValue( NS_MEDIAWIKI, 'Redirect.js' ),
+                       1, // len
+                       1 // redirect
+               );
+
+               $this->assertEquals(
+                       "/*\nMediaWiki:Redirect.js\n*/\ntarget;\n",
+                       $module->getScript( $context ),
+                       'Redirect resolved by getContent'
+               );
+       }
 }
 
 class TestResourceLoaderWikiModule extends ResourceLoaderWikiModule {
index 9c10e49..6b12229 100644 (file)
@@ -18,14 +18,23 @@ class SearchIndexFieldTest extends MediaWikiTestCase {
 
        /**
         * @dataProvider getMergeCases
+        * @param $t1
+        * @param $n1
+        * @param $t2
+        * @param $n2
+        * @param $result
         */
        public function testMerge( $t1, $n1, $t2, $n2, $result ) {
-               $field1 = $this->getMockBuilder( 'SearchIndexFieldDefinition' )
-                       ->setMethods( [ 'getMapping' ] )
-                       ->setConstructorArgs( [ $n1, $t1 ] )->getMock();
-               $field2 = $this->getMockBuilder( 'SearchIndexFieldDefinition' )
-                       ->setMethods( [ 'getMapping' ] )
-                       ->setConstructorArgs( [ $n2, $t2 ] )->getMock();
+               $field1 =
+                       $this->getMockBuilder( SearchIndexFieldDefinition::class )
+                               ->setMethods( [ 'getMapping' ] )
+                               ->setConstructorArgs( [ $n1, $t1 ] )
+                               ->getMock();
+               $field2 =
+                       $this->getMockBuilder( SearchIndexFieldDefinition::class )
+                               ->setMethods( [ 'getMapping' ] )
+                               ->setConstructorArgs( [ $n2, $t2 ] )
+                               ->getMock();
 
                if ( $result ) {
                        $this->assertNotFalse( $field1->merge( $field2 ) );
@@ -35,5 +44,14 @@ class SearchIndexFieldTest extends MediaWikiTestCase {
 
                $field1->setFlag( 0xFF );
                $this->assertFalse( $field1->merge( $field2 ) );
+
+               $field1->setMergeCallback(
+                       function ( $a, $b ) {
+                               return "test";
+                       }
+               );
+               $this->assertEquals( "test", $field1->merge( $field2 ) );
+
        }
+
 }
diff --git a/tests/phpunit/includes/specialpage/AbstractChangesListSpecialPageTestCase.php b/tests/phpunit/includes/specialpage/AbstractChangesListSpecialPageTestCase.php
new file mode 100644 (file)
index 0000000..621d6a2
--- /dev/null
@@ -0,0 +1,49 @@
+<?php
+
+/**
+ * Abstract base class for shared logic when testing ChangesListSpecialPage
+ * and subclasses
+ *
+ * @group Database
+ */
+abstract class AbstractChangesListSpecialPageTestCase extends MediaWikiTestCase {
+       // Must be initialized by subclass
+       /**
+        * @var ChangesListSpecialPage
+        */
+       protected $changesListSpecialPage;
+
+       protected function setUp() {
+               parent::setUp();
+               $this->setMwGlobals( 'wgRCWatchCategoryMembership', true );
+       }
+
+       /**
+        * @dataProvider provideParseParameters
+        */
+       public function testParseParameters( $params, $expected ) {
+               $this->changesListSpecialPage->registerFilters();
+
+               $opts = new FormOptions();
+               foreach ( $expected as $key => $value ) {
+                       // Register it as null so sets aren't rejected.
+                       $opts->add(
+                               $key,
+                               null,
+                               FormOptions::guessType( $expected )
+                       );
+               }
+
+               $this->changesListSpecialPage->parseParameters(
+                       $params,
+                       $opts
+               );
+
+               $this->assertArrayEquals(
+                       $expected,
+                       $opts->getAllValues(),
+                       /** ordered= */ false,
+                       /** named= */ true
+               );
+       }
+}
diff --git a/tests/phpunit/includes/specialpage/ChangesListSpecialPageTest.php b/tests/phpunit/includes/specialpage/ChangesListSpecialPageTest.php
new file mode 100644 (file)
index 0000000..c292e97
--- /dev/null
@@ -0,0 +1,804 @@
+<?php
+/**
+ * Test class for ChangesListSpecialPage class
+ *
+ * Copyright © 2011-, Antoine Musso, Stephane Bisson, Matthew Flaschen
+ *
+ * @author Antoine Musso
+ * @author Stephane Bisson
+ * @author Matthew Flaschen
+ * @group Database
+ *
+ * @covers ChangesListSpecialPage
+ */
+class ChangesListSpecialPageTest extends AbstractChangesListSpecialPageTestCase {
+       protected function setUp() {
+               parent::setUp();
+
+               # setup the rc object
+               $this->changesListSpecialPage = $this->getPage();
+       }
+
+       protected function getPage() {
+               return TestingAccessWrapper::newFromObject(
+                       $this->getMockForAbstractClass(
+                               'ChangesListSpecialPage',
+                               [
+                                       'ChangesListSpecialPage',
+                                       ''
+                               ]
+                       )
+               );
+       }
+
+       /** helper to test SpecialRecentchanges::buildMainQueryConds() */
+       private function assertConditions(
+               $expected,
+               $requestOptions = null,
+               $message = '',
+               $user = null
+       ) {
+               $context = new RequestContext;
+               $context->setRequest( new FauxRequest( $requestOptions ) );
+               if ( $user ) {
+                       $context->setUser( $user );
+               }
+
+               $this->changesListSpecialPage->setContext( $context );
+               $formOptions = $this->changesListSpecialPage->setup( null );
+
+               #  Filter out rc_timestamp conditions which depends on the test runtime
+               # This condition is not needed as of march 2, 2011 -- hashar
+               # @todo FIXME: Find a way to generate the correct rc_timestamp
+
+               $tables = [];
+               $fields = [];
+               $queryConditions = [];
+               $query_options = [];
+               $join_conds = [];
+
+               call_user_func_array(
+                       [ $this->changesListSpecialPage, 'buildQuery' ],
+                       [
+                               &$tables,
+                               &$fields,
+                               &$queryConditions,
+                               &$query_options,
+                               &$join_conds,
+                               $formOptions
+                       ]
+               );
+
+               $queryConditions = array_filter(
+                       $queryConditions,
+                       'ChangesListSpecialPageTest::filterOutRcTimestampCondition'
+               );
+
+               $this->assertEquals(
+                       self::normalizeCondition( $expected ),
+                       self::normalizeCondition( $queryConditions ),
+                       $message
+               );
+       }
+
+       private static function normalizeCondition( $conds ) {
+               $normalized = array_map(
+                       function ( $k, $v ) {
+                               return is_numeric( $k ) ? $v : "$k = $v";
+                       },
+                       array_keys( $conds ),
+                       $conds
+               );
+               sort( $normalized );
+               return $normalized;
+       }
+
+       /** return false if condition begin with 'rc_timestamp ' */
+       private static function filterOutRcTimestampCondition( $var ) {
+               return ( false === strpos( $var, 'rc_timestamp ' ) );
+       }
+
+       public function testRcNsFilter() {
+               $this->assertConditions(
+                       [ # expected
+                               "rc_namespace = '0'",
+                       ],
+                       [
+                               'namespace' => NS_MAIN,
+                       ],
+                       "rc conditions with no options (aka default setting)"
+               );
+       }
+
+       public function testRcNsFilterInversion() {
+               $this->assertConditions(
+                       [ # expected
+                               "rc_namespace != '0'",
+                       ],
+                       [
+                               'namespace' => NS_MAIN,
+                               'invert' => 1,
+                       ],
+                       "rc conditions with namespace inverted"
+               );
+       }
+
+       /**
+        * T4429
+        * @dataProvider provideNamespacesAssociations
+        */
+       public function testRcNsFilterAssociation( $ns1, $ns2 ) {
+               $this->assertConditions(
+                       [ # expected
+                               "(rc_namespace = '$ns1' OR rc_namespace = '$ns2')",
+                       ],
+                       [
+                               'namespace' => $ns1,
+                               'associated' => 1,
+                       ],
+                       "rc conditions with namespace inverted"
+               );
+       }
+
+       /**
+        * T4429
+        * @dataProvider provideNamespacesAssociations
+        */
+       public function testRcNsFilterAssociationWithInversion( $ns1, $ns2 ) {
+               $this->assertConditions(
+                       [ # expected
+                               "(rc_namespace != '$ns1' AND rc_namespace != '$ns2')",
+                       ],
+                       [
+                               'namespace' => $ns1,
+                               'associated' => 1,
+                               'invert' => 1,
+                       ],
+                       "rc conditions with namespace inverted"
+               );
+       }
+
+       /**
+        * Provides associated namespaces to test recent changes
+        * namespaces association filtering.
+        */
+       public static function provideNamespacesAssociations() {
+               return [ # (NS => Associated_NS)
+                       [ NS_MAIN, NS_TALK ],
+                       [ NS_TALK, NS_MAIN ],
+               ];
+       }
+
+       public function testRcHidemyselfFilter() {
+               $user = $this->getTestUser()->getUser();
+               $this->assertConditions(
+                       [ # expected
+                               "rc_user != '{$user->getId()}'",
+                       ],
+                       [
+                               'hidemyself' => 1,
+                       ],
+                       "rc conditions: hidemyself=1 (logged in)",
+                       $user
+               );
+
+               $user = User::newFromName( '10.11.12.13', false );
+               $this->assertConditions(
+                       [ # expected
+                               "rc_user_text != '10.11.12.13'",
+                       ],
+                       [
+                               'hidemyself' => 1,
+                       ],
+                       "rc conditions: hidemyself=1 (anon)",
+                       $user
+               );
+       }
+
+       public function testRcHidebyothersFilter() {
+               $user = $this->getTestUser()->getUser();
+               $this->assertConditions(
+                       [ # expected
+                               "rc_user = '{$user->getId()}'",
+                       ],
+                       [
+                               'hidebyothers' => 1,
+                       ],
+                       "rc conditions: hidebyothers=1 (logged in)",
+                       $user
+               );
+
+               $user = User::newFromName( '10.11.12.13', false );
+               $this->assertConditions(
+                       [ # expected
+                               "rc_user_text = '10.11.12.13'",
+                       ],
+                       [
+                               'hidebyothers' => 1,
+                       ],
+                       "rc conditions: hidebyothers=1 (anon)",
+                       $user
+               );
+       }
+
+       public function testRcHidemyselfHidebyothersFilter() {
+               $user = $this->getTestUser()->getUser();
+               $this->assertConditions(
+                       [ # expected
+                               "rc_user != '{$user->getId()}'",
+                               "rc_user = '{$user->getId()}'",
+                       ],
+                       [
+                               'hidemyself' => 1,
+                               'hidebyothers' => 1,
+                       ],
+                       "rc conditions: hidemyself=1 hidebyothers=1 (logged in)",
+                       $user
+               );
+       }
+
+       public function testRcHidepageedits() {
+               $this->assertConditions(
+                       [ # expected
+                               "rc_type != '0'",
+                       ],
+                       [
+                               'hidepageedits' => 1,
+                       ],
+                       "rc conditions: hidepageedits=1"
+               );
+       }
+
+       public function testRcHidenewpages() {
+               $this->assertConditions(
+                       [ # expected
+                               "rc_type != '1'",
+                       ],
+                       [
+                               'hidenewpages' => 1,
+                       ],
+                       "rc conditions: hidenewpages=1"
+               );
+       }
+
+       public function testRcHidelog() {
+               $this->assertConditions(
+                       [ # expected
+                               "rc_type != '3'",
+                       ],
+                       [
+                               'hidelog' => 1,
+                       ],
+                       "rc conditions: hidelog=1"
+               );
+       }
+
+       public function testRcHidehumans() {
+               $this->assertConditions(
+                       [ # expected
+                               'rc_bot' => 1,
+                       ],
+                       [
+                               'hidebots' => 0,
+                               'hidehumans' => 1,
+                       ],
+                       "rc conditions: hidebots=0 hidehumans=1"
+               );
+       }
+
+       public function testRcHidepatrolledDisabledFilter() {
+               $user = $this->getTestUser()->getUser();
+               $this->assertConditions(
+                       [ # expected
+                       ],
+                       [
+                               'hidepatrolled' => 1,
+                       ],
+                       "rc conditions: hidepatrolled=1 (user not allowed)",
+                       $user
+               );
+       }
+
+       public function testRcHideunpatrolledDisabledFilter() {
+               $user = $this->getTestUser()->getUser();
+               $this->assertConditions(
+                       [ # expected
+                       ],
+                       [
+                               'hideunpatrolled' => 1,
+                       ],
+                       "rc conditions: hideunpatrolled=1 (user not allowed)",
+                       $user
+               );
+       }
+       public function testRcHidepatrolledFilter() {
+               $user = $this->getTestSysop()->getUser();
+               $this->assertConditions(
+                       [ # expected
+                               "rc_patrolled = 0",
+                       ],
+                       [
+                               'hidepatrolled' => 1,
+                       ],
+                       "rc conditions: hidepatrolled=1",
+                       $user
+               );
+       }
+
+       public function testRcHideunpatrolledFilter() {
+               $user = $this->getTestSysop()->getUser();
+               $this->assertConditions(
+                       [ # expected
+                               "rc_patrolled = 1",
+                       ],
+                       [
+                               'hideunpatrolled' => 1,
+                       ],
+                       "rc conditions: hideunpatrolled=1",
+                       $user
+               );
+       }
+
+       public function testRcHideminorFilter() {
+               $this->assertConditions(
+                       [ # expected
+                               "rc_minor = 0",
+                       ],
+                       [
+                               'hideminor' => 1,
+                       ],
+                       "rc conditions: hideminor=1"
+               );
+       }
+
+       public function testRcHidemajorFilter() {
+               $this->assertConditions(
+                       [ # expected
+                               "rc_minor = 1",
+                       ],
+                       [
+                               'hidemajor' => 1,
+                       ],
+                       "rc conditions: hidemajor=1"
+               );
+       }
+
+       public function testRcHidepatrolledHideunpatrolledFilter() {
+               $user = $this->getTestSysop()->getUser();
+               $this->assertConditions(
+                       [ # expected
+                               "rc_patrolled = 0",
+                               "rc_patrolled = 1",
+                       ],
+                       [
+                               'hidepatrolled' => 1,
+                               'hideunpatrolled' => 1,
+                       ],
+                       "rc conditions: hidepatrolled=1 hideunpatrolled=1",
+                       $user
+               );
+       }
+
+       public function testHideCategorization() {
+               $this->assertConditions(
+                       [
+                               # expected
+                               "rc_type != '6'"
+                       ],
+                       [
+                               'hidecategorization' => 1
+                       ],
+                       "rc conditions: hidecategorization=1"
+               );
+       }
+
+       public function testFilterUserExpLevel() {
+               $this->setMwGlobals( [
+                       'wgLearnerEdits' => 10,
+                       'wgLearnerMemberSince' => 4,
+                       'wgExperiencedUserEdits' => 500,
+                       'wgExperiencedUserMemberSince' => 30,
+               ] );
+
+               $this->createUsers( [
+                       'Newcomer1' => [ 'edits' => 2, 'days' => 2 ],
+                       'Newcomer2' => [ 'edits' => 12, 'days' => 3 ],
+                       'Newcomer3' => [ 'edits' => 8, 'days' => 5 ],
+                       'Learner1' => [ 'edits' => 15, 'days' => 10 ],
+                       'Learner2' => [ 'edits' => 450, 'days' => 20 ],
+                       'Learner3' => [ 'edits' => 460, 'days' => 33 ],
+                       'Learner4' => [ 'edits' => 525, 'days' => 28 ],
+                       'Experienced1' => [ 'edits' => 538, 'days' => 33 ],
+               ] );
+
+               // newcomers only
+               $this->assertArrayEquals(
+                       [ 'Newcomer1', 'Newcomer2', 'Newcomer3' ],
+                       $this->fetchUsers( [ 'newcomer' ] )
+               );
+
+               // newcomers and learner
+               $this->assertArrayEquals(
+                       [
+                               'Newcomer1', 'Newcomer2', 'Newcomer3',
+                               'Learner1', 'Learner2', 'Learner3', 'Learner4',
+                       ],
+                       $this->fetchUsers( [ 'newcomer', 'learner' ] )
+               );
+
+               // newcomers and more learner
+               $this->assertArrayEquals(
+                       [
+                               'Newcomer1', 'Newcomer2', 'Newcomer3',
+                               'Experienced1',
+                       ],
+                       $this->fetchUsers( [ 'newcomer', 'experienced' ] )
+               );
+
+               // learner only
+               $this->assertArrayEquals(
+                       [ 'Learner1', 'Learner2', 'Learner3', 'Learner4' ],
+                       $this->fetchUsers( [ 'learner' ] )
+               );
+
+               // more experienced only
+               $this->assertArrayEquals(
+                       [ 'Experienced1' ],
+                       $this->fetchUsers( [ 'experienced' ] )
+               );
+
+               // learner and more experienced
+               $this->assertArrayEquals(
+                       [
+                               'Learner1', 'Learner2', 'Learner3', 'Learner4',
+                               'Experienced1',
+                       ],
+                       $this->fetchUsers( [ 'learner', 'experienced' ] ),
+                       'Learner and more experienced'
+               );
+
+               // newcomers, learner, and more experienced
+               // TOOD: Fix test.  This needs to test that anons are excluded,
+               // and right now the join fails.
+               /* $this->assertArrayEquals( */
+               /*      [ */
+               /*              'Newcomer1', 'Newcomer2', 'Newcomer3', */
+               /*              'Learner1', 'Learner2', 'Learner3', 'Learner4', */
+               /*              'Experienced1', */
+               /*      ], */
+               /*      $this->fetchUsers( [ 'newcomer', 'learner', 'experienced' ] ) */
+               /* ); */
+       }
+
+       private function createUsers( $specs ) {
+               $dbw = wfGetDB( DB_MASTER );
+               foreach ( $specs as $name => $spec ) {
+                       User::createNew(
+                               $name,
+                               [
+                                       'editcount' => $spec['edits'],
+                                       'registration' => $dbw->timestamp( $this->daysAgo( $spec['days'] ) ),
+                                       'email' => 'ut',
+                               ]
+                       );
+               }
+       }
+
+       private function fetchUsers( $filters ) {
+               $tables = [];
+               $conds = [];
+               $fields = [];
+               $query_options = [];
+               $join_conds = [];
+
+               sort( $filters );
+
+               call_user_func_array(
+                       [ $this->changesListSpecialPage, 'filterOnUserExperienceLevel' ],
+                       [
+                               get_class( $this->changesListSpecialPage ),
+                               $this->changesListSpecialPage->getContext(),
+                               $this->changesListSpecialPage->getDB(),
+                               &$tables,
+                               &$fields,
+                               &$conds,
+                               &$query_options,
+                               &$join_conds,
+                               $filters
+                       ]
+               );
+
+               $result = wfGetDB( DB_MASTER )->select(
+                       'user',
+                       'user_name',
+                       array_filter( $conds ) + [ 'user_email' => 'ut' ]
+               );
+
+               $usernames = [];
+               foreach ( $result as $row ) {
+                       $usernames[] = $row->user_name;
+               }
+
+               return $usernames;
+       }
+
+       private function daysAgo( $days ) {
+               $secondsPerDay = 86400;
+               return time() - $days * $secondsPerDay;
+       }
+
+       public function testGetFilterGroupDefinitionFromLegacyCustomFilters() {
+               $customFilters = [
+                       'hidefoo' => [
+                               'msg' => 'showhidefoo',
+                               'default' => true,
+                       ],
+
+                       'hidebar' => [
+                               'msg' => 'showhidebar',
+                               'default' => false,
+                       ],
+               ];
+
+               $this->assertEquals(
+                       [
+                               'name' => 'unstructured',
+                               'class' => ChangesListBooleanFilterGroup::class,
+                               'priority' => -1,
+                               'filters' => [
+                                       [
+                                               'name' => 'hidefoo',
+                                               'showHide' => 'showhidefoo',
+                                               'default' => true,
+                                       ],
+                                       [
+                                               'name' => 'hidebar',
+                                               'showHide' => 'showhidebar',
+                                               'default' => false,
+                                       ]
+                               ],
+                       ],
+                       $this->changesListSpecialPage->getFilterGroupDefinitionFromLegacyCustomFilters(
+                               $customFilters
+                       )
+               );
+       }
+
+       public function testGetStructuredFilterJsData() {
+               $definition = [
+                       [
+                               'name' => 'gub-group',
+                               'title' => 'gub-group-title',
+                               'class' => ChangesListBooleanFilterGroup::class,
+                               'filters' => [
+                                       [
+                                               'name' => 'hidefoo',
+                                               'label' => 'foo-label',
+                                               'description' => 'foo-description',
+                                               'default' => true,
+                                               'showHide' => 'showhidefoo',
+                                               'priority' => 2,
+                                       ],
+                                       [
+                                               'name' => 'hidebar',
+                                               'label' => 'bar-label',
+                                               'description' => 'bar-description',
+                                               'default' => false,
+                                               'priority' => 4,
+                                       ]
+                               ],
+                       ],
+
+                       [
+                               'name' => 'des-group',
+                               'title' => 'des-group-title',
+                               'class' => ChangesListStringOptionsFilterGroup::class,
+                               'isFullCoverage' => true,
+                               'filters' => [
+                                       [
+                                               'name' => 'grault',
+                                               'label' => 'grault-label',
+                                               'description' => 'grault-description',
+                                       ],
+                                       [
+                                               'name' => 'garply',
+                                               'label' => 'garply-label',
+                                               'description' => 'garply-description',
+                                       ],
+                               ],
+                               'queryCallable' => function () {
+                               },
+                               'default' => ChangesListStringOptionsFilterGroup::NONE,
+                       ],
+
+                       [
+                               'name' => 'unstructured',
+                               'class' => ChangesListBooleanFilterGroup::class,
+                               'filters' => [
+                                       [
+                                               'name' => 'hidethud',
+                                               'showHide' => 'showhidethud',
+                                               'default' => true,
+                                       ],
+
+                                       [
+                                               'name' => 'hidemos',
+                                               'showHide' => 'showhidemos',
+                                               'default' => false,
+                                       ],
+                               ],
+                       ],
+
+               ];
+
+               $this->changesListSpecialPage->registerFiltersFromDefinitions( $definition );
+
+               $this->assertArrayEquals(
+                       [
+                               // Filters that only display in the unstructured UI are
+                               // are not included, and neither are groups that would
+                               // be empty due to the above.
+                               'groups' => [
+                                       [
+                                               'name' => 'gub-group',
+                                               'title' => 'gub-group-title',
+                                               'type' => ChangesListBooleanFilterGroup::TYPE,
+                                               'priority' => -1,
+                                               'filters' => [
+                                                       [
+                                                               'name' => 'hidebar',
+                                                               'label' => 'bar-label',
+                                                               'description' => 'bar-description',
+                                                               'default' => false,
+                                                               'priority' => 4,
+                                                               'cssClass' => null,
+                                                               'conflicts' => [],
+                                                               'subset' => [],
+                                                       ],
+                                                       [
+                                                               'name' => 'hidefoo',
+                                                               'label' => 'foo-label',
+                                                               'description' => 'foo-description',
+                                                               'default' => true,
+                                                               'priority' => 2,
+                                                               'cssClass' => null,
+                                                               'conflicts' => [],
+                                                               'subset' => [],
+                                                       ],
+                                               ],
+                                               'fullCoverage' => true,
+                                               'conflicts' => [],
+                                       ],
+
+                                       [
+                                               'name' => 'des-group',
+                                               'title' => 'des-group-title',
+                                               'type' => ChangesListStringOptionsFilterGroup::TYPE,
+                                               'priority' => -2,
+                                               'fullCoverage' => true,
+                                               'filters' => [
+                                                       [
+                                                               'name' => 'grault',
+                                                               'label' => 'grault-label',
+                                                               'description' => 'grault-description',
+                                                               'cssClass' => null,
+                                                               'priority' => -2,
+                                                               'conflicts' => [],
+                                                               'subset' => [],
+                                                       ],
+                                                       [
+                                                               'name' => 'garply',
+                                                               'label' => 'garply-label',
+                                                               'description' => 'garply-description',
+                                                               'cssClass' => null,
+                                                               'priority' => -3,
+                                                               'conflicts' => [],
+                                                               'subset' => [],
+                                                       ],
+                                               ],
+                                               'conflicts' => [],
+                                               'separator' => ';',
+                                               'default' => ChangesListStringOptionsFilterGroup::NONE,
+                                       ],
+                               ],
+                               'messageKeys' => [
+                                       'gub-group-title',
+                                       'bar-label',
+                                       'bar-description',
+                                       'foo-label',
+                                       'foo-description',
+                                       'des-group-title',
+                                       'grault-label',
+                                       'grault-description',
+                                       'garply-label',
+                                       'garply-description',
+                               ],
+                       ],
+                       $this->changesListSpecialPage->getStructuredFilterJsData(),
+                       /** ordered= */ false,
+                       /** named= */ true
+               );
+       }
+
+       public function provideParseParameters() {
+               return [
+                       [ 'hidebots', [ 'hidebots' => true ] ],
+
+                       [ 'bots', [ 'hidebots' => false ] ],
+
+                       [ 'hideminor', [ 'hideminor' => true ] ],
+
+                       [ 'minor', [ 'hideminor' => false ] ],
+
+                       [ 'hidemajor', [ 'hidemajor' => true ] ],
+
+                       [ 'hideliu', [ 'hideliu' => true ] ],
+
+                       [ 'hidepatrolled', [ 'hidepatrolled' => true ] ],
+
+                       [ 'hideunpatrolled', [ 'hideunpatrolled' => true ] ],
+
+                       [ 'hideanons', [ 'hideanons' => true ] ],
+
+                       [ 'hidemyself', [ 'hidemyself' => true ] ],
+
+                       [ 'hidebyothers', [ 'hidebyothers' => true ] ],
+
+                       [ 'hidehumans', [ 'hidehumans' => true ] ],
+
+                       [ 'hidepageedits', [ 'hidepageedits' => true ] ],
+
+                       [ 'pagedits', [ 'hidepageedits' => false ] ],
+
+                       [ 'hidenewpages', [ 'hidenewpages' => true ] ],
+
+                       [ 'hidecategorization', [ 'hidecategorization' => true ] ],
+
+                       [ 'hidelog', [ 'hidelog' => true ] ],
+
+                       [
+                               'userExpLevel=learner;experienced',
+                               [
+                                       'userExpLevel' => 'learner;experienced'
+                               ],
+                       ],
+
+                       // A few random combos
+                       [
+                               'bots,hideliu,hidemyself',
+                               [
+                                       'hidebots' => false,
+                                       'hideliu' => true,
+                                       'hidemyself' => true,
+                               ],
+                       ],
+
+                       [
+                               'minor,hideanons,categorization',
+                               [
+                                       'hideminor' => false,
+                                       'hideanons' => true,
+                                       'hidecategorization' => false,
+                               ]
+                       ],
+
+                       [
+                               'hidehumans,bots,hidecategorization',
+                               [
+                                       'hidehumans' => true,
+                                       'hidebots' => false,
+                                       'hidecategorization' => true,
+                               ],
+                       ],
+
+                       [
+                               'hidemyself,userExpLevel=newcomer;learner,hideminor',
+                               [
+                                       'hidemyself' => true,
+                                       'hideminor' => true,
+                                       'userExpLevel' => 'newcomer;learner',
+                               ],
+                       ],
+               ];
+       }
+}
index 9b0fb6a..011d8a0 100644 (file)
 <?php
+
 /**
  * Test class for SpecialRecentchanges class
  *
- * Copyright © 2011, Antoine Musso
- *
- * @author Antoine Musso
  * @group Database
  *
  * @covers SpecialRecentChanges
  */
-class SpecialRecentchangesTest extends MediaWikiTestCase {
-
+class SpecialRecentchangesTest extends AbstractChangesListSpecialPageTestCase {
        protected function setUp() {
                parent::setUp();
-               $this->setMwGlobals( 'wgRCWatchCategoryMembership', true );
-       }
-
-       /**
-        * @var SpecialRecentChanges
-        */
-       protected $rc;
-
-       /** helper to test SpecialRecentchanges::buildMainQueryConds() */
-       private function assertConditions(
-               $expected,
-               $requestOptions = null,
-               $message = '',
-               $user = null
-       ) {
-               $context = new RequestContext;
-               $context->setRequest( new FauxRequest( $requestOptions ) );
-               if ( $user ) {
-                       $context->setUser( $user );
-               }
-
-               # setup the rc object
-               $this->rc = new SpecialRecentChanges();
-               $this->rc->setContext( $context );
-               $formOptions = $this->rc->setup( null );
 
-               #  Filter out rc_timestamp conditions which depends on the test runtime
-               # This condition is not needed as of march 2, 2011 -- hashar
-               # @todo FIXME: Find a way to generate the correct rc_timestamp
-               $queryConditions = array_filter(
-                       $this->rc->buildMainQueryConds( $formOptions ),
-                       'SpecialRecentchangesTest::filterOutRcTimestampCondition'
-               );
-
-               $this->assertEquals(
-                       self::normalizeCondition( $expected ),
-                       self::normalizeCondition( $queryConditions ),
-                       $message
+               # setup the CLSP object
+               $this->changesListSpecialPage = TestingAccessWrapper::newFromObject(
+                       new SpecialRecentchanges
                );
        }
 
-       private static function normalizeCondition( $conds ) {
-               $normalized = array_map(
-                       function ( $k, $v ) {
-                               return is_numeric( $k ) ? $v : "$k = $v";
-                       },
-                       array_keys( $conds ),
-                       $conds
-               );
-               sort( $normalized );
-               return $normalized;
-       }
+       public function provideParseParameters() {
+               return [
+                       [ 'limit=123', [ 'limit' => '123' ] ],
 
-       /** return false if condition begin with 'rc_timestamp ' */
-       private static function filterOutRcTimestampCondition( $var ) {
-               return ( false === strpos( $var, 'rc_timestamp ' ) );
-       }
+                       [ '234', [ 'limit' => '234' ] ],
 
-       public function testRcNsFilter() {
-               $this->assertConditions(
-                       [ # expected
-                               'rc_bot' => 0,
-                               "rc_type != '6'",
-                               "rc_namespace = '0'",
-                       ],
-                       [
-                               'namespace' => NS_MAIN,
-                       ],
-                       "rc conditions with no options (aka default setting)"
-               );
-       }
-
-       public function testRcNsFilterInversion() {
-               $this->assertConditions(
-                       [ # expected
-                               'rc_bot' => 0,
-                               "rc_type != '6'",
-                               "rc_namespace != '0'",
-                       ],
-                       [
-                               'namespace' => NS_MAIN,
-                               'invert' => 1,
-                       ],
-                       "rc conditions with namespace inverted"
-               );
-       }
-
-       /**
-        * T4429
-        * @dataProvider provideNamespacesAssociations
-        */
-       public function testRcNsFilterAssociation( $ns1, $ns2 ) {
-               $this->assertConditions(
-                       [ # expected
-                               'rc_bot' => 0,
-                               "rc_type != '6'",
-                               "(rc_namespace = '$ns1' OR rc_namespace = '$ns2')",
-                       ],
-                       [
-                               'namespace' => $ns1,
-                               'associated' => 1,
-                       ],
-                       "rc conditions with namespace inverted"
-               );
-       }
+                       [ 'days=3', [ 'days' => '3' ] ],
 
-       /**
-        * T4429
-        * @dataProvider provideNamespacesAssociations
-        */
-       public function testRcNsFilterAssociationWithInversion( $ns1, $ns2 ) {
-               $this->assertConditions(
-                       [ # expected
-                               'rc_bot' => 0,
-                               "rc_type != '6'",
-                               "(rc_namespace != '$ns1' AND rc_namespace != '$ns2')",
-                       ],
-                       [
-                               'namespace' => $ns1,
-                               'associated' => 1,
-                               'invert' => 1,
-                       ],
-                       "rc conditions with namespace inverted"
-               );
-       }
+                       [ 'namespace=5', [ 'namespace' => 5 ] ],
 
-       /**
-        * Provides associated namespaces to test recent changes
-        * namespaces association filtering.
-        */
-       public static function provideNamespacesAssociations() {
-               return [ # (NS => Associated_NS)
-                       [ NS_MAIN, NS_TALK ],
-                       [ NS_TALK, NS_MAIN ],
+                       [ 'tagfilter=foo', [ 'tagfilter' => 'foo' ] ],
                ];
        }
-
-       public function testRcHidemyselfFilter() {
-               $user = $this->getTestUser()->getUser();
-               $this->assertConditions(
-                       [ # expected
-                               'rc_bot' => 0,
-                               "rc_user != '{$user->getId()}'",
-                               "rc_type != '6'",
-                       ],
-                       [
-                               'hidemyself' => 1,
-                       ],
-                       "rc conditions: hidemyself=1 (logged in)",
-                       $user
-               );
-
-               $user = User::newFromName( '10.11.12.13', false );
-               $this->assertConditions(
-                       [ # expected
-                               'rc_bot' => 0,
-                               "rc_user_text != '10.11.12.13'",
-                               "rc_type != '6'",
-                       ],
-                       [
-                               'hidemyself' => 1,
-                       ],
-                       "rc conditions: hidemyself=1 (anon)",
-                       $user
-               );
-       }
-
-       public function testRcHidebyothersFilter() {
-               $user = $this->getTestUser()->getUser();
-               $this->assertConditions(
-                       [ # expected
-                               'rc_bot' => 0,
-                               "rc_user = '{$user->getId()}'",
-                               "rc_type != '6'",
-                       ],
-                       [
-                               'hidebyothers' => 1,
-                       ],
-                       "rc conditions: hidebyothers=1 (logged in)",
-                       $user
-               );
-
-               $user = User::newFromName( '10.11.12.13', false );
-               $this->assertConditions(
-                       [ # expected
-                               'rc_bot' => 0,
-                               "rc_user_text = '10.11.12.13'",
-                               "rc_type != '6'",
-                       ],
-                       [
-                               'hidebyothers' => 1,
-                       ],
-                       "rc conditions: hidebyothers=1 (anon)",
-                       $user
-               );
-       }
-
-       public function testRcHidemyselfHidebyothersFilter() {
-               $user = $this->getTestUser()->getUser();
-               $this->assertConditions(
-                       [ # expected
-                               'rc_bot' => 0,
-                               "rc_user != '{$user->getId()}'",
-                               "rc_user = '{$user->getId()}'",
-                               "rc_type != '6'",
-                       ],
-                       [
-                               'hidemyself' => 1,
-                               'hidebyothers' => 1,
-                       ],
-                       "rc conditions: hidemyself=1 hidebyothers=1 (logged in)",
-                       $user
-               );
-       }
-
-       public function testRcHidepageedits() {
-               $this->assertConditions(
-                       [ # expected
-                               'rc_bot' => 0,
-                               "rc_type != '6'",
-                               "rc_type != '0'",
-                       ],
-                       [
-                               'hidepageedits' => 1,
-                       ],
-                       "rc conditions: hidepageedits=1"
-               );
-       }
-
-       public function testRcHidenewpages() {
-               $this->assertConditions(
-                       [ # expected
-                               'rc_bot' => 0,
-                               "rc_type != '6'",
-                               "rc_type != '1'",
-                       ],
-                       [
-                               'hidenewpages' => 1,
-                       ],
-                       "rc conditions: hidenewpages=1"
-               );
-       }
-
-       public function testRcHidelog() {
-               $this->assertConditions(
-                       [ # expected
-                               'rc_bot' => 0,
-                               "rc_type != '6'",
-                               "rc_type != '3'",
-                       ],
-                       [
-                               'hidelog' => 1,
-                       ],
-                       "rc conditions: hidelog=1"
-               );
-       }
-
-       public function testRcHidehumans() {
-               $this->assertConditions(
-                       [ # expected
-                               'rc_bot' => 1,
-                               "rc_type != '6'",
-                       ],
-                       [
-                               'hidebots' => 0,
-                               'hidehumans' => 1,
-                       ],
-                       "rc conditions: hidebots=0 hidehumans=1"
-               );
-       }
-
-       public function testRcHidepatrolledDisabledFilter() {
-               $user = $this->getTestUser()->getUser();
-               $this->assertConditions(
-                       [ # expected
-                               'rc_bot' => 0,
-                               "rc_type != '6'",
-                       ],
-                       [
-                               'hidepatrolled' => 1,
-                       ],
-                       "rc conditions: hidepatrolled=1 (user not allowed)",
-                       $user
-               );
-       }
-
-       public function testRcHideunpatrolledDisabledFilter() {
-               $user = $this->getTestUser()->getUser();
-               $this->assertConditions(
-                       [ # expected
-                               'rc_bot' => 0,
-                               "rc_type != '6'",
-                       ],
-                       [
-                               'hideunpatrolled' => 1,
-                       ],
-                       "rc conditions: hideunpatrolled=1 (user not allowed)",
-                       $user
-               );
-       }
-       public function testRcHidepatrolledFilter() {
-               $user = $this->getTestSysop()->getUser();
-               $this->assertConditions(
-                       [ # expected
-                               'rc_bot' => 0,
-                               "rc_patrolled = 0",
-                               "rc_type != '6'",
-                       ],
-                       [
-                               'hidepatrolled' => 1,
-                       ],
-                       "rc conditions: hidepatrolled=1",
-                       $user
-               );
-       }
-
-       public function testRcHideunpatrolledFilter() {
-               $user = $this->getTestSysop()->getUser();
-               $this->assertConditions(
-                       [ # expected
-                               'rc_bot' => 0,
-                               "rc_patrolled = 1",
-                               "rc_type != '6'",
-                       ],
-                       [
-                               'hideunpatrolled' => 1,
-                       ],
-                       "rc conditions: hideunpatrolled=1",
-                       $user
-               );
-       }
-
-       public function testRcHideminorFilter() {
-               $this->assertConditions(
-                       [ # expected
-                               'rc_bot' => 0,
-                               "rc_minor = 0",
-                               "rc_type != '6'",
-                       ],
-                       [
-                               'hideminor' => 1,
-                       ],
-                       "rc conditions: hideminor=1"
-               );
-       }
-
-       public function testRcHidemajorFilter() {
-               $this->assertConditions(
-                       [ # expected
-                               'rc_bot' => 0,
-                               "rc_minor = 1",
-                               "rc_type != '6'",
-                       ],
-                       [
-                               'hidemajor' => 1,
-                       ],
-                       "rc conditions: hidemajor=1"
-               );
-       }
-
-       // This is probably going to change when we do auto-fix of
-       // filters combinations that don't make sense but for now
-       // it's the behavior therefore it's the test.
-       public function testRcHidepatrolledHideunpatrolledFilter() {
-               $user = $this->getTestSysop()->getUser();
-               $this->assertConditions(
-                       [ # expected
-                               'rc_bot' => 0,
-                               "rc_patrolled = 0",
-                               "rc_patrolled = 1",
-                               "rc_type != '6'",
-                       ],
-                       [
-                               'hidepatrolled' => 1,
-                               'hideunpatrolled' => 1,
-                       ],
-                       "rc conditions: hidepatrolled=1 hideunpatrolled=1",
-                       $user
-               );
-       }
-
-       public function testFilterUserExpLevel() {
-               $this->setMwGlobals( [
-                       'wgLearnerEdits' => 10,
-                       'wgLearnerMemberSince' => 4,
-                       'wgExperiencedUserEdits' => 500,
-                       'wgExperiencedUserMemberSince' => 30,
-               ] );
-
-               $this->createUsers( [
-                       'Newcomer1' => [ 'edits' => 2, 'days' => 2 ],
-                       'Newcomer2' => [ 'edits' => 12, 'days' => 3 ],
-                       'Newcomer3' => [ 'edits' => 8, 'days' => 5 ],
-                       'Learner1' => [ 'edits' => 15, 'days' => 10 ],
-                       'Learner2' => [ 'edits' => 450, 'days' => 20 ],
-                       'Learner3' => [ 'edits' => 460, 'days' => 33 ],
-                       'Learner4' => [ 'edits' => 525, 'days' => 28 ],
-                       'Experienced1' => [ 'edits' => 538, 'days' => 33 ],
-               ] );
-
-               // newcomers only
-               $this->assertArrayEquals(
-                       [ 'Newcomer1', 'Newcomer2', 'Newcomer3' ],
-                       $this->fetchUsers( [ 'userExpLevel' => 'newcomer' ] )
-               );
-
-               // newcomers and learner
-               $this->assertArrayEquals(
-                       [
-                               'Newcomer1', 'Newcomer2', 'Newcomer3',
-                               'Learner1', 'Learner2', 'Learner3', 'Learner4',
-                       ],
-                       $this->fetchUsers( [ 'userExpLevel' => 'newcomer,learner' ] )
-               );
-
-               // newcomers and more learner
-               $this->assertArrayEquals(
-                       [
-                               'Newcomer1', 'Newcomer2', 'Newcomer3',
-                               'Experienced1',
-                       ],
-                       $this->fetchUsers( [ 'userExpLevel' => 'newcomer,experienced' ] )
-               );
-
-               // learner only
-               $this->assertArrayEquals(
-                       [ 'Learner1', 'Learner2', 'Learner3', 'Learner4' ],
-                       $this->fetchUsers( [ 'userExpLevel' => 'learner' ] )
-               );
-
-               // more experienced only
-               $this->assertArrayEquals(
-                       [ 'Experienced1' ],
-                       $this->fetchUsers( [ 'userExpLevel' => 'experienced' ] )
-               );
-
-               // learner and more experienced
-               $this->assertArrayEquals(
-                       [
-                               'Learner1', 'Learner2', 'Learner3', 'Learner4',
-                               'Experienced1',
-                       ],
-                       $this->fetchUsers( [ 'userExpLevel' => 'learner,experienced' ] )
-               );
-
-               // newcomers, learner, and more experienced
-               $this->assertArrayEquals(
-                       [
-                               'Newcomer1', 'Newcomer2', 'Newcomer3',
-                               'Learner1', 'Learner2', 'Learner3', 'Learner4',
-                               'Experienced1',
-                       ],
-                       $this->fetchUsers( [ 'userExpLevel' => 'newcomer,learner,experienced' ] )
-               );
-
-               // 'all'
-               $this->assertArrayEquals(
-                       [
-                               'Newcomer1', 'Newcomer2', 'Newcomer3',
-                               'Learner1', 'Learner2', 'Learner3', 'Learner4',
-                               'Experienced1',
-                       ],
-                       $this->fetchUsers( [ 'userExpLevel' => 'all' ] )
-               );
-       }
-
-       private function createUsers( $specs ) {
-               $dbw = wfGetDB( DB_MASTER );
-               foreach ( $specs as $name => $spec ) {
-                       User::createNew(
-                               $name,
-                               [
-                                       'editcount' => $spec['edits'],
-                                       'registration' => $dbw->timestamp( $this->daysAgo( $spec['days'] ) ),
-                                       'email' => 'ut',
-                               ]
-                       );
-               }
-       }
-
-       private function fetchUsers( $filters ) {
-               $specialRC = new SpecialRecentChanges();
-
-               $tables = [];
-               $conds = [];
-               $join_conds = [];
-
-               $specialRC->filterOnUserExperienceLevel(
-                       $tables,
-                       $conds,
-                       $join_conds,
-                       $filters
-               );
-
-               $result = wfGetDB( DB_MASTER )->select(
-                       'user',
-                       'user_name',
-                       array_filter( $conds ) + [ 'user_email' => 'ut' ]
-               );
-
-               $usernames = [];
-               foreach ( $result as $row ) {
-                       $usernames[] = $row->user_name;
-               }
-
-               return $usernames;
-       }
-
-       private function daysAgo( $days ) {
-               $secondsPerDay = 86400;
-               return time() - $days * $secondsPerDay;
-       }
 }
index 9daae97..4e9d826 100644 (file)
@@ -150,23 +150,25 @@ class SpecialSearchTest extends MediaWikiTestCase {
                        [
                                'With suggestion and no rewritten query shows did you mean',
                                '/Did you mean: <a[^>]+>first suggestion/',
-                               new SpecialSearchTestMockResultSet( 'first suggestion', null, [
-                                       SearchResult::newFromTitle( Title::newMainPage() ),
-                               ] ),
+                               'first suggestion',
+                               null,
+                               [ Title::newMainPage() ]
                        ],
 
                        [
                                'With rewritten query informs user of change',
                                '/Showing results for <a[^>]+>first suggestion/',
-                               new SpecialSearchTestMockResultSet( 'asdf', 'first suggestion', [
-                                       SearchResult::newFromTitle( Title::newMainPage() ),
-                               ] ),
+                               'asdf',
+                               'first suggestion',
+                               [ Title::newMainPage() ]
                        ],
 
                        [
                                'When both queries have no results user gets no results',
                                '/There were no results matching the query/',
-                               new SpecialSearchTestMockResultSet( 'first suggestion', 'first suggestion', [] ),
+                               'first suggestion',
+                               'first suggestion',
+                               []
                        ],
                ];
        }
@@ -174,8 +176,24 @@ class SpecialSearchTest extends MediaWikiTestCase {
        /**
         * @dataProvider provideRewriteQueryWithSuggestion
         */
-       public function testRewriteQueryWithSuggestion( $message, $expectRegex, $results ) {
-               $mockSearchEngine = $this->mockSearchEngine( $results );
+       public function testRewriteQueryWithSuggestion(
+               $message,
+               $expectRegex,
+               $suggestion,
+               $rewrittenQuery,
+               array $resultTitles
+       ) {
+               $results = array_map( function( $title ) {
+                       return SearchResult::newFromTitle( $title );
+               }, $resultTitles );
+
+               $searchResults = new SpecialSearchTestMockResultSet(
+                       $suggestion,
+                       $rewrittenQuery,
+                       $results
+               );
+
+               $mockSearchEngine = $this->mockSearchEngine( $searchResults );
                $search = $this->getMockBuilder( 'SpecialSearch' )
                        ->setMethods( [ 'getSearchEngine' ] )
                        ->getMock();
index 6e702b6..66d35a5 100644 (file)
@@ -8,6 +8,41 @@
  * @covers SpecialWatchlist
  */
 class SpecialWatchlistTest extends SpecialPageTestBase {
+       public function setUp() {
+               parent::setUp();
+
+               $this->setTemporaryHook(
+                       'ChangesListSpecialPageFilters',
+                       null
+               );
+
+               $this->setTemporaryHook(
+                       'SpecialWatchlistQuery',
+                       null
+               );
+
+               $this->setTemporaryHook(
+                       'ChangesListSpecialPageQuery',
+                       null
+               );
+
+               $this->setMwGlobals(
+                       'wgDefaultUserOptions',
+                       [
+                               'extendwatchlist' => 1,
+                               'watchlistdays' => 3.0,
+                               'watchlisthideanons' => 0,
+                               'watchlisthidebots' => 0,
+                               'watchlisthideliu' => 0,
+                               'watchlisthideminor' => 0,
+                               'watchlisthideown' => 0,
+                               'watchlisthidepatrolled' => 0,
+                               'watchlisthidecategorization' => 1,
+                               'watchlistreloadautomatically' => 0,
+                       ]
+               );
+
+       }
 
        /**
         * Returns a new instance of the special page under test.
@@ -29,4 +64,124 @@ class SpecialWatchlistTest extends SpecialPageTestBase {
                $this->assertContains( '(nowatchlist)', $html );
        }
 
+       /**
+        * @dataProvider provideFetchOptionsFromRequest
+        */
+       public function testFetchOptionsFromRequest( $expectedValues, $preferences, $inputParams ) {
+               $page = TestingAccessWrapper::newFromObject(
+                       $this->newSpecialPage()
+               );
+
+               $context = new DerivativeContext( $page->getContext() );
+
+               $fauxRequest = new FauxRequest( $inputParams, /* $wasPosted= */ false );
+               $user = $this->getTestUser()->getUser();
+
+               foreach ( $preferences as $key => $value ) {
+                       $user->setOption( $key, $value );
+               }
+
+               $context->setRequest( $fauxRequest );
+               $context->setUser( $user );
+               $page->setContext( $context );
+
+               $page->registerFilters();
+               $formOptions = $page->getDefaultOptions();
+               $page->fetchOptionsFromRequest( $formOptions );
+
+               $this->assertArrayEquals(
+                       $expectedValues,
+                       $formOptions->getAllValues(),
+                       /* $ordered= */ false,
+                       /* $named= */ true
+               );
+       }
+
+       public function provideFetchOptionsFromRequest() {
+               // $defaults and $allFalse are just to make the expected values below
+               // shorter by hiding the background.
+
+               $page = TestingAccessWrapper::newFromObject(
+                       $this->newSpecialPage()
+               );
+
+               $this->setTemporaryHook(
+                       'ChangesListSpecialPageFilters',
+                       null
+               );
+
+               $page->registerFilters();
+
+               // Does not consider $preferences, just wiki's defaults
+               $wikiDefaults = $page->getDefaultOptions()->getAllValues();
+
+               $allFalse = $wikiDefaults;
+
+               foreach ( $allFalse as $key => &$value ) {
+                       if ( $value === true ) {
+                               $value = false;
+                       }
+               }
+
+               // This is not exposed on the form (only in preferences) so it
+               // respects the preference.
+               $allFalse['extended'] = true;
+
+               return [
+                       [
+                               [
+                                       'hideminor' => true,
+                               ] + $wikiDefaults,
+                               [],
+                               [
+                                       'hideMinor' => 1,
+                               ],
+                       ],
+
+                       [
+                               [
+                                       // First two same as prefs
+                                       'hideminor' => true,
+                                       'hidebots' => false,
+
+                                       // Second two overriden
+                                       'hideanons' => false,
+                                       'hideliu' => true,
+                               ] + $wikiDefaults,
+                               [
+                                       'watchlisthideminor' => 1,
+                                       'watchlisthidebots' => 0,
+
+                                       'watchlisthideanons' => 1,
+                                       'watchlisthideliu' => 0,
+                               ],
+                               [
+                                       'hideanons' => 0,
+                                       'hideliu' => 1,
+                               ],
+                       ],
+
+                       // Defaults/preferences for form elements are entirely ignored for
+                       // action=submit and omitted elements become false
+                       [
+                               [
+                                       'hideminor' => false,
+                                       'hidebots' => true,
+                                       'hideanons' => false,
+                                       'hideliu' => true,
+                               ] + $allFalse,
+                               [
+                                       'watchlisthideminor' => 0,
+                                       'watchlisthidebots' => 1,
+                                       'watchlisthideanons' => 1,
+                                       'watchlisthideliu' => 0,
+                               ],
+                               [
+                                       'hidebots' => 1,
+                                       'hideliu' => 1,
+                                       'action' => 'submit',
+                               ],
+                       ],
+               ];
+       }
 }
diff --git a/tests/phpunit/includes/tidy/RemexDriverTest.php b/tests/phpunit/includes/tidy/RemexDriverTest.php
new file mode 100644 (file)
index 0000000..6b16cbf
--- /dev/null
@@ -0,0 +1,297 @@
+<?php
+
+class RemexDriverTest extends MediaWikiTestCase {
+       static private $remexTidyTestData = [
+               // Tests from Html5Depurate
+               [
+                       'Empty string',
+                       "",
+                       ""
+               ],
+               [
+                       'Simple p-wrap',
+                       "x",
+                       "<p>x</p>"
+               ],
+               [
+                       'No p-wrap of blank node',
+                       " ",
+                       " "
+               ],
+               [
+                       'p-wrap terminated by div',
+                       "x<div></div>",
+                       "<p>x</p><div></div>"
+               ],
+               [
+                       'p-wrap not terminated by span',
+                       "x<span></span>",
+                       "<p>x<span></span></p>"
+               ],
+               [
+                       'An element is non-blank and so gets p-wrapped',
+                       "<span></span>",
+                       "<p><span></span></p>"
+               ],
+               [
+                       'The blank flag is set after a block-level element',
+                       "<div></div> ",
+                       "<div></div> "
+               ],
+               [
+                       'Blank detection between two block-level elements',
+                       "<div></div> <div></div>",
+                       "<div></div> <div></div>"
+               ],
+               [
+                       'But p-wrapping of non-blank content works after an element',
+                       "<div></div>x",
+                       "<div></div><p>x</p>"
+               ],
+               [
+                       'p-wrapping between two block-level elements',
+                       "<div></div>x<div></div>",
+                       "<div></div><p>x</p><div></div>"
+               ],
+               [
+                       'p-wrap inside blockquote',
+                       "<blockquote>x</blockquote>",
+                       "<blockquote><p>x</p></blockquote>"
+               ],
+               [
+                       'A comment is blank for p-wrapping purposes',
+                       "<!-- x -->",
+                       "<!-- x -->"
+               ],
+               [
+                       'A comment is blank even when a p-wrap was opened by a text node',
+                       " <!-- x -->",
+                       " <!-- x -->"
+               ],
+               [
+                       'A comment does not open a p-wrap',
+                       "<!-- x -->x",
+                       "<!-- x --><p>x</p>"
+               ],
+               [
+                       'A comment does not close a p-wrap',
+                       "x<!-- x -->",
+                       "<p>x<!-- x --></p>"
+               ],
+               [
+                       'Empty li',
+                       "<ul><li></li></ul>",
+                       "<ul><li class=\"mw-empty-elt\"></li></ul>"
+               ],
+               [
+                       'li with element',
+                       "<ul><li><span></span></li></ul>",
+                       "<ul><li><span></span></li></ul>"
+               ],
+               [
+                       'li with text',
+                       "<ul><li>x</li></ul>",
+                       "<ul><li>x</li></ul>"
+               ],
+               [
+                       'Empty tr',
+                       "<table><tbody><tr></tr></tbody></table>",
+                       "<table><tbody><tr class=\"mw-empty-elt\"></tr></tbody></table>"
+               ],
+               [
+                       'Empty p',
+                       "<p>\n</p>",
+                       "<p class=\"mw-empty-elt\">\n</p>"
+               ],
+               [
+                       'No p-wrapping of an inline element which contains a block element (T150317)',
+                       "<small><div>x</div></small>",
+                       "<small><div>x</div></small>"
+               ],
+               [
+                       'p-wrapping of an inline element which contains an inline element',
+                       "<small><b>x</b></small>",
+                       "<p><small><b>x</b></small></p>"
+               ],
+               [
+                       'p-wrapping is enabled in a blockquote in an inline element',
+                       "<small><blockquote>x</blockquote></small>",
+                       "<small><blockquote><p>x</p></blockquote></small>"
+               ],
+               [
+                       'All bare text should be p-wrapped even when surrounded by block tags',
+                       "<small><blockquote>x</blockquote></small>y<div></div>z",
+                       "<small><blockquote><p>x</p></blockquote></small><p>y</p><div></div><p>z</p>"
+               ],
+               [
+                       'Split tag stack 1',
+                       "<small>x<div>y</div>z</small>",
+                       "<p><small>x</small></p><small><div>y</div></small><p><small>z</small></p>"
+               ],
+               [
+                       'Split tag stack 2',
+                       "<small><div>y</div>z</small>",
+                       "<small><div>y</div></small><p><small>z</small></p>"
+               ],
+               [
+                       'Split tag stack 3',
+                       "<small>x<div>y</div></small>",
+                       "<p><small>x</small></p><small><div>y</div></small>"
+               ],
+               [
+                       'Split tag stack 4 (modified to use splittable tag)',
+                       "a<code>b<i>c<div>d</div></i>e</code>",
+                       "<p>a<code>b<i>c</i></code></p><code><i><div>d</div></i></code><p><code>e</code></p>"
+               ],
+               [
+                       "Split tag stack regression check 1",
+                       "x<span><div>y</div></span>",
+                       "<p>x</p><span><div>y</div></span>"
+               ],
+               [
+                       "Split tag stack regression check 2 (modified to use splittable tag)",
+                       "a<code><i><div>d</div></i>e</code>",
+                       "<p>a</p><code><i><div>d</div></i></code><p><code>e</code></p>"
+               ],
+               // Simple tests from pwrap.js
+               [
+                       'Simple pwrap test 1',
+                       'a',
+                       '<p>a</p>'
+               ],
+               [
+                       '<span> is not a splittable tag, but gets p-wrapped in simple wrapping scenarios',
+                       '<span>a</span>',
+                       '<p><span>a</span></p>'
+               ],
+               [
+                       'Simple pwrap test 3',
+                       'x <div>a</div> <div>b</div> y',
+                       '<p>x </p><div>a</div> <div>b</div><p> y</p>'
+               ],
+               [
+                       'Simple pwrap test 4',
+                       'x<!--c--> <div>a</div> <div>b</div> <!--c-->y',
+                       '<p>x<!--c--> </p><div>a</div> <div>b</div> <!--c--><p>y</p>'
+               ],
+               // Complex tests from pwrap.js
+               [
+                       'Complex pwrap test 1',
+                       '<i>x<div>a</div>y</i>',
+                       '<p><i>x</i></p><i><div>a</div></i><p><i>y</i></p>'
+               ],
+               [
+                       'Complex pwrap test 2',
+                       'a<small>b</small><i>c<div>d</div>e</i>f',
+                       '<p>a<small>b</small><i>c</i></p><i><div>d</div></i><p><i>e</i>f</p>'
+               ],
+               [
+                       'Complex pwrap test 3',
+                       'a<small>b<i>c<div>d</div></i>e</small>',
+                       '<p>a<small>b<i>c</i></small></p><small><i><div>d</div></i></small><p><small>e</small></p>'
+               ],
+               [
+                       'Complex pwrap test 4',
+                       'x<small><div>y</div></small>',
+                       '<p>x</p><small><div>y</div></small>'
+               ],
+               [
+                       'Complex pwrap test 5',
+                       'a<small><i><div>d</div></i>e</small>',
+                       '<p>a</p><small><i><div>d</div></i></small><p><small>e</small></p>'
+               ],
+               [
+                       'Complex pwrap test 6',
+                       '<i>a<div>b</div>c<b>d<div>e</div>f</b>g</i>',
+                       // @codingStandardsIgnoreStart Generic.Files.LineLength.TooLong
+                       // PHP 5 does not allow concatenation in initialisation of a class static variable
+                       '<p><i>a</i></p><i><div>b</div></i><p><i>c<b>d</b></i></p><i><b><div>e</div></b></i><p><i><b>f</b>g</i></p>'
+                       // @codingStandardsIgnoreEnd
+               ],
+               /* FIXME the second <b> causes a stack split which clones the <i> even
+                * though no <p> is actually generated
+               [
+                       'Complex pwrap test 7',
+                       '<i><b><font><div>x</div></font></b><div>y</div><b><font><div>z</div></font></b></i>',
+                       '<i><b><font><div>x</div></font></b><div>y</div><b><font><div>z</div></font></b></i>'
+               ],
+                */
+               // New local tests
+               [
+                       'Blank text node after block end',
+                       '<small>x<div>y</div> <b>z</b></small>',
+                       '<p><small>x</small></p><small><div>y</div></small><p><small> <b>z</b></small></p>'
+               ],
+               [
+                       'Text node fostering (FIXME: wrap missing)',
+                       '<table>x</table>',
+                       'x<table></table>'
+               ],
+               [
+                       'Blockquote fostering',
+                       '<table><blockquote>x</blockquote></table>',
+                       '<blockquote><p>x</p></blockquote><table></table>'
+               ],
+               [
+                       'Block element fostering',
+                       '<table><div>x',
+                       '<div>x</div><table></table>'
+               ],
+               [
+                       'Formatting element fostering (FIXME: wrap missing)',
+                       '<table><b>x',
+                       '<b>x</b><table></table>'
+               ],
+               [
+                       'AAA clone of p-wrapped element (FIXME: empty b)',
+                       '<b>x<p>y</b>z</p>',
+                       '<p><b>x</b></p><b></b><p><b>y</b>z</p>',
+               ],
+               [
+                       'AAA with fostering (FIXME: wrap missing)',
+                       '<table><b>1<p>2</b>3</p>',
+                       '<b>1</b><p><b>2</b>3</p><table></table>'
+               ],
+       ];
+
+       public function provider() {
+               return self::$remexTidyTestData;
+       }
+
+       /**
+        * @dataProvider provider
+        * @covers MediaWiki\Tidy\RemexCompatFormatter
+        * @covers MediaWiki\Tidy\RemexCompatMunger
+        * @covers MediaWiki\Tidy\RemexDriver
+        * @covers MediaWiki\Tidy\RemexMungerData
+        */
+       public function testTidy( $desc, $input, $expected ) {
+               $r = new MediaWiki\Tidy\RemexDriver( [] );
+               $result = $r->tidy( $input );
+               $this->assertEquals( $expected, $result, $desc );
+       }
+
+       public function html5libProvider() {
+               $files = json_decode( file_get_contents( __DIR__ . '/html5lib-tests.json' ), true );
+               $tests = [];
+               foreach ( $files as $file => $fileTests ) {
+                       foreach ( $fileTests as $i => $test ) {
+                               $tests[] = [ "$file:$i", $test['data'] ];
+                       }
+               }
+               return $tests;
+       }
+
+       /**
+        * This is a quick and dirty test to make sure none of the html5lib tests
+        * generate exceptions. We don't really know what the expected output is.
+        *
+        * @dataProvider html5libProvider
+        * @coversNothing
+        */
+       public function testHtml5Lib( $desc, $input ) {
+               $r = new MediaWiki\Tidy\RemexDriver( [] );
+               $result = $r->tidy( $input );
+               $this->assertTrue( true, $desc );
+       }
+}
diff --git a/tests/phpunit/languages/LanguageCodeTest.php b/tests/phpunit/languages/LanguageCodeTest.php
new file mode 100644 (file)
index 0000000..b33360c
--- /dev/null
@@ -0,0 +1,40 @@
+<?php
+
+/**
+ * @covers LanguageCode
+ *
+ * @group Language
+ *
+ * @license GPL-2.0+
+ * @author Thiemo Mättig
+ */
+class LanguageCodeTest extends PHPUnit_Framework_TestCase {
+
+       public function testConstructor() {
+               $instance = new LanguageCode();
+
+               $this->assertInstanceOf( LanguageCode::class, $instance );
+       }
+
+       public function testGetDeprecatedCodeMapping() {
+               $map = LanguageCode::getDeprecatedCodeMapping();
+
+               $this->assertInternalType( 'array', $map );
+               $this->assertContainsOnly( 'string', array_keys( $map ) );
+               $this->assertArrayNotHasKey( '', $map );
+               $this->assertContainsOnly( 'string', $map );
+               $this->assertNotContains( '', $map );
+
+               // Codes special to MediaWiki should never appear in a map of "deprecated" codes
+               $this->assertArrayNotHasKey( 'qqq', $map, 'documentation' );
+               $this->assertNotContains( 'qqq', $map, 'documentation' );
+               $this->assertArrayNotHasKey( 'qqx', $map, 'debug code' );
+               $this->assertNotContains( 'qqx', $map, 'debug code' );
+
+               // Valid language codes that are currently not "deprecated"
+               $this->assertArrayNotHasKey( 'bh', $map, 'family of Bihari languages' );
+               $this->assertArrayNotHasKey( 'no', $map, 'family of Norwegian languages' );
+               $this->assertArrayNotHasKey( 'simple', $map );
+       }
+
+}
diff --git a/tests/phpunit/mocks/MockChangesListFilter.php b/tests/phpunit/mocks/MockChangesListFilter.php
new file mode 100644 (file)
index 0000000..cbf306e
--- /dev/null
@@ -0,0 +1,11 @@
+<?php
+
+class MockChangesListFilter extends ChangesListFilter {
+       public function displaysOnUnstructuredUi( ChangesListSpecialPage $specialPage ) {
+               throw new MWException(
+                       'Not implemented: If the test relies on this, put it one of the ' .
+                       'subclasses\' tests (e.g. ChangesListBooleanFilterTest) ' .
+                       'instead of testing the abstract class'
+               );
+       }
+}
diff --git a/tests/phpunit/mocks/MockChangesListFilterGroup.php b/tests/phpunit/mocks/MockChangesListFilterGroup.php
new file mode 100644 (file)
index 0000000..f2891ce
--- /dev/null
@@ -0,0 +1,19 @@
+<?php
+
+class MockChangesListFilterGroup extends ChangesListFilterGroup {
+       public function createFilter( array $filterDefinition ) {
+               return new MockChangesListFilter( $filterDefinition );
+       }
+
+       public function registerFilter( MockChangesListFilter $filter ) {
+               $this->filters[$filter->getName()] = $filter;
+       }
+
+       public function isPerGroupRequestParameter() {
+               throw new MWException(
+                       'Not implemented: If the test relies on this, put it one of the ' .
+                       'subclasses\' tests (e.g. ChangesListBooleanFilterGroupTest) ' .
+                       'instead of testing the abstract class'
+               );
+       }
+}
index cef5c15..b0118af 100644 (file)
@@ -1,8 +1,8 @@
-/* global CompletenessTest, sinon */
+/* global sinon */
 ( function ( $, mw, QUnit ) {
        'use strict';
 
-       var mwTestIgnore, addons;
+       var addons;
 
        /**
         * Add bogus to url to prevent IE crazy caching
                value: 'true'
        } );
 
-       /**
-        * CompletenessTest
-        *
-        * Adds toggle checkbox to header
-        */
-       QUnit.config.urlConfig.push( {
-               id: 'completenesstest',
-               label: 'Run CompletenessTest',
-               tooltip: 'Run the completeness test'
-       } );
-
        /**
         * SinonJS
         *
                };
        }() );
 
-       // Initiate when enabled
-       if ( QUnit.urlParams.completenesstest ) {
-
-               // Return true to ignore
-               mwTestIgnore = function ( val, tester ) {
-
-                       // Don't record methods of the properties of constructors,
-                       // to avoid getting into a loop (prototype.constructor.prototype..).
-                       // Since we're therefor skipping any injection for
-                       // "new mw.Foo()", manually set it to true here.
-                       if ( val instanceof mw.Map ) {
-                               tester.methodCallTracker.Map = true;
-                               return true;
-                       }
-                       if ( val instanceof mw.Title ) {
-                               tester.methodCallTracker.Title = true;
-                               return true;
-                       }
-
-                       // Don't record methods of the properties of a jQuery object
-                       if ( val instanceof $ ) {
-                               return true;
-                       }
-
-                       // Don't iterate over the module registry (the 'script' references would
-                       // be listed as untested methods otherwise)
-                       if ( val === mw.loader.moduleRegistry ) {
-                               return true;
-                       }
-
-                       return false;
-               };
-
-               // eslint-disable-next-line no-new
-               new CompletenessTest( mw, mwTestIgnore );
-       }
-
        /**
         * Reset mw.config and others to a fresh copy of the live config for each test(),
         * and restore it back to the live one afterwards.
index 25ea988..271648f 100644 (file)
@@ -1,14 +1,16 @@
+/* eslint-disable camelcase */
 ( function ( mw ) {
        QUnit.module( 'mediawiki.rcfilters - FilterItem' );
 
        QUnit.test( 'Initializing filter item', function ( assert ) {
                var item,
-                       group1 = new mw.rcfilters.dm.FilterGroup( 'group1' );
+                       group1 = new mw.rcfilters.dm.FilterGroup( 'group1' ),
+                       group2 = new mw.rcfilters.dm.FilterGroup( 'group2' );
 
                item = new mw.rcfilters.dm.FilterItem( 'filter1', group1 );
                assert.equal(
                        item.getName(),
-                       'filter1',
+                       'group1__filter1',
                        'Filter name is retained.'
                );
                assert.equal(
                        'filter1',
                        group1,
                        {
-                               conflicts: [ 'conflict1', 'conflict2', 'conflict3' ]
+                               conflicts: {
+                                       group2__conflict1: { group: 'group2', filter: 'group2__conflict1' },
+                                       group2__conflict2: { group: 'group2', filter: 'group2__conflict2' },
+                                       group2__conflict3: { group: 'group2', filter: 'group2__conflict3' }
+                               }
                        }
                );
                assert.deepEqual(
                        item.getConflicts(),
-                       [ 'conflict1', 'conflict2', 'conflict3' ],
+                       {
+                               group2__conflict1: { group: 'group2', filter: 'group2__conflict1' },
+                               group2__conflict2: { group: 'group2', filter: 'group2__conflict2' },
+                               group2__conflict3: { group: 'group2', filter: 'group2__conflict3' }
+                       },
                        'Conflict information is retained.'
                );
                assert.equal(
-                       // TODO: Consider allowing for either a FilterItem or a filter name
-                       // in this method, so it is consistent with the subset one
-                       item.existsInConflicts( new mw.rcfilters.dm.FilterItem( 'conflict1', group1 ) ),
+                       item.existsInConflicts( new mw.rcfilters.dm.FilterItem( 'conflict1', group2 ) ),
                        true,
                        'Specific item exists in conflicts.'
                );
index ad0ed54..405fdcf 100644 (file)
+/* eslint-disable camelcase */
 ( function ( mw, $ ) {
-       QUnit.module( 'mediawiki.rcfilters - FiltersViewModel' );
+       QUnit.module( 'mediawiki.rcfilters - FiltersViewModel', QUnit.newMwEnvironment( {
+               messages: {
+                       'group1filter1-label': 'Group 1: Filter 1',
+                       'group1filter1-desc': 'Description of Filter 1 in Group 1',
+                       'group1filter2-label': 'Group 1: Filter 2',
+                       'group1filter2-desc': 'Description of Filter 2 in Group 1',
+                       'group2filter1-label': 'Group 2: Filter 1',
+                       'group2filter1-desc': 'Description of Filter 1 in Group 2',
+                       'group2filter2-label': 'xGroup 2: Filter 2',
+                       'group2filter2-desc': 'Description of Filter 2 in Group 2'
+               }
+       } ) );
 
        QUnit.test( 'Setting up filters', function ( assert ) {
-               var definition = {
-                               group1: {
-                                       title: 'Group 1',
-                                       type: 'send_unselected_if_any',
-                                       filters: [
-                                               {
-                                                       name: 'group1filter1',
-                                                       label: 'Group 1: Filter 1',
-                                                       description: 'Description of Filter 1 in Group 1'
-                                               },
-                                               {
-                                                       name: 'group1filter2',
-                                                       label: 'Group 1: Filter 2',
-                                                       description: 'Description of Filter 2 in Group 1'
-                                               }
-                                       ]
-                               },
-                               group2: {
-                                       title: 'Group 2',
-                                       type: 'send_unselected_if_any',
-                                       filters: [
-                                               {
-                                                       name: 'group2filter1',
-                                                       label: 'Group 2: Filter 1',
-                                                       description: 'Description of Filter 1 in Group 2'
-                                               },
-                                               {
-                                                       name: 'group2filter2',
-                                                       label: 'Group 2: Filter 2',
-                                                       description: 'Description of Filter 2 in Group 2'
-                                               }
-                                       ]
-                               },
-                               group3: {
-                                       title: 'Group 3',
-                                       type: 'string_options',
-                                       filters: [
-                                               {
-                                                       name: 'group3filter1',
-                                                       label: 'Group 3: Filter 1',
-                                                       description: 'Description of Filter 1 in Group 3'
-                                               },
-                                               {
-                                                       name: 'group3filter2',
-                                                       label: 'Group 3: Filter 2',
-                                                       description: 'Description of Filter 2 in Group 3'
-                                               }
-                                       ]
-                               }
-                       },
+               var definition = [ {
+                               name: 'group1',
+                               title: 'Group 1',
+                               type: 'send_unselected_if_any',
+                               filters: [
+                                       {
+                                               name: 'filter1',
+                                               label: 'Group 1: Filter 1',
+                                               description: 'Description of Filter 1 in Group 1'
+                                       },
+                                       {
+                                               name: 'filter2',
+                                               label: 'Group 1: Filter 2',
+                                               description: 'Description of Filter 2 in Group 1'
+                                       }
+                               ]
+                       }, {
+                               name: 'group2',
+                               title: 'Group 2',
+                               type: 'send_unselected_if_any',
+                               filters: [
+                                       {
+                                               name: 'filter1',
+                                               label: 'Group 2: Filter 1',
+                                               description: 'Description of Filter 1 in Group 2'
+                                       },
+                                       {
+                                               name: 'filter2',
+                                               label: 'Group 2: Filter 2',
+                                               description: 'Description of Filter 2 in Group 2'
+                                       }
+                               ]
+                       }, {
+                               name: 'group3',
+                               title: 'Group 3',
+                               type: 'string_options',
+                               filters: [
+                                       {
+                                               name: 'filter1',
+                                               label: 'Group 3: Filter 1',
+                                               description: 'Description of Filter 1 in Group 3'
+                                       },
+                                       {
+                                               name: 'filter2',
+                                               label: 'Group 3: Filter 2',
+                                               description: 'Description of Filter 2 in Group 3'
+                                       }
+                               ]
+                       } ],
                        model = new mw.rcfilters.dm.FiltersViewModel();
 
                model.initializeFilters( definition );
 
                assert.ok(
-                       model.getItemByName( 'group1filter1' ) instanceof mw.rcfilters.dm.FilterItem &&
-                       model.getItemByName( 'group1filter2' ) instanceof mw.rcfilters.dm.FilterItem &&
-                       model.getItemByName( 'group2filter1' ) instanceof mw.rcfilters.dm.FilterItem &&
-                       model.getItemByName( 'group2filter2' ) instanceof mw.rcfilters.dm.FilterItem &&
-                       model.getItemByName( 'group3filter1' ) instanceof mw.rcfilters.dm.FilterItem &&
-                       model.getItemByName( 'group3filter2' ) instanceof mw.rcfilters.dm.FilterItem,
+                       model.getItemByName( 'group1__filter1' ) instanceof mw.rcfilters.dm.FilterItem &&
+                       model.getItemByName( 'group1__filter2' ) instanceof mw.rcfilters.dm.FilterItem &&
+                       model.getItemByName( 'group2__filter1' ) instanceof mw.rcfilters.dm.FilterItem &&
+                       model.getItemByName( 'group2__filter2' ) instanceof mw.rcfilters.dm.FilterItem &&
+                       model.getItemByName( 'group3__filter1' ) instanceof mw.rcfilters.dm.FilterItem &&
+                       model.getItemByName( 'group3__filter2' ) instanceof mw.rcfilters.dm.FilterItem,
                        'Filters instantiated and stored correctly'
                );
 
                assert.deepEqual(
                        model.getSelectedState(),
                        {
-                               group1filter1: false,
-                               group1filter2: false,
-                               group2filter1: false,
-                               group2filter2: false,
-                               group3filter1: false,
-                               group3filter2: false
+                               group1__filter1: false,
+                               group1__filter2: false,
+                               group2__filter1: false,
+                               group2__filter2: false,
+                               group3__filter1: false,
+                               group3__filter2: false
                        },
                        'Initial state of filters'
                );
 
                model.toggleFiltersSelected( {
-                       group1filter1: true,
-                       group2filter2: true,
-                       group3filter1: true
+                       group1__filter1: true,
+                       group2__filter2: true,
+                       group3__filter1: true
                } );
                assert.deepEqual(
                        model.getSelectedState(),
                        {
-                               group1filter1: true,
-                               group1filter2: false,
-                               group2filter1: false,
-                               group2filter2: true,
-                               group3filter1: true,
-                               group3filter2: false
+                               group1__filter1: true,
+                               group1__filter2: false,
+                               group2__filter1: false,
+                               group2__filter2: true,
+                               group3__filter1: true,
+                               group3__filter2: false
                        },
                        'Updating filter states correctly'
                );
 
        QUnit.test( 'Finding matching filters', function ( assert ) {
                var matches,
-                       definition = {
-                               group1: {
-                                       title: 'Group 1 title',
-                                       type: 'send_unselected_if_any',
-                                       filters: [
-                                               {
-                                                       name: 'group1filter1',
-                                                       label: 'Group 1: Filter 1',
-                                                       description: 'Description of Filter 1 in Group 1'
-                                               },
-                                               {
-                                                       name: 'group1filter2',
-                                                       label: 'Group 1: Filter 2',
-                                                       description: 'Description of Filter 2 in Group 1'
-                                               }
-                                       ]
-                               },
-                               group2: {
-                                       title: 'Group 2 title',
-                                       type: 'send_unselected_if_any',
-                                       filters: [
-                                               {
-                                                       name: 'group2filter1',
-                                                       label: 'Group 2: Filter 1',
-                                                       description: 'Description of Filter 1 in Group 2'
-                                               },
-                                               {
-                                                       name: 'group2filter2',
-                                                       label: 'xGroup 2: Filter 2',
-                                                       description: 'Description of Filter 2 in Group 2'
-                                               }
-                                       ]
-                               }
-                       },
+                       definition = [ {
+                               name: 'group1',
+                               title: 'Group 1 title',
+                               type: 'send_unselected_if_any',
+                               filters: [
+                                       {
+                                               name: 'filter1',
+                                               label: 'group1filter1-label',
+                                               description: 'group1filter1-desc'
+                                       },
+                                       {
+                                               name: 'filter2',
+                                               label: 'group1filter2-label',
+                                               description: 'group1filter2-desc'
+                                       }
+                               ]
+                       }, {
+                               name: 'group2',
+                               title: 'Group 2 title',
+                               type: 'send_unselected_if_any',
+                               filters: [
+                                       {
+                                               name: 'filter1',
+                                               label: 'group2filter1-label',
+                                               description: 'group2filter1-desc'
+                                       },
+                                       {
+                                               name: 'filter2',
+                                               label: 'group2filter2-label',
+                                               description: 'group2filter2-desc'
+                                       }
+                               ]
+                       } ],
                        testCases = [
                                {
                                        query: 'group',
                                        expectedMatches: {
-                                               group1: [ 'group1filter1', 'group1filter2' ],
-                                               group2: [ 'group2filter1' ]
+                                               group1: [ 'group1__filter1', 'group1__filter2' ],
+                                               group2: [ 'group2__filter1' ]
                                        },
                                        reason: 'Finds filters starting with the query string'
                                },
                                {
                                        query: 'filter 2 in group',
                                        expectedMatches: {
-                                               group1: [ 'group1filter2' ],
-                                               group2: [ 'group2filter2' ]
+                                               group1: [ 'group1__filter2' ],
+                                               group2: [ 'group2__filter2' ]
                                        },
                                        reason: 'Finds filters containing the query string in their description'
                                },
                                {
                                        query: 'title',
                                        expectedMatches: {
-                                               group1: [ 'group1filter1', 'group1filter2' ],
-                                               group2: [ 'group2filter1', 'group2filter2' ]
+                                               group1: [ 'group1__filter1', 'group1__filter2' ],
+                                               group2: [ 'group2__filter1', 'group2__filter2' ]
                                        },
                                        reason: 'Finds filters containing the query string in their group title'
                                }
        } );
 
        QUnit.test( 'getParametersFromFilters', function ( assert ) {
-               var definition = {
-                               group1: {
-                                       title: 'Group 1',
-                                       type: 'send_unselected_if_any',
-                                       filters: [
-                                               {
-                                                       name: 'hidefilter1',
-                                                       label: 'Group 1: Filter 1',
-                                                       description: 'Description of Filter 1 in Group 1'
-                                               },
-                                               {
-                                                       name: 'hidefilter2',
-                                                       label: 'Group 1: Filter 2',
-                                                       description: 'Description of Filter 2 in Group 1'
-                                               },
-                                               {
-                                                       name: 'hidefilter3',
-                                                       label: 'Group 1: Filter 3',
-                                                       description: 'Description of Filter 3 in Group 1'
-                                               }
-                                       ]
-                               },
-                               group2: {
-                                       title: 'Group 2',
-                                       type: 'send_unselected_if_any',
-                                       filters: [
-                                               {
-                                                       name: 'hidefilter4',
-                                                       label: 'Group 2: Filter 1',
-                                                       description: 'Description of Filter 1 in Group 2'
-                                               },
-                                               {
-                                                       name: 'hidefilter5',
-                                                       label: 'Group 2: Filter 2',
-                                                       description: 'Description of Filter 2 in Group 2'
-                                               },
-                                               {
-                                                       name: 'hidefilter6',
-                                                       label: 'Group 2: Filter 3',
-                                                       description: 'Description of Filter 3 in Group 2'
-                                               }
-                                       ]
-                               },
-                               group3: {
-                                       title: 'Group 3',
-                                       type: 'string_options',
-                                       separator: ',',
-                                       filters: [
-                                               {
-                                                       name: 'filter7',
-                                                       label: 'Group 3: Filter 1',
-                                                       description: 'Description of Filter 1 in Group 3'
-                                               },
-                                               {
-                                                       name: 'filter8',
-                                                       label: 'Group 3: Filter 2',
-                                                       description: 'Description of Filter 2 in Group 3'
-                                               },
-                                               {
-                                                       name: 'filter9',
-                                                       label: 'Group 3: Filter 3',
-                                                       description: 'Description of Filter 3 in Group 3'
-                                               }
-                                       ]
-                               }
-                       },
+               var definition = [ {
+                               name: 'group1',
+                               title: 'Group 1',
+                               type: 'send_unselected_if_any',
+                               filters: [
+                                       {
+                                               name: 'hidefilter1',
+                                               label: 'Group 1: Filter 1',
+                                               description: 'Description of Filter 1 in Group 1'
+                                       },
+                                       {
+                                               name: 'hidefilter2',
+                                               label: 'Group 1: Filter 2',
+                                               description: 'Description of Filter 2 in Group 1'
+                                       },
+                                       {
+                                               name: 'hidefilter3',
+                                               label: 'Group 1: Filter 3',
+                                               description: 'Description of Filter 3 in Group 1'
+                                       }
+                               ]
+                       }, {
+                               name: 'group2',
+                               title: 'Group 2',
+                               type: 'send_unselected_if_any',
+                               filters: [
+                                       {
+                                               name: 'hidefilter4',
+                                               label: 'Group 2: Filter 1',
+                                               description: 'Description of Filter 1 in Group 2'
+                                       },
+                                       {
+                                               name: 'hidefilter5',
+                                               label: 'Group 2: Filter 2',
+                                               description: 'Description of Filter 2 in Group 2'
+                                       },
+                                       {
+                                               name: 'hidefilter6',
+                                               label: 'Group 2: Filter 3',
+                                               description: 'Description of Filter 3 in Group 2'
+                                       }
+                               ]
+                       }, {
+                               name: 'group3',
+                               title: 'Group 3',
+                               type: 'string_options',
+                               separator: ',',
+                               filters: [
+                                       {
+                                               name: 'filter7',
+                                               label: 'Group 3: Filter 1',
+                                               description: 'Description of Filter 1 in Group 3'
+                                       },
+                                       {
+                                               name: 'filter8',
+                                               label: 'Group 3: Filter 2',
+                                               description: 'Description of Filter 2 in Group 3'
+                                       },
+                                       {
+                                               name: 'filter9',
+                                               label: 'Group 3: Filter 3',
+                                               description: 'Description of Filter 3 in Group 3'
+                                       }
+                               ]
+                       } ],
                        model = new mw.rcfilters.dm.FiltersViewModel();
 
                model.initializeFilters( definition );
                                hidefilter4: 0,
                                hidefilter5: 0,
                                hidefilter6: 0,
-                               group3: 'all'
+                               group3: ''
                        },
-                       'Unselected filters return all parameters falsey or \'all\'.'
+                       'Unselected filters return all parameters falsey or \'\'.'
                );
 
                // Select 1 filter
                model.toggleFiltersSelected( {
-                       hidefilter1: true,
-                       hidefilter2: false,
-                       hidefilter3: false,
-                       hidefilter4: false,
-                       hidefilter5: false,
-                       hidefilter6: false
+                       group1__hidefilter1: true,
+                       group1__hidefilter2: false,
+                       group1__hidefilter3: false,
+                       group2__hidefilter4: false,
+                       group2__hidefilter5: false,
+                       group2__hidefilter6: false
                } );
                // Only one filter in one group
                assert.deepEqual(
                                hidefilter4: 0,
                                hidefilter5: 0,
                                hidefilter6: 0,
-                               group3: 'all'
+                               group3: ''
                        },
                        'One filters in one "send_unselected_if_any" group returns the other parameters truthy.'
                );
 
                // Select 2 filters
                model.toggleFiltersSelected( {
-                       hidefilter1: true,
-                       hidefilter2: true,
-                       hidefilter3: false,
-                       hidefilter4: false,
-                       hidefilter5: false,
-                       hidefilter6: false
+                       group1__hidefilter1: true,
+                       group1__hidefilter2: true,
+                       group1__hidefilter3: false,
+                       group2__hidefilter4: false,
+                       group2__hidefilter5: false,
+                       group2__hidefilter6: false
                } );
                // Two selected filters in one group
                assert.deepEqual(
                                hidefilter4: 0,
                                hidefilter5: 0,
                                hidefilter6: 0,
-                               group3: 'all'
+                               group3: ''
                        },
                        'One filters in one "send_unselected_if_any" group returns the other parameters truthy.'
                );
 
                // Select 3 filters
                model.toggleFiltersSelected( {
-                       hidefilter1: true,
-                       hidefilter2: true,
-                       hidefilter3: true,
-                       hidefilter4: false,
-                       hidefilter5: false,
-                       hidefilter6: false
+                       group1__hidefilter1: true,
+                       group1__hidefilter2: true,
+                       group1__hidefilter3: true,
+                       group2__hidefilter4: false,
+                       group2__hidefilter5: false,
+                       group2__hidefilter6: false
                } );
                // All filters of the group are selected == this is the same as not selecting any
                assert.deepEqual(
                                hidefilter4: 0,
                                hidefilter5: 0,
                                hidefilter6: 0,
-                               group3: 'all'
+                               group3: ''
                        },
                        'All filters selected in one "send_unselected_if_any" group returns all parameters falsy.'
                );
 
                // Select 1 filter from string_options
                model.toggleFiltersSelected( {
-                       filter7: true,
-                       filter8: false,
-                       filter9: false
+                       group3__filter7: true,
+                       group3__filter8: false,
+                       group3__filter9: false
                } );
                // All filters of the group are selected == this is the same as not selecting any
                assert.deepEqual(
 
                // Select 2 filters from string_options
                model.toggleFiltersSelected( {
-                       filter7: true,
-                       filter8: true,
-                       filter9: false
+                       group3__filter7: true,
+                       group3__filter8: true,
+                       group3__filter9: false
                } );
                // All filters of the group are selected == this is the same as not selecting any
                assert.deepEqual(
 
                // Select 3 filters from string_options
                model.toggleFiltersSelected( {
-                       filter7: true,
-                       filter8: true,
-                       filter9: true
+                       group3__filter7: true,
+                       group3__filter8: true,
+                       group3__filter9: true
                } );
                // All filters of the group are selected == this is the same as not selecting any
                assert.deepEqual(
        } );
 
        QUnit.test( 'getFiltersFromParameters', function ( assert ) {
-               var definition = {
-                               group1: {
-                                       title: 'Group 1',
-                                       type: 'send_unselected_if_any',
-                                       filters: [
-                                               {
-                                                       name: 'hidefilter1',
-                                                       label: 'Show filter 1',
-                                                       description: 'Description of Filter 1 in Group 1',
-                                                       default: true
-                                               },
-                                               {
-                                                       name: 'hidefilter2',
-                                                       label: 'Show filter 2',
-                                                       description: 'Description of Filter 2 in Group 1'
-                                               },
-                                               {
-                                                       name: 'hidefilter3',
-                                                       label: 'Show filter 3',
-                                                       description: 'Description of Filter 3 in Group 1',
-                                                       default: true
-                                               }
-                                       ]
-                               },
-                               group2: {
-                                       title: 'Group 2',
-                                       type: 'send_unselected_if_any',
-                                       filters: [
-                                               {
-                                                       name: 'hidefilter4',
-                                                       label: 'Show filter 4',
-                                                       description: 'Description of Filter 1 in Group 2'
-                                               },
-                                               {
-                                                       name: 'hidefilter5',
-                                                       label: 'Show filter 5',
-                                                       description: 'Description of Filter 2 in Group 2',
-                                                       default: true
-                                               },
-                                               {
-                                                       name: 'hidefilter6',
-                                                       label: 'Show filter 6',
-                                                       description: 'Description of Filter 3 in Group 2'
-                                               }
-                                       ]
-                               },
-                               group3: {
-                                       title: 'Group 3',
-                                       type: 'string_options',
-                                       separator: ',',
-                                       filters: [
-                                               {
-                                                       name: 'filter7',
-                                                       label: 'Group 3: Filter 1',
-                                                       description: 'Description of Filter 1 in Group 3'
-                                               },
-                                               {
-                                                       name: 'filter8',
-                                                       label: 'Group 3: Filter 2',
-                                                       description: 'Description of Filter 2 in Group 3',
-                                                       default: true
-                                               },
-                                               {
-                                                       name: 'filter9',
-                                                       label: 'Group 3: Filter 3',
-                                                       description: 'Description of Filter 3 in Group 3'
-                                               }
-                                       ]
-                               }
-                       },
+               var definition = {
+                               name: 'group1',
+                               title: 'Group 1',
+                               type: 'send_unselected_if_any',
+                               filters: [
+                                       {
+                                               name: 'hidefilter1',
+                                               label: 'Show filter 1',
+                                               description: 'Description of Filter 1 in Group 1',
+                                               default: true
+                                       },
+                                       {
+                                               name: 'hidefilter2',
+                                               label: 'Show filter 2',
+                                               description: 'Description of Filter 2 in Group 1'
+                                       },
+                                       {
+                                               name: 'hidefilter3',
+                                               label: 'Show filter 3',
+                                               description: 'Description of Filter 3 in Group 1',
+                                               default: true
+                                       }
+                               ]
+                       }, {
+                               name: 'group2',
+                               title: 'Group 2',
+                               type: 'send_unselected_if_any',
+                               filters: [
+                                       {
+                                               name: 'hidefilter4',
+                                               label: 'Show filter 4',
+                                               description: 'Description of Filter 1 in Group 2'
+                                       },
+                                       {
+                                               name: 'hidefilter5',
+                                               label: 'Show filter 5',
+                                               description: 'Description of Filter 2 in Group 2',
+                                               default: true
+                                       },
+                                       {
+                                               name: 'hidefilter6',
+                                               label: 'Show filter 6',
+                                               description: 'Description of Filter 3 in Group 2'
+                                       }
+                               ]
+                       }, {
+
+                               name: 'group3',
+                               title: 'Group 3',
+                               type: 'string_options',
+                               separator: ',',
+                               filters: [
+                                       {
+                                               name: 'filter7',
+                                               label: 'Group 3: Filter 1',
+                                               description: 'Description of Filter 1 in Group 3'
+                                       },
+                                       {
+                                               name: 'filter8',
+                                               label: 'Group 3: Filter 2',
+                                               description: 'Description of Filter 2 in Group 3',
+                                               default: true
+                                       },
+                                       {
+                                               name: 'filter9',
+                                               label: 'Group 3: Filter 3',
+                                               description: 'Description of Filter 3 in Group 3'
+                                       }
+                               ]
+                       } ],
                        defaultFilterRepresentation = {
                                // Group 1 and 2, "send_unselected_if_any", the values of the filters are "flipped" from the values of the parameters
-                               hidefilter1: false,
-                               hidefilter2: true,
-                               hidefilter3: false,
-                               hidefilter4: true,
-                               hidefilter5: false,
-                               hidefilter6: true,
+                               group1__hidefilter1: false,
+                               group1__hidefilter2: true,
+                               group1__hidefilter3: false,
+                               group2__hidefilter4: true,
+                               group2__hidefilter5: false,
+                               group2__hidefilter6: true,
                                // Group 3, "string_options", default values correspond to parameters and filters
-                               filter7: false,
-                               filter8: true,
-                               filter9: false
+                               group3__filter7: false,
+                               group3__filter8: true,
+                               group3__filter9: false
                        },
                        model = new mw.rcfilters.dm.FiltersViewModel();
 
                                hidefilter2: '1'
                        } ),
                        $.extend( {}, defaultFilterRepresentation, {
-                               hidefilter1: false, // The text is "show filter 1"
-                               hidefilter2: false, // The text is "show filter 2"
-                               hidefilter3: false // The text is "show filter 3"
+                               group1__hidefilter1: false, // The text is "show filter 1"
+                               group1__hidefilter2: false, // The text is "show filter 2"
+                               group1__hidefilter3: false // The text is "show filter 3"
                        } ),
                        'One truthy parameter in a group whose other parameters are true by default makes the rest of the filters in the group false (unchecked)'
                );
                                hidefilter3: '1'
                        } ),
                        $.extend( {}, defaultFilterRepresentation, {
-                               hidefilter1: false, // The text is "show filter 1"
-                               hidefilter2: false, // The text is "show filter 2"
-                               hidefilter3: false // The text is "show filter 3"
+                               group1__hidefilter1: false, // The text is "show filter 1"
+                               group1__hidefilter2: false, // The text is "show filter 2"
+                               group1__hidefilter3: false // The text is "show filter 3"
                        } ),
                        'All paremeters in the same \'send_unselected_if_any\' group false is equivalent to none are truthy (checked) in the interface'
                );
                assert.deepEqual(
                        model.getSelectedState(),
                        $.extend( {}, defaultFilterRepresentation, {
-                               hidefilter5: false,
-                               hidefilter6: false
+                               group2__hidefilter5: false,
+                               group2__hidefilter6: false
                        } ),
                        'getFiltersFromParameters does not care about previous or existing state.'
                );
                assert.deepEqual(
                        model.getSelectedState(),
                        $.extend( {}, defaultFilterRepresentation, {
-                               filter7: true,
-                               filter8: false,
-                               filter9: false
+                               group3__filter7: true,
+                               group3__filter8: false,
+                               group3__filter9: false
                        } ),
                        'A \'string_options\' parameter containing 1 value, results in the corresponding filter as checked'
                );
                assert.deepEqual(
                        model.getSelectedState(),
                        $.extend( {}, defaultFilterRepresentation, {
-                               filter7: true,
-                               filter8: true,
-                               filter9: false
+                               group3__filter7: true,
+                               group3__filter8: true,
+                               group3__filter9: false
                        } ),
                        'A \'string_options\' parameter containing 2 values, results in both corresponding filters as checked'
                );
                assert.deepEqual(
                        model.getSelectedState(),
                        $.extend( {}, defaultFilterRepresentation, {
-                               filter7: false,
-                               filter8: false,
-                               filter9: false
+                               group3__filter7: false,
+                               group3__filter8: false,
+                               group3__filter9: false
                        } ),
                        'A \'string_options\' parameter containing all values, results in all filters of the group as unchecked.'
                );
                assert.deepEqual(
                        model.getSelectedState(),
                        $.extend( {}, defaultFilterRepresentation, {
-                               filter7: false,
-                               filter8: false,
-                               filter9: false
+                               group3__filter7: false,
+                               group3__filter8: false,
+                               group3__filter9: false
                        } ),
                        'A \'string_options\' parameter containing the value \'all\', results in all filters of the group as unchecked.'
                );
                assert.deepEqual(
                        model.getSelectedState(),
                        $.extend( {}, defaultFilterRepresentation, {
-                               filter7: true,
-                               filter8: false,
-                               filter9: true
+                               group3__filter7: true,
+                               group3__filter8: false,
+                               group3__filter9: true
                        } ),
                        'A \'string_options\' parameter containing an invalid value, results in the invalid value ignored and the valid corresponding filters checked.'
                );
        } );
 
        QUnit.test( 'sanitizeStringOptionGroup', function ( assert ) {
-               var definition = {
-                               group1: {
-                                       title: 'Group 1',
-                                       type: 'string_options',
-                                       filters: [
-                                               {
-                                                       name: 'filter1',
-                                                       label: 'Show filter 1',
-                                                       description: 'Description of Filter 1 in Group 1'
-                                               },
-                                               {
-                                                       name: 'filter2',
-                                                       label: 'Show filter 2',
-                                                       description: 'Description of Filter 2 in Group 1'
-                                               },
-                                               {
-                                                       name: 'filter3',
-                                                       label: 'Show filter 3',
-                                                       description: 'Description of Filter 3 in Group 1'
-                                               }
-                                       ]
-                               }
-                       },
+               var definition = [ {
+                               name: 'group1',
+                               title: 'Group 1',
+                               type: 'string_options',
+                               filters: [
+                                       {
+                                               name: 'filter1',
+                                               label: 'Show filter 1',
+                                               description: 'Description of Filter 1 in Group 1'
+                                       },
+                                       {
+                                               name: 'filter2',
+                                               label: 'Show filter 2',
+                                               description: 'Description of Filter 2 in Group 1'
+                                       },
+                                       {
+                                               name: 'filter3',
+                                               label: 'Show filter 3',
+                                               description: 'Description of Filter 3 in Group 1'
+                                       }
+                               ]
+                       } ],
                        model = new mw.rcfilters.dm.FiltersViewModel();
 
                model.initializeFilters( definition );
        } );
 
        QUnit.test( 'setFiltersToDefaults', function ( assert ) {
-               var definition = {
-                               group1: {
-                                       title: 'Group 1',
-                                       type: 'send_unselected_if_any',
-                                       filters: [
-                                               {
-                                                       name: 'hidefilter1',
-                                                       label: 'Show filter 1',
-                                                       description: 'Description of Filter 1 in Group 1',
-                                                       default: true
-                                               },
-                                               {
-                                                       name: 'hidefilter2',
-                                                       label: 'Show filter 2',
-                                                       description: 'Description of Filter 2 in Group 1'
-                                               },
-                                               {
-                                                       name: 'hidefilter3',
-                                                       label: 'Show filter 3',
-                                                       description: 'Description of Filter 3 in Group 1',
-                                                       default: true
-                                               }
-                                       ]
-                               },
-                               group2: {
-                                       title: 'Group 2',
-                                       type: 'send_unselected_if_any',
-                                       filters: [
-                                               {
-                                                       name: 'hidefilter4',
-                                                       label: 'Show filter 4',
-                                                       description: 'Description of Filter 1 in Group 2'
-                                               },
-                                               {
-                                                       name: 'hidefilter5',
-                                                       label: 'Show filter 5',
-                                                       description: 'Description of Filter 2 in Group 2',
-                                                       default: true
-                                               },
-                                               {
-                                                       name: 'hidefilter6',
-                                                       label: 'Show filter 6',
-                                                       description: 'Description of Filter 3 in Group 2'
-                                               }
-                                       ]
-                               }
-                       },
+               var definition = [ {
+                               name: 'group1',
+                               title: 'Group 1',
+                               type: 'send_unselected_if_any',
+                               filters: [
+                                       {
+                                               name: 'hidefilter1',
+                                               label: 'Show filter 1',
+                                               description: 'Description of Filter 1 in Group 1',
+                                               default: true
+                                       },
+                                       {
+                                               name: 'hidefilter2',
+                                               label: 'Show filter 2',
+                                               description: 'Description of Filter 2 in Group 1'
+                                       },
+                                       {
+                                               name: 'hidefilter3',
+                                               label: 'Show filter 3',
+                                               description: 'Description of Filter 3 in Group 1',
+                                               default: true
+                                       }
+                               ]
+                       }, {
+                               name: 'group2',
+                               title: 'Group 2',
+                               type: 'send_unselected_if_any',
+                               filters: [
+                                       {
+                                               name: 'hidefilter4',
+                                               label: 'Show filter 4',
+                                               description: 'Description of Filter 1 in Group 2'
+                                       },
+                                       {
+                                               name: 'hidefilter5',
+                                               label: 'Show filter 5',
+                                               description: 'Description of Filter 2 in Group 2',
+                                               default: true
+                                       },
+                                       {
+                                               name: 'hidefilter6',
+                                               label: 'Show filter 6',
+                                               description: 'Description of Filter 3 in Group 2'
+                                       }
+                               ]
+                       } ],
                        defaultFilterRepresentation = {
                                // Group 1 and 2, "send_unselected_if_any", the values of the filters are "flipped" from the values of the parameters
-                               hidefilter1: false,
-                               hidefilter2: true,
-                               hidefilter3: false,
-                               hidefilter4: true,
-                               hidefilter5: false,
-                               hidefilter6: true
+                               group1__hidefilter1: false,
+                               group1__hidefilter2: true,
+                               group1__hidefilter3: false,
+                               group2__hidefilter4: true,
+                               group2__hidefilter5: false,
+                               group2__hidefilter6: true
                        },
                        model = new mw.rcfilters.dm.FiltersViewModel();
 
                assert.deepEqual(
                        model.getSelectedState(),
                        {
-                               hidefilter1: false,
-                               hidefilter2: false,
-                               hidefilter3: false,
-                               hidefilter4: false,
-                               hidefilter5: false,
-                               hidefilter6: false
+                               group1__hidefilter1: false,
+                               group1__hidefilter2: false,
+                               group1__hidefilter3: false,
+                               group2__hidefilter4: false,
+                               group2__hidefilter5: false,
+                               group2__hidefilter6: false
                        },
                        'Initial state: default filters are not selected (controller selects defaults explicitly).'
                );
 
                model.toggleFiltersSelected( {
-                       hidefilter1: false,
-                       hidefilter3: false
+                       group1__hidefilter1: false,
+                       group1__hidefilter3: false
                } );
 
                model.setFiltersToDefaults();
        } );
 
        QUnit.test( 'Filter interaction: subsets', function ( assert ) {
-               var definition = {
-                               group1: {
-                                       title: 'Group 1',
-                                       type: 'string_options',
-                                       filters: [
-                                               {
-                                                       name: 'filter1',
-                                                       label: 'Show filter 1',
-                                                       description: 'Description of Filter 1 in Group 1',
-                                                       subset: [ 'filter2', 'filter5' ]
-                                               },
-                                               {
-                                                       name: 'filter2',
-                                                       label: 'Show filter 2',
-                                                       description: 'Description of Filter 2 in Group 1'
-                                               },
-                                               {
-                                                       name: 'filter3',
-                                                       label: 'Show filter 3',
-                                                       description: 'Description of Filter 3 in Group 1'
-                                               }
-                                       ]
-                               },
-                               group2: {
-                                       title: 'Group 2',
-                                       type: 'send_unselected_if_any',
-                                       filters: [
-                                               {
-                                                       name: 'filter4',
-                                                       label: 'Show filter 4',
-                                                       description: 'Description of Filter 1 in Group 2',
-                                                       subset: [ 'filter3', 'filter5' ]
-                                               },
-                                               {
-                                                       name: 'filter5',
-                                                       label: 'Show filter 5',
-                                                       description: 'Description of Filter 2 in Group 2'
-                                               },
-                                               {
-                                                       name: 'filter6',
-                                                       label: 'Show filter 6',
-                                                       description: 'Description of Filter 3 in Group 2'
-                                               }
-                                       ]
-                               }
-                       },
+               var definition = [ {
+                               name: 'group1',
+                               title: 'Group 1',
+                               type: 'string_options',
+                               filters: [
+                                       {
+                                               name: 'filter1',
+                                               label: 'Show filter 1',
+                                               description: 'Description of Filter 1 in Group 1',
+                                               subset: [
+                                                       {
+                                                               group: 'group1',
+                                                               filter: 'filter2'
+                                                       },
+                                                       {
+                                                               group: 'group1',
+                                                               filter: 'filter3'
+                                                       }
+                                               ]
+                                       },
+                                       {
+                                               name: 'filter2',
+                                               label: 'Show filter 2',
+                                               description: 'Description of Filter 2 in Group 1',
+                                               subset: [
+                                                       {
+                                                               group: 'group1',
+                                                               filter: 'filter3'
+                                                       }
+                                               ]
+                                       },
+                                       {
+                                               name: 'filter3',
+                                               label: 'Show filter 3',
+                                               description: 'Description of Filter 3 in Group 1'
+                                       }
+                               ]
+                       } ],
                        baseFullState = {
-                               filter1: { selected: false, conflicted: false, included: false },
-                               filter2: { selected: false, conflicted: false, included: false },
-                               filter3: { selected: false, conflicted: false, included: false },
-                               filter4: { selected: false, conflicted: false, included: false },
-                               filter5: { selected: false, conflicted: false, included: false },
-                               filter6: { selected: false, conflicted: false, included: false }
+                               group1__filter1: { selected: false, conflicted: false, included: false },
+                               group1__filter2: { selected: false, conflicted: false, included: false },
+                               group1__filter3: { selected: false, conflicted: false, included: false }
                        },
                        model = new mw.rcfilters.dm.FiltersViewModel();
 
                model.initializeFilters( definition );
                // Select a filter that has subset with another filter
                model.toggleFiltersSelected( {
-                       filter1: true
+                       group1__filter1: true
                } );
 
-               model.reassessFilterInteractions( model.getItemByName( 'filter1' ) );
+               model.reassessFilterInteractions( model.getItemByName( 'group1__filter1' ) );
                assert.deepEqual(
                        model.getFullState(),
                        $.extend( true, {}, baseFullState, {
-                               filter1: { selected: true },
-                               filter2: { included: true },
-                               filter5: { included: true }
+                               group1__filter1: { selected: true },
+                               group1__filter2: { included: true },
+                               group1__filter3: { included: true }
                        } ),
                        'Filters with subsets are represented in the model.'
                );
 
                // Select another filter that has a subset with the same previous filter
                model.toggleFiltersSelected( {
-                       filter4: true
+                       group1__filter2: true
                } );
-               model.reassessFilterInteractions( model.getItemByName( 'filter4' ) );
+               model.reassessFilterInteractions( model.getItemByName( 'filter2' ) );
                assert.deepEqual(
                        model.getFullState(),
                        $.extend( true, {}, baseFullState, {
-                               filter1: { selected: true },
-                               filter2: { included: true },
-                               filter3: { included: true },
-                               filter4: { selected: true },
-                               filter5: { included: true }
+                               group1__filter1: { selected: true },
+                               group1__filter2: { selected: true, included: true },
+                               group1__filter3: { included: true }
                        } ),
                        'Filters that have multiple subsets are represented.'
                );
 
-               // Remove one filter (but leave the other) that affects filter2
+               // Remove one filter (but leave the other) that affects filter3
                model.toggleFiltersSelected( {
-                       filter1: false
+                       group1__filter1: false
                } );
-               model.reassessFilterInteractions( model.getItemByName( 'filter1' ) );
+               model.reassessFilterInteractions( model.getItemByName( 'group1__filter1' ) );
                assert.deepEqual(
                        model.getFullState(),
                        $.extend( true, {}, baseFullState, {
-                               filter2: { included: false },
-                               filter3: { included: true },
-                               filter4: { selected: true },
-                               filter5: { included: true }
+                               group1__filter2: { selected: true, included: false },
+                               group1__filter3: { included: true }
                        } ),
                        'Removing a filter only un-includes its subset if there is no other filter affecting.'
                );
 
                model.toggleFiltersSelected( {
-                       filter4: false
+                       group1__filter2: false
                } );
-               model.reassessFilterInteractions( model.getItemByName( 'filter4' ) );
+               model.reassessFilterInteractions( model.getItemByName( 'group1__filter2' ) );
                assert.deepEqual(
                        model.getFullState(),
                        baseFullState,
        } );
 
        QUnit.test( 'Filter interaction: full coverage', function ( assert ) {
-               var definition = {
-                               group1: {
-                                       title: 'Group 1',
-                                       type: 'string_options',
-                                       fullCoverage: false,
-                                       filters: [
-                                               { name: 'filter1' },
-                                               { name: 'filter2' },
-                                               { name: 'filter3' }
-                                       ]
-                               },
-                               group2: {
-                                       title: 'Group 2',
-                                       type: 'send_unselected_if_any',
-                                       fullCoverage: true,
-                                       filters: [
-                                               { name: 'filter4' },
-                                               { name: 'filter5' },
-                                               { name: 'filter6' }
-                                       ]
-                               }
-                       },
+               var definition = [ {
+                               name: 'group1',
+                               title: 'Group 1',
+                               type: 'string_options',
+                               fullCoverage: false,
+                               filters: [
+                                       { name: 'filter1', label: '1', description: '1' },
+                                       { name: 'filter2', label: '2', description: '2' },
+                                       { name: 'filter3', label: '3', description: '3' }
+                               ]
+                       }, {
+                               name: 'group2',
+                               title: 'Group 2',
+                               type: 'send_unselected_if_any',
+                               fullCoverage: true,
+                               filters: [
+                                       { name: 'filter4', label: '4', description: '4' },
+                                       { name: 'filter5', label: '5', description: '5' },
+                                       { name: 'filter6', label: '6', description: '6' }
+                               ]
+                       } ],
                        model = new mw.rcfilters.dm.FiltersViewModel(),
                        isCapsuleItemMuted = function ( filterName ) {
                                var itemModel = model.getItemByName( filterName ),
                        },
                        getCurrentItemsMutedState = function () {
                                return {
-                                       filter1: isCapsuleItemMuted( 'filter1' ),
-                                       filter2: isCapsuleItemMuted( 'filter2' ),
-                                       filter3: isCapsuleItemMuted( 'filter3' ),
-                                       filter4: isCapsuleItemMuted( 'filter4' ),
-                                       filter5: isCapsuleItemMuted( 'filter5' ),
-                                       filter6: isCapsuleItemMuted( 'filter6' )
+                                       group1__filter1: isCapsuleItemMuted( 'group1__filter1' ),
+                                       group1__filter2: isCapsuleItemMuted( 'group1__filter2' ),
+                                       group1__filter3: isCapsuleItemMuted( 'group1__filter3' ),
+                                       group2__filter4: isCapsuleItemMuted( 'group2__filter4' ),
+                                       group2__filter5: isCapsuleItemMuted( 'group2__filter5' ),
+                                       group2__filter6: isCapsuleItemMuted( 'group2__filter6' )
                                };
                        },
                        baseMuteState = {
-                               filter1: false,
-                               filter2: false,
-                               filter3: false,
-                               filter4: false,
-                               filter5: false,
-                               filter6: false
+                               group1__filter1: false,
+                               group1__filter2: false,
+                               group1__filter3: false,
+                               group2__filter4: false,
+                               group2__filter5: false,
+                               group2__filter6: false
                        };
 
                model.initializeFilters( definition );
 
                // Select most (but not all) items in each group
                model.toggleFiltersSelected( {
-                       filter1: true,
-                       filter2: true,
-                       filter4: true,
-                       filter5: true
+                       group1__filter1: true,
+                       group1__filter2: true,
+                       group2__filter4: true,
+                       group2__filter5: true
                } );
 
                // Both groups have multiple (but not all) items selected, all items are non-muted
 
                // Select all items in 'fullCoverage' group (group2)
                model.toggleFiltersSelected( {
-                       filter6: true
+                       group2__filter6: true
                } );
 
                // Group2 (full coverage) has all items selected, all its items are muted
                assert.deepEqual(
                        getCurrentItemsMutedState(),
                        $.extend( {}, baseMuteState, {
-                               filter4: true,
-                               filter5: true,
-                               filter6: true
+                               group2__filter4: true,
+                               group2__filter5: true,
+                               group2__filter6: true
                        } ),
                        'All items in \'full coverage\' group are selected - all items in the group are muted'
                );
 
                // Select all items in non 'fullCoverage' group (group1)
                model.toggleFiltersSelected( {
-                       filter3: true
+                       group1__filter3: true
                } );
 
                // Group1 (full coverage) has all items selected, no items in it are muted (non full coverage)
                assert.deepEqual(
                        getCurrentItemsMutedState(),
                        $.extend( {}, baseMuteState, {
-                               filter4: true,
-                               filter5: true,
-                               filter6: true
+                               group2__filter4: true,
+                               group2__filter5: true,
+                               group2__filter6: true
                        } ),
                        'All items in a non \'full coverage\' group are selected - none of the items in the group are muted'
                );
 
                // Uncheck an item from each group
                model.toggleFiltersSelected( {
-                       filter3: false,
-                       filter5: false
+                       group1__filter3: false,
+                       group2__filter5: false
                } );
                assert.deepEqual(
                        getCurrentItemsMutedState(),
        } );
 
        QUnit.test( 'Filter interaction: conflicts', function ( assert ) {
-               var definition = {
-                               group1: {
-                                       title: 'Group 1',
-                                       type: 'string_options',
-                                       filters: [
-                                               {
-                                                       name: 'filter1',
-                                                       conflicts: [ 'filter2', 'filter4' ]
-                                               },
-                                               {
-                                                       name: 'filter2',
-                                                       conflicts: [ 'filter6' ]
-                                               },
-                                               {
-                                                       name: 'filter3'
-                                               }
-                                       ]
-                               },
-                               group2: {
-                                       title: 'Group 2',
-                                       type: 'send_unselected_if_any',
-                                       filters: [
-                                               {
-                                                       name: 'filter4'
-                                               },
-                                               {
-                                                       name: 'filter5',
-                                                       conflicts: [ 'filter3' ]
-                                               },
-                                               {
-                                                       name: 'filter6'
-                                               }
-                                       ]
-                               }
-                       },
+               var definition = [ {
+                               name: 'group1',
+                               title: 'Group 1',
+                               type: 'string_options',
+                               filters: [
+                                       {
+                                               name: 'filter1',
+                                               label: '1',
+                                               description: '1',
+                                               conflicts: [ { group: 'group2' } ]
+                                       },
+                                       {
+                                               name: 'filter2',
+                                               label: '2',
+                                               description: '2',
+                                               conflicts: [ { group: 'group2', filter: 'filter6' } ]
+                                       },
+                                       {
+                                               name: 'filter3',
+                                               label: '3',
+                                               description: '3'
+                                       }
+                               ]
+                       }, {
+                               name: 'group2',
+                               title: 'Group 2',
+                               type: 'send_unselected_if_any',
+                               conflicts: [ { group: 'group1', filter: 'filter1' } ],
+                               filters: [
+                                       {
+                                               name: 'filter4',
+                                               label: '1',
+                                               description: '1'
+                                       },
+                                       {
+                                               name: 'filter5',
+                                               label: '5',
+                                               description: '5'
+                                       },
+                                       {
+                                               name: 'filter6',
+                                               label: '6',
+                                               description: '6',
+                                               conflicts: [ { group: 'group1', filter: 'filter2' } ]
+                                       }
+                               ]
+                       } ],
                        baseFullState = {
-                               filter1: { selected: false, conflicted: false, included: false },
-                               filter2: { selected: false, conflicted: false, included: false },
-                               filter3: { selected: false, conflicted: false, included: false },
-                               filter4: { selected: false, conflicted: false, included: false },
-                               filter5: { selected: false, conflicted: false, included: false },
-                               filter6: { selected: false, conflicted: false, included: false }
+                               group1__filter1: { selected: false, conflicted: false, included: false },
+                               group1__filter2: { selected: false, conflicted: false, included: false },
+                               group1__filter3: { selected: false, conflicted: false, included: false },
+                               group2__filter4: { selected: false, conflicted: false, included: false },
+                               group2__filter5: { selected: false, conflicted: false, included: false },
+                               group2__filter6: { selected: false, conflicted: false, included: false }
                        },
                        model = new mw.rcfilters.dm.FiltersViewModel();
 
                        'Initial state: no conflicts because no selections.'
                );
 
-               // Select a filter that has a conflict with another
+               // Select a filter that has a conflict with an entire group
                model.toggleFiltersSelected( {
-                       filter1: true // conflicts: filter2, filter4
+                       group1__filter1: true // conflicts: entire of group 2 ( filter4, filter5, filter6)
                } );
 
-               model.reassessFilterInteractions( model.getItemByName( 'filter1' ) );
+               model.reassessFilterInteractions( model.getItemByName( 'group1__filter1' ) );
 
                assert.deepEqual(
                        model.getFullState(),
                        $.extend( true, {}, baseFullState, {
-                               filter1: { selected: true },
-                               filter2: { conflicted: true },
-                               filter4: { conflicted: true }
+                               group1__filter1: { selected: true },
+                               group2__filter4: { conflicted: true },
+                               group2__filter5: { conflicted: true },
+                               group2__filter6: { conflicted: true }
                        } ),
-                       'Selecting a filter set its conflicts list as "conflicted".'
+                       'Selecting a filter that conflicts with a group sets all the conflicted group items as "conflicted".'
                );
 
                // Select one of the conflicts (both filters are now conflicted and selected)
                model.toggleFiltersSelected( {
-                       filter4: true // conflicts: filter 1
+                       group2__filter4: true // conflicts: filter 1
                } );
-               model.reassessFilterInteractions( model.getItemByName( 'filter4' ) );
+               model.reassessFilterInteractions( model.getItemByName( 'group2__filter4' ) );
 
                assert.deepEqual(
                        model.getFullState(),
                        $.extend( true, {}, baseFullState, {
-                               filter1: { selected: true, conflicted: true },
-                               filter2: { conflicted: true },
-                               filter4: { selected: true, conflicted: true }
+                               group1__filter1: { selected: true, conflicted: true },
+                               group2__filter4: { selected: true, conflicted: true },
+                               group2__filter5: { conflicted: true },
+                               group2__filter6: { conflicted: true }
                        } ),
-                       'Selecting a conflicting filter sets both sides to conflicted and selected.'
+                       'Selecting a conflicting filter inside a group, sets both sides to conflicted and selected.'
                );
 
-               // Select another filter from filter4 group, meaning:
-               // now filter1 no longer conflicts with filter4
+               // Reset
+               model = new mw.rcfilters.dm.FiltersViewModel();
+               model.initializeFilters( definition );
+
+               // Select a filter that has a conflict with a specific filter
                model.toggleFiltersSelected( {
-                       filter6: true // conflicts: filter2
+                       group1__filter2: true // conflicts: filter6
                } );
-               model.reassessFilterInteractions( model.getItemByName( 'filter6' ) );
+               model.reassessFilterInteractions( model.getItemByName( 'group1__filter2' ) );
 
                assert.deepEqual(
                        model.getFullState(),
                        $.extend( true, {}, baseFullState, {
-                               filter1: { selected: true, conflicted: false }, // No longer conflicts (filter4 is not the only in the group)
-                               filter2: { conflicted: true }, // While not selected, still in conflict with filter1, which is selected
-                               filter4: { selected: true, conflicted: false }, // No longer conflicts with filter1
-                               filter6: { selected: true, conflicted: false }
+                               group1__filter2: { selected: true },
+                               group2__filter6: { conflicted: true }
                        } ),
-                       'Selecting a non-conflicting filter from a conflicting group removes the conflict'
+                       'Selecting a filter that conflicts with another filter sets the other as "conflicted".'
                );
+
+               // Select the conflicting filter
+               model.toggleFiltersSelected( {
+                       group2__filter6: true // conflicts: filter2
+               } );
+
+               model.reassessFilterInteractions( model.getItemByName( 'group2__filter6' ) );
+
+               assert.deepEqual(
+                       model.getFullState(),
+                       $.extend( true, {}, baseFullState, {
+                               group1__filter2: { selected: true, conflicted: true },
+                               group2__filter6: { selected: true, conflicted: true },
+                               // This is added to the conflicts because filter6 is part of group2,
+                               // who is in conflict with filter1; note that filter2 also conflicts
+                               // with filter6 which means that filter1 conflicts with filter6 (because it's in group2)
+                               // and also because its **own sibling** (filter2) is **also** in conflict with the
+                               // selected items in group2 (filter6)
+                               group1__filter1: { conflicted: true }
+                       } ),
+                       'Selecting a conflicting filter with an individual filter, sets both sides to conflicted and selected.'
+               );
+
+               // Now choose a non-conflicting filter from the group
+               model.toggleFiltersSelected( {
+                       group2__filter5: true
+               } );
+
+               model.reassessFilterInteractions( model.getItemByName( 'group2__filter5' ) );
+
+               assert.deepEqual(
+                       model.getFullState(),
+                       $.extend( true, {}, baseFullState, {
+                               group1__filter2: { selected: true },
+                               group2__filter6: { selected: true },
+                               group2__filter5: { selected: true }
+                               // Filter6 and filter1 are no longer in conflict because
+                               // filter5, while it is in conflict with filter1, it is
+                               // not in conflict with filter2 - and since filter2 is
+                               // selected, it removes the conflict bidirectionally
+                       } ),
+                       'Selecting a non-conflicting filter within the group of a conflicting filter removes the conflicts.'
+               );
+
+               // Followup on the previous test, unselect filter2 so filter1
+               // is now the only one selected in its own group, and since
+               // it is in conflict with the entire of group2, it means
+               // filter1 is once again conflicted
+               model.toggleFiltersSelected( {
+                       group1__filter2: false
+               } );
+
+               model.reassessFilterInteractions( model.getItemByName( 'group1__filter2' ) );
+
+               assert.deepEqual(
+                       model.getFullState(),
+                       $.extend( true, {}, baseFullState, {
+                               group1__filter1: { conflicted: true },
+                               group2__filter6: { selected: true },
+                               group2__filter5: { selected: true }
+                       } ),
+                       'Unselecting an item that did not conflict returns the conflict state.'
+               );
+
+               // Followup #2: Now actually select filter1, and make everything conflicted
+               model.toggleFiltersSelected( {
+                       group1__filter1: true
+               } );
+
+               model.reassessFilterInteractions( model.getItemByName( 'group1__filter1' ) );
+
+               assert.deepEqual(
+                       model.getFullState(),
+                       $.extend( true, {}, baseFullState, {
+                               group1__filter1: { selected: true, conflicted: true },
+                               group2__filter6: { selected: true, conflicted: true },
+                               group2__filter5: { selected: true, conflicted: true },
+                               group2__filter4: { conflicted: true } // Not selected but conflicted because it's in group2
+                       } ),
+                       'Selecting an item that conflicts with a whole group makes all selections in that group conflicted.'
+               );
+
+               /* Simple case */
+               // Reset
+               model = new mw.rcfilters.dm.FiltersViewModel();
+               model.initializeFilters( definition );
+
+               // Select a filter that has a conflict with a specific filter
+               model.toggleFiltersSelected( {
+                       group1__filter2: true // conflicts: filter6
+               } );
+
+               model.reassessFilterInteractions( model.getItemByName( 'group1__filter2' ) );
+
+               assert.deepEqual(
+                       model.getFullState(),
+                       $.extend( true, {}, baseFullState, {
+                               group1__filter2: { selected: true },
+                               group2__filter6: { conflicted: true }
+                       } ),
+                       'Simple case: Selecting a filter that conflicts with another filter sets the other as "conflicted".'
+               );
+
+               model.toggleFiltersSelected( {
+                       group1__filter3: true // conflicts: filter6
+               } );
+
+               model.reassessFilterInteractions( model.getItemByName( 'group1__filter3' ) );
+
+               assert.deepEqual(
+                       model.getFullState(),
+                       $.extend( true, {}, baseFullState, {
+                               group1__filter2: { selected: true },
+                               group1__filter3: { selected: true }
+                       } ),
+                       'Simple case: Selecting a filter that is not in conflict removes the conflict.'
+               );
+
        } );
 
        QUnit.test( 'Filter highlights', function ( assert ) {
-               var definition = {
-                               group1: {
-                                       title: 'Group 1',
-                                       type: 'string_options',
-                                       filters: [
-                                               { name: 'filter1', class: 'class1' },
-                                               { name: 'filter2', class: 'class2' },
-                                               { name: 'filter3', class: 'class3' },
-                                               { name: 'filter4', class: 'class4' },
-                                               { name: 'filter5', class: 'class5' },
-                                               { name: 'filter6' }
-                                       ]
-                               }
-                       },
+               var definition = [ {
+                               name: 'group1',
+                               title: 'Group 1',
+                               type: 'string_options',
+                               filters: [
+                                       { name: 'filter1', cssClass: 'class1', label: '1', description: '1' },
+                                       { name: 'filter2', cssClass: 'class2', label: '2', description: '2' },
+                                       { name: 'filter3', cssClass: 'class3', label: '3', description: '3' },
+                                       { name: 'filter4', cssClass: 'class4', label: '4', description: '4' },
+                                       { name: 'filter5', cssClass: 'class5', label: '5', description: '5' },
+                                       { name: 'filter6', label: '6', description: '6' }
+                               ]
+                       } ],
                        model = new mw.rcfilters.dm.FiltersViewModel();
 
                model.initializeFilters( definition );
                        'Highlight is enabled on toggle.'
                );
 
-               model.setHighlightColor( 'filter1', 'color1' );
-               model.setHighlightColor( 'filter2', 'color2' );
+               model.setHighlightColor( 'group1__filter1', 'color1' );
+               model.setHighlightColor( 'group1__filter2', 'color2' );
 
                assert.deepEqual(
                        model.getHighlightedItems().map( function ( item ) {
                                return item.getName();
                        } ),
                        [
-                               'filter1',
-                               'filter2'
+                               'group1__filter1',
+                               'group1__filter2'
                        ],
                        'Highlighted items are highlighted.'
                );
 
                assert.equal(
-                       model.getItemByName( 'filter1' ).getHighlightColor(),
+                       model.getItemByName( 'group1__filter1' ).getHighlightColor(),
                        'color1',
                        'Item highlight color is set.'
                );
 
-               model.setHighlightColor( 'filter1', 'color1changed' );
+               model.setHighlightColor( 'group1__filter1', 'color1changed' );
                assert.equal(
-                       model.getItemByName( 'filter1' ).getHighlightColor(),
+                       model.getItemByName( 'group1__filter1' ).getHighlightColor(),
                        'color1changed',
                        'Item highlight color is changed on setHighlightColor.'
                );
 
-               model.clearHighlightColor( 'filter1' );
+               model.clearHighlightColor( 'group1__filter1' );
                assert.deepEqual(
                        model.getHighlightedItems().map( function ( item ) {
                                return item.getName();
                        } ),
                        [
-                               'filter2'
+                               'group1__filter2'
                        ],
                        'Clear highlight from an item results in the item no longer being highlighted.'
                );
                model = new mw.rcfilters.dm.FiltersViewModel();
                model.initializeFilters( definition );
 
-               model.setHighlightColor( 'filter1', 'color1' );
-               model.setHighlightColor( 'filter2', 'color2' );
-               model.setHighlightColor( 'filter3', 'color3' );
+               model.setHighlightColor( 'group1__filter1', 'color1' );
+               model.setHighlightColor( 'group1__filter2', 'color2' );
+               model.setHighlightColor( 'group1__filter3', 'color3' );
 
                assert.deepEqual(
                        model.getHighlightedItems().map( function ( item ) {
                                return item.getName();
                        } ),
                        [
-                               'filter1',
-                               'filter2',
-                               'filter3'
+                               'group1__filter1',
+                               'group1__filter2',
+                               'group1__filter3'
                        ],
                        'Even if highlights are not enabled, the items remember their highlight state'
                        // NOTE: When actually displaying the highlights, the UI checks whether
                model = new mw.rcfilters.dm.FiltersViewModel();
                model.initializeFilters( definition );
 
-               model.setHighlightColor( 'filter1', 'color1' );
-               model.setHighlightColor( 'filter6', 'color6' );
+               model.setHighlightColor( 'group1__filter1', 'color1' );
+               model.setHighlightColor( 'group1__filter6', 'color6' );
 
                assert.deepEqual(
                        model.getHighlightedItems().map( function ( item ) {
                                return item.getName();
                        } ),
                        [
-                               'filter1'
+                               'group1__filter1'
                        ],
                        'Items without a specified class identifier are not highlighted.'
                );
index 3b549bd..3c77a00 100644 (file)
                );
        } );
 
+       QUnit.test( 'setParserDefaults', function ( assert ) {
+               mw.jqueryMsg.setParserDefaults( {
+                       magic: {
+                               FOO: 'foo',
+                               BAR: 'bar'
+                       }
+               } );
+
+               assert.deepEqual(
+                       mw.jqueryMsg.getParserDefaults().magic,
+                       {
+                               FOO: 'foo',
+                               BAR: 'bar'
+                       },
+                       'setParserDefaults is shallow by default'
+               );
+
+               mw.jqueryMsg.setParserDefaults(
+                       {
+                               magic: {
+                                       BAZ: 'baz'
+                               }
+                       },
+                       true
+               );
+
+               assert.deepEqual(
+                       mw.jqueryMsg.getParserDefaults().magic,
+                       {
+                               FOO: 'foo',
+                               BAR: 'bar',
+                               BAZ: 'baz'
+                       },
+                       'setParserDefaults is deep if requested'
+               );
+       } );
 }( mediaWiki, jQuery ) );
index 6f9af76..477b04d 100644 (file)
@@ -5,6 +5,11 @@
                },
                teardown: function () {
                        mw.loader.store.enabled = false;
+                       // Teardown for StringSet shim test
+                       if ( this.nativeSet ) {
+                               window.Set = this.nativeSet;
+                               mw.redefineFallbacksForTest();
+                       }
                }
        } ) );
 
                } );
        } );
 
-       QUnit.test( '.using() Error: Circular dependency', function ( assert ) {
+       // Covers mw.loader#sortDependencies (with native Set if available)
+       QUnit.test( '.using() Error: Circular dependency [StringSet default]', function ( assert ) {
                var done = assert.async();
 
                mw.loader.register( [
                .always( done );
        } );
 
+       // @covers mw.loader#sortDependencies (with fallback shim)
+       QUnit.test( '.using() Error: Circular dependency [StringSet shim]', function ( assert ) {
+               var done = assert.async();
+
+               if ( !window.Set ) {
+                       assert.expect( 0 );
+                       done();
+                       return;
+               }
+
+               this.nativeSet = window.Set;
+               window.Set = undefined;
+               mw.redefineFallbacksForTest();
+
+               mw.loader.register( [
+                       [ 'test.shim.circle1', '0', [ 'test.shim.circle2' ] ],
+                       [ 'test.shim.circle2', '0', [ 'test.shim.circle3' ] ],
+                       [ 'test.shim.circle3', '0', [ 'test.shim.circle1' ] ]
+               ] );
+               mw.loader.using( 'test.shim.circle3' ).then(
+                       function done() {
+                               assert.ok( false, 'Unexpected resolution, expected error.' );
+                       },
+                       function fail( e ) {
+                               assert.ok( /Circular/.test( String( e ) ), 'Detect circular dependency' );
+                       }
+               )
+               .always( done );
+       } );
+
        QUnit.test( '.load() - Error: Circular dependency', function ( assert ) {
                mw.loader.register( [
                        [ 'test.circleA', '0', [ 'test.circleB' ] ],
diff --git a/tests/selenium/.eslintrc.json b/tests/selenium/.eslintrc.json
new file mode 100644 (file)
index 0000000..b2d0bdd
--- /dev/null
@@ -0,0 +1,11 @@
+{
+       "extends": "../../.eslintrc.json",
+       "env": {
+               "es6": true,
+               "mocha": true,
+               "node": true
+       },
+       "globals": {
+               "browser": false
+       }
+}
diff --git a/tests/selenium/README.md b/tests/selenium/README.md
new file mode 100644 (file)
index 0000000..479b958
--- /dev/null
@@ -0,0 +1,52 @@
+# Selenium tests
+
+## Prerequisites
+
+- [Chrome](https://www.google.com/chrome/)
+- [ChromeDriver](https://sites.google.com/a/chromium.org/chromedriver/)
+- [Node.js](https://nodejs.org/en/)
+- [MediaWiki-Vagrant](https://www.mediawiki.org/wiki/MediaWiki-Vagrant)
+
+Set up MediaWiki-Vagrant:
+
+    cd mediawiki/vagrant
+    vagrant up
+
+## Installation
+
+    cd mediawiki
+    npm install
+
+## Usage
+
+    npm run selenium
+
+To run only one file (for example page.js), you first need to spawn the chromedriver:
+
+    chromedriver --url-base=/wd/hub --port=4444
+
+Then in another terminal:
+
+    cd mediawiki/tests/selenium
+    ../../node_modules/.bin/wdio --spec page.js
+
+The runner reads the config file `wdio.conf.js` and runs the spec listed in
+`page.js`.
+
+The defaults in the configuration files aim are targetting  a MediaWiki-Vagrant
+installation on installation on http://127.0.0.1:8080 with a user Admin and
+password 'vagrant'.  Those settings can be overriden using environment
+variables:
+
+`MW_SERVER`: to be set to the value of your $wgServer
+`MW_SCRIPT_PATH`: ditto with  $wgScriptPath
+`MEDIAWIKI_USER`: username of an account that can create users on the wiki.
+`MEDIAWIKI_PASSWORD`: password for above user
+
+Example:
+
+    MW_SERVER=http://example.org MW_SCRIPT_PATH=/dev/w npm run selenium
+
+## Links
+
+- [Selenium/Node.js](https://www.mediawiki.org/wiki/Selenium/Node.js)
diff --git a/tests/selenium/pageobjects/createaccount.page.js b/tests/selenium/pageobjects/createaccount.page.js
new file mode 100644 (file)
index 0000000..a0b9490
--- /dev/null
@@ -0,0 +1,25 @@
+'use strict';
+const Page = require( './page' );
+
+class CreateAccountPage extends Page {
+
+       get username() { return browser.element( '#wpName2' ); }
+       get password() { return browser.element( '#wpPassword2' ); }
+       get confirmPassword() { return browser.element( '#wpRetype' ); }
+       get create() { return browser.element( '#wpCreateaccount' ); }
+       get heading() { return browser.element( '#firstHeading' ); }
+
+       open() {
+               super.open( 'Special:CreateAccount' );
+       }
+
+       createAccount( username, password ) {
+               this.open();
+               this.username.setValue( username );
+               this.password.setValue( password );
+               this.confirmPassword.setValue( password );
+               this.create.click();
+       }
+
+}
+module.exports = new CreateAccountPage();
diff --git a/tests/selenium/pageobjects/edit.page.js b/tests/selenium/pageobjects/edit.page.js
new file mode 100644 (file)
index 0000000..819c546
--- /dev/null
@@ -0,0 +1,22 @@
+'use strict';
+const Page = require( './page' );
+
+class EditPage extends Page {
+
+       get content() { return browser.element( '#wpTextbox1' ); }
+       get displayedContent() { return browser.element( '#mw-content-text' ); }
+       get heading() { return browser.element( '#firstHeading' ); }
+       get save() { return browser.element( '#wpSave' ); }
+
+       open( name ) {
+               super.open( name + '&action=edit' );
+       }
+
+       edit( name, content ) {
+               this.open( name );
+               this.content.setValue( content );
+               this.save.click();
+       }
+
+}
+module.exports = new EditPage();
diff --git a/tests/selenium/pageobjects/history.page.js b/tests/selenium/pageobjects/history.page.js
new file mode 100644 (file)
index 0000000..869484e
--- /dev/null
@@ -0,0 +1,13 @@
+'use strict';
+const Page = require( './page' );
+
+class HistoryPage extends Page {
+
+       get comment() { return browser.element( '#pagehistory .comment' ); }
+
+       open( name ) {
+               super.open( name + '&action=history' );
+       }
+
+}
+module.exports = new HistoryPage();
diff --git a/tests/selenium/pageobjects/page.js b/tests/selenium/pageobjects/page.js
new file mode 100644 (file)
index 0000000..864bdae
--- /dev/null
@@ -0,0 +1,11 @@
+// From http://webdriver.io/guide/testrunner/pageobjects.html
+'use strict';
+class Page {
+       constructor() {
+               this.title = 'My Page';
+       }
+       open( path ) {
+               browser.url( '/index.php?title=' + path );
+       }
+}
+module.exports = Page;
diff --git a/tests/selenium/pageobjects/preferences.page.js b/tests/selenium/pageobjects/preferences.page.js
new file mode 100644 (file)
index 0000000..98b87fe
--- /dev/null
@@ -0,0 +1,20 @@
+'use strict';
+const Page = require( './page' );
+
+class PreferencesPage extends Page {
+
+       get realName() { return browser.element( '#mw-input-wprealname' ); }
+       get save() { return browser.element( '#prefcontrol' ); }
+
+       open() {
+               super.open( 'Special:Preferences' );
+       }
+
+       changeRealName( realName ) {
+               this.open();
+               this.realName.setValue( realName );
+               this.save.click();
+       }
+
+}
+module.exports = new PreferencesPage();
diff --git a/tests/selenium/pageobjects/userlogin.page.js b/tests/selenium/pageobjects/userlogin.page.js
new file mode 100644 (file)
index 0000000..bdbd41b
--- /dev/null
@@ -0,0 +1,23 @@
+'use strict';
+const Page = require( './page' );
+
+class UserLoginPage extends Page {
+
+       get username() { return browser.element( '#wpName1' ); }
+       get password() { return browser.element( '#wpPassword1' ); }
+       get loginButton() { return browser.element( '#wpLoginAttempt' ); }
+       get userPage() { return browser.element( '#pt-userpage' ); }
+
+       open() {
+               super.open( 'Special:UserLogin' );
+       }
+
+       login( username, password ) {
+               this.open();
+               this.username.setValue( username );
+               this.password.setValue( password );
+               this.loginButton.click();
+       }
+
+}
+module.exports = new UserLoginPage();
diff --git a/tests/selenium/pageobjects/userlogout.page.js b/tests/selenium/pageobjects/userlogout.page.js
new file mode 100644 (file)
index 0000000..e355fd5
--- /dev/null
@@ -0,0 +1,11 @@
+'use strict';
+const Page = require( './page' );
+
+class UserLogoutPage extends Page {
+
+       open() {
+               super.open( 'Special:UserLogout' );
+       }
+
+}
+module.exports = new UserLogoutPage();
diff --git a/tests/selenium/specs/page.js b/tests/selenium/specs/page.js
new file mode 100644 (file)
index 0000000..da80aaf
--- /dev/null
@@ -0,0 +1,54 @@
+'use strict';
+const assert = require( 'assert' ),
+       HistoryPage = require( '../pageobjects/history.page' ),
+       EditPage = require( '../pageobjects/edit.page' );
+
+describe( 'Page', function () {
+
+       var content,
+               name;
+
+       beforeEach( function () {
+               content = Math.random().toString();
+               name = Math.random().toString();
+       } );
+
+       it( 'should be creatable', function () {
+
+               // create
+               EditPage.edit( name, content );
+
+               // check
+               assert.equal( EditPage.heading.getText(), name );
+               assert.equal( EditPage.displayedContent.getText(), content );
+
+       } );
+
+       it( 'should be editable', function () {
+
+               var content2 = Math.random().toString();
+
+               // create
+               EditPage.edit( name, content );
+
+               // edit
+               EditPage.edit( name, content2 );
+
+               // check content
+               assert.equal( EditPage.heading.getText(), name );
+               assert.equal( EditPage.displayedContent.getText(), content2 );
+
+       } );
+
+       it( 'should have history', function () {
+
+               // create
+               EditPage.edit( name, content );
+
+               // check
+               HistoryPage.open( name );
+               assert.equal( HistoryPage.comment.getText(), `(Created page with "${content}")` );
+
+       } );
+
+} );
diff --git a/tests/selenium/specs/user.js b/tests/selenium/specs/user.js
new file mode 100644 (file)
index 0000000..6746c5b
--- /dev/null
@@ -0,0 +1,59 @@
+'use strict';
+const assert = require( 'assert' ),
+       CreateAccountPage = require( '../pageobjects/createaccount.page' ),
+       UserLoginPage = require( '../pageobjects/userlogin.page' ),
+       UserLogoutPage = require( '../pageobjects/userlogout.page' ),
+       PreferencesPage = require( '../pageobjects/preferences.page' );
+
+describe( 'User', function () {
+
+       var password,
+               username;
+
+       beforeEach( function () {
+               username = `User-${Math.random().toString()}`;
+               password = Math.random().toString();
+       } );
+
+       it( 'should be able to create account', function () {
+
+               // create
+               CreateAccountPage.createAccount( username, password );
+
+               // check
+               assert.equal( CreateAccountPage.heading.getText(), `Welcome, ${username}!` );
+
+       } );
+
+       it( 'should be able to log in', function () {
+
+               // create
+               CreateAccountPage.createAccount( username, password );
+
+               // logout
+               UserLogoutPage.open();
+
+               // log in
+               UserLoginPage.login( username, password );
+
+               // check
+               assert.equal( UserLoginPage.userPage.getText(), username );
+
+       } );
+
+       it( 'should be able to change preferences', function () {
+
+               var realName = Math.random().toString();
+
+               // create
+               CreateAccountPage.createAccount( username, password );
+
+               // change real name
+               PreferencesPage.changeRealName( realName );
+
+               // check
+               assert.equal( PreferencesPage.realName.getValue(), realName );
+
+       } );
+
+} );
diff --git a/tests/selenium/wdio.conf.jenkins.js b/tests/selenium/wdio.conf.jenkins.js
new file mode 100644 (file)
index 0000000..4491c8e
--- /dev/null
@@ -0,0 +1,20 @@
+/* eslint no-undef: "error"*/
+/* eslint-env node*/
+'use strict';
+var merge = require( 'deepmerge' ),
+       wdioConf = require( './wdio.conf.js' );
+
+// Overwrite default settings
+exports.config = merge( wdioConf.config, {
+       username: 'WikiAdmin',
+       password: 'testpass',
+       screenshotPath: '../log/',
+       baseUrl: process.env.MW_SERVER + process.env.MW_SCRIPT_PATH,
+
+       reporters: [ 'spec', 'junit' ],
+       reporterOptions: {
+               junit: {
+                       outputDir: '../log/'
+               }
+       }
+} );
diff --git a/tests/selenium/wdio.conf.js b/tests/selenium/wdio.conf.js
new file mode 100644 (file)
index 0000000..b5dc61a
--- /dev/null
@@ -0,0 +1,228 @@
+/* eslint comma-dangle: 0 */
+/* eslint no-undef: "error"*/
+/* eslint no-console: 0 */
+/* eslint-env node*/
+'use strict';
+
+const path = require( 'path' );
+
+function relPath( foo ) {
+       return path.resolve( __dirname, '../..', foo );
+}
+
+exports.config = {
+
+       //
+       // ======
+       //
+       // ======
+       // Custom
+       // ======
+       // Define any custom variables.
+       // Example:
+       // username: 'Admin',
+       // Use if from tests with:
+       // browser.options.username
+       username: process.env.MEDIAWIKI_USER === undefined ?
+               'Admin' :
+               process.env.MEDIAWIKI_USER,
+       password: process.env.MEDIAWIKI_PASSWORD === undefined ?
+               'vagrant' :
+               process.env.MEDIAWIKI_PASSWORD,
+       //
+       // ==================
+       // Specify Test Files
+       // ==================
+       // Define which test specs should run. The pattern is relative to the directory
+       // from which `wdio` was called. Notice that, if you are calling `wdio` from an
+       // NPM script (see https://docs.npmjs.com/cli/run-script) then the current working
+       // directory is where your package.json resides, so `wdio` will be called from there.
+       //
+       specs: [
+               relPath( './tests/selenium/specs/**/*.js' ),
+               relPath( './extensions/*/tests/selenium/specs/**/*.js' ),
+               relPath( './extensions/VisualEditor/modules/ve-mw/tests/selenium/specs/**/*.js' )
+       ],
+       // Patterns to exclude.
+       exclude: [
+       // 'path/to/excluded/files'
+       ],
+       //
+       // ============
+       // Capabilities
+       // ============
+       // Define your capabilities here. WebdriverIO can run multiple capabilities at the same
+       // time. Depending on the number of capabilities, WebdriverIO launches several test
+       // sessions. Within your capabilities you can overwrite the spec and exclude options in
+       // order to group specific specs to a specific capability.
+       //
+       // First, you can define how many instances should be started at the same time. Let's
+       // say you have 3 different capabilities (Chrome, Firefox, and Safari) and you have
+       // set maxInstances to 1; wdio will spawn 3 processes. Therefore, if you have 10 spec
+       // files and you set maxInstances to 10, all spec files will get tested at the same time
+       // and 30 processes will get spawned. The property handles how many capabilities
+       // from the same test should run tests.
+       //
+       maxInstances: 1,
+       //
+       // If you have trouble getting all important capabilities together, check out the
+       // Sauce Labs platform configurator - a great tool to configure your capabilities:
+       // https://docs.saucelabs.com/reference/platforms-configurator
+       //
+       // For Chrome/Chromium https://sites.google.com/a/chromium.org/chromedriver/capabilities
+       capabilities: [ {
+               // maxInstances can get overwritten per capability. So if you have an in-house Selenium
+               // grid with only 5 firefox instances available you can make sure that not more than
+               // 5 instances get started at a time.
+               maxInstances: 1,
+               //
+               browserName: 'chrome',
+               // Since Chrome v57 https://bugs.chromium.org/p/chromedriver/issues/detail?id=1625
+               chromeOptions: {
+                       args: [ '--enable-automation' ]
+               }
+       } ],
+       //
+       // ===================
+       // Test Configurations
+       // ===================
+       // Define all options that are relevant for the WebdriverIO instance here
+       //
+       // By default WebdriverIO commands are executed in a synchronous way using
+       // the wdio-sync package. If you still want to run your tests in an async way
+       // e.g. using promises you can set the sync option to false.
+       sync: true,
+       //
+       // Level of logging verbosity: silent | verbose | command | data | result | error
+       logLevel: 'error',
+       //
+       // Enables colors for log output.
+       coloredLogs: true,
+       //
+       // Saves a screenshot to a given path if a command fails.
+       screenshotPath: './log/',
+       //
+       // Set a base URL in order to shorten url command calls. If your url parameter starts
+       // with "/", then the base url gets prepended.
+       baseUrl: (
+               process.env.MW_SERVER === undefined ?
+               'http://127.0.0.1:8080' :
+               process.env.MW_SERVER
+       ) + (
+               process.env.MW_SCRIPT_PATH === undefined ?
+               '/w' :
+               process.env.MW_SCRIPT_PATH
+       ),
+       //
+       // Default timeout for all waitFor* commands.
+       waitforTimeout: 20000,
+       //
+       // Default timeout in milliseconds for request
+       // if Selenium Grid doesn't send response
+       connectionRetryTimeout: 90000,
+       //
+       // Default request retries count
+       connectionRetryCount: 3,
+       //
+       // Initialize the browser instance with a WebdriverIO plugin. The object should have the
+       // plugin name as key and the desired plugin options as properties. Make sure you have
+       // the plugin installed before running any tests. The following plugins are currently
+       // available:
+       // WebdriverCSS: https://github.com/webdriverio/webdrivercss
+       // WebdriverRTC: https://github.com/webdriverio/webdriverrtc
+       // Browserevent: https://github.com/webdriverio/browserevent
+       // plugins: {
+       //     webdrivercss: {
+       //         screenshotRoot: 'my-shots',
+       //         failedComparisonsRoot: 'diffs',
+       //         misMatchTolerance: 0.05,
+       //         screenWidth: [320,480,640,1024]
+       //     },
+       //     webdriverrtc: {},
+       //     browserevent: {}
+       // },
+       //
+       // Test runner services
+       // Services take over a specific job you don't want to take care of. They enhance
+       // your test setup with almost no effort. Unlike plugins, they don't add new
+       // commands. Instead, they hook themselves up into the test process.
+       // services: [],//
+       // Framework you want to run your specs with.
+       // The following are supported: Mocha, Jasmine, and Cucumber
+       // see also: http://webdriver.io/guide/testrunner/frameworks.html
+       //
+       // Make sure you have the wdio adapter package for the specific framework installed
+       // before running any tests.
+       framework: 'mocha',
+
+       // Test reporter for stdout.
+       // The only one supported by default is 'dot'
+       // see also: http://webdriver.io/guide/testrunner/reporters.html
+       reporters: [ 'spec' ],
+       //
+       // Options to be passed to Mocha.
+       // See the full list at http://mochajs.org/
+       mochaOpts: {
+               ui: 'bdd',
+               timeout: 20000
+       },
+       //
+       // =====
+       // Hooks
+       // =====
+       // WebdriverIO provides several hooks you can use to interfere with the test process in order to enhance
+       // it and to build services around it. You can either apply a single function or an array of
+       // methods to it. If one of them returns with a promise, WebdriverIO will wait until that promise got
+       // resolved to continue.
+       //
+       // Gets executed once before all workers get launched.
+       // onPrepare: function ( config, capabilities ) {
+       // }
+       //
+       // Gets executed before test execution begins. At this point you can access all global
+       // variables, such as `browser`. It is the perfect place to define custom commands.
+       // before: function (capabilities, specs) {
+       // },
+       //
+       // Hook that gets executed before the suite starts
+       // beforeSuite: function (suite) {
+       // },
+       //
+       // Hook that gets executed _before_ a hook within the suite starts (e.g. runs before calling
+       // beforeEach in Mocha)
+       // beforeHook: function () {
+       // },
+       //
+       // Hook that gets executed _after_ a hook within the suite starts (e.g. runs after calling
+       // afterEach in Mocha)
+       //
+       // Function to be executed before a test (in Mocha/Jasmine) or a step (in Cucumber) starts.
+       // beforeTest: function (test) {
+       // },
+       //
+       // Runs before a WebdriverIO command gets executed.
+       // beforeCommand: function (commandName, args) {
+       // },
+       //
+       // Runs after a WebdriverIO command gets executed
+       // afterCommand: function (commandName, args, result, error) {
+       // },
+       //
+       // Function to be executed after a test (in Mocha/Jasmine) or a step (in Cucumber) starts.
+       // afterTest: function (test) {
+       // },
+       //
+       // Hook that gets executed after the suite has ended
+       // afterSuite: function (suite) {
+       // },
+       //
+       // Gets executed after all tests are done. You still have access to all global variables from
+       // the test.
+       // after: function (result, capabilities, specs) {
+       // },
+       //
+       // Gets executed after all workers got shut down and the process is about to exit. It is not
+       // possible to defer the end of the process using a promise.
+       // onComplete: function(exitCode) {
+       // }
+};
index de201b9..d97f8e8 100644 (file)
--- a/thumb.php
+++ b/thumb.php
@@ -22,6 +22,7 @@
  */
 
 use MediaWiki\Logger\LoggerFactory;
+use MediaWiki\MediaWikiServices;
 
 define( 'MW_NO_OUTPUT_COMPRESSION', 1 );
 require __DIR__ . '/includes/WebStart.php';
@@ -317,7 +318,9 @@ function wfStreamThumb( array $params ) {
                $streamtime = microtime( true ) - $starttime;
 
                if ( $status->isOK() ) {
-                       RequestContext::getMain()->getStats()->timing( 'media.thumbnail.stream', $streamtime );
+                       MediaWikiServices::getInstance()->getStatsdDataFactory()->timing(
+                               'media.thumbnail.stream', $streamtime
+                       );
                } else {
                        wfThumbError( 500, 'Could not stream the file', null, [ 'file' => $thumbName,
                                'path' => $thumbPath, 'error' => $status->getWikiText( false, false, 'en' ) ] );