Merge "Update IRCLineURL hook to include RecentChange object"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Mon, 31 Mar 2014 10:24:30 +0000 (10:24 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Mon, 31 Mar 2014 10:24:30 +0000 (10:24 +0000)
494 files changed:
.jscsrc [new file with mode: 0644]
.jshintignore
.jshintrc
.travis.yml
README
RELEASE-NOTES-1.23
api.php
api.php5
img_auth.php
img_auth.php5
includes/AjaxResponse.php
includes/Article.php
includes/AutoLoader.php
includes/Autopromote.php
includes/Block.php
includes/CacheHelper.php
includes/Category.php
includes/CategoryViewer.php
includes/ChangeTags.php
includes/DefaultSettings.php
includes/EditPage.php
includes/Export.php
includes/GlobalFunctions.php
includes/Linker.php
includes/Message.php
includes/OutputPage.php
includes/QueryPage.php
includes/Skin.php
includes/Title.php
includes/WebResponse.php
includes/WebStart.php
includes/Wiki.php
includes/WikiPage.php
includes/api/ApiQueryAllImages.php
includes/api/ApiQuerySearch.php
includes/api/ApiQueryStashImageInfo.php
includes/api/ApiRevisionDelete.php
includes/cache/LocalisationCache.php
includes/db/Database.php
includes/db/DatabaseMysqlBase.php
includes/db/LoadBalancer.php
includes/exception/MWException.php
includes/exception/ThrottledError.php
includes/filebackend/FileBackendStore.php
includes/filerepo/FileRepo.php
includes/filerepo/file/File.php
includes/installer/i18n/he.json
includes/libs/HttpStatus.php
includes/media/MediaHandler.php
includes/objectcache/BagOStuff.php
includes/parser/Parser.php
includes/rcfeed/XMLRCFeedFormatter.php
includes/resourceloader/ResourceLoaderContext.php
includes/resourceloader/ResourceLoaderStartUpModule.php
includes/search/SearchEngine.php
includes/search/SearchMssql.php
includes/search/SearchMySQL.php
includes/search/SearchOracle.php
includes/search/SearchPostgres.php
includes/search/SearchResultSet.php
includes/search/SearchSqlite.php
includes/specialpage/ChangesListSpecialPage.php
includes/specialpage/RedirectSpecialPage.php
includes/specialpage/SpecialPage.php
includes/specialpage/SpecialPageFactory.php
includes/specials/SpecialActiveusers.php
includes/specials/SpecialAllmessages.php
includes/specials/SpecialAllpages.php
includes/specials/SpecialBooksources.php
includes/specials/SpecialCategories.php
includes/specials/SpecialChangePassword.php
includes/specials/SpecialContributions.php
includes/specials/SpecialCreateAccount.php
includes/specials/SpecialDeletedContributions.php
includes/specials/SpecialEditWatchlist.php
includes/specials/SpecialExpandTemplates.php
includes/specials/SpecialFilepath.php
includes/specials/SpecialLinkSearch.php
includes/specials/SpecialListDuplicatedFiles.php [new file with mode: 0644]
includes/specials/SpecialListfiles.php
includes/specials/SpecialMIMEsearch.php
includes/specials/SpecialMostrevisions.php
includes/specials/SpecialMovepage.php
includes/specials/SpecialMyRedirectPages.php
includes/specials/SpecialNewimages.php
includes/specials/SpecialPermanentLink.php
includes/specials/SpecialRandomInCategory.php
includes/specials/SpecialRecentchanges.php
includes/specials/SpecialRecentchangeslinked.php
includes/specials/SpecialRedirect.php
includes/specials/SpecialResetTokens.php
includes/specials/SpecialRevisiondelete.php
includes/specials/SpecialRunJobs.php
includes/specials/SpecialSearch.php
includes/specials/SpecialShortpages.php
includes/specials/SpecialSpecialpages.php
includes/specials/SpecialStatistics.php
includes/specials/SpecialTags.php
includes/specials/SpecialTrackingCategories.php [new file with mode: 0644]
includes/specials/SpecialUnblock.php
includes/specials/SpecialUncategorizedimages.php
includes/specials/SpecialUncategorizedpages.php
includes/specials/SpecialUndelete.php
includes/specials/SpecialUnusedcategories.php
includes/specials/SpecialUnusedimages.php
includes/specials/SpecialUnusedtemplates.php
includes/specials/SpecialUnwatchedpages.php
includes/specials/SpecialUpload.php
includes/specials/SpecialUploadStash.php
includes/specials/SpecialUserlogin.php
includes/specials/SpecialUserlogout.php
includes/specials/SpecialUserrights.php
includes/specials/SpecialVersion.php
includes/specials/SpecialWantedcategories.php
includes/specials/SpecialWantedfiles.php
includes/specials/SpecialWantedpages.php
includes/specials/SpecialWantedtemplates.php
includes/specials/SpecialWatchlist.php
includes/specials/SpecialWhatlinkshere.php
includes/specials/SpecialWithoutinterwiki.php
includes/title/MalformedTitleException.php [new file with mode: 0644]
includes/title/MediaWikiPageLinkRenderer.php [new file with mode: 0644]
includes/title/MediaWikiTitleCodec.php [new file with mode: 0644]
includes/title/PageLinkRenderer.php [new file with mode: 0644]
includes/title/TitleFormatter.php [new file with mode: 0644]
includes/title/TitleParser.php [new file with mode: 0644]
includes/title/TitleValue.php [new file with mode: 0644]
index.php
index.php5
languages/Names.php
languages/messages/MessagesAce.php
languages/messages/MessagesAeb.php
languages/messages/MessagesAf.php
languages/messages/MessagesAln.php
languages/messages/MessagesAm.php
languages/messages/MessagesAn.php
languages/messages/MessagesAng.php
languages/messages/MessagesAr.php
languages/messages/MessagesArc.php
languages/messages/MessagesArn.php
languages/messages/MessagesArq.php [new file with mode: 0644]
languages/messages/MessagesAry.php
languages/messages/MessagesArz.php
languages/messages/MessagesAs.php
languages/messages/MessagesAst.php
languages/messages/MessagesAvk.php
languages/messages/MessagesAz.php
languages/messages/MessagesAzb.php
languages/messages/MessagesBa.php
languages/messages/MessagesBar.php
languages/messages/MessagesBcc.php
languages/messages/MessagesBcl.php
languages/messages/MessagesBe.php
languages/messages/MessagesBe_tarask.php
languages/messages/MessagesBg.php
languages/messages/MessagesBho.php
languages/messages/MessagesBjn.php
languages/messages/MessagesBn.php
languages/messages/MessagesBo.php
languages/messages/MessagesBpy.php
languages/messages/MessagesBr.php
languages/messages/MessagesBs.php
languages/messages/MessagesCa.php
languages/messages/MessagesCdo.php
languages/messages/MessagesCe.php
languages/messages/MessagesCeb.php
languages/messages/MessagesCh.php
languages/messages/MessagesCkb.php
languages/messages/MessagesCo.php
languages/messages/MessagesCps.php
languages/messages/MessagesCrh_cyrl.php
languages/messages/MessagesCrh_latn.php
languages/messages/MessagesCs.php
languages/messages/MessagesCsb.php
languages/messages/MessagesCu.php
languages/messages/MessagesCv.php
languages/messages/MessagesCy.php
languages/messages/MessagesDa.php
languages/messages/MessagesDe.php
languages/messages/MessagesDiq.php
languages/messages/MessagesDsb.php
languages/messages/MessagesDtp.php
languages/messages/MessagesDv.php
languages/messages/MessagesEgl.php
languages/messages/MessagesEl.php
languages/messages/MessagesEn.php
languages/messages/MessagesEo.php
languages/messages/MessagesEs.php
languages/messages/MessagesEt.php
languages/messages/MessagesEu.php
languages/messages/MessagesExt.php
languages/messages/MessagesFa.php
languages/messages/MessagesFi.php
languages/messages/MessagesFo.php
languages/messages/MessagesFr.php
languages/messages/MessagesFrp.php
languages/messages/MessagesFrr.php
languages/messages/MessagesFur.php
languages/messages/MessagesFy.php
languages/messages/MessagesGa.php
languages/messages/MessagesGag.php
languages/messages/MessagesGan_hans.php
languages/messages/MessagesGan_hant.php
languages/messages/MessagesGd.php
languages/messages/MessagesGl.php
languages/messages/MessagesGrc.php
languages/messages/MessagesGsw.php
languages/messages/MessagesGu.php
languages/messages/MessagesGv.php
languages/messages/MessagesHak.php
languages/messages/MessagesHaw.php
languages/messages/MessagesHe.php
languages/messages/MessagesHi.php
languages/messages/MessagesHif_latn.php
languages/messages/MessagesHil.php
languages/messages/MessagesHr.php
languages/messages/MessagesHrx.php [new file with mode: 0644]
languages/messages/MessagesHsb.php
languages/messages/MessagesHt.php
languages/messages/MessagesHu.php
languages/messages/MessagesHy.php
languages/messages/MessagesIa.php
languages/messages/MessagesId.php
languages/messages/MessagesIe.php
languages/messages/MessagesIg.php
languages/messages/MessagesIlo.php
languages/messages/MessagesInh.php
languages/messages/MessagesIo.php
languages/messages/MessagesIs.php
languages/messages/MessagesIt.php
languages/messages/MessagesJa.php
languages/messages/MessagesJam.php
languages/messages/MessagesJv.php
languages/messages/MessagesKa.php
languages/messages/MessagesKaa.php
languages/messages/MessagesKab.php
languages/messages/MessagesKbd_cyrl.php
languages/messages/MessagesKhw.php
languages/messages/MessagesKiu.php
languages/messages/MessagesKk_arab.php
languages/messages/MessagesKk_cyrl.php
languages/messages/MessagesKk_latn.php
languages/messages/MessagesKm.php
languages/messages/MessagesKn.php
languages/messages/MessagesKo.php
languages/messages/MessagesKrc.php
languages/messages/MessagesKsh.php
languages/messages/MessagesKu_latn.php
languages/messages/MessagesKw.php
languages/messages/MessagesKy.php
languages/messages/MessagesLa.php
languages/messages/MessagesLad.php
languages/messages/MessagesLb.php
languages/messages/MessagesLez.php
languages/messages/MessagesLfn.php
languages/messages/MessagesLg.php
languages/messages/MessagesLi.php
languages/messages/MessagesLij.php
languages/messages/MessagesLmo.php
languages/messages/MessagesLo.php
languages/messages/MessagesLoz.php
languages/messages/MessagesLrc.php
languages/messages/MessagesLt.php
languages/messages/MessagesLtg.php
languages/messages/MessagesLus.php
languages/messages/MessagesLv.php
languages/messages/MessagesLzh.php
languages/messages/MessagesMai.php
languages/messages/MessagesMap_bms.php
languages/messages/MessagesMdf.php
languages/messages/MessagesMg.php
languages/messages/MessagesMhr.php
languages/messages/MessagesMin.php
languages/messages/MessagesMk.php
languages/messages/MessagesMl.php
languages/messages/MessagesMn.php
languages/messages/MessagesMr.php
languages/messages/MessagesMs.php
languages/messages/MessagesMt.php
languages/messages/MessagesMwl.php
languages/messages/MessagesMy.php
languages/messages/MessagesMyv.php
languages/messages/MessagesMzn.php
languages/messages/MessagesNah.php
languages/messages/MessagesNan.php
languages/messages/MessagesNap.php
languages/messages/MessagesNb.php
languages/messages/MessagesNds.php
languages/messages/MessagesNds_nl.php
languages/messages/MessagesNe.php
languages/messages/MessagesNl.php
languages/messages/MessagesNn.php
languages/messages/MessagesNso.php
languages/messages/MessagesOc.php
languages/messages/MessagesOr.php
languages/messages/MessagesOs.php
languages/messages/MessagesPa.php
languages/messages/MessagesPam.php
languages/messages/MessagesPcd.php
languages/messages/MessagesPdc.php
languages/messages/MessagesPfl.php
languages/messages/MessagesPl.php
languages/messages/MessagesPms.php
languages/messages/MessagesPnb.php
languages/messages/MessagesPnt.php
languages/messages/MessagesPrg.php
languages/messages/MessagesPs.php
languages/messages/MessagesPt.php
languages/messages/MessagesPt_br.php
languages/messages/MessagesQqq.php
languages/messages/MessagesQu.php
languages/messages/MessagesQug.php
languages/messages/MessagesRm.php
languages/messages/MessagesRo.php
languages/messages/MessagesRoa_tara.php
languages/messages/MessagesRu.php
languages/messages/MessagesRue.php
languages/messages/MessagesSa.php
languages/messages/MessagesSah.php
languages/messages/MessagesSat.php
languages/messages/MessagesSc.php
languages/messages/MessagesScn.php
languages/messages/MessagesSco.php
languages/messages/MessagesSdc.php
languages/messages/MessagesSe.php
languages/messages/MessagesSei.php
languages/messages/MessagesSgs.php
languages/messages/MessagesSh.php
languages/messages/MessagesShi.php
languages/messages/MessagesSi.php
languages/messages/MessagesSk.php
languages/messages/MessagesSl.php
languages/messages/MessagesSli.php
languages/messages/MessagesSo.php
languages/messages/MessagesSq.php
languages/messages/MessagesSr_ec.php
languages/messages/MessagesSr_el.php
languages/messages/MessagesSrn.php
languages/messages/MessagesStq.php
languages/messages/MessagesSu.php
languages/messages/MessagesSv.php
languages/messages/MessagesSw.php
languages/messages/MessagesSzl.php
languages/messages/MessagesTa.php
languages/messages/MessagesTcy.php
languages/messages/MessagesTe.php
languages/messages/MessagesTet.php
languages/messages/MessagesTg_cyrl.php
languages/messages/MessagesTg_latn.php
languages/messages/MessagesTh.php
languages/messages/MessagesTk.php
languages/messages/MessagesTl.php
languages/messages/MessagesTly.php
languages/messages/MessagesTo.php
languages/messages/MessagesTr.php
languages/messages/MessagesTru.php
languages/messages/MessagesTs.php
languages/messages/MessagesTt_cyrl.php
languages/messages/MessagesTt_latn.php
languages/messages/MessagesTyv.php
languages/messages/MessagesUg_arab.php
languages/messages/MessagesUk.php
languages/messages/MessagesUr.php
languages/messages/MessagesUz.php
languages/messages/MessagesVec.php
languages/messages/MessagesVep.php
languages/messages/MessagesVi.php
languages/messages/MessagesVmf.php
languages/messages/MessagesVo.php
languages/messages/MessagesVot.php
languages/messages/MessagesVro.php
languages/messages/MessagesWa.php
languages/messages/MessagesWar.php
languages/messages/MessagesWo.php
languages/messages/MessagesWuu.php
languages/messages/MessagesXal.php
languages/messages/MessagesXmf.php
languages/messages/MessagesYi.php
languages/messages/MessagesYo.php
languages/messages/MessagesYue.php
languages/messages/MessagesZea.php
languages/messages/MessagesZh_hans.php
languages/messages/MessagesZh_hant.php
load.php5
maintenance/findHooks.php
maintenance/generateJsonI18n.php
maintenance/interwiki.list
maintenance/interwiki.sql
maintenance/jsduck/config.json
maintenance/language/messages.inc
maintenance/mwjsduck-gen
mw-config/index.php
mw-config/index.php5
opensearch_desc.php5
profileinfo.php5 [new file with mode: 0644]
resources/Makefile
resources/Resources.php
resources/jquery/jquery.arrowSteps.js
resources/jquery/jquery.autoEllipsis.js
resources/jquery/jquery.badge.js
resources/jquery/jquery.byteLimit.js
resources/jquery/jquery.colorUtil.js
resources/jquery/jquery.highlightText.js
resources/jquery/jquery.localize.js
resources/jquery/jquery.makeCollapsible.js
resources/jquery/jquery.placeholder.js
resources/jquery/jquery.qunit.completenessTest.js
resources/jquery/jquery.suggestions.js
resources/jquery/jquery.tablesorter.js
resources/jquery/jquery.textSelection.js
resources/mediawiki.action/mediawiki.action.edit.editWarning.js
resources/mediawiki.action/mediawiki.action.edit.js
resources/mediawiki.action/mediawiki.action.history.js
resources/mediawiki.action/mediawiki.action.view.metadata.js
resources/mediawiki.api/mediawiki.api.category.js
resources/mediawiki.api/mediawiki.api.js
resources/mediawiki.api/mediawiki.api.parse.js
resources/mediawiki.api/mediawiki.api.watch.js
resources/mediawiki.language/languages/fi.js
resources/mediawiki.language/languages/hy.js
resources/mediawiki.language/languages/la.js
resources/mediawiki.language/languages/os.js
resources/mediawiki.language/languages/uk.js
resources/mediawiki.language/mediawiki.language.js
resources/mediawiki.language/mediawiki.language.numbers.js
resources/mediawiki.page/mediawiki.page.gallery.js
resources/mediawiki.page/mediawiki.page.image.pagination.js
resources/mediawiki.special/mediawiki.special.block.js
resources/mediawiki.special/mediawiki.special.javaScriptTest.js
resources/mediawiki.special/mediawiki.special.preferences.js
resources/mediawiki.special/mediawiki.special.upload.js
resources/mediawiki.ui/components/default/buttons.less
resources/mediawiki.ui/default.less
resources/mediawiki.ui/mixins/effects.less
resources/mediawiki.ui/vector.less
resources/mediawiki/mediawiki.Title.js
resources/mediawiki/mediawiki.Uri.js
resources/mediawiki/mediawiki.debug.js
resources/mediawiki/mediawiki.feedback.js
resources/mediawiki/mediawiki.htmlform.js
resources/mediawiki/mediawiki.jqueryMsg.js
resources/mediawiki/mediawiki.js
resources/mediawiki/mediawiki.util.js
resources/oojs-ui/i18n/es.json
resources/oojs-ui/i18n/et.json
resources/oojs-ui/i18n/frr.json
resources/oojs-ui/i18n/gu.json
resources/oojs-ui/i18n/hi.json
resources/oojs-ui/i18n/kk-cyrl.json
resources/oojs-ui/i18n/pl.json
resources/oojs-ui/i18n/qu.json
resources/oojs-ui/i18n/sco.json
resources/oojs-ui/oojs-ui-agora.css [new file with mode: 0644]
resources/oojs-ui/oojs-ui-apex.css
resources/oojs-ui/oojs-ui.js
resources/oojs-ui/oojs-ui.svg.css
resources/oojs-ui/update-oojs-ui.sh
skins/common/IEFixes.js
skins/common/ajax.js
skins/common/commonContent.css
skins/common/commonElements.css
skins/common/config.js
skins/common/upload.js
skins/common/wikibits.js
skins/monobook/main.css
skins/vector/components/common.less
skins/vector/variables.less
skins/vector/vector.js
tests/frontend/Gruntfile.js [new file with mode: 0644]
tests/frontend/package.json [new file with mode: 0644]
tests/parser/parserTest.inc
tests/parser/parserTests.txt
tests/phpunit/data/media/README
tests/phpunit/includes/MessageTest.php
tests/phpunit/includes/TitleTest.php
tests/phpunit/includes/exception/ThrottledErrorTest.php
tests/phpunit/includes/media/DjVuTest.php
tests/phpunit/includes/parser/NewParserTest.php
tests/phpunit/includes/parser/PreprocessorTest.php
tests/qunit/data/generateJqueryMsgData.php
tests/qunit/data/mediawiki.jqueryMsg.data.js
tests/qunit/suites/resources/jquery/jquery.color.test.js
tests/qunit/suites/resources/jquery/jquery.makeCollapsible.test.js
tests/qunit/suites/resources/jquery/jquery.placeholder.test.js
tests/qunit/suites/resources/jquery/jquery.textSelection.test.js
tests/qunit/suites/resources/mediawiki.api/mediawiki.api.test.js
tests/qunit/suites/resources/mediawiki/mediawiki.Title.test.js
tests/qunit/suites/resources/mediawiki/mediawiki.jqueryMsg.test.js
tests/qunit/suites/resources/mediawiki/mediawiki.test.js
thumb.php
thumb.php5
thumb_handler.php
thumb_handler.php5
wiki.phtml

diff --git a/.jscsrc b/.jscsrc
new file mode 100644 (file)
index 0000000..b5481ea
--- /dev/null
+++ b/.jscsrc
@@ -0,0 +1,30 @@
+{
+       "requireCurlyBraces": ["if", "else", "for", "while", "do"],
+       "requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "function"],
+       "requireParenthesesAroundIIFE": true,
+       "requireSpacesInFunctionExpression": {
+               "beforeOpeningCurlyBrace": true
+       },
+       "requireMultipleVarDecl": true,
+       "disallowEmptyBlocks": true,
+       "requireSpacesInsideObjectBrackets": "all",
+       "disallowSpaceAfterObjectKeys": true,
+       "requireCommaBeforeLineBreak": true,
+       "disallowLeftStickedOperators": ["?", ">", ">=", "<", "<="],
+       "disallowRightStickedOperators": ["?", "/", "*", ":", "=", "==", "===", "!=", "!==", ">", ">=", "<", "<="],
+       "requireRightStickedOperators": ["!"],
+       "requireLeftStickedOperators": [","],
+       "disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~"],
+       "disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
+       "requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
+       "requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
+       "disallowKeywords": [ "with" ],
+       "disallowMultipleLineBreaks": true,
+       "validateLineBreaks": "LF",
+       "validateQuoteMarks": "'",
+       "disallowMixedSpacesAndTabs": "smart",
+       "disallowTrailingWhitespace": true,
+       "requireLineFeedAtFileEnd": true,
+       "requireCapitalizedConstructors": true,
+       "requireDotNotation": true
+}
index a44a4d4..627f7ab 100644 (file)
@@ -1,14 +1,14 @@
 # Generated documentation
-docs/html/
-docs/js/
-resources/mediawiki.ui/docs
+docs/html/**
+docs/js/**
+resources/mediawiki.ui/docs/**
 
 # kss template for mediawiki ui documentation
-resources/styleguide-template
+resources/styleguide-template/**
 
 # third-party libs
-extensions/
-node_modules/
+extensions/**
+node_modules/**
 resources/jquery/jquery.appear.js
 resources/jquery/jquery.async.js
 resources/jquery/jquery.ba-throttle-debounce.js
@@ -26,14 +26,15 @@ resources/jquery/jquery.qunit.js
 resources/jquery/jquery.validate.js
 resources/jquery/jquery.xmldom.js
 resources/jquery.chosen/chosen.jquery.js
-resources/jquery.effects/
-resources/jquery.tipsy/
-resources/jquery.ui/
-resources/mediawiki.libs/
-resources/oojs/
-resources/oojs-ui/
-resources/sinonjs/
-resources/moment/
+resources/jquery.effects/**
+resources/jquery.tipsy/**
+resources/jquery.ui/**
+resources/mediawiki.libs/**
+resources/moment/**
+resources/oojs-ui/**
+resources/oojs/**
+resources/sinonjs/**
+tests/frontend/node_modules/**
 
 # github.com/jshint/jshint/issues/729
 tests/qunit/suites/resources/mediawiki/mediawiki.jscompat.test.js
index c4e265a..9d6c4d2 100644 (file)
--- a/.jshintrc
+++ b/.jshintrc
@@ -2,24 +2,20 @@
        /* Common */
 
        // Enforcing
-       "camelcase": true,
-       "curly": true,
        "eqeqeq": true,
-       "immed": true,
        "latedef": true,
-       "newcap": true,
        "noarg": true,
-       "noempty": true,
        "nonew": true,
-       "quotmark": "single",
-       "trailing": true,
        "undef": true,
        "unused": true,
-       // Legacy
-       "onevar": true,
 
        /* Local */
 
+       // FIXME: Deprecated, handle these with node-jscs instead.
+       // Handled here because we still have inline overrides in some places.
+       "camelcase": true,
+       "nomen": true,
+
        // Enforcing
        "bitwise": true,
        "forin": false,
@@ -31,8 +27,6 @@
        "multistr": true,
        // Environment
        "browser": true,
-       // Legacy
-       "nomen": true,
 
        "predef": [
                "mediaWiki",
index eb05fe2..e0a45a1 100644 (file)
@@ -13,12 +13,14 @@ php:
   - 5.3
   - 5.4
   - 5.5
+  - 5.6
 
 matrix:
   allow_failures:
     - php: 5.3
     - php: 5.4
     - php: 5.5
+    - php: 5.6
 
 services:
   - mysql
diff --git a/README b/README
index a4185ba..282ee6c 100644 (file)
--- a/README
+++ b/README
@@ -23,7 +23,7 @@ RELEASE-NOTES, INSTALL, and UPGRADE.
 * Seeking help from a person?
 ** https://www.mediawiki.org/wiki/Communication
 * Looking to file a bug report or a feature request?
-** https://bugs.mediawiki.org/
+** https://bugzilla.wikimedia.org/
 * Interested in helping out?
 ** https://www.mediawiki.org/wiki/How_to_contribute
 
index 340aa50..ff7b5f9 100644 (file)
@@ -50,6 +50,8 @@ production.
   prepended to the start of this array.
 * $wgQueryPages has been removed. Query Pages should be added to by using the
   wgQueryPages hook.
+* $wgHttpOnlyBlacklist has been removed.
+* $wgLicenseTerms has been removed as it was unused.
 
 === New features in 1.23 ===
 * ResourceLoader can utilize the Web Storage API to cache modules client-side.
@@ -130,6 +132,9 @@ production.
 * Added BaseTemplateAfterPortlet hook to allow injecting html after portlets in skins.
 * Support has been added for a JSON based localisation file format. The
   installer has been updated to use it.
+* Changes to content typography (fonts, line-height, etc.). See
+  https://www.mediawiki.org/wiki/Typography_refresh for further information.
+* ResourceLoader: mw.loader.using() now implements a Promise interface.
 
 === Bug fixes in 1.23 ===
 * (bug 41759) The "updated since last visit" markers (on history pages, recent
@@ -140,6 +145,10 @@ production.
   when the email address is already confirmed. Also, consistently use
   "confirmed", rather than "authenticated", when messaging whether or not the
   user has confirmed an email address.
+* (bug 19415) action=render no longer shows section edit links. This affects
+  behavior of several other features where (bogus) section edit links will
+  disappear, such as file description pages loaded via $wgUseInstantCommons or
+  pages transcluded cross-wiki via $wgEnableScaryTranscluding.
 * (bug 56912) Show correct link color on cached result of Special:DeadendPages.
 * Classes TitleListDependency and TitleDependency have been removed, as they
   have been found unused in core and extensions for a long time.
@@ -222,6 +231,8 @@ production.
 * (bug 42026) Added ucshow={new,!new,top,!top} to list=usercontribs.
   Also added newonly to action=feedcontributions.
 * (bug 42026) Deprecated uctoponly in favor of ucshow=top.
+* list=search no longer has a "srredirects" parameter. Redirects are now
+  included in all searches.
 
 === Languages updated in 1.23 ===
 
@@ -229,6 +240,8 @@ MediaWiki supports over 350 languages. Many localisations are updated
 regularly. Below only new and removed languages are listed, as well as
 changes to languages because of Bugzilla reports.
 
+* Support was added for Algerian Spoken Arabic (arq).
+* Support was added for Riograndenser Hunsrückisch (hrx).
 * Support was added for Northern Luri (lrc).
 
 === Other changes in 1.23 ===
@@ -303,6 +316,9 @@ changes to languages because of Bugzilla reports.
   us to extend parser tests to accommodate additional input/output
   pairs, such as "!!html/parsoid" (for the output of the Parsoid
   parser, where it differs from the PHP parser).
+* Special:Search no longer has an "include redirects" option on the advanced
+  tab. Redirects are now included in all searches.
+* mediawiki.api.category's getCategories() 'async' parameter was deprecated.
 
 ==== Removed classes ====
 * FakeMemCachedClient (deprecated in 1.18)
diff --git a/api.php b/api.php
index 554c272..e55ec75 100644 (file)
--- a/api.php
+++ b/api.php
@@ -40,7 +40,6 @@ if ( !function_exists( 'version_compare' ) || version_compare( phpversion(), '5.
        wfPHPVersionError( 'api.php' );
 }
 
-// Initialise common code.
 require __DIR__ . '/includes/WebStart.php';
 
 wfProfileIn( 'api.php' );
index 1828b7b..524dfd5 100644 (file)
--- a/api.php5
+++ b/api.php5
@@ -1,7 +1,7 @@
 <?php
 /**
- * Version of api.php to used in web server requiring .php5 extension
- * to execute scripts with PHP5 engine.
+ * Version of api.php to be used in web servers that require the .php5
+ * extension to execute scripts with the PHP5 engine.
  *
  * 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
@@ -21,4 +21,4 @@
  * @file
  */
 
-require 'api.php';
+require './api.php';
index 391fb29..a0976af 100644 (file)
@@ -150,6 +150,10 @@ function wfImageAuthMain() {
                return;
        }
 
+       if ( $wgRequest->getCheck( 'download' ) ) {
+               header( 'Content-Disposition: attachment' );
+       }
+
        // Stream the requested file
        wfDebugLog( 'img_auth', "Streaming `" . $filename . "`." );
        $repo->streamFile( $filename, array( 'Cache-Control: private', 'Vary: Cookie' ) );
index a86d7c0..7aee69a 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /**
- * Version of img_auth.php to used in web server requiring .php5 extension
- * to execute scripts with PHP5 engine.
+ * Version of img_auth.php to be used in web servers that require the .php5
+ * extension to execute scripts with the PHP5 engine.
  *
  * 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
index 334cee3..4b5ca75 100644 (file)
@@ -28,7 +28,6 @@
  * @ingroup Ajax
  */
 class AjaxResponse {
-
        /**
         * Number of seconds to get the response cached by a proxy
         * @var int $mCacheDuration
@@ -184,10 +183,10 @@ class AjaxResponse {
                                }
 
                        } else {
-
                                # Let the client do the caching. Cache is not purged.
                                header ( "Expires: " . gmdate( "D, d M Y H:i:s", time() + $this->mCacheDuration ) . " GMT" );
-                               header ( "Cache-Control: s-maxage={$this->mCacheDuration},public,max-age={$this->mCacheDuration}" );
+                               header ( "Cache-Control: s-maxage={$this->mCacheDuration}," .
+                                       "public,max-age={$this->mCacheDuration}" );
                        }
 
                } else {
@@ -237,17 +236,22 @@ class AjaxResponse {
                        wfDebug( "$fname: -- client send If-Modified-Since: " . $modsince . "\n", 'log' );
                        wfDebug( "$fname: --  we might send Last-Modified : $lastmod\n", 'log' );
 
-                       if ( ( $ismodsince >= $timestamp ) && $wgUser->validateCache( $ismodsince ) && $ismodsince >= $wgCacheEpoch ) {
+                       if ( ( $ismodsince >= $timestamp )
+                               && $wgUser->validateCache( $ismodsince ) &&
+                               $ismodsince >= $wgCacheEpoch
+                       ) {
                                ini_set( 'zlib.output_compression', 0 );
                                $this->setResponseCode( "304 Not Modified" );
                                $this->disable();
                                $this->mLastModified = $lastmod;
 
-                               wfDebug( "$fname: CACHED client: $ismodsince ; user: {$wgUser->getTouched()} ; page: $timestamp ; site $wgCacheEpoch\n", 'log' );
+                               wfDebug( "$fname: CACHED client: $ismodsince ; user: {$wgUser->getTouched()} ; " .
+                                       "page: $timestamp ; site $wgCacheEpoch\n", 'log' );
 
                                return true;
                        } else {
-                               wfDebug( "$fname: READY  client: $ismodsince ; user: {$wgUser->getTouched()} ; page: $timestamp ; site $wgCacheEpoch\n", 'log' );
+                               wfDebug( "$fname: READY  client: $ismodsince ; user: {$wgUser->getTouched()} ; " .
+                                       "page: $timestamp ; site $wgCacheEpoch\n", 'log' );
                                $this->mLastModified = $lastmod;
                        }
                } else {
index b132ca9..1133724 100644 (file)
@@ -367,9 +367,11 @@ class Article implements Page {
         * Does *NOT* follow redirects.
         *
         * @protected
-        * @note this is really internal functionality that should really NOT be used by other functions. For accessing
-        *       article content, use the WikiPage class, especially WikiBase::getContent(). However, a lot of legacy code
-        *       uses this method to retrieve page text from the database, so the function has to remain public for now.
+        * @note This is really internal functionality that should really NOT be
+        * used by other functions. For accessing article content, use the WikiPage
+        * class, especially WikiBase::getContent(). However, a lot of legacy code
+        * uses this method to retrieve page text from the database, so the function
+        * has to remain public for now.
         *
         * @return mixed string containing article contents, or false if null
         * @deprecated in 1.21, use WikiPage::getContent() instead
@@ -397,9 +399,10 @@ class Article implements Page {
        /**
         * Get text content object
         * Does *NOT* follow redirects.
-        * TODO: when is this null?
+        * @todo When is this null?
         *
-        * @note code that wants to retrieve page content from the database should use WikiPage::getContent().
+        * @note Code that wants to retrieve page content from the database should
+        * use WikiPage::getContent().
         *
         * @return Content|null|boolean false
         *
@@ -434,7 +437,8 @@ class Article implements Page {
                        }
                } else {
                        if ( !$this->mPage->getLatest() ) {
-                               wfDebug( __METHOD__ . " failed to find page data for title " . $this->getTitle()->getPrefixedText() . "\n" );
+                               wfDebug( __METHOD__ . " failed to find page data for title " .
+                                       $this->getTitle()->getPrefixedText() . "\n" );
                                wfProfileOut( __METHOD__ );
                                return false;
                        }
@@ -442,7 +446,8 @@ class Article implements Page {
                        $this->mRevision = $this->mPage->getRevision();
 
                        if ( !$this->mRevision ) {
-                               wfDebug( __METHOD__ . " failed to retrieve current page, rev_id " . $this->mPage->getLatest() . "\n" );
+                               wfDebug( __METHOD__ . " failed to retrieve current page, rev_id " .
+                                       $this->mPage->getLatest() . "\n" );
                                wfProfileOut( __METHOD__ );
                                return false;
                        }
@@ -450,7 +455,11 @@ class Article implements Page {
 
                // @todo FIXME: Horrible, horrible! This content-loading interface just plain sucks.
                // We should instead work with the Revision object when we need it...
-               $this->mContentObject = $this->mRevision->getContent( Revision::FOR_THIS_USER, $this->getContext()->getUser() ); // Loads if user is allowed
+               // Loads if user is allowed
+               $this->mContentObject = $this->mRevision->getContent(
+                       Revision::FOR_THIS_USER,
+                       $this->getContext()->getUser()
+               );
                $this->mRevIdFetched = $this->mRevision->getId();
 
                wfRunHooks( 'ArticleAfterFetchContentObject', array( &$this, &$this->mContentObject ) );
@@ -711,7 +720,8 @@ class Article implements Page {
                                        # Don't cache a dirty ParserOutput object
                                        if ( $poolArticleView->getIsDirty() ) {
                                                $outputPage->setSquidMaxage( 0 );
-                                               $outputPage->addHTML( "<!-- parser cache is expired, sending anyway due to pool overload-->\n" );
+                                               $outputPage->addHTML( "<!-- parser cache is expired, " .
+                                                       "sending anyway due to pool overload-->\n" );
                                        }
 
                                        $outputDone = true;
@@ -794,13 +804,21 @@ class Article implements Page {
                }
 
                $contentHandler = $rev->getContentHandler();
-               $de = $contentHandler->createDifferenceEngine( $this->getContext(), $oldid, $diff, $rcid, $purge, $unhide );
+               $de = $contentHandler->createDifferenceEngine(
+                       $this->getContext(),
+                       $oldid,
+                       $diff,
+                       $rcid,
+                       $purge,
+                       $unhide
+               );
 
                // DifferenceEngine directly fetched the revision:
                $this->mRevIdFetched = $de->mNewid;
                $de->showDiffPage( $diffOnly );
 
-               // Run view updates for the newer revision being diffed (and shown below the diff if not $diffOnly)
+               // Run view updates for the newer revision being diffed (and shown
+               // below the diff if not $diffOnly).
                list( $old, $new ) = $de->mapDiffPrevNext( $oldid, $diff );
                // New can be false, convert it to 0 - this conveniently means the latest revision
                $this->mPage->doViewUpdates( $user, (int)$new );
@@ -813,7 +831,8 @@ class Article implements Page {
         * This is hooked by SyntaxHighlight_GeSHi to do syntax highlighting of these
         * page views.
         *
-        * @param bool $showCacheHint whether to show a message telling the user to clear the browser cache (default: true).
+        * @param bool $showCacheHint whether to show a message telling the user
+        *   to clear the browser cache (default: true).
         */
        protected function showCssOrJsPage( $showCacheHint = true ) {
                $outputPage = $this->getContext()->getOutput();
@@ -822,15 +841,20 @@ class Article implements Page {
                        $dir = $this->getContext()->getLanguage()->getDir();
                        $lang = $this->getContext()->getLanguage()->getCode();
 
-                       $outputPage->wrapWikiMsg( "<div id='mw-clearyourcache' lang='$lang' dir='$dir' class='mw-content-$dir'>\n$1\n</div>",
-                               'clearyourcache' );
+                       $outputPage->wrapWikiMsg(
+                               "<div id='mw-clearyourcache' lang='$lang' dir='$dir' class='mw-content-$dir'>\n$1\n</div>",
+                               'clearyourcache'
+                       );
                }
 
                $this->fetchContentObject();
 
                if ( $this->mContentObject ) {
                        // Give hooks a chance to customise the output
-                       if ( ContentHandler::runLegacyHooks( 'ShowRawCssJs', array( $this->mContentObject, $this->getTitle(), $outputPage ) ) ) {
+                       if ( ContentHandler::runLegacyHooks(
+                               'ShowRawCssJs',
+                               array( $this->mContentObject, $this->getTitle(), $outputPage ) )
+                       ) {
                                $po = $this->mContentObject->getParserOutput( $this->getTitle() );
                                $outputPage->addHTML( $po->getText() );
                        }
@@ -1007,7 +1031,10 @@ class Article implements Page {
        public function showNamespaceHeader() {
                if ( $this->getTitle()->isTalkPage() ) {
                        if ( !wfMessage( 'talkpageheader' )->isDisabled() ) {
-                               $this->getContext()->getOutput()->wrapWikiMsg( "<div class=\"mw-talkpageheader\">\n$1\n</div>", array( 'talkpageheader' ) );
+                               $this->getContext()->getOutput()->wrapWikiMsg(
+                                       "<div class=\"mw-talkpageheader\">\n$1\n</div>",
+                                       array( 'talkpageheader' )
+                               );
                        }
                }
        }
@@ -1017,7 +1044,9 @@ class Article implements Page {
         */
        public function showViewFooter() {
                # check if we're displaying a [[User talk:x.x.x.x]] anonymous talk page
-               if ( $this->getTitle()->getNamespace() == NS_USER_TALK && IP::isValid( $this->getTitle()->getText() ) ) {
+               if ( $this->getTitle()->getNamespace() == NS_USER_TALK
+                       && IP::isValid( $this->getTitle()->getText() )
+               ) {
                        $this->getContext()->getOutput()->addWikiMsg( 'anontalkpagetext' );
                }
 
@@ -1025,7 +1054,6 @@ class Article implements Page {
                $patrolFooterShown = $this->showPatrolFooter();
 
                wfRunHooks( 'ArticleViewFooter', array( $this, $patrolFooterShown ) );
-
        }
 
        /**
@@ -1045,7 +1073,9 @@ class Article implements Page {
                $cache = wfGetMainCache();
                $rc = false;
 
-               if ( !$this->getTitle()->quickUserCan( 'patrol', $user ) || !( $wgUseRCPatrol || $wgUseNPPatrol ) ) {
+               if ( !$this->getTitle()->quickUserCan( 'patrol', $user )
+                       || !( $wgUseRCPatrol || $wgUseNPPatrol )
+               ) {
                        // Patrolling is disabled or the user isn't allowed to
                        return false;
                }
@@ -1064,7 +1094,9 @@ class Article implements Page {
                        return false;
                }
 
-               if ( $this->mRevision && !RecentChange::isInRCLifespan( $this->mRevision->getTimestamp(), 21600 ) ) {
+               if ( $this->mRevision
+                       && !RecentChange::isInRCLifespan( $this->mRevision->getTimestamp(), 21600 )
+               ) {
                        // The current revision is already older than what could be in the RC table
                        // 6h tolerance because the RC might not be cleaned out regularly
                        wfProfileOut( __METHOD__ );
@@ -1079,7 +1111,9 @@ class Article implements Page {
                        __METHOD__
                );
 
-               if ( $oldestRevisionTimestamp && RecentChange::isInRCLifespan( $oldestRevisionTimestamp, 21600 ) ) {
+               if ( $oldestRevisionTimestamp
+                       && RecentChange::isInRCLifespan( $oldestRevisionTimestamp, 21600 )
+               ) {
                        // 6h tolerance because the RC might not be cleaned out regularly
                        $rc = RecentChange::newFromConds(
                                array(
@@ -1153,7 +1187,9 @@ class Article implements Page {
                $validUserPage = false;
 
                # Show info in user (talk) namespace. Does the user exist? Is he blocked?
-               if ( $this->getTitle()->getNamespace() == NS_USER || $this->getTitle()->getNamespace() == NS_USER_TALK ) {
+               if ( $this->getTitle()->getNamespace() == NS_USER
+                       || $this->getTitle()->getNamespace() == NS_USER_TALK
+               ) {
                        $parts = explode( '/', $this->getTitle()->getText() );
                        $rootPart = $parts[0];
                        $user = User::newFromName( $rootPart, false /* allow IP users*/ );
@@ -1446,9 +1482,7 @@ class Article implements Page {
 
                // the loop prepends the arrow image before the link, so the first case needs to be outside
 
-               /**
-                * @var $title Title
-                */
+               /** @var $title Title */
                $title = array_shift( $target );
 
                if ( $forceKnown ) {
@@ -1459,13 +1493,27 @@ class Article implements Page {
 
                $nextRedirect = $wgStylePath . '/common/images/nextredirect' . $imageDir . '.png';
                $alt = $lang->isRTL() ? '←' : '→';
-               // Automatically append redirect=no to each link, since most of them are redirect pages themselves.
+
+               // Automatically append redirect=no to each link, since most of them are
+               // redirect pages themselves.
+               /** @var Title $rt */
                foreach ( $target as $rt ) {
                        $link .= Html::element( 'img', array( 'src' => $nextRedirect, 'alt' => $alt ) );
                        if ( $forceKnown ) {
-                               $link .= Linker::linkKnown( $rt, htmlspecialchars( $rt->getFullText(), array(), array( 'redirect' => 'no' ) ) );
+                               $link .= Linker::linkKnown(
+                                       $rt,
+                                       htmlspecialchars( $rt->getFullText(),
+                                       array(),
+                                       array( 'redirect' => 'no' )
+                               )
+                               );
                        } else {
-                               $link .= Linker::link( $rt, htmlspecialchars( $rt->getFullText() ), array(), array( 'redirect' => 'no' ) );
+                               $link .= Linker::link(
+                                       $rt,
+                                       htmlspecialchars( $rt->getFullText() ),
+                                       array(),
+                                       array( 'redirect' => 'no' )
+                               );
                        }
                }
 
@@ -1480,6 +1528,7 @@ class Article implements Page {
         */
        public function render() {
                $this->getContext()->getOutput()->setArticleBodyOnly( true );
+               $this->getContext()->getOutput()->enableSectionEditLinks( false );
                $this->view();
        }
 
@@ -1572,7 +1621,8 @@ class Article implements Page {
                        try {
                                $reason = $this->generateReason( $hasHistory );
                        } catch ( MWException $e ) {
-                               # if a page is horribly broken, we still want to be able to delete it. so be lenient about errors here.
+                               # if a page is horribly broken, we still want to be able to
+                               # delete it. So be lenient about errors here.
                                wfDebug( "Error while building auto delete summary: $e" );
                                $reason = '';
                        }
@@ -1594,7 +1644,11 @@ class Article implements Page {
                        if ( $this->mTitle->isBigDeletion() ) {
                                global $wgDeleteRevisionsLimit;
                                $this->getContext()->getOutput()->wrapWikiMsg( "<div class='error'>\n$1\n</div>\n",
-                                       array( 'delete-warning-toobig', $this->getContext()->getLanguage()->formatNum( $wgDeleteRevisionsLimit ) ) );
+                                       array(
+                                               'delete-warning-toobig',
+                                               $this->getContext()->getLanguage()->formatNum( $wgDeleteRevisionsLimit )
+                                       )
+                               );
                        }
                }
 
@@ -1647,9 +1701,14 @@ class Article implements Page {
                                        Xml::label( wfMessage( 'deletecomment' )->text(), 'wpDeleteReasonList' ) .
                                "</td>
                                <td class='mw-input'>" .
-                                       Xml::listDropDown( 'wpDeleteReasonList',
+                                       Xml::listDropDown(
+                                               'wpDeleteReasonList',
                                                wfMessage( 'deletereason-dropdown' )->inContentLanguage()->text(),
-                                               wfMessage( 'deletereasonotherlist' )->inContentLanguage()->text(), '', 'wpReasonDropDown', 1 ) .
+                                               wfMessage( 'deletereasonotherlist' )->inContentLanguage()->text(),
+                                               '',
+                                               'wpReasonDropDown',
+                                               1
+                                       ) .
                                "</td>
                        </tr>
                        <tr id=\"wpDeleteReasonRow\">
@@ -1690,7 +1749,10 @@ class Article implements Page {
                        </tr>" .
                        Xml::closeElement( 'table' ) .
                        Xml::closeElement( 'fieldset' ) .
-                       Html::hidden( 'wpEditToken', $user->getEditToken( array( 'delete', $this->getTitle()->getPrefixedText() ) ) ) .
+                       Html::hidden(
+                               'wpEditToken',
+                               $user->getEditToken( array( 'delete', $this->getTitle()->getPrefixedText() ) )
+                       ) .
                        Xml::closeElement( 'form' );
 
                        if ( $user->isAllowed( 'editinterface' ) ) {
@@ -1715,13 +1777,14 @@ class Article implements Page {
 
        /**
         * Perform a deletion and output success or failure messages
-        * @param $reason
-        * @param $suppress bool
+        * @param string $reason
+        * @param bool $suppress
         */
        public function doDelete( $reason, $suppress = false ) {
                $error = '';
                $outputPage = $this->getContext()->getOutput();
                $status = $this->mPage->doDeleteArticleReal( $reason, $suppress, 0, true, $error );
+
                if ( $status->isGood() ) {
                        $deleted = $this->getTitle()->getPrefixedText();
 
@@ -1733,7 +1796,11 @@ class Article implements Page {
                        $outputPage->addWikiMsg( 'deletedtext', wfEscapeWikiText( $deleted ), $loglink );
                        $outputPage->returnToMain( false );
                } else {
-                       $outputPage->setPageTitle( wfMessage( 'cannotdelete-title', $this->getTitle()->getPrefixedText() ) );
+                       $outputPage->setPageTitle(
+                               wfMessage( 'cannotdelete-title',
+                                       $this->getTitle()->getPrefixedText() )
+                       );
+
                        if ( $error == '' ) {
                                $outputPage->addWikiText(
                                        "<div class=\"error mw-error-cannotdelete\">\n" . $status->getWikiText() . "\n</div>"
@@ -1878,7 +1945,8 @@ class Article implements Page {
                if ( $this->mContext instanceof IContextSource ) {
                        return $this->mContext;
                } else {
-                       wfDebug( __METHOD__ . " called and \$mContext is null. Return RequestContext::getMain(); for sanity\n" );
+                       wfDebug( __METHOD__ . " called and \$mContext is null. " .
+                               "Return RequestContext::getMain(); for sanity\n" );
                        return RequestContext::getMain();
                }
        }
@@ -1978,7 +2046,9 @@ class Article implements Page {
         * @param $user User
         * @return Status
         */
-       public function doUpdateRestrictions( array $limit, array $expiry, &$cascade, $reason, User $user ) {
+       public function doUpdateRestrictions( array $limit, array $expiry, &$cascade,
+               $reason, User $user
+       ) {
                return $this->mPage->doUpdateRestrictions( $limit, $expiry, $cascade, $reason, $user );
        }
 
@@ -1989,7 +2059,9 @@ class Article implements Page {
         * @param $expiry array
         * @return bool
         */
-       public function updateRestrictions( $limit = array(), $reason = '', &$cascade = 0, $expiry = array() ) {
+       public function updateRestrictions( $limit = array(), $reason = '',
+               &$cascade = 0, $expiry = array()
+       ) {
                return $this->mPage->doUpdateRestrictions(
                        $limit,
                        $expiry,
@@ -2007,7 +2079,9 @@ class Article implements Page {
         * @param $error string
         * @return bool
         */
-       public function doDeleteArticle( $reason, $suppress = false, $id = 0, $commit = true, &$error = '' ) {
+       public function doDeleteArticle( $reason, $suppress = false, $id = 0,
+               $commit = true, &$error = ''
+       ) {
                return $this->mPage->doDeleteArticle( $reason, $suppress, $id, $commit, $error );
        }
 
index 9d764e1..8428ade 100644 (file)
@@ -953,6 +953,7 @@ $wgAutoloadLocalClasses = array(
        'IPBlockForm' => 'includes/specials/SpecialBlock.php',
        'LinkSearchPage' => 'includes/specials/SpecialLinkSearch.php',
        'ListredirectsPage' => 'includes/specials/SpecialListredirects.php',
+       'ListDuplicatedFilesPage' => 'includes/specials/SpecialListDuplicatedFiles.php',
        'LoginForm' => 'includes/specials/SpecialUserlogin.php',
        'LonelyPagesPage' => 'includes/specials/SpecialLonelypages.php',
        'LongPagesPage' => 'includes/specials/SpecialLongpages.php',
@@ -1022,6 +1023,7 @@ $wgAutoloadLocalClasses = array(
        'SpecialSpecialpages' => 'includes/specials/SpecialSpecialpages.php',
        'SpecialStatistics' => 'includes/specials/SpecialStatistics.php',
        'SpecialTags' => 'includes/specials/SpecialTags.php',
+       'SpecialTrackingCategories' => 'includes/specials/SpecialTrackingCategories.php',
        'SpecialUnblock' => 'includes/specials/SpecialUnblock.php',
        'SpecialUndelete' => 'includes/specials/SpecialUndelete.php',
        'SpecialUnlockdb' => 'includes/specials/SpecialUnlockdb.php',
@@ -1058,6 +1060,15 @@ $wgAutoloadLocalClasses = array(
        'UserloginTemplate' => 'includes/templates/Userlogin.php',
        'UsercreateTemplate' => 'includes/templates/Usercreate.php',
 
+       # includes/title
+       'PageLinkRenderer' => 'includes/title/PageLinkRenderer.php',
+       'TitleFormatter' => 'includes/title/TitleFormatter.php',
+       'TitleParser' => 'includes/title/TitleParser.php',
+       'TitleValue' => 'includes/title/TitleValue.php',
+       'MalformedTitleException' => 'includes/title/MalformedTitleException.php',
+       'MediaWikiPageLinkRenderer' => 'includes/title/MediaWikiPageLinkRenderer.php',
+       'MediaWikiTitleCodec' => 'includes/title/MediaWikiTitleCodec.php',
+
        # includes/upload
        'UploadBase' => 'includes/upload/UploadBase.php',
        'UploadFromFile' => 'includes/upload/UploadFromFile.php',
@@ -1221,16 +1232,11 @@ class AutoLoader {
                }
 
                if ( !$filename ) {
-                       if ( function_exists( 'wfDebugLog' ) ) {
-                               # FIXME: This is not very polite.  Assume we do not manage the class.
-                               wfDebugLog( 'autoloader', "Class {$className} not found; skipped loading" );
-                       }
-
-                       # Give up
+                       // Class not found; let the next autoloader try to find it
                        return;
                }
 
-               # Make an absolute path, this improves performance by avoiding some stat calls
+               // Make an absolute path, this improves performance by avoiding some stat calls
                if ( substr( $filename, 0, 1 ) != '/' && substr( $filename, 1, 1 ) != ':' ) {
                        global $IP;
                        $filename = "$IP/$filename";
index 170d7ab..197ad9c 100644 (file)
@@ -197,7 +197,8 @@ class Autopromote {
                                return in_array( 'bot', User::getGroupPermissions( $user->getGroups() ) );
                        default:
                                $result = null;
-                               wfRunHooks( 'AutopromoteCondition', array( $cond[0], array_slice( $cond, 1 ), $user, &$result ) );
+                               wfRunHooks( 'AutopromoteCondition', array( $cond[0],
+                                       array_slice( $cond, 1 ), $user, &$result ) );
                                if ( $result === null ) {
                                        throw new MWException( "Unrecognized condition {$cond[0]} for autopromotion!" );
                                }
index 3575b9d..95a8386 100644 (file)
@@ -435,7 +435,8 @@ class Block {
         * Update a block in the DB with new parameters.
         * The ID field needs to be loaded first.
         *
-        * @return bool|array False on failure, array on success: ('id' => block ID, 'autoIds' => array of autoblock IDs)
+        * @return bool|array False on failure, array on success:
+        *   ('id' => block ID, 'autoIds' => array of autoblock IDs)
         */
        public function update() {
                wfDebug( "Block::update; timestamp {$this->mTimestamp}\n" );
@@ -452,12 +453,22 @@ class Block {
 
                $affected = $dbw->affectedRows();
 
-               $dbw->update(
-                       'ipblocks',
-                       $this->getAutoblockUpdateArray(),
-                       array( 'ipb_parent_block_id' => $this->getId() ),
-                       __METHOD__
-               );
+               if ( $this->isAutoblocking() ) {
+                       // update corresponding autoblock(s) (bug 48813)
+                       $dbw->update(
+                               'ipblocks',
+                               $this->getAutoblockUpdateArray(),
+                               array( 'ipb_parent_block_id' => $this->getId() ),
+                               __METHOD__
+                       );
+               } else {
+                       // autoblock no longer required, delete corresponding autoblock(s)
+                       $dbw->delete(
+                               'ipblocks',
+                               array( 'ipb_parent_block_id' => $this->getId() ),
+                               __METHOD__
+                       );
+               }
 
                $dbw->endAtomic( __METHOD__ );
 
@@ -676,7 +687,8 @@ class Block {
                wfDebug( "Autoblocking {$this->getTarget()}@" . $autoblockIP . "\n" );
                $autoblock->setTarget( $autoblockIP );
                $autoblock->setBlocker( $this->getBlocker() );
-               $autoblock->mReason = wfMessage( 'autoblocker', $this->getTarget(), $this->mReason )->inContentLanguage()->plain();
+               $autoblock->mReason = wfMessage( 'autoblocker', $this->getTarget(), $this->mReason )
+                       ->inContentLanguage()->plain();
                $timestamp = wfTimestampNow();
                $autoblock->mTimestamp = $timestamp;
                $autoblock->mAuto = 1;
@@ -973,7 +985,10 @@ class Block {
                        # passed by some callers (bug 29116)
                        return null;
 
-               } elseif ( in_array( $type, array( Block::TYPE_USER, Block::TYPE_IP, Block::TYPE_RANGE, null ) ) ) {
+               } elseif ( in_array(
+                       $type,
+                       array( Block::TYPE_USER, Block::TYPE_IP, Block::TYPE_RANGE, null ) )
+               ) {
                        $block = new Block();
                        $block->fromMaster( $fromMaster );
 
index f6cd3a6..cfa4160 100644 (file)
@@ -28,7 +28,6 @@
  * @since 1.20
  */
 interface ICacheHelper {
-
        /**
         * Sets if the cache should be enabled or not.
         *
@@ -81,7 +80,6 @@ interface ICacheHelper {
         * @param integer $cacheExpiry
         */
        function setExpiry( $cacheExpiry );
-
 }
 
 /**
@@ -103,7 +101,6 @@ interface ICacheHelper {
  * @since 1.20
  */
 class CacheHelper implements ICacheHelper {
-
        /**
         * The time to live for the cache, in seconds or a unix timestamp indicating the point of expiry.
         *
@@ -275,7 +272,8 @@ class CacheHelper implements ICacheHelper {
                                $itemKey = array_shift( $itemKey );
 
                                if ( !is_integer( $itemKey ) ) {
-                                       wfWarn( "Attempted to get item with non-numeric key while the next item in the queue has a key ($itemKey) in " . __METHOD__ );
+                                       wfWarn( "Attempted to get item with non-numeric key while " .
+                                               "the next item in the queue has a key ($itemKey) in " . __METHOD__ );
                                } elseif ( is_null( $itemKey ) ) {
                                        wfWarn( "Attempted to get an item while the queue is empty in " . __METHOD__ );
                                } else {
@@ -316,7 +314,11 @@ class CacheHelper implements ICacheHelper {
         */
        public function saveCache() {
                if ( $this->cacheEnabled && $this->hasCached === false && !empty( $this->cachedChunks ) ) {
-                       wfGetCache( CACHE_ANYTHING )->set( $this->getCacheKeyString(), $this->cachedChunks, $this->cacheExpiry );
+                       wfGetCache( CACHE_ANYTHING )->set(
+                               $this->getCacheKeyString(),
+                               $this->cachedChunks,
+                               $this->cacheExpiry
+                       );
                }
        }
 
@@ -381,5 +383,4 @@ class CacheHelper implements ICacheHelper {
        public function setOnInitializedHandler( $handlerFunction ) {
                $this->onInitHandler = $handlerFunction;
        }
-
 }
index df5ad7d..e326ce2 100644 (file)
@@ -26,7 +26,7 @@
  * like to refresh link counts, the objects will be appropriately reinitialized.
  * Member variables are lazy-initialized.
  *
- * TODO: Move some stuff from CategoryPage.php to here, and use that.
+ * @todo Move some stuff from CategoryPage.php to here, and use that.
  */
 class Category {
        /** Name of the category, normalized to DB-key form */
@@ -75,7 +75,8 @@ class Category {
                if ( !$row ) {
                        # Okay, there were no contents.  Nothing to initialize.
                        if ( $this->mTitle ) {
-                               # If there is a title object but no record in the category table, treat this as an empty category
+                               # If there is a title object but no record in the category table,
+                               # treat this as an empty category.
                                $this->mID = false;
                                $this->mName = $this->mTitle->getDBkey();
                                $this->mPages = 0;
@@ -155,11 +156,13 @@ class Category {
        /**
         * Factory function, for constructing a Category object from a result set
         *
-        * @param $row result set row, must contain the cat_xxx fields. If the fields are null,
-        *        the resulting Category object will represent an empty category if a title object
-        *        was given. If the fields are null and no title was given, this method fails and returns false.
-        * @param Title $title optional title object for the category represented by the given row.
-        *        May be provided if it is already known, to avoid having to re-create a title object later.
+        * @param $row Result set row, must contain the cat_xxx fields. If the
+        *   fields are null, the resulting Category object will represent an empty
+        *   category if a title object was given. If the fields are null and no
+        *   title was given, this method fails and returns false.
+        * @param Title $title optional title object for the category represented by
+        *   the given row. May be provided if it is already known, to avoid having
+        *   to re-create a title object later.
         * @return Category
         */
        public static function newFromRow( $row, $title = null ) {
@@ -177,7 +180,8 @@ class Category {
                                # but we can't know that here...
                                return false;
                        } else {
-                               $cat->mName = $title->getDBkey(); # if we have a title object, fetch the category name from there
+                               # if we have a title object, fetch the category name from there
+                               $cat->mName = $title->getDBkey();
                        }
 
                        $cat->mID = false;
index 4027bef..183c5f2 100644 (file)
@@ -76,7 +76,9 @@ class CategoryViewer extends ContextSource {
         * @param array $until An array with 3 keys for until of each section (since 1.17)
         * @param $query Array
         */
-       function __construct( $title, IContextSource $context, $from = array(), $until = array(), $query = array() ) {
+       function __construct( $title, IContextSource $context, $from = array(),
+               $until = array(), $query = array()
+       ) {
                global $wgCategoryPagingLimit;
                $this->title = $title;
                $this->setContext( $context );
@@ -423,7 +425,12 @@ class CategoryViewer extends ContextSource {
                        $countmsg = $this->getCountMessage( $rescnt, $dbcnt, 'file' );
 
                        $r .= "<div id=\"mw-category-media\">\n";
-                       $r .= '<h2>' . $this->msg( 'category-media-header', wfEscapeWikiText( $this->title->getText() ) )->text() . "</h2>\n";
+                       $r .= '<h2>' .
+                               $this->msg(
+                                       'category-media-header',
+                                       wfEscapeWikiText( $this->title->getText() )
+                               )->text() .
+                               "</h2>\n";
                        $r .= $countmsg;
                        $r .= $this->getSectionPagingLinks( 'file' );
                        if ( $this->showGallery ) {
@@ -447,7 +454,9 @@ class CategoryViewer extends ContextSource {
        private function getSectionPagingLinks( $type ) {
                if ( isset( $this->until[$type] ) && $this->until[$type] !== null ) {
                        return $this->pagingLinks( $this->nextPage[$type], $this->until[$type], $type );
-               } elseif ( $this->nextPage[$type] !== null || ( isset( $this->from[$type] ) && $this->from[$type] !== null ) ) {
+               } elseif ( $this->nextPage[$type] !== null
+                       || ( isset( $this->from[$type] ) && $this->from[$type] !== null )
+               ) {
                        return $this->pagingLinks( $this->from[$type], $this->nextPage[$type], $type );
                } else {
                        return '';
@@ -562,7 +571,8 @@ class CategoryViewer extends ContextSource {
        static function shortList( $articles, $articles_start_char ) {
                $r = '<h3>' . htmlspecialchars( $articles_start_char[0] ) . "</h3>\n";
                $r .= '<ul><li>' . $articles[0] . '</li>';
-               for ( $index = 1; $index < count( $articles ); $index++ ) {
+               $articleCount = count( $articles );
+               for ( $index = 1; $index < $articleCount; $index++ ) {
                        if ( $articles_start_char[$index] != $articles_start_char[$index - 1] ) {
                                $r .= "</ul><h3>" . htmlspecialchars( $articles_start_char[$index] ) . "</h3>\n<ul>";
                        }
index 53f2955..f73ec1f 100644 (file)
  */
 
 class ChangeTags {
-
        /**
         * Creates HTML for the given tags
         *
         * @param string $tags Comma-separated list of tags
         * @param string $page A label for the type of action which is being displayed,
-        *                     for example: 'history', 'contributions' or 'newpages'
-        *
-        * @return Array with two items: (html, classes)
-        *            - html: String: HTML for displaying the tags (empty string when param $tags is empty)
-        *            - classes: Array of strings: CSS classes used in the generated html, one class for each tag
-        *
+        *   for example: 'history', 'contributions' or 'newpages'
+        * @return array Array with two items: (html, classes)
+        *   - html: String: HTML for displaying the tags (empty string when param $tags is empty)
+        *   - classes: Array of strings: CSS classes used in the generated html, one class for each tag
         */
        public static function formatSummaryRow( $tags, $page ) {
                global $wgLang;
@@ -90,7 +87,9 @@ class ChangeTags {
         *
         * @exception MWException when $rc_id, $rev_id and $log_id are all null
         */
-       public static function addTags( $tags, $rc_id = null, $rev_id = null, $log_id = null, $params = null ) {
+       public static function addTags( $tags, $rc_id = null, $rev_id = null,
+               $log_id = null, $params = null
+       ) {
                if ( !is_array( $tags ) ) {
                        $tags = array( $tags );
                }
@@ -106,19 +105,45 @@ class ChangeTags {
 
                // Might as well look for rcids and so on.
                if ( !$rc_id ) {
-                       $dbr = wfGetDB( DB_MASTER ); // Info might be out of date, somewhat fractionally, on slave.
+                       // Info might be out of date, somewhat fractionally, on slave.
+                       $dbr = wfGetDB( DB_MASTER );
                        if ( $log_id ) {
-                               $rc_id = $dbr->selectField( 'recentchanges', 'rc_id', array( 'rc_logid' => $log_id ), __METHOD__ );
+                               $rc_id = $dbr->selectField(
+                                       'recentchanges',
+                                       'rc_id',
+                                       array( 'rc_logid' => $log_id ),
+                                       __METHOD__
+                               );
                        } elseif ( $rev_id ) {
-                               $rc_id = $dbr->selectField( 'recentchanges', 'rc_id', array( 'rc_this_oldid' => $rev_id ), __METHOD__ );
+                               $rc_id = $dbr->selectField(
+                                       'recentchanges',
+                                       'rc_id',
+                                       array( 'rc_this_oldid' => $rev_id ),
+                                       __METHOD__
+                               );
                        }
                } elseif ( !$log_id && !$rev_id ) {
-                       $dbr = wfGetDB( DB_MASTER ); // Info might be out of date, somewhat fractionally, on slave.
-                       $log_id = $dbr->selectField( 'recentchanges', 'rc_logid', array( 'rc_id' => $rc_id ), __METHOD__ );
-                       $rev_id = $dbr->selectField( 'recentchanges', 'rc_this_oldid', array( 'rc_id' => $rc_id ), __METHOD__ );
+                       // Info might be out of date, somewhat fractionally, on slave.
+                       $dbr = wfGetDB( DB_MASTER );
+                       $log_id = $dbr->selectField(
+                               'recentchanges',
+                               'rc_logid',
+                               array( 'rc_id' => $rc_id ),
+                               __METHOD__
+                       );
+                       $rev_id = $dbr->selectField(
+                               'recentchanges',
+                               'rc_this_oldid',
+                               array( 'rc_id' => $rc_id ),
+                               __METHOD__
+                       );
                }
 
-               $tsConds = array_filter( array( 'ts_rc_id' => $rc_id, 'ts_rev_id' => $rev_id, 'ts_log_id' => $log_id ) );
+               $tsConds = array_filter( array(
+                       'ts_rc_id' => $rc_id,
+                       'ts_rev_id' => $rev_id,
+                       'ts_log_id' => $log_id )
+               );
 
                ## Update the summary row.
                $prevTags = $dbr->selectField( 'tag_summary', 'ts_tags', $tsConds, __METHOD__ );
@@ -222,24 +247,45 @@ class ChangeTags {
         *        - if $fullForm is false: Array with
         *        - if $fullForm is true: String, html fragment
         */
-       public static function buildTagFilterSelector( $selected = '', $fullForm = false, Title $title = null ) {
+       public static function buildTagFilterSelector( $selected = '',
+               $fullForm = false, Title $title = null
+       ) {
                global $wgUseTagFilter;
 
                if ( !$wgUseTagFilter || !count( self::listDefinedTags() ) ) {
                        return $fullForm ? '' : array();
                }
 
-               $data = array( Html::rawElement( 'label', array( 'for' => 'tagfilter' ), wfMessage( 'tag-filter' )->parse() ),
-                       Xml::input( 'tagfilter', 20, $selected, array( 'class' => 'mw-tagfilter-input', 'id' => 'tagfilter' ) ) );
+               $data = array(
+                       Html::rawElement(
+                               'label',
+                               array( 'for' => 'tagfilter' ),
+                               wfMessage( 'tag-filter' )->parse()
+                       ),
+                       Xml::input(
+                               'tagfilter',
+                               20,
+                               $selected,
+                               array( 'class' => 'mw-tagfilter-input', 'id' => 'tagfilter' )
+                       )
+               );
 
                if ( !$fullForm ) {
                        return $data;
                }
 
                $html = implode( '&#160;', $data );
-               $html .= "\n" . Xml::element( 'input', array( 'type' => 'submit', 'value' => wfMessage( 'tag-filter-submit' )->text() ) );
+               $html .= "\n" .
+                       Xml::element(
+                               'input',
+                               array( 'type' => 'submit', 'value' => wfMessage( 'tag-filter-submit' )->text() )
+                       );
                $html .= "\n" . Html::hidden( 'title', $title->getPrefixedText() );
-               $html = Xml::tags( 'form', array( 'action' => $title->getLocalURL(), 'class' => 'mw-tagfilter-form', 'method' => 'get' ), $html );
+               $html = Xml::tags(
+                       'form',
+                       array( 'action' => $title->getLocalURL(), 'class' => 'mw-tagfilter-form', 'method' => 'get' ),
+                       $html
+               );
 
                return $html;
        }
index c6ebb35..4326eca 100644 (file)
@@ -3607,6 +3607,25 @@ $wgNamespacesWithSubpages = array(
        NS_CATEGORY_TALK => true
 );
 
+/**
+  * Array holding default tracking category names.
+  *
+  * Array contains the system messages for each tracking category.
+  * Tracking categories allow pages with certain characteristics to be tracked.
+  * It works by adding any such page to a category automatically.
+  *
+  * @since 1.23
+  */
+$wgTrackingCategories = array(
+       'index-category',
+       'noindex-category',
+       'expensive-parserfunction-category',
+       'post-expand-template-argument-category',
+       'post-expand-template-inclusion-category',
+       'hidden-category-category',
+       'broken-file-category',
+);
+
 /**
  * Array of namespaces which can be deemed to contain valid "content", as far
  * as the site statistics are concerned. Useful if additional namespaces also
@@ -4870,17 +4889,6 @@ $wgCookiePrefix = false;
  */
 $wgCookieHttpOnly = true;
 
-/**
- * If the requesting browser matches a regex in this blacklist, we won't
- * send it cookies with HttpOnly mode, even if $wgCookieHttpOnly is on.
- */
-$wgHttpOnlyBlacklist = array(
-       // Internet Explorer for Mac; sometimes the cookies work, sometimes
-       // they don't. It's difficult to predict, as combinations of path
-       // and expiration options affect its parsing.
-       '/^Mozilla\/4\.0 \(compatible; MSIE \d+\.\d+; Mac_PowerPC\)/',
-);
-
 /**
  * A list of cookies that vary the cache (for use by extensions)
  */
@@ -5531,9 +5539,10 @@ $wgGitBin = '/usr/bin/git';
  * @since 1.20
  */
 $wgGitRepositoryViewers = array(
-       'https://(?:[a-z0-9_]+@)?gerrit.wikimedia.org/r/(?:p/)?(.*)' => 'https://git.wikimedia.org/commit/%r/%H',
-       'ssh://(?:[a-z0-9_]+@)?gerrit.wikimedia.org:29418/(.*)'
-               => 'https://git.wikimedia.org/commit/%r/%H',
+       'https://(?:[a-z0-9_]+@)?gerrit.wikimedia.org/r/(?:p/)?(.*)' =>
+               'https://git.wikimedia.org/commit/%r/%H',
+       'ssh://(?:[a-z0-9_]+@)?gerrit.wikimedia.org:29418/(.*)' =>
+               'https://git.wikimedia.org/commit/%r/%H',
 );
 
 /** @} */ # End of maintenance }
@@ -5856,11 +5865,6 @@ $wgRightsText = null;
  */
 $wgRightsIcon = null;
 
-/**
- * Set to an array of metadata terms. Else they will be loaded based on $wgRightsUrl
- */
-$wgLicenseTerms = false;
-
 /**
  * Set this to some HTML to override the rights icon with an arbitrary logo
  * @deprecated since 1.18 Use $wgFooterIcons['copyright']['copyright']
@@ -6020,7 +6024,7 @@ $wgExtensionMessagesFiles = array();
  * @since 1.23
  */
 $wgMessagesDirs = array(
-       "$IP/resources/oojs-ui/i18n",
+       'oojs-ui' => "$IP/resources/oojs-ui/i18n",
 );
 
 /**
@@ -6081,30 +6085,44 @@ $wgAutoloadClasses = array();
 $wgAutoloadAttemptLowercase = true;
 
 /**
- * An array of extension types and inside that their names, versions, authors,
- * urls, descriptions and pointers to localized description msgs. Note that
- * the version, url, description and descriptionmsg key can be omitted.
+ * An array of information about installed extensions keyed by their type.
+ *
+ * All but 'name', 'path' and 'author' can be omitted.
  *
  * @code
  * $wgExtensionCredits[$type][] = array(
- *     'name' => 'Example extension',
- *     'version' => 1.9,
  *     'path' => __FILE__,
- *     'author' => 'Foo Barstein',
- *     'url' => 'http://www.example.com/Example%20Extension/',
- *     'description' => 'An example extension',
+ *     'name' => 'Example extension',
+ *     'author' => array(
+ *         'Foo Barstein',
+ *     ),
+ *     'version' => '1.9.0',
+ *     'url' => 'http://example.org/example-extension/',
  *     'descriptionmsg' => 'exampleextension-desc',
+ *     'license-name' => 'GPL-2.0',
  * );
  * @endcode
  *
- * Where $type is 'specialpage', 'parserhook', 'variable', 'media' or 'other'.
- * Where 'descriptionmsg' can be an array with message key and parameters:
- * 'descriptionmsg' => array( 'exampleextension-desc', param1, param2, ... ),
+ * The extensions are listed on Special:Version. This page also looks for a file
+ * named COPYING or LICENSE (optional .txt extension) and provides a link to
+ * view said file. When the 'license-name' key is specified, this file is
+ * interpreted as wikitext.
+ *
+ * - $type: One of 'specialpage', 'parserhook', 'variable', 'media' or 'other'.
+ *
+ * - author: A string or an array of strings. Authors can be linked using
+ *    the regular wikitext link syntax. To have an internationalized version of
+ *    "and others" show, add an element "...". This element can also be linked,
+ *    for instance "[http://example ...]".
+ *
+ * - descriptionmsg: A message key or an an array with message key and parameters:
+ *    `'descriptionmsg' => array( 'exampleextension-desc', param1, param2, ... ),`
+ *
+ * - description: Description of extension as inline string instead of
+ *    localizable message (omit in favour of 'descriptionmsg').
  *
- * author can be a string or an array of strings. Authors can be linked using
- * the regular wikitext link syntax. To have an internationalized version of
- * "and others" show, add an element "...". This element can also be linked,
- * for instance "[http://example ...]".
+ * - license-name: Short name of the license (used as label for the link), such
+ *   as "GPL-2.0" or "MIT" (https://spdx.org/licenses/ for a list of identifiers).
  */
 $wgExtensionCredits = array();
 
index 3b2f179..f57fc60 100644 (file)
@@ -36,7 +36,6 @@
  * headaches, which may be fatal.
  */
 class EditPage {
-
        /**
         * Status: Article successfully updated
         */
@@ -2082,9 +2081,9 @@ class EditPage {
                }
                # Try to add a custom edit intro, or use the standard one if this is not possible.
                if ( !$this->showCustomIntro() && !$this->mTitle->exists() ) {
-                       $helpLink = Skin::makeInternalOrExternalUrl(
+                       $helpLink = wfExpandUrl( Skin::makeInternalOrExternalUrl(
                                wfMessage( 'helppage' )->inContentLanguage()->text()
-                       );
+                       ) );
                        if ( $wgUser->isLoggedIn() ) {
                                $wgOut->wrapWikiMsg(
                                        // Suppress the external link icon, consider the help url an internal one
@@ -3463,16 +3462,16 @@ HTML
                        }
 
                        $params = array(
-                               $image = $wgStylePath . '/common/images/' . $tool['image'],
+                               $wgStylePath . '/common/images/' . $tool['image'],
                                // Note that we use the tip both for the ALT tag and the TITLE tag of the image.
                                // Older browsers show a "speedtip" type message only for ALT.
                                // Ideally these should be different, realistically they
                                // probably don't need to be.
-                               $tip = $tool['tip'],
-                               $open = $tool['open'],
-                               $close = $tool['close'],
-                               $sample = $tool['sample'],
-                               $cssId = $tool['id'],
+                               $tool['tip'],
+                               $tool['open'],
+                               $tool['close'],
+                               $tool['sample'],
+                               $tool['id'],
                        );
 
                        $script .= Xml::encodeJsCall( 'mw.toolbar.addButton', $params );
@@ -3705,25 +3704,13 @@ HTML
                $wgOut->addReturnTo( $this->getContextTitle(), array( 'action' => 'edit' ) );
        }
 
-       /**
-        * Format an anchor fragment as it would appear for a given section name
-        * @param $text String
-        * @return String
-        * @private
-        */
-       function sectionAnchor( $text ) {
-               global $wgParser;
-               return $wgParser->guessSectionNameFromWikiText( $text );
-       }
-
        /**
         * Check if the browser is on a blacklist of user-agents known to
         * mangle UTF-8 data on form submission. Returns true if Unicode
         * should make it through, false if it's known to be a problem.
         * @return bool
-        * @private
         */
-       function checkUnicodeCompliantBrowser() {
+       private function checkUnicodeCompliantBrowser() {
                global $wgBrowserBlackList, $wgRequest;
 
                $currentbrowser = $wgRequest->getHeader( 'User-Agent' );
@@ -3744,27 +3731,14 @@ HTML
         * Filter an input field through a Unicode de-armoring process if it
         * came from an old browser with known broken Unicode editing issues.
         *
-        * @param $request WebRequest
-        * @param $field String
-        * @return String
-        * @private
-        */
-       function safeUnicodeInput( $request, $field ) {
-               $text = rtrim( $request->getText( $field ) );
-               return $request->getBool( 'safemode' )
-                       ? $this->unmakesafe( $text )
-                       : $text;
-       }
-
-       /**
-        * @param $request WebRequest
-        * @param $text string
+        * @param WebRequest $request
+        * @param string $field
         * @return string
         */
-       function safeUnicodeText( $request, $text ) {
-               $text = rtrim( $text );
+       protected function safeUnicodeInput( $request, $field ) {
+               $text = rtrim( $request->getText( $field ) );
                return $request->getBool( 'safemode' )
-                       ? $this->unmakesafe( $text )
+                       ? $this->unmakeSafe( $text )
                        : $text;
        }
 
@@ -3772,16 +3746,15 @@ HTML
         * Filter an output field through a Unicode armoring process if it is
         * going to an old browser with known broken Unicode editing issues.
         *
-        * @param $text String
-        * @return String
-        * @private
+        * @param string $text
+        * @return string
         */
-       function safeUnicodeOutput( $text ) {
+       protected function safeUnicodeOutput( $text ) {
                global $wgContLang;
                $codedText = $wgContLang->recodeForEdit( $text );
                return $this->checkUnicodeCompliantBrowser()
                        ? $codedText
-                       : $this->makesafe( $codedText );
+                       : $this->makeSafe( $codedText );
        }
 
        /**
@@ -3793,11 +3766,10 @@ HTML
         * Preexisting such character references will have a 0 added to them
         * to ensure that round-trips do not alter the original data.
         *
-        * @param $invalue String
-        * @return String
-        * @private
+        * @param string $invalue
+        * @return string
         */
-       function makesafe( $invalue ) {
+       private function makeSafe( $invalue ) {
                // Armor existing references for reversibility.
                $invalue = strtr( $invalue, array( "&#x" => "&#x0" ) );
 
@@ -3835,13 +3807,13 @@ HTML
         * back to UTF-8. Used to protect data from corruption by broken web browsers
         * as listed in $wgBrowserBlackList.
         *
-        * @param $invalue String
-        * @return String
-        * @private
+        * @param string $invalue
+        * @return string
         */
-       function unmakesafe( $invalue ) {
+       private function unmakeSafe( $invalue ) {
                $result = "";
-               for ( $i = 0; $i < strlen( $invalue ); $i++ ) {
+               $valueLength = strlen( $invalue );
+               for ( $i = 0; $i < $valueLength; $i++ ) {
                        if ( ( substr( $invalue, $i, 3 ) == "&#x" ) && ( $invalue[$i + 3] != '0' ) ) {
                                $i += 3;
                                $hexstring = "";
index 56fe452..4c0eb30 100644 (file)
@@ -594,9 +594,8 @@ class XmlDumpWriter {
         *
         * @param $row object
         * @return string
-        * @access private
         */
-       function openPage( $row ) {
+       public function openPage( $row ) {
                $out = "  <page>\n";
                $title = Title::makeTitle( $row->page_namespace, $row->page_title );
                $out .= '    ' . Xml::elementClean( 'title', array(), self::canonicalTitle( $title ) ) . "\n";
@@ -606,7 +605,9 @@ class XmlDumpWriter {
                        $page = WikiPage::factory( $title );
                        $redirect = $page->getRedirectTarget();
                        if ( $redirect instanceof Title && $redirect->isValidRedirectTarget() ) {
-                               $out .= '    ' . Xml::element( 'redirect', array( 'title' => self::canonicalTitle( $redirect ) ) ) . "\n";
+                               $out .= '    ';
+                               $out .= Xml::element( 'redirect', array( 'title' => self::canonicalTitle( $redirect ) ) );
+                               $out .= "\n";
                        }
                }
 
@@ -680,7 +681,10 @@ class XmlDumpWriter {
                                "" ) . "\n";
                }
 
-               if ( isset( $row->rev_sha1 ) && $row->rev_sha1 && !( $row->rev_deleted & Revision::DELETED_TEXT ) ) {
+               if ( isset( $row->rev_sha1 )
+                       && $row->rev_sha1
+                       && !( $row->rev_deleted & Revision::DELETED_TEXT )
+               ) {
                        $out .= "      " . Xml::element( 'sha1', null, strval( $row->rev_sha1 ) ) . "\n";
                } else {
                        $out .= "      <sha1/>\n";
@@ -813,7 +817,7 @@ class XmlDumpWriter {
        }
 
        /**
-        * @param $file File
+        * @param File $file
         * @param $dumpContents bool
         * @return string
         */
@@ -828,7 +832,7 @@ class XmlDumpWriter {
                        $be = $file->getRepo()->getBackend();
                        # Dump file as base64
                        # Uses only XML-safe characters, so does not need escaping
-                       # @TODO: too bad this loads the contents into memory (script might swap)
+                       # @todo Too bad this loads the contents into memory (script might swap)
                        $contents = '      <contents encoding="base64">' .
                                chunk_split( base64_encode(
                                        $be->getFileContents( array( 'src' => $file->getPath() ) ) ) ) .
@@ -956,7 +960,8 @@ class DumpOutput {
         * Use this for the last piece of a file written out
         * at specified checkpoints (e.g. every n hours).
         * @param $newname mixed File name. May be a string or an array with one element
-        * @param bool $open If true, a new file with the old filename will be opened again for writing (default: false)
+        * @param bool $open If true, a new file with the old filename will be opened
+        *   again for writing (default: false)
         */
        function closeAndRename( $newname, $open = false ) {
        }
index a6f936f..3727f16 100644 (file)
@@ -177,11 +177,12 @@ function wfAppendToArrayIfNotDefault( $key, $value, $default, &$changed ) {
  * XXX: will not darn your socks for you.
  *
  * @deprecated since 1.22; use array_replace()
- * @param $array1 Array
- * @param [$array2, [...]] Arrays
- * @return Array
+ *
+ * @param array $array1 Initial array to merge.
+ * @param array [$array2,...] Variable list of arrays to merge.
+ * @return array
  */
-function wfArrayMerge( $array1/* ... */ ) {
+function wfArrayMerge( $array1 /*...*/ ) {
        wfDeprecated( __FUNCTION__, '1.22' );
        $args = func_get_args();
        $args = array_reverse( $args, true );
@@ -207,8 +208,9 @@ function wfArrayMerge( $array1/* ... */ ) {
  *             array( 'x' ),
  *             array( 'y' )
  *     )
- * @param varargs
- * @return Array
+ *
+ * @param array [$array1,...]
+ * @return array
  */
 function wfMergeErrorArrays( /*...*/ ) {
        $args = func_get_args();
@@ -407,7 +409,7 @@ function wfArrayToCgi( $array1, $array2 = null, $prefix = '' ) {
  * arrays.  Of course, keys and values are urldecode()d.
  *
  * @param string $query query string
- * @return array Array version of input
+ * @return string[] Array version of input
  */
 function wfCgiToArray( $query ) {
        if ( isset( $query[0] ) && $query[0] == '?' ) {
@@ -452,8 +454,8 @@ function wfCgiToArray( $query ) {
  * Append a query string to an existing URL, which may or may not already
  * have query string parameters already. If so, they will be combined.
  *
- * @param $url String
- * @param $query Mixed: string or associative array
+ * @param string $url
+ * @param string|string[] $query String or associative array
  * @return string
  */
 function wfAppendQuery( $url, $query ) {
@@ -750,7 +752,7 @@ function wfUrlProtocolsWithoutProtRel() {
  * 3) Adds a "delimiter" element to the array, either '://', ':' or '//' (see (2)).
  *
  * @param string $url a URL to parse
- * @return Array: bits of the URL in an associative array, per PHP docs
+ * @return string[] Bits of the URL in an associative array, per PHP docs
  */
 function wfParseUrl( $url ) {
        global $wgUrlProtocols; // Allow all protocols defined in DefaultSettings/LocalSettings.php
@@ -1027,10 +1029,8 @@ function wfDebugMem( $exact = false ) {
  *
  * @since 1.23 support for sampling log messages via $wgDebugLogGroups.
  *
- * @param $logGroup String
- * @param $text String
- * @param bool $public whether to log the event in the public log if no private
- *                     log file is specified, (default true)
+ * @param string $logGroup
+ * @param string $text
  * @param string|bool $dest Destination of the message:
  *     - 'all': both to the log and HTML (debug toolbar or HTML comments)
  *     - 'log': only to the log and not in HTML
@@ -1109,7 +1109,7 @@ function wfLogDBError( $text ) {
 
                $date = $d->format( 'D M j G:i:s T Y' );
 
-               $text = "$date\t$host\t$wiki\t$text";
+               $text = "$date\t$host\t$wiki\t" . trim( $text ) . "\n";
                wfErrorLog( $text, $wgDBerrorLog );
        }
 }
@@ -1383,12 +1383,15 @@ function wfGetLangObj( $langcode = false ) {
  *
  * This function replaces all old wfMsg* functions.
  *
- * @param $key \string Message key.
- * Varargs: normal message parameters.
+ * @param string $key Message key
+ * @param mixed [$params,...] Normal message parameters
  * @return Message
+ *
  * @since 1.17
+ *
+ * @see Message::__construct
  */
-function wfMessage( $key /*...*/) {
+function wfMessage( $key /*...*/ ) {
        $params = func_get_args();
        array_shift( $params );
        if ( isset( $params[0] ) && is_array( $params[0] ) ) {
@@ -1401,9 +1404,13 @@ function wfMessage( $key /*...*/) {
  * This function accepts multiple message keys and returns a message instance
  * for the first message which is non-empty. If all messages are empty then an
  * instance of the first message key is returned.
- * @param varargs: message keys
+ *
+ * @param string|string[] [$keys,...] Message keys
  * @return Message
+ *
  * @since 1.18
+ *
+ * @see Message::newFallbackSequence
  */
 function wfMessageFallback( /*...*/ ) {
        $args = func_get_args();
@@ -1522,11 +1529,11 @@ function wfMsgForContentNoTrans( $key ) {
  * @deprecated since 1.18
  *
  * @param string $key key to get.
- * @param $args
- * @param $useDB Boolean
- * @param $forContent Mixed: Language code, or false for user lang, true for content lang.
- * @param $transform Boolean: Whether or not to transform the message.
- * @return String: the requested message.
+ * @param array $args
+ * @param bool $useDB
+ * @param string|bool $forContent Language code, or false for user lang, true for content lang.
+ * @param bool $transform Whether or not to transform the message.
+ * @return string The requested message.
  */
 function wfMsgReal( $key, $args, $useDB = true, $forContent = false, $transform = true ) {
        wfDeprecated( __METHOD__, '1.21' );
@@ -1543,11 +1550,11 @@ function wfMsgReal( $key, $args, $useDB = true, $forContent = false, $transform
  *
  * @deprecated since 1.18
  *
- * @param $key String
- * @param $useDB Bool
- * @param string $langCode Code of the language to get the message for, or
+ * @param string $key
+ * @param bool $useDB
+ * @param string|bool $langCode Code of the language to get the message for, or
  *                  behaves as a content language switch if it is a boolean.
- * @param $transform Boolean: whether to parse magic words, etc.
+ * @param bool $transform Whether to parse magic words, etc.
  * @return string
  */
 function wfMsgGetKey( $key, $useDB = true, $langCode = false, $transform = true ) {
@@ -1568,8 +1575,8 @@ function wfMsgGetKey( $key, $useDB = true, $langCode = false, $transform = true
 /**
  * Replace message parameter keys on the given formatted output.
  *
- * @param $message String
- * @param $args Array
+ * @param string $message
+ * @param array $args
  * @return string
  * @private
  */
@@ -1602,8 +1609,8 @@ function wfMsgReplaceArgs( $message, $args ) {
  *
  * @deprecated since 1.18
  *
- * @param $key String
- * @param string ... parameters
+ * @param string $key
+ * @param string [$args,...] Parameters
  * @return string
  */
 function wfMsgHtml( $key ) {
@@ -1623,8 +1630,8 @@ function wfMsgHtml( $key ) {
  *
  * @deprecated since 1.18
  *
- * @param $key String
- * @param string ... parameters
+ * @param string $key
+ * @param string [$args,...] Parameters
  * @return string
  */
 function wfMsgWikiHtml( $key ) {
@@ -1740,8 +1747,8 @@ function wfMsgExt( $key, $options ) {
  *
  * @deprecated since 1.18. Use Message::isDisabled().
  *
- * @param $key      String: the message key looked up
- * @return Boolean True if the message *doesn't* exist.
+ * @param string $key The message key looked up
+ * @return bool True if the message *doesn't* exist.
  */
 function wfEmptyMsg( $key ) {
        wfDeprecated( __METHOD__, '1.21' );
@@ -1963,9 +1970,9 @@ function wfFormatStackFrame( $frame ) {
 /**
  * @todo document
  *
- * @param $offset Int
- * @param $limit Int
- * @return String
+ * @param int $offset
+ * @param int $limit
+ * @return string
  */
 function wfShowingResults( $offset, $limit ) {
        return wfMessage( 'showingresults' )->numParams( $limit, $offset + 1 )->parse();
@@ -1974,12 +1981,12 @@ function wfShowingResults( $offset, $limit ) {
 /**
  * Generate (prev x| next x) (20|50|100...) type links for paging
  *
- * @param $offset String
- * @param $limit Integer
- * @param $link String
+ * @param string $offset
+ * @param int $limit
+ * @param string $link
  * @param string $query optional URL query parameter string
  * @param bool $atend optional param for specified if this is the last page
- * @return String
+ * @return string
  * @deprecated in 1.19; use Language::viewPrevNext() instead
  */
 function wfViewPrevNext( $offset, $limit, $link, $query = '', $atend = false ) {
@@ -2005,7 +2012,7 @@ function wfViewPrevNext( $offset, $limit, $link, $query = '', $atend = false ) {
  * @todo document
  * @todo FIXME: We may want to blacklist some broken browsers
  *
- * @param $force Bool
+ * @param bool $force
  * @return bool Whereas client accept gzip compression
  */
 function wfClientAcceptsGzip( $force = false ) {
@@ -2257,9 +2264,9 @@ function wfClearOutputBuffers() {
  * Converts an Accept-* header into an array mapping string values to quality
  * factors
  *
- * @param $accept String
+ * @param string $accept
  * @param string $def default
- * @return Array
+ * @return float[] Associative array of string => float pairs
  */
 function wfAcceptToPrefs( $accept, $def = '*/*' ) {
        # No arg means accept anything (per HTTP spec)
@@ -2292,8 +2299,8 @@ function wfAcceptToPrefs( $accept, $def = '*/*' ) {
  * Returns the matching MIME type (or wildcard) if a match, otherwise
  * NULL if no match.
  *
- * @param $type String
- * @param $avail Array
+ * @param string $type
+ * @param array $avail
  * @return string
  * @private
  */
@@ -2476,9 +2483,9 @@ function wfTimestamp( $outputtype = TS_UNIX, $ts = 0 ) {
  * Return a formatted timestamp, or null if input is null.
  * For dealing with nullable timestamp columns in the database.
  *
- * @param $outputtype Integer
- * @param $ts String
- * @return String
+ * @param int $outputtype
+ * @param string $ts
+ * @return string
  */
 function wfTimestampOrNull( $outputtype = TS_UNIX, $ts = null ) {
        if ( is_null( $ts ) ) {
@@ -2501,7 +2508,7 @@ function wfTimestampNow() {
 /**
  * Check if the operating system is Windows
  *
- * @return Bool: true if it's Windows, False otherwise.
+ * @return bool True if it's Windows, false otherwise.
  */
 function wfIsWindows() {
        static $isWindows = null;
@@ -2514,7 +2521,7 @@ function wfIsWindows() {
 /**
  * Check if we are running under HHVM
  *
- * @return Bool
+ * @return bool
  */
 function wfIsHHVM() {
        return defined( 'HHVM_VERSION' );
@@ -2523,8 +2530,8 @@ function wfIsHHVM() {
 /**
  * Swap two variables
  *
- * @param $x Mixed
- * @param $y Mixed
+ * @param mixed $x
+ * @param mixed $y
  */
 function swap( &$x, &$y ) {
        $z = $x;
@@ -2541,7 +2548,7 @@ function swap( &$x, &$y ) {
  * NOTE: When possible, use instead the tmpfile() function to create
  * temporary files to avoid race conditions on file creation, etc.
  *
- * @return String
+ * @return string
  */
 function wfTempDir() {
        global $wgTmpDirectory;
@@ -2564,7 +2571,7 @@ function wfTempDir() {
  * Make directory, and make all parent directories if they don't exist
  *
  * @param string $dir full path to directory to create
- * @param $mode Integer: chmod value to use, default is $wgDirectoryMode
+ * @param int $mode Chmod value to use, default is $wgDirectoryMode
  * @param string $caller optional caller param for debugging.
  * @throws MWException
  * @return bool
@@ -2631,10 +2638,10 @@ function wfRecursiveRemoveDir( $dir ) {
 }
 
 /**
- * @param $nr Mixed: the number to format
- * @param $acc Integer: the number of digits after the decimal point, default 2
- * @param $round Boolean: whether or not to round the value, default true
- * @return float
+ * @param number $nr The number to format
+ * @param int $acc The number of digits after the decimal point, default 2
+ * @param bool $round Whether or not to round the value, default true
+ * @return string
  */
 function wfPercent( $nr, $acc = 2, $round = true ) {
        $ret = sprintf( "%.${acc}f", $nr );
@@ -2661,8 +2668,8 @@ function wfPercent( $nr, $acc = 2, $round = true ) {
  *
  * I frickin' hate PHP... :P
  *
- * @param $setting String
- * @return Bool
+ * @param string $setting
+ * @return bool
  */
 function wfIniGetBool( $setting ) {
        $val = strtolower( ini_get( $setting ) );
@@ -2681,10 +2688,10 @@ function wfIniGetBool( $setting ) {
  * Also fixes the locale problems on Linux in PHP 5.2.6+ (bug backported to
  * earlier distro releases of PHP)
  *
- * @param varargs
- * @return String
+ * @param string [$args,...]
+ * @return string
  */
-function wfEscapeShellArg() {
+function wfEscapeShellArg( /*...*/ ) {
        wfInitShellLocale();
 
        $args = func_get_args();
@@ -2741,6 +2748,7 @@ function wfEscapeShellArg() {
 
 /**
  * Check if wfShellExec() is effectively disabled via php.ini config
+ *
  * @return bool|string False or one of (safemode,disabled)
  * @since 1.22
  */
@@ -2767,6 +2775,7 @@ function wfShellExecDisabled() {
 /**
  * Execute a shell command, with time and memory limits mirrored from the PHP
  * configuration if supported.
+ *
  * @param string $cmd Command line, properly escaped for shell.
  * @param &$retval null|Mixed optional, will receive the program's exit code.
  *                 (non-zero is usually failure). If there is an error from
@@ -3029,6 +3038,7 @@ function wfInitShellLocale() {
 
 /**
  * Alias to wfShellWikiCmd()
+ *
  * @see wfShellWikiCmd()
  */
 function wfShellMaintenanceCmd( $script, array $parameters = array(), array $options = array() ) {
@@ -3039,12 +3049,13 @@ function wfShellMaintenanceCmd( $script, array $parameters = array(), array $opt
  * Generate a shell-escaped command line string to run a MediaWiki cli script.
  * Note that $parameters should be a flat array and an option with an argument
  * should consist of two consecutive items in the array (do not use "--option value").
+ *
  * @param string $script MediaWiki cli script path
  * @param array $parameters Arguments and options to the script
  * @param array $options Associative array of options:
  *             'php': The path to the php executable
  *             'wrapper': Path to a PHP wrapper to handle the maintenance script
- * @return Array
+ * @return string
  */
 function wfShellWikiCmd( $script, array $parameters = array(), array $options = array() ) {
        global $wgPhpCli;
@@ -3064,11 +3075,11 @@ function wfShellWikiCmd( $script, array $parameters = array(), array $options =
  * wfMerge attempts to merge differences between three texts.
  * Returns true for a clean merge and false for failure or a conflict.
  *
- * @param $old String
- * @param $mine String
- * @param $yours String
- * @param $result String
- * @return Bool
+ * @param string $old
+ * @param string $mine
+ * @param string $yours
+ * @param string $result
+ * @return bool
  */
 function wfMerge( $old, $mine, $yours, &$result ) {
        global $wgDiff3;
@@ -3146,7 +3157,7 @@ function wfMerge( $old, $mine, $yours, &$result ) {
  * @param string $before the text before the changes.
  * @param string $after the text after the changes.
  * @param string $params command-line options for the diff command.
- * @return String: unified diff of $before and $after
+ * @return string Unified diff of $before and $after
  */
 function wfDiff( $before, $after, $params = '-u' ) {
        if ( $before == $after ) {
@@ -3223,7 +3234,7 @@ function wfDiff( $before, $after, $params = '-u' ) {
  *
  * @see perldoc -f use
  *
- * @param $req_ver Mixed: the version to check, can be a string, an integer, or
+ * @param string|number $req_ver The version to check, can be a string, an integer, or
  *                 a float
  * @throws MWException
  */
@@ -3253,7 +3264,7 @@ function wfUsePHP( $req_ver ) {
  *
  * @see perldoc -f use
  *
- * @param $req_ver Mixed: the version to check, can be a string, an integer, or
+ * @param string|number $req_ver The version to check, can be a string, an integer, or
  *                 a float
  * @throws MWException
  */
@@ -3273,9 +3284,9 @@ function wfUseMW( $req_ver ) {
  * PHP's basename() only considers '\' a pathchar on Windows and Netware.
  * We'll consider it so always, as we don't want '\s' in our Unix paths either.
  *
- * @param $path String
+ * @param string $path
  * @param string $suffix to remove if present
- * @return String
+ * @return string
  */
 function wfBaseName( $path, $suffix = '' ) {
        if ( $suffix == '' ) {
@@ -3299,7 +3310,7 @@ function wfBaseName( $path, $suffix = '' ) {
  *
  * @param string $path absolute destination path including target filename
  * @param string $from Absolute source path, directory only
- * @return String
+ * @return string
  */
 function wfRelativePath( $path, $from ) {
        // Normalize mixed input on Windows...
@@ -3443,25 +3454,9 @@ function wfBaseConvert( $input, $sourceBase, $destBase, $pad = 1,
        return str_pad( $result, $pad, '0', STR_PAD_LEFT );
 }
 
-/**
- * @return bool
- */
-function wfHttpOnlySafe() {
-       global $wgHttpOnlyBlacklist;
-
-       if ( isset( $_SERVER['HTTP_USER_AGENT'] ) ) {
-               foreach ( $wgHttpOnlyBlacklist as $regex ) {
-                       if ( preg_match( $regex, $_SERVER['HTTP_USER_AGENT'] ) ) {
-                               return false;
-                       }
-               }
-       }
-
-       return true;
-}
-
 /**
  * Check if there is sufficient entropy in php's built-in session generation
+ *
  * @return bool true = there is sufficient entropy
  */
 function wfCheckEntropy() {
@@ -3499,6 +3494,7 @@ function wfFixSessionID() {
 
 /**
  * Reset the session_id
+ *
  * @since 1.22
  */
 function wfResetSessionID() {
@@ -3520,7 +3516,7 @@ function wfResetSessionID() {
 /**
  * Initialise php session
  *
- * @param $sessionId Bool
+ * @param bool $sessionId
  */
 function wfSetupSession( $sessionId = false ) {
        global $wgSessionsInMemcached, $wgSessionsInObjectCache, $wgCookiePath, $wgCookieDomain,
@@ -3532,16 +3528,8 @@ function wfSetupSession( $sessionId = false ) {
                # hasn't already been set to the desired value (that causes errors)
                ini_set( 'session.save_handler', $wgSessionHandler );
        }
-       $httpOnlySafe = wfHttpOnlySafe() && $wgCookieHttpOnly;
-       wfDebugLog( 'cookie',
-               'session_set_cookie_params: "' . implode( '", "',
-                       array(
-                               0,
-                               $wgCookiePath,
-                               $wgCookieDomain,
-                               $wgCookieSecure,
-                               $httpOnlySafe ) ) . '"' );
-       session_set_cookie_params( 0, $wgCookiePath, $wgCookieDomain, $wgCookieSecure, $httpOnlySafe );
+       session_set_cookie_params(
+               0, $wgCookiePath, $wgCookieDomain, $wgCookieSecure, $wgCookieHttpOnly );
        session_cache_limiter( 'private, must-revalidate' );
        if ( $sessionId ) {
                session_id( $sessionId );
@@ -3556,8 +3544,8 @@ function wfSetupSession( $sessionId = false ) {
 /**
  * Get an object from the precompiled serialized directory
  *
- * @param $name String
- * @return Mixed: the variable on success, false on failure
+ * @param string $name
+ * @return mixed The variable on success, false on failure
  */
 function wfGetPrecompiledData( $name ) {
        global $IP;
@@ -3575,10 +3563,10 @@ function wfGetPrecompiledData( $name ) {
 /**
  * Get a cache key
  *
- * @param varargs
- * @return String
+ * @param string [$args,...]
+ * @return string
  */
-function wfMemcKey( /*... */ ) {
+function wfMemcKey( /*...*/ ) {
        global $wgCachePrefix;
        $prefix = $wgCachePrefix === false ? wfWikiID() : $wgCachePrefix;
        $args = func_get_args();
@@ -3590,12 +3578,12 @@ function wfMemcKey( /*... */ ) {
 /**
  * Get a cache key for a foreign DB
  *
- * @param $db String
- * @param $prefix String
- * @param varargs String
- * @return String
+ * @param string $db
+ * @param string $prefix
+ * @param string [$args,...]
+ * @return string
  */
-function wfForeignMemcKey( $db, $prefix /*, ... */ ) {
+function wfForeignMemcKey( $db, $prefix /*...*/ ) {
        $args = array_slice( func_get_args(), 2 );
        if ( $prefix ) {
                $key = "$db-$prefix:" . implode( ':', $args );
@@ -3609,7 +3597,7 @@ function wfForeignMemcKey( $db, $prefix /*, ... */ ) {
  * Get an ASCII string identifying this wiki
  * This is used as a prefix in memcached keys
  *
- * @return String
+ * @return string
  */
 function wfWikiID() {
        global $wgDBprefix, $wgDBname;
@@ -3623,7 +3611,7 @@ function wfWikiID() {
 /**
  * Split a wiki ID into DB name and table prefix
  *
- * @param $wiki String
+ * @param string $wiki
  *
  * @return array
  */
@@ -3638,15 +3626,15 @@ function wfSplitWikiID( $wiki ) {
 /**
  * Get a Database object.
  *
- * @param $db Integer: index of the connection to get. May be DB_MASTER for the
+ * @param int $db Index of the connection to get. May be DB_MASTER for the
  *            master (for write queries), DB_SLAVE for potentially lagged read
  *            queries, or an integer >= 0 for a particular server.
  *
- * @param $groups Mixed: query groups. An array of group names that this query
+ * @param string|string[] $groups Query groups. An array of group names that this query
  *                belongs to. May contain a single string if the query is only
  *                in one group.
  *
- * @param string $wiki the wiki ID, or false for the current wiki
+ * @param string|bool $wiki The wiki ID, or false for the current wiki
  *
  * Note: multiple calls to wfGetDB(DB_SLAVE) during the course of one request
  * will always return the same object, unless the underlying connection or load
@@ -3664,7 +3652,7 @@ function &wfGetDB( $db, $groups = array(), $wiki = false ) {
 /**
  * Get a load balancer object.
  *
- * @param string $wiki wiki ID, or false for the current wiki
+ * @param string|bool $wiki wiki ID, or false for the current wiki
  * @return LoadBalancer
  */
 function wfGetLB( $wiki = false ) {
@@ -3708,7 +3696,7 @@ function wfFindFile( $title, $options = array() ) {
  * Get an object referring to a locally registered file.
  * Returns a valid placeholder object if the file does not exist.
  *
- * @param $title Title|String
+ * @param Title|string $title
  * @return LocalFile|null A File, or null if passed an invalid Title
  */
 function wfLocalFile( $title ) {
@@ -3718,7 +3706,7 @@ function wfLocalFile( $title ) {
 /**
  * Should low-performance queries be disabled?
  *
- * @return Boolean
+ * @return bool
  * @codeCoverageIgnore
  */
 function wfQueriesMustScale() {
@@ -3735,7 +3723,7 @@ function wfQueriesMustScale() {
  * except for 'index' and 'load' which use $wgScript/$wgLoadScript
  *
  * @param string $script script filename, sans extension
- * @return String
+ * @return string
  */
 function wfScript( $script = 'index' ) {
        global $wgScriptPath, $wgScriptExtension, $wgScript, $wgLoadScript;
@@ -3775,8 +3763,8 @@ function wfGetScriptUrl() {
  * Convenience function converts boolean values into "true"
  * or "false" (string) values
  *
- * @param $value Boolean
- * @return String
+ * @param bool $value
+ * @return string
  */
 function wfBoolToStr( $value ) {
        return $value ? 'true' : 'false';
@@ -3799,7 +3787,7 @@ function wfGetNull() {
  * a no-op if there are no slaves.
  *
  * @param int|bool $maxLag (deprecated)
- * @param mixed $wiki Wiki identifier accepted by wfGetLB
+ * @param string|bool $wiki Wiki identifier accepted by wfGetLB
  * @param string|bool $cluster Cluster name accepted by LBFactory. Default: false.
  */
 function wfWaitForSlaves( $maxLag = false, $wiki = false, $cluster = false ) {
@@ -3823,14 +3811,15 @@ function wfWaitForSlaves( $maxLag = false, $wiki = false, $cluster = false ) {
 }
 
 /**
- * Count down from $n to zero on the terminal, with a one-second pause
+ * Count down from $seconds to zero on the terminal, with a one-second pause
  * between showing each number. For use in command-line scripts.
+ *
  * @codeCoverageIgnore
- * @param $n int
+ * @param int $seconds
  */
-function wfCountDown( $n ) {
-       for ( $i = $n; $i >= 0; $i-- ) {
-               if ( $i != $n ) {
+function wfCountDown( $seconds ) {
+       for ( $i = $seconds; $i >= 0; $i-- ) {
+               if ( $i != $seconds ) {
                        echo str_repeat( "\x08", strlen( $i + 1 ) );
                }
                echo $i;
@@ -3847,8 +3836,8 @@ function wfCountDown( $n ) {
  * Additional characters can be defined in $wgIllegalFileChars (see bug 20489)
  * By default, $wgIllegalFileChars = ':'
  *
- * @param $name Mixed: filename to process
- * @return String
+ * @param string $name Filename to process
+ * @return string
  */
 function wfStripIllegalFilenameChars( $name ) {
        global $wgIllegalFileChars;
@@ -3865,7 +3854,7 @@ function wfStripIllegalFilenameChars( $name ) {
 /**
  * Set PHP's memory limit to the larger of php.ini or $wgMemoryLimit;
  *
- * @return Integer value memory was set to.
+ * @return int Value the memory limit was set to.
  */
 function wfMemoryLimit() {
        global $wgMemoryLimit;
@@ -3892,8 +3881,8 @@ function wfMemoryLimit() {
 /**
  * Converts shorthand byte notation to integer form
  *
- * @param $string String
- * @return Integer
+ * @param string $string
+ * @return int
  */
 function wfShorthandToInteger( $string = '' ) {
        $string = trim( $string );
@@ -3924,7 +3913,7 @@ function wfShorthandToInteger( $string = '' ) {
  * See unit test for examples.
  *
  * @param string $code The language code.
- * @return String: The language code which complying with BCP 47 standards.
+ * @return string The language code which complying with BCP 47 standards.
  */
 function wfBCP47( $code ) {
        $codeSegment = explode( '-', $code );
@@ -4005,7 +3994,7 @@ function wfGetLangConverterCacheStorage() {
  * @param array $args parameters passed to hook functions
  * @param string|null $deprecatedVersion optionally mark hook as deprecated with version number
  *
- * @return Boolean True if no handler aborted the hook
+ * @return bool True if no handler aborted the hook
  */
 function wfRunHooks( $event, array $args = array(), $deprecatedVersion = null ) {
        return Hooks::run( $event, $args, $deprecatedVersion );
@@ -4015,8 +4004,8 @@ function wfRunHooks( $event, array $args = array(), $deprecatedVersion = null )
  * Wrapper around php's unpack.
  *
  * @param string $format The format string (See php's docs)
- * @param $data: A binary string of binary data
- * @param $length integer or false: The minimum length of $data. This is to
+ * @param string $data A binary string of binary data
+ * @param int|bool $length The minimum length of $data or false. This is to
  *     prevent reading beyond the end of $data. false to disable the check.
  *
  * Also be careful when using this function to read unsigned 32 bit integer
@@ -4057,7 +4046,7 @@ function wfUnpack( $format, $data, $length = false ) {
  *      i.e. articles where the image may occur inline.
  *
  * @param string $name the image name to check
- * @param $contextTitle Title|bool the page on which the image occurs, if known
+ * @param Title|bool $contextTitle The page on which the image occurs, if known
  * @param string $blacklist wikitext of a file blacklist
  * @return bool
  */
@@ -4159,7 +4148,7 @@ function wfGetIP() {
  * Useful to tell if X-Forwarded-For data is possibly bogus.
  * Squid cache servers for the site are whitelisted.
  *
- * @param $ip String
+ * @param string $ip
  * @return bool
  */
 function wfIsTrustedProxy( $ip ) {
@@ -4170,7 +4159,8 @@ function wfIsTrustedProxy( $ip ) {
 
 /**
  * Checks if an IP matches a proxy we've configured.
- * @param $ip String
+ *
+ * @param string $ip
  * @return bool
  * @since 1.23 Supports CIDR ranges in $wgSquidServersNoPurge
  */
index 23bfd61..033926a 100644 (file)
@@ -25,6 +25,8 @@
  * for primarily page content: links, embedded images, table of contents. Links
  * are also used in the skin.
  *
+ * @todo: turn this into a legacy interface for HtmlPageLinkRenderer and similar services.
+ *
  * @ingroup Skins
  */
 class Linker {
index 7c9b095..d0ce482 100644 (file)
@@ -223,12 +223,14 @@ class Message {
         * @param string|string[] $key Message key or array of message keys to try and use the first
         * non-empty message for.
         * @param array $params Message parameters.
+        * @param Language $language Optional language of the message, defaults to $wgLang.
         */
-       public function __construct( $key, $params = array() ) {
+       public function __construct( $key, $params = array(), Language $language = null ) {
                global $wgLang;
+
                $this->key = $key;
                $this->parameters = array_values( $params );
-               $this->language = $wgLang;
+               $this->language = $language ? $language : $wgLang;
        }
 
        /**
@@ -270,6 +272,17 @@ class Message {
                return $this->format;
        }
 
+       /**
+        * Returns the Language of the Message.
+        *
+        * @since 1.23
+        *
+        * @return Language
+        */
+       public function getLanguage() {
+               return $this->language;
+       }
+
        /**
         * Factory function that is just wrapper for the real constructor. It is
         * intended to be used instead of the real constructor, because it allows
index 9cba0cc..8542904 100644 (file)
@@ -257,10 +257,15 @@ class OutputPage extends ContextSource {
        private $mTarget = null;
 
        /**
-        * @var bool: Whether output should contain table of contents
+        * @var bool: Whether parser output should contain table of contents
         */
        private $mEnableTOC = true;
 
+       /**
+        * @var bool: Whether parser output should contain section edit links
+        */
+       private $mEnableSectionEditLinks = true;
+
        /**
         * Constructor for OutputPage. This should not be called directly.
         * Instead a new RequestContext should be created and it will implicitly create
@@ -1613,6 +1618,11 @@ class OutputPage extends ContextSource {
        function addParserOutput( &$parserOutput ) {
                $this->addParserOutputNoText( $parserOutput );
                $parserOutput->setTOCEnabled( $this->mEnableTOC );
+
+               // Touch section edit links only if not previously disabled
+               if ( $parserOutput->getEditSectionTokens() ) {
+                       $parserOutput->setEditSectionTokens( $this->mEnableSectionEditLinks );
+               }
                $text = $parserOutput->getText();
                wfRunHooks( 'OutputPageBeforeHTML', array( &$this, &$text ) );
                $this->addHTML( $text );
@@ -3691,4 +3701,21 @@ $templates
        public function isTOCEnabled() {
                return $this->mEnableTOC;
        }
+
+       /**
+        * Enables/disables section edit links, doesn't override __NOEDITSECTION__
+        * @param bool $flag
+        * @since 1.23
+        */
+       public function enableSectionEditLinks( $flag = true ) {
+               $this->mEnableSectionEditLinks = $flag;
+       }
+
+       /**
+        * @return bool
+        * @since 1.23
+        */
+       public function sectionEditLinksEnabled() {
+               return $this->mEnableSectionEditLinks;
+       }
 }
index 69629e0..29bbd52 100644 (file)
@@ -77,6 +77,7 @@ abstract class QueryPage extends SpecialPage {
                                array( 'DeadendPagesPage', 'Deadendpages' ),
                                array( 'DoubleRedirectsPage', 'DoubleRedirects' ),
                                array( 'FileDuplicateSearchPage', 'FileDuplicateSearch' ),
+                               array( 'ListDuplicatedFilesPage', 'ListDuplicatedFiles'),
                                array( 'LinkSearchPage', 'LinkSearch' ),
                                array( 'ListredirectsPage', 'Listredirects' ),
                                array( 'LonelyPagesPage', 'Lonelypages' ),
index 9312a0d..38c3623 100644 (file)
@@ -960,9 +960,10 @@ abstract class Skin extends ContextSource {
        }
 
        /**
-        * @param $desc
-        * @param $page
-        * @return string
+        * Returns an HTML link for use in the footer
+        * @param string $desc i18n message key for the link text
+        * @param string $page i18n message key for the page to link to
+        * @return string HTML anchor
         */
        public function footerLink( $desc, $page ) {
                // if the link description has been set to "-" in the default language,
index c85a006..995deeb 100644 (file)
@@ -27,6 +27,8 @@
  * Optionally may contain an interwiki designation or namespace.
  * @note This class can fetch various kinds of data from the database;
  *       however, it does so inefficiently.
+ * @note Consider using a TitleValue object instead. TitleValue is more lightweight
+ *       and does not rely on global state or the database.
  *
  * @internal documentation reviewed 15 Mar 2010
  */
@@ -85,8 +87,55 @@ class Title {
        var $mNotificationTimestamp = array(); // /< Associative array of user ID -> timestamp/false
        var $mHasSubpage;                 // /< Whether a page has any subpages
        private $mPageLanguage = false;   // /< The (string) language code of the page's language and content code.
+       private $mTitleValue = null;      // /< A corresponding TitleValue object
        // @}
 
+       /**
+        * B/C kludge: provide a TitleParser for use by Title.
+        * Ideally, Title would have no methods that need this.
+        * Avoid usage of this singleton by using TitleValue
+        * and the associated services when possible.
+        *
+        * @return TitleParser
+        */
+       private static function getTitleParser() {
+               global $wgContLang, $wgLocalInterwikis;
+
+               static $titleCodec = null;
+               static $titleCodecFingerprint = null;
+
+               // $wgContLang and $wgLocalInterwikis may change (especially while testing),
+               // make sure we are using the right one. To detect changes over the course
+               // of a request, we remember a fingerprint of the config used to create the
+               // codec singleton, and re-create it if the fingerprint doesn't match.
+               $fingerprint = spl_object_hash( $wgContLang ) . '|' . join( '+', $wgLocalInterwikis );
+
+               if ( $fingerprint !== $titleCodecFingerprint ) {
+                       $titleCodec = null;
+               }
+
+               if ( !$titleCodec ) {
+                       $titleCodec = new MediaWikiTitleCodec( $wgContLang, GenderCache::singleton(), $wgLocalInterwikis );
+                       $titleCodecFingerprint = $fingerprint;
+               }
+
+               return $titleCodec;
+       }
+
+       /**
+        * B/C kludge: provide a TitleParser for use by Title.
+        * Ideally, Title would have no methods that need this.
+        * Avoid usage of this singleton by using TitleValue
+        * and the associated services when possible.
+        *
+        * @return TitleFormatter
+        */
+       private static function getTitleFormatter() {
+               //NOTE: we know that getTitleParser() returns a MediaWikiTitleCodec,
+               //      which implements TitleFormatter.
+               return self::getTitleParser();
+       }
+
        /**
         * Constructor
         */
@@ -110,6 +159,20 @@ class Title {
                }
        }
 
+       /**
+        * Create a new Title from a TitleValue
+        *
+        * @param TitleValue $titleValue, assumed to be safe.
+        *
+        * @return Title
+        */
+       public static function newFromTitleValue( TitleValue $titleValue ) {
+               return self::makeTitle(
+                       $titleValue->getNamespace(),
+                       $titleValue->getText(),
+                       $titleValue->getFragment() );
+       }
+
        /**
         * Create a new Title from text, such as what one would find in a link. De-
         * codes any HTML entities in the text.
@@ -147,7 +210,7 @@ class Title {
 
                $t = new Title();
                $t->mDbkeyform = str_replace( ' ', '_', $filteredText );
-               $t->mDefaultNamespace = $defaultNamespace;
+               $t->mDefaultNamespace = intval( $defaultNamespace );
 
                if ( $t->secureAndSplit() ) {
                        if ( $defaultNamespace == NS_MAIN ) {
@@ -473,6 +536,8 @@ class Title {
         * Note that this doesn't pick up many things that could be wrong with titles, but that
         * replacing this regex with something valid will make many titles valid.
         *
+        * @todo: move this into MediaWikiTitleCodec
+        *
         * @return String regex string
         */
        static function getTitleInvalidRegex() {
@@ -741,6 +806,31 @@ class Title {
                return Interwiki::fetch( $this->mInterwiki )->getWikiID();
        }
 
+       /**
+        * Get a TitleValue object representing this Title.
+        *
+        * @note: Not all valid Titles have a corresponding valid TitleValue
+        * (e.g. TitleValues cannot represent page-local links that have a
+        * fragment but no title text).
+        *
+        * @return TitleValue|null
+        */
+       public function getTitleValue() {
+               if ( $this->mTitleValue === null ) {
+                       try {
+                               $this->mTitleValue = new TitleValue(
+                                       $this->getNamespace(),
+                                       $this->getDBkey(),
+                                       $this->getFragment() );
+                       } catch ( InvalidArgumentException $ex ) {
+                               wfDebug( __METHOD__ . ': Can\'t create a TitleValue for [[' .
+                                       $this->getPrefixedText() . ']]: ' . $ex->getMessage() . "\n" );
+                       }
+               }
+
+               return $this->mTitleValue;
+       }
+
        /**
         * Get the text form (spaces not underscores) of the main part
         *
@@ -830,8 +920,6 @@ class Title {
         * @return String: Namespace text
         */
        public function getNsText() {
-               global $wgContLang;
-
                if ( $this->isExternal() ) {
                        // This probably shouldn't even happen. ohh man, oh yuck.
                        // But for interwiki transclusion it sometimes does.
@@ -844,13 +932,13 @@ class Title {
                        }
                }
 
-               if ( $wgContLang->needsGenderDistinction() &&
-                               MWNamespace::hasGenderDistinction( $this->mNamespace ) ) {
-                       $gender = GenderCache::singleton()->getGenderOf( $this->getText(), __METHOD__ );
-                       return $wgContLang->getGenderNsText( $this->mNamespace, $gender );
+               try {
+                       $formatter = $this->getTitleFormatter();
+                       return $formatter->getNamespaceName( $this->mNamespace, $this->mDbkeyform );
+               } catch ( InvalidArgumentException $ex )  {
+                       wfDebug( __METHOD__ . ': ' . $ex->getMessage() . "\n" );
+                       return false;
                }
-
-               return $wgContLang->getNsText( $this->mNamespace );
        }
 
        /**
@@ -3200,8 +3288,6 @@ class Title {
         * @return Bool true on success
         */
        private function secureAndSplit() {
-               global $wgContLang, $wgLocalInterwikis;
-
                # Initialisation
                $this->mInterwiki = '';
                $this->mFragment = '';
@@ -3209,179 +3295,25 @@ class Title {
 
                $dbkey = $this->mDbkeyform;
 
-               # Strip Unicode bidi override characters.
-               # Sometimes they slip into cut-n-pasted page titles, where the
-               # override chars get included in list displays.
-               $dbkey = preg_replace( '/\xE2\x80[\x8E\x8F\xAA-\xAE]/S', '', $dbkey );
-
-               # Clean up whitespace
-               # Note: use of the /u option on preg_replace here will cause
-               # input with invalid UTF-8 sequences to be nullified out in PHP 5.2.x,
-               # conveniently disabling them.
-               $dbkey = preg_replace( '/[ _\xA0\x{1680}\x{180E}\x{2000}-\x{200A}\x{2028}\x{2029}\x{202F}\x{205F}\x{3000}]+/u', '_', $dbkey );
-               $dbkey = trim( $dbkey, '_' );
-
-               if ( strpos( $dbkey, UTF8_REPLACEMENT ) !== false ) {
-                       # Contained illegal UTF-8 sequences or forbidden Unicode chars.
-                       return false;
-               }
-
-               $this->mDbkeyform = $dbkey;
-
-               # Initial colon indicates main namespace rather than specified default
-               # but should not create invalid {ns,title} pairs such as {0,Project:Foo}
-               if ( $dbkey !== '' && ':' == $dbkey[0] ) {
-                       $this->mNamespace = NS_MAIN;
-                       $dbkey = substr( $dbkey, 1 ); # remove the colon but continue processing
-                       $dbkey = trim( $dbkey, '_' ); # remove any subsequent whitespace
-               }
-
-               if ( $dbkey == '' ) {
-                       return false;
-               }
-
-               # Namespace or interwiki prefix
-               $firstPass = true;
-               $prefixRegexp = "/^(.+?)_*:_*(.*)$/S";
-               do {
-                       $m = array();
-                       if ( preg_match( $prefixRegexp, $dbkey, $m ) ) {
-                               $p = $m[1];
-                               if ( ( $ns = $wgContLang->getNsIndex( $p ) ) !== false ) {
-                                       # Ordinary namespace
-                                       $dbkey = $m[2];
-                                       $this->mNamespace = $ns;
-                                       # For Talk:X pages, check if X has a "namespace" prefix
-                                       if ( $ns == NS_TALK && preg_match( $prefixRegexp, $dbkey, $x ) ) {
-                                               if ( $wgContLang->getNsIndex( $x[1] ) ) {
-                                                       # Disallow Talk:File:x type titles...
-                                                       return false;
-                                               } elseif ( Interwiki::isValidInterwiki( $x[1] ) ) {
-                                                       # Disallow Talk:Interwiki:x type titles...
-                                                       return false;
-                                               }
-                                       }
-                               } elseif ( Interwiki::isValidInterwiki( $p ) ) {
-                                       if ( !$firstPass ) {
-                                               # Can't make a local interwiki link to an interwiki link.
-                                               # That's just crazy!
-                                               return false;
-                                       }
-
-                                       # Interwiki link
-                                       $dbkey = $m[2];
-                                       $this->mInterwiki = $wgContLang->lc( $p );
-
-                                       # Redundant interwiki prefix to the local wiki
-                                       foreach ( $wgLocalInterwikis as $localIW ) {
-                                               if ( 0 == strcasecmp( $this->mInterwiki, $localIW ) ) {
-                                                       if ( $dbkey == '' ) {
-                                                               # Can't have an empty self-link
-                                                               return false;
-                                                       }
-                                                       $this->mInterwiki = '';
-                                                       $firstPass = false;
-                                                       # Do another namespace split...
-                                                       continue 2;
-                                               }
-                                       }
-
-                                       # If there's an initial colon after the interwiki, that also
-                                       # resets the default namespace
-                                       if ( $dbkey !== '' && $dbkey[0] == ':' ) {
-                                               $this->mNamespace = NS_MAIN;
-                                               $dbkey = substr( $dbkey, 1 );
-                                       }
-                               }
-                               # If there's no recognized interwiki or namespace,
-                               # then let the colon expression be part of the title.
-                       }
-                       break;
-               } while ( true );
-
-               $fragment = strstr( $dbkey, '#' );
-               if ( false !== $fragment ) {
-                       $this->setFragment( $fragment );
-                       $dbkey = substr( $dbkey, 0, strlen( $dbkey ) - strlen( $fragment ) );
-                       # remove whitespace again: prevents "Foo_bar_#"
-                       # becoming "Foo_bar_"
-                       $dbkey = preg_replace( '/_*$/', '', $dbkey );
-               }
-
-               # Reject illegal characters.
-               $rxTc = self::getTitleInvalidRegex();
-               if ( preg_match( $rxTc, $dbkey ) ) {
-                       return false;
-               }
-
-               # Pages with "/./" or "/../" appearing in the URLs will often be un-
-               # reachable due to the way web browsers deal with 'relative' URLs.
-               # Also, they conflict with subpage syntax.  Forbid them explicitly.
-               if (
-                       strpos( $dbkey, '.' ) !== false &&
-                       (
-                               $dbkey === '.' || $dbkey === '..' ||
-                               strpos( $dbkey, './' ) === 0 ||
-                               strpos( $dbkey, '../' ) === 0 ||
-                               strpos( $dbkey, '/./' ) !== false ||
-                               strpos( $dbkey, '/../' ) !== false ||
-                               substr( $dbkey, -2 ) == '/.' ||
-                               substr( $dbkey, -3 ) == '/..'
-                       )
-               ) {
-                       return false;
-               }
-
-               # Magic tilde sequences? Nu-uh!
-               if ( strpos( $dbkey, '~~~' ) !== false ) {
-                       return false;
-               }
-
-               # Limit the size of titles to 255 bytes. This is typically the size of the
-               # underlying database field. We make an exception for special pages, which
-               # don't need to be stored in the database, and may edge over 255 bytes due
-               # to subpage syntax for long titles, e.g. [[Special:Block/Long name]]
-               if (
-                       ( $this->mNamespace != NS_SPECIAL && strlen( $dbkey ) > 255 )
-                       || strlen( $dbkey ) > 512
-               ) {
-                       return false;
-               }
-
-               # Normally, all wiki links are forced to have an initial capital letter so [[foo]]
-               # and [[Foo]] point to the same place.  Don't force it for interwikis, since the
-               # other site might be case-sensitive.
-               $this->mUserCaseDBKey = $dbkey;
-               if ( !$this->isExternal() ) {
-                       $dbkey = self::capitalize( $dbkey, $this->mNamespace );
-               }
-
-               # Can't make a link to a namespace alone... "empty" local links can only be
-               # self-links with a fragment identifier.
-               if ( $dbkey == '' && !$this->isExternal() && $this->mNamespace != NS_MAIN ) {
-                       return false;
-               }
-
-               // Allow IPv6 usernames to start with '::' by canonicalizing IPv6 titles.
-               // IP names are not allowed for accounts, and can only be referring to
-               // edits from the IP. Given '::' abbreviations and caps/lowercaps,
-               // there are numerous ways to present the same IP. Having sp:contribs scan
-               // them all is silly and having some show the edits and others not is
-               // inconsistent. Same for talk/userpages. Keep them normalized instead.
-               if ( $this->mNamespace == NS_USER || $this->mNamespace == NS_USER_TALK ) {
-                       $dbkey = IP::sanitizeIP( $dbkey );
-               }
-
-               // Any remaining initial :s are illegal.
-               if ( $dbkey !== '' && ':' == $dbkey[0] ) {
+               try {
+                       // @note: splitTitleString() is a temporary hack to allow MediaWikiTitleCodec to share
+                       //        the parsing code with Title, while avoiding massive refactoring.
+                       // @todo: get rid of secureAndSplit, refactor parsing code.
+                       $parser = $this->getTitleParser();
+                       $parts = $parser->splitTitleString( $dbkey, $this->getDefaultNamespace() );
+               } catch ( MalformedTitleException $ex ) {
                        return false;
                }
 
                # Fill fields
-               $this->mDbkeyform = $dbkey;
-               $this->mUrlform = wfUrlencode( $dbkey );
-
-               $this->mTextform = str_replace( '_', ' ', $dbkey );
+               $this->setFragment( '#' . $parts['fragment'] );
+               $this->mInterwiki = $parts['interwiki'];
+               $this->mNamespace = $parts['namespace'];
+               $this->mUserCaseDBKey = $parts['user_case_dbkey'];
+
+               $this->mDbkeyform = $parts['dbkey'];
+               $this->mUrlform = wfUrlencode( $this->mDbkeyform );
+               $this->mTextform = str_replace( '_', ' ', $this->mDbkeyform );
 
                # We already know that some pages won't be in the database!
                if ( $this->isExternal() || $this->mNamespace == NS_SPECIAL ) {
index ab7524c..a3dadd0 100644 (file)
@@ -88,12 +88,6 @@ class WebResponse {
                        $expire = time() + $wgCookieExpiration;
                }
 
-               // Don't mark the cookie as httpOnly if the requesting user-agent is
-               // known to have trouble with httpOnly cookies.
-               if ( !wfHttpOnlySafe() ) {
-                       $options['httpOnly'] = false;
-               }
-
                $func = $options['raw'] ? 'setrawcookie' : 'setcookie';
 
                if ( wfRunHooks( 'WebResponseSetCookie', array( &$name, &$value, &$expire, $options ) ) ) {
index eb79134..766b3bf 100644 (file)
@@ -1,10 +1,13 @@
 <?php
 /**
- * This does the initial setup for a web request.
+ * This does the initial set up for a web request.
  * It does some security checks, starts the profiler and loads the
  * configuration, and optionally loads Setup.php depending on whether
  * MW_NO_SETUP is defined.
  *
+ * Setup.php (if loaded) then sets up GlobalFunctions, the AutoLoader,
+ * and the configuration globals (though not $wgTitle).
+ *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
index 4bf8fd3..6cf718c 100644 (file)
@@ -655,7 +655,10 @@ class MediaWiki {
                        $info['host'],
                        isset( $info['port'] ) ? $info['port'] : 80,
                        $errno,
-                       $errstr
+                       $errstr,
+                       // If it takes more than 100ms to connect to ourselves there
+                       // is a problem elsewhere.
+                       0.1
                );
                wfRestoreWarnings();
                if ( !$sock ) {
index b4aa303..af74f47 100644 (file)
@@ -104,9 +104,10 @@ class WikiPage implements Page, IDBAccessObject {
        /**
         * Create a WikiPage object of the appropriate class for the given title.
         *
-        * @param $title Title
+        * @param Title $title
+        *
         * @throws MWException
-        * @return WikiPage object of the appropriate type
+        * @return WikiPage Object of the appropriate type
         */
        public static function factory( Title $title ) {
                $ns = $title->getNamespace();
@@ -1468,12 +1469,13 @@ class WikiPage implements Page, IDBAccessObject {
        }
 
        /**
-        * @param $section null|bool|int or a section number (0, 1, 2, T1, T2...)
-        * @param string $text new text of the section
-        * @param string $sectionTitle new section's subject, only if $section is 'new'
-        * @param string $edittime revision timestamp or null to use the current revision
+        * @param mixed $section Null/false, a section number (0, 1, 2, T1, T2, ...) or "new".
+        * @param string $text New text of the section.
+        * @param string $sectionTitle New section's subject, only if $section is "new".
+        * @param string $edittime Revision timestamp or null to use the current revision.
+        *
         * @throws MWException
-        * @return String new complete article text, or null if error
+        * @return string New complete article text, or null if error.
         *
         * @deprecated since 1.21, use replaceSectionContent() instead
         */
@@ -1486,13 +1488,15 @@ class WikiPage implements Page, IDBAccessObject {
                }
 
                if ( !$this->supportsSections() ) {
-                       throw new MWException( "sections not supported for content model " . $this->getContentHandler()->getModelID() );
+                       throw new MWException( "sections not supported for content model " .
+                               $this->getContentHandler()->getModelID() );
                }
 
                // could even make section title, but that's not required.
                $sectionContent = ContentHandler::makeContent( $text, $this->getTitle() );
 
-               $newContent = $this->replaceSectionContent( $section, $sectionContent, $sectionTitle, $edittime );
+               $newContent = $this->replaceSectionContent( $section, $sectionContent, $sectionTitle,
+                       $edittime );
 
                return ContentHandler::getContentText( $newContent );
        }
@@ -1500,7 +1504,7 @@ class WikiPage implements Page, IDBAccessObject {
        /**
         * Returns true if this page's content model supports sections.
         *
-        * @return boolean whether sections are supported.
+        * @return bool
         *
         * @todo The skin should check this and not offer section functionality if sections are not supported.
         * @todo The EditPage should check this and not offer section functionality if sections are not supported.
@@ -1510,17 +1514,18 @@ class WikiPage implements Page, IDBAccessObject {
        }
 
        /**
-        * @param $section null|bool|int or a section number (0, 1, 2, T1, T2...)
-        * @param $sectionContent Content: new content of the section
-        * @param string $sectionTitle new section's subject, only if $section is 'new'
-        * @param string $edittime revision timestamp or null to use the current revision
+        * @param mixed $section Null/false, a section number (0, 1, 2, T1, T2, ...) or "new".
+        * @param Content $sectionContent New content of the section.
+        * @param string $sectionTitle New section's subject, only if $section is "new".
+        * @param string $edittime Revision timestamp or null to use the current revision.
         *
         * @throws MWException
-        * @return Content new complete article content, or null if error
+        * @return Content New complete article content, or null if error.
         *
         * @since 1.21
         */
-       public function replaceSectionContent( $section, Content $sectionContent, $sectionTitle = '', $edittime = null ) {
+       public function replaceSectionContent( $section, Content $sectionContent, $sectionTitle = '',
+               $edittime = null ) {
                wfProfileIn( __METHOD__ );
 
                if ( strval( $section ) == '' ) {
@@ -1529,7 +1534,8 @@ class WikiPage implements Page, IDBAccessObject {
                } else {
                        if ( !$this->supportsSections() ) {
                                wfProfileOut( __METHOD__ );
-                               throw new MWException( "sections not supported for content model " . $this->getContentHandler()->getModelID() );
+                               throw new MWException( "sections not supported for content model " .
+                                       $this->getContentHandler()->getModelID() );
                        }
 
                        // Bug 30711: always use current version when adding a new section
@@ -2612,9 +2618,11 @@ class WikiPage implements Page, IDBAccessObject {
        /**
         * Take an array of page restrictions and flatten it to a string
         * suitable for insertion into the page_restrictions field.
-        * @param $limit Array
+        *
+        * @param string[] $limit
+        *
         * @throws MWException
-        * @return String
+        * @return string
         */
        protected static function flattenRestrictions( $limit ) {
                if ( !is_array( $limit ) ) {
index 0591fa9..6e2c31f 100644 (file)
@@ -378,7 +378,7 @@ class ApiQueryAllImages extends ApiQueryGeneratorBase {
                );
        }
 
-       private $propertyFilter = array( 'archivename', 'thumbmime' );
+       private $propertyFilter = array( 'archivename', 'thumbmime', 'uploadwarning' );
 
        public function getResultProperties() {
                return array_merge(
index fcaaf10..a2a15e0 100644 (file)
@@ -72,7 +72,6 @@ class ApiQuerySearch extends ApiQueryGeneratorBase {
                        SearchEngine::create( $params['backend'] ) : SearchEngine::create();
                $search->setLimitOffset( $limit + 1, $params['offset'] );
                $search->setNamespaces( $params['namespace'] );
-               $search->showRedirects = $params['redirects'];
 
                $query = $search->transformSearchTerm( $query );
                $query = $search->replacePrefixes( $query );
@@ -299,7 +298,6 @@ class ApiQuerySearch extends ApiQueryGeneratorBase {
                                ),
                                ApiBase::PARAM_ISMULTI => true,
                        ),
-                       'redirects' => false,
                        'offset' => 0,
                        'limit' => array(
                                ApiBase::PARAM_DFLT => 10,
@@ -345,7 +343,6 @@ class ApiQuerySearch extends ApiQueryGeneratorBase {
                                ' sectiontitle     - Adds the title of the matching section',
                                ' hasrelated       - Indicates whether a related search is available',
                        ),
-                       'redirects' => 'Include redirect pages in the search',
                        'offset' => 'Use this value to continue paging (return by query)',
                        'limit' => 'How many total pages to return',
                        'interwiki' => 'Include interwiki results in the search, if available'
index 3595cf9..6a49e60 100644 (file)
@@ -72,7 +72,7 @@ class ApiQueryStashImageInfo extends ApiQueryImageInfo {
 
        private $propertyFilter = array(
                'user', 'userid', 'comment', 'parsedcomment',
-               'mediatype', 'archivename',
+               'mediatype', 'archivename', 'uploadwarning',
        );
 
        public function getAllowedParams() {
index 1400b0d..2c76f37 100644 (file)
@@ -223,8 +223,9 @@ class ApiRevisionDelete extends ApiBase {
        public function getPossibleErrors() {
                return array_merge( parent::getPossibleErrors(),
                        array(
-                               'needtarget' => 'A target title is required for this RevDel type',
-                               'badparams' => 'Bad value for some parameter',
+                               array( 'code' => 'needtarget',
+                                       'info' => 'A target title is required for this RevDel type' ),
+                               array( 'code' => 'badparams', 'info' => 'Bad value for some parameter' ),
                        )
                );
        }
index c56111f..3c833ac 100644 (file)
@@ -212,7 +212,7 @@ class LocalisationCache {
                        }
                }
 
-               wfDebug( get_class( $this ) . ": using store $storeClass\n" );
+               wfDebugLog( 'caches', get_class( $this ) . ": using store $storeClass" );
                if ( !empty( $conf['storeDirectory'] ) ) {
                        $storeConf['directory'] = $conf['storeDirectory'];
                }
index 91ab0ca..b0794fb 100644 (file)
@@ -1097,7 +1097,6 @@ abstract class DatabaseBase implements IDatabase, DatabaseType {
                if ( false === $ret && $this->wasErrorReissuable() ) {
                        # Transaction is gone, like it or not
                        $hadTrx = $this->mTrxLevel; // possible lost transaction
-                       wfDebug( "Connection lost, reconnecting...\n" );
                        $this->mTrxLevel = 0;
                        wfDebug( "Connection lost, reconnecting...\n" );
 
@@ -1109,7 +1108,7 @@ abstract class DatabaseBase implements IDatabase, DatabaseType {
                                $elapsed = round( microtime( true ) - $wgRequestTime, 3 );
                                if ( $elapsed < 300 ) {
                                        # Not a database error to lose a transaction after a minute or two
-                                       wfLogDBError( "Connection lost and reconnected after {$elapsed}s, query: $sqlx\n" );
+                                       wfLogDBError( "Connection lost and reconnected after {$elapsed}s, query: $sqlx" );
                                }
                                if ( !$hadTrx ) {
                                        # Should be safe to silently retry
@@ -1153,7 +1152,7 @@ abstract class DatabaseBase implements IDatabase, DatabaseType {
                        $this->ignoreErrors( $ignore );
                } else {
                        $sql1line = mb_substr( str_replace( "\n", "\\n", $sql ), 0, 5 * 1024 );
-                       wfLogDBError( "$fname\t{$this->mServer}\t$errno\t$error\t$sql1line\n" );
+                       wfLogDBError( "$fname\t{$this->mServer}\t$errno\t$error\t$sql1line" );
                        wfDebug( "SQL ERROR: " . $error . "\n" );
                        throw new DBQueryError( $this, $error, $errno, $sql, $fname );
                }
index 85be31c..3b70ae1 100644 (file)
@@ -93,7 +93,7 @@ abstract class DatabaseMysqlBase extends DatabaseBase {
                        if ( !$error ) {
                                $error = $this->lastError();
                        }
-                       wfLogDBError( "Error connecting to {$this->mServer}: $error\n" );
+                       wfLogDBError( "Error connecting to {$this->mServer}: $error" );
                        wfDebug( "DB connection error\n" .
                                "Server: $server, User: $user, Password: " .
                                substr( $password, 0, 3 ) . "..., error: " . $error . "\n" );
@@ -108,7 +108,7 @@ abstract class DatabaseMysqlBase extends DatabaseBase {
                        $success = $this->selectDB( $dbName );
                        wfRestoreWarnings();
                        if ( !$success ) {
-                               wfLogDBError( "Error selecting database $dbName on server {$this->mServer}\n" );
+                               wfLogDBError( "Error selecting database $dbName on server {$this->mServer}" );
                                wfDebug( "Error selecting database $dbName on server {$this->mServer} " .
                                        "from client host " . wfHostname() . "\n" );
 
@@ -804,14 +804,18 @@ abstract class DatabaseMysqlBase extends DatabaseBase {
         * @return string
         */
        public function getSoftwareLink() {
+               // MariaDB includes its name in its version string (sent when the connection is opened),
+               // and this is how MariaDB's version of the mysql command-line client identifies MariaDB
+               // servers (see the mariadb_connection() function in libmysql/libmysql.c).
                $version = $this->getServerVersion();
-               if ( strpos( $version, 'MariaDB' ) !== false ) {
+               if ( strpos( $version, 'MariaDB' ) !== false || strpos( $version, '-maria-' ) !== false ) {
                        return '[{{int:version-db-mariadb-url}} MariaDB]';
-               } elseif ( strpos( $version, 'percona' ) !== false ) {
-                       return '[{{int:version-db-percona-url}} Percona Server]';
-               } else {
-                       return '[{{int:version-db-mysql-url}} MySQL]';
                }
+
+               // Percona Server's version suffix is not very distinctive, and @@version_comment
+               // doesn't give the necessary info for source builds, so assume the server is MySQL.
+               // (Even Percona's version of mysql doesn't try to make the distinction.)
+               return '[{{int:version-db-mysql-url}} MySQL]';
        }
 
        /**
index de4c2f5..a1703f0 100644 (file)
@@ -744,13 +744,13 @@ class LoadBalancer {
 
                if ( !is_object( $conn ) ) {
                        // No last connection, probably due to all servers being too busy
-                       wfLogDBError( "LB failure with no last connection. Connection error: {$this->mLastError}\n" );
+                       wfLogDBError( "LB failure with no last connection. Connection error: {$this->mLastError}" );
 
                        // If all servers were busy, mLastError will contain something sensible
                        throw new DBConnectionError( null, $this->mLastError );
                } else {
                        $server = $conn->getProperty( 'mServer' );
-                       wfLogDBError( "Connection error: {$this->mLastError} ({$server})\n" );
+                       wfLogDBError( "Connection error: {$this->mLastError} ({$server})" );
                        $conn->reportConnectionError( "{$this->mLastError} ({$server})" ); // throws DBConnectionError
                }
 
index f344938..797d406 100644 (file)
@@ -117,7 +117,7 @@ class MWException extends Exception {
                $args = array_slice( func_get_args(), 2 );
 
                if ( $this->useMessageCache() ) {
-                       return wfMessage( $key, $args )->plain();
+                       return wfMessage( $key, $args )->text();
                } else {
                        return wfMsgReplaceArgs( $fallback, $args );
                }
index ce5d52e..bec0d90 100644 (file)
@@ -34,7 +34,7 @@ class ThrottledError extends ErrorPageError {
 
        public function report() {
                global $wgOut;
-               $wgOut->setStatusCode( 503 );
+               $wgOut->setStatusCode( 429 );
                parent::report();
        }
 }
index 2d8214e..2fd1bf6 100644 (file)
@@ -1666,7 +1666,22 @@ abstract class FileBackendStore extends FileBackend {
                }
                $age = time() - wfTimestamp( TS_UNIX, $val['mtime'] );
                $ttl = min( 7 * 86400, max( 300, floor( .1 * $age ) ) );
-               $this->memCache->add( $this->fileCacheKey( $path ), $val, $ttl );
+               $key = $this->fileCacheKey( $path );
+               // Set the cache unless it is currently salted with the value "PURGED".
+               // Using add() handles this except it also is a no-op in that case where
+               // the current value is not "latest" but $val is, so use CAS in that case.
+               if ( !$this->memCache->add( $key, $val, $ttl ) && !empty( $val['latest'] ) ) {
+                       $this->memCache->merge(
+                               $key,
+                               function( BagOStuff $cache, $key, $cValue ) use ( $val ) {
+                                       return ( is_array( $cValue ) && empty( $cValue['latest'] ) )
+                                               ? $val // update the stat cache with the lastest info
+                                               : false; // do nothing (cache is salted or some error happened)
+                               },
+                               $ttl,
+                               1
+                       );
+               }
        }
 
        /**
index 534d7f2..888af37 100644 (file)
@@ -966,11 +966,13 @@ class FileRepo {
         *
         * @param string $src Source file system path, storage path, or virtual URL
         * @param string $dst Virtual URL or storage path
-        * @param string|null $disposition Content-Disposition if given and supported
+        * @param Array|string|null $options An array consisting of a key named headers
+        *   listing extra headers. If a string, taken as content-disposition header.
+        *   (Support for array of options new in 1.23)
         * @return FileRepoStatus
         */
-       final public function quickImport( $src, $dst, $disposition = null ) {
-               return $this->quickImportBatch( array( array( $src, $dst, $disposition ) ) );
+       final public function quickImport( $src, $dst, $options = null ) {
+               return $this->quickImportBatch( array( array( $src, $dst, $options ) ) );
        }
 
        /**
@@ -1007,7 +1009,7 @@ class FileRepo {
         * This is intended for copying generated thumbnails into the repo.
         *
         * All path parameters may be a file system path, storage path, or virtual URL.
-        * When "dispositions" are given they are used as Content-Disposition if supported.
+        * When "headers" are given they are used as HTTP headers if supported.
         *
         * @param array $triples List of (source path, destination path, disposition)
         * @return FileRepoStatus
@@ -1019,11 +1021,20 @@ class FileRepo {
                        list( $src, $dst ) = $triple;
                        $src = $this->resolveToStoragePath( $src );
                        $dst = $this->resolveToStoragePath( $dst );
+
+                       if ( !isset( $triple[2] ) ) {
+                               $headers = array();
+                       } elseif ( is_string( $triple[2] ) ) {
+                               // back-compat
+                               $headers = array( 'Content-Disposition' => $triple[2] );
+                       } elseif ( is_array( $triple[2] ) && isset( $triple[2]['headers'] ) ) {
+                               $headers = $triple[2]['headers'];
+                       }
                        $operations[] = array(
                                'op' => FileBackend::isStoragePath( $src ) ? 'copy' : 'store',
                                'src' => $src,
                                'dst' => $dst,
-                               'disposition' => isset( $triple[2] ) ? $triple[2] : null
+                               'headers' => $headers
                        );
                        $status->merge( $this->initDirectory( dirname( $dst ) ) );
                }
index 950baea..c19a51d 100644 (file)
@@ -1066,16 +1066,17 @@ abstract class File {
 
        /**
         * @param string $thumbName Thumbnail name
+        * @param string $dispositionType Type of disposition (either "attachment" or "inline")
         * @return string Content-Disposition header value
         */
-       function getThumbDisposition( $thumbName ) {
+       function getThumbDisposition( $thumbName, $dispositionType = 'inline' ) {
                $fileName = $this->name; // file name to suggest
                $thumbExt = FileBackend::extensionFromPath( $thumbName );
                if ( $thumbExt != '' && $thumbExt !== $this->getExtension() ) {
                        $fileName .= ".$thumbExt";
                }
 
-               return FileBackend::makeContentDisposition( 'inline', $fileName );
+               return FileBackend::makeContentDisposition( $dispositionType, $fileName );
        }
 
        /**
index b1dc5a7..6350052 100644 (file)
     "config-license-gfdl": "רישיון חופשי למסמכים של גנו גרסה 1.3 או חדשה יותר",
     "config-license-pd": "נחלת הכלל",
     "config-license-cc-choose": "בחרו רישיון קריאייטיב קומונז מותאם אישית",
-    "config-license-help": "אתרי ויקי ציבוריים רבים מפרסמים את כל התרומות תחת [http://freedomdefined.org/Definition רישיון חופשי].\nזה עוזר ליצור תחושה של בעלות קהילתית ומעודד תרומה לאורך זמן.\nזה בדרך כלל לא נחוץ לאתר ויקי פרטי או בחברה מסחרית.\n\nאם אתם רוצים אפשרות להשתמש בטקסט מוויקיפדיה ואתם רוצים שוויקיפדיה תוכל לקבל עותקים של טקסטים מהוויקי שלכם, כדאי לכם לבחור ב'''רישיון קריאייטיב קומונז ייחוס–שיתוף זהה''' (CC-BY-SA).\n\nויקיפדיה השתמשה בעבר ברישיון החופשי למסמכים של גנו (GNU FDL או GFDL).\nהוא עדיין רישיון תקין, אבל קשה להבנה.\nכמו־כן, קשה לעשות שימוש חוזר ביצירות שפורסמו לפי GFDL.",
+    "config-license-help": "אתרי ויקי ציבוריים רבים מפרסמים את כל התרומות תחת [http://freedomdefined.org/Definition רישיון חופשי].\nזה עוזר ליצור תחושה של בעלות קהילתית ומעודד תרומה לאורך זמן.\nזה בדרך כלל לא נחוץ לאתר ויקי פרטי או בחברה מסחרית.\n\nאם אתם רוצים אפשרות להשתמש בטקסט מוויקיפדיה ואתם רוצים שוויקיפדיה תוכל לקבל עותקים של טקסטים מהוויקי שלכם, כדאי לכם לבחור ב'''רישיון קריאייטיב קומונז ייחוס–שיתוף זהה''' (CC BY-SA).\n\nויקיפדיה השתמשה בעבר ברישיון החופשי למסמכים של גנו (GNU FDL או GFDL).\nהוא עדיין רישיון תקין, אבל קשה להבנה.\nכמו־כן, קשה לעשות שימוש חוזר ביצירות שפורסמו לפי GFDL.",
     "config-email-settings": "הגדרות דוא״ל",
     "config-enable-email": "להפעיל דוא״ל יוצא",
     "config-enable-email-help": "אם אתם רוצים שדוא״ל יעבוד, [http://www.php.net/manual/en/mail.configuration.php אפשרויות הדוא״ל של PHP] צריכות להיות מוגדרות נכון.\nאם אינכם רוצים להפעיל שום אפשרויות דוא״ל, כבו אותן כאן ועכשיו.",
     "config-nofile": "הקובץ \"$1\" לא נמצא. האם הוא נמחק?",
     "mainpagetext": "'''תוכנת מדיה־ויקי הותקנה בהצלחה.'''",
     "mainpagedocfooter": "היעזרו ב[//meta.wikimedia.org/wiki/Help:Contents מדריך למשתמש] למידע על שימוש בתוכנת הוויקי.\n\n== קישורים שימושיים ==\n* [//www.mediawiki.org/wiki/Manual:Configuration_settings רשימת ההגדרות]\n* [//www.mediawiki.org/wiki/Manual:FAQ שאלות ותשובות על מדיה־ויקי]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce רשימת התפוצה על השקת גרסאות]\n* [//www.mediawiki.org/wiki/Localisation#Translation_resources תרגום מדיה־ויקי לשפה שלך]"
-}
\ No newline at end of file
+}
index 4f626b2..d72ffca 100644 (file)
@@ -75,13 +75,17 @@ class HttpStatus {
                        422 => 'Unprocessable Entity',
                        423 => 'Locked',
                        424 => 'Failed Dependency',
+                       428 => 'Precondition Required',
+                       429 => 'Too Many Requests',
+                       431 => 'Request Header Fields Too Large',
                        500 => 'Internal Server Error',
                        501 => 'Not Implemented',
                        502 => 'Bad Gateway',
                        503 => 'Service Unavailable',
                        504 => 'Gateway Timeout',
                        505 => 'HTTP Version Not Supported',
-                       507 => 'Insufficient Storage'
+                       507 => 'Insufficient Storage',
+                       511 => 'Network Authentication Required',
                );
                return isset( $statusMessage[$code] ) ? $statusMessage[$code] : null;
        }
index ee11599..e4caf35 100644 (file)
@@ -798,4 +798,18 @@ abstract class MediaHandler {
        public function getDefaultRenderLanguage( File $file ) {
                return null;
        }
+
+       /**
+        * If its an audio file, return the length of the file. Otherwise 0.
+        *
+        * File::getLength() existed for a long time, but was calling a method
+        * that only existed in some subclasses of this class (The TMH ones).
+        *
+        * @param File $file
+        * @return float Length in seconds
+        * @since 1.23
+        */
+       public function getLength( $file ) {
+               return 0.0;
+       }
 }
index 4a27692..217142c 100644 (file)
@@ -142,7 +142,7 @@ abstract class BagOStuff {
         * @return bool success
         */
        protected function mergeViaLock( $key, closure $callback, $exptime = 0, $attempts = 10 ) {
-               if ( !$this->lock( $key, 60 ) ) {
+               if ( !$this->lock( $key, 6 ) ) {
                        return false;
                }
 
@@ -168,7 +168,7 @@ abstract class BagOStuff {
         * @param $timeout integer [optional]
         * @return bool success
         */
-       public function lock( $key, $timeout = 60 ) {
+       public function lock( $key, $timeout = 6 ) {
                $timestamp = microtime( true ); // starting UNIX timestamp
                if ( $this->add( "{$key}:lock", 1, $timeout ) ) {
                        return true;
index f2c4fbf..1548a9b 100644 (file)
@@ -4150,6 +4150,10 @@ class Parser {
         * Add a tracking category, getting the title from a system message,
         * or print a debug message if the title is invalid.
         *
+        * Please add any message that you use with this function to
+        * $wgTrackingCategories. That way they will be listed on
+        * Special:TrackingCategories.
+        *
         * @param string $msg message key
         * @return Boolean: whether the addition was successful
         */
index d572426..d4df91a 100644 (file)
@@ -1,5 +1,4 @@
 <?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
index b90ca44..0d9ef78 100644 (file)
@@ -142,11 +142,8 @@ class ResourceLoaderContext {
         */
        public function getLanguage() {
                if ( $this->language === null ) {
-                       global $wgLang;
-                       $this->language = $this->request->getVal( 'lang' );
-                       if ( !$this->language ) {
-                               $this->language = $wgLang->getCode();
-                       }
+                       // Must be a valid language code after this point (bug 62849)
+                       $this->language = RequestContext::sanitizeLangCode( $this->request->getVal( 'lang' ) );
                }
                return $this->language;
        }
@@ -158,7 +155,7 @@ class ResourceLoaderContext {
                if ( $this->direction === null ) {
                        $this->direction = $this->request->getVal( 'dir' );
                        if ( !$this->direction ) {
-                               # directionality based on user language (see bug 6100)
+                               // Determine directionality based on user language (bug 6100)
                                $this->direction = Language::factory( $this->getLanguage() )->getDir();
                        }
                }
index aed4c44..5ee6bd2 100644 (file)
@@ -27,15 +27,22 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
        /* Protected Members */
 
        protected $modifiedTime = array();
+       protected $configVars = array();
        protected $targets = array( 'desktop', 'mobile' );
 
        /* Protected Methods */
 
        /**
-        * @param $context ResourceLoaderContext
+        * @param ResourceLoaderContext $context
         * @return array
         */
        protected function getConfig( $context ) {
+
+               $hash = $context->getHash();
+               if ( isset( $this->configVars[$hash] ) ) {
+                       return $this->configVars[$hash];
+               }
+
                global $wgLoadScript, $wgScript, $wgStylePath, $wgScriptExtension,
                        $wgArticlePath, $wgScriptPath, $wgServer, $wgContLang,
                        $wgVariantArticlePath, $wgActionPaths, $wgVersion,
@@ -106,70 +113,100 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
 
                wfRunHooks( 'ResourceLoaderGetConfigVars', array( &$vars ) );
 
-               return $vars;
+               $this->configVars[$hash] = $vars;
+               return $this->configVars[$hash];
        }
 
        /**
-        * Gets registration code for all modules
+        * Get registration code for all modules.
         *
-        * @param $context ResourceLoaderContext object
-        * @return String: JavaScript code for registering all modules with the client loader
+        * @param ResourceLoaderContext $context object
+        * @return string JavaScript code for registering all modules with the client loader
         */
        public static function getModuleRegistrations( ResourceLoaderContext $context ) {
                global $wgCacheEpoch;
                wfProfileIn( __METHOD__ );
 
-               $out = '';
-               $registrations = array();
                $resourceLoader = $context->getResourceLoader();
                $target = $context->getRequest()->getVal( 'target', 'desktop' );
 
-               // Register sources
-               $out .= ResourceLoader::makeLoaderSourcesScript( $resourceLoader->getSources() );
+               $out = '';
+               $registryData = array();
 
-               // Register modules
+               // Get registry data
                foreach ( $resourceLoader->getModuleNames() as $name ) {
                        $module = $resourceLoader->getModule( $name );
                        $moduleTargets = $module->getTargets();
                        if ( !in_array( $target, $moduleTargets ) ) {
                                continue;
                        }
-                       $deps = $module->getDependencies();
-                       $group = $module->getGroup();
-                       $source = $module->getSource();
-                       // Support module loader scripts
-                       $loader = $module->getLoaderScript();
-                       if ( $loader !== false ) {
-                               $version = wfTimestamp( TS_ISO_8601_BASIC,
-                                       $module->getModifiedTime( $context ) );
-                               $out .= ResourceLoader::makeCustomLoaderScript( $name, $version, $deps, $group, $source, $loader );
-                               continue;
-                       }
 
-                       // Automatically register module
                        // getModifiedTime() is supposed to return a UNIX timestamp, but it doesn't always
                        // seem to do that, and custom implementations might forget. Coerce it to TS_UNIX
                        $moduleMtime = wfTimestamp( TS_UNIX, $module->getModifiedTime( $context ) );
                        $mtime = max( $moduleMtime, wfTimestamp( TS_UNIX, $wgCacheEpoch ) );
 
-                       if ( !count( $deps ) && $group === null && $source === 'local' ) {
-                               // Modules without dependencies, a group or a foreign source pass two arguments (name, timestamp) to
-                               // mw.loader.register()
-                               $registrations[] = array( $name, $mtime );
-                       } elseif ( $group === null && $source === 'local' ) {
-                               // Modules with dependencies but no group or foreign source pass three arguments
-                               // (name, timestamp, dependencies) to mw.loader.register()
-                               $registrations[] = array( $name, $mtime, $deps );
-                       } elseif ( $source === 'local' ) {
-                               // Modules with a group but no foreign source pass four arguments (name, timestamp, dependencies, group)
-                               // to mw.loader.register()
-                               $registrations[] = array( $name, $mtime, $deps, $group );
+                       // FIXME: Convert to numbers, wfTimestamp always gives us stings, even for TS_UNIX
+
+                       $registryData[ $name ] = array(
+                               'version' => $mtime,
+                               'dependencies' => $module->getDependencies(),
+                               'group' => $module->getGroup(),
+                               'source' => $module->getSource(),
+                               'loader' => $module->getLoaderScript(),
+                       );
+               }
+
+               // Register sources
+               $out .= ResourceLoader::makeLoaderSourcesScript( $resourceLoader->getSources() );
+
+               // Concatenate module loader scripts and figure out the different call
+               // signatures for mw.loader.register
+               $registrations = array();
+               foreach ( $registryData as $name => $data ) {
+                       if ( $data['loader'] !== false ) {
+                               $out .= ResourceLoader::makeCustomLoaderScript(
+                                       $name,
+                                       wfTimestamp( TS_ISO_8601_BASIC, $data['version'] ),
+                                       $data['dependencies'],
+                                       $data['group'],
+                                       $data['source'],
+                                       $data['loader']
+                               );
+                               continue;
+                       }
+
+                       if ( !count( $data['dependencies'] ) && $data['group'] === null && $data['source'] === 'local' ) {
+                               // Modules without dependencies, a group or a foreign source;
+                               // call mw.loader.register(name, timestamp)
+                               $registrations[] = array( $name, $data['version'] );
+                       } elseif ( $data['group'] === null && $data['source'] === 'local' ) {
+                               // Modules with dependencies but no group or foreign source;
+                               // call mw.loader.register(name, timestamp, dependencies)
+                               $registrations[] = array( $name, $data['version'], $data['dependencies'] );
+                       } elseif ( $data['source'] === 'local' ) {
+                               // Modules with a group but no foreign source;
+                               // call mw.loader.register(name, timestamp, dependencies, group)
+                               $registrations[] = array(
+                                       $name,
+                                       $data['version'],
+                                       $data['dependencies'],
+                                       $data['group']
+                               );
                        } else {
-                               // Modules with a foreign source pass five arguments (name, timestamp, dependencies, group, source)
-                               // to mw.loader.register()
-                               $registrations[] = array( $name, $mtime, $deps, $group, $source );
+                               // Modules with a foreign source;
+                               // call mw.loader.register(name, timestamp, dependencies, group, source)
+                               $registrations[] = array(
+                                       $name,
+                                       $data['version'],
+                                       $data['dependencies'],
+                                       $data['group'],
+                                       $data['source']
+                               );
                        }
                }
+
+               // Register modules
                $out .= ResourceLoader::makeLoaderRegisterScript( $registrations );
 
                wfProfileOut( __METHOD__ );
@@ -191,7 +228,7 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
         * This is a helper for getScript(), but can also be called standalone, such
         * as when generating an AppCache manifest.
         *
-        * @param $context ResourceLoaderContext
+        * @param ResourceLoaderContext $context
         * @return string
         */
        public static function getStartupModulesUrl( ResourceLoaderContext $context ) {
@@ -222,7 +259,7 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
        }
 
        /**
-        * @param $context ResourceLoaderContext
+        * @param ResourceLoaderContext $context
         * @return string
         */
        public function getScript( ResourceLoaderContext $context ) {
@@ -234,8 +271,9 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
                        // Startup function
                        $configuration = $this->getConfig( $context );
                        $registrations = self::getModuleRegistrations( $context );
-                       $registrations = str_replace( "\n", "\n\t", trim( $registrations ) ); // fix indentation
-                       $out .= "var startUp = function() {\n" .
+                       // Fix indentation
+                       $registrations = str_replace( "\n", "\n\t", trim( $registrations ) );
+                       $out .= "var startUp = function () {\n" .
                                "\tmw.config = new " . Xml::encodeJsCall( 'mw.Map', array( $wgLegacyJavaScriptGlobals ) ) . "\n" .
                                "\t$registrations\n" .
                                "\t" . Xml::encodeJsCall( 'mw.config.set', array( $configuration ) ) .
@@ -245,8 +283,7 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
                        $scriptTag = Html::linkedScript( self::getStartupModulesUrl( $context ) );
                        $out .= "if ( isCompatible() ) {\n" .
                                "\t" . Xml::encodeJsCall( 'document.write', array( $scriptTag ) ) .
-                               "}\n" .
-                               "delete isCompatible;";
+                               "}";
                }
 
                return $out;
@@ -260,7 +297,7 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
        }
 
        /**
-        * @param $context ResourceLoaderContext
+        * @param ResourceLoaderContext $context
         * @return array|mixed
         */
        public function getModifiedTime( ResourceLoaderContext $context ) {
@@ -276,20 +313,46 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
                $loader = $context->getResourceLoader();
                $loader->preloadModuleInfo( $loader->getModuleNames(), $context );
 
-               $this->modifiedTime[$hash] = filemtime( "$IP/resources/startup.js" );
-               // ATTENTION!: Because of the line above, this is not going to cause
+               $time = max(
+                       wfTimestamp( TS_UNIX, $wgCacheEpoch ),
+                       filemtime( "$IP/resources/startup.js" ),
+                       $this->getHashMtime( $context )
+               );
+
+               // ATTENTION!: Because of the line below, this is not going to cause
                // infinite recursion - think carefully before making changes to this
                // code!
-               $time = wfTimestamp( TS_UNIX, $wgCacheEpoch );
+               // Pre-populate modifiedTime with something because the the loop over
+               // all modules below includes the the startup module (this module).
+               $this->modifiedTime[$hash] = 1;
+
                foreach ( $loader->getModuleNames() as $name ) {
                        $module = $loader->getModule( $name );
                        $time = max( $time, $module->getModifiedTime( $context ) );
                }
+
                $this->modifiedTime[$hash] = $time;
                return $this->modifiedTime[$hash];
        }
 
-       /* Methods */
+       /**
+        * Hash of all dynamic data embedded in getScript().
+        *
+        * Detect changes to mw.config settings embedded in #getScript (bug 28899).
+        *
+        * @param $context ResourceLoaderContext
+        * @return string: Hash
+        */
+       public function getModifiedHash( ResourceLoaderContext $context ) {
+               global $wgLegacyJavaScriptGlobals;
+
+               $data = array(
+                       'vars' => $this->getConfig( $context ),
+                       'wgLegacyJavaScriptGlobals' => $wgLegacyJavaScriptGlobals,
+               );
+
+               return md5( serialize( $data ) );
+       }
 
        /**
         * @return string
index a96ade0..507a520 100644 (file)
@@ -35,7 +35,6 @@ class SearchEngine {
        var $prefix = '';
        var $searchTerms = array();
        var $namespaces = array( NS_MAIN );
-       var $showRedirects = false;
        protected $showSuggestion = true;
 
        /// Feature values
@@ -72,7 +71,6 @@ class SearchEngine {
         */
        public function supports( $feature ) {
                switch ( $feature ) {
-               case 'list-redirects':
                case 'search-update':
                        return true;
                case 'title-suffix-filter':
index 15b5f1c..d92c9c8 100644 (file)
@@ -50,20 +50,6 @@ class SearchMssql extends SearchDatabase {
                return new MssqlSearchResultSet( $resultSet, $this->searchTerms );
        }
 
-       /**
-        * Return a partial WHERE clause to exclude redirects, if so set
-        *
-        * @return String
-        * @private
-        */
-       function queryRedirect() {
-               if ( $this->showRedirects ) {
-                       return '';
-               } else {
-                       return 'AND page_is_redirect=0';
-               }
-       }
-
        /**
         * Return a partial WHERE clause to limit the search to the given namespaces
         *
@@ -109,7 +95,6 @@ class SearchMssql extends SearchDatabase {
         */
        function getQuery( $filteredTerm, $fulltext ) {
                return $this->queryLimit( $this->queryMain( $filteredTerm, $fulltext ) . ' ' .
-                       $this->queryRedirect() . ' ' .
                        $this->queryNamespaces() . ' ' .
                        $this->queryRanking( $filteredTerm, $fulltext ) . ' ' );
        }
index c3edf51..c4d7d1e 100644 (file)
@@ -218,9 +218,7 @@ class SearchMySQL extends SearchDatabase {
         */
        protected function queryFeatures( &$query ) {
                foreach ( $this->features as $feature => $value ) {
-                       if ( $feature === 'list-redirects' && !$value ) {
-                               $query['conds']['page_is_redirect'] = 0;
-                       } elseif ( $feature === 'title-suffix-filter' && $value ) {
+                       if ( $feature === 'title-suffix-filter' && $value ) {
                                $query['conds'][] = 'page_title' . $this->db->buildLike( $this->db->anyString(), $value );
                        }
                }
index 2603161..e14de2c 100644 (file)
@@ -89,18 +89,6 @@ class SearchOracle extends SearchDatabase {
                return new MySQLSearchResultSet( $resultSet, $this->searchTerms );
        }
 
-       /**
-        * Return a partial WHERE clause to exclude redirects, if so set
-        * @return String
-        */
-       function queryRedirect() {
-               if ( $this->showRedirects ) {
-                       return '';
-               } else {
-                       return 'AND page_is_redirect=0';
-               }
-       }
-
        /**
         * Return a partial WHERE clause to limit the search to the given namespaces
         * @return String
@@ -147,7 +135,6 @@ class SearchOracle extends SearchDatabase {
         */
        function getQuery( $filteredTerm, $fulltext ) {
                return $this->queryLimit( $this->queryMain( $filteredTerm, $fulltext ) . ' ' .
-                       $this->queryRedirect() . ' ' .
                        $this->queryNamespaces() . ' ' .
                        $this->queryRanking( $filteredTerm, $fulltext ) . ' ' );
        }
index 142e5fd..4da63b3 100644 (file)
@@ -168,11 +168,6 @@ class SearchPostgres extends SearchDatabase {
                        "AND r.rev_text_id = c.old_id AND $fulltext @@ to_tsquery($searchstring)";
                }
 
-               ## Redirects
-               if ( !$this->showRedirects ) {
-                       $query .= ' AND page_is_redirect = 0';
-               }
-
                ## Namespaces - defaults to 0
                if ( !is_null( $this->namespaces ) ) { // null -> search all
                        if ( count( $this->namespaces ) < 1 ) {
index 3c6c8d0..e689389 100644 (file)
@@ -88,16 +88,6 @@ class SearchResultSet {
                return '';
        }
 
-       /**
-        * Return information about how and from where the results were fetched,
-        * should be useful for diagnostics and debugging
-        *
-        * @return String
-        */
-       function getInfo() {
-               return null;
-       }
-
        /**
         * Return a result set of hits on other (multiple) wikis associated with this one
         *
index ebff68e..6b2b3c6 100644 (file)
@@ -184,18 +184,6 @@ class SearchSqlite extends SearchDatabase {
                return new SqliteSearchResultSet( $resultSet, $this->searchTerms, $total );
        }
 
-       /**
-        * Return a partial WHERE clause to exclude redirects, if so set
-        * @return String
-        */
-       function queryRedirect() {
-               if ( $this->showRedirects ) {
-                       return '';
-               } else {
-                       return 'AND page_is_redirect=0';
-               }
-       }
-
        /**
         * Return a partial WHERE clause to limit the search to the given namespaces
         * @return String
@@ -231,7 +219,6 @@ class SearchSqlite extends SearchDatabase {
        function getQuery( $filteredTerm, $fulltext ) {
                return $this->limitResult(
                        $this->queryMain( $filteredTerm, $fulltext ) . ' ' .
-                       $this->queryRedirect() . ' ' .
                        $this->queryNamespaces()
                );
        }
@@ -267,8 +254,7 @@ class SearchSqlite extends SearchDatabase {
                $searchindex = $this->db->tableName( 'searchindex' );
                return "SELECT COUNT(*) AS c " .
                        "FROM $page,$searchindex " .
-                       "WHERE page_id=$searchindex.rowid AND $match" .
-                       $this->queryRedirect() . ' ' .
+                       "WHERE page_id=$searchindex.rowid AND $match " .
                        $this->queryNamespaces();
        }
 
index 888829a..14ac401 100644 (file)
@@ -80,6 +80,7 @@ abstract class ChangesListSpecialPage extends SpecialPage {
        public function getRows() {
                $opts = $this->getOptions();
                $conds = $this->buildMainQueryConds( $opts );
+
                return $this->doMainQuery( $conds, $opts );
        }
 
@@ -164,6 +165,7 @@ abstract class ChangesListSpecialPage extends SpecialPage {
         */
        protected function fetchOptionsFromRequest( $opts ) {
                $opts->fetchValuesFromRequest( $this->getRequest() );
+
                return $opts;
        }
 
@@ -293,6 +295,7 @@ abstract class ChangesListSpecialPage extends SpecialPage {
                // }
 
                $dbr = $this->getDB();
+
                return $dbr->select(
                        $tables,
                        $fields,
index eb8557a..3fbb0e5 100644 (file)
@@ -27,7 +27,6 @@
  * @ingroup SpecialPage
  */
 abstract class RedirectSpecialPage extends UnlistedSpecialPage {
-
        // Query parameters that can be passed through redirects
        protected $mAllowedRedirectParams = array();
 
@@ -41,11 +40,13 @@ abstract class RedirectSpecialPage extends UnlistedSpecialPage {
                if ( $redirect instanceof Title ) {
                        $url = $redirect->getFullURL( $query );
                        $this->getOutput()->redirect( $url );
+
                        return $redirect;
                } elseif ( $redirect === true ) {
                        // Redirect to index.php with query parameters
                        $url = wfAppendQuery( wfScript( 'index' ), $query );
                        $this->getOutput()->redirect( $url );
+
                        return $redirect;
                } else {
                        $class = get_class( $this );
@@ -91,8 +92,11 @@ abstract class RedirectSpecialPage extends UnlistedSpecialPage {
  * @ingroup SpecialPage
  */
 abstract class SpecialRedirectToSpecial extends RedirectSpecialPage {
-       // @todo FIXME: Visibility must be declared
-       var $redirName, $redirSubpage;
+       /** @var string Name of redirect target */
+       protected $redirName;
+
+       /** @var string Name of subpage of redirect target */
+       protected $redirSubpage;
 
        function __construct(
                $name, $redirName, $redirSubpage = false,
@@ -171,12 +175,12 @@ abstract class SpecialRedirectToSpecial extends RedirectSpecialPage {
  *
  * @par Hook extension example:
  * @code
- *     $wgHooks['RedirectSpecialArticleRedirectParams'][] =
- *             'MyExtensionHooks::onRedirectSpecialArticleRedirectParams';
- *     public static function onRedirectSpecialArticleRedirectParams( &$redirectParams ) {
- *             $redirectParams[] = 'stable';
- *             return true;
- *     }
+ *    $wgHooks['RedirectSpecialArticleRedirectParams'][] =
+ *        'MyExtensionHooks::onRedirectSpecialArticleRedirectParams';
+ *    public static function onRedirectSpecialArticleRedirectParams( &$redirectParams ) {
+ *        $redirectParams[] = 'stable';
+ *        return true;
+ *    }
  * @endcode
  *
  * @ingroup SpecialPage
index 91a2de2..d9340b4 100644 (file)
@@ -74,6 +74,7 @@ class SpecialPage {
         */
        public static function getTitleFor( $name, $subpage = false, $fragment = '' ) {
                $name = SpecialPageFactory::getLocalNameFor( $name, $subpage );
+
                return Title::makeTitle( NS_SPECIAL, $name, $fragment );
        }
 
@@ -157,6 +158,7 @@ class SpecialPage {
         */
        function getFile() {
                wfDeprecated( __METHOD__, '1.18' );
+
                return $this->mFile;
        }
 
@@ -215,6 +217,7 @@ class SpecialPage {
                if ( !isset( $this->mLocalName ) ) {
                        $this->mLocalName = SpecialPageFactory::getLocalNameFor( $this->mName );
                }
+
                return $this->mLocalName;
        }
 
@@ -350,7 +353,7 @@ class SpecialPage {
        function setHeaders() {
                $out = $this->getOutput();
                $out->setArticleRelated( false );
-               $out->setRobotPolicy( "noindex,nofollow" );
+               $out->setRobotPolicy( $this->getRobotPolicy() );
                $out->setPageTitle( $this->getDescription() );
        }
 
@@ -450,7 +453,6 @@ class SpecialPage {
                        $this->getOutput()->wrapWikiMsg(
                                "<div class='mw-specialpage-summary'>\n$1\n</div>", $msg );
                }
-
        }
 
        /**
@@ -475,6 +477,7 @@ class SpecialPage {
         */
        function getTitle( $subpage = false ) {
                wfDeprecated( __METHOD__, '1.23' );
+
                return $this->getPageTitle( $subpage );
        }
 
@@ -511,6 +514,7 @@ class SpecialPage {
                } else {
                        wfDebug( __METHOD__ . " called and \$mContext is null. " .
                                "Return RequestContext::getMain(); for sanity\n" );
+
                        return RequestContext::getMain();
                }
        }
@@ -564,6 +568,7 @@ class SpecialPage {
         */
        public function getLang() {
                wfDeprecated( __METHOD__, '1.19' );
+
                return $this->getLanguage();
        }
 
@@ -587,6 +592,17 @@ class SpecialPage {
                return $this->getContext()->getTitle();
        }
 
+       /**
+        * Return the robot policy. Derived classes that override this can change
+        * the robot policy set by setHeaders() from the default 'noindex,nofollow'.
+        *
+        * @return string
+        * @since 1.23
+        */
+       protected function getRobotPolicy() {
+               return 'noindex,nofollow';
+       }
+
        /**
         * Wrapper around wfMessage that sets the current context.
         *
@@ -605,6 +621,7 @@ class SpecialPage {
                if ( $this->including() ) {
                        $message->setInterfaceMessageFlag( false );
                }
+
                return $message;
        }
 
index c6735e6..15a71ff 100644 (file)
@@ -49,125 +49,127 @@ class SpecialPageFactory {
         */
        private static $list = array(
                // Maintenance Reports
-               'BrokenRedirects'           => 'BrokenRedirectsPage',
-               'Deadendpages'              => 'DeadendpagesPage',
-               'DoubleRedirects'           => 'DoubleRedirectsPage',
-               'Longpages'                 => 'LongpagesPage',
-               'Ancientpages'              => 'AncientpagesPage',
-               'Lonelypages'               => 'LonelypagesPage',
-               'Fewestrevisions'           => 'FewestrevisionsPage',
-               'Withoutinterwiki'          => 'WithoutinterwikiPage',
-               'Protectedpages'            => 'SpecialProtectedpages',
-               'Protectedtitles'           => 'SpecialProtectedtitles',
-               'Shortpages'                => 'ShortpagesPage',
-               'Uncategorizedcategories'   => 'UncategorizedcategoriesPage',
-               'Uncategorizedimages'       => 'UncategorizedimagesPage',
-               'Uncategorizedpages'        => 'UncategorizedpagesPage',
-               'Uncategorizedtemplates'    => 'UncategorizedtemplatesPage',
-               'Unusedcategories'          => 'UnusedcategoriesPage',
-               'Unusedimages'              => 'UnusedimagesPage',
-               'Unusedtemplates'           => 'UnusedtemplatesPage',
-               'Unwatchedpages'            => 'UnwatchedpagesPage',
-               'Wantedcategories'          => 'WantedcategoriesPage',
-               'Wantedfiles'               => 'WantedfilesPage',
-               'Wantedpages'               => 'WantedpagesPage',
-               'Wantedtemplates'           => 'WantedtemplatesPage',
+               'BrokenRedirects' => 'BrokenRedirectsPage',
+               'Deadendpages' => 'DeadendPagesPage',
+               'DoubleRedirects' => 'DoubleRedirectsPage',
+               'Longpages' => 'LongPagesPage',
+               'Ancientpages' => 'AncientPagesPage',
+               'Lonelypages' => 'LonelyPagesPage',
+               'Fewestrevisions' => 'FewestrevisionsPage',
+               'Withoutinterwiki' => 'WithoutInterwikiPage',
+               'Protectedpages' => 'SpecialProtectedpages',
+               'Protectedtitles' => 'SpecialProtectedtitles',
+               'Shortpages' => 'ShortpagesPage',
+               'Uncategorizedcategories' => 'UncategorizedCategoriesPage',
+               'Uncategorizedimages' => 'UncategorizedImagesPage',
+               'Uncategorizedpages' => 'UncategorizedPagesPage',
+               'Uncategorizedtemplates' => 'UncategorizedTemplatesPage',
+               'Unusedcategories' => 'UnusedCategoriesPage',
+               'Unusedimages' => 'UnusedimagesPage',
+               'Unusedtemplates' => 'UnusedtemplatesPage',
+               'Unwatchedpages' => 'UnwatchedpagesPage',
+               'Wantedcategories' => 'WantedCategoriesPage',
+               'Wantedfiles' => 'WantedFilesPage',
+               'Wantedpages' => 'WantedPagesPage',
+               'Wantedtemplates' => 'WantedTemplatesPage',
 
                // List of pages
-               'Allpages'                  => 'SpecialAllpages',
-               'Prefixindex'               => 'SpecialPrefixindex',
-               'Categories'                => 'SpecialCategories',
-               'Listredirects'             => 'ListredirectsPage',
-               'PagesWithProp'             => 'SpecialPagesWithProp',
+               'Allpages' => 'SpecialAllpages',
+               'Prefixindex' => 'SpecialPrefixindex',
+               'Categories' => 'SpecialCategories',
+               'Listredirects' => 'ListredirectsPage',
+               'PagesWithProp' => 'SpecialPagesWithProp',
+               'TrackingCategories' => 'SpecialTrackingCategories',
 
                // Login/create account
-               'Userlogin'                 => 'LoginForm',
-               'CreateAccount'             => 'SpecialCreateAccount',
+               'Userlogin' => 'LoginForm',
+               'CreateAccount' => 'SpecialCreateAccount',
 
                // Users and rights
-               'Block'                     => 'SpecialBlock',
-               'Unblock'                   => 'SpecialUnblock',
-               'BlockList'                 => 'SpecialBlockList',
-               'ChangePassword'            => 'SpecialChangePassword',
-               'PasswordReset'             => 'SpecialPasswordReset',
-               'DeletedContributions'      => 'DeletedContributionsPage',
-               'Preferences'               => 'SpecialPreferences',
-               'ResetTokens'               => 'SpecialResetTokens',
-               'Contributions'             => 'SpecialContributions',
-               'Listgrouprights'           => 'SpecialListGroupRights',
-               'Listusers'                 => 'SpecialListUsers',
-               'Listadmins'                => 'SpecialListAdmins',
-               'Listbots'                  => 'SpecialListBots',
-               'Userrights'                => 'UserrightsPage',
-               'EditWatchlist'             => 'SpecialEditWatchlist',
+               'Block' => 'SpecialBlock',
+               'Unblock' => 'SpecialUnblock',
+               'BlockList' => 'SpecialBlockList',
+               'ChangePassword' => 'SpecialChangePassword',
+               'PasswordReset' => 'SpecialPasswordReset',
+               'DeletedContributions' => 'DeletedContributionsPage',
+               'Preferences' => 'SpecialPreferences',
+               'ResetTokens' => 'SpecialResetTokens',
+               'Contributions' => 'SpecialContributions',
+               'Listgrouprights' => 'SpecialListGroupRights',
+               'Listusers' => 'SpecialListUsers',
+               'Listadmins' => 'SpecialListAdmins',
+               'Listbots' => 'SpecialListBots',
+               'Userrights' => 'UserrightsPage',
+               'EditWatchlist' => 'SpecialEditWatchlist',
 
                // Recent changes and logs
-               'Newimages'                 => 'SpecialNewFiles',
-               'Log'                       => 'SpecialLog',
-               'Watchlist'                 => 'SpecialWatchlist',
-               'Newpages'                  => 'SpecialNewpages',
-               'Recentchanges'             => 'SpecialRecentChanges',
-               'Recentchangeslinked'       => 'SpecialRecentChangesLinked',
-               'Tags'                      => 'SpecialTags',
+               'Newimages' => 'SpecialNewFiles',
+               'Log' => 'SpecialLog',
+               'Watchlist' => 'SpecialWatchlist',
+               'Newpages' => 'SpecialNewpages',
+               'Recentchanges' => 'SpecialRecentChanges',
+               'Recentchangeslinked' => 'SpecialRecentChangesLinked',
+               'Tags' => 'SpecialTags',
 
                // Media reports and uploads
-               'Listfiles'                 => 'SpecialListFiles',
-               'Filepath'                  => 'SpecialFilepath',
-               'MIMEsearch'                => 'MIMEsearchPage',
-               'FileDuplicateSearch'       => 'FileDuplicateSearchPage',
-               'Upload'                    => 'SpecialUpload',
-               'UploadStash'               => 'SpecialUploadStash',
+               'Listfiles' => 'SpecialListFiles',
+               'Filepath' => 'SpecialFilepath',
+               'MIMEsearch' => 'MIMEsearchPage',
+               'FileDuplicateSearch' => 'FileDuplicateSearchPage',
+               'Upload' => 'SpecialUpload',
+               'UploadStash' => 'SpecialUploadStash',
+               'ListDuplicatedFiles' => 'ListDuplicatedFilesPage',
 
                // Data and tools
-               'Statistics'                => 'SpecialStatistics',
-               'Allmessages'               => 'SpecialAllmessages',
-               'Version'                   => 'SpecialVersion',
-               'Lockdb'                    => 'SpecialLockdb',
-               'Unlockdb'                  => 'SpecialUnlockdb',
+               'Statistics' => 'SpecialStatistics',
+               'Allmessages' => 'SpecialAllmessages',
+               'Version' => 'SpecialVersion',
+               'Lockdb' => 'SpecialLockdb',
+               'Unlockdb' => 'SpecialUnlockdb',
 
                // Redirecting special pages
-               'LinkSearch'                => 'LinkSearchPage',
-               'Randompage'                => 'Randompage',
-               'RandomInCategory'          => 'SpecialRandomInCategory',
-               'Randomredirect'            => 'SpecialRandomredirect',
+               'LinkSearch' => 'LinkSearchPage',
+               'Randompage' => 'RandomPage',
+               'RandomInCategory' => 'SpecialRandomInCategory',
+               'Randomredirect' => 'SpecialRandomredirect',
 
                // High use pages
-               'Mostlinkedcategories'      => 'MostlinkedCategoriesPage',
-               'Mostimages'                => 'MostimagesPage',
-               'Mostinterwikis'            => 'MostinterwikisPage',
-               'Mostlinked'                => 'MostlinkedPage',
-               'Mostlinkedtemplates'       => 'MostlinkedTemplatesPage',
-               'Mostcategories'            => 'MostcategoriesPage',
-               'Mostrevisions'             => 'MostrevisionsPage',
+               'Mostlinkedcategories' => 'MostlinkedCategoriesPage',
+               'Mostimages' => 'MostimagesPage',
+               'Mostinterwikis' => 'MostinterwikisPage',
+               'Mostlinked' => 'MostlinkedPage',
+               'Mostlinkedtemplates' => 'MostlinkedTemplatesPage',
+               'Mostcategories' => 'MostcategoriesPage',
+               'Mostrevisions' => 'MostrevisionsPage',
 
                // Page tools
-               'ComparePages'              => 'SpecialComparePages',
-               'Export'                    => 'SpecialExport',
-               'Import'                    => 'SpecialImport',
-               'Undelete'                  => 'SpecialUndelete',
-               'Whatlinkshere'             => 'SpecialWhatlinkshere',
-               'MergeHistory'              => 'SpecialMergeHistory',
-               'ExpandTemplates'           => 'SpecialExpandTemplates',
+               'ComparePages' => 'SpecialComparePages',
+               'Export' => 'SpecialExport',
+               'Import' => 'SpecialImport',
+               'Undelete' => 'SpecialUndelete',
+               'Whatlinkshere' => 'SpecialWhatLinksHere',
+               'MergeHistory' => 'SpecialMergeHistory',
+               'ExpandTemplates' => 'SpecialExpandTemplates',
 
                // Other
-               'Booksources'               => 'SpecialBookSources',
+               'Booksources' => 'SpecialBookSources',
 
                // Unlisted / redirects
-               'Blankpage'                 => 'SpecialBlankpage',
-               'Diff'                      => 'SpecialDiff',
-               'Emailuser'                 => 'SpecialEmailUser',
-               'Movepage'                  => 'MovePageForm',
-               'Mycontributions'           => 'SpecialMycontributions',
-               'Mypage'                    => 'SpecialMypage',
-               'Mytalk'                    => 'SpecialMytalk',
-               'Myuploads'                 => 'SpecialMyuploads',
-               'AllMyUploads'              => 'SpecialAllMyUploads',
-               'PermanentLink'             => 'SpecialPermanentLink',
-               'Redirect'                  => 'SpecialRedirect',
-               'Revisiondelete'            => 'SpecialRevisionDelete',
-               'RunJobs'                   => 'SpecialRunJobs',
-               'Specialpages'              => 'SpecialSpecialpages',
-               'Userlogout'                => 'SpecialUserlogout',
+               'Blankpage' => 'SpecialBlankpage',
+               'Diff' => 'SpecialDiff',
+               'Emailuser' => 'SpecialEmailUser',
+               'Movepage' => 'MovePageForm',
+               'Mycontributions' => 'SpecialMycontributions',
+               'Mypage' => 'SpecialMypage',
+               'Mytalk' => 'SpecialMytalk',
+               'Myuploads' => 'SpecialMyuploads',
+               'AllMyUploads' => 'SpecialAllMyUploads',
+               'PermanentLink' => 'SpecialPermanentLink',
+               'Redirect' => 'SpecialRedirect',
+               'Revisiondelete' => 'SpecialRevisionDelete',
+               'RunJobs' => 'SpecialRunJobs',
+               'Specialpages' => 'SpecialSpecialpages',
+               'Userlogout' => 'SpecialUserlogout',
        );
 
        private static $aliases;
@@ -186,7 +188,7 @@ class SpecialPageFactory {
                        wfProfileIn( __METHOD__ );
 
                        if ( !$wgDisableCounters ) {
-                               self::$list['Popularpages'] = 'PopularpagesPage';
+                               self::$list['Popularpages'] = 'PopularPagesPage';
                        }
 
                        if ( !$wgDisableInternalSearch ) {
@@ -220,6 +222,7 @@ class SpecialPageFactory {
 
                        wfProfileOut( __METHOD__ );
                }
+
                return self::$list;
        }
 
@@ -253,6 +256,7 @@ class SpecialPageFactory {
                        // Cast to object: func()[$key] doesn't work, but func()->$key does
                        self::$aliases = (object)self::$aliases;
                }
+
                return self::$aliases;
        }
 
@@ -321,6 +325,7 @@ class SpecialPageFactory {
         */
        public static function exists( $name ) {
                list( $title, /*...*/ ) = self::resolveAlias( $name );
+
                return property_exists( self::getList(), $title );
        }
 
@@ -336,13 +341,16 @@ class SpecialPageFactory {
                        $rec = self::getList()->$realName;
                        if ( is_string( $rec ) ) {
                                $className = $rec;
+
                                return new $className;
                        } elseif ( is_array( $rec ) ) {
                                // @deprecated, officially since 1.18, unofficially since forever
-                               wfDebug( "Array syntax for \$wgSpecialPages is deprecated, define a subclass of SpecialPage instead." );
+                               wfDebug( "Array syntax for \$wgSpecialPages is deprecated, " .
+                                       "define a subclass of SpecialPage instead." );
                                $className = array_shift( $rec );
                                self::getList()->$realName = MWFunction::newObj( $className, $rec );
                        }
+
                        return self::getList()->$realName;
                } else {
                        return null;
@@ -374,6 +382,7 @@ class SpecialPageFactory {
                                }
                        }
                }
+
                return $pages;
        }
 
@@ -390,6 +399,7 @@ class SpecialPageFactory {
                                $pages[$name] = $page;
                        }
                }
+
                return $pages;
        }
 
@@ -412,6 +422,7 @@ class SpecialPageFactory {
                                $pages[$name] = $page;
                        }
                }
+
                return $pages;
        }
 
@@ -453,6 +464,7 @@ class SpecialPageFactory {
 
                        $context->getOutput()->showErrorPage( 'nosuchspecialpage', 'nospecialpagetext' );
                        wfProfileOut( __METHOD__ );
+
                        return false;
                }
 
@@ -472,13 +484,14 @@ class SpecialPageFactory {
                                $url = $title->getFullURL( $query );
                                $context->getOutput()->redirect( $url );
                                wfProfileOut( __METHOD__ );
+
                                return $title;
                        } else {
                                $context->setTitle( $page->getPageTitle( $par ) );
                        }
-
                } elseif ( !$page->isIncludable() ) {
                        wfProfileOut( __METHOD__ );
+
                        return false;
                }
 
@@ -490,6 +503,7 @@ class SpecialPageFactory {
                $page->run( $par );
                wfProfileOut( $profName );
                wfProfileOut( __METHOD__ );
+
                return true;
        }
 
@@ -570,6 +584,7 @@ class SpecialPageFactory {
                if ( $subpage !== false && !is_null( $subpage ) ) {
                        $name = "$name/$subpage";
                }
+
                return $wgContLang->ucfirst( $name );
        }
 
index 641c046..dd6bec2 100644 (file)
@@ -242,7 +242,7 @@ class SpecialActiveUsers extends SpecialPage {
                        array( 'activeusers-intro', $this->getLanguage()->formatNum( $wgActiveUserDays ) ) );
 
                // Occasionally merge in new updates
-               $seconds = self::mergeActiveUsers( 600 );
+               $seconds = min( self::mergeActiveUsers( 600 ), $wgActiveUserDays * 86400 );
                // Mention the level of staleness
                $out->addWikiMsg( 'cachedspecial-viewing-cached-ttl',
                        $this->getLanguage()->formatDuration( $seconds ) );
@@ -283,9 +283,15 @@ class SpecialActiveUsers extends SpecialPage {
                if ( !wfReadOnly() ) {
                        if ( !$cTime || ( time() - wfTimestamp( TS_UNIX, $cTime ) ) > $period ) {
                                $dbw = wfGetDB( DB_MASTER );
-                               self::doQueryCacheUpdate( $dbw, 2 * $period );
+                               if ( $dbw->estimateRowCount( 'recentchanges' ) <= 10000 ) {
+                                       $window = $wgActiveUserDays * 86400; // small wiki
+                               } else {
+                                       $window = $period * 2;
+                               }
+                               self::doQueryCacheUpdate( $dbw, $window );
                        }
                }
+
                return ( time() -
                        ( $cTime ? wfTimestamp( TS_UNIX, $cTime ) : $wgActiveUserDays * 86400 ) );
        }
@@ -378,7 +384,7 @@ class SpecialActiveUsers extends SpecialPage {
                        $newRows = array();
                        foreach ( $names as $name => $lastEditTime ) {
                                $newRows[] = array(
-                                       'qcc_type'  => 'activeusers',
+                                       'qcc_type' => 'activeusers',
                                        'qcc_namespace' => NS_USER,
                                        'qcc_title' => $name,
                                        'qcc_value' => wfTimestamp( TS_UNIX, $lastEditTime ),
index 71bb27a..6cef130 100644 (file)
@@ -352,7 +352,7 @@ class AllmessagesTablePager extends TablePager {
                                                'grouppath' => 'mediawiki',
                                                'query' => 'language:' . $this->getLanguage()->getCode() . '^25 ' .
                                                        'messageid:"MediaWiki:' . $value . '"^10 "' .
-                                                       $this->msg ( $value )->inLanguage ( 'en' )->plain() . '"'
+                                                       $this->msg( $value )->inLanguage( 'en' )->plain() . '"'
                                        ) ),
                                        $this->msg( 'allmessages-filter-translate' )->text()
                                );
index 1e2d557..97e7238 100644 (file)
@@ -216,6 +216,7 @@ class SpecialAllpages extends IncludableSpecialPage {
                // since generating it will cause a lot of scanning
                if ( $count > $this->maxTopLevelPages ) {
                        $this->showChunk( $namespace, $from, $to, $hideredirects );
+
                        return;
                }
 
index d19968f..79636b1 100644 (file)
@@ -125,6 +125,7 @@ class SpecialBookSources extends SpecialPage {
                $form .= '&#160;' . Xml::submitButton( $this->msg( 'booksources-go' )->text() ) . "</p>\n";
                $form .= Html::closeElement( 'form' ) . "\n";
                $form .= Html::closeElement( 'fieldset' ) . "\n";
+
                return $form;
        }
 
index d01bfd7..734544d 100644 (file)
  */
 class SpecialCategories extends SpecialPage {
 
-       function __construct() {
+       /**
+        * @var PageLinkRenderer
+        */
+       protected $linkRenderer = null;
+
+       public function __construct() {
                parent::__construct( 'Categories' );
+
+               // Since we don't control the constructor parameters, we can't inject services that way.
+               // Instead, we initialize services in the execute() method, and allow them to be overridden
+               // using the initServices() method.
+       }
+
+       /**
+        * Initialize or override the PageLinkRenderer SpecialCategories collaborates with.
+        * Useful mainly for testing.
+        *
+        * @todo: the pager should also be injected, and de-coupled from the rendering logic.
+        *
+        * @param PageLinkRenderer $linkRenderer
+        */
+       public function setPageLinkRenderer(
+               PageLinkRenderer $linkRenderer
+       ) {
+               $this->linkRenderer = $linkRenderer;
+       }
+
+       /**
+        * Initialize any services we'll need (unless it has already been provided via a setter).
+        * This allows for dependency injection even though we don't control object creation.
+        */
+       private function initServices() {
+               if ( !$this->linkRenderer ) {
+                       $lang = $this->getContext()->getLanguage();
+                       $titleFormatter = new MediaWikiTitleCodec( $lang, GenderCache::singleton() );
+                       $this->linkRenderer = new MediaWikiPageLinkRenderer( $titleFormatter );
+               }
        }
 
-       function execute( $par ) {
+       public function execute( $par ) {
+               $this->initServices();
+
                $this->setHeaders();
                $this->outputHeader();
                $this->getOutput()->allowClickjacking();
 
                $from = $this->getRequest()->getText( 'from', $par );
 
-               $cap = new CategoryPager( $this->getContext(), $from );
+               $cap = new CategoryPager( $this->getContext(), $from, $this->linkRenderer );
                $cap->doQuery();
 
                $this->getOutput()->addHTML(
@@ -63,7 +100,19 @@ class SpecialCategories extends SpecialPage {
  * @ingroup SpecialPage Pager
  */
 class CategoryPager extends AlphabeticPager {
-       function __construct( IContextSource $context, $from ) {
+
+       /**
+        * @var PageLinkRenderer
+        */
+       protected $linkRenderer;
+
+       /**
+        * @param IContextSource $context
+        * @param string $from
+        * @param PageLinkRenderer $linkRenderer
+        */
+       public function __construct( IContextSource $context, $from, PageLinkRenderer $linkRenderer
+       ) {
                parent::__construct( $context );
                $from = str_replace( ' ', '_', $from );
                if ( $from !== '' ) {
@@ -71,6 +120,8 @@ class CategoryPager extends AlphabeticPager {
                        $this->setOffset( $from );
                        $this->setIncludeOffset( true );
                }
+
+               $this->linkRenderer = $linkRenderer;
        }
 
        function getQueryInfo() {
@@ -120,11 +171,12 @@ class CategoryPager extends AlphabeticPager {
        }
 
        function formatRow( $result ) {
-               $title = Title::makeTitle( NS_CATEGORY, $result->cat_title );
-               $titleText = Linker::link( $title, htmlspecialchars( $title->getText() ) );
-               $count = $this->msg( 'nmembers' )->numParams( $result->cat_pages )->escaped();
+               $title = new TitleValue( NS_CATEGORY, $result->cat_title );
+               $text = $title->getText();
+               $link = $this->linkRenderer->renderHtmlLink( $title, $text );
 
-               return Xml::tags( 'li', null, $this->getLanguage()->specialList( $titleText, $count ) ) . "\n";
+               $count = $this->msg( 'nmembers' )->numParams( $result->cat_pages )->escaped();
+               return Html::rawElement( 'li', null, $this->getLanguage()->specialList( $link, $count ) ) . "\n";
        }
 
        public function getStartForm( $from ) {
index 2bd14c7..91d0404 100644 (file)
@@ -107,6 +107,17 @@ class SpecialChangePassword extends FormSpecialPage {
                        ),
                );
 
+               if ( !$this->getUser()->isLoggedIn() ) {
+                       if ( !LoginForm::getLoginToken() ) {
+                               LoginForm::setLoginToken();
+                       }
+                       $fields['LoginOnChangeToken'] = array(
+                               'type' => 'hidden',
+                               'label' => 'Change Password Token',
+                               'default' => LoginForm::getLoginToken(),
+                       );
+               }
+
                $extraFields = array();
                wfRunHooks( 'ChangePasswordForm', array( &$extraFields ) );
                foreach ( $extraFields as $extra ) {
@@ -160,6 +171,14 @@ class SpecialChangePassword extends FormSpecialPage {
                        return false;
                }
 
+               if ( !$this->getUser()->isLoggedIn()
+                       && $request->getVal( 'wpLoginOnChangeToken' ) !== LoginForm::getLoginToken()
+               ) {
+                       // Potential CSRF (bug 62497)
+                       return false;
+               }
+
+
                if ( $request->getCheck( 'wpCancel' ) ) {
                        $titleObj = Title::newFromText( $request->getVal( 'returnto' ) );
                        if ( !$titleObj instanceof Title ) {
@@ -167,6 +186,7 @@ class SpecialChangePassword extends FormSpecialPage {
                        }
                        $query = $request->getVal( 'returntoquery' );
                        $this->getOutput()->redirect( $titleObj->getFullURL( $query ) );
+
                        return true;
                }
 
index 3642750..af4f852 100644 (file)
@@ -26,7 +26,6 @@
  *
  * @ingroup SpecialPage
  */
-
 class SpecialContributions extends IncludableSpecialPage {
        protected $opts;
 
@@ -66,6 +65,7 @@ class SpecialContributions extends IncludableSpecialPage {
                        if ( !$this->including() ) {
                                $out->addHTML( $this->getForm() );
                        }
+
                        return;
                }
 
@@ -951,8 +951,12 @@ class ContribsPager extends ReverseChronologicalPager {
                 * to extensions to subscribe to the hook to parse the row.
                 */
                wfSuppressWarnings();
-               $rev = new Revision( $row );
-               $validRevision = (bool)$rev->getId();
+               try {
+                       $rev = new Revision( $row );
+                       $validRevision = (bool)$rev->getId();
+               } catch ( MWException $e ) {
+                       $validRevision = false;
+               }
                wfRestoreWarnings();
 
                if ( $validRevision ) {
index 63d4ec9..d781e6d 100644 (file)
@@ -27,7 +27,6 @@
  *
  * @ingroup SpecialPage
  */
-
 class SpecialCreateAccount extends SpecialRedirectToSpecial {
        function __construct() {
                parent::__construct( 'CreateAccount', 'Userlogin', 'signup', array( 'returnto', 'returntoquery', 'uselang' ) );
index 6c3cb95..3115215 100644 (file)
@@ -276,7 +276,7 @@ class DeletedContribsPager extends IndexPager {
 class DeletedContributionsPage extends SpecialPage {
        function __construct() {
                parent::__construct( 'DeletedContributions', 'deletedhistory',
-               /*listed*/true, /*function*/false, /*file*/false );
+                       /*listed*/true, /*function*/false, /*file*/false );
        }
 
        /**
index 98d5fea..68e8703 100644 (file)
@@ -162,14 +162,14 @@ class SpecialEditWatchlist extends UnlistedSpecialPage {
                        }
 
                        if ( count( $toWatch ) > 0 ) {
-                               $this->successMessage .= ' ' . $this->msg( 'watchlistedit-raw-added'
-                               )->numParams( count( $toWatch ) )->parse();
+                               $this->successMessage .= ' ' . $this->msg( 'watchlistedit-raw-added' )
+                                       ->numParams( count( $toWatch ) )->parse();
                                $this->showTitles( $toWatch, $this->successMessage );
                        }
 
                        if ( count( $toUnwatch ) > 0 ) {
-                               $this->successMessage .= ' ' . $this->msg( 'watchlistedit-raw-removed'
-                               )->numParams( count( $toUnwatch ) )->parse();
+                               $this->successMessage .= ' ' . $this->msg( 'watchlistedit-raw-removed' )
+                                       ->numParams( count( $toUnwatch ) )->parse();
                                $this->showTitles( $toUnwatch, $this->successMessage );
                        }
                } else {
index 7241105..61925cf 100644 (file)
@@ -125,9 +125,7 @@ class SpecialExpandTemplates extends SpecialPage {
                        }
 
                        $this->showHtmlPreview( $title, $rawhtml, $out );
-
                }
-
        }
 
        /**
index e7ced52..eb1c139 100644 (file)
@@ -36,6 +36,7 @@ class SpecialFilepath extends RedirectSpecialPage {
        // implement by redirecting through Special:Redirect/file
        function getRedirect( $par ) {
                $file = $par ?: $this->getRequest()->getText( 'file' );
+
                return SpecialPage::getSafeTitleFor( 'Redirect', 'file/' . $file );
        }
 
index 0b5b825..5995347 100644 (file)
  * @ingroup SpecialPage
  */
 class LinkSearchPage extends QueryPage {
+
+       /**
+        * @var PageLinkRenderer
+        */
+       protected $linkRenderer = null;
+
        function setParams( $params ) {
                $this->mQuery = $params['query'];
                $this->mNs = $params['namespace'];
@@ -35,6 +41,36 @@ class LinkSearchPage extends QueryPage {
 
        function __construct( $name = 'LinkSearch' ) {
                parent::__construct( $name );
+
+               // Since we don't control the constructor parameters, we can't inject services that way.
+               // Instead, we initialize services in the execute() method, and allow them to be overridden
+               // using the setServices() method.
+       }
+
+       /**
+        * Initialize or override the PageLinkRenderer LinkSearchPage collaborates with.
+        * Useful mainly for testing.
+        *
+        * @todo: query logic and rendering logic should be split and also injected
+        *
+        * @param PageLinkRenderer $linkRenderer
+        */
+       public function setPageLinkRenderer(
+               PageLinkRenderer $linkRenderer
+       ) {
+               $this->linkRenderer = $linkRenderer;
+       }
+
+       /**
+        * Initialize any services we'll need (unless it has already been provided via a setter).
+        * This allows for dependency injection even though we don't control object creation.
+        */
+       private function initServices() {
+               if ( !$this->linkRenderer ) {
+                       $lang = $this->getContext()->getLanguage();
+                       $titleFormatter = new MediaWikiTitleCodec( $lang, GenderCache::singleton() );
+                       $this->linkRenderer = new MediaWikiPageLinkRenderer( $titleFormatter );
+               }
        }
 
        function isCacheable() {
@@ -44,6 +80,8 @@ class LinkSearchPage extends QueryPage {
        function execute( $par ) {
                global $wgUrlProtocols, $wgMiserMode, $wgScript;
 
+               $this->initServices();
+
                $this->setHeaders();
                $this->outputHeader();
 
@@ -219,9 +257,10 @@ class LinkSearchPage extends QueryPage {
         * @return string
         */
        function formatResult( $skin, $result ) {
-               $title = Title::makeTitle( $result->namespace, $result->title );
+               $title = new TitleValue( (int)$result->namespace, $result->title );
+               $pageLink = $this->linkRenderer->renderHtmlLink( $title );
+
                $url = $result->url;
-               $pageLink = Linker::linkKnown( $title );
                $urlLink = Linker::makeExternalLink( $url, $url );
 
                return $this->msg( 'linksearch-line' )->rawParams( $urlLink, $pageLink )->escaped();
diff --git a/includes/specials/SpecialListDuplicatedFiles.php b/includes/specials/SpecialListDuplicatedFiles.php
new file mode 100644 (file)
index 0000000..c1dc158
--- /dev/null
@@ -0,0 +1,112 @@
+<?php
+/**
+ * Implements Special:ListDuplicatedFiles
+ *
+ * Copyright © 2013 Brian Wolff
+ *
+ * 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 SpecialPage
+ * @author Brian Wolff
+ */
+
+/**
+ * Special:ListDuplicatedFiles Lists all files where the current version is
+ *   a duplicate of the current version of some other file.
+ * @ingroup SpecialPage
+ */
+class ListDuplicatedFilesPage extends QueryPage {
+       function __construct( $name = 'ListDuplicatedFiles' ) {
+               parent::__construct( $name );
+       }
+
+       function isExpensive() {
+               return true;
+       }
+
+       function isSyndicated() {
+               return false;
+       }
+
+       /**
+        * Get all the duplicates by grouping on sha1s.
+        *
+        * A cheaper (but less useful) version of this
+        * query would be to not care how many duplicates a
+        * particular file has, and do a self-join on image table.
+        * However this version should be no more expensive then
+        * Special:MostLinked, which seems to get handled fine
+        * with however we are doing cached special pages.
+        */
+       function getQueryInfo() {
+               return array(
+                       'tables' => array( 'image' ),
+                       'fields' => array(
+                               'namespace' => NS_FILE,
+                               'title' => 'MIN(img_name)',
+                               'value' => 'count(*)'
+                       ),
+                       'options' => array(
+                               'GROUP BY' => 'img_sha1',
+                               'HAVING' => 'count(*) > 1',
+                       ),
+               );
+       }
+
+       /**
+        * Pre-fill the link cache
+        *
+        * @param DatabaseBase $db
+        * @param ResultWrapper $res
+        */
+       function preprocessResults( $db, $res ) {
+               if ( $res->numRows() > 0 ) {
+                       $linkBatch = new LinkBatch();
+
+                       foreach ( $res as $row ) {
+                               $linkBatch->add( $row->namespace, $row->title );
+                       }
+
+                       $res->seek( 0 );
+                       $linkBatch->execute();
+               }
+       }
+
+
+       /**
+        * @param Skin $skin
+        * @param object $result Result row
+        * @return string
+        */
+       function formatResult( $skin, $result ) {
+               // Future version might include a list of the first 5 duplicates
+               // perhaps separated by an "↔".
+               $image1 = Title::makeTitle( $result->namespace, $result->title );
+               $dupeSearch = SpecialPage::getTitleFor( 'FileDuplicateSearch', $image1->getDBKey() );
+
+               $msg = $this->msg( 'listduplicatedfiles-entry' )
+                       ->params( $image1->getText() )
+                       ->numParams( $result->value - 1 )
+                       ->params( $dupeSearch->getPrefixedDBKey() );
+
+               return $msg->parse();
+       }
+
+       protected function getGroupName() {
+               return 'media';
+       }
+}
index ba3e73f..9f0d127 100644 (file)
@@ -129,7 +129,7 @@ class ImageListPager extends TablePager {
                $conds = array();
 
                if ( !is_null( $this->mUserName ) ) {
-                       $conds[ $prefix . '_user_text' ] = $this->mUserName;
+                       $conds[$prefix . '_user_text'] = $this->mUserName;
                }
 
                if ( $this->mSearch !== '' ) {
@@ -215,6 +215,7 @@ class ImageListPager extends TablePager {
                // for two different tables, without reimplementing
                // the pager class.
                $qi = $this->getQueryInfoReal( $this->mTableName );
+
                return $qi;
        }
 
@@ -338,7 +339,7 @@ class ImageListPager extends TablePager {
                $topRes2 = $res2->next();
                $resultArray = array();
                for ( $i = 0; $i < $limit && $topRes1 && $topRes2; $i++ ) {
-                       if ( strcmp( $topRes1->{ $this->mIndexField }, $topRes2->{ $this->mIndexField } ) > 0 ) {
+                       if ( strcmp( $topRes1->{$this->mIndexField}, $topRes2->{$this->mIndexField} ) > 0 ) {
                                if ( !$ascending ) {
                                        $resultArray[] = $topRes1;
                                        $topRes1 = $res1->next();
@@ -364,6 +365,7 @@ class ImageListPager extends TablePager {
                        $resultArray[] = $topRes2;
                        $topRes2 = $res2->next();
                }
+
                return new FakeResultWrapper( $resultArray );
        }
 
@@ -409,6 +411,7 @@ class ImageListPager extends TablePager {
                                // If statement for paranoia
                                if ( $file ) {
                                        $thumb = $file->transform( array( 'width' => 180, 'height' => 360 ) );
+
                                        return $thumb->toHtml( array( 'desc-link' => true ) );
                                } else {
                                        return htmlspecialchars( $value );
@@ -493,6 +496,7 @@ class ImageListPager extends TablePager {
                        'checked' => $this->mShowAll,
                        'tabindex' => 4,
                ) );
+
                return Html::openElement( 'form',
                        array( 'method' => 'get', 'action' => $wgScript, 'id' => 'mw-listfiles-form' )
                ) .
index dd78c4c..50af915 100644 (file)
@@ -84,6 +84,7 @@ class MIMEsearchPage extends QueryPage {
                                ),
                        ),
                );
+
                return $qi;
        }
 
index ad6b788..0471caf 100644 (file)
@@ -23,6 +23,7 @@
  * @ingroup SpecialPage
  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
  */
+
 class MostrevisionsPage extends FewestrevisionsPage {
        function __construct( $name = 'Mostrevisions' ) {
                parent::__construct( $name );
index c054ef7..91ef797 100644 (file)
@@ -593,8 +593,8 @@ class MovePageForm extends UnlistedSpecialPage {
                $dbr = wfGetDB( DB_MASTER );
                if ( $this->moveSubpages && (
                        MWNamespace::hasSubpages( $nt->getNamespace() ) || (
-                               $this->moveTalk &&
-                                       MWNamespace::hasSubpages( $nt->getTalkPage()->getNamespace() )
+                               $this->moveTalk
+                                       && MWNamespace::hasSubpages( $nt->getTalkPage()->getNamespace() )
                        )
                ) ) {
                        $conds = array(
index 41119f9..9b8d52b 100644 (file)
@@ -108,6 +108,7 @@ class SpecialAllMyUploads extends RedirectSpecialPage {
 
        function getRedirect( $subpage ) {
                $this->mAddedRedirectParams['ilshowall'] = 1;
+
                return SpecialPage::getTitleFor( 'Listfiles', $this->getUser()->getName() );
        }
 }
index 37d2973..c10a618 100644 (file)
@@ -20,6 +20,7 @@
  * @file
  * @ingroup SpecialPage
  */
+
 class SpecialNewFiles extends IncludableSpecialPage {
        public function __construct() {
                parent::__construct( 'Newimages' );
index 6c2ffe9..17115e8 100644 (file)
@@ -39,6 +39,7 @@ class SpecialPermanentLink extends RedirectSpecialPage {
                        throw new ErrorPageError( 'nopagetitle', 'nopagetext' );
                }
                $this->mAddedRedirectParams['oldid'] = $subpage;
+
                return true;
        }
 }
index 4e2f0e7..e877b4e 100644 (file)
@@ -207,6 +207,7 @@ class SpecialRandomInCategory extends SpecialPage {
                        $qi['conds'][] = 'cl_timestamp ' . $op . ' ' .
                                $dbr->addQuotes( $dbr->timestamp( $minClTime ) );
                }
+
                return $qi;
        }
 
@@ -229,6 +230,7 @@ class SpecialRandomInCategory extends SpecialPage {
                }
 
                $ts = ( $this->maxTimestamp - $this->minTimestamp ) * $rand + $this->minTimestamp;
+
                return intval( $ts );
        }
 
@@ -258,6 +260,7 @@ class SpecialRandomInCategory extends SpecialPage {
                if ( !$res ) {
                        throw new MWException( 'No entries in category' );
                }
+
                return array( wfTimestamp( TS_UNIX, $res->low ), wfTimestamp( TS_UNIX, $res->high ) );
        }
 
index 720d0a8..2c563c6 100644 (file)
@@ -45,6 +45,7 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
                        $query = $this->getFeedQuery();
                        $query['feedformat'] = $feedFormat === 'atom' ? 'atom' : 'rss';
                        $this->getOutput()->redirect( wfAppendQuery( wfScript( 'api' ), $query ) );
+
                        return;
                }
 
@@ -272,6 +273,7 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
                if ( $query['limit'] > $wgFeedLimit ) {
                        $query['limit'] = $wgFeedLimit;
                }
+
                return $query;
        }
 
@@ -492,6 +494,7 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
        public function checkLastModified() {
                $dbr = $this->getDB();
                $lastmod = $dbr->selectField( 'recentchanges', 'MAX(rc_timestamp)', false, __METHOD__ );
+
                return $lastmod;
        }
 
index c4f40be..526e949 100644 (file)
@@ -38,6 +38,7 @@ class SpecialRecentChangesLinked extends SpecialRecentChanges {
                $opts = parent::getDefaultOptions();
                $opts->add( 'target', '' );
                $opts->add( 'showlinkedto', false );
+
                return $opts;
        }
 
@@ -58,6 +59,7 @@ class SpecialRecentChangesLinked extends SpecialRecentChanges {
                if ( !$title || $title->isExternal() ) {
                        $outputPage->addHtml( '<div class="errorbox">' . $this->msg( 'allpagesbadtitle' )
                                        ->parse() . '</div>' );
+
                        return false;
                }
 
@@ -91,7 +93,7 @@ class SpecialRecentChangesLinked extends SpecialRecentChanges {
                                'wl_user' => $uid,
                                'wl_title=rc_title',
                                'wl_namespace=rc_namespace'
-                       ));
+                       ) );
                }
                if ( $this->getUser()->isAllowed( 'rollback' ) ) {
                        $tables[] = 'page';
@@ -256,6 +258,7 @@ class SpecialRecentChangesLinked extends SpecialRecentChanges {
                                $this->rclTargetTitle = false;
                        }
                }
+
                return $this->rclTargetTitle;
        }
 }
index 8ec6f85..4926d6d 100644 (file)
@@ -78,6 +78,7 @@ class SpecialRedirect extends FormSpecialPage {
                        return null;
                }
                $userpage = Title::makeTitle( NS_USER, $username );
+
                return $userpage->getFullURL( '', false, PROTO_CURRENT );
        }
 
@@ -89,7 +90,7 @@ class SpecialRedirect extends FormSpecialPage {
        function dispatchFile() {
                $title = Title::makeTitleSafe( NS_FILE, $this->mValue );
 
-               if ( ! $title instanceof Title ) {
+               if ( !$title instanceof Title ) {
                        return null;
                }
                $file = wfFindFile( $title );
@@ -112,6 +113,7 @@ class SpecialRedirect extends FormSpecialPage {
                                $url = $mto->getURL();
                        }
                }
+
                return $url;
        }
 
@@ -130,6 +132,7 @@ class SpecialRedirect extends FormSpecialPage {
                if ( $oldid === 0 ) {
                        return null;
                }
+
                return wfAppendQuery( wfScript( 'index' ), array(
                        'oldid' => $oldid
                ) );
@@ -149,6 +152,7 @@ class SpecialRedirect extends FormSpecialPage {
                if ( $curid === 0 ) {
                        return null;
                }
+
                return wfAppendQuery( wfScript( 'index' ), array(
                        'curid' => $curid
                ) );
@@ -165,33 +169,36 @@ class SpecialRedirect extends FormSpecialPage {
        function dispatch() {
                // the various namespaces supported by Special:Redirect
                switch ( $this->mType ) {
-               case 'user':
-                       $url = $this->dispatchUser();
-                       break;
-               case 'file':
-                       $url = $this->dispatchFile();
-                       break;
-               case 'revision':
-                       $url = $this->dispatchRevision();
-                       break;
-               case 'page':
-                       $url = $this->dispatchPage();
-                       break;
-               default:
-                       $this->getOutput()->setStatusCode( 404 );
-                       $url = null;
-                       break;
+                       case 'user':
+                               $url = $this->dispatchUser();
+                               break;
+                       case 'file':
+                               $url = $this->dispatchFile();
+                               break;
+                       case 'revision':
+                               $url = $this->dispatchRevision();
+                               break;
+                       case 'page':
+                               $url = $this->dispatchPage();
+                               break;
+                       default:
+                               $this->getOutput()->setStatusCode( 404 );
+                               $url = null;
+                               break;
                }
                if ( $url ) {
                        $this->getOutput()->redirect( $url );
+
                        return true;
                }
                if ( !is_null( $this->mValue ) ) {
                        $this->getOutput()->setStatusCode( 404 );
                        // Message: redirect-not-exists
                        $msg = $this->getMessagePrefix() . '-not-exists';
+
                        return Status::newFatal( $msg );
                }
+
                return false;
        }
 
@@ -228,6 +235,7 @@ class SpecialRedirect extends FormSpecialPage {
                if ( !empty( $this->mValue ) ) {
                        $a['value']['default'] = $this->mValue;
                }
+
                return $a;
        }
 
@@ -235,6 +243,7 @@ class SpecialRedirect extends FormSpecialPage {
                if ( !empty( $data['type'] ) && !empty( $data['value'] ) ) {
                        $this->setParameter( $data['type'] . '/' . $data['value'] );
                }
+
                /* if this returns false, will show the form */
                return $this->dispatch();
        }
index db98bea..864485c 100644 (file)
@@ -90,7 +90,7 @@ class SpecialResetTokens extends FormSpecialPage {
                                        ->rawParams( $this->msg( $tok['label-message'] )->parse() )
                                        ->params( $user->getTokenFromOption( $tok['preference'] ) )
                                        ->escaped();
-                               $tokensForForm[ $label ] = $tok['preference'];
+                               $tokensForForm[$label] = $tok['preference'];
                        }
 
                        $desc = array(
index 05c8872..c10b7a6 100644 (file)
  * @ingroup SpecialPage
  */
 class SpecialRevisionDelete extends UnlistedSpecialPage {
-       /** True if the submit button was clicked, and the form was posted */
-       var $submitClicked;
+       /** @var bool Was the DB modified in this request */
+       protected $wasSaved = false;
 
-       /** Target ID list */
-       var $ids;
+       /** @var bool True if the submit button was clicked, and the form was posted */
+       private $submitClicked;
 
-       /** Archive name, for reviewing deleted files */
-       var $archiveName;
+       /** @var array Target ID list */
+       private $ids;
 
-       /** Edit token for securing image views against XSS */
-       var $token;
+       /** @var string Archive name, for reviewing deleted files */
+       private $archiveName;
 
-       /** Title object for target parameter */
-       var $targetObj;
+       /** @var string Edit token for securing image views against XSS */
+       private $token;
 
-       /** Deletion type, may be revision, archive, oldimage, filearchive, logging. */
-       var $typeName;
+       /** @var Title object for target parameter */
+       private $targetObj;
 
-       /** Array of checkbox specs (message, name, deletion bits) */
-       var $checks;
+       /** @var string Deletion type, may be revision, archive, oldimage, filearchive, logging. */
+       private $typeName;
 
-       /** UI Labels about the current type */
-       var $typeLabels;
+       /** @var array of checkbox specs (message, name, deletion bits) */
+       private $checks;
 
-       /** The RevDel_List object, storing the list of items to be deleted/undeleted */
-       var $list;
+       /** @var array UI Labels about the current type */
+       private $typeLabels;
 
-       /** Was the DB modified in this request */
-       protected $wasSaved = false;
+       /** @var RevDel_List object, storing the list of items to be deleted/undeleted */
+       private $revDelList;
+
+       /** @var bool Whether user is allowed to perform the action */
+       private $mIsAllowed;
+
+       /** @var string */
+       private $otherReason;
 
        /**
         * UI labels for each type.
         */
-       static $UILabels = array(
+       private static $UILabels = array(
                'revision' => array(
                        'check-label' => 'revdelete-hide-text',
                        'success' => 'revdelete-success',
                        'failure' => 'revdelete-failure',
                        'text' => 'revdelete-text-text',
+                       'selected'=> 'revdelete-selected-text',
                ),
                'archive' => array(
                        'check-label' => 'revdelete-hide-text',
                        'success' => 'revdelete-success',
                        'failure' => 'revdelete-failure',
                        'text' => 'revdelete-text-text',
+                       'selected'=> 'revdelete-selected-text',
                ),
                'oldimage' => array(
                        'check-label' => 'revdelete-hide-image',
                        'success' => 'revdelete-success',
                        'failure' => 'revdelete-failure',
                        'text' => 'revdelete-text-file',
+                       'selected'=> 'revdelete-selected-file',
                ),
                'filearchive' => array(
                        'check-label' => 'revdelete-hide-image',
                        'success' => 'revdelete-success',
                        'failure' => 'revdelete-failure',
                        'text' => 'revdelete-text-file',
+                       'selected'=> 'revdelete-selected-file',
                ),
                'logging' => array(
                        'check-label' => 'revdelete-hide-name',
                        'success' => 'logdelete-success',
                        'failure' => 'logdelete-failure',
                        'text' => 'logdelete-text',
+                       'selected' => 'logdelete-selected',
                ),
        );
 
@@ -137,6 +148,7 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
                $this->token = $request->getVal( 'token' );
                if ( $this->archiveName && $this->targetObj ) {
                        $this->tryShowFile( $this->archiveName );
+
                        return;
                }
 
@@ -156,6 +168,7 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
                # We need a target page!
                if ( is_null( $this->targetObj ) ) {
                        $output->addWikiMsg( 'undelete-header' );
+
                        return;
                }
                # Give a link to the logs/hist for this page
@@ -163,6 +176,7 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
 
                # Initialise checkboxes
                $this->checks = array(
+                       # Messages: revdelete-hide-text, revdelete-hide-image, revdelete-hide-name
                        array( $this->typeLabels['check-label'], 'wpHidePrimary',
                                RevisionDeleter::getRevdelConstant( $this->typeName )
                        ),
@@ -257,6 +271,7 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
                $conds['log_action'] = $this->getList()->getLogAction();
                $conds['ls_field'] = RevisionDeleter::getRelationType( $this->typeName );
                $conds['ls_value'] = $this->ids;
+
                return $conds;
        }
 
@@ -271,6 +286,7 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
                // Check if user is allowed to see this file
                if ( !$oimage->exists() ) {
                        $this->getOutput()->addWikiMsg( 'revdelete-no-file' );
+
                        return;
                }
                $user = $this->getUser();
@@ -300,6 +316,7 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
                                Xml::submitButton( $this->msg( 'revdelete-show-file-submit' )->text() ) .
                                '</form>'
                        );
+
                        return;
                }
                $this->getOutput()->disable();
@@ -320,12 +337,13 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
         * Get the list object for this request
         */
        protected function getList() {
-               if ( is_null( $this->list ) ) {
-                       $this->list = RevisionDeleter::createList(
+               if ( is_null( $this->revDelList ) ) {
+                       $this->revDelList = RevisionDeleter::createList(
                                $this->typeName, $this->getContext(), $this->targetObj, $this->ids
                        );
                }
-               return $this->list;
+
+               return $this->revDelList;
        }
 
        /**
@@ -335,12 +353,9 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
        protected function showForm() {
                $userAllowed = true;
 
-               if ( $this->typeName == 'logging' ) {
-                       $this->getOutput()->addWikiMsg( 'logdelete-selected', $this->getLanguage()->formatNum( count( $this->ids ) ) );
-               } else {
-                       $this->getOutput()->addWikiMsg( 'revdelete-selected',
-                               $this->targetObj->getPrefixedText(), count( $this->ids ) );
-               }
+               // Messages: revdelete-selected-text, revdelete-selected-file, logdelete-selected
+               $this->getOutput()->wrapWikiMsg( "<strong>$1</strong>", array( $this->typeLabels['selected'],
+                       $this->getLanguage()->formatNum( count( $this->ids ) ), $this->targetObj->getPrefixedText() ) );
 
                $this->getOutput()->addHTML( "<ul>" );
 
@@ -436,6 +451,7 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
         * @todo FIXME: Wikimedia-specific policy text
         */
        protected function addUsageText() {
+               // Messages: revdelete-text-text, revdelete-text-file, logdelete-text
                $this->getOutput()->wrapWikiMsg( "<strong>$1</strong>\n$2", $this->typeLabels['text'], 'revdelete-text-others' );
                if ( $this->getUser()->isAllowed( 'suppressrevision' ) ) {
                        $this->getOutput()->addWikiMsg( 'revdelete-suppress-text' );
@@ -459,6 +475,8 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
                                $bitfield = RevisionDeleter::extractBitfield( $this->extractBitParams(), $bitfield );
                        }
                        foreach ( $this->checks as $item ) {
+                               // Messages: revdelete-hide-text, revdelete-hide-image, revdelete-hide-name,
+                               // revdelete-hide-comment, revdelete-hide-user, revdelete-hide-restricted
                                list( $message, $name, $field ) = $item;
                                $innerHTML = Xml::checkLabel( $this->msg( $message )->text(), $name, $name, $bitfield & $field );
                                if ( $field == Revision::DELETED_RESTRICTED ) {
@@ -467,14 +485,16 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
                                $line = Xml::tags( 'td', array( 'class' => 'mw-input' ), $innerHTML );
                                $html .= "<tr>$line</tr>\n";
                        }
-               // Otherwise, use tri-state radios
                } else {
+                       // Otherwise, use tri-state radios
                        $html .= '<tr>';
                        $html .= '<th class="mw-revdel-checkbox">' . $this->msg( 'revdelete-radio-same' )->escaped() . '</th>';
                        $html .= '<th class="mw-revdel-checkbox">' . $this->msg( 'revdelete-radio-unset' )->escaped() . '</th>';
                        $html .= '<th class="mw-revdel-checkbox">' . $this->msg( 'revdelete-radio-set' )->escaped() . '</th>';
                        $html .= "<th></th></tr>\n";
                        foreach ( $this->checks as $item ) {
+                               // Messages: revdelete-hide-text, revdelete-hide-image, revdelete-hide-name,
+                               // revdelete-hide-comment, revdelete-hide-user, revdelete-hide-restricted
                                list( $message, $name, $field ) = $item;
                                // If there are several items, use third state by default...
                                if ( $this->submitClicked ) {
@@ -495,6 +515,7 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
                }
 
                $html .= '</table>';
+
                return $html;
        }
 
@@ -508,6 +529,7 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
                $token = $this->getRequest()->getVal( 'wpEditToken' );
                if ( $this->submitClicked && !$this->getUser()->matchEditToken( $token ) ) {
                        $this->getOutput()->addWikiMsg( 'sessionfailure' );
+
                        return false;
                }
                $bitParams = $this->extractBitParams();
@@ -527,11 +549,13 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
                $status = $this->save( $bitParams, $comment, $this->targetObj );
                if ( $status->isGood() ) {
                        $this->success();
+
                        return true;
-               # ...otherwise, bounce back to form...
                } else {
+                       # ...otherwise, bounce back to form...
                        $this->failure( $status );
                }
+
                return false;
        }
 
@@ -539,10 +563,11 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
         * Report that the submit operation succeeded
         */
        protected function success() {
+               // Messages: revdelete-success, logdelete-success
                $this->getOutput()->setPageTitle( $this->msg( 'actioncomplete' ) );
                $this->getOutput()->wrapWikiMsg( "<span class=\"success\">\n$1\n</span>", $this->typeLabels['success'] );
                $this->wasSaved = true;
-               $this->list->reloadFromMaster();
+               $this->revDelList->reloadFromMaster();
                $this->showForm();
        }
 
@@ -550,6 +575,7 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
         * Report that the submit operation failed
         */
        protected function failure( $status ) {
+               // Messages: revdelete-failure, logdelete-failure
                $this->getOutput()->setPageTitle( $this->msg( 'actionfailed' ) );
                $this->getOutput()->addWikiText( $status->getWikiText( $this->typeLabels['failure'] ) );
                $this->showForm();
@@ -573,6 +599,7 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
                if ( !isset( $bitfield[Revision::DELETED_RESTRICTED] ) ) {
                        $bitfield[Revision::DELETED_RESTRICTED] = 0;
                }
+
                return $bitfield;
        }
 
@@ -581,7 +608,7 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
         * @param $bitfield
         * @param $reason
         * @param $title
-        * @return
+        * @return Status
         */
        protected function save( $bitfield, $reason, $title ) {
                return $this->getList()->setVisibility(
index ab2b16e..0c45281 100644 (file)
@@ -38,10 +38,12 @@ class SpecialRunJobs extends UnlistedSpecialPage {
                if ( wfReadOnly() ) {
                        header( "HTTP/1.0 423 Locked" );
                        print 'Wiki is in read-only mode';
+
                        return;
                } elseif ( !$this->getRequest()->wasPosted() ) {
                        header( "HTTP/1.0 400 Bad Request" );
                        print 'Request must be POSTed';
+
                        return;
                }
 
@@ -53,6 +55,7 @@ class SpecialRunJobs extends UnlistedSpecialPage {
                if ( count( $missing ) ) {
                        header( "HTTP/1.0 400 Bad Request" );
                        print 'Missing parameters: ' . implode( ', ', array_keys( $missing ) );
+
                        return;
                }
 
@@ -76,6 +79,7 @@ class SpecialRunJobs extends UnlistedSpecialPage {
                if ( !$verified || $params['sigexpiry'] < time() ) {
                        header( "HTTP/1.0 400 Bad Request" );
                        print 'Invalid or stale signature provided';
+
                        return;
                }
 
@@ -132,7 +136,7 @@ class SpecialRunJobs extends UnlistedSpecialPage {
                                $job = $group->pop( JobQueueGroup::TYPE_DEFAULT, JobQueueGroup::USE_CACHE );
                                if ( $job ) {
                                        $output = $job->toString() . "\n";
-                                       $t = - microtime( true );
+                                       $t = -microtime( true );
                                        wfProfileIn( __METHOD__ . '-' . get_class( $job ) );
                                        $success = $job->run();
                                        wfProfileOut( __METHOD__ . '-' . get_class( $job ) );
index 3659c48..c73ee53 100644 (file)
@@ -60,11 +60,6 @@ class SpecialSearch extends SpecialPage {
         */
        protected $namespaces;
 
-       /**
-        * @var bool
-        */
-       protected $searchRedirects;
-
        /**
         * @var string
         */
@@ -159,9 +154,6 @@ class SpecialSearch extends SpecialPage {
                        }
                }
 
-               // Redirects defaults to true, but we don't know whether it was ticked of or just missing
-               $default = $request->getBool( 'profile' ) ? 0 : 1;
-               $this->searchRedirects = $request->getBool( 'redirs', $default ) ? 1 : 0;
                $this->didYouMeanHtml = ''; # html of did you mean... link
                $this->fulltext = $request->getVal( 'fulltext' );
                $this->profile = $profile;
@@ -179,6 +171,7 @@ class SpecialSearch extends SpecialPage {
                # If the string cannot be used to create a title
                if ( is_null( $t ) ) {
                        $this->showResults( $term );
+
                        return;
                }
                # If there's an exact or very near match, jump right there.
@@ -191,6 +184,7 @@ class SpecialSearch extends SpecialPage {
 
                if ( !is_null( $t ) ) {
                        $this->getOutput()->redirect( $t->getFullURL() );
+
                        return;
                }
                # No match, generate an edit URL
@@ -203,6 +197,7 @@ class SpecialSearch extends SpecialPage {
                        # If the feature is enabled, go straight to the edit page
                        if ( $wgGoToEdit ) {
                                $this->getOutput()->redirect( $t->getFullURL( array( 'action' => 'edit' ) ) );
+
                                return;
                        }
                }
@@ -214,13 +209,11 @@ class SpecialSearch extends SpecialPage {
         */
        public function showResults( $term ) {
                global $wgDisableTextSearch, $wgSearchForwardUrl, $wgContLang, $wgScript;
-               wfProfileIn( __METHOD__ );
 
+               $profile = new ProfileSection( __METHOD__ );
                $search = $this->getSearchEngine();
                $search->setLimitOffset( $this->limit, $this->offset );
                $search->setNamespaces( $this->namespaces );
-               $search->showRedirects = $this->searchRedirects; // BC
-               $search->setFeatureData( 'list-redirects', $this->searchRedirects );
                $search->prefix = $this->mPrefix;
                $term = $search->transformSearchTerm( $term );
 
@@ -247,7 +240,7 @@ class SpecialSearch extends SpecialPage {
                                        Xml::closeElement( 'fieldset' )
                                );
                        }
-                       wfProfileOut( __METHOD__ );
+
                        return;
                }
 
@@ -303,7 +296,6 @@ class SpecialSearch extends SpecialPage {
 
                if ( !wfRunHooks( 'SpecialSearchResultsPrepend', array( $this, $out, $term ) ) ) {
                        # Hook requested termination
-                       wfProfileOut( __METHOD__ );
                        return;
                }
 
@@ -330,7 +322,7 @@ class SpecialSearch extends SpecialPage {
                // Sometimes the search engine knows there are too many hits
                if ( $titleMatches instanceof SearchResultTooMany ) {
                        $out->wrapWikiMsg( "==$1==\n", 'toomanymatches' );
-                       wfProfileOut( __METHOD__ );
+
                        return;
                }
 
@@ -339,8 +331,8 @@ class SpecialSearch extends SpecialPage {
                        $out->addHTML( $this->formHeader( $term, 0, 0 ) );
                        $out->addHtml( $this->getProfileForm( $this->profile, $term ) );
                        $out->addHTML( '</form>' );
+
                        // Empty query -- straight view of search form
-                       wfProfileOut( __METHOD__ );
                        return;
                }
 
@@ -430,7 +422,6 @@ class SpecialSearch extends SpecialPage {
                        $out->addHTML( "<p class='mw-search-pager-bottom'>{$prevnext}</p>\n" );
                }
                wfRunHooks( 'SpecialSearchResultsAppend', array( $this, $out, $term ) );
-               wfProfileOut( __METHOD__ );
        }
 
        /**
@@ -443,12 +434,14 @@ class SpecialSearch extends SpecialPage {
                // show direct page/create link if applicable
 
                // Check DBkey !== '' in case of fragment link only.
-               if ( is_null( $t ) || $t->getDBkey() === '' ||
-                               ( $titleMatches !== null && $titleMatches->searchContainedSyntax() ) ||
-                               ( $textMatches !== null && $textMatches->searchContainedSyntax() ) ) {
+               if ( is_null( $t ) || $t->getDBkey() === ''
+                       || ( $titleMatches !== null && $titleMatches->searchContainedSyntax() )
+                       || ( $textMatches !== null && $textMatches->searchContainedSyntax() )
+               ) {
                        // invalid title
                        // preserve the paragraph for margins etc...
                        $this->getOutput()->addHtml( '<p></p>' );
+
                        return;
                }
 
@@ -514,7 +507,6 @@ class SpecialSearch extends SpecialPage {
         */
        protected function powerSearchOptions() {
                $opt = array();
-               $opt['redirs'] = $this->searchRedirects ? 1 : 0;
                if ( $this->profile !== 'advanced' ) {
                        $opt['profile'] = $this->profile;
                } else {
@@ -522,6 +514,7 @@ class SpecialSearch extends SpecialPage {
                                $opt['ns' . $n] = 1;
                        }
                }
+
                return $opt + $this->extraParams;
        }
 
@@ -534,16 +527,11 @@ class SpecialSearch extends SpecialPage {
         */
        protected function showMatches( &$matches ) {
                global $wgContLang;
-               wfProfileIn( __METHOD__ );
 
+               $profile = new ProfileSection( __METHOD__ );
                $terms = $wgContLang->convertForSearchResult( $matches->termMatches() );
 
-               $out = "";
-               $infoLine = $matches->getInfo();
-               if ( !is_null( $infoLine ) ) {
-                       $out .= "\n<!-- {$infoLine} -->\n";
-               }
-               $out .= "<ul class='mw-search-results'>\n";
+               $out = "<ul class='mw-search-results'>\n";
                $result = $matches->next();
                while ( $result ) {
                        $out .= $this->showHit( $result, $terms );
@@ -553,7 +541,7 @@ class SpecialSearch extends SpecialPage {
 
                // convert the whole thing to desired language variant
                $out = $wgContLang->convert( $out );
-               wfProfileOut( __METHOD__ );
+
                return $out;
        }
 
@@ -566,10 +554,9 @@ class SpecialSearch extends SpecialPage {
         * @return string
         */
        protected function showHit( $result, $terms ) {
-               wfProfileIn( __METHOD__ );
+               $profile = new ProfileSection( __METHOD__ );
 
                if ( $result->isBrokenTitle() ) {
-                       wfProfileOut( __METHOD__ );
                        return "<!-- Broken link in search result -->\n";
                }
 
@@ -584,7 +571,7 @@ class SpecialSearch extends SpecialPage {
                $link_t = clone $t;
 
                wfRunHooks( 'ShowSearchHitTitle',
-                                       array( &$link_t, &$titleSnippet, $result, $terms, $this ) );
+                       array( &$link_t, &$titleSnippet, $result, $terms, $this ) );
 
                $link = Linker::linkKnown(
                        $link_t,
@@ -595,7 +582,6 @@ class SpecialSearch extends SpecialPage {
                //This is not quite safe, but better than showing excerpts from non-readable pages
                //Note that hiding the entry entirely would screw up paging.
                if ( !$t->userCan( 'read', $this->getUser() ) ) {
-                       wfProfileOut( __METHOD__ );
                        return "<li>{$link}</li>\n";
                }
 
@@ -603,7 +589,6 @@ class SpecialSearch extends SpecialPage {
                // The least confusing at this point is to drop the result.
                // You may get less results, but... oh well. :P
                if ( $result->isMissingRevision() ) {
-                       wfProfileOut( __METHOD__ );
                        return "<!-- missing page " . htmlspecialchars( $t->getPrefixedText() ) . "-->\n";
                }
 
@@ -703,7 +688,6 @@ class SpecialSearch extends SpecialPage {
                                $thumb = $img->transform( array( 'width' => 120, 'height' => 120 ) );
                                if ( $thumb ) {
                                        $desc = $this->msg( 'parentheses' )->rawParams( $img->getShortDesc() )->escaped();
-                                       wfProfileOut( __METHOD__ );
                                        // Float doesn't seem to interact well with the bullets.
                                        // Table messes up vertical alignment of the bullets.
                                        // Bullets are therefore disabled (didn't look great anyway).
@@ -738,22 +722,20 @@ class SpecialSearch extends SpecialPage {
                                "</li>\n";
                }
 
-               wfProfileOut( __METHOD__ );
                return $html;
        }
 
        /**
         * Show results from other wikis
         *
-        * @param $matches SearchResultSet
+        * @param $matches SearchResultSet|array
         * @param $query String
         *
         * @return string
         */
        protected function showInterwiki( $matches, $query ) {
                global $wgContLang;
-               wfProfileIn( __METHOD__ );
-               $terms = $wgContLang->convertForSearchResult( $matches->termMatches() );
+               $profile = new ProfileSection( __METHOD__ );
 
                $out = "<div id='mw-search-interwiki'><div id='mw-search-interwiki-caption'>" .
                        $this->msg( 'search-interwiki-caption' )->text() . "</div>\n";
@@ -769,19 +751,27 @@ class SpecialSearch extends SpecialPage {
                        }
                }
 
-               $prev = null;
-               $result = $matches->next();
-               while ( $result ) {
-                       $out .= $this->showInterwikiHit( $result, $prev, $terms, $query, $customCaptions );
-                       $prev = $result->getInterwikiPrefix();
-                       $result = $matches->next();
+               if ( !is_array( $matches ) ) {
+                       $matches = array( $matches );
+               }
+
+               foreach ( $matches as $set ) {
+                       $prev = null;
+                       $result = $set->next();
+                       while ( $result ) {
+                               $out .= $this->showInterwikiHit( $result, $prev, $query, $customCaptions );
+                               $prev = $result->getInterwikiPrefix();
+                               $result = $set->next();
+                       }
                }
+
+
                // TODO: should support paging in a non-confusing way (not sure how though, maybe via ajax)..
                $out .= "</ul></div>\n";
 
                // convert the whole thing to desired language variant
                $out = $wgContLang->convert( $out );
-               wfProfileOut( __METHOD__ );
+
                return $out;
        }
 
@@ -790,17 +780,15 @@ class SpecialSearch extends SpecialPage {
         *
         * @param $result SearchResult
         * @param $lastInterwiki String
-        * @param $terms Array
         * @param $query String
         * @param array $customCaptions iw prefix -> caption
         *
         * @return string
         */
-       protected function showInterwikiHit( $result, $lastInterwiki, $terms, $query, $customCaptions ) {
-               wfProfileIn( __METHOD__ );
+       protected function showInterwikiHit( $result, $lastInterwiki, $query, $customCaptions ) {
+               $profile = new ProfileSection( __METHOD__ );
 
                if ( $result->isBrokenTitle() ) {
-                       wfProfileOut( __METHOD__ );
                        return "<!-- Broken link in search result -->\n";
                }
 
@@ -860,7 +848,7 @@ class SpecialSearch extends SpecialPage {
                }
 
                $out .= "<li>{$link} {$redirect}</li>\n";
-               wfProfileOut( __METHOD__ );
+
                return $out;
        }
 
@@ -872,7 +860,6 @@ class SpecialSearch extends SpecialPage {
        protected function getProfileForm( $profile, $term ) {
                // Hidden stuff
                $opts = array();
-               $opts['redirs'] = $this->searchRedirects;
                $opts['profile'] = $this->profile;
 
                if ( $profile === 'advanced' ) {
@@ -880,6 +867,7 @@ class SpecialSearch extends SpecialPage {
                } else {
                        $form = '';
                        wfRunHooks( 'SpecialSearchProfileForm', array( $this, &$form, $profile, $term, $opts ) );
+
                        return $form;
                }
        }
@@ -941,24 +929,18 @@ class SpecialSearch extends SpecialPage {
 
                $showSections = array( 'namespaceTables' => $namespaceTables );
 
-               // Show redirects check only if backend supports it
-               if ( $this->getSearchEngine()->supports( 'list-redirects' ) ) {
-                       $showSections['redirects'] =
-                               Xml::checkLabel( $this->msg( 'powersearch-redir' )->text(), 'redirs', 'redirs', $this->searchRedirects );
-               }
-
                wfRunHooks( 'SpecialSearchPowerBox', array( &$showSections, $term, $opts ) );
 
                $hidden = '';
-               unset( $opts['redirs'] );
                foreach ( $opts as $key => $value ) {
                        $hidden .= Html::hidden( $key, $value );
                }
+
                // Return final output
                return Xml::openElement(
-                               'fieldset',
-                               array( 'id' => 'mw-searchoptions', 'style' => 'margin:0em;' )
-                       ) .
+                       'fieldset',
+                       array( 'id' => 'mw-searchoptions', 'style' => 'margin:0em;' )
+               ) .
                        Xml::element( 'legend', null, $this->msg( 'powersearch-legend' )->text() ) .
                        Xml::tags( 'h4', null, $this->msg( 'powersearch-ns' )->parse() ) .
                        Html::element( 'div', array( 'id' => 'mw-search-togglebox' ) ) .
@@ -1114,6 +1096,7 @@ class SpecialSearch extends SpecialPage {
                        $this->msg( 'searchbutton' )->text(),
                        array( 'class' => array( 'mw-ui-button', 'mw-ui-progressive' ) )
                ) . "\n";
+
                return $out . $this->didYouMeanHtml;
        }
 
@@ -1132,7 +1115,6 @@ class SpecialSearch extends SpecialPage {
                foreach ( $namespaces as $n ) {
                        $opt['ns' . $n] = 1;
                }
-               $opt['redirs'] = $this->searchRedirects;
 
                $stParams = array_merge(
                        array(
@@ -1165,6 +1147,7 @@ class SpecialSearch extends SpecialPage {
                if ( count( $p ) > 1 ) {
                        return $wgContLang->getNsIndex( $p[0] ) == NS_FILE;
                }
+
                return false;
        }
 
@@ -1182,6 +1165,7 @@ class SpecialSearch extends SpecialPage {
                if ( count( $p ) > 1 ) {
                        return $p[0] == $allkeyword;
                }
+
                return false;
        }
 
@@ -1195,6 +1179,7 @@ class SpecialSearch extends SpecialPage {
                        $this->searchEngine = $this->searchEngineType ?
                                SearchEngine::create( $this->searchEngineType ) : SearchEngine::create();
                }
+
                return $this->searchEngine;
        }
 
index 9b50875..dffa7de 100644 (file)
@@ -40,12 +40,15 @@ class ShortPagesPage extends QueryPage {
        function getQueryInfo() {
                return array(
                        'tables' => array( 'page' ),
-                       'fields' => array( 'namespace' => 'page_namespace',
-                                       'title' => 'page_title',
-                                       'value' => 'page_len' ),
-                       'conds' => array( 'page_namespace' =>
-                                       MWNamespace::getContentNamespaces(),
-                                       'page_is_redirect' => 0 ),
+                       'fields' => array(
+                               'namespace' => 'page_namespace',
+                               'title' => 'page_title',
+                               'value' => 'page_len'
+                       ),
+                       'conds' => array(
+                               'page_namespace' => MWNamespace::getContentNamespaces(),
+                               'page_is_redirect' => 0
+                       ),
                        'options' => array( 'USE INDEX' => 'page_redirect_namespace_len' )
                );
        }
@@ -111,8 +114,8 @@ class ShortPagesPage extends QueryPage {
                $size = $this->msg( 'nbytes' )->numParams( $result->value )->escaped();
 
                return $exists
-                               ? "${hlinkInParentheses} {$dm}{$plink} {$dm}[{$size}]"
-                               : "<del>${hlinkInParentheses} {$dm}{$plink} {$dm}[{$size}]</del>";
+                       ? "${hlinkInParentheses} {$dm}{$plink} {$dm}[{$size}]"
+                       : "<del>${hlinkInParentheses} {$dm}{$plink} {$dm}[{$size}]</del>";
        }
 
        protected function getGroupName() {
index 3ed3ac3..3ba50bb 100644 (file)
@@ -103,9 +103,15 @@ class SpecialSpecialpages extends UnlistedSpecialPage {
                        $middle = ceil( $total / 2 );
                        $count = 0;
 
-                       $out->wrapWikiMsg( "<h2 class=\"mw-specialpagesgroup\" id=\"mw-specialpagesgroup-$group\">$1</h2>\n", "specialpages-group-$group" );
+                       $out->wrapWikiMsg(
+                               "<h2 class=\"mw-specialpagesgroup\" id=\"mw-specialpagesgroup-$group\">$1</h2>\n",
+                               "specialpages-group-$group"
+                       );
                        $out->addHTML(
-                               Html::openElement( 'table', array( 'style' => 'width:100%;', 'class' => 'mw-specialpages-table' ) ) . "\n" .
+                               Html::openElement(
+                                       'table',
+                                       array( 'style' => 'width:100%;', 'class' => 'mw-specialpages-table' )
+                               ) . "\n" .
                                Html::openElement( 'tr' ) . "\n" .
                                Html::openElement( 'td', array( 'style' => 'width:30%;vertical-align:top' ) ) . "\n" .
                                Html::openElement( 'ul' ) . "\n"
@@ -124,7 +130,11 @@ class SpecialSpecialpages extends UnlistedSpecialPage {
                                }
 
                                $link = Linker::linkKnown( $title, htmlspecialchars( $desc ) );
-                               $out->addHTML( Html::rawElement( 'li', array( 'class' => implode( ' ', $pageClasses ) ), $link ) . "\n" );
+                               $out->addHTML( Html::rawElement(
+                                               'li',
+                                               array( 'class' => implode( ' ', $pageClasses ) ),
+                                               $link
+                                       ) . "\n" );
 
                                # Split up the larger groups
                                $count++;
index 56f3f41..371e5ea 100644 (file)
@@ -28,9 +28,8 @@
  * @ingroup SpecialPage
  */
 class SpecialStatistics extends SpecialPage {
-
        private $views, $edits, $good, $images, $total, $users,
-                       $activeUsers = 0;
+               $activeUsers = 0;
 
        public function __construct() {
                parent::__construct( 'Statistics' );
@@ -107,14 +106,16 @@ class SpecialStatistics extends SpecialPage {
 
        /**
         * Format a row
-        * @param $text  String: description of the row
-        * @param $number  Float: a statistical number
-        * @param $trExtraParams  Array: params to table row, see Html::elememt
-        * @param $descMsg  String: message key
+        * @param string $text Description of the row
+        * @param float $number A statistical number
+        * @param array $trExtraParams Params to table row, see Html::elememt
+        * @param string $descMsg Message key
         * @param array|string $descMsgParam Message parameters
-        * @return string table row in HTML format
+        * @return string Table row in HTML format
         */
-       private function formatRow( $text, $number, $trExtraParams = array(), $descMsg = '', $descMsgParam = '' ) {
+       private function formatRow( $text, $number, $trExtraParams = array(),
+               $descMsg = '', $descMsgParam = ''
+       ) {
                if ( $descMsg ) {
                        $msg = $this->msg( $descMsg, $descMsgParam );
                        if ( $msg->exists() ) {
@@ -123,6 +124,7 @@ class SpecialStatistics extends SpecialPage {
                                        " $descriptionText" );
                        }
                }
+
                return Html::rawElement( 'tr', $trExtraParams,
                        Html::rawElement( 'td', array(), $text ) .
                        Html::rawElement( 'td', array( 'class' => 'mw-statistics-numbers' ), $number )
@@ -139,48 +141,54 @@ class SpecialStatistics extends SpecialPage {
                        Xml::tags( 'th', array( 'colspan' => '2' ), $this->msg( 'statistics-header-pages' )->parse() ) .
                        Xml::closeElement( 'tr' ) .
                                $this->formatRow( Linker::linkKnown( SpecialPage::getTitleFor( 'Allpages' ),
-                                               $this->msg( 'statistics-articles' )->parse() ),
-                                               $this->getLanguage()->formatNum( $this->good ),
-                                               array( 'class' => 'mw-statistics-articles' ) ) .
+                                       $this->msg( 'statistics-articles' )->parse() ),
+                                       $this->getLanguage()->formatNum( $this->good ),
+                                       array( 'class' => 'mw-statistics-articles' ) ) .
                                $this->formatRow( $this->msg( 'statistics-pages' )->parse(),
-                                               $this->getLanguage()->formatNum( $this->total ),
-                                               array( 'class' => 'mw-statistics-pages' ),
-                                               'statistics-pages-desc' ) .
+                                       $this->getLanguage()->formatNum( $this->total ),
+                                       array( 'class' => 'mw-statistics-pages' ),
+                                       'statistics-pages-desc' ) .
                                $this->formatRow( Linker::linkKnown( SpecialPage::getTitleFor( 'Listfiles' ),
-                                               $this->msg( 'statistics-files' )->parse() ),
-                                               $this->getLanguage()->formatNum( $this->images ),
-                                               array( 'class' => 'mw-statistics-files' ) );
+                                       $this->msg( 'statistics-files' )->parse() ),
+                                       $this->getLanguage()->formatNum( $this->images ),
+                                       array( 'class' => 'mw-statistics-files' ) );
        }
 
        private function getEditStats() {
                return Xml::openElement( 'tr' ) .
                        Xml::tags( 'th', array( 'colspan' => '2' ), $this->msg( 'statistics-header-edits' )->parse() ) .
                        Xml::closeElement( 'tr' ) .
-                               $this->formatRow( $this->msg( 'statistics-edits' )->parse(),
-                                               $this->getLanguage()->formatNum( $this->edits ),
-                                               array( 'class' => 'mw-statistics-edits' ) ) .
-                               $this->formatRow( $this->msg( 'statistics-edits-average' )->parse(),
-                                               $this->getLanguage()->formatNum( sprintf( '%.2f', $this->total ? $this->edits / $this->total : 0 ) ),
-                                               array( 'class' => 'mw-statistics-edits-average' ) );
+                       $this->formatRow( $this->msg( 'statistics-edits' )->parse(),
+                               $this->getLanguage()->formatNum( $this->edits ),
+                               array( 'class' => 'mw-statistics-edits' )
+                       ) .
+                       $this->formatRow( $this->msg( 'statistics-edits-average' )->parse(),
+                               $this->getLanguage()
+                                       ->formatNum( sprintf( '%.2f', $this->total ? $this->edits / $this->total : 0 ) ),
+                               array( 'class' => 'mw-statistics-edits-average' )
+                       );
        }
 
        private function getUserStats() {
                global $wgActiveUserDays;
+
                return Xml::openElement( 'tr' ) .
                        Xml::tags( 'th', array( 'colspan' => '2' ), $this->msg( 'statistics-header-users' )->parse() ) .
                        Xml::closeElement( 'tr' ) .
-                               $this->formatRow( $this->msg( 'statistics-users' )->parse(),
-                                               $this->getLanguage()->formatNum( $this->users ),
-                                               array( 'class' => 'mw-statistics-users' ) ) .
-                               $this->formatRow( $this->msg( 'statistics-users-active' )->parse() . ' ' .
-                                                       Linker::linkKnown(
-                                                               SpecialPage::getTitleFor( 'Activeusers' ),
-                                                               $this->msg( 'listgrouprights-members' )->escaped()
-                                                       ),
-                                               $this->getLanguage()->formatNum( $this->activeUsers ),
-                                               array( 'class' => 'mw-statistics-users-active' ),
-                                               'statistics-users-active-desc',
-                                               $this->getLanguage()->formatNum( $wgActiveUserDays ) );
+                       $this->formatRow( $this->msg( 'statistics-users' )->parse(),
+                               $this->getLanguage()->formatNum( $this->users ),
+                               array( 'class' => 'mw-statistics-users' )
+                       ) .
+                       $this->formatRow( $this->msg( 'statistics-users-active' )->parse() . ' ' .
+                               Linker::linkKnown(
+                                       SpecialPage::getTitleFor( 'Activeusers' ),
+                                       $this->msg( 'listgrouprights-members' )->escaped()
+                               ),
+                               $this->getLanguage()->formatNum( $this->activeUsers ),
+                               array( 'class' => 'mw-statistics-users-active' ),
+                               'statistics-users-active-desc',
+                               $this->getLanguage()->formatNum( $wgActiveUserDays )
+                       );
        }
 
        private function getGroupStats() {
@@ -225,6 +233,7 @@ class SpecialStatistics extends SpecialPage {
                                $this->getLanguage()->formatNum( $countUsers ),
                                array( 'class' => 'statistics-group-' . Sanitizer::escapeClass( $group ) . $classZero ) );
                }
+
                return $text;
        }
 
@@ -245,36 +254,43 @@ class SpecialStatistics extends SpecialPage {
                $text = '';
                $dbr = wfGetDB( DB_SLAVE );
                $res = $dbr->select(
-                               'page',
-                               array(
-                                       'page_namespace',
-                                       'page_title',
-                                       'page_counter',
-                               ),
-                               array(
-                                       'page_is_redirect' => 0,
-                                       'page_counter > 0',
-                               ),
-                               __METHOD__,
-                               array(
-                                       'ORDER BY' => 'page_counter DESC',
-                                       'LIMIT' => 10,
-                               )
+                       'page',
+                       array(
+                               'page_namespace',
+                               'page_title',
+                               'page_counter',
+                       ),
+                       array(
+                               'page_is_redirect' => 0,
+                               'page_counter > 0',
+                       ),
+                       __METHOD__,
+                       array(
+                               'ORDER BY' => 'page_counter DESC',
+                               'LIMIT' => 10,
+                       )
+               );
+
+               if ( $res->numRows() > 0 ) {
+                       $text .= Xml::openElement( 'tr' );
+                       $text .= Xml::tags(
+                               'th',
+                               array( 'colspan' => '2' ),
+                               $this->msg( 'statistics-mostpopular' )->parse()
                        );
-                       if ( $res->numRows() > 0 ) {
-                               $text .= Xml::openElement( 'tr' );
-                               $text .= Xml::tags( 'th', array( 'colspan' => '2' ), $this->msg( 'statistics-mostpopular' )->parse() );
-                               $text .= Xml::closeElement( 'tr' );
-                               foreach ( $res as $row ) {
-                                       $title = Title::makeTitleSafe( $row->page_namespace, $row->page_title );
-                                       if ( $title instanceof Title ) {
-                                               $text .= $this->formatRow( Linker::link( $title ),
-                                                               $this->getLanguage()->formatNum( $row->page_counter ) );
-
-                                       }
+                       $text .= Xml::closeElement( 'tr' );
+
+                       foreach ( $res as $row ) {
+                               $title = Title::makeTitleSafe( $row->page_namespace, $row->page_title );
+
+                               if ( $title instanceof Title ) {
+                                       $text .= $this->formatRow( Linker::link( $title ),
+                                               $this->getLanguage()->formatNum( $row->page_counter ) );
                                }
-                               $res->free();
                        }
+                       $res->free();
+               }
+
                return $text;
        }
 
@@ -302,7 +318,11 @@ class SpecialStatistics extends SpecialPage {
                                        $name = $this->msg( $key )->parse();
                                        $number = htmlspecialchars( $value );
 
-                                       $return .= $this->formatRow( $name, $this->getLanguage()->formatNum( $number ), array( 'class' => 'mw-statistics-hook', 'id' => 'mw-' . $key ) );
+                                       $return .= $this->formatRow(
+                                               $name,
+                                               $this->getLanguage()->formatNum( $number ),
+                                               array( 'class' => 'mw-statistics-hook', 'id' => 'mw-' . $key )
+                                       );
                                }
                        } else {
                                // Create the legacy header only once
@@ -311,7 +331,8 @@ class SpecialStatistics extends SpecialPage {
                                }
 
                                // Recursively remap the legacy structure
-                               $return .= $this->getOtherStats( array( 'statistics-header-hooks' => array( $header => $items ) ) );
+                               $return .= $this->getOtherStats( array( 'statistics-header-hooks' =>
+                                       array( $header => $items ) ) );
                        }
                }
 
index 077e7cb..b762728 100644 (file)
@@ -46,11 +46,11 @@ class SpecialTags extends SpecialPage {
 
                // Write the headers
                $html = Xml::tags( 'tr', null, Xml::tags( 'th', null, $this->msg( 'tags-tag' )->parse() ) .
-                               Xml::tags( 'th', null, $this->msg( 'tags-display-header' )->parse() ) .
-                               Xml::tags( 'th', null, $this->msg( 'tags-description-header' )->parse() ) .
-                               Xml::tags( 'th', null, $this->msg( 'tags-active-header' )->parse() ) .
-                               Xml::tags( 'th', null, $this->msg( 'tags-hitcount-header' )->parse() )
-                       );
+                       Xml::tags( 'th', null, $this->msg( 'tags-display-header' )->parse() ) .
+                       Xml::tags( 'th', null, $this->msg( 'tags-description-header' )->parse() ) .
+                       Xml::tags( 'th', null, $this->msg( 'tags-active-header' )->parse() ) .
+                       Xml::tags( 'th', null, $this->msg( 'tags-hitcount-header' )->parse() )
+               );
 
                // Used in #doTagRow()
                $this->definedTags = array_fill_keys( ChangeTags::listDefinedTags(), true );
diff --git a/includes/specials/SpecialTrackingCategories.php b/includes/specials/SpecialTrackingCategories.php
new file mode 100644 (file)
index 0000000..9ec3c5b
--- /dev/null
@@ -0,0 +1,135 @@
+<?php
+/**
+ * Implements Special:TrackingCategories
+ *
+ * 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 SpecialPage
+ */
+
+/**
+ * A special page that displays list of tracking categories
+ * Tracking categories allow pages with certain characteristics to be tracked.
+ * It works by adding any such page to a category automatically.
+ * Category is specified by the tracking category's system message.
+ *
+ * @ingroup SpecialPage
+ * @since 1.23
+ */
+
+class SpecialTrackingCategories extends SpecialPage {
+       function __construct() {
+               parent::__construct( 'TrackingCategories' );
+       }
+
+       function execute( $par ) {
+               // Global array containing names of tracking categories
+               global $wgTrackingCategories;
+
+               $this->setHeaders();
+               $this->outputHeader();
+               $this->getOutput()->allowClickjacking();
+               $this->getOutput()->addHTML(
+                       Html::openElement( 'table', array( 'class' => 'mw-datatable TablePager',
+                               'id' => 'mw-trackingcategories-table' ) ) . "\n" .
+                       "<thead><tr>
+                       <th>" .
+                               $this->msg( 'trackingcategories-msg' )->escaped() . "
+                       </th>
+                       <th>" .
+                               $this->msg( 'trackingcategories-name' )->escaped() .
+                       "</th>
+                       <th>" .
+                               $this->msg( 'trackingcategories-desc' )->escaped() . "
+                       </th>
+                       </tr></thead>"
+               );
+
+               foreach( $wgTrackingCategories as $catMsg ) {
+                       /*
+                        * Check if the tracking category varies by namespace
+                        * Otherwise only pages in the current namespace will be displayed
+                        * If it does vary, show pages considering all namespaces
+                        */
+                       $msgObj = $this->msg( $catMsg )->inContentLanguage();
+                       $allMsgs = array();
+                       $catDesc = $catMsg . '-desc';
+                       $catMsgTitle = Title::makeTitleSafe( NS_MEDIAWIKI, $catMsg );
+                       $catMsgTitleText = Linker::link(
+                               $catMsgTitle,
+                               htmlspecialchars( $catMsg )
+                       );
+
+                       if ( strpos( $msgObj->plain(), '{{NAMESPACE}}' ) !== false ) {
+                               $ns = MWNamespace::getValidNamespaces();
+                               foreach ( $ns as $namesp ) {
+                                       $tempTitle = Title::makeTitleSafe( $namesp, $catMsg );
+                                       $catName = $msgObj->title( $tempTitle )->text();
+                                       if ( !$msgObj->isDisabled() ) {
+                                               $catTitle = Title::makeTitleSafe( NS_CATEGORY, $catName );
+                                               $catTitleText = Linker::link(
+                                                       $catTitle,
+                                                       htmlspecialchars( $catName )
+                                               );
+                                               $allMsgs[] = $catTitleText;
+                                       }
+                               }
+                       } else {
+                               $catName = $msgObj->text();
+                               if ( !$msgObj->isDisabled() ) {
+                                       $catTitle = Title::makeTitleSafe( NS_CATEGORY, $catName );
+                                       $catTitleText = Linker::link(
+                                               $catTitle,
+                                               htmlspecialchars( $catName )
+                                       );
+                                       $classes = array();
+                               } else {
+                                       $catTitleText = $this->msg( 'trackingcategories-disabled' )->parse();
+                               }
+                               $allMsgs[] = $catTitleText;
+                       }
+
+                       /*
+                        * Show category description if it exists as a system message
+                        * as category-name-desc
+                        */
+                       $descMsg = $this->msg( $catDesc );
+                       if ( $descMsg->isBlank() ) {
+                               $descMsg = $this->msg( 'trackingcategories-nodesc' );
+                       }
+
+                       $this->getOutput()->addHTML(
+                               Html::openElement( 'tr' ) .
+                               Html::openElement( 'td', array( 'class' => 'mw-trackingcategories-name' ) ) .
+                                       $this->getLanguage()->commaList( array_unique( $allMsgs ) ) .
+                               Html::closeElement( 'td' ) .
+                               Html::openElement( 'td', array( 'class' => 'mw-trackingcategories-msg' ) ) .
+                                       $catMsgTitleText .
+                               Html::closeElement( 'td' ) .
+                               Html::openElement( 'td', array( 'class' => 'mw-trackingcategories-desc' ) ) .
+                                       $descMsg->parse() .
+                               Html::closeElement( 'td' ) .
+                               Html::closeElement( 'tr' )
+                       );
+               }
+               $this->getOutput()->addHTML( Html::closeElement( 'table' ) );
+       }
+
+       protected function getGroupName() {
+               return 'pages';
+       }
+}
index fbc8e91..3a2b0c6 100644 (file)
@@ -107,7 +107,6 @@ class SpecialUnblock extends SpecialPage {
                        if ( $type == Block::TYPE_AUTO && $this->type == Block::TYPE_IP ) {
                                $fields['Target']['default'] = $this->target;
                                unset( $fields['Name'] );
-
                        } else {
                                $fields['Target']['default'] = $target;
                                $fields['Target']['type'] = 'hidden';
@@ -133,11 +132,11 @@ class SpecialUnblock extends SpecialPage {
                                                break;
                                }
                        }
-
                } else {
                        $fields['Target']['default'] = $this->target;
                        unset( $fields['Name'] );
                }
+
                return $fields;
        }
 
@@ -181,6 +180,7 @@ class SpecialUnblock extends SpecialPage {
                list( $target, $type ) = SpecialBlock::getTargetAndType( $target );
                if ( $block->getType() == Block::TYPE_RANGE && $type == Block::TYPE_IP ) {
                        $range = $block->getTarget();
+
                        return array( array( 'ipb_blocked_as_range', $target, $range ) );
                }
 
index 3bfcede..9060f53 100644 (file)
  * Special page lists images which haven't been categorised
  *
  * @ingroup SpecialPage
+ * @todo FIXME: Use an instance of UncategorizedPagesPage or something
  */
-// @todo FIXME: Use an instance of UncategorizedPagesPage or something
 class UncategorizedImagesPage extends ImageQueryPage {
-
        function __construct( $name = 'Uncategorizedimages' ) {
                parent::__construct( $name );
        }
@@ -50,13 +49,13 @@ class UncategorizedImagesPage extends ImageQueryPage {
                return array(
                        'tables' => array( 'page', 'categorylinks' ),
                        'fields' => array( 'namespace' => 'page_namespace',
-                                       'title' => 'page_title',
-                                       'value' => 'page_title' ),
+                               'title' => 'page_title',
+                               'value' => 'page_title' ),
                        'conds' => array( 'cl_from IS NULL',
-                                       'page_namespace' => NS_FILE,
-                                       'page_is_redirect' => 0 ),
+                               'page_namespace' => NS_FILE,
+                               'page_is_redirect' => 0 ),
                        'join_conds' => array( 'categorylinks' => array(
-                                       'LEFT JOIN', 'cl_from=page_id' ) )
+                               'LEFT JOIN', 'cl_from=page_id' ) )
                );
        }
 
index 8bc9e48..8251d5b 100644 (file)
@@ -25,8 +25,8 @@
  * A special page looking for page without any category.
  *
  * @ingroup SpecialPage
+ * @todo FIXME: Make $requestedNamespace selectable, unify all subclasses into one
  */
-// @todo FIXME: Make $requestedNamespace selectable, unify all subclasses into one
 class UncategorizedPagesPage extends PageQueryPage {
        protected $requestedNamespace = false;
 
@@ -49,16 +49,23 @@ class UncategorizedPagesPage extends PageQueryPage {
        function getQueryInfo() {
                return array(
                        'tables' => array( 'page', 'categorylinks' ),
-                       'fields' => array( 'namespace' => 'page_namespace',
-                                       'title' => 'page_title',
-                                       'value' => 'page_title' ),
+                       'fields' => array(
+                               'namespace' => 'page_namespace',
+                               'title' => 'page_title',
+                               'value' => 'page_title'
+                       ),
                        // default for page_namespace is all content namespaces (if requestedNamespace is false)
                        // otherwise, page_namespace is requestedNamespace
-                       'conds' => array( 'cl_from IS NULL',
-                                       'page_namespace' => ( $this->requestedNamespace !== false ? $this->requestedNamespace : MWNamespace::getContentNamespaces() ),
-                                       'page_is_redirect' => 0 ),
-                       'join_conds' => array( 'categorylinks' => array(
-                                       'LEFT JOIN', 'cl_from = page_id' ) )
+                       'conds' => array(
+                               'cl_from IS NULL',
+                               'page_namespace' => $this->requestedNamespace !== false
+                                               ? $this->requestedNamespace
+                                               : MWNamespace::getContentNamespaces(),
+                               'page_is_redirect' => 0
+                       ),
+                       'join_conds' => array(
+                               'categorylinks' => array( 'LEFT JOIN', 'cl_from = page_id' )
+                       )
                );
        }
 
@@ -68,6 +75,7 @@ class UncategorizedPagesPage extends PageQueryPage {
                if ( $this->requestedNamespace === false && count( MWNamespace::getContentNamespaces() ) > 1 ) {
                        return array( 'page_namespace', 'page_title' );
                }
+
                return array( 'page_title' );
        }
 
index 0dd5a0c..55ab32d 100644 (file)
  * @ingroup SpecialPage
  */
 class PageArchive {
-       /**
-        * @var Title
-        */
+       /** @var Title */
        protected $title;
 
-       /**
-        * @var Status
-        */
+       /** @var Status */
        protected $fileStatus;
 
-       /**
-        * @var Status
-        */
+       /** @var Status */
        protected $revisionStatus;
 
        function __construct( $title ) {
@@ -58,6 +52,7 @@ class PageArchive {
         */
        public static function listAllPages() {
                $dbr = wfGetDB( DB_SLAVE );
+
                return self::listPages( $dbr, '' );
        }
 
@@ -137,7 +132,7 @@ class PageArchive {
                }
 
                $conds = array( 'ar_namespace' => $this->title->getNamespace(),
-                               'ar_title' => $this->title->getDBkey() );
+                       'ar_title' => $this->title->getDBkey() );
 
                $options = array( 'ORDER BY' => 'ar_timestamp DESC' );
 
@@ -354,16 +349,18 @@ class PageArchive {
         * Once restored, the items will be removed from the archive tables.
         * The deletion log will be updated with an undeletion notice.
         *
-        * @param array $timestamps Pass an empty array to restore all revisions, otherwise list the ones to undelete.
+        * @param array $timestamps Pass an empty array to restore all revisions,
+        *   otherwise list the ones to undelete.
         * @param string $comment
         * @param array $fileVersions
         * @param bool $unsuppress
         * @param User $user User performing the action, or null to use $wgUser
-        *
-        * @return array(number of file revisions restored, number of image revisions restored, log message)
-        * on success, false on failure
+        * @return array(number of file revisions restored, number of image revisions
+        *   restored, log message) on success, false on failure.
         */
-       function undelete( $timestamps, $comment = '', $fileVersions = array(), $unsuppress = false, User $user = null ) {
+       function undelete( $timestamps, $comment = '', $fileVersions = array(),
+               $unsuppress = false, User $user = null
+       ) {
                // If both the set of text revisions and file revisions are empty,
                // restore everything. Otherwise, just restore the requested items.
                $restoreAll = empty( $timestamps ) && empty( $fileVersions );
@@ -406,6 +403,7 @@ class PageArchive {
                                ->inContentLanguage()->text();
                } else {
                        wfDebug( "Undelete: nothing undeleted...\n" );
+
                        return false;
                }
 
@@ -436,7 +434,8 @@ class PageArchive {
         * to the cur/old tables. If the page currently exists, all revisions will
         * be stuffed into old, otherwise the most recent will go into cur.
         *
-        * @param array $timestamps Pass an empty array to restore all revisions, otherwise list the ones to undelete.
+        * @param array $timestamps Pass an empty array to restore all revisions,
+        *   otherwise list the ones to undelete.
         * @param bool $unsuppress Remove all ar_deleted/fa_deleted restrictions of seletected revs
         * @param string $comment
         * @throws ReadOnlyError
@@ -545,6 +544,7 @@ class PageArchive {
 
                        $status = Status::newGood( 0 );
                        $status->warning( "undelete-no-results" );
+
                        return $status;
                }
 
@@ -635,7 +635,11 @@ class PageArchive {
                if ( $created || $wasnew ) {
                        // Update site stats, link tables, etc
                        $user = User::newFromName( $revision->getRawUserText(), false );
-                       $article->doEditUpdates( $revision, $user, array( 'created' => $created, 'oldcountable' => $oldcountable ) );
+                       $article->doEditUpdates(
+                               $revision,
+                               $user,
+                               array( 'created' => $created, 'oldcountable' => $oldcountable )
+                       );
                }
 
                wfRunHooks( 'ArticleUndelete', array( &$this->title, $created, $comment ) );
@@ -670,13 +674,20 @@ class PageArchive {
  * @ingroup SpecialPage
  */
 class SpecialUndelete extends SpecialPage {
-       var $mAction, $mTarget, $mTimestamp, $mRestore, $mInvert, $mFilename;
-       var $mTargetTimestamp, $mAllowed, $mCanView, $mComment, $mToken;
-
-       /**
-        * @var Title
-        */
-       var $mTargetObj;
+       private $mAction;
+       private $mTarget;
+       private $mTimestamp;
+       private $mRestore;
+       private $mInvert;
+       private $mFilename;
+       private $mTargetTimestamp;
+       private $mAllowed;
+       private $mCanView;
+       private $mComment;
+       private $mToken;
+
+       /** @var Title */
+       private $mTargetObj;
 
        function __construct() {
                parent::__construct( 'Undelete', 'deletedhistory' );
@@ -765,6 +776,7 @@ class SpecialUndelete extends SpecialPage {
                        if ( $user->isAllowed( 'browsearchive' ) ) {
                                $this->showSearchForm();
                        }
+
                        return;
                }
 
@@ -844,6 +856,7 @@ class SpecialUndelete extends SpecialPage {
 
                if ( $result->numRows() == 0 ) {
                        $out->addWikiMsg( 'undelete-no-results' );
+
                        return false;
                }
 
@@ -897,6 +910,7 @@ class SpecialUndelete extends SpecialPage {
 
                if ( !$rev ) {
                        $out->addWikiMsg( 'undeleterevision-missing' );
+
                        return;
                }
 
@@ -906,6 +920,7 @@ class SpecialUndelete extends SpecialPage {
                                        "<div class='mw-warning plainlinks'>\n$1\n</div>\n",
                                        'rev-deleted-text-permission'
                                );
+
                                return;
                        }
 
@@ -1269,32 +1284,42 @@ class SpecialUndelete extends SpecialPage {
                                $unsuppressBox = '';
                        }
 
-                       $table =
-                               Xml::fieldset( $this->msg( 'undelete-fieldset-title' )->text() ) .
-                                       Xml::openElement( 'table', array( 'id' => 'mw-undelete-table' ) ) .
-                                       "<tr>
-                                               <td colspan='2' class='mw-undelete-extrahelp'>" .
-                                       $this->msg( 'undeleteextrahelp' )->parseAsBlock() .
-                                       "</td>
-                               </tr>
-                               <tr>
-                                       <td class='mw-label'>" .
-                                       Xml::label( $this->msg( 'undeletecomment' )->text(), 'wpComment' ) .
-                                       "</td>
-                                       <td class='mw-input'>" .
-                                       Xml::input( 'wpComment', 50, $this->mComment, array( 'id' => 'wpComment', 'autofocus' => true ) ) .
-                                       "</td>
-                               </tr>
-                               <tr>
-                                       <td>&#160;</td>
-                                       <td class='mw-submit'>" .
-                                       Xml::submitButton( $this->msg( 'undeletebtn' )->text(), array( 'name' => 'restore', 'id' => 'mw-undelete-submit' ) ) . ' ' .
-                                       Xml::submitButton( $this->msg( 'undeleteinvert' )->text(), array( 'name' => 'invert', 'id' => 'mw-undelete-invert' ) ) .
-                                       "</td>
-                               </tr>" .
-                                       $unsuppressBox .
-                                       Xml::closeElement( 'table' ) .
-                                       Xml::closeElement( 'fieldset' );
+                       $table = Xml::fieldset( $this->msg( 'undelete-fieldset-title' )->text() ) .
+                               Xml::openElement( 'table', array( 'id' => 'mw-undelete-table' ) ) .
+                               "<tr>
+                                       <td colspan='2' class='mw-undelete-extrahelp'>" .
+                               $this->msg( 'undeleteextrahelp' )->parseAsBlock() .
+                               "</td>
+                       </tr>
+                       <tr>
+                               <td class='mw-label'>" .
+                               Xml::label( $this->msg( 'undeletecomment' )->text(), 'wpComment' ) .
+                               "</td>
+                               <td class='mw-input'>" .
+                               Xml::input(
+                                       'wpComment',
+                                       50,
+                                       $this->mComment,
+                                       array( 'id' => 'wpComment', 'autofocus' => true )
+                               ) .
+                               "</td>
+                       </tr>
+                       <tr>
+                               <td>&#160;</td>
+                               <td class='mw-submit'>" .
+                               Xml::submitButton(
+                                       $this->msg( 'undeletebtn' )->text(),
+                                       array( 'name' => 'restore', 'id' => 'mw-undelete-submit' )
+                               ) . ' ' .
+                               Xml::submitButton(
+                                       $this->msg( 'undeleteinvert' )->text(),
+                                       array( 'name' => 'invert', 'id' => 'mw-undelete-invert' )
+                               ) .
+                               "</td>
+                       </tr>" .
+                               $unsuppressBox .
+                               Xml::closeElement( 'table' ) .
+                               Xml::closeElement( 'fieldset' );
 
                        $out->addHTML( $table );
                }
@@ -1416,7 +1441,17 @@ class SpecialUndelete extends SpecialPage {
                $revdlink = Linker::getRevDeleteLink( $user, $rev, $this->mTargetObj );
 
                $revisionRow = $this->msg( 'undelete-revision-row' )
-                       ->rawParams( $checkBox, $revdlink, $last, $pageLink, $userLink, $minor, $revTextSize, $comment, $tagSummary )
+                       ->rawParams(
+                               $checkBox,
+                               $revdlink,
+                               $last,
+                               $pageLink,
+                               $userLink,
+                               $minor,
+                               $revTextSize,
+                               $comment,
+                               $tagSummary
+                       )
                        ->escaped();
 
                return Xml::tags( 'li', $attribs, $revisionRow ) . "\n";
@@ -1616,13 +1651,23 @@ class SpecialUndelete extends SpecialPage {
                // Show revision undeletion warnings and errors
                $status = $archive->getRevisionStatus();
                if ( $status && !$status->isGood() ) {
-                       $out->addWikiText( '<div class="error">' . $status->getWikiText( 'cannotundelete', 'cannotundelete' ) . '</div>' );
+                       $out->addWikiText( '<div class="error">' .
+                               $status->getWikiText(
+                                       'cannotundelete',
+                                       'cannotundelete'
+                               ) . '</div>'
+                       );
                }
 
                // Show file undeletion warnings and errors
                $status = $archive->getFileStatus();
                if ( $status && !$status->isGood() ) {
-                       $out->addWikiText( '<div class="error">' . $status->getWikiText( 'undelete-error-short', 'undelete-error-long' ) . '</div>' );
+                       $out->addWikiText( '<div class="error">' .
+                               $status->getWikiText(
+                                       'undelete-error-short',
+                                       'undelete-error-long'
+                               ) . '</div>'
+                       );
                }
        }
 
index b686a5b..713823b 100644 (file)
  * @ingroup SpecialPage
  */
 class UnusedCategoriesPage extends QueryPage {
+       function __construct( $name = 'Unusedcategories' ) {
+               parent::__construct( $name );
+       }
 
        function isExpensive() {
                return true;
        }
 
-       function __construct( $name = 'Unusedcategories' ) {
-               parent::__construct( $name );
-       }
-
        function getPageHeader() {
                return $this->msg( 'unusedcategoriestext' )->parseAsBlock();
        }
@@ -41,14 +40,17 @@ class UnusedCategoriesPage extends QueryPage {
        function getQueryInfo() {
                return array(
                        'tables' => array( 'page', 'categorylinks' ),
-                       'fields' => array( 'namespace' => 'page_namespace',
-                                       'title' => 'page_title',
-                                       'value' => 'page_title' ),
-                       'conds' => array( 'cl_from IS NULL',
-                                       'page_namespace' => NS_CATEGORY,
-                                       'page_is_redirect' => 0 ),
-                       'join_conds' => array( 'categorylinks' => array(
-                                       'LEFT JOIN', 'cl_to = page_title' ) )
+                       'fields' => array(
+                               'namespace' => 'page_namespace',
+                               'title' => 'page_title',
+                               'value' => 'page_title'
+                       ),
+                       'conds' => array(
+                               'cl_from IS NULL',
+                               'page_namespace' => NS_CATEGORY,
+                               'page_is_redirect' => 0
+                       ),
+                       'join_conds' => array( 'categorylinks' => array( 'LEFT JOIN', 'cl_to = page_title' ) )
                );
        }
 
@@ -67,6 +69,7 @@ class UnusedCategoriesPage extends QueryPage {
         */
        function formatResult( $skin, $result ) {
                $title = Title::makeTitle( NS_CATEGORY, $result->title );
+
                return Linker::link( $title, htmlspecialchars( $title->getText() ) );
        }
 
index d332db7..743c587 100644 (file)
@@ -47,28 +47,30 @@ class UnusedimagesPage extends ImageQueryPage {
                global $wgCountCategorizedImagesAsUsed;
                $retval = array(
                        'tables' => array( 'image', 'imagelinks' ),
-                       'fields' => array( 'namespace' => NS_FILE,
-                                       'title' => 'img_name',
-                                       'value' => 'img_timestamp',
-                                       'img_user', 'img_user_text',
-                                       'img_description' ),
+                       'fields' => array(
+                               'namespace' => NS_FILE,
+                               'title' => 'img_name',
+                               'value' => 'img_timestamp',
+                               'img_user', 'img_user_text',
+                               'img_description'
+                       ),
                        'conds' => array( 'il_to IS NULL' ),
-                       'join_conds' => array( 'imagelinks' => array(
-                                       'LEFT JOIN', 'il_to = img_name' ) )
+                       'join_conds' => array( 'imagelinks' => array( 'LEFT JOIN', 'il_to = img_name' ) )
                );
 
                if ( $wgCountCategorizedImagesAsUsed ) {
                        // Order is significant
                        $retval['tables'] = array( 'image', 'page', 'categorylinks',
-                                       'imagelinks' );
+                               'imagelinks' );
                        $retval['conds']['page_namespace'] = NS_FILE;
                        $retval['conds'][] = 'cl_from IS NULL';
                        $retval['conds'][] = 'img_name = page_title';
                        $retval['join_conds']['categorylinks'] = array(
-                                       'LEFT JOIN', 'cl_from = page_id' );
+                               'LEFT JOIN', 'cl_from = page_id' );
                        $retval['join_conds']['imagelinks'] = array(
-                                       'LEFT JOIN', 'il_to = page_title' );
+                               'LEFT JOIN', 'il_to = page_title' );
                }
+
                return $retval;
        }
 
index 1dc9f42..0c2b870 100644 (file)
@@ -30,7 +30,6 @@
  * @ingroup SpecialPage
  */
 class UnusedtemplatesPage extends QueryPage {
-
        function __construct( $name = 'Unusedtemplates' ) {
                parent::__construct( $name );
        }
@@ -50,12 +49,16 @@ class UnusedtemplatesPage extends QueryPage {
        function getQueryInfo() {
                return array(
                        'tables' => array( 'page', 'templatelinks' ),
-                       'fields' => array( 'namespace' => 'page_namespace',
-                                       'title' => 'page_title',
-                                       'value' => 'page_title' ),
-                       'conds' => array( 'page_namespace' => NS_TEMPLATE,
-                                       'tl_from IS NULL',
-                                       'page_is_redirect' => 0 ),
+                       'fields' => array(
+                               'namespace' => 'page_namespace',
+                               'title' => 'page_title',
+                               'value' => 'page_title'
+                       ),
+                       'conds' => array(
+                               'page_namespace' => NS_TEMPLATE,
+                               'tl_from IS NULL',
+                               'page_is_redirect' => 0
+                       ),
                        'join_conds' => array( 'templatelinks' => array(
                                'LEFT JOIN', array( 'tl_title = page_title',
                                        'tl_namespace = page_namespace' ) ) )
@@ -79,6 +82,7 @@ class UnusedtemplatesPage extends QueryPage {
                        SpecialPage::getTitleFor( 'Whatlinkshere', $title->getPrefixedText() ),
                        $this->msg( 'unusedtemplateswlh' )->escaped()
                );
+
                return $this->getLanguage()->specialList( $pageLink, $wlhLink );
        }
 
index 954e3ff..ec2e7f5 100644 (file)
@@ -46,13 +46,16 @@ class UnwatchedpagesPage extends QueryPage {
        function getQueryInfo() {
                return array(
                        'tables' => array( 'page', 'watchlist' ),
-                       'fields' => array( 'namespace' => 'page_namespace',
-                                       'title' => 'page_title',
-                                       'value' => 'page_namespace' ),
-                       'conds' => array( 'wl_title IS NULL',
-                                       'page_is_redirect' => 0,
-                                       "page_namespace != '" . NS_MEDIAWIKI .
-                                       "'" ),
+                       'fields' => array(
+                               'namespace' => 'page_namespace',
+                               'title' => 'page_title',
+                               'value' => 'page_namespace'
+                       ),
+                       'conds' => array(
+                               'wl_title IS NULL',
+                               'page_is_redirect' => 0,
+                               "page_namespace != '" . NS_MEDIAWIKI . "'"
+                       ),
                        'join_conds' => array( 'watchlist' => array(
                                'LEFT JOIN', array( 'wl_title = page_title',
                                        'wl_namespace = page_namespace' ) ) )
index 35bbf0b..4887daf 100644 (file)
@@ -39,37 +39,45 @@ class SpecialUpload extends SpecialPage {
        }
 
        /** Misc variables **/
-       public $mRequest; // The WebRequest or FauxRequest this form is supposed to handle
+
+       /** @var WebRequest|FauxRequest The request this form is supposed to handle */
+       public $mRequest;
        public $mSourceType;
 
-       /**
-        * @var UploadBase
-        */
+       /** @var UploadBase */
        public $mUpload;
 
-       /**
-        * @var LocalFile
-        */
+       /** @var LocalFile */
        public $mLocalFile;
        public $mUploadClicked;
 
        /** User input variables from the "description" section **/
-       public $mDesiredDestName; // The requested target file name
+
+       /** @var string The requested target file name */
+       public $mDesiredDestName;
        public $mComment;
        public $mLicense;
 
        /** User input variables from the root section **/
+
        public $mIgnoreWarning;
        public $mWatchthis;
        public $mCopyrightStatus;
        public $mCopyrightSource;
 
        /** Hidden variables **/
+
        public $mDestWarningAck;
-       public $mForReUpload; // The user followed an "overwrite this file" link
-       public $mCancelUpload; // The user clicked "Cancel and return to upload form" button
+
+       /** @var bool The user followed an "overwrite this file" link */
+       public $mForReUpload;
+
+       /** @var bool The user clicked "Cancel and return to upload form" button */
+       public $mCancelUpload;
        public $mTokenOk;
-       public $mUploadSuccessful = false; // Subclasses can use this to determine whether a file was uploaded
+
+       /** @var bool Subclasses can use this to determine whether a file was uploaded */
+       public $mUploadSuccessful = false;
 
        /** Text injection points for hooks not using HTMLForm **/
        public $uploadFormTextTop;
@@ -179,6 +187,7 @@ class SpecialUpload extends SpecialPage {
                        # Backwards compatibility hook
                        if ( !wfRunHooks( 'UploadForm:initial', array( &$this ) ) ) {
                                wfDebug( "Hook 'UploadForm:initial' broke output of the upload form" );
+
                                return;
                        }
                        $this->showUploadForm( $this->getUploadForm() );
@@ -206,7 +215,6 @@ class SpecialUpload extends SpecialPage {
                } else {
                        $this->getOutput()->addHTML( $form );
                }
-
        }
 
        /**
@@ -401,6 +409,7 @@ class SpecialUpload extends SpecialPage {
                $status = $this->mUpload->fetchFile();
                if ( !$status->isOK() ) {
                        $this->showUploadError( $this->getOutput()->parse( $status->getWikiText() ) );
+
                        return;
                }
 
@@ -418,6 +427,7 @@ class SpecialUpload extends SpecialPage {
                $details = $this->mUpload->verifyUpload();
                if ( $details['status'] != UploadBase::OK ) {
                        $this->processVerificationError( $details );
+
                        return;
                }
 
@@ -426,6 +436,7 @@ class SpecialUpload extends SpecialPage {
                if ( $permErrors !== true ) {
                        $code = array_shift( $permErrors[0] );
                        $this->showRecoverableUploadError( $this->msg( $code, $permErrors[0] )->parse() );
+
                        return;
                }
 
@@ -446,9 +457,17 @@ class SpecialUpload extends SpecialPage {
                } else {
                        $pageText = false;
                }
-               $status = $this->mUpload->performUpload( $this->mComment, $pageText, $this->mWatchthis, $this->getUser() );
+
+               $status = $this->mUpload->performUpload(
+                       $this->mComment,
+                       $pageText,
+                       $this->mWatchthis,
+                       $this->getUser()
+               );
+
                if ( !$status->isGood() ) {
                        $this->showUploadError( $this->getOutput()->parse( $status->getWikiText() ) );
+
                        return;
                }
 
@@ -460,13 +479,15 @@ class SpecialUpload extends SpecialPage {
 
        /**
         * Get the initial image page text based on a comment and optional file status information
-        * @param $comment string
-        * @param $license string
-        * @param $copyStatus string
-        * @param $source string
+        * @param string $comment
+        * @param string $license
+        * @param string $copyStatus
+        * @param string $source
         * @return string
         */
-       public static function getInitialPageText( $comment = '', $license = '', $copyStatus = '', $source = '' ) {
+       public static function getInitialPageText( $comment = '', $license = '',
+               $copyStatus = '', $source = ''
+       ) {
                global $wgUseCopyrightUpload, $wgForceUIMsgAsContentMsg;
 
                $msg = array();
@@ -500,6 +521,7 @@ class SpecialUpload extends SpecialPage {
                                $pageText = $comment;
                        }
                }
+
                return $pageText;
        }
 
@@ -629,6 +651,7 @@ class SpecialUpload extends SpecialPage {
                $success = $this->mUpload->unsaveUploadedFile();
                if ( !$success ) {
                        $this->getOutput()->showFileDeleteError( $this->mUpload->getTempPath() );
+
                        return false;
                } else {
                        return true;
@@ -707,6 +730,7 @@ class SpecialUpload extends SpecialPage {
                foreach ( $dupes as $file ) {
                        $gallery->add( $file->getTitle() );
                }
+
                return '<li>' .
                        wfMessage( 'file-exists-duplicate' )->numParams( count( $dupes ) )->parse() .
                        $gallery->toHtml() . "</li>\n";
@@ -741,8 +765,7 @@ class UploadForm extends HTMLForm {
        public function __construct( array $options = array(), IContextSource $context = null ) {
                $this->mWatch = !empty( $options['watch'] );
                $this->mForReUpload = !empty( $options['forreupload'] );
-               $this->mSessionKey = isset( $options['sessionkey'] )
-                               ? $options['sessionkey'] : '';
+               $this->mSessionKey = isset( $options['sessionkey'] ) ? $options['sessionkey'] : '';
                $this->mHideIgnoreWarning = !empty( $options['hideignorewarning'] );
                $this->mDestWarningAck = !empty( $options['destwarningack'] );
                $this->mDestFile = isset( $options['destfile'] ) ? $options['destfile'] : '';
@@ -778,7 +801,6 @@ class UploadForm extends HTMLForm {
                                $this->mSourceIds[] = $field['id'];
                        }
                }
-
        }
 
        /**
@@ -834,12 +856,13 @@ class UploadForm extends HTMLForm {
                        'section' => 'source',
                        'type' => 'file',
                        'id' => 'wpUploadFile',
+                       'radio-id' => 'wpSourceTypeFile',
                        'label-message' => 'sourcefilename',
                        'upload-type' => 'File',
                        'radio' => &$radio,
                        'help' => $this->msg( 'upload-maxfilesize',
-                               $this->getContext()->getLanguage()->formatSize( $this->mMaxUploadSize['file'] ) )
-                               ->parse() .
+                               $this->getContext()->getLanguage()->formatSize( $this->mMaxUploadSize['file'] )
+                       )->parse() .
                                $this->msg( 'word-separator' )->escaped() .
                                $this->msg( 'upload_source_file' )->escaped(),
                        'checked' => $selectedSourceType == 'file',
@@ -851,12 +874,13 @@ class UploadForm extends HTMLForm {
                                'class' => 'UploadSourceField',
                                'section' => 'source',
                                'id' => 'wpUploadFileURL',
+                               'radio-id' => 'wpSourceTypeurl',
                                'label-message' => 'sourceurl',
                                'upload-type' => 'url',
                                'radio' => &$radio,
                                'help' => $this->msg( 'upload-maxfilesize',
-                                       $this->getContext()->getLanguage()->formatSize( $this->mMaxUploadSize['url'] ) )
-                                       ->parse() .
+                                       $this->getContext()->getLanguage()->formatSize( $this->mMaxUploadSize['url'] )
+                               )->parse() .
                                        $this->msg( 'word-separator' )->escaped() .
                                        $this->msg( 'upload_source_url' )->escaped(),
                                'checked' => $selectedSourceType == 'url',
@@ -870,6 +894,7 @@ class UploadForm extends HTMLForm {
                        'default' => $this->getExtensionsMessage(),
                        'raw' => true,
                );
+
                return $descriptor;
        }
 
@@ -882,29 +907,39 @@ class UploadForm extends HTMLForm {
                # Print a list of allowed file extensions, if so configured.  We ignore
                # MIME type here, it's incomprehensible to most people and too long.
                global $wgCheckFileExtensions, $wgStrictFileExtensions,
-               $wgFileExtensions, $wgFileBlacklist;
+                       $wgFileExtensions, $wgFileBlacklist;
 
                if ( $wgCheckFileExtensions ) {
                        if ( $wgStrictFileExtensions ) {
                                # Everything not permitted is banned
                                $extensionsList =
                                        '<div id="mw-upload-permitted">' .
-                                       $this->msg( 'upload-permitted', $this->getContext()->getLanguage()->commaList( array_unique( $wgFileExtensions ) ) )->parseAsBlock() .
+                                       $this->msg(
+                                               'upload-permitted',
+                                               $this->getContext()->getLanguage()->commaList( array_unique( $wgFileExtensions ) )
+                                       )->parseAsBlock() .
                                        "</div>\n";
                        } else {
                                # We have to list both preferred and prohibited
                                $extensionsList =
                                        '<div id="mw-upload-preferred">' .
-                                               $this->msg( 'upload-preferred', $this->getContext()->getLanguage()->commaList( array_unique( $wgFileExtensions ) ) )->parseAsBlock() .
+                                               $this->msg(
+                                                       'upload-preferred',
+                                                       $this->getContext()->getLanguage()->commaList( array_unique( $wgFileExtensions ) )
+                                               )->parseAsBlock() .
                                        "</div>\n" .
                                        '<div id="mw-upload-prohibited">' .
-                                               $this->msg( 'upload-prohibited', $this->getContext()->getLanguage()->commaList( array_unique( $wgFileBlacklist ) ) )->parseAsBlock() .
+                                               $this->msg(
+                                                       'upload-prohibited',
+                                                       $this->getContext()->getLanguage()->commaList( array_unique( $wgFileBlacklist ) )
+                                               )->parseAsBlock() .
                                        "</div>\n";
                        }
                } else {
                        # Everything is permitted.
                        $extensionsList = '';
                }
+
                return $extensionsList;
        }
 
@@ -1063,7 +1098,8 @@ class UploadForm extends HTMLForm {
         * Add upload JS to the OutputPage
         */
        protected function addUploadJS() {
-               global $wgUseAjax, $wgAjaxUploadDestCheck, $wgAjaxLicensePreview, $wgEnableAPI, $wgStrictFileExtensions;
+               global $wgUseAjax, $wgAjaxUploadDestCheck, $wgAjaxLicensePreview,
+                       $wgEnableAPI, $wgStrictFileExtensions;
 
                $useAjaxDestCheck = $wgUseAjax && $wgAjaxUploadDestCheck;
                $useAjaxLicensePreview = $wgUseAjax && $wgAjaxLicensePreview && $wgEnableAPI;
@@ -1100,7 +1136,6 @@ class UploadForm extends HTMLForm {
        function trySubmit() {
                return false;
        }
-
 }
 
 /**
@@ -1113,23 +1148,32 @@ class UploadSourceField extends HTMLTextField {
         * @return string
         */
        function getLabelHtml( $cellAttributes = array() ) {
+               $id = $this->mParams['id'];
+               $label = Html::rawElement( 'label', array( 'for' => $id ), $this->mLabel );
+
                if ( !empty( $this->mParams['radio'] ) ) {
-                       $id = "wpSourceType{$this->mParams['upload-type']}";
+                       if ( isset( $this->mParams['radio-id'] ) ) {
+                               $radioId = $this->mParams['radio-id'];
+                       } else {
+                               // Old way. For the benefit of extensions that do not define
+                               // the 'radio-id' key.
+                               $radioId = 'wpSourceType' . $this->mParams['upload-type'];
+                       }
+
                        $attribs = array(
                                'name' => 'wpSourceType',
                                'type' => 'radio',
-                               'id' => $id,
+                               'id' => $radioId,
                                'value' => $this->mParams['upload-type'],
                        );
+
                        if ( !empty( $this->mParams['checked'] ) ) {
                                $attribs['checked'] = 'checked';
                        }
-                       $label = Html::rawElement( 'label', array( 'for' => $id ), $this->mLabel );
+
                        $label .= Html::element( 'input', $attribs );
-               } else {
-                       $id = $this->mParams['id'];
-                       $label = Html::rawElement( 'label', array( 'for' => $id ), $this->mLabel );
                }
+
                return Html::rawElement( 'td', array( 'class' => 'mw-label' ) + $cellAttributes, $label );
        }
 
index 37bfa39..964bea1 100644 (file)
@@ -57,7 +57,8 @@ class SpecialUploadStash extends UnlistedSpecialPage {
        /**
         * Execute page -- can output a file directly or show a listing of them.
         *
-        * @param string $subPage subpage, e.g. in http://example.com/wiki/Special:UploadStash/foo.jpg, the "foo.jpg" part
+        * @param string $subPage subpage, e.g. in
+        *   http://example.com/wiki/Special:UploadStash/foo.jpg, the "foo.jpg" part
         * @return Boolean: success
         */
        public function execute( $subPage ) {
@@ -66,6 +67,7 @@ class SpecialUploadStash extends UnlistedSpecialPage {
                if ( $subPage === null || $subPage === '' ) {
                        return $this->showUploads();
                }
+
                return $this->showUpload( $subPage );
        }
 
@@ -99,7 +101,8 @@ class SpecialUploadStash extends UnlistedSpecialPage {
                        $message = $e->getMessage();
                } catch ( SpecialUploadStashTooLargeException $e ) {
                        $code = 500;
-                       $message = 'Cannot serve a file larger than ' . self::MAX_SERVE_BYTES . ' bytes. ' . $e->getMessage();
+                       $message = 'Cannot serve a file larger than ' . self::MAX_SERVE_BYTES .
+                               ' bytes. ' . $e->getMessage();
                } catch ( Exception $e ) {
                        $code = 500;
                        $message = $e->getMessage();
@@ -136,10 +139,11 @@ class SpecialUploadStash extends UnlistedSpecialPage {
                        $handler = $file->getHandler();
                        if ( $handler ) {
                                $params = $handler->parseParamString( $paramString );
+
                                return array( 'file' => $file, 'type' => $type, 'params' => $params );
                        } else {
                                throw new UploadStashBadPathException( 'No handler found for ' .
-                                               "mime {$file->getMimeType()} of file {$file->getPath()}" );
+                                       "mime {$file->getMimeType()} of file {$file->getPath()}" );
                        }
                }
 
@@ -155,10 +159,11 @@ class SpecialUploadStash extends UnlistedSpecialPage {
         * @return boolean success
         */
        private function outputThumbFromStash( $file, $params ) {
-
-               // this global, if it exists, points to a "scaler", as you might find in the Wikimedia Foundation cluster. See outputRemoteScaledThumb()
-               // this is part of our horrible NFS-based system, we create a file on a mount point here, but fetch the scaled file from somewhere else that
-               // happens to share it over NFS
+               // this global, if it exists, points to a "scaler", as you might find in
+               // the Wikimedia Foundation cluster. See outputRemoteScaledThumb(). This
+               // is part of our horrible NFS-based system, we create a file on a mount
+               // point here, but fetch the scaled file from somewhere else that
+               // happens to share it over NFS.
                global $wgUploadStashScalerBaseUrl;
 
                $flags = 0;
@@ -170,16 +175,15 @@ class SpecialUploadStash extends UnlistedSpecialPage {
        }
 
        /**
-        * Scale a file (probably with a locally installed imagemagick, or similar) and output it to STDOUT.
+        * Scale a file (probably with a locally installed imagemagick, or similar)
+        * and output it to STDOUT.
         * @param $file File
         * @param array $params Scaling parameters ( e.g. array( width => '50' ) );
         * @param int $flags Scaling flags ( see File:: constants )
-        * @throws MWException
-        * @throws UploadStashFileNotFoundException
+        * @throws MWException|UploadStashFileNotFoundException
         * @return boolean success
         */
        private function outputLocallyScaledThumb( $file, $params, $flags ) {
-
                // n.b. this is stupid, we insist on re-transforming the file every time we are invoked. We rely
                // on HTTP caching to ensure this doesn't happen.
 
@@ -204,26 +208,31 @@ class SpecialUploadStash extends UnlistedSpecialPage {
                }
 
                return $this->outputLocalFile( $thumbFile );
-
        }
 
        /**
-        * Scale a file with a remote "scaler", as exists on the Wikimedia Foundation cluster, and output it to STDOUT.
-        * Note: unlike the usual thumbnail process, the web client never sees the cluster URL; we do the whole HTTP transaction to the scaler ourselves
-        *  and cat the results out.
-        * Note: We rely on NFS to have propagated the file contents to the scaler. However, we do not rely on the thumbnail being created in NFS and then
-        *   propagated back to our filesystem. Instead we take the results of the HTTP request instead.
-        * Note: no caching is being done here, although we are instructing the client to cache it forever.
-        * @param $file: File object
-        * @param $params: scaling parameters ( e.g. array( width => '50' ) );
-        * @param $flags: scaling flags ( see File:: constants )
+        * Scale a file with a remote "scaler", as exists on the Wikimedia Foundation
+        * cluster, and output it to STDOUT.
+        * Note: Unlike the usual thumbnail process, the web client never sees the
+        * cluster URL; we do the whole HTTP transaction to the scaler ourselves
+        * and cat the results out.
+        * Note: We rely on NFS to have propagated the file contents to the scaler.
+        * However, we do not rely on the thumbnail being created in NFS and then
+        * propagated back to our filesystem. Instead we take the results of the
+        * HTTP request instead.
+        * Note: No caching is being done here, although we are instructing the
+        * client to cache it forever.
+        *
+        * @param File $file
+        * @param array $params Scaling parameters ( e.g. array( width => '50' ) );
+        * @param int $flags Scaling flags ( see File:: constants )
         * @throws MWException
         * @return boolean success
         */
        private function outputRemoteScaledThumb( $file, $params, $flags ) {
-
-               // this global probably looks something like 'http://upload.wikimedia.org/wikipedia/test/thumb/temp'
-               // do not use trailing slash
+               // This global probably looks something like
+               // 'http://upload.wikimedia.org/wikipedia/test/thumb/temp'. Do not use
+               // trailing slash.
                global $wgUploadStashScalerBaseUrl;
                $scalerBaseUrl = $wgUploadStashScalerBaseUrl;
 
@@ -248,16 +257,17 @@ class SpecialUploadStash extends UnlistedSpecialPage {
                );
                $req = MWHttpRequest::factory( $scalerThumbUrl, $httpOptions );
                $status = $req->execute();
-               if ( ! $status->isOK() ) {
+               if ( !$status->isOK() ) {
                        $errors = $status->getErrorsArray();
                        $errorStr = "Fetching thumbnail failed: " . print_r( $errors, 1 );
                        $errorStr .= "\nurl = $scalerThumbUrl\n";
                        throw new MWException( $errorStr );
                }
                $contentType = $req->getResponseHeader( "content-type" );
-               if ( ! $contentType ) {
+               if ( !$contentType ) {
                        throw new MWException( "Missing content-type header" );
                }
+
                return $this->outputContents( $req->getContent(), $contentType );
        }
 
@@ -265,7 +275,8 @@ class SpecialUploadStash extends UnlistedSpecialPage {
         * Output HTTP response for file
         * Side effect: writes HTTP response to STDOUT.
         *
-        * @param $file File object with a local path (e.g. UnregisteredLocalFile, LocalFile. Oddly these don't share an ancestor!)
+        * @param File $file File object with a local path (e.g. UnregisteredLocalFile,
+        *   LocalFile. Oddly these don't share an ancestor!)
         * @throws SpecialUploadStashTooLargeException
         * @return bool
         */
@@ -273,6 +284,7 @@ class SpecialUploadStash extends UnlistedSpecialPage {
                if ( $file->getSize() > self::MAX_SERVE_BYTES ) {
                        throw new SpecialUploadStashTooLargeException();
                }
+
                return $file->getRepo()->streamFile( $file->getPath(),
                        array( 'Content-Transfer-Encoding: binary',
                                'Expires: Sun, 17-Jan-2038 19:14:07 GMT' )
@@ -294,15 +306,18 @@ class SpecialUploadStash extends UnlistedSpecialPage {
                }
                self::outputFileHeaders( $contentType, $size );
                print $content;
+
                return true;
        }
 
        /**
         * Output headers for streaming
-        * XXX unsure about encoding as binary; if we received from HTTP perhaps we should use that encoding, concatted with semicolon to mimeType as it usually is.
+        * @todo Unsure about encoding as binary; if we received from HTTP perhaps
+        * we should use that encoding, concatted with semicolon to mimeType as it
+        * usually is.
         * Side effect: preps PHP to write headers to STDOUT.
-        * @param string $contentType : string suitable for content-type header
-        * @param string $size: length in bytes
+        * @param string $contentType String suitable for content-type header
+        * @param string $size Length in bytes
         */
        private static function outputFileHeaders( $contentType, $size ) {
                header( "Content-Type: $contentType", true );
@@ -325,10 +340,12 @@ class SpecialUploadStash extends UnlistedSpecialPage {
                if ( isset( $formData['Clear'] ) ) {
                        $stash = RepoGroup::singleton()->getLocalRepo()->getUploadStash();
                        wfDebug( "stash has: " . print_r( $stash->listFiles(), true ) );
-                       if ( ! $stash->clear() ) {
+
+                       if ( !$stash->clear() ) {
                                return Status::newFatal( 'uploadstash-errclear' );
                        }
                }
+
                return Status::newGood();
        }
 
@@ -390,4 +407,5 @@ class SpecialUploadStash extends UnlistedSpecialPage {
        }
 }
 
-class SpecialUploadStashTooLargeException extends MWException {};
+class SpecialUploadStashTooLargeException extends MWException {
+}
index 1c9fed7..b049975 100644 (file)
@@ -27,7 +27,6 @@
  * @ingroup SpecialPage
  */
 class LoginForm extends SpecialPage {
-
        const SUCCESS = 0;
        const NO_NAME = 1;
        const ILLEGAL = 2;
@@ -43,26 +42,38 @@ class LoginForm extends SpecialPage {
        const NEED_TOKEN = 12;
        const WRONG_TOKEN = 13;
 
-       var $mUsername, $mPassword, $mRetype, $mReturnTo, $mCookieCheck, $mPosted;
-       var $mAction, $mCreateaccount, $mCreateaccountMail;
-       var $mLoginattempt, $mRemember, $mEmail, $mDomain, $mLanguage;
-       var $mSkipCookieCheck, $mReturnToQuery, $mToken, $mStickHTTPS;
-       var $mType, $mReason, $mRealName;
-       var $mAbortLoginErrorMsg = null;
+       public $mAbortLoginErrorMsg = null;
+
+       protected $mUsername;
+       protected $mPassword;
+       protected $mRetype;
+       protected $mReturnTo;
+       protected $mCookieCheck;
+       protected $mPosted;
+       protected $mAction;
+       protected $mCreateaccount;
+       protected $mCreateaccountMail;
+       protected $mLoginattempt;
+       protected $mRemember;
+       protected $mEmail;
+       protected $mDomain;
+       protected $mLanguage;
+       protected $mSkipCookieCheck;
+       protected $mReturnToQuery;
+       protected $mToken;
+       protected $mStickHTTPS;
+       protected $mType;
+       protected $mReason;
+       protected $mRealName;
+
        private $mTempPasswordUsed;
        private $mLoaded = false;
        private $mSecureLoginUrl;
 
-       /**
-        * @ var WebRequest
-        */
+       /** @var WebRequest */
        private $mOverrideRequest = null;
 
-       /**
-        * Effective request; set at the beginning of load
-        *
-        * @var WebRequest $mRequest
-        */
+       /** @var WebRequest Effective request; set at the beginning of load */
        private $mRequest = null;
 
        /**
@@ -101,16 +112,19 @@ class LoginForm extends SpecialPage {
                $this->mCookieCheck = $request->getVal( 'wpCookieCheck' );
                $this->mPosted = $request->wasPosted();
                $this->mCreateaccountMail = $request->getCheck( 'wpCreateaccountMail' )
-                                                                       && $wgEnableEmail;
+                       && $wgEnableEmail;
                $this->mCreateaccount = $request->getCheck( 'wpCreateaccount' ) && !$this->mCreateaccountMail;
                $this->mLoginattempt = $request->getCheck( 'wpLoginattempt' );
                $this->mAction = $request->getVal( 'action' );
                $this->mRemember = $request->getCheck( 'wpRemember' );
                $this->mFromHTTP = $request->getBool( 'fromhttp', false );
-               $this->mStickHTTPS = ( !$this->mFromHTTP && $request->getProtocol() === 'https' ) || $request->getBool( 'wpForceHttps', false );
+               $this->mStickHTTPS = ( !$this->mFromHTTP && $request->getProtocol() === 'https' )
+                       || $request->getBool( 'wpForceHttps', false );
                $this->mLanguage = $request->getText( 'uselang' );
                $this->mSkipCookieCheck = $request->getCheck( 'wpSkipCookieCheck' );
-               $this->mToken = ( $this->mType == 'signup' ) ? $request->getVal( 'wpCreateaccountToken' ) : $request->getVal( 'wpLoginToken' );
+               $this->mToken = $this->mType == 'signup'
+                       ? $request->getVal( 'wpCreateaccountToken' )
+                       : $request->getVal( 'wpLoginToken' );
                $this->mReturnTo = $request->getVal( 'returnto', '' );
                $this->mReturnToQuery = $request->getVal( 'returntoquery', '' );
 
@@ -134,9 +148,10 @@ class LoginForm extends SpecialPage {
                # 2. Do not return to PasswordReset after a successful password change
                #    but goto Wiki start page (Main_Page) instead ( bug 33997 )
                $returnToTitle = Title::newFromText( $this->mReturnTo );
-               if ( is_object( $returnToTitle ) && (
-                       $returnToTitle->isSpecial( 'Userlogout' )
-                       || $returnToTitle->isSpecial( 'PasswordReset' ) ) ) {
+               if ( is_object( $returnToTitle )
+                       && ( $returnToTitle->isSpecial( 'Userlogout' )
+                               || $returnToTitle->isSpecial( 'PasswordReset' ) )
+               ) {
                        $this->mReturnTo = '';
                        $this->mReturnToQuery = '';
                }
@@ -183,6 +198,7 @@ class LoginForm extends SpecialPage {
                                $this->getOutput()->redirect( $url );
                                // Since we only do this redir to change proto, always vary
                                $this->getOutput()->addVaryHeader( 'X-Forwarded-Proto' );
+
                                return;
                        } else {
                                // A wiki without HTTPS login support should set $wgServer to
@@ -196,16 +212,20 @@ class LoginForm extends SpecialPage {
 
                if ( !is_null( $this->mCookieCheck ) ) {
                        $this->onCookieRedirectCheck( $this->mCookieCheck );
+
                        return;
                } elseif ( $this->mPosted ) {
                        if ( $this->mCreateaccount ) {
                                $this->addNewAccount();
+
                                return;
                        } elseif ( $this->mCreateaccountMail ) {
                                $this->addNewAccountMailPassword();
+
                                return;
                        } elseif ( ( 'submitlogin' == $this->mAction ) || $this->mLoginattempt ) {
                                $this->processLogin();
+
                                return;
                        }
                }
@@ -218,6 +238,7 @@ class LoginForm extends SpecialPage {
        function addNewAccountMailPassword() {
                if ( $this->mEmail == '' ) {
                        $this->mainLoginForm( $this->msg( 'noemailcreate' )->escaped() );
+
                        return;
                }
 
@@ -225,6 +246,7 @@ class LoginForm extends SpecialPage {
                if ( !$status->isGood() ) {
                        $error = $status->getMessage();
                        $this->mainLoginForm( $error->toString() );
+
                        return;
                }
 
@@ -261,6 +283,7 @@ class LoginForm extends SpecialPage {
                if ( !$status->isGood() ) {
                        $error = $status->getMessage();
                        $this->mainLoginForm( $error->toString() );
+
                        return false;
                }
 
@@ -324,6 +347,7 @@ class LoginForm extends SpecialPage {
                        wfRunHooks( 'AddNewAccount', array( $u, false ) );
                        $u->addNewUserLogEntry( 'create2', $this->mReason );
                }
+
                return true;
        }
 
@@ -366,6 +390,7 @@ class LoginForm extends SpecialPage {
                # Request forgery checks.
                if ( !self::getCreateaccountToken() ) {
                        self::setCreateaccountToken();
+
                        return Status::newFatal( 'nocookiesfornew' );
                }
 
@@ -387,14 +412,20 @@ class LoginForm extends SpecialPage {
                } elseif ( $creationBlock instanceof Block ) {
                        // Throws an ErrorPageError.
                        $this->userBlockedMessage( $creationBlock );
+
                        // This should never be reached.
                        return false;
                }
 
                # Include checks that will include GlobalBlocking (Bug 38333)
-               $permErrors = $this->getPageTitle()->getUserPermissionsErrors( 'createaccount', $currentUser, true );
+               $permErrors = $this->getPageTitle()->getUserPermissionsErrors(
+                       'createaccount',
+                       $currentUser,
+                       true
+               );
+
                if ( count( $permErrors ) ) {
-                               throw new PermissionsError( 'createaccount', $permErrors );
+                       throw new PermissionsError( 'createaccount', $permErrors );
                }
 
                $ip = $this->getRequest()->getIP();
@@ -402,8 +433,9 @@ class LoginForm extends SpecialPage {
                        return Status::newFatal( 'sorbs_create_account_reason' );
                }
 
-               // Normalize the name so that silly things don't cause "invalid username" errors.
-               // User::newFromName does some rather strict checking, rejecting e.g. leading/trailing/multiple spaces.
+               // Normalize the name so that silly things don't cause "invalid username"
+               // errors. User::newFromName does some rather strict checking, rejecting
+               // e.g. leading/trailing/multiple spaces.
                $title = Title::makeTitleSafe( NS_USER, $this->mUsername );
                if ( !is_object( $title ) ) {
                        return Status::newFatal( 'noname' );
@@ -432,6 +464,7 @@ class LoginForm extends SpecialPage {
                                if ( !is_array( $valid ) ) {
                                        $valid = array( $valid, $wgMinimalPasswordLength );
                                }
+
                                return call_user_func_array( 'Status::newFatal', $valid );
                        }
                }
@@ -463,6 +496,7 @@ class LoginForm extends SpecialPage {
                                // To return a different error code, return a Status object.
                                $abortError = new Message( 'createaccount-hook-aborted', array( $abortError ) );
                                $abortError->text();
+
                                return Status::newFatal( $abortError );
                        } else {
                                // For MediaWiki 1.23+ and updated hooks, return the Status object
@@ -473,7 +507,8 @@ class LoginForm extends SpecialPage {
 
                // Hook point to check for exempt from account creation throttle
                if ( !wfRunHooks( 'ExemptFromAccountCreationThrottle', array( $ip ) ) ) {
-                       wfDebug( "LoginForm::exemptFromAccountCreationThrottle: a hook allowed account creation w/o throttle\n" );
+                       wfDebug( "LoginForm::exemptFromAccountCreationThrottle: a hook " .
+                               "allowed account creation w/o throttle\n" );
                } else {
                        if ( ( $wgAccountCreationThrottle && $currentUser->isPingLimitable() ) ) {
                                $key = wfMemcKey( 'acctcreate', 'ip', $ip );
@@ -493,6 +528,7 @@ class LoginForm extends SpecialPage {
                }
 
                self::clearCreateaccountToken();
+
                return $this->initUser( $u, false );
        }
 
@@ -560,6 +596,7 @@ class LoginForm extends SpecialPage {
                // If the user doesn't have a login token yet, set one.
                if ( !self::getLoginToken() ) {
                        self::setLoginToken();
+
                        return self::NEED_TOKEN;
                }
                // If the user didn't pass a login token, tell them we need one
@@ -585,6 +622,7 @@ class LoginForm extends SpecialPage {
                // will effectively be using stale data.
                if ( $this->getUser()->getName() === $this->mUsername ) {
                        wfDebug( __METHOD__ . ": already logged in as {$this->mUsername}\n" );
+
                        return self::SUCCESS;
                }
 
@@ -610,6 +648,7 @@ class LoginForm extends SpecialPage {
                $msg = null;
                if ( !wfRunHooks( 'AbortLogin', array( $u, $this->mPassword, &$abort, &$msg ) ) ) {
                        $this->mAbortLoginErrorMsg = $msg;
+
                        return $abort;
                }
 
@@ -674,6 +713,7 @@ class LoginForm extends SpecialPage {
                        $retval = self::SUCCESS;
                }
                wfRunHooks( 'LoginAuthenticateAudit', array( $u, $this->mPassword, $retval ) );
+
                return $retval;
        }
 
@@ -732,17 +772,23 @@ class LoginForm extends SpecialPage {
 
                if ( $this->getUser()->isBlockedFromCreateAccount() ) {
                        wfDebug( __METHOD__ . ": user is blocked from account creation\n" );
+
                        return self::CREATE_BLOCKED;
                }
+
                if ( !$wgAuth->autoCreate() ) {
                        return self::NOT_EXISTS;
                }
+
                if ( !$wgAuth->userExists( $user->getName() ) ) {
                        wfDebug( __METHOD__ . ": user does not exist\n" );
+
                        return self::NOT_EXISTS;
                }
+
                if ( !$wgAuth->authenticate( $user->getName(), $this->mPassword ) ) {
                        wfDebug( __METHOD__ . ": \$wgAuth->authenticate() returned false, aborting\n" );
+
                        return self::WRONG_PLUGIN_PASS;
                }
 
@@ -751,6 +797,7 @@ class LoginForm extends SpecialPage {
                        // Hook point to add extra creation throttles and blocks
                        wfDebug( "LoginForm::attemptAutoCreate: a hook blocked creation: $abortError\n" );
                        $this->mAbortLoginErrorMsg = $abortError;
+
                        return self::ABORTED;
                }
 
@@ -760,6 +807,7 @@ class LoginForm extends SpecialPage {
                if ( !$status->isOK() ) {
                        $errors = $status->getErrorsByType( 'error' );
                        $this->mAbortLoginErrorMsg = $errors[0]['message'];
+
                        return self::ABORTED;
                }
 
@@ -870,8 +918,8 @@ class LoginForm extends SpecialPage {
                        case self::THROTTLED:
                                $error = $this->mAbortLoginErrorMsg ?: 'login-throttled';
                                $this->mainLoginForm( $this->msg( $error )
-                               ->params ( $this->getLanguage()->formatDuration( $wgPasswordAttemptThrottle['seconds'] ) )
-                               ->text()
+                                       ->params( $this->getLanguage()->formatDuration( $wgPasswordAttemptThrottle['seconds'] ) )
+                                       ->text()
                                );
                                break;
                        case self::USER_BLOCKED:
@@ -912,7 +960,9 @@ class LoginForm extends SpecialPage {
         * @param string $emailText message name of email text
         * @return Status object
         */
-       function mailPasswordInternal( $u, $throttle = true, $emailTitle = 'passwordremindertitle', $emailText = 'passwordremindertext' ) {
+       function mailPasswordInternal( $u, $throttle = true, $emailTitle = 'passwordremindertitle',
+               $emailText = 'passwordremindertext'
+       ) {
                global $wgNewPasswordExpiry;
 
                if ( $u->getEmail() == '' ) {
@@ -1133,6 +1183,7 @@ class LoginForm extends SpecialPage {
                                throw new PermissionsError( 'createaccount', $permErrors );
                        } elseif ( $user->isBlockedFromCreateAccount() ) {
                                $this->userBlockedMessage( $user->isBlockedFromCreateAccount() );
+
                                return;
                        } elseif ( wfReadOnly() ) {
                                throw new ReadOnlyError;
@@ -1324,6 +1375,7 @@ class LoginForm extends SpecialPage {
         */
        function hasSessionCookie() {
                global $wgDisableCookieCheck;
+
                return $wgDisableCookieCheck ? true : $this->getRequest()->checkSessionCookie();
        }
 
@@ -1333,6 +1385,7 @@ class LoginForm extends SpecialPage {
         */
        public static function getLoginToken() {
                global $wgRequest;
+
                return $wgRequest->getSessionData( 'wsLoginToken' );
        }
 
@@ -1360,6 +1413,7 @@ class LoginForm extends SpecialPage {
         */
        public static function getCreateaccountToken() {
                global $wgRequest;
+
                return $wgRequest->getSessionData( 'wsCreateaccountToken' );
        }
 
@@ -1442,6 +1496,7 @@ class LoginForm extends SpecialPage {
                                        $links[] = $this->makeLanguageSelectorLink( $parts[0], trim( $parts[1] ) );
                                }
                        }
+
                        return count( $links ) > 0 ? $this->msg( 'loginlanguagelabel' )->rawParams(
                                $this->getLanguage()->pipeList( $links ) )->escaped() : '';
                } else {
index d957e87..d65ac85 100644 (file)
@@ -27,7 +27,6 @@
  * @ingroup SpecialPage
  */
 class SpecialUserlogout extends UnlistedSpecialPage {
-
        function __construct() {
                parent::__construct( 'Userlogout' );
        }
index 3ef8f8b..2a54ad7 100644 (file)
@@ -55,6 +55,7 @@ class UserrightsPage extends SpecialPage {
                if ( $user->getId() == 0 ) {
                        return false;
                }
+
                return !empty( $available['add'] )
                        || !empty( $available['remove'] )
                        || ( ( $this->isself || !$checkIfSelf ) &&
@@ -118,6 +119,7 @@ class UserrightsPage extends SpecialPage {
                                $out = $this->getOutput();
                                $out->wrapWikiMsg( "<div class=\"successbox\">\n$1\n</div>", 'userrights-removed-self' );
                                $out->returnToMain();
+
                                return;
                        }
 
@@ -148,6 +150,7 @@ class UserrightsPage extends SpecialPage {
                        $status = $this->fetchUser( $this->mTarget );
                        if ( !$status->isOK() ) {
                                $this->getOutput()->addWikiText( $status->getWikiText() );
+
                                return;
                        }
 
@@ -156,7 +159,9 @@ class UserrightsPage extends SpecialPage {
                                $targetUser->clearInstanceCache(); // bug 38989
                        }
 
-                       if ( $request->getVal( 'conflictcheck-originalgroups' ) !== implode( ',', $targetUser->getGroups() ) ) {
+                       if ( $request->getVal( 'conflictcheck-originalgroups' )
+                               !== implode( ',', $targetUser->getGroups() )
+                       ) {
                                $out->addWikiMsg( 'userrights-conflict' );
                        } else {
                                $this->saveUserGroups(
@@ -166,6 +171,7 @@ class UserrightsPage extends SpecialPage {
                                );
 
                                $out->redirect( $this->getSuccessURL() );
+
                                return;
                        }
                }
@@ -266,6 +272,7 @@ class UserrightsPage extends SpecialPage {
                if ( $newGroups != $oldGroups ) {
                        $this->addLogEntry( $user, $oldGroups, $newGroups, $reason );
                }
+
                return array( $add, $remove );
        }
 
@@ -293,6 +300,7 @@ class UserrightsPage extends SpecialPage {
                $status = $this->fetchUser( $username );
                if ( !$status->isOK() ) {
                        $this->getOutput()->addWikiText( $status->getWikiText() );
+
                        return;
                } else {
                        $user = $status->value;
@@ -407,10 +415,25 @@ class UserrightsPage extends SpecialPage {
        function switchForm() {
                global $wgScript;
                $this->getOutput()->addHTML(
-                       Html::openElement( 'form', array( 'method' => 'get', 'action' => $wgScript, 'name' => 'uluser', 'id' => 'mw-userrights-form1' ) ) .
+                       Html::openElement(
+                               'form',
+                               array(
+                                       'method' => 'get',
+                                       'action' => $wgScript,
+                                       'name' => 'uluser',
+                                       'id' => 'mw-userrights-form1'
+                               )
+                       ) .
                        Html::hidden( 'title', $this->getPageTitle()->getPrefixedText() ) .
                        Xml::fieldset( $this->msg( 'userrights-lookup-user' )->text() ) .
-                       Xml::inputLabel( $this->msg( 'userrights-user-editname' )->text(), 'user', 'username', 30, str_replace( '_', ' ', $this->mTarget ), array( 'autofocus' => true ) ) . ' ' .
+                       Xml::inputLabel(
+                               $this->msg( 'userrights-user-editname' )->text(),
+                               'user',
+                               'username',
+                               30,
+                               str_replace( '_', ' ', $this->mTarget ),
+                               array( 'autofocus' => true )
+                       ) . ' ' .
                        Xml::submitButton( $this->msg( 'editusergroup' )->text() ) .
                        Html::closeElement( 'fieldset' ) .
                        Html::closeElement( 'form' ) . "\n"
@@ -479,27 +502,45 @@ class UserrightsPage extends SpecialPage {
                        $grouplist = $this->msg( 'userrights-groupsmember', $count, $user->getName() )->parse();
                        $grouplist = '<p>' . $grouplist . ' ' . $displayedList . "</p>\n";
                }
+
                $count = count( $autoList );
                if ( $count > 0 ) {
-                       $autogrouplistintro = $this->msg( 'userrights-groupsmember-auto', $count, $user->getName() )->parse();
+                       $autogrouplistintro = $this->msg( 'userrights-groupsmember-auto', $count, $user->getName() )
+                               ->parse();
                        $grouplist .= '<p>' . $autogrouplistintro . ' ' . $displayedAutolist . "</p>\n";
                }
 
                $userToolLinks = Linker::userToolLinks(
-                               $user->getId(),
-                               $user->getName(),
-                               false, /* default for redContribsWhenNoEdits */
-                               Linker::TOOL_LINKS_EMAIL /* Add "send e-mail" link */
+                       $user->getId(),
+                       $user->getName(),
+                       false, /* default for redContribsWhenNoEdits */
+                       Linker::TOOL_LINKS_EMAIL /* Add "send e-mail" link */
                );
 
                $this->getOutput()->addHTML(
-                       Xml::openElement( 'form', array( 'method' => 'post', 'action' => $this->getPageTitle()->getLocalURL(), 'name' => 'editGroup', 'id' => 'mw-userrights-form2' ) ) .
+                       Xml::openElement(
+                               'form',
+                               array(
+                                       'method' => 'post',
+                                       'action' => $this->getPageTitle()->getLocalURL(),
+                                       'name' => 'editGroup',
+                                       'id' => 'mw-userrights-form2'
+                               )
+                       ) .
                        Html::hidden( 'user', $this->mTarget ) .
                        Html::hidden( 'wpEditToken', $this->getUser()->getEditToken( $this->mTarget ) ) .
-                       Html::hidden( 'conflictcheck-originalgroups', implode( ',', $user->getGroups() ) ) . // Conflict detection
+                       Html::hidden(
+                               'conflictcheck-originalgroups',
+                               implode( ',', $user->getGroups() )
+                       ) . // Conflict detection
                        Xml::openElement( 'fieldset' ) .
-                       Xml::element( 'legend', array(), $this->msg( 'userrights-editusergroup', $user->getName() )->text() ) .
-                       $this->msg( 'editinguser' )->params( wfEscapeWikiText( $user->getName() ) )->rawParams( $userToolLinks )->parse() .
+                       Xml::element(
+                               'legend',
+                               array(),
+                               $this->msg( 'userrights-editusergroup', $user->getName() )->text()
+                       ) .
+                       $this->msg( 'editinguser' )->params( wfEscapeWikiText( $user->getName() ) )
+                               ->rawParams( $userToolLinks )->parse() .
                        $this->msg( 'userrights-groups-help', $user->getName() )->parse() .
                        $grouplist .
                        Xml::tags( 'p', null, $this->groupCheckboxes( $groups, $user ) ) .
@@ -517,7 +558,9 @@ class UserrightsPage extends SpecialPage {
                                        <td></td>
                                        <td class='mw-submit'>" .
                                                Xml::submitButton( $this->msg( 'saveusergroups' )->text(),
-                                                       array( 'name' => 'saveusergroups' ) + Linker::tooltipAndAccesskeyAttribs( 'userrights-set' ) ) .
+                                                       array( 'name' => 'saveusergroups' ) +
+                                                               Linker::tooltipAndAccesskeyAttribs( 'userrights-set' )
+                                               ) .
                                        "</td>
                                </tr>" .
                        Xml::closeElement( 'table' ) . "\n" .
@@ -602,8 +645,13 @@ class UserrightsPage extends SpecialPage {
                                continue;
                        }
                        // Messages: userrights-changeable-col, userrights-unchangeable-col
-                       $ret .= Xml::element( 'th', null, $this->msg( 'userrights-' . $name . '-col', count( $column ) )->text() );
+                       $ret .= Xml::element(
+                               'th',
+                               null,
+                               $this->msg( 'userrights-' . $name . '-col', count( $column ) )->text()
+                       );
                }
+
                $ret .= "</tr>\n<tr>\n";
                foreach ( $columns as $column ) {
                        if ( $column === array() ) {
@@ -640,7 +688,11 @@ class UserrightsPage extends SpecialPage {
        private function canRemove( $group ) {
                // $this->changeableGroups()['remove'] doesn't work, of course. Thanks, PHP.
                $groups = $this->changeableGroups();
-               return in_array( $group, $groups['remove'] ) || ( $this->isself && in_array( $group, $groups['remove-self'] ) );
+
+               return in_array(
+                       $group,
+                       $groups['remove'] ) || ( $this->isself && in_array( $group, $groups['remove-self'] )
+               );
        }
 
        /**
@@ -649,13 +701,22 @@ class UserrightsPage extends SpecialPage {
         */
        private function canAdd( $group ) {
                $groups = $this->changeableGroups();
-               return in_array( $group, $groups['add'] ) || ( $this->isself && in_array( $group, $groups['add-self'] ) );
+
+               return in_array(
+                       $group,
+                       $groups['add'] ) || ( $this->isself && in_array( $group, $groups['add-self'] )
+               );
        }
 
        /**
         * Returns $this->getUser()->changeableGroups()
         *
-        * @return Array array( 'add' => array( addablegroups ), 'remove' => array( removablegroups ), 'add-self' => array( addablegroups to self ), 'remove-self' => array( removable groups from self ) )
+        * @return array array(
+        *   'add' => array( addablegroups ),
+        *   'remove' => array( removablegroups ),
+        *   'add-self' => array( addablegroups to self ),
+        *   'remove-self' => array( removable groups from self )
+        *  )
         */
        function changeableGroups() {
                return $this->getUser()->changeableGroups();
index d509f21..c8add01 100644 (file)
@@ -29,7 +29,6 @@
  * @ingroup SpecialPage
  */
 class SpecialVersion extends SpecialPage {
-
        protected $firstExtOpened = false;
 
        protected static $extensionTypes = false;
@@ -142,7 +141,11 @@ class SpecialVersion extends SpecialPage {
         * @return string
         */
        private static function getMediaWikiCredits() {
-               $ret = Xml::element( 'h2', array( 'id' => 'mw-version-license' ), wfMessage( 'version-license' )->text() );
+               $ret = Xml::element(
+                       'h2',
+                       array( 'id' => 'mw-version-license' ),
+                       wfMessage( 'version-license' )->text()
+               );
 
                // This text is always left-to-right.
                $ret .= '<div class="plainlinks">';
@@ -163,12 +166,15 @@ class SpecialVersion extends SpecialPage {
                global $wgLang;
 
                if ( defined( 'MEDIAWIKI_INSTALL' ) ) {
-                       $othersLink = '[//www.mediawiki.org/wiki/Special:Version/Credits ' . wfMessage( 'version-poweredby-others' )->text() . ']';
+                       $othersLink = '[//www.mediawiki.org/wiki/Special:Version/Credits ' .
+                               wfMessage( 'version-poweredby-others' )->text() . ']';
                } else {
-                       $othersLink = '[[Special:Version/Credits|' . wfMessage( 'version-poweredby-others' )->text() . ']]';
+                       $othersLink = '[[Special:Version/Credits|' .
+                               wfMessage( 'version-poweredby-others' )->text() . ']]';
                }
 
-               $translatorsLink = '[//translatewiki.net/wiki/Translating:MediaWiki/Credits ' . wfMessage( 'version-poweredby-translators' )->text() . ']';
+               $translatorsLink = '[//translatewiki.net/wiki/Translating:MediaWiki/Credits ' .
+                       wfMessage( 'version-poweredby-translators' )->text() . ']';
 
                $authorList = array(
                        'Magnus Manske', 'Brion Vibber', 'Lee Daniel Crocker',
@@ -205,7 +211,11 @@ class SpecialVersion extends SpecialPage {
                // Allow a hook to add/remove items.
                wfRunHooks( 'SoftwareInfo', array( &$software ) );
 
-               $out = Xml::element( 'h2', array( 'id' => 'mw-version-software' ), wfMessage( 'version-software' )->text() ) .
+               $out = Xml::element(
+                               'h2',
+                               array( 'id' => 'mw-version-software' ),
+                               wfMessage( 'version-software' )->text()
+                       ) .
                                Xml::openElement( 'table', array( 'class' => 'wikitable plainlinks', 'id' => 'sv-software' ) ) .
                                "<tr>
                                        <th>" . wfMessage( 'version-software-product' )->text() . "</th>
@@ -255,6 +265,7 @@ class SpecialVersion extends SpecialPage {
                }
 
                wfProfileOut( __METHOD__ );
+
                return $version;
        }
 
@@ -283,6 +294,7 @@ class SpecialVersion extends SpecialPage {
                }
 
                wfProfileOut( __METHOD__ );
+
                return $v;
        }
 
@@ -323,12 +335,14 @@ class SpecialVersion extends SpecialPage {
                        preg_match( "/^(\d+\.\d+)/", $wgVersion, $versionParts );
                        $versionUrl = "https://www.mediawiki.org/wiki/MediaWiki_{$versionParts[1]}";
                }
+
                return "[$versionUrl $wgVersion]";
        }
 
        /**
         * @since 1.22 Returns the HEAD date in addition to the sha1 and link
-        * @return bool|string wgVersion + HEAD sha1 stripped to the first 7 chars with link and date, or false on failure
+        * @return bool|string wgVersion + HEAD sha1 stripped to the first 7 chars
+        *   with link and date, or false on failure
         */
        private static function getVersionLinkedGit() {
                global $IP, $wgLang;
@@ -396,6 +410,7 @@ class SpecialVersion extends SpecialPage {
         */
        public static function getExtensionTypeName( $type ) {
                $types = self::getExtensionTypes();
+
                return isset( $types[$type] ) ? $types[$type] : $types['other'];
        }
 
@@ -418,7 +433,11 @@ class SpecialVersion extends SpecialPage {
                 */
                wfRunHooks( 'SpecialVersionExtensionTypes', array( &$this, &$extensionTypes ) );
 
-               $out = Xml::element( 'h2', array( 'id' => 'mw-version-ext' ), $this->msg( 'version-extensions' )->text() ) .
+               $out = Xml::element(
+                               'h2',
+                               array( 'id' => 'mw-version-ext' ),
+                               $this->msg( 'version-extensions' )->text()
+                       ) .
                        Xml::openElement( 'table', array( 'class' => 'wikitable plainlinks', 'id' => 'sv-ext' ) );
 
                // Make sure the 'other' type is set to an array.
@@ -469,7 +488,7 @@ class SpecialVersion extends SpecialPage {
                                )
                        );
 
-                       array_walk( $tags, function( &$value ) {
+                       array_walk( $tags, function ( &$value ) {
                                $value = '&lt;' . htmlentities( $value ) . '&gt;';
                        } );
                        $out .= $this->listToText( $tags );
@@ -613,7 +632,12 @@ class SpecialVersion extends SpecialPage {
                        }
                }
 
-               $versionString = Html::rawElement( 'span', array( 'class' => 'mw-version-ext-version' ), $canonicalVersion );
+               $versionString = Html::rawElement(
+                       'span',
+                       array( 'class' => 'mw-version-ext-version' ),
+                       $canonicalVersion
+               );
+
                if ( $vcsVersion ) {
                        if ( $vcsLink ) {
                                $vcsVerString = Linker::makeExternalLink(
@@ -633,9 +657,9 @@ class SpecialVersion extends SpecialPage {
 
                        if ( $vcsDate ) {
                                $vcsTimeString = Html::element( 'span',
-                                               array( 'class' => 'mw-version-ext-vcs-timestamp' ),
-                                               $this->getLanguage()->timeanddate( $vcsDate )
-                                       );
+                                       array( 'class' => 'mw-version-ext-vcs-timestamp' ),
+                                       $this->getLanguage()->timeanddate( $vcsDate )
+                               );
                                $versionString .= " {$vcsTimeString}";
                        }
                        $versionString = Html::rawElement( 'span',
@@ -784,6 +808,7 @@ class SpecialVersion extends SpecialPage {
         */
        private function IPInfo() {
                $ip = str_replace( '--', ' - ', htmlspecialchars( $this->getRequest()->getIP() ) );
+
                return "<!-- visited from $ip -->\n<span style='display:none'>visited from $ip</span>";
        }
 
@@ -824,13 +849,11 @@ class SpecialVersion extends SpecialPage {
                                        $text = $this->msg( 'version-poweredby-others' )->text();
                                }
                                $list[] = $text;
-
                        } elseif ( substr( $item, -5 ) == ' ...]' ) {
                                $hasOthers = true;
                                $list[] = $this->getOutput()->parseInline(
                                        substr( $item, 0, -4 ) . $this->msg( 'version-poweredby-others' )->text() . "]"
                                );
-
                        } else {
                                $list[] = $this->getOutput()->parseInline( $item );
                        }
@@ -850,7 +873,7 @@ class SpecialVersion extends SpecialPage {
         * Obtains the full path of an extensions authors or credits file if
         * one exists.
         *
-        * @param string $extDir: Path to the extensions root directory
+        * @param string $extDir Path to the extensions root directory
         *
         * @since 1.23
         *
@@ -879,7 +902,7 @@ class SpecialVersion extends SpecialPage {
         * Obtains the full path of an extensions copying or license file if
         * one exists.
         *
-        * @param string $extDir: Path to the extensions root directory
+        * @param string $extDir Path to the extensions root directory
         *
         * @since 1.23
         *
@@ -924,7 +947,9 @@ class SpecialVersion extends SpecialPage {
                        if ( $sort ) {
                                sort( $list );
                        }
-                       return $this->getLanguage()->listToText( array_map( array( __CLASS__, 'arrayToString' ), $list ) );
+
+                       return $this->getLanguage()
+                               ->listToText( array_map( array( __CLASS__, 'arrayToString' ), $list ) );
                }
        }
 
@@ -942,6 +967,7 @@ class SpecialVersion extends SpecialPage {
                }
                if ( is_object( $list ) ) {
                        $class = wfMessage( 'parentheses' )->params( get_class( $list ) )->escaped();
+
                        return $class;
                } elseif ( !is_array( $list ) ) {
                        return $list;
@@ -951,6 +977,7 @@ class SpecialVersion extends SpecialPage {
                        } else {
                                $class = $list[0];
                        }
+
                        return wfMessage( 'parentheses' )->params( "$class, {$list[1]}" )->escaped();
                }
        }
@@ -1063,6 +1090,7 @@ class SpecialVersion extends SpecialPage {
         */
        public static function getGitHeadSha1( $dir ) {
                $repo = new GitInfo( $dir );
+
                return $repo->getHeadSHA1();
        }
 
@@ -1086,7 +1114,11 @@ class SpecialVersion extends SpecialPage {
                        'dir' => $language->getDir(),
                        'lang' => $language->getCode()
                );
-               $out = Html::element( 'h2', array( 'id' => 'mw-version-entrypoints' ), $this->msg( 'version-entrypoints' )->text() ) .
+               $out = Html::element(
+                               'h2',
+                               array( 'id' => 'mw-version-entrypoints' ),
+                               $this->msg( 'version-entrypoints' )->text()
+                       ) .
                        Html::openElement( 'table',
                                array(
                                        'class' => 'wikitable plainlinks',
@@ -1096,8 +1128,16 @@ class SpecialVersion extends SpecialPage {
                                )
                        ) .
                        Html::openElement( 'tr' ) .
-                       Html::element( 'th', $thAttribures, $this->msg( 'version-entrypoints-header-entrypoint' )->text() ) .
-                       Html::element( 'th', $thAttribures, $this->msg( 'version-entrypoints-header-url' )->text() ) .
+                       Html::element(
+                               'th',
+                               $thAttribures,
+                               $this->msg( 'version-entrypoints-header-entrypoint' )->text()
+                       ) .
+                       Html::element(
+                               'th',
+                               $thAttribures,
+                               $this->msg( 'version-entrypoints-header-url' )->text()
+                       ) .
                        Html::closeElement( 'tr' );
 
                foreach ( $entryPoints as $message => $value ) {
@@ -1111,11 +1151,11 @@ class SpecialVersion extends SpecialPage {
                }
 
                $out .= Html::closeElement( 'table' );
+
                return $out;
        }
 
        protected function getGroupName() {
                return 'wiki';
        }
-
 }
index 51d9af3..b8c0bb2 100644 (file)
@@ -38,9 +38,11 @@ class WantedCategoriesPage extends WantedQueryPage {
        function getQueryInfo() {
                return array(
                        'tables' => array( 'categorylinks', 'page' ),
-                       'fields' => array( 'namespace' => NS_CATEGORY,
-                                       'title' => 'cl_to',
-                                       'value' => 'COUNT(*)' ),
+                       'fields' => array(
+                               'namespace' => NS_CATEGORY,
+                               'title' => 'cl_to',
+                               'value' => 'COUNT(*)'
+                       ),
                        'conds' => array( 'page_title IS NULL' ),
                        'options' => array( 'GROUP BY' => 'cl_to' ),
                        'join_conds' => array( 'page' => array( 'LEFT JOIN',
@@ -73,7 +75,7 @@ class WantedCategoriesPage extends WantedQueryPage {
                        __METHOD__
                );
                foreach ( $categoryRes as $row ) {
-                       $this->currentCategoryCounts[ $row->cat_title ] = intval( $row->cat_pages );
+                       $this->currentCategoryCounts[$row->cat_title] = intval( $row->cat_pages );
                }
 
                // Back to start for display
@@ -104,8 +106,8 @@ class WantedCategoriesPage extends WantedQueryPage {
                } else {
                        $plink = Linker::link( $nt, $text );
 
-                       $currentValue = isset( $this->currentCategoryCounts[ $result->title ] )
-                               ? $this->currentCategoryCounts[ $result->title ]
+                       $currentValue = isset( $this->currentCategoryCounts[$result->title] )
+                               ? $this->currentCategoryCounts[$result->title]
                                : 0;
 
                        // If the category has been created or emptied since the list was refreshed, strike it
index b5c1fdb..fa68504 100644 (file)
@@ -75,9 +75,11 @@ class WantedFilesPage extends WantedQueryPage {
        function getQueryInfo() {
                return array(
                        'tables' => array( 'imagelinks', 'image' ),
-                       'fields' => array( 'namespace' => NS_FILE,
-                                       'title' => 'il_to',
-                                       'value' => 'COUNT(*)' ),
+                       'fields' => array(
+                               'namespace' => NS_FILE,
+                               'title' => 'il_to',
+                               'value' => 'COUNT(*)'
+                       ),
                        'conds' => array( 'img_name IS NULL' ),
                        'options' => array( 'GROUP BY' => 'il_to' ),
                        'join_conds' => array( 'image' =>
index acec4ea..c54d9f4 100644 (file)
@@ -69,8 +69,7 @@ class WantedPagesPage extends WantedQueryPage {
                        ),
                        'conds' => array(
                                'pg1.page_namespace IS NULL',
-                               "pl_namespace NOT IN ( '" . NS_USER .
-                                       "', '" . NS_USER_TALK . "' )",
+                               "pl_namespace NOT IN ( '" . NS_USER . "', '" . NS_USER_TALK . "' )",
                                "pg2.page_namespace != '" . NS_MEDIAWIKI . "'"
                        ),
                        'options' => array(
@@ -89,6 +88,7 @@ class WantedPagesPage extends WantedQueryPage {
                );
                // Replacement for the WantedPages::getSQL hook
                wfRunHooks( 'WantedPages::getQueryInfo', array( &$this, &$query ) );
+
                return $query;
        }
 
index d13fa03..a4b9dd8 100644 (file)
@@ -32,7 +32,6 @@
  * @ingroup SpecialPage
  */
 class WantedTemplatesPage extends WantedQueryPage {
-
        function __construct( $name = 'Wantedtemplates' ) {
                parent::__construct( $name );
        }
@@ -40,16 +39,19 @@ class WantedTemplatesPage extends WantedQueryPage {
        function getQueryInfo() {
                return array(
                        'tables' => array( 'templatelinks', 'page' ),
-                       'fields' => array( 'namespace' => 'tl_namespace',
-                                       'title' => 'tl_title',
-                                       'value' => 'COUNT(*)' ),
-                       'conds' => array( 'page_title IS NULL',
-                                       'tl_namespace' => NS_TEMPLATE ),
-                       'options' => array(
-                               'GROUP BY' => array( 'tl_namespace', 'tl_title' ) ),
+                       'fields' => array(
+                               'namespace' => 'tl_namespace',
+                               'title' => 'tl_title',
+                               'value' => 'COUNT(*)'
+                       ),
+                       'conds' => array(
+                               'page_title IS NULL',
+                               'tl_namespace' => NS_TEMPLATE
+                       ),
+                       'options' => array( 'GROUP BY' => array( 'tl_namespace', 'tl_title' ) ),
                        'join_conds' => array( 'page' => array( 'LEFT JOIN',
-                                       array( 'page_namespace = tl_namespace',
-                                               'page_title = tl_title' ) ) )
+                               array( 'page_namespace = tl_namespace',
+                                       'page_title = tl_title' ) ) )
                );
        }
 
index 4c3f17b..dd9f262 100644 (file)
@@ -28,9 +28,6 @@
  * @ingroup SpecialPage
  */
 class SpecialWatchlist extends ChangesListSpecialPage {
-       /**
-        * Constructor
-        */
        public function __construct( $page = 'Watchlist', $restriction = 'viewmywatchlist' ) {
                parent::__construct( $page, $restriction );
        }
@@ -58,6 +55,7 @@ class SpecialWatchlist extends ChangesListSpecialPage {
                        }
 
                        $output->redirect( $title->getLocalURL() );
+
                        return;
                }
 
@@ -66,11 +64,13 @@ class SpecialWatchlist extends ChangesListSpecialPage {
                $user = $this->getUser();
                $opts = $this->getOptions();
 
-               if ( ( $wgEnotifWatchlist || $wgShowUpdatedMarker ) && $request->getVal( 'reset' ) &&
-                       $request->wasPosted() )
-               {
+               if ( ( $wgEnotifWatchlist || $wgShowUpdatedMarker )
+                       && $request->getVal( 'reset' )
+                       && $request->wasPosted()
+               ) {
                        $user->clearAllNotifications();
                        $output->redirect( $this->getPageTitle()->getFullURL( $opts->getChangedValues() ) );
+
                        return;
                }
 
@@ -145,6 +145,7 @@ class SpecialWatchlist extends ChangesListSpecialPage {
                // methods defined on WebRequest and removing this dependency would cause some code duplication.
                $request = new DerivativeRequest( $this->getRequest(), $params );
                $opts->fetchValuesFromRequest( $request );
+
                return $opts;
        }
 
@@ -160,7 +161,8 @@ class SpecialWatchlist extends ChangesListSpecialPage {
 
                // Calculate cutoff
                if ( $opts['days'] > 0 ) {
-                       $conds[] = 'rc_timestamp > ' . $dbr->addQuotes( $dbr->timestamp( time() - intval( $opts['days'] * 86400 ) ) );
+                       $conds[] = 'rc_timestamp > ' .
+                               $dbr->addQuotes( $dbr->timestamp( time() - intval( $opts['days'] * 86400 ) ) );
                }
 
                return $conds;
@@ -379,7 +381,8 @@ class SpecialWatchlist extends ChangesListSpecialPage {
                if ( $opts['days'] > 0 ) {
                        $timestamp = wfTimestampNow();
                        $wlInfo = $this->msg( 'wlnote2' )->numParams( round( $opts['days'] * 24 ) )->params(
-                               $lang->userDate( $timestamp, $user ), $lang->userTime( $timestamp, $user ) )->parse() . "<br />\n";
+                               $lang->userDate( $timestamp, $user ), $lang->userTime( $timestamp, $user )
+                       )->parse() . "<br />\n";
                }
 
                $nondefaults = $opts->getChangedValues();
@@ -513,7 +516,9 @@ class SpecialWatchlist extends ChangesListSpecialPage {
                $label = $this->msg( $value ? 'show' : 'hide' )->escaped();
                $options[$name] = 1 - (int)$value;
 
-               return $this->msg( $message )->rawParams( Linker::linkKnown( $this->getPageTitle(), $label, array(), $options ) )->escaped();
+               return $this->msg( $message )
+                       ->rawParams( Linker::linkKnown( $this->getPageTitle(), $label, array(), $options ) )
+                       ->escaped();
        }
 
        protected function hoursLink( $h, $options = array() ) {
@@ -529,7 +534,8 @@ class SpecialWatchlist extends ChangesListSpecialPage {
 
        protected function daysLink( $d, $options = array() ) {
                $options['days'] = $d;
-               $message = ( $d ? $this->getLanguage()->formatNum( $d ) : $this->msg( 'watchlistall2' )->escaped() );
+               $message = $d ? $this->getLanguage()->formatNum( $d )
+                       : $this->msg( 'watchlistall2' )->escaped();
 
                return Linker::linkKnown(
                        $this->getPageTitle(),
@@ -557,6 +563,7 @@ class SpecialWatchlist extends ChangesListSpecialPage {
                foreach ( $days as $d ) {
                        $days[$i++] = $this->daysLink( $d, $options );
                }
+
                return $this->msg( 'wlshowlast' )->rawParams(
                        $this->getLanguage()->pipeList( $hours ),
                        $this->getLanguage()->pipeList( $days ),
index 789ea76..0587649 100644 (file)
  *
  * @ingroup SpecialPage
  */
-class SpecialWhatLinksHere extends SpecialPage {
-
-       /**
-        * @var FormOptions
-        */
+class SpecialWhatLinksHere extends IncludableSpecialPage {
+       /** @var FormOptions */
        protected $opts;
 
        protected $selfTitle;
 
-       /**
-        * @var Title
-        */
+       /** @var Title */
        protected $target;
 
        protected $limits = array( 20, 50, 100, 250, 500 );
@@ -79,6 +74,7 @@ class SpecialWhatLinksHere extends SpecialPage {
                $this->target = Title::newFromURL( $opts->getValue( 'target' ) );
                if ( !$this->target ) {
                        $out->addHTML( $this->whatlinkshereForm() );
+
                        return;
                }
 
@@ -88,9 +84,13 @@ class SpecialWhatLinksHere extends SpecialPage {
 
                $out->setPageTitle( $this->msg( 'whatlinkshere-title', $this->target->getPrefixedText() ) );
                $out->addBacklinkSubtitle( $this->target );
-
-               $this->showIndirectLinks( 0, $this->target, $opts->getValue( 'limit' ),
-                       $opts->getValue( 'from' ), $opts->getValue( 'back' ) );
+               $this->showIndirectLinks(
+                       0,
+                       $this->target,
+                       $opts->getValue( 'limit' ),
+                       $opts->getValue( 'from' ),
+                       $opts->getValue( 'back' )
+               );
        }
 
        /**
@@ -160,7 +160,7 @@ class SpecialWhatLinksHere extends SpecialPage {
                        'rd_namespace' => $target->getNamespace(),
                        'rd_title' => $target->getDBkey(),
                        'rd_interwiki = ' . $dbr->addQuotes( '' ) . ' OR rd_interwiki IS NULL'
-               )));
+               ) ) );
 
                if ( $fetchlinks ) {
                        $options['ORDER BY'] = 'pl_from';
@@ -186,18 +186,23 @@ class SpecialWhatLinksHere extends SpecialPage {
                        );
                }
 
-               if ( ( !$fetchlinks || !$plRes->numRows() ) && ( $hidetrans || !$tlRes->numRows() ) && ( $hideimages || !$ilRes->numRows() ) ) {
+               if ( ( !$fetchlinks || !$plRes->numRows() )
+                       && ( $hidetrans || !$tlRes->numRows() )
+                       && ( $hideimages || !$ilRes->numRows() )
+               ) {
                        if ( 0 == $level ) {
-                               $out->addHTML( $this->whatlinkshereForm() );
-
-                               // Show filters only if there are links
-                               if ( $hidelinks || $hidetrans || $hideredirs || $hideimages ) {
-                                       $out->addHTML( $this->getFilterPanel() );
+                               if ( !$this->including() ) {
+                                       $out->addHTML( $this->whatlinkshereForm() );
+
+                                       // Show filters only if there are links
+                                       if ( $hidelinks || $hidetrans || $hideredirs || $hideimages ) {
+                                               $out->addHTML( $this->getFilterPanel() );
+                                       }
+                                       $errMsg = is_int( $namespace ) ? 'nolinkshere-ns' : 'nolinkshere';
+                                       $out->addWikiMsg( $errMsg, $this->target->getPrefixedText() );
                                }
-
-                               $errMsg = is_int( $namespace ) ? 'nolinkshere-ns' : 'nolinkshere';
-                               $out->addWikiMsg( $errMsg, $this->target->getPrefixedText() );
                        }
+
                        return;
                }
 
@@ -246,14 +251,15 @@ class SpecialWhatLinksHere extends SpecialPage {
                $prevId = $from;
 
                if ( $level == 0 ) {
-                       $out->addHTML( $this->whatlinkshereForm() );
-                       $out->addHTML( $this->getFilterPanel() );
-                       $out->addWikiMsg( 'linkshere', $this->target->getPrefixedText() );
+                       if ( !$this->including() ) {
+                               $out->addHTML( $this->whatlinkshereForm() );
+                               $out->addHTML( $this->getFilterPanel() );
+                               $out->addWikiMsg( 'linkshere', $this->target->getPrefixedText() );
 
-                       $prevnext = $this->getPrevNext( $prevId, $nextId );
-                       $out->addHTML( $prevnext );
+                               $prevnext = $this->getPrevNext( $prevId, $nextId );
+                               $out->addHTML( $prevnext );
+                       }
                }
-
                $out->addHTML( $this->listStart( $level ) );
                foreach ( $rows as $row ) {
                        $nt = Title::makeTitle( $row->page_namespace, $row->page_title );
@@ -270,7 +276,9 @@ class SpecialWhatLinksHere extends SpecialPage {
                $out->addHTML( $this->listEnd() );
 
                if ( $level == 0 ) {
-                       $out->addHTML( $prevnext );
+                       if ( !$this->including() ) {
+                               $out->addHTML( $prevnext );
+                       }
                }
        }
 
@@ -319,12 +327,16 @@ class SpecialWhatLinksHere extends SpecialPage {
                }
 
                if ( count( $props ) ) {
-                       $propsText = $this->msg( 'parentheses' )->rawParams( implode( $msgcache['semicolon-separator'], $props ) )->escaped();
+                       $propsText = $this->msg( 'parentheses' )
+                               ->rawParams( implode( $msgcache['semicolon-separator'], $props ) )->escaped();
                }
 
                # Space for utilities links, with a what-links-here link provided
                $wlhLink = $this->wlhLink( $nt, $msgcache['whatlinkshere-links'] );
-               $wlh = Xml::wrapClass( $this->msg( 'parentheses' )->rawParams( $wlhLink )->escaped(), 'mw-whatlinkshere-tools' );
+               $wlh = Xml::wrapClass(
+                       $this->msg( 'parentheses' )->rawParams( $wlhLink )->escaped(),
+                       'mw-whatlinkshere-tools'
+               );
 
                return $notClose ?
                        Xml::openElement( 'li' ) . "$link $propsText $dirmark $wlh\n" :
@@ -412,7 +424,7 @@ class SpecialWhatLinksHere extends SpecialPage {
 
                # Target input
                $f .= Xml::inputLabel( $this->msg( 'whatlinkshere-page' )->text(), 'target',
-                               'mw-whatlinkshere-target', 40, $target );
+                       'mw-whatlinkshere-target', 40, $target );
 
                $f .= ' ';
 
@@ -458,7 +470,8 @@ class SpecialWhatLinksHere extends SpecialPage {
                        $types[] = 'hideimages';
                }
 
-               // Combined message keys: 'whatlinkshere-hideredirs', 'whatlinkshere-hidetrans', 'whatlinkshere-hidelinks', 'whatlinkshere-hideimages'
+               // Combined message keys: 'whatlinkshere-hideredirs', 'whatlinkshere-hidetrans',
+               // 'whatlinkshere-hidelinks', 'whatlinkshere-hideimages'
                // To be sure they will be found by grep
                foreach ( $types as $type ) {
                        $chosen = $this->opts->getValue( $type );
@@ -467,7 +480,11 @@ class SpecialWhatLinksHere extends SpecialPage {
                        $links[] = $this->msg( "whatlinkshere-{$type}" )->rawParams(
                                $this->makeSelfLink( $msg, array_merge( $changed, $overrides ) ) )->escaped();
                }
-               return Xml::fieldset( $this->msg( 'whatlinkshere-filters' )->text(), $this->getLanguage()->pipeList( $links ) );
+
+               return Xml::fieldset(
+                       $this->msg( 'whatlinkshere-filters' )->text(),
+                       $this->getLanguage()->pipeList( $links )
+               );
        }
 
        protected function getGroupName() {
index 2ddde43..e05faef 100644 (file)
@@ -55,7 +55,13 @@ class WithoutInterwikiPage extends PageQueryPage {
                        Html::openElement( 'fieldset' ) . "\n" .
                        Html::element( 'legend', null, $this->msg( 'withoutinterwiki-legend' )->text() ) . "\n" .
                        Html::hidden( 'title', $t->getPrefixedText() ) . "\n" .
-                       Xml::inputLabel( $this->msg( 'allpagesprefix' )->text(), 'prefix', 'wiprefix', 20, $prefix ) . "\n" .
+                       Xml::inputLabel(
+                               $this->msg( 'allpagesprefix' )->text(),
+                               'prefix',
+                               'wiprefix',
+                               20,
+                               $prefix
+                       ) . "\n" .
                        Xml::submitButton( $this->msg( 'withoutinterwiki-submit' )->text() ) . "\n" .
                        Html::closeElement( 'fieldset' ) . "\n" .
                        Html::closeElement( 'form' );
@@ -80,19 +86,23 @@ class WithoutInterwikiPage extends PageQueryPage {
        function getQueryInfo() {
                $query = array(
                        'tables' => array( 'page', 'langlinks' ),
-                       'fields' => array( 'namespace' => 'page_namespace',
-                                       'title' => 'page_title',
-                                       'value' => 'page_title' ),
-                       'conds' => array( 'll_title IS NULL',
-                                       'page_namespace' => MWNamespace::getContentNamespaces(),
-                                       'page_is_redirect' => 0 ),
-                       'join_conds' => array( 'langlinks' => array(
-                                       'LEFT JOIN', 'll_from = page_id' ) )
+                       'fields' => array(
+                               'namespace' => 'page_namespace',
+                               'title' => 'page_title',
+                               'value' => 'page_title'
+                       ),
+                       'conds' => array(
+                               'll_title IS NULL',
+                               'page_namespace' => MWNamespace::getContentNamespaces(),
+                               'page_is_redirect' => 0
+                       ),
+                       'join_conds' => array( 'langlinks' => array( 'LEFT JOIN', 'll_from = page_id' ) )
                );
                if ( $this->prefix ) {
                        $dbr = wfGetDB( DB_SLAVE );
                        $query['conds'][] = 'page_title ' . $dbr->buildLike( $this->prefix, $dbr->anyString() );
                }
+
                return $query;
        }
 
diff --git a/includes/title/MalformedTitleException.php b/includes/title/MalformedTitleException.php
new file mode 100644 (file)
index 0000000..4b14a19
--- /dev/null
@@ -0,0 +1,33 @@
+<?php
+/**
+ * Representation of a page title within %MediaWiki.
+ *
+ * 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 Daniel Kinzler
+ */
+
+/**
+ * MalformedTitleException is thrown when a TitleParser is unable to parse a title string.
+ *
+ * @license GPL 2+
+ * @author Daniel Kinzler
+ */
+class MalformedTitleException extends Exception {
+
+}
diff --git a/includes/title/MediaWikiPageLinkRenderer.php b/includes/title/MediaWikiPageLinkRenderer.php
new file mode 100644 (file)
index 0000000..62ed4c2
--- /dev/null
@@ -0,0 +1,131 @@
+<?php
+/**
+ * A service for generating links from page titles
+ *
+ * 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 Daniel Kinzler
+ */
+
+/**
+ * A service for generating links from page titles.
+ *
+ * @see https://www.mediawiki.org/wiki/Requests_for_comment/TitleValue
+ */
+class MediaWikiPageLinkRenderer implements PageLinkRenderer {
+
+       /**
+        * @var TitleFormatter
+        */
+       protected $formatter;
+
+       /**
+        * @var string
+        */
+       protected $baseUrl;
+
+       /**
+        * @note $formatter and $baseUrl are currently not used for generating links,
+        * since we still rely on the Linker class to generate the actual HTML.
+        * Once this is reversed so that  Linker becomes a legacy interface to
+        * HtmlPageLinkRenderer, we will be using them, so it seems prudent to
+        * already declare the dependency and inject them.
+        *
+        * @param TitleFormatter $formatter formatter for generating the target title string
+        * @param string $baseUrl (currently unused, pending refactoring of Linker).
+        *        Defaults to $wgArticlePath.
+        */
+       public function __construct( TitleFormatter $formatter, $baseUrl = null ) {
+               if ( $baseUrl === null ) {
+                       $baseUrl = $GLOBALS['wgArticlePath'];
+               }
+
+               $this->formatter = $formatter;
+               $this->baseUrl = $baseUrl;
+       }
+
+       /**
+        * Returns the (partial) URL for the given page (including any section identifier).
+        *
+        * @param TitleValue $page The link's target
+        * @param array $params any additional URL parameters.
+        *
+        * @return string
+        */
+       public function getPageUrl( TitleValue $page, $params = array() ) {
+               //TODO: move the code from Linker::linkUrl here!
+               //The below is just a rough estimation!
+
+               $name = $this->formatter->getPrefixedText( $page );
+               $name = str_replace( ' ', '_', $name );
+               $name = wfUrlencode( $name );
+
+               $url = $this->baseUrl . $name;
+
+               if ( $params ) {
+                       $separator = ( strpos( $url, '?' ) ) ? '&' : '?';
+                       $url .= $separator . wfArrayToCgi( $params );
+               }
+
+               $fragment = $page->getFragment();
+               if ( $fragment !== '' ) {
+                       $url = $url . '#' . wfUrlencode( $fragment );
+               }
+
+               return $url;
+       }
+
+       /**
+        * Returns an HTML link to the given page, using the given surface text.
+        *
+        * @param TitleValue $page The link's target
+        * @param string $text The link's surface text (will be derived from $page if not given).
+        *
+        * @return string
+        */
+       public function renderHtmlLink( TitleValue $page, $text = null ) {
+               if ( $text === null ) {
+                       $text = $this->formatter->getFullText( $page );
+               }
+
+               // TODO: move the logic implemented by Linker here,
+               // using $this->formatter and $this->baseUrl, and
+               // re-implement Linker to use a HtmlPageLinkRenderer.
+               $title = Title::newFromTitleValue( $page );
+               $link = Linker::link( $title, htmlspecialchars( $text ) );
+               return $link;
+       }
+
+       /**
+        * Returns a wikitext link to the given page, using the given surface text.
+        *
+        * @param TitleValue $page The link's target
+        * @param string $text The link's surface text (will be derived from $page if not given).
+        *
+        * @return string
+        */
+       public function renderWikitextLink( TitleValue $page, $text = null ) {
+               if ( $text === null ) {
+                       $text = $this->formatter->getFullText( $page );
+               }
+
+               $name = $this->formatter->getFullText( $page );
+
+               return '[[:' . $name . '|' . wfEscapeWikiText( $text ) . ']]';
+       }
+}
diff --git a/includes/title/MediaWikiTitleCodec.php b/includes/title/MediaWikiTitleCodec.php
new file mode 100644 (file)
index 0000000..878f95d
--- /dev/null
@@ -0,0 +1,391 @@
+<?php
+/**
+ * A codec for %MediaWiki page titles.
+ *
+ * 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 Daniel Kinzler
+ */
+
+/**
+ * A codec for %MediaWiki page titles.
+ *
+ * @note: Normalization and validation is applied while parsing, not when formatting.
+ * It's possible to construct a TitleValue with an invalid title, and use MediaWikiTitleCodec
+ * to generate an (invalid) title string from it. TitleValues should be constructed only
+ * via parseTitle() or from a (semi)trusted source, such as the database.
+ *
+ * @see https://www.mediawiki.org/wiki/Requests_for_comment/TitleValue
+ */
+class MediaWikiTitleCodec implements TitleFormatter, TitleParser {
+
+       /**
+        * @var Language
+        */
+       protected $language;
+
+       /**
+        * @var GenderCache
+        */
+       protected $genderCache;
+
+       /**
+        * @var string[]
+        */
+       protected $localInterwikis;
+
+       /**
+        * @param Language $language the language object to use for localizing namespace names.
+        * @param GenderCache $genderCache the gender cache for generating gendered namespace names
+        * @param string[]|string $localInterwikis
+        */
+       public function __construct( Language $language, GenderCache $genderCache, $localInterwikis = array() ) {
+               $this->language = $language;
+               $this->genderCache = $genderCache;
+               $this->localInterwikis = (array)$localInterwikis;
+       }
+
+       /**
+        * @see TitleFormatter::getNamespaceName()
+        *
+        * @param int $namespace
+        * @param string $text
+        *
+        * @throws InvalidArgumentException if the namespace is invalid
+        * @return String
+        */
+       public function getNamespaceName( $namespace, $text ) {
+               if ( $this->language->needsGenderDistinction() &&
+                       MWNamespace::hasGenderDistinction( $namespace ) ) {
+
+                       //NOTE: we are assuming here that the title text is a user name!
+                       $gender = $this->genderCache->getGenderOf( $text, __METHOD__ );
+                       $name = $this->language->getGenderNsText( $namespace, $gender );
+               } else {
+                       $name = $this->language->getNsText( $namespace );
+               }
+
+               if ( $name === false ) {
+                       throw new InvalidArgumentException( 'Unknown namespace ID: ' . $namespace );
+               }
+
+               return $name;
+       }
+
+       /**
+        * @see TitleFormatter::formatTitle()
+        *
+        * @param int|bool $namespace The namespace ID (or false, if the namespace should be ignored)
+        * @param string $text The page title. Should be valid. Only minimal normalization is applied.
+        *        Underscores will be replaced.
+        * @param string $fragment The fragment name (may be empty).
+        *
+        * @throws InvalidArgumentException if the namespace is invalid
+        * @return string
+        */
+       public function formatTitle( $namespace, $text, $fragment = '' ) {
+               if ( $namespace !== false ) {
+                       $namespace = $this->getNamespaceName( $namespace, $text );
+
+                       if ( $namespace !== '' ) {
+                               $text = $namespace . ':' . $text;
+                       }
+               }
+
+               if ( $fragment !== '' ) {
+                       $text = $text . '#' . $fragment;
+               }
+
+               $text = str_replace( '_', ' ', $text );
+
+               return $text;
+       }
+
+       /**
+        * Parses the given text and constructs a TitleValue. Normalization
+        * is applied according to the rules appropriate for the form specified by $form.
+        *
+        * @param string $text the text to parse
+        * @param int $defaultNamespace namespace to assume per default (usually NS_MAIN)
+        *
+        * @throws MalformedTitleException
+        * @return TitleValue
+        */
+       public function parseTitle( $text, $defaultNamespace ) {
+               // NOTE: this is an ugly cludge that allows this class to share the
+               // code for parsing with the old Title class. The parser code should
+               // be refactored to avoid this.
+               $parts = $this->splitTitleString( $text, $defaultNamespace );
+
+               // Interwiki links are not supported by TitleValue
+               if ( $parts['interwiki'] !== '' ) {
+                       throw new MalformedTitleException( 'Title must not contain an interwiki prefix: ' . $text );
+               }
+
+               // Relative fragment links are not supported by TitleValue
+               if ( $parts['dbkey'] === '' ) {
+                       throw new MalformedTitleException( 'Title must not be empty: ' . $text );
+               }
+
+               return new TitleValue( $parts['namespace'], $parts['dbkey'], $parts['fragment'] );
+       }
+
+       /**
+        * @see TitleFormatter::getText()
+        *
+        * @param TitleValue $title
+        *
+        * @return string $title->getText()
+        */
+       public function getText( TitleValue $title ) {
+               return $this->formatTitle( false, $title->getText(), '' );
+       }
+
+       /**
+        * @see TitleFormatter::getText()
+        *
+        * @param TitleValue $title
+        *
+        * @return string
+        */
+       public function getPrefixedText( TitleValue $title ) {
+               return $this->formatTitle( $title->getNamespace(), $title->getText(), '' );
+       }
+
+       /**
+        * @see TitleFormatter::getText()
+        *
+        * @param TitleValue $title
+        *
+        * @return string
+        */
+       public function getFullText( TitleValue $title ) {
+               return $this->formatTitle( $title->getNamespace(), $title->getText(), $title->getFragment() );
+       }
+
+       /**
+        * Normalizes and splits a title string.
+        *
+        * This function removes illegal characters, splits off the interwiki and
+        * namespace prefixes, sets the other forms, and canonicalizes
+        * everything.
+        *
+        * @todo: this method is only exposed as a temporary measure to ease refactoring.
+        * It was copied with minimal changes from Title::secureAndSplit().
+        *
+        * @todo: This method should be split up and an appropriate interface
+        * defined for use by the Title class.
+        *
+        * @param string $text
+        * @param int $defaultNamespace
+        *
+        * @throws MalformedTitleException If $text is not a valid title string.
+        * @return array A mapp with the fields 'interwiki', 'fragment', 'namespace',
+        *         'user_case_dbkey', and 'dbkey'.
+        */
+       public function splitTitleString( $text, $defaultNamespace = NS_MAIN ) {
+               $dbkey = str_replace( ' ', '_', $text );
+
+               # Initialisation
+               $parts = array(
+                       'interwiki' => '',
+                       'fragment' => '',
+                       'namespace' => $defaultNamespace,
+                       'dbkey' => $dbkey,
+                       'user_case_dbkey' => $dbkey,
+               );
+
+               # Strip Unicode bidi override characters.
+               # Sometimes they slip into cut-n-pasted page titles, where the
+               # override chars get included in list displays.
+               $dbkey = preg_replace( '/\xE2\x80[\x8E\x8F\xAA-\xAE]/S', '', $dbkey );
+
+               # Clean up whitespace
+               # Note: use of the /u option on preg_replace here will cause
+               # input with invalid UTF-8 sequences to be nullified out in PHP 5.2.x,
+               # conveniently disabling them.
+               $dbkey = preg_replace( '/[ _\xA0\x{1680}\x{180E}\x{2000}-\x{200A}\x{2028}\x{2029}\x{202F}\x{205F}\x{3000}]+/u', '_', $dbkey );
+               $dbkey = trim( $dbkey, '_' );
+
+               if ( strpos( $dbkey, UTF8_REPLACEMENT ) !== false ) {
+                       # Contained illegal UTF-8 sequences or forbidden Unicode chars.
+                       throw new MalformedTitleException( 'Bad UTF-8 sequences found in title: ' . $text );
+               }
+
+               $parts['dbkey'] = $dbkey;
+
+               # Initial colon indicates main namespace rather than specified default
+               # but should not create invalid {ns,title} pairs such as {0,Project:Foo}
+               if ( $dbkey !== '' && ':' == $dbkey[0] ) {
+                       $parts['namespace'] = NS_MAIN;
+                       $dbkey = substr( $dbkey, 1 ); # remove the colon but continue processing
+                       $dbkey = trim( $dbkey, '_' ); # remove any subsequent whitespace
+               }
+
+               if ( $dbkey == '' ) {
+                       throw new MalformedTitleException( 'Empty title: ' . $text );
+               }
+
+               # Namespace or interwiki prefix
+               $firstPass = true;
+               $prefixRegexp = "/^(.+?)_*:_*(.*)$/S";
+               do {
+                       $m = array();
+                       if ( preg_match( $prefixRegexp, $dbkey, $m ) ) {
+                               $p = $m[1];
+                               if ( ( $ns = $this->language->getNsIndex( $p ) ) !== false ) {
+                                       # Ordinary namespace
+                                       $dbkey = $m[2];
+                                       $parts['namespace'] = $ns;
+                                       # For Talk:X pages, check if X has a "namespace" prefix
+                                       if ( $ns == NS_TALK && preg_match( $prefixRegexp, $dbkey, $x ) ) {
+                                               if ( $this->language->getNsIndex( $x[1] ) ) {
+                                                       # Disallow Talk:File:x type titles...
+                                                       throw new MalformedTitleException( 'Bad namespace prefix: ' . $text );
+                                               } elseif ( Interwiki::isValidInterwiki( $x[1] ) ) {
+                                                       //TODO: get rid of global state!
+                                                       # Disallow Talk:Interwiki:x type titles...
+                                                       throw new MalformedTitleException( 'Interwiki prefix found in title: ' . $text );
+                                               }
+                                       }
+                               } elseif ( Interwiki::isValidInterwiki( $p ) ) {
+                                       if ( !$firstPass ) {
+                                               //TODO: get rid of global state!
+                                               # Can't make a local interwiki link to an interwiki link.
+                                               # That's just crazy!
+                                               throw new MalformedTitleException( 'Interwiki prefix found in title: ' . $text );
+                                       }
+
+                                       # Interwiki link
+                                       $dbkey = $m[2];
+                                       $parts['interwiki'] = $this->language->lc( $p );
+
+                                       # Redundant interwiki prefix to the local wiki
+                                       foreach ( $this->localInterwikis as $localIW ) {
+                                               if ( 0 == strcasecmp( $parts['interwiki'], $localIW ) ) {
+                                                       if ( $dbkey == '' ) {
+                                                               # Can't have an empty self-link
+                                                               throw new MalformedTitleException( 'Local interwiki with empty title: ' . $text );
+                                                       }
+                                                       $parts['interwiki'] = '';
+                                                       $firstPass = false;
+
+                                                       # Do another namespace split...
+                                                       continue 2;
+                                               }
+                                       }
+
+                                       # If there's an initial colon after the interwiki, that also
+                                       # resets the default namespace
+                                       if ( $dbkey !== '' && $dbkey[0] == ':' ) {
+                                               $parts['namespace'] = NS_MAIN;
+                                               $dbkey = substr( $dbkey, 1 );
+                                       }
+                               }
+                               # If there's no recognized interwiki or namespace,
+                               # then let the colon expression be part of the title.
+                       }
+                       break;
+               } while ( true );
+
+               $fragment = strstr( $dbkey, '#' );
+               if ( false !== $fragment ) {
+                       $parts['fragment'] = str_replace( '_', ' ', substr( $fragment, 1 ) );
+                       $dbkey = substr( $dbkey, 0, strlen( $dbkey ) - strlen( $fragment ) );
+                       # remove whitespace again: prevents "Foo_bar_#"
+                       # becoming "Foo_bar_"
+                       $dbkey = preg_replace( '/_*$/', '', $dbkey );
+               }
+
+               # Reject illegal characters.
+               $rxTc = Title::getTitleInvalidRegex();
+               if ( preg_match( $rxTc, $dbkey ) ) {
+                       throw new MalformedTitleException( 'Illegal characters found in title: ' . $text );
+               }
+
+               # Pages with "/./" or "/../" appearing in the URLs will often be un-
+               # reachable due to the way web browsers deal with 'relative' URLs.
+               # Also, they conflict with subpage syntax.  Forbid them explicitly.
+               if (
+                       strpos( $dbkey, '.' ) !== false &&
+                       (
+                               $dbkey === '.' || $dbkey === '..' ||
+                               strpos( $dbkey, './' ) === 0 ||
+                               strpos( $dbkey, '../' ) === 0 ||
+                               strpos( $dbkey, '/./' ) !== false ||
+                               strpos( $dbkey, '/../' ) !== false ||
+                               substr( $dbkey, -2 ) == '/.' ||
+                               substr( $dbkey, -3 ) == '/..'
+                       )
+               ) {
+                       throw new MalformedTitleException( 'Bad title: ' . $text );
+               }
+
+               # Magic tilde sequences? Nu-uh!
+               if ( strpos( $dbkey, '~~~' ) !== false ) {
+                       throw new MalformedTitleException( 'Bad title: ' . $text );
+               }
+
+               # Limit the size of titles to 255 bytes. This is typically the size of the
+               # underlying database field. We make an exception for special pages, which
+               # don't need to be stored in the database, and may edge over 255 bytes due
+               # to subpage syntax for long titles, e.g. [[Special:Block/Long name]]
+               if (
+                       ( $parts['namespace'] != NS_SPECIAL && strlen( $dbkey ) > 255 )
+                       || strlen( $dbkey ) > 512
+               ) {
+                       throw new MalformedTitleException( 'Title too long: ' . substr( $dbkey, 0, 255 ) . '...' );
+               }
+
+               # Normally, all wiki links are forced to have an initial capital letter so [[foo]]
+               # and [[Foo]] point to the same place.  Don't force it for interwikis, since the
+               # other site might be case-sensitive.
+               $parts['user_case_dbkey'] = $dbkey;
+               if ( $parts['interwiki'] === '' ) {
+                       $dbkey = Title::capitalize( $dbkey, $parts['namespace'] );
+               }
+
+               # Can't make a link to a namespace alone... "empty" local links can only be
+               # self-links with a fragment identifier.
+               if ( $dbkey == '' && $parts['interwiki'] === '' ) {
+                       if ( $parts['namespace'] != NS_MAIN ) {
+                               throw new MalformedTitleException( 'Empty title: ' . $text );
+                       }
+               }
+
+               // Allow IPv6 usernames to start with '::' by canonicalizing IPv6 titles.
+               // IP names are not allowed for accounts, and can only be referring to
+               // edits from the IP. Given '::' abbreviations and caps/lowercaps,
+               // there are numerous ways to present the same IP. Having sp:contribs scan
+               // them all is silly and having some show the edits and others not is
+               // inconsistent. Same for talk/userpages. Keep them normalized instead.
+               if ( $parts['namespace'] == NS_USER || $parts['namespace'] == NS_USER_TALK ) {
+                       $dbkey = IP::sanitizeIP( $dbkey );
+               }
+
+               // Any remaining initial :s are illegal.
+               if ( $dbkey !== '' && ':' == $dbkey[0] ) {
+                       throw new MalformedTitleException( 'Title must not start with a colon: ' . $text );
+               }
+
+               # Fill fields
+               $parts['dbkey'] = $dbkey;
+               return $parts;
+       }
+
+}
diff --git a/includes/title/PageLinkRenderer.php b/includes/title/PageLinkRenderer.php
new file mode 100644 (file)
index 0000000..240a961
--- /dev/null
@@ -0,0 +1,69 @@
+<?php
+/**
+ * Represents a link rendering service for %MediaWiki.
+ *
+ * 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 Daniel Kinzler
+ */
+
+/**
+ * Represents a link rendering service for %MediaWiki.
+ *
+ * This is designed to encapsulate the knowledge about how page titles map to
+ * URLs, and how links are encoded in a given output format.
+ *
+ * @see https://www.mediawiki.org/wiki/Requests_for_comment/TitleValue
+ */
+interface PageLinkRenderer {
+
+       /**
+        * Returns the URL for the given page.
+        *
+        * @todo expand this to cover the functionality of Linker::linkUrl
+        *
+        * @param TitleValue $page The link's target
+        * @param array $params any additional URL parameters.
+        *
+        * @return string
+        */
+       public function getPageUrl( TitleValue $page, $params = array() );
+
+       /**
+        * Returns an HTML link to the given page, using the given surface text.
+        *
+        * @todo expand this to cover the functionality of Linker::link
+        *
+        * @param TitleValue $page The link's target
+        * @param string $text The link's surface text (will be derived from $page if not given).
+        *
+        * @return string
+        */
+       public function renderHtmlLink( TitleValue $page, $text = null );
+
+       /**
+        * Returns a wikitext link to the given page, using the given surface text.
+        *
+        * @param TitleValue $page The link's target
+        * @param string $text The link's surface text (will be derived from $page if not given).
+        *
+        * @return string
+        */
+       public function renderWikitextLink( TitleValue $page, $text = null );
+
+}
diff --git a/includes/title/TitleFormatter.php b/includes/title/TitleFormatter.php
new file mode 100644 (file)
index 0000000..f3822b6
--- /dev/null
@@ -0,0 +1,91 @@
+<?php
+/**
+ * A title formatter service for %MediaWiki.
+ *
+ * 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 Daniel Kinzler
+ */
+
+/**
+ * A title formatter service for MediaWiki.
+ *
+ * This is designed to encapsulate knowledge about conventions for the title
+ * forms to be used in the database, in urls, in wikitext, etc.
+ *
+ * @see https://www.mediawiki.org/wiki/Requests_for_comment/TitleValue
+ */
+interface TitleFormatter {
+
+       /**
+        * Returns the title formatted for display.
+        * Per default, this includes the namespace but not the fragment.
+        *
+        * @note Normalization is applied if $title is not in TitleValue::TITLE_FORM.
+        *
+        * @param int|bool $namespace The namespace ID (or false, if the namespace should be ignored)
+        * @param string $text The page title
+        * @param string $fragment The fragment name (may be empty).
+        *
+        * @return string
+        */
+       public function formatTitle( $namespace, $text, $fragment = '' );
+
+       /**
+        * Returns the title text formatted for display, without namespace of fragment.
+        *
+        * @note: Only minimal normalization is applied. Consider using TitleValue::getText() directly.
+        *
+        * @param TitleValue $title the title to format
+        *
+        * @return string
+        */
+       public function getText( TitleValue $title );
+
+       /**
+        * Returns the title formatted for display, including the namespace name.
+        *
+        * @param TitleValue $title the title to format
+        *
+        * @return string
+        */
+       public function getPrefixedText( TitleValue $title );
+
+       /**
+        * Returns the title formatted for display, with namespace and fragment.
+        *
+        * @param TitleValue $title the title to format
+        *
+        * @return string
+        */
+       public function getFullText( TitleValue $title );
+
+       /**
+        * Returns the name of the namespace for the given title.
+        *
+        * @note This must take into account gender sensitive namespace names.
+        * @todo Move this to a separate interface
+        *
+        * @param int $namespace
+        * @param string $text
+        *
+        * @throws InvalidArgumentException
+        * @return String
+        */
+       public function getNamespaceName( $namespace, $text );
+}
diff --git a/includes/title/TitleParser.php b/includes/title/TitleParser.php
new file mode 100644 (file)
index 0000000..b3ef479
--- /dev/null
@@ -0,0 +1,48 @@
+<?php
+/**
+ * A title parser service for %MediaWiki.
+ *
+ * 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 Daniel Kinzler
+ */
+
+/**
+ * A title parser service for %MediaWiki.
+ *
+ * This is designed to encapsulate knowledge about conventions for the title
+ * forms to be used in the database, in urls, in wikitext, etc.
+ *
+ * @see https://www.mediawiki.org/wiki/Requests_for_comment/TitleValue
+ */
+interface TitleParser {
+
+       /**
+        * Parses the given text and constructs a TitleValue. Normalization
+        * is applied according to the rules appropriate for the form specified by $form.
+        *
+        * @note this only parses local page links, interwiki-prefixes etc. are not considered!
+        *
+        * @param string $text the text to parse
+        * @param int $defaultNamespace namespace to assume per default (usually NS_MAIN)
+        *
+        * @throws MalformedTitleException If the text is not a valid representation of a page title.
+        * @return TitleValue
+        */
+       public function parseTitle( $text, $defaultNamespace );
+}
diff --git a/includes/title/TitleValue.php b/includes/title/TitleValue.php
new file mode 100644 (file)
index 0000000..06e9058
--- /dev/null
@@ -0,0 +1,162 @@
+<?php
+/**
+ * Representation of a page title within %MediaWiki.
+ *
+ * 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 Daniel Kinzler
+ */
+
+/**
+ * Represents a page (or page fragment) title within %MediaWiki.
+ *
+ * @note In contrast to Title, this is designed to be a plain value object. That is,
+ * it is immutable, does not use global state, and causes no side effects.
+ *
+ * @note TitleValue represents the title of a local page (or fragment of a page).
+ * It does not represent a link, and does not support interwiki prefixes etc.
+ *
+ * @see https://www.mediawiki.org/wiki/Requests_for_comment/TitleValue
+ */
+class TitleValue {
+
+       /**
+        * @var int
+        */
+       protected $namespace;
+
+       /**
+        * @var string
+        */
+       protected $dbkey;
+
+       /**
+        * @var string
+        */
+       protected $fragment;
+
+       /**
+        * Constructs a TitleValue.
+        *
+        * @note: TitleValue expects a valid DB key; typically, a TitleValue is constructed either
+        * from a database entry, or by a TitleParser. We could apply "some" normalization here,
+        * such as substituting spaces by underscores, but that would encourage the use of
+        * un-normalized text when constructing TitleValues. For constructing a TitleValue from
+        * user input or external sources, use a TitleParser.
+        *
+        * @param $namespace int The namespace ID. This is not validated.
+        * @param $dbkey string The page title in valid DBkey form. No normalization is applied.
+        * @param $fragment string The fragment title. Use '' to represent the whole page.
+        *        No validation or normalization is applied.
+        *
+        * @throws InvalidArgumentException
+        */
+       public function __construct( $namespace, $dbkey, $fragment = '' ) {
+               if ( !is_int( $namespace ) ) {
+                       throw new InvalidArgumentException( '$namespace must be an integer' );
+               }
+
+               if ( !is_string( $dbkey ) ) {
+                       throw new InvalidArgumentException( '$dbkey must be a string' );
+               }
+
+               // Sanity check, no full validation or normalization applied here!
+               if ( preg_match( '/^_|[ \r\n\t]|_$/', $dbkey ) ) {
+                       throw new InvalidArgumentException( '$dbkey must be a valid DB key: ' . $dbkey );
+               }
+
+               if ( !is_string( $fragment ) ) {
+                       throw new InvalidArgumentException( '$fragment must be a string' );
+               }
+
+               if ( $dbkey === '' ) {
+                       throw new InvalidArgumentException( '$dbkey must not be empty' );
+               }
+
+               $this->namespace = $namespace;
+               $this->dbkey = $dbkey;
+               $this->fragment = $fragment;
+       }
+
+       /**
+        * @return int
+        */
+       public function getNamespace() {
+               return $this->namespace;
+       }
+
+       /**
+        * @return string
+        */
+       public function getFragment() {
+               return $this->fragment;
+       }
+
+       /**
+        * Returns the title's DB key, as supplied to the constructor,
+        * without namespace prefix or fragment.
+        *
+        * @return string
+        */
+       public function getDBkey() {
+               return $this->dbkey;
+       }
+
+       /**
+        * Returns the title in text form,
+        * without namespace prefix or fragment.
+        *
+        * This is computed from the DB key by replacing any underscores with spaces.
+        *
+        * @note: To get a title string that includes the namespace and/or fragment,
+        *        use a TitleFormatter.
+        *
+        * @return string
+        */
+       public function getText() {
+               return str_replace( '_', ' ', $this->getDBkey() );
+       }
+
+       /**
+        * Creates a new TitleValue for a different fragment of the same page.
+        *
+        * @param string $fragment The fragment name, or "" for the entire page.
+        *
+        * @return TitleValue
+        */
+       public function createFragmentTitle( $fragment ) {
+               return new TitleValue( $this->namespace, $this->dbkey, $fragment );
+       }
+
+       /**
+        * Returns a string representation of the title, for logging. This is purely informative
+        * and must not be used programmatically. Use the appropriate TitleFormatter to generate
+        * the correct string representation for a given use.
+        *
+        * @return string
+        */
+       public function __toString() {
+               $name = $this->namespace . ':' . $this->dbkey;
+
+               if ( $this->fragment !== '' )  {
+                       $name .= '#' . $this->fragment;
+               }
+
+               return  $name;
+       }
+}
index 8885d0e..bc46111 100644 (file)
--- a/index.php
+++ b/index.php
@@ -40,9 +40,6 @@ if ( !function_exists( 'version_compare' ) || version_compare( phpversion(), '5.
        wfPHPVersionError( 'index.php' );
 }
 
-# Initialise common code.  This gives us access to GlobalFunctions, the
-# AutoLoader, and the globals $wgRequest, $wgOut, $wgUser, $wgLang and
-# $wgContLang, amongst others
 require __DIR__ . '/includes/WebStart.php';
 
 $mediaWiki = new MediaWiki();
index b3e40b6..b2ffe50 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /**
- * Version of index.php to used in web server requiring .php5 extension
- * to execute scripts with PHP5 engine.
+ * Version of index.php to be used in web servers that require the .php5
+ * extension to execute scripts with the PHP5 engine.
  *
  * 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
index fa6e697..9c46ab1 100644 (file)
@@ -52,6 +52,7 @@
        'ar' => 'العربية',       # Arabic
        'arc' => 'ܐܪܡܝܐ',  # Aramaic
        'arn' => 'mapudungun',  # Mapuche, Mapudungu, Araucanian (Araucano)
+       'arq' => 'جزائري', # Algerian Spoken Arabic
        'ary' => 'Maġribi',    # Moroccan Spoken Arabic
        'arz' => 'مصرى',    # Egyptian Spoken Arabic
        'as' => 'অসমীয়া',        # Assamese
        'hil' => 'Ilonggo',     # Hiligaynon
        'ho' => 'Hiri Motu',    # Hiri Motu
        'hr' => 'hrvatski',             # Croatian
+       'hrx' => 'Hunsrik', # Riograndenser Hunsrückisch
        'hsb' => 'hornjoserbsce',       # Upper Sorbian
        'ht' => 'Kreyòl ayisyen',              # Haitian Creole French
        'hu' => 'magyar',               # Hungarian
index 504e0fd..eaad3ee 100644 (file)
@@ -411,7 +411,6 @@ $1",
 'disclaimers' => 'Beunantah',
 'disclaimerpage' => 'Project:Beunantah umom',
 'edithelp' => 'Bantu andam',
-'helppage' => 'Help:Asoë',
 'mainpage' => 'Ôn Keuë',
 'mainpage-description' => 'Ôn Keuë',
 'policy-url' => 'Project:Neuatô',
@@ -770,7 +769,7 @@ Alamat IP Droëneuh nakeuh $3, ngön ID neutheun nakeuh $5. Tulông peuseureuta
 'accmailtitle' => 'Lageuem rahsia ka meukirém',
 'newarticle' => '(Barô)',
 'newarticletext' => "Droëneuh ka neuseutöt peunawôt u laman nyang goh na.
-Keu neupeugöt laman nyan, neukeutik lam plôk di yup (eu [[{{MediaWiki:Helppage}}|laman beunantu]] keu haba leubèh le).
+Keu neupeugöt laman nyan, neukeutik lam plôk di yup (eu [$1 laman beunantu] keu haba leubèh le).
 Meunyö droëneuh trôk keunoë hana neusaja, neuteugön tèk '''back''' bak ''browser'''droëneuh.",
 'anontalkpagetext' => "----''Nyoe nakeuh ôn marit ureueng ngui nyang hana tamöng atawa hana geungui.''
 Saweub nyan, kamoe payah meukubah alamat IP-geuh keu meuparéksa. 
index 12189b8..57e08e3 100644 (file)
@@ -249,7 +249,6 @@ $1',
 'disclaimers' => "Ɛadam mas'ouliya",
 'disclaimerpage' => "Project:Ɛadam mas'ouliya bsifa εamma",
 'edithelp' => 'مساعدة التحرير',
-'helppage' => 'Help:Contenu',
 'mainpage' => 'Elpage principale',
 'mainpage-description' => 'Elpage principale',
 'policy-url' => 'Project:سياسة',
@@ -638,7 +637,7 @@ $2
 كلمة السر لهذا الحساب الجديد يمكن تغييرها في صفحة ''[[Special:ChangePassword|تغيير كلمة السر]]'' عند تسجيل الدخول.",
 'newarticle' => '(جديد)',
 'newarticletext' => "لقد تبعت وصلة لصفحة لم يتم إنشائها بعد.
-لإنشاء هذه الصفحة ابدأ الكتابة في الصندوق بالأسفل (انظر في [[{{MediaWiki:Helppage}}|صفحة المساعدة]] للمزيد من المعلومات).
+لإنشاء هذه الصفحة ابدأ الكتابة في الصندوق بالأسفل (انظر في [$1 صفحة المساعدة] للمزيد من المعلومات).
 إذا كانت زيارتك لهذه الصفحة بالخطأ، اضغط على زر ''رجوع'' في متصفح الإنترنت لديك.",
 'anontalkpagetext' => "----''هذه صفحة نقاش لمستخدم مجهول لم يقم بإنشاء حساب بعد أو لا يستعمل ذلك الحساب.
 لذا فيجب علينا استعمال رقم الأيبي للتعرف عليه/عليها.
@@ -864,8 +863,7 @@ walla [{{fullurl:{{FULLPAGENAME}}|action=edit}} tbaddel essafħa hedhi]</span>',
 'revdelete-no-file' => 'الملف المحدد غير موجود.',
 'revdelete-show-file-confirm' => 'هل أنت متأكد أنك تريد رؤية مراجعة محذوفة للملف "<nowiki>$1</nowiki>" بتاريخ $2 الساعة $3؟',
 'revdelete-show-file-submit' => 'نعم',
-'revdelete-selected' => "'''{{PLURAL:$2|المراجعة المختارة|المراجعات المختارة}} ل[[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|حدث السجل المختار|أحداث السجل المختارة}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|حدث السجل المختار|أحداث السجل المختارة}}:',
 'revdelete-confirm' => 'الإداريون الآخرون في {{SITENAME}} سيظل بإمكانهم رؤية المحتوى المخفي ويمكنهم استرجاعه مجددا من خلال هذه الواجهة نفسها، مالم يتم وضع قيود إضافية.
 من فضلك أكد أنك تنوي فعل هذا، وأنك تفهم العواقب، وأنك تفعل هذا بالتوافق مع [[{{MediaWiki:Policy-url}}|السياسة]].',
 'revdelete-suppress-text' => "الإخفاء ينبغي أن يتم استخدامه '''فقط''' في الحالات التالية:
index abbe643..a0e4a4d 100644 (file)
@@ -13,6 +13,7 @@
  * @author Byeboer
  * @author Deadelf
  * @author Kaganer
+ * @author Kolega2357
  * @author Manie
  * @author Naudefj
  * @author Nemo bis
@@ -456,7 +457,6 @@ $1",
 'disclaimers' => 'Voorbehoud',
 'disclaimerpage' => 'Project:Voorwaardes',
 'edithelp' => 'Wysigingshulp',
-'helppage' => 'Help:Inhoud',
 'mainpage' => 'Tuisblad',
 'mainpage-description' => 'Tuisblad',
 'policy-url' => 'Project:Beleid',
@@ -902,7 +902,7 @@ Dis was moontlik geskuif of verwyder terwyl u die bladsy gelees het.",
 Die wagwoord vir hierdie nuwe gebruiker kan op die ''[[Special:ChangePassword|verander wagwoord]]''-bladsy verander word nadat ingeteken is.",
 'newarticle' => '(Nuut)',
 'newarticletext' => "Hierdie bladsy bestaan nie.
-Tik iets in die invoerboks hier onder om 'n nuwe bladsy te skep. Meer inligting is op die [[{{MediaWiki:Helppage}}|hulpbladsy]] beskikbaar.
+Tik iets in die invoerboks hier onder om 'n nuwe bladsy te skep. Meer inligting is op die [$1 hulpbladsy] beskikbaar.
 As u per ongeluk hier uitgekom het, gebruik u blaaier se '''terug'''-knoppie.",
 'anontalkpagetext' => "----''Hierdie is die besprekingsblad vir 'n anonieme gebruiker wat nog nie 'n gebruiker geskep het nie, of wat dit nie gebruik nie.
 Daarom moet ons sy/haar numeriese IP-adres vir identifikasie gebruik.
@@ -915,7 +915,7 @@ of [{{fullurl:{{FULLPAGENAME}}|action=edit}} hierdie bladsy wysig]</span>.',
 'noarticletext-nopermission' => 'Hierdie bladsy bevat geen teks nie.
 U kan vir die term [[Special:Search/{{PAGENAME}}|in ander bladsye soek]] of
 <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} die verwante logboeke deursoek]</span>, maar u kan nie die bladsy skep nie.',
-'missing-revision' => 'Die weergawe #$1 van die bladsy "{{PAGENAME}} bestaan nie.
+'missing-revision' => 'Die weergawe #$1 van die bladsy "{{FULLPAGENAME}} bestaan nie.
 
 Dit word meestal veroorsaak deur die volg van \'n verouderde verwysing na \'n bladsy wat verwyder is.
 Meer gegewens kan moontlik in die [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} skraplogboek] gevind word.',
@@ -1141,8 +1141,7 @@ U kan wel hierdie verskil sien. Meer details kan in die [{{fullurl:{{#Special:Lo
 'revdelete-no-file' => 'Die gespesifiseerde lêer bestaan nie.',
 'revdelete-show-file-confirm' => 'Is u seker u wil die geskrapte weergawe van die lêer "<nowiki>$1</nowiki>" van $2 om $3 sien?',
 'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''Geselekteerde {{PLURAL:$2|wysiging|wysigings}} vir [[:$1]]:'''",
-'logdelete-selected' => "'''Geselekteerde {{PLURAL:$1|logboek aksie|logboek aksies}}:'''",
+'logdelete-selected' => 'Geselekteerde {{PLURAL:$1|logboek aksie|logboek aksies}}:',
 'revdelete-confirm' => 'Bevestig asseblief dat u dit wil doen, dat u die nagevolge verstaan en dat u dit doen in ooreenstemming met die [[{{MediaWiki:Policy-url}}|beleid]].',
 'revdelete-suppress-text' => "Verberging van weergawes mag '''slegs''' in die volgende gevalle gebruik word:
 * Potensieel lasterlike inligting
@@ -1591,7 +1590,7 @@ As u dit verskaf, sal dit gebruik word om erkenning vir u werk te gee.',
 'recentchanges-label-plusminus' => 'Bladsy is met die aantal grepe gewysig',
 'recentchanges-legend-heading' => "'''Sleutel:'''",
 'recentchanges-legend-newpage' => '$1 - nuwe bladsy',
-'rcnotefrom' => "Hier volg wysigings sedert '''$2''' (maksimum van '''$1''' word gewys).",
+'rcnotefrom' => 'Wysigings sedert <strong>$2</strong> (maksimum van <strong>$1</strong> word gewys).',
 'rclistfrom' => 'Vertoon wysigings vanaf $1',
 'rcshowhideminor' => '$1 klein wysigings',
 'rcshowhidebots' => '$1 robotte',
@@ -2381,7 +2380,7 @@ Iemand anders het reeds hierdie bladsy gewysig of teruggerol na 'n vroeëre weer
 
 Die mees onlangse wysiging is gemaak deur [[User:$3|$3]] ([[User talk:$3|bespreking]]{{int:pipe-separator}}[[Special:Contributions/$3|bydraes]]).",
 'editcomment' => "Die wysigsopsomming was: \"''\$1''\".",
-'revertpage' => 'Wysigings deur [[Special:Contributions/$2|$2]] teruggerol na laaste weergawe deur $1',
+'revertpage' => 'Wysigings deur [[Special:Contributions/$2|$2]] teruggerol na laaste weergawe deur [[User:$1|$1]]',
 'revertpage-nouser' => 'Rol wysigings deur versteekte gebruiker terug na die laaste weergawe deur [[User:$1|$1]]',
 'rollback-success' => 'Wysigings deur $1 is teruggerol.
 Die laaste weergawe van $2 is teruggeplaas.',
index acb5d1d..afed8ed 100644 (file)
@@ -293,7 +293,6 @@ $1',
 'disclaimers' => 'Shfajsime',
 'disclaimerpage' => 'Project:Shfajsimet e përgjithshme',
 'edithelp' => 'Ndihmë për redaktim',
-'helppage' => 'Help:Përmbajtja',
 'mainpage' => 'Faqja kryesore',
 'mainpage-description' => 'Faqja Kryesore',
 'policy-url' => 'Project:Politika',
@@ -624,7 +623,7 @@ Ju lutemi vërtetoni adresën tuej të emailit përmjet [[Special:Preferences|pa
 Fjalëkalimi për këtë llogari mundet me u ndryshue në faqen ''[[Special:ChangePassword|ndrysho fjalëkalimin]]'' mbas kyçjes.",
 'newarticle' => '(I ri)',
 'newarticletext' => "Ke ndjekë nji vegëz për te nji faqe që nuk ekziston.
-Me krijue kët faqe, shkruej në kutinë ma poshtë (shih [[{{MediaWiki:Helppage}}|faqen e ndihmës]] për ma shum udhzime).
+Me krijue kët faqe, shkruej në kutinë ma poshtë (shih [$1 faqen e ndihmës] për ma shum udhzime).
 Nëse ke hy këtu gabimisht, klikoje sustën '''mbrapa''' në shfletues.",
 'anontalkpagetext' => "----''Kjo âsht faqe diskutimi e nji përdoruesi anonim, i cili nuk ka krijue llogari, apo nuk e përdor atê.
 Prandej përdoret adresa numerike IP e tij për me identifikue.
@@ -793,8 +792,7 @@ Shiko tek [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} regjistr
 'revdelete-nooldid-title' => 'Version i dëshiruar i pavfleshëm',
 'revdelete-nooldid-text' => 'Ose nuk keni përcaktuar një version(e) të dëshiruar për veprimin, ose versioni nuk ekziston, ose po mundoheni të fshihni versionin e tanishëm.',
 'revdelete-no-file' => 'Skeda e dhënë nuk ekziston.',
-'revdelete-selected' => "'''{{PLURAL:$2|Versioni i zgjedhur i|Versionet e zgjedhura të}} [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Veprimi i zgjedhur në regjistër|Veprimet e zgjedhura në regjistër}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Veprimi i zgjedhur në regjistër|Veprimet e zgjedhura në regjistër}}:',
 'revdelete-legend' => 'Vendosni kufizimet për versionin:',
 'revdelete-hide-text' => 'Fshihe tekstin e versionit',
 'revdelete-hide-image' => 'Fshih përmbajtjen skedare',
index d6eb658..054fa61 100644 (file)
@@ -270,7 +270,6 @@ $1',
 'disclaimers' => 'የኃላፊነት ማስታወቂያ',
 'disclaimerpage' => 'Project:አጠቃላይ የሕግ ነጥቦች',
 'edithelp' => 'የማረም መመሪያ',
-'helppage' => 'Help:ይዞታ',
 'mainpage' => 'ዋናው ገጽ',
 'mainpage-description' => 'ዋና ገጽ',
 'policy-url' => 'Project:መመሪያዎች',
@@ -599,7 +598,7 @@ $1ን ወይም ማንም ሌላ [[{{MediaWiki:Grouppage-sysop}}|መጋቢ]] ስ
 'accmailtitle' => 'የመግቢያ ቃል ተላከ።',
 'accmailtext' => 'የመግቢያ ቃል ለ«$1» ወደ $2 ተልኳል።',
 'newarticle' => '(አዲስ)',
-'newarticletext' => 'እርስዎ የተከተሉት መያያዣ እስካሁን ወደማይኖር ገጽ የሚወስድ ነው። ገጹን አሁን ለመፍጠር፣ ከታች በሚገኘው ሳጥን ውስጥ መተየብ ይጀምሩ። ለተጨማሪ መረጃ፣ [[{{MediaWiki:Helppage}}|የእርዳታ ገጽን]] ይመልከቱ።
+'newarticletext' => 'እርስዎ የተከተሉት መያያዣ እስካሁን ወደማይኖር ገጽ የሚወስድ ነው። ገጹን አሁን ለመፍጠር፣ ከታች በሚገኘው ሳጥን ውስጥ መተየብ ይጀምሩ። ለተጨማሪ መረጃ፣ [$1 የእርዳታ ገጽን] ይመልከቱ።
 
 ወደዚህ በስሕተት ከሆነ የመጡት፣ የቃኝውን «Back» ቁልፍ ይጫኑ።',
 'anontalkpagetext' => "----''ይኸው ገጽ ገና ያልገባ ወይም ብዕር ስም የሌለው ተጠቃሚ ውይይት ገጽ ነው። መታወቂያው በ[[ቁጥር አድራሻ]] እንዲሆን ያስፈልጋል። አንዳንዴ ግን አንድ የቁጥር አድራሻ በሁለት ወይም በብዙ ተጠቃሚዎች የጋራ ሊሆን ይችላል። ስለዚህ ለርስዎ የማይገባ ውይይት እንዳይደርስልዎ፣ [[Special:UserLogin|«መግቢያ»]] በመጫን የብዕር ስም ለማውጣት ይችላሉ።''",
@@ -729,8 +728,7 @@ $1ን ወይም ማንም ሌላ [[{{MediaWiki:Grouppage-sysop}}|መጋቢ]] ስ
 'revdelete-nooldid-text' => 'ይህ ተግባር የሚፈጸምበት ግብ (አላማ) እትም አልወሰኑም።',
 'revdelete-no-file' => 'የተወሰነው ፋይል አይኖርም።',
 'revdelete-show-file-submit' => 'አዎን',
-'revdelete-selected' => "'''ከ [[:$1]] {{PLURAL:$2|የተመረጡ ዝርያዎች|የተመረጡ ዝርያዎች}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|የተመረጠ መዝገብ ድርጊት|የተመረጡ መዝገብ ድርጊቶች}}፦'''",
+'logdelete-selected' => '{{PLURAL:$1|የተመረጠ መዝገብ ድርጊት|የተመረጡ መዝገብ ድርጊቶች}}፦',
 'revdelete-hide-text' => 'የእትሙ ጽሕፈት ይደበቅ',
 'revdelete-hide-image' => 'የፋይሉ ይዞታ ይደበቅ',
 'revdelete-hide-name' => 'ድርጊትና ግቡ ይደበቅ',
index bba364c..2e8f162 100644 (file)
@@ -361,7 +361,6 @@ $1",
 'disclaimers' => 'Alvertencias chenerals',
 'disclaimerpage' => 'Project:Alvertencias chenerals',
 'edithelp' => 'Aduya ta editar pachinas',
-'helppage' => 'Help:Aduya',
 'mainpage' => 'Portalada',
 'mainpage-description' => 'Portalada',
 'policy-url' => 'Project:Politicas y normas',
@@ -715,9 +714,9 @@ Talment bell un l'haiga moviu u borrau entre que vusté vesitaba a pachina.",
 
 A clau ta ista nueva cuenta la puet cambiar en a pachina ''[[Special:ChangePassword|Cambiar a clau]]'' dimpués d'haber dentrato en ella.",
 'newarticle' => '(Nuevo)',
-'newarticletext' => "Ha siguito un vinclo ta una pachina que encara no existe.
-Ta creyar a pachina, prencipie a escribir en a caixa d'abaixo (mire-se l'[[{{MediaWiki:Helppage}}|aduya]] ta más información).
-Si ye plegau por error, punche o botón \"enta zaga\" d'o suyo navegador.",
+'newarticletext' => 'Ha siguito un vinclo ta una pachina que encara no existe.
+Ta creyar a pachina, prencipie a escribir en a caixa d\'abaixo (mire-se l\'[$1 aduya] ta más información).
+Si ye plegau por error, punche o botón "enta zaga" d\'o suyo navegador.',
 'anontalkpagetext' => "----''Ista ye a pachina de descusión d'un usuario anonimo que encara no ha creyato una cuenta, u no l'ha feito servir. Por ixo, hemos d'emplegar a suya adreza IP ta identificar-lo/a.
 Diferents usuarios pueden compartir una mesma adreza IP.
 Si vusté ye un usuario anonimo y creye que l'han escrito comentarios no relevants, [[Special:UserLogin/signup|creye una cuenta]] u [[Special:UserLogin/signup|identifique-se]] ta privar confusions futuras con atros usuarios anonimos.''",
@@ -913,8 +912,7 @@ Encara puet veyer a comparanza; en trobará mas detalles en o [{{fullurl:{{#Spec
 'revdelete-no-file' => 'O fichero especificato no existe.',
 'revdelete-show-file-confirm' => 'Seguro que quiere veyer una versión borrata d\'o fichero "<nowiki>$1</nowiki>" d\'o $2 a las $3?',
 'revdelete-show-file-submit' => 'Sí',
-'revdelete-selected' => "'''{{PLURAL:$2|Versión trigata|Versions trigatas}} de [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Escaicimiento d'o rechistro trigato|Escaicimientos d'o rechistro trigatos}}:'''",
+'logdelete-selected' => "{{PLURAL:$1|Escaicimiento d'o rechistro trigato|Escaicimientos d'o rechistro trigatos}}:",
 'revdelete-confirm' => "Por favor confirme que ye mirando de fer ísto, que entiende as conseqüencias, y que lo ye fendo d'alcuerdo con [[{{MediaWiki:Policy-url}}|as politicas]].",
 'revdelete-suppress-text' => "Os borraus de versions '''nomás''' s'habrían de fer en os siguients casos:
 * Información potencialment difamatoria o libelo grieu.
index 7c14671..d21aeec 100644 (file)
@@ -287,7 +287,6 @@ $1',
 'disclaimers' => 'Ætsacunga',
 'disclaimerpage' => 'Project:Gemǣne ætsacung',
 'edithelp' => 'Help on adihtunge',
-'helppage' => 'Help:Innung',
 'mainpage' => 'Hēafodtramet',
 'mainpage-description' => 'Hēafodtramet',
 'policy-url' => 'Project:Rǣd',
@@ -492,7 +491,7 @@ Scēawa þīne wrītunge eft, oþþe [[Special:UserLogin/signup|sciepp nīwe rec
 Þū mōst þæt þafungword andwendan for þisse nīwan reccinge on þǣm ''[[Special:ChangePassword|andwendan þafungword]]'' tramete siþþan þū inmeldie.",
 'newarticle' => '(Nīwe)',
 'newarticletext' => "Þū hæfst hlencan tō tramete þe nū gīet ne stent gefolgod.
-Tō scieppene þone tramet, onginn tō wrītenne in þǣre mearce þe is beneoþan (seoh þone [[{{MediaWiki:Helppage}}|helpes tramet]] ymb mā cȳþþu).
+Tō scieppene þone tramet, onginn tō wrītenne in þǣre mearce þe is beneoþan (seoh þone [$1 helpes tramet] ymb mā cȳþþu).
 Gif þū hider be misfēnge cōme, cnoca þīnes webbsēcendes '''on bæc''' cnæpp.",
 'usercssyoucanpreview' => "'''Rǣd:''' Brūc þone \"{{int:Forescēaƿian}}\" cnæpp tō costnienne þīne nīwan css/js wrītunge ǣr hit sīe hordod.",
 'userjsyoucanpreview' => "'''Rǣd:''' Brūc þone 'Forescēawian' cnæpp tō āfandienne þīne nīwe css/js beforan sparunge.",
index 90d6e24..e81fa74 100644 (file)
@@ -736,7 +736,6 @@ $1',
 'disclaimers' => 'إخلاء مسؤولية',
 'disclaimerpage' => 'Project:إخلاء مسؤولية عام',
 'edithelp' => 'مساعدة التحرير',
-'helppage' => 'Help:محتويات',
 'mainpage' => 'الصفحة الرئيسية',
 'mainpage-description' => 'الصفحة الرئيسية',
 'policy-url' => 'Project:سياسة',
@@ -938,6 +937,7 @@ $2',
 'gotaccountlink' => 'تسجيل الدخول',
 'userlogin-resetlink' => 'نسيت تفاصيل الدخول؟',
 'userlogin-resetpassword-link' => 'نسيت كلمة مرورك؟',
+'userlogin-helplink2' => 'المساعدة في الدخول',
 'userlogin-loggedin' => 'أنت {{GENDER:$1|مسجل|مسجلة}} الدخول مسبقًا باسم $1. {{GENDER:$1|استخدم|استخدمي}} النموذج بالأسفل لتسجيل الدخول بحساب آخر.',
 'userlogin-createanother' => 'إنشاء حساب آخر',
 'createacct-join' => 'قم بإدخال المعلومات الخاصة بك أدناه.',
@@ -1036,6 +1036,7 @@ $2',
 'createacct-another-realname-tip' => 'الاسم الحقيقي اختياري.
 إذا اخترت توفيره فسيستخدم لنسبة عمل المستخدم إليه.',
 'pt-login' => 'دخول',
+'pt-login-button' => 'دخول',
 'pt-createaccount' => 'إنشاء حساب',
 'pt-userlogout' => 'خروج',
 
@@ -1206,7 +1207,7 @@ $2
 'accmailtext' => "أُرسِلت كلمة سر مولدة عشوائيا ل[[User talk:$1|$1]] إلى $2. يمكن تغييرها في صفحة ''[[Special:ChangePassword|تغيير كلمة السر]]'' بعد تسجيل الدخول.",
 'newarticle' => '(جديد)',
 'newarticletext' => "لقد تبعت وصلة لصفحة لم يتم إنشائها بعد.
-لإنشاء هذه الصفحة ابدأ الكتابة في الصندوق بالأسفل (انظر في [[{{MediaWiki:Helppage}}|صفحة المساعدة]] للمزيد من المعلومات).
+لإنشاء هذه الصفحة ابدأ الكتابة في الصندوق بالأسفل (انظر في [$1 صفحة المساعدة] للمزيد من المعلومات).
 إذا كانت زيارتك لهذه الصفحة بالخطأ، اضغط على زر ''رجوع'' في متصفح الإنترنت لديك.",
 'anontalkpagetext' => "----''هذه صفحة نقاش لمستخدم مجهول لم يقم بإنشاء حساب بعد أو لا يستعمل ذلك الحساب.
 لذا فيجب علينا استعمال رقم الأيبي للتعرف عليه/عليها.
@@ -1218,7 +1219,7 @@ $2
 أو [{{fullurl:{{FULLPAGENAME}}|action=edit}} تعديل هذه الصفحة]</span>.',
 'noarticletext-nopermission' => 'لا يوجد حاليا أي نص في هذه الصفحة.
 يمكنك [[Special:Search/{{PAGENAME}}|البحث عن عنوان هذه الصفحة]] في الصفحات الأخرى، أو <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} البحث في السجلات المتعلقة بها]</span>، لكنك لست مخولاً لإنشاء هذه الصفحة.',
-'missing-revision' => 'المراجعة #$1 من الصفحة المسماة "{{PAGENAME}}" غير موجودة.
+'missing-revision' => 'المراجعة #$1 من الصفحة المسماة "{{FULLPAGENAME}}" غير موجودة.
 
 هذا يحدث عادة عن طريق اتباع وصلة تاريخ قديمة لصفحة تم حذفها.
 التفاصيل يمكن إيجادها في [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} سجل الحذف].',
@@ -1458,8 +1459,7 @@ $2
 'revdelete-no-file' => 'الملف المحدد غير موجود.',
 'revdelete-show-file-confirm' => 'هل أنت متأكد أنك تريد رؤية مراجعة محذوفة للملف "<nowiki>$1</nowiki>" بتاريخ $2 الساعة $3؟',
 'revdelete-show-file-submit' => 'نعم',
-'revdelete-selected' => "'''{{PLURAL:$2|المراجعة المختارة|المراجعات المختارة}} ل[[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|حدث السجل المختار|أحداث السجل المختارة}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|حدث السجل المختار|أحداث السجل المختارة}}:',
 'revdelete-confirm' => 'الإداريون الآخرون في {{SITENAME}} سيظل بإمكانهم رؤية المحتوى المخفي ويمكنهم استرجاعه مجددا من خلال هذه الواجهة نفسها، مالم يتم وضع قيود إضافية.
 من فضلك أكد أنك تنوي فعل هذا، وأنك تفهم العواقب، وأنك تفعل هذا بالتوافق مع [[{{MediaWiki:Policy-url}}|السياسة]].',
 'revdelete-suppress-text' => "ينبغي للإخفاء أن يستخدم '''فقط''' في الحالات التالية:
index e293e45..613081b 100644 (file)
@@ -340,7 +340,6 @@ $1',
 'disclaimers' => 'ܠܐ ܡܫܬܐܠܢܘܬܐ',
 'disclaimerpage' => 'Project:ܠܐ ܡܫܬܐܠܢܘܬܐ ܓܘܢܝܬܐ',
 'edithelp' => 'ܥܘܕܪܢܐ ܠܫܚܠܦܬܐ',
-'helppage' => 'Help:ܚܒܝܫܬ̈ܐ',
 'mainpage' => 'ܦܐܬܐ ܪܝܫܝܬܐ',
 'mainpage-description' => 'ܦܐܬܐ ܪܝܫܝܬܐ',
 'policy-url' => 'Project:ܦܘܪܢܣܐ',
@@ -547,7 +546,7 @@ $1',
 'accmailtitle' => 'ܡܠܬܐ ܕܥܠܠܐ ܫܕܪܬ',
 'newarticle' => '(ܚܕܬܐ)',
 'newarticletext' => "ܐܬܬ ܒܬܪ ܐܣܪܐ ܕܦܐܬܐ ܕܠܐ ܐܬܬܣܝܡܬ ܥܕܡܫ.
-ܠܣܘܝܡܐ ܕܦܐܬܐ ܗܕܐ، ܫܪܝ ܠܟܬܒܬܐ ܒܣܢܕܘܩܐ ܠܬܚܬ (ܚܙܝ [[{{MediaWiki:Helppage}}|ܦܐܬܐ ܕܥܘܕܪܢܐ]] ܠܐܚܪܢܐ ܝܕ̈ܥܬܐ).
+ܠܣܘܝܡܐ ܕܦܐܬܐ ܗܕܐ، ܫܪܝ ܠܟܬܒܬܐ ܒܣܢܕܘܩܐ ܠܬܚܬ (ܚܙܝ [$1 ܦܐܬܐ ܕܥܘܕܪܢܐ] ܠܐܚܪܢܐ ܝܕ̈ܥܬܐ).
 ܐܢ ܐܬܬ ܠܗܪܟܐ ܦܘܕܐܝܬ، ܟܒܘܫ ܥܠ ܦܪܡܝܬܐ ܕ '''ܠܒܣܬܪ back''' ܒܡܦܐܬܢܐ ܕܝܠܟ.",
 'updated' => '(ܐܬܚܕܬ)',
 'note' => "'''ܡܥܝܪܢܘܬܐ:'''",
@@ -616,7 +615,6 @@ $1',
 'rev-showdeleted' => 'ܚܘܝ',
 'revisiondelete' => 'ܫܘܦ/ܠܐ ܫܘܦ ܬܢܝܬ̈ܐ',
 'revdelete-show-file-submit' => 'ܐܝܢ',
-'revdelete-selected' => "'''{{PLURAL:$2|ܬܢܝܬܐ ܓܒܝܬܐ|ܬܢܝܬ̈ܐ ܓܒܝܬܐ}} ܕ [[:$1]]:'''",
 'revdelete-hide-text' => 'ܟܬܒܬܐ ܕܬܢܝܬܐ',
 'revdelete-hide-image' => 'ܛܫܝ ܚܒܝܫܬ̈ܐ ܕܠܦܦܐ',
 'revdelete-hide-name' => 'ܛܫܝ ܥܒܕܐ ܘܢܘܦܐ',
index 76efe63..6705d3e 100644 (file)
@@ -190,7 +190,6 @@ $messages = array(
 'disclaimers' => 'Tukuldungun ñi pin ley',
 'disclaimerpage' => 'Project:Katrütuwün ñi llowdüngun',
 'edithelp' => 'Kellü wirin',
-'helppage' => 'Help:Trokiñdungu',
 'mainpage' => 'Ñidol Wülngiñ',
 'mainpage-description' => 'Ñidol Wülngiñ',
 'portal' => 'Lofche ñi wülngiñ',
@@ -313,7 +312,7 @@ Tami chew küpan (IP) chillkatugeay wülngiñ ñi wirin kuyfidungu.",
 'loginreqlink' => 'Koni',
 'newarticle' => '(We)',
 'newarticletext' => 'Ngelay wirin tüfachi wülngiñ mew. 
-Pepillituam tüfachi wülngiñ, wirintuaymi nagpüle (pen [[{{MediaWiki:Helppage}}|kellu wülngiñ]] nieael doy kimdungu).
+Pepillituam tüfachi wülngiñ, wirintuaymi nagpüle (pen [$1 kellu wülngiñ] nieael doy kimdungu).
 Welule tami küpan, wiñotunge rupachi wülngiñ.',
 'noarticletext' => 'Iney no rume wirilay tüfachi wülngiñ mew. Eymi [[Special:Search/{{PAGENAME}}|pepikintuymi tüfachi üy]] kake wülngiñ mew,
 <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} kintuymi koneltuyelelu wirintukun],
diff --git a/languages/messages/MessagesArq.php b/languages/messages/MessagesArq.php
new file mode 100644 (file)
index 0000000..69dad23
--- /dev/null
@@ -0,0 +1,760 @@
+<?php
+/** Algerian Spoken Arabic (جزائري)
+ *
+ * See MessagesQqq.php for message documentation incl. usage of parameters
+ * To improve a translation please visit http://translatewiki.net
+ *
+ * @ingroup Language
+ * @file
+ *
+ * @author Bachounda
+ * @author Oldstoneage
+ */
+
+$fallback = 'ar';
+
+$messages = array(
+# User preference toggles
+'tog-underline' => 'تسطار الوصيلات:',
+'tog-hideminor' => 'خبي الكتيبات الصغيرة في التبديلات التوالا',
+'tog-hidepatrolled' => 'خبي الكتيبات المعسوسه في التبديلات التوالا',
+'tog-newpageshidepatrolled' => 'خبي الباجات المعسوسه اللي في ليستت الباجات الجدد',
+'tog-extendwatchlist' => 'دلي الليسته نتاع التبيعه باش تعرض كامل التبديلات و مشي برك التوالا',
+'tog-usenewrc' => 'اجمع الـتبدالات بل صفحات فل تبدالات الـتالية و الـليستة تاع الـمراقبة (تستحق الـ JavaScript)',
+'tog-numberheadings' => 'رقم اليا عناوين السكسيو',
+'tog-showtoolbar' => 'تبيان باره الكتيبات (يلزمها جافاسكريبت)',
+'tog-editondblclick' => 'كتيبت الباجات بالزوج دركات (يلزمها جافاسكربت)',
+'tog-editsectiononrightclick' => 'اكتيفي كتيبت السكسيوات بالدريك باليمين على العناوين نتاعهم(يتطلب جافاسكريبت)',
+'tog-rememberpassword' => 'اتفكر الدخول تاعي ب هاذ النافيكاتور (ب مدّة حدها{{PLURAL:$1||يوم واحد|يومين|$1 إيّام|$1 يوم}})',
+'tog-watchcreations' => 'زيد الـصفحات اللي نخلقها و الـفيشيّات فل قايمة تاع التتباع تاعي',
+'tog-watchdefault' => 'زيد الـصفحات و الـفيشيّات اللي نبدّلها فل قايمة تاع الـتتباع تاعي',
+'tog-watchmoves' => 'زيد الـصفحات و الـفيشيات اللي نحوّلها فل قايمة تاع الـتباع تاعي',
+'tog-watchdeletion' => 'زيد الـصفحات اللي نفصيها فل قايمة تاع التتباع تاعي',
+'tog-minordefault' => 'ماركي كل التبديلات بلي راهي خفيفه',
+'tog-previewontop' => 'وري شوفه-قبليه للكتبه فوق صندوق الكتيبه',
+'tog-previewonfirst' => 'بين شوفه-قبليه مع اول تبديله',
+'tog-enotifwatchlistpages' => 'ابحت لي إيمال كي تتبدّل صفحة ولا فيشي من الـليستة تاع الـتتباع تاعي',
+'tog-enotifusertalkpages' => 'ابعثلي بريه كل ما تبدلت باجت نقاش ديالي',
+'tog-enotifminoredits' => 'ابعت لي بريه حتا يلا كانت تبدالات صغيرة فلباجات و الـفيشيّات',
+'tog-enotifrevealaddr' => 'بين لادريستي إلكترونيك في براوات الاعلام',
+'tog-shownumberswatching' => 'بين شحال كاين من مستعمل يتبع الباجه',
+'tog-oldsig' => 'خطّ‘لـيدّ اللي كاين',
+'tog-fancysig' => 'اعتبر التوقيع كي كتيبه ويكي (بلا وصيله توماتيك)',
+'tog-uselivepreview' => 'استعمل الـنضرة الـقبلانيّة (تستحق الـ JavaScript) (تجرابيّة)',
+'tog-forceeditsummary' => 'نبّهني كي تندخل كاش صفحة خاوية',
+'tog-watchlisthideown' => 'خبّي الـتبدالات تاوعي فل ليستة تاع الـتتباع',
+'tog-watchlisthidebots' => 'خبّي الـتبدالات تاع الـروبويات فل ليستة تاع التتباع تاعي',
+'tog-watchlisthideminor' => 'خبّي الـتبدالات الـصغيرة من الـليستة تاعي تاع التتباع',
+'tog-watchlisthideliu' => 'خبّي فل قايمة تاع التتباع تاعي الـتبدالات الـمديورة من عند الـمستعمليين الـمتماركيين',
+'tog-watchlisthideanons' => 'خبّي فل قايمة تاع التتباع تاعي الـتبدالات الـمديورة من عند الـمستعمليين الـماشي متماركيين',
+'tog-watchlisthidepatrolled' => 'خبّي الـتبدالات تاع الـمتبّعة فل ليستة تاع التتباع تاعي',
+'tog-ccmeonemails' => 'ابعت لي نسخة تاع الـإيمالات الّي نبعتهم لل مستعمليين لخرين',
+'tog-diffonly' => 'ما تورّيش الـمضمون تاع الـصفحات تحت الـفروقات',
+'tog-showhiddencats' => 'ورّي الـفصلات الـمخبّيين',
+'tog-norollbackdiff' => 'ما تورّيش الـفروق كي تدير رجوع',
+'tog-useeditwarning' => 'نبّهني كي نخرج من صفحة كنت نكتب فيها بلا ما نعمّر الخدمة',
+'tog-prefershttps' => 'نستعمل دايمن توصال مأمون كي ندخل',
+
+'underline-always' => 'ديما',
+'underline-never' => 'ابدا',
+'underline-default' => 'الـقيمة الـعاديّة تاع الـواجهة و الـفلّاك',
+
+# Font style option in Special:Preferences
+'editfont-style' => 'بدّل الـستيل تاع الـكتبة فل قابسة تاع الـكتيبة',
+'editfont-default' => 'نوع‘ الـكتبة الـعادية فل فلّاك',
+'editfont-monospace' => 'الـعرض تاع الـحرف يكون تابت',
+'editfont-sansserif' => 'حروف بلا زوايد',
+'editfont-serif' => 'حروف بل زوايد',
+
+# Dates
+'sunday' => 'الحد',
+'monday' => 'لثنين',
+'tuesday' => 'التلاته',
+'wednesday' => 'لاربعه',
+'thursday' => 'الخميس',
+'friday' => 'الجمعه',
+'saturday' => 'السبت',
+'sun' => 'الحد',
+'mon' => 'لثنين',
+'tue' => 'الثلاثه',
+'wed' => 'لاربعه',
+'thu' => 'الخميس',
+'fri' => 'الجمعه',
+'sat' => 'السبت',
+'january' => 'جانفي',
+'february' => 'فيفري',
+'march' => 'مارس',
+'april' => 'أفريل',
+'may_long' => 'ماي',
+'june' => 'جوان',
+'july' => 'جويليي',
+'august' => 'أوت',
+'september' => 'سبتمبر',
+'october' => 'أكتوبر',
+'november' => 'نوفمبر',
+'december' => 'ديسمبر',
+'january-gen' => 'جانفي',
+'february-gen' => 'فيفري',
+'march-gen' => 'مارس',
+'april-gen' => 'أفريل',
+'may-gen' => 'ماي',
+'june-gen' => 'جوان',
+'july-gen' => 'جويليي',
+'august-gen' => 'أوت',
+'september-gen' => 'سبتمبر',
+'october-gen' => 'أكتوبر',
+'november-gen' => 'نوفمبر',
+'december-gen' => 'ديسمبر',
+'jan' => 'جانفي',
+'feb' => 'فيفري',
+'mar' => 'مارس',
+'apr' => 'أفريل',
+'may' => 'ماي',
+'jun' => 'جوان',
+'jul' => 'جويليي',
+'aug' => 'أوت',
+'sep' => 'سيبتمبر',
+'oct' => 'أوكتوبر',
+'nov' => 'نوفمبر',
+'dec' => 'ديسمبر',
+'january-date' => 'جانفيي $1',
+'february-date' => 'فيفريي $1',
+'march-date' => 'مارس $1',
+'april-date' => 'آفريل $1',
+'may-date' => 'ماي $1',
+'june-date' => 'جوان $1',
+'july-date' => 'جويليي$1',
+'august-date' => 'أوت $1',
+'september-date' => 'سبتامبر $1',
+'october-date' => 'اكتوبر $1',
+'november-date' => 'نوفامبر $1',
+'december-date' => 'ديسمبر $1',
+
+# Categories related messages
+'pagecategories' => '{{PLURAL:$1|فصيلة|فصيلات}}',
+'category_header' => 'الباجه في التصنيف "$1"',
+'subcategories' => 'تصنيفات تحتيه',
+'category-media-header' => 'فيشيي ميلتيميديا فالكاتيكورى  "$1"',
+'category-empty' => "''هاذ التصنيف ما فيهش لا باجات و لا ميلتيميديا.''",
+'hidden-categories' => '{{PLURAL:$1|تصنيف مدسوس|تصنيفات مدسوسة}}',
+'hidden-category-category' => 'تصنيفات مخبّية',
+'category-subcat-count' => '{{PLURAL:$2|هاذ التصنيف فيه التصنيف الفرعي التالي|هاذ التصنيف فيه{{PLURAL:$1||التصنيف الفرعي|$1 تصنيفات فرعية}}، من إجمالي $2.}}',
+'category-subcat-count-limited' => 'هاد الـتصنيف يسيع {{PLURAL:$1||التصنيف الفرعي التابع|التصنيفات الفرعية $1  التابعة}}.',
+'category-article-count' => 'هاذ الكاتيكورى فيها {{PLURAL:$2|هاذ الفيشيي|$2 الفيشيي, اللي{{PLURAL:$1|هاذ|نتع$1}} من تحتا}}.',
+'category-article-count-limited' => '{{PLURAL:$1||الصفحة التابعة|الـ $1 ‘ن صفحة التابعة}} مصنّفة ب هاذ التصنيف.',
+'category-file-count' => 'هاذ الكاتيكورى فيها {{PLURAL:$2|هاذ الفيشيي|$2 الفيشيي, اللي{{PLURAL:$1|هاذ|نتع$1}} من تحتا}}.',
+'category-file-count-limited' => '{{PLURAL:$1|الملف التابع مصنّف|الملفات الـ $1 التابعة مصنّفة}} ب هاذ التصنيف.',
+'listingcontinuesabbrev' => 'يُتبع',
+'index-category' => 'صفحات مفهّرسة',
+'noindex-category' => 'باجات مشي مفهرسه',
+'broken-file-category' => 'صفحات فيها وصيلات تاع ملفّات خاسرة',
+
+'about' => 'على هاذ الويكي',
+'article' => 'صفحة تاع محتوى',
+'newwindow' => '(حل في تاقة جديدة)',
+'cancel' => 'انيلي',
+'moredotdotdot' => 'كتر...',
+'morenotlisted' => 'كتر ماشي مليستي...',
+'mypage' => 'باجه',
+'mytalk' => 'نقاش',
+'anontalk' => 'تناقش على الـ ip هادي',
+'navigation' => 'تبحار',
+'and' => '&#32;و',
+
+# Cologne Blue skin
+'qbfind' => 'فتش',
+'qbbrowse' => 'اتجوّل فل مضمون',
+'qbedit' => 'اكتب',
+'qbpageoptions' => 'هاذ الباجه',
+'qbmyoptions' => 'الباجات نتاوعى',
+'faq' => 'المسقسية المتعاوده',
+'faqpage' => 'Project:سؤالات متكرره',
+
+# Vector skin
+'vector-action-addsection' => 'زيد موضوع',
+'vector-action-delete' => 'امحي',
+'vector-action-move' => 'حول',
+'vector-action-protect' => 'بروجي',
+'vector-action-undelete' => 'ردّ كيما كان',
+'vector-action-unprotect' => 'بدّل الـحماية',
+'vector-view-create' => 'أصنع',
+'vector-view-edit' => 'بدل',
+'vector-view-history' => 'روح للتاريخي',
+'vector-view-view' => 'أقرى',
+'vector-view-viewsource' => 'شوف المصدر',
+'actions' => 'أفعال',
+'namespaces' => 'بلاصه تع أسموات',
+'variants' => 'متغيرات',
+
+'navigation-heading' => 'القايمة تاع الـتبحار',
+'errorpagetitle' => 'غلطه',
+'returnto' => 'ولي إلى $1.',
+'tagline' => 'من{{SITENAME}}',
+'help' => 'معاونة',
+'search' => 'فتّش',
+'searchbutton' => 'فتش',
+'go' => 'شايع',
+'searcharticle' => 'روح',
+'history' => 'تاريخ الملف',
+'history_short' => 'تاريخ',
+'updatedmarker' => 'مبدّل منلي الزيارة تاعي الـتالية',
+'printableversion' => 'نسخه نتاع طبيع',
+'permalink' => 'وصيل دايم',
+'print' => 'امبريمي',
+'view' => 'اقرا',
+'edit' => 'بدل',
+'create' => 'أصنع',
+'editthispage' => 'بدّل هاد الـصفحة',
+'create-this-page' => 'خلّق صفحة ب هاد الـعلوان',
+'delete' => 'امحي',
+'deletethispage' => 'امحي هاد الـصفحة',
+'undeletethispage' => 'ردّ الصفحة الّي محيتها',
+'protect' => 'حمايه',
+'protect_change' => 'بدل',
+'newpage' => 'باجه جديده',
+'talkpagelinktext' => 'ناقش',
+'personaltools' => 'ادوالت شخصيه',
+'talk' => 'مناقشه',
+'views' => 'شوفات',
+'toolbox' => 'صندوق الادوات',
+'otherlanguages' => 'بلوغات وحد اوخره',
+'redirectedfrom' => '(محول من $1)',
+'lastmodifiedat' => 'هاد الباجه راهي تبدّلت نهار الـ $1, على الـساعة $2.',
+'jumpto' => 'اقفز ل:',
+'jumptonavigation' => 'تجوال',
+'jumptosearch' => 'تفتاش',
+
+# All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
+'aboutsite' => 'على{{SITENAME}}',
+'aboutpage' => 'Project:على',
+'copyrightpage' => '{{ns:project}}:حقوق النسخ',
+'currentevents' => 'الخبورات',
+'currentevents-url' => 'Project:خبورات',
+'disclaimers' => 'تنبيهات',
+'disclaimerpage' => 'Project:التحذيرات العامه',
+'edithelp' => 'معونة',
+'mainpage' => 'الباجة اللوله',
+'mainpage-description' => 'الباجة اللوله',
+'portal' => 'المجتمع',
+'portal-url' => 'Project:بورطاي المجتمع',
+'privacy' => 'السياسة تاع الخصوصيات (الدين الضيّق)',
+'privacypage' => 'Project:خصوصيه',
+
+'retrievedfrom' => 'جايبينه من "$1"',
+'youhavenewmessages' => 'عندك $1 ($2).',
+'editsection' => 'بدل',
+'editold' => 'بدل',
+'viewsourceold' => 'شوف الاصل',
+'editlink' => 'تبديل',
+'viewsourcelink' => 'شوف العين',
+'editsectionhint' => 'إيديتي الصنف:$1',
+'toc' => 'محتويات',
+'site-rss-feed' => 'تيار آر‌إس‌إس $1',
+'site-atom-feed' => '$1 تيار آتوم',
+'page-atom-feed' => '$1 تيار آتوم',
+'red-link-title' => '$1 (الباجه ما كاينش)',
+
+# Short words for each namespace, by default used in the namespace tab in monobook
+'nstab-main' => 'الباجة',
+'nstab-user' => 'باجة{{GENDER:{{BASEPAGENAME}}|المستخدم|المستخدمة}}',
+'nstab-special' => 'باجه خوصوصيّة',
+'nstab-project' => 'باجه مشروع',
+'nstab-image' => 'ملف',
+'nstab-template' => 'مودال',
+'nstab-category' => 'تصنيف',
+
+# General errors
+'missing-article' => 'الداتاباز ما صابتش باجه كان لازم تنصاب، الباجه هي "$1" $2.
+
+نورمالمو يصرا هذا مين اتبع فرق بيريمي والا وصيل تأريخ باجة ممحيه.
+
+إذا ما كانش هذا هو الحال همالا راك طحت في علة تاع البرمجية.
+من فضلك سينياليها لواحد من[[Special:ListUsers/sysop|الإداريين]]، و أعطه مسار هذه الباجه.',
+'missingarticle-rev' => '(رقم الفرسيون: $1)',
+'badtitle' => 'عنوان عيان',
+'badtitletext' => 'عنوان الباجه المطلوب إما ماشي صحيح والا فارغ، وبالاك الوصيل بين اللغات والا بين البروجيات ماشي صحيح.
+بالاك فيه حروف ما تصلحش  باس يستعملوها فالعناوين.',
+'viewsource' => 'شوف الاصل',
+
+# Login and logout pages
+'yourname' => 'اسم المستخدم:',
+'yourpassword' => 'كلمة السر:',
+'yourpasswordagain' => 'عاود كتبت كلمت السر:',
+'remembermypassword' => 'اتفكر الدخول تاعي ب هاذ النافيكاتور (ب مدّة حدها{{PLURAL:$1||يوم واحد|يومين|$1 إيّام|$1 يوم}})',
+'login' => 'كونكسيون',
+'nav-login-createaccount' => 'تسجل/ اصنع حساب',
+'loginprompt' => 'لازم تكون الكوكيز لديك ماكتيفيه باش تكونيكتي و تدخل ل{{SITENAME}}.',
+'userlogin' => 'تسجل/ اصنع حساب',
+'userlogout' => 'سجل خروج',
+'nologin' => "ما عندكش حساب مسجل؟ '''$1'''.",
+'nologinlink' => 'اصنع حساب',
+'createaccount' => 'اصنع حساب',
+'gotaccount' => "عندك حساب مسجل؟ '''$1'''.",
+'gotaccountlink' => 'كونكسيون',
+'userlogin-resetlink' => 'نسيت تفاصيل الدخول؟',
+'mailmypassword' => 'أرسل لي كلمة سر جديده',
+'loginlanguagelabel' => 'اللوغه: $1',
+
+# Edit page toolbar
+'bold_sample' => 'كتيبة غليظه',
+'bold_tip' => 'كتيبة غليظه',
+'italic_sample' => 'كتبة مايلة',
+'italic_tip' => 'نص مايل',
+'link_sample' => 'عنوان وصيلة',
+'link_tip' => 'وصيلة داخليه',
+'extlink_sample' => 'http://www.example.com اسم الوصيلة',
+'extlink_tip' => 'وصيلة برانية (ما تنساش البديةhttp://)',
+'headline_sample' => 'كتبة نتاع عنوان كبير',
+'headline_tip' => 'عنوان من المستوى الثاني',
+'nowiki_sample' => 'دخل الكتبة مشي مستفة هنا',
+'nowiki_tip' => 'اهمل طريقةالويكي',
+'image_tip' => 'ملف داخل',
+'media_tip' => 'وصيلة ملف',
+'sig_tip' => 'سنياتورتك بالساعة و التاريخ',
+'hr_tip' => 'خط أفقي (ما تستعملوش بزاف)',
+
+# Edit pages
+'summary' => 'ملخص:',
+'minoredit' => 'هذي تبديلة صغيرة',
+'watchthis' => 'تبع الباجة',
+'savearticle' => 'سجل الباجة',
+'preview' => 'شوفه-قبلي',
+'showpreview' => 'بين معاينة',
+'showdiff' => 'عرض التبديلات',
+'anoneditwarning' => "'''توله:''' راك ما دخلتش.
+غادي يتسجل لادراس آيبي نتاعك في تاريخ هذه الباجه.",
+'newarticle' => '(جديد)',
+'newarticletext' => "راك تبعت وصيلة لباجه لم ما تخدمتش بعد.
+باش تصنع هاذ الباجه ابدا الكتبه فالصندوق التحت (شوف في [$1  زياده باجه المساعده] لمعلومات).
+إذا كانت زيارتك لهاذ الباجه غلطه، ادرك على بوطون''ولى'' في نافيقاتور الإنترنت نتاعك.",
+'noarticletext' => 'لحد الساعه ما كانش حتى نص في هاذ الباجه.
+تقدرو [[Special:Search/{{PAGENAME}}|ترميو تفتيشه على هاذ العنوان]] فالباجات لخرين,
+<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} فتش فالعمليات المربوطه]
+و إلا[{{fullurl:{{FULLPAGENAME}}|action=edit}} أصنع هاذ الباجه]</span>.',
+'noarticletext-nopermission' => 'لحد الساعه ما كانش حتى نص في هاذ الباجه.
+تقدرو [[Special:Search/{{PAGENAME}}|ترميو تفتيشه على هاذ العنوان]] فالباجات لخرين,
+<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} فتش فالعمليات المربوطه]
+و إلا[{{fullurl:{{FULLPAGENAME}}|action=edit}} أصنع هاذ الباجه]</span>.',
+'previewnote' => "'''ما تنساش هذي معاينه قبليه.'''
+لدوك التبديلات دياولك ما تسجلوش!",
+'editing' => 'تحرير $1',
+'editingsection' => 'كتيبه $1 (قسم)',
+'templatesused' => '{{PLURAL:$1||القالب المستعمل|القوالب المستعمله}} في هذه الباجه:',
+'template-protected' => '(محميه)',
+'template-semiprotected' => '(نص حماية )',
+'hiddencategories' => '{{PLURAL:$1|هاد الصفحة ما كايناش فل تصانف المخبّييين|هاد الصفحة كاينة في تصنيف مخبّي واحد|هاد الصفحة كاينة في زوج تاع الـتصانف المخبّيين|هاد الصفحة كاينة في $1 تصنيف مخبّي|هاد الصفحة كاينة في $1 تصنيف مخفبّي|هذه الصفحة كاينة في $1 تصنيف مخبّي}}:',
+'permissionserrorstext-withaction' => 'ما راكش اوتوريزى ل$2، لل{{PLURAL:$1||سبب هاذا|اسباب هاذي}}:',
+'recreate-moveddeleted-warn' => "'''توليه: راك تعاود تصنع باحه اتمحات من قبل.'''
+
+لازم تتأكد بلى الباجه الا نصنعت ماهوش مشكل الا كملت الكتبه فبها.
+ريجيستر المحو و النقل معروض هنا باش تراقب :",
+'moveddeleted-notice' => 'هاذ الباجه تمحات .
+ريجيستر المحو والتنقال للباجه معروضين التحت كريفيرونس.',
+
+# Parser/template warnings
+'post-expand-template-inclusion-warning' => "'''توليه:''' الباجة داخل فيها قوالب بزاف.
+شي قوالب ما غاديش تدخل.",
+'post-expand-template-inclusion-category' => 'الباجات داخل فيها بزاف القوالب',
+'post-expand-template-argument-warning' => "'''توليه:''' هذه الباجه فيها عامل قالب واحد على الأقل عندو حجم تمدد كبير بزاف.
+هاذالعوامل اتمحات.",
+'post-expand-template-argument-category' => 'باجات فيها مدخلات القالب الممحي',
+
+# History pages
+'viewpagelogs' => 'بين العمليات على هاذ الباحه',
+'currentrev-asof' => 'النسخه نتاع دروك تاريجها $1',
+'revisionasof' => 'معاودة تاع الـ $1',
+'revision-info' => 'مراجعه $1 بواسطت $2',
+'previousrevision' => '← نسخة اللوله',
+'nextrevision' => 'فرسيون جايه←',
+'currentrevisionlink' => 'المراجعه الحاليه',
+'cur' => 'الحالي',
+'last' => 'السابق',
+'histlegend' => 'تخيار الفرق: علم على صناديق النسخ للمقارنه و ادرك قارن بين النسخ المختارة والا القفلة التحت .<br />
+مفتاح: (الحالي) = الفرق مع النسخة تع دروك
+(الفايته) = الفرق مع النسخة اللي فاتت، ط = تبديل خفيف',
+'history-fieldset-title' => 'نافيقي في التاريخ',
+'history-show-deleted' => 'المماسكيه برك',
+'histfirst' => 'اول باجه',
+'histlast' => 'باجه تاليه',
+
+# Revision feed
+'history-feed-item-nocomment' => '$1 إلى $2',
+
+# Revision deletion
+'rev-delundel' => 'بين/خبي',
+'revdel-restore' => 'غير كيف راهي تبان',
+
+# Merge log
+'revertmerge' => 'فرق',
+
+# Diffs
+'history-title' => ' «$1»: تاريخ المراجعات',
+'lineno' => 'سطر$1:',
+'compareselectedversions' => 'كومباري بين نسختين مخيرين',
+'editundo' => 'نحي',
+
+# Search results
+'searchresults' => 'ريزيلته نتاع التفتاش',
+'searchresults-title' => 'ريزيلته تاع التحواس "$1"',
+'prevn' => '{{PLURAL:$1|précédente|$1 اللولانيين}}',
+'nextn' => '{{PLURAL:$1|suivante|$1 التاليين}}',
+'prevn-title' => '$1 {{PLURAL:$1|النتيجة التالية|النتايج التواله}}',
+'nextn-title' => '$1 {{PLURAL:$1|النتيجة الجاية|النتايج الجايين}}',
+'shown-title' => 'آفيشي $1 {{PLURAL:$1|نتيجة}} فل صفحة',
+'viewprevnext' => 'شوف($1 {{int:pipe-separator}} $2) ($3).',
+'searchmenu-exists' => "'''كاين باجه اسمها « [[:$1]] » في هاذ الويكي'''",
+'searchmenu-new' => "'''أصنع الباجه « [[:$1|$1]] » في هذ الويكي !'''",
+'searchprofile-articles' => 'باجه تع محتوى',
+'searchprofile-project' => 'باجه تع المعونه و البروجي',
+'searchprofile-images' => 'ميلتيميديا',
+'searchprofile-everything' => 'كلش',
+'searchprofile-advanced' => 'تفتاش متقدم',
+'searchprofile-articles-tooltip' => 'فتش في $1',
+'searchprofile-project-tooltip' => 'فتش في  $1',
+'searchprofile-images-tooltip' => 'فتش على ملفات ميلتيميديا',
+'searchprofile-everything-tooltip' => 'فتش في قاع السيت (حتى في باجات المناقشه)',
+'searchprofile-advanced-tooltip' => 'خير إسباسات الأسامي للتفتاش',
+'search-result-size' => '$1 ({{PLURAL:$2|1 كلمة|$2 كلمات}})',
+'search-result-category-size' => '$1 عضو{{PLURAL:$1||s}} ($2 كاتيكورى فرعيه{{PLURAL:$2||s}}, $3 فيشيي{{PLURAL:$3||يات}})',
+'search-redirect' => '(تحويل من $1)',
+'search-section' => '(قسمت‘ $1)',
+'search-suggest' => 'كنت باغي تقول: $1',
+'searchrelated' => 'مرتابطه',
+'searchall' => 'ألكل',
+'showingresultsheader' => "{{PLURAL:$5|نتيجه'''$1'''|نتايج'''$1–$2'''}} تع'''$3''' لـ'''$4'''",
+'search-nonefound' => 'ما كانش نتائج تطابق المسقسية.',
+
+# Preferences page
+'mypreferences' => 'إختيارات',
+'youremail' => 'البريه الالكترونيه:',
+'yourrealname' => 'الاسم الحقاني:',
+'prefs-help-email' => 'لادريس نتع البريه الإلكترونيه بالخاطر، ولكن هي لازمه في حال نسيت كلمت السر نتاعك.',
+'prefs-help-email-others' => 'تقدر تاني تخلي لوخرين يتاصلو بيك في باجت نقاشك ولا في وصيله في باجت مستخدم نتاعك, اذا ارسلك واحد ما يبانش لادريس نتاعك , حتى اذ رديت عليه باش يبان لادريس نتاعك.',
+
+# Special:Log/newusers
+'newuserlogpage' => 'ريجيستر صنعة حسابات المستخدمين',
+
+# Associated actions - in the sentence "You do not have permission to X"
+'action-edit' => 'عدل هاذ الباجه',
+
+# Recent changes
+'nchanges' => '$1 تبديله{{PLURAL:$1||s}}',
+'recentchanges' => 'تبديلات توالا',
+'recentchanges-legend' => 'ابسيون التبديلات التواله',
+'recentchanges-feed-description' => 'تبع التبديلات الجدد للويكي في هاذ التيار .',
+'recentchanges-label-newpage' => ' هاذ التبديل صنع باجه جديده',
+'recentchanges-label-minor' => 'هاذا تبديل صغير',
+'recentchanges-label-bot' => 'هاذ التبديل ندار بروبو',
+'recentchanges-label-unpatrolled' => 'ما تراجعتش هاذ التبديله للآن',
+'rcnotefrom' => "هاهي التبديلات  من'''$2''' (ل'''$1''' معروضه).",
+'rclistfrom' => 'بين التبديلات البديه من $1',
+'rcshowhideminor' => '$1 التبديلات الصغير',
+'rcshowhidebots' => '$1 البوتات',
+'rcshowhideliu' => '$1 المستخدمين المسجلين',
+'rcshowhideanons' => '$1 المستخدمين المجهولين',
+'rcshowhidepatr' => '$1 التبديلات المعسوسه',
+'rcshowhidemine' => '$1 تبديلات نتاعي',
+'rclinks' => 'بين آخر $1 تبديل في آخر $2 يوم<br />$3',
+'diff' => 'إختلاف',
+'hist' => 'تاريخ',
+'hide' => 'خبي',
+'show' => 'بين',
+'minoreditletter' => 'ط',
+'newpageletter' => 'ج‌',
+'boteditletter' => 'ب',
+'rc-enhanced-expand' => 'بين التفاصيل (يلزمها جافاسكريبت)',
+'rc-enhanced-hide' => 'خبي التفاصيل',
+
+# Recent changes linked
+'recentchangeslinked' => 'تبديلات مربوطه',
+'recentchangeslinked-toolbox' => 'تبديلات الباجات المرتبطه',
+'recentchangeslinked-title' => 'التبديلات المرتبطة ب "$1"',
+'recentchangeslinked-summary' => "هاذي ليستة تع التبديلات اللي تمت هاذ الخطرة للباجات الموصولة من باجة معينة (ولا للأعضاء الداخلين في تصنيف معين).
+الصفحات في [[Special:Watchlist|ليستت مراقبة نتاعك]] '''مغلظه'''",
+'recentchangeslinked-page' => 'اسم الباجه:',
+'recentchangeslinked-to' => 'بين التبديلات للباجات الموصولة للباجه المعطية عوضا العكس',
+
+# Upload
+'upload' => 'طلع فيشي',
+'uploadlogpage' => 'ريجيستر رفع الفيشيات',
+'filedesc' => 'ملخص',
+'uploadedimage' => 'راه طلع "[[$1]]"',
+
+'license' => 'ترخيص:',
+'license-header' => 'ترخيص:',
+
+# File description page
+'file-anchor-link' => 'ملف',
+'filehist' => 'تاريخ الفيشيي',
+'filehist-help' => 'ادرك على وقت و تاريخ/باش تشوف الملف كما بان  في هاذ الوقت.',
+'filehist-revert' => 'رجع',
+'filehist-current' => 'ذ الوقت',
+'filehist-datetime' => 'تاريخ و الوقت',
+'filehist-thumb' => 'تصويرة مصغرة',
+'filehist-thumbtext' => 'فينيات نتع النسخه $1',
+'filehist-user' => 'مستعمل',
+'filehist-dimensions' => 'القيس',
+'filehist-comment' => 'تعليق',
+'imagelinks' => 'إستعمال الملف',
+'linkstoimage' => '{{PLURAL:$1|الباجة توصل|ال$1 باجات يوصلو}} لهاذ الملف :',
+'nolinkstoimage' => 'ما كانش باجات موصوله لهاذ الفيشي.',
+'sharedupload-desc-here' => 'هاذ الملف جاي من $1. يمكن يكون مستعمل من بروجيات وحد أخرين.
+التوصيف نتاعو في [$2 باجت الصفات] محطوطه هنا لتحت.',
+
+# Random page
+'randompage' => 'باجة على الزهر',
+
+# Statistics
+'statistics' => 'إحصاويّات',
+
+# Miscellaneous special pages
+'nbytes' => '$1 اوكتي{{PLURAL:$1||s}}',
+'nmembers' => '$1 اعضاء{{PLURAL:$1||s}}',
+'prefixindex' => 'كامل الباجات الباديه ب',
+'usercreated' => '{{GENDER:$3|صنعه|صنعته}} في $1 الساعة $2',
+'newpages' => 'باجه جديده',
+'move' => 'عاود التسمية',
+'pager-newer-n' => '{{PLURAL:$1|جديد بزاف 1|جديد بزاف $1}}',
+'pager-older-n' => '{{PLURAL:$1|قديم بزاف 1|قديم بزاف $1}}',
+
+# Book sources
+'booksources' => 'مصادر كتاب',
+'booksources-search-legend' => 'حوس ما بين مصادر الكتب',
+'booksources-go' => 'اذهب',
+
+# Special:Log
+'log' => 'ريجيسترات العمليات',
+
+# Special:AllPages
+'allpages' => 'قاع الباجات',
+'alphaindexline' => '$1 إلى $2',
+'allarticles' => 'قاع الباجات',
+'allpagessubmit' => 'روح',
+
+# Special:Categories
+'categories' => 'تصنيفات',
+
+# Special:LinkSearch
+'linksearch-line' => '$1 موصولة من $2',
+
+# Special:ListGroupRights
+'listgrouprights-members' => '(ليسته الأعضاء)',
+
+# Email user
+'emailuser' => 'ابعث بريه لهاذ المستخدم',
+
+# Watchlist
+'watchlist' => 'ليستة نتاع التابعه',
+'mywatchlist' => 'ليستة نتاع التابعه',
+'watchlistfor2' => 'ل$1 ($2)',
+'watch' => 'تبع',
+'unwatch' => 'ما تزيدش تعس',
+'watchlist-details' => '{{PLURAL:$1||باجه وحده|زوج باجات|$1 باجات|$1 باجه }} في ليستت مراقبتك، بلا ما تعد باجات النقاش.',
+'wlshowlast' => 'بين آخر $1 سوايع $2 يامات$3',
+'watchlist-options' => 'ابسيون ليستت المراقبه',
+
+# Delete
+'actioncomplete' => 'العمليه اندارت',
+'actionfailed' => 'العمليه فشلت',
+'dellogpage' => 'ريجيستر محو الباجات',
+
+# Rollback
+'rollbacklink' => 'ولي',
+
+# Protect
+'protectlogpage' => 'ريجيستر الحمايه',
+'protectedarticle' => 'راه حمى "[[$1]]"',
+
+# Undelete
+'undeletelink' => 'شوف/رجع',
+'undeleteviewlink' => 'شوف',
+
+# Namespace form on various pages
+'namespace' => 'بلاصه تع أسموات',
+'invert' => 'اعكس التخيار',
+'blanknamespace' => 'أساسي',
+
+# Contributions
+'contributions' => 'مساهمات {{GENDER:$1|المستخدم|المستخدمه}}',
+'contributions-title' => 'مساهمات {{GENDER:$1|المستخدم|المستخدمه}} $1',
+'mycontris' => 'مساهماتي',
+'contribsub2' => 'ل$1 ($2)',
+'uctop' => 'ذ الوقت',
+'month' => 'من شهر (وأقدم):',
+'year' => 'من عام (وأقدم):',
+
+'sp-contributions-newbies' => 'اعرض مشاركات الحسابات الجديده برك',
+'sp-contributions-blocklog' => 'ريجيسترالمنع',
+'sp-contributions-uploads' => 'مرفوعات',
+'sp-contributions-logs' => 'ريجيسترات',
+'sp-contributions-talk' => 'نقاش',
+'sp-contributions-search' => 'تفتاش المشاركات',
+'sp-contributions-username' => 'عنوان أيبي والال اسم مستخدم:',
+'sp-contributions-toponly' => 'ما تبين غير المشاركات التوالا نتاع المقالات',
+'sp-contributions-submit' => 'تفتاش',
+
+# What links here
+'whatlinkshere' => 'واش يوصل هنا',
+'whatlinkshere-title' => 'الباجات اللي تقين في "$1"',
+'whatlinkshere-page' => 'الباجه:',
+'linkshere' => "هاذ الباجات يوصلو إلى '''[[:$1]]''':",
+'nolinkshere' => "ما كانش  باجه فيها وصيله ل'''[[:$1]]'''.",
+'isredirect' => 'باجت تحويل',
+'istemplate' => 'تضمين',
+'isimage' => 'وصيلة ملف',
+'whatlinkshere-prev' => '{{PLURAL:$1|التالي|ال$1 التاليه}}',
+'whatlinkshere-next' => '{{PLURAL:$1|الجايه|ال$1 الجايه}}',
+'whatlinkshere-links' => '← وصيلات',
+'whatlinkshere-hideredirs' => '$1 التحويلات',
+'whatlinkshere-hidetrans' => '$1 التضمينات',
+'whatlinkshere-hidelinks' => '$1 الوصيلات',
+'whatlinkshere-hideimages' => '$1 وصيلات الفيشيات',
+'whatlinkshere-filters' => 'صفايات',
+
+# Block/unblock
+'ipboptions' => 'ساعتين:2 hours,نهار واحد:1 day,3 نهارات:3 days,سيمانة وحدة:1 week,سيمانتين:2 weeks,شهر واحد:1 month,3 أشهر:3 months,6 أشهر:6 months,عام واحد:1 year,دايم:infinite',
+'ipblocklist' => 'المستخدمون الممنوعون',
+'blocklink' => 'حبس',
+'unblocklink' => 'ديبلوكي',
+'change-blocklink' => 'بدل البلوكاج',
+'contribslink' => 'المساهمات',
+'blocklogpage' => 'ريجيسترالمنع',
+'blocklogentry' => 'منع "[[$1]]" لفترة زمنية مدتها $2 $3',
+'block-log-flags-nocreate' => 'صنعت الحسابات ممنوعه',
+
+# Move page
+'movelogpage' => 'روجيستر التنقال',
+'revertmove' => 'رجع',
+
+# Export
+'export' => 'صدر الباجه',
+
+# Namespace 8 related
+'allmessagesname' => 'الاسم',
+'allmessagesdefault' => 'الكتبه الافتراضيه',
+
+# Thumbnails
+'thumbnail-more' => 'كبر',
+'thumbnail_error' => 'غلطه في خدمت صورة مصغرةالمينياتير: $1',
+
+# Tooltip help for the actions
+'tooltip-pt-userpage' => 'باجتك نتع مستعمل',
+'tooltip-pt-mytalk' => 'باجه نتع نقاشاتك',
+'tooltip-pt-preferences' => 'وش خيرت',
+'tooltip-pt-watchlist' => 'ليستت الباجات الي راك أتبع تبديلاتهم',
+'tooltip-pt-mycontris' => 'ليسته نتع مساهماتك',
+'tooltip-pt-login' => 'مادابيك تسجل الدخول تاعك، بصّح ماشي ملزوم عليك',
+'tooltip-pt-logout' => 'سجل خروج',
+'tooltip-ca-talk' => 'نقاش على باجت المحتوى',
+'tooltip-ca-edit' => 'تنجم تحرر هاذ الباجه ،ماذابيك تستعمل قفله المراجعه قبل ما تحفظ',
+'tooltip-ca-addsection' => 'ابدأ طرف جديد',
+'tooltip-ca-viewsource' => 'هاذ الباجه محميه. و شنو تقدرو تشوفو الأصلي نتاعها',
+'tooltip-ca-history' => 'المراجعات التوالى نتاع الباجه (مع المساهمين نتاوعها)',
+'tooltip-ca-protect' => 'بروتيجي هاذالباجه',
+'tooltip-ca-delete' => 'امحي هاذ الباجه',
+'tooltip-ca-move' => 'بدل أسم هذ الباجه',
+'tooltip-ca-watch' => 'زيد هذ الباجه لليستتك نتاع التتباع',
+'tooltip-ca-unwatch' => 'اقلع هاذ الباجه من الليسته نتاع التتباع',
+'tooltip-search' => ' فتّش في {{SITENAME}}',
+'tooltip-search-go' => 'روح الباجه عندها نفس الآسم إذا كانت كاينه',
+'tooltip-search-fulltext' => 'فتّش على باجه بهاد الكتبة',
+'tooltip-p-logo' => 'روح للباجه اللولانيّه',
+'tooltip-n-mainpage' => 'زور الباجه اللوله',
+'tooltip-n-mainpage-description' => 'زور الباجه لوله',
+'tooltip-n-portal' => 'على الپروجي،واش تنجم تدير، وين تصيب واش تحتاج',
+'tooltip-n-currentevents' => 'تحواس على معلومات أساسية لصوالح صراو ذروك',
+'tooltip-n-recentchanges' => 'الليستة تاع التبديلات التوالا فل ويكي',
+'tooltip-n-randompage' => 'طلّع باجه على الزهر',
+'tooltip-n-help' => 'بلاصة المعونة',
+'tooltip-t-whatlinkshere' => 'ليسته نتاع قاع باجات المحتوى الي توصل هنا',
+'tooltip-t-recentchangeslinked' => 'ليسته نتاع التبديلات التواله نتاع الباجات الي عندهم علاقه بهاذي',
+'tooltip-feed-atom' => 'سيلان آتوم نتاع الباجه',
+'tooltip-t-contributions' => 'شوفان ليسته مساهمات هاذا المستخدم',
+'tooltip-t-emailuser' => 'أرسل بريه لهاذ المستخدم',
+'tooltip-t-upload' => 'أرسل تصويرة و إلا أي ملف ميديا للسرفر',
+'tooltip-t-specialpages' => 'ليستة تاع كامل الباجات الخصوصيّة',
+'tooltip-t-print' => 'نسخه لهاذ الباجه قابله للطبيع',
+'tooltip-t-permalink' => 'توصيله دايمه رايحه لهاذ النسخة نتاع الباجة',
+'tooltip-ca-nstab-main' => 'شوف باجه المحتوى',
+'tooltip-ca-nstab-user' => 'شوف باجت المستعمل',
+'tooltip-ca-nstab-special' => 'هذه الباجه خصوصيه،ما تقدرش تبدل فيها',
+'tooltip-ca-nstab-project' => 'شوف باجت البروجي',
+'tooltip-ca-nstab-image' => 'شوف باجت الملف',
+'tooltip-ca-nstab-template' => 'شوفان القالب',
+'tooltip-ca-nstab-category' => 'شوفان باجة التصنيف',
+'tooltip-minoredit' => 'ماركي هاذا تبديل صغير',
+'tooltip-save' => 'سجل تبديلات نتاعك',
+'tooltip-preview' => 'بين التغييرات نتاعك، من فضلك استخدم هذا قبل ما تنشر!',
+'tooltip-diff' => 'تخلي الشوفان نتاع التبديلات اللي ندارو.',
+'tooltip-compareselectedversions' => 'شوف الفروق بين نسختين مخيرين من هاذ الباجه.',
+'tooltip-watch' => 'زيد هذ الباجه لليستتك نتاع التتباع',
+'tooltip-rollback' => 'يولي : بدركة وحده تآنيلي التبديله و إلا التبديلات نتاع المساهم التالي',
+'tooltip-undo' => '"نحّي" فاصي هاد الـمعاودة و حلّ تاقة تاع تبدال بشوفه قبلانيّه. تخلّي باش ترجع لل معاوده التاليه و تزيد الـسبّة علاش فل قابسه تاع الـحويصله.',
+'tooltip-summary' => 'دخل تلخيص صغير',
+
+# Browsing diffs
+'previousdiff' => '→ التعديل الي قبل',
+'nextdiff' => 'التبديل الجاي ←',
+
+# Media information
+'file-info-size' => '$1 × $2 بكسل حجم الملف: $3، نوع MIME: $4',
+'file-nohires' => 'ما كانش دقه اكثر من هاك',
+'svg-long-desc' => 'فيشيي SVG، أبعاده $1 × $2 بكسل، تاي الفيشي : $3',
+'show-big-image' => 'تصويرة دقة عالية',
+
+# Bad image list
+'bad_image_list' => 'الفورمه كيما التابعة:
+ما كاين غير السطور الّي باديين بل *، الّي يكونو معدودين
+الـوصيل الـلوّل نتاع سطر لازم تكون تاع تصويرة ضايعة.
+كامل الوصيلات لخرين الّي فل سطر، يكونو معدودين كلّي تتنيّات، بل كي الباجات وين الـفيشي يكون باين.',
+
+# Metadata
+'metadata' => 'بايان ميتا',
+'metadata-help' => 'هذا الملف راه فيه معلومات زيادة، بالاك تكون انزادت من عند صواره نيميريك ولا سكانر مين صنع الملف.
+الأصلي، شي تفاصيل بالاك ما تعبرش على الملف المعدل.',
+'metadata-fields' => 'غادي ينعرض الحقل نتاع معطيات الميتا الكاينه في هاذ البريه في باجه التصويرة منين يكون جدول معطيات الميتا مطوياً.
+الحقول لخره تكون مخبية بار ديفو.
+* make
+* model
+* datetimeoriginal
+* exposuretime
+* fnumber
+* isospeedratings
+* focallength
+* artist
+* copyright
+* imagedescription
+* gpslatitude
+* gpslongitude
+* gpsaltitude',
+
+# 'all' in various places, this might be different for inflected languages
+'watchlistall2' => 'لكل',
+'namespacesall' => 'لكل',
+'monthsall' => 'لكل',
+
+# Watchlist editing tools
+'watchlisttools-view' => 'اعرض التبديلات المرتابطه',
+'watchlisttools-edit' => 'اعرض قائمه المراقبه و عدلها',
+'watchlisttools-raw' => 'موديفي ليستت التبيعه الخام',
+
+# Core parser functions
+'duplicate-defaultsort' => '\'\'\'توليه:\'\'\' مفتاح التستيف الافتراضي "$2" ديباسا مفتاح التستيف الافتراضي التالي"$1".',
+
+# Special:SpecialPages
+'specialpages' => 'الباجات الخصوصيه',
+
+# External image whitelist
+'external_image_whitelist' => ' #<pre>خلى هاذ السطر كيما راه
+#حط منثورات التعبيرات المنتظمة (برك الجزء الي يروح بين //) بالتحت
+#هاذ يكون مطابقتها مع مسارات التصاوير البرانيه (الموصولة بصفه مباشره)
+#هاذي الي تشبهغادي تنعرض  كتصاور، خلاف هذا برك وصيلة للتصويرة غادي تنعرض
+#السطور اللي تبدأا ب# تعتبر تعليقات
+#هذا لا يتأثر بحالة الحروف
+
+#حط كامل منثورات التعبيرات المنتظمة فوق هذا السطر. خلي هاذ السطر سواسوا كيما هو</pre>',
+
+# Special:Tags
+'tag-filter' => 'صفاية[[Special:Tags|الوشام]]:',
+
+);
index 65b3eaf..30251a1 100644 (file)
@@ -247,7 +247,6 @@ $1',
 'disclaimers' => 'Inḍaraṫ',
 'disclaimerpage' => 'Project:Inḍaraṫ ĝammin',
 'edithelp' => 'Mosaĝada',
-'helppage' => 'Help:Meḍmon',
 'mainpage' => 'Ṣ-Ṣefḫa l-owla',
 'mainpage-description' => 'Ṣ-Ṣefḫa l-owla',
 'policy-url' => 'Project:siyassa',
@@ -627,7 +626,7 @@ yqdr ikon ṫnql wlla ṫḫyyd mlli knṫi kaṫċof had ṣfḫa.',
 ṫqdr ṫbddal klmṫ s-srr dialt had l-ḫisab j-jdid f-ṣṣfḫa ṫaĝ ''[[Special:ChangePassword|bḍḍel klmṫ s-srr]]'' mn bĝdmma ṫdĥol.",
 'newarticle' => '(jdid)',
 'newarticletext' => "Ṫbeĝṫi waḫed l-lyan li kayddi le waḫed ṣ-ṣefḫa li ṫṫemḫaṫ.
-Baċ ṫsayeb had ṣ-ṣefḫa, bda ṫekṫeb fe ṣ-ṣendoq li l-ṫeḫṫ (ċof ila bġiṫi [[{{MediaWiki:Helppage}}|ṣ-ṣefḫa de l-mosaĝada]] le l-mazid de l-meĝlomaṫ).
+Baċ ṫsayeb had ṣ-ṣefḫa, bda ṫekṫeb fe ṣ-ṣendoq li l-ṫeḫṫ (ċof ila bġiṫi [$1 ṣ-ṣefḫa de l-mosaĝada] le l-mazid de l-meĝlomaṫ).
 Ila wṣelṫi hnaya ĝla ġefla, brek ĝla l-boton '''rjeĝ''' dyal n-navigaṫør internet dyalek.",
 'anontalkpagetext' => "----''hada niqaċ ṫaĝ waḫd l-mosṫĥdim anonim lli mazal ma ṣayb-ċ ċi ḫisab, wlla ma kayĥdam-ċ bih.
 dakċċi ĝlaċ raḫna ĥddamin b-ĝonwan l-IP ṛ-ṛqmi baċ nĝaṛṛfoh.
@@ -796,8 +795,7 @@ raha kayna bĝda.',
 'revdelete-no-file' => 'dak l-milef ma kayn-ċ.',
 'revdelete-show-file-confirm' => 'waċ mṫ\'kked baġi ṫċof ṃoṛajaĝa mḫdofa ṫaĝ milef "<nowiki>$1</nowiki>" mn $2 l-$3?',
 'revdelete-show-file-submit' => 'iyih',
-'revdelete-selected' => "'''{{PLURAL:$2|ṃoṛajaĝa mĥṫaṛa|ṃoṛajaĝaṫ mĥṫaṛa}} d-[[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|ḫadaṫ sijill mĥṫaṛ|aḫdaṫ sijill mĥṫaṛa}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|ḫadaṫ sijill mĥṫaṛ|aḫdaṫ sijill mĥṫaṛa}}:',
 'revdelete-legend' => 'dir ḍ-ḍawaḅit dl-vizibiliṫi',
 'revdelete-hide-text' => 'khbbi nass lmorajaa',
 'revdelete-hide-image' => 'khbi lmohtawa dyal lfichier',
index e374ac1..891ead1 100644 (file)
@@ -550,7 +550,6 @@ $1',
 'disclaimers' => 'تنازل عن مسئوليه',
 'disclaimerpage' => 'Project:تنازل عن مسئوليه عمومى',
 'edithelp' => 'مساعده فى التعديل',
-'helppage' => 'Help:محتويات',
 'mainpage' => 'الصفحه الرئيسيه',
 'mainpage-description' => 'الصفحه الرئيسيه',
 'policy-url' => 'Project:سياسة',
@@ -887,7 +886,7 @@ $2',
 'newarticle' => '(جديد)',
 'newarticletext' => "انت وصلت لصفحه مابتدتش لسه.
 علشان  تبتدى الصفحة ابتدى الكتابه فى الصندوق اللى تحت.
-(بص على [[{{MediaWiki:Helppage}}|صفحة المساعده]] علشان معلومات اكتر)
+(بص على [$1 صفحة المساعده] علشان معلومات اكتر)
 لو كانت زيارتك للصفحه دى بالغلط، دوس على زرار ''رجوع'' فى متصفح الإنترنت عندك.",
 'anontalkpagetext' => "----'' صفحة النقاش دى بتاعة يوزر مجهول لسة ما فتحش لنفسه حساب أو عنده واحد بس ما بيستعملوش.
 علشان كدا لازم تستعمل رقم الأيبى علشان تتعرف عليه/عليها.
@@ -1100,8 +1099,7 @@ $2',
 'revdelete-no-file' => 'الملف المتحدد مالوش وجود',
 'revdelete-show-file-confirm' => 'انتا متأكد من انك عايز تشوف المراجعه الممسوحه بتاعة الملف "<nowiki>$1</nowiki>" من  $2 لحد $3?',
 'revdelete-show-file-submit' => 'ايوه',
-'revdelete-selected' => "'''{{PLURAL:$2|المراجعه المختاره|المراجعات المختاره}} بتاعة [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|حدث السجل المختار|أحداث السجل المختارة}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|حدث السجل المختار|أحداث السجل المختارة}}:',
 'revdelete-confirm' => 'لو سمحت اتأكدد انك ناوى تعمل كدا, و انك فاهم اللى ح يترتب على كدا, و انك بتعمل كدا بالتوافق مع مع [[{{MediaWiki:Policy-url}}|السياسه]].',
 'revdelete-suppress-text' => "الكبت لازم ييتعمل '''بس''' فى الحالات دى:
 * معلومات شخصيه مش مناسبه
index 3ea47ef..580b60d 100644 (file)
@@ -429,7 +429,6 @@ $1',
 'disclaimers' => 'দায়লুপ্তি',
 'disclaimerpage' => 'Project:সাধাৰণ দায়লুপ্তি',
 'edithelp' => 'সম্পাদনাৰ বাবে সহায়',
-'helppage' => 'Help:সমল',
 'mainpage' => 'বেটুপাত',
 'mainpage-description' => 'বেটুপাত',
 'policy-url' => 'Project:নীতি',
@@ -722,6 +721,7 @@ $2',
 'suspicious-userlogout' => 'আপোনাৰ প্ৰস্থানৰ অনুৰোধ বাতিল কৰা হৈছে কাৰণ হয়তো আপোনাৰ ব্ৰাউজাৰ অসম্পূৰ্ণ নতুবা পূৰ্বৱতী তথ্য পঠাইছে ।',
 'createacct-another-realname-tip' => "প্ৰকৃত নাম দিয়াটো বৈকল্পিক।
 আপুনি নামটো দিলে সেইটো আপোনাৰ বৰঙণিসমূহৰ বাবে স্বীকৃতি প্ৰদানত ব্যৱহাৰ কৰা হ'ব।",
+'pt-login-button' => 'প্ৰৱেশ',
 
 # Email sending
 'php-mail-error-unknown' => 'পি.এইছ.পি মেইল () কাৰ্যত অজ্ঞাত ত্ৰুটি ।',
@@ -886,7 +886,7 @@ $1ৰ দ্বাৰা এই অৱৰোধ কৰা হৈছে ।
 'newarticle' => '(নতুন)',
 'newarticletext' => "আপুনি বিচৰা প্ৰবন্ধটো বিচাৰি পোৱা নগ'ল।
 
-ইচ্ছা কৰিলে আপুনিয়েই এই প্ৰবন্ধটো লিখা আৰম্ভ কৰিব পাৰে। [[{{MediaWiki:Helppage}}|ইয়াত]] সহায় পাব।
+ইচ্ছা কৰিলে আপুনিয়েই এই প্ৰবন্ধটো লিখা আৰম্ভ কৰিব পাৰে। [$1 ইয়াত] সহায় পাব।
 
 আপুনি যদি ইয়ালৈ ভুলতে আহিছে, তেনেহলে আপোনাৰ ব্ৰাওজাৰৰ '''BACK''' বুটামত টিপা মাৰক।",
 'anontalkpagetext' => "----''এইখন আলোচনা পৃষ্ঠা বেনামী সদস্যৰ বাবে, যিয়ে নিজা একাউন্ট  সৃষ্টি কৰা নাই বা যিয়ে সেই একাউন্ট ব্যৱহাৰ নকৰে ।
@@ -901,7 +901,7 @@ $1ৰ দ্বাৰা এই অৱৰোধ কৰা হৈছে ।
 'noarticletext-nopermission' => 'এই পৃষ্ঠাত বৰ্তমান কোনো পাঠ্য নাই।
 আপুনি আন পৃষ্ঠাত [[Special:Search/{{PAGENAME}}|এই শিৰোনামা অনুসন্ধান কৰিব পাৰে]],
 বা <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} সম্পৰ্কীয় অভিলেখ অনুসন্ধান কৰিব পাৰে]</span>, কিন্তু এই পৃষ্ঠা সৃষ্টি কৰিবলৈ আপোনাৰ অনুমতি নাই।',
-'missing-revision' => '"{{PAGENAME}}" নামৰ পৃষ্ঠাৰ #$1 সংশোধনৰ অস্তিত্ব নাই।
+'missing-revision' => '"{{FULLPAGENAME}}" নামৰ পৃষ্ঠাৰ #$1 সংশোধনৰ অস্তিত্ব নাই।
 
 সাধাৰণতে বিলোপ কৰা এখন পৃষ্ঠাৰ পুৰণা ইতিহাস লিংক অনুসৰণ কৰিলে এনে হয়।
 [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} বিলোপন ল\'গ]ত অধিক তথ্য পাব।',
@@ -1139,8 +1139,7 @@ $3 য়ে আগবঢ়োৱা ইয়াৰ কাৰণ হৈছে
 'revdelete-no-file' => 'নিৰ্ধাৰিত ফাইলটো নাই।',
 'revdelete-show-file-confirm' => 'আপুনি "<nowiki>$1</nowiki>"  ফাইলৰ বিলোপ কৰা কৰা সংশোধন $2 তাৰিখৰ পৰা $3 সময়ত চাব বিচাৰিছে নেকি?',
 'revdelete-show-file-submit' => 'হয়',
-'revdelete-selected' => "'''[[:$1]]-ৰ {{PLURAL:$2|নিৰ্বাচিত সংশোধন|নিৰ্বাচিত সংশোধনসমূহ}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|টা নিৰ্বাচিত ল’গ ভৰ্তি|টা নিৰ্বাচিত ল’গ ভৰ্তি}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|টা নিৰ্বাচিত ল’গ ভৰ্তি|টা নিৰ্বাচিত ল’গ ভৰ্তি}}:',
 'revdelete-confirm' => 'অনুগ্ৰহ কৰি সাব্যস্ত কৰক যে আপুনি ইয়াৰ পৰিণাম বুজি আৰু [[{{MediaWiki:Policy-url}}|the policy]] ৰ সৈতে সহমত হৈ এই কামটো কৰিব বিচাৰিছে |',
 'revdelete-suppress-text' => "নিবাৰণ '''কেৱল''' তলত দিয়া কাৰণসমূহত ব্যৱহৃত হ’ব:
 * সম্ভাব্য ক্ষতিকাৰক তথ্য 
@@ -1280,7 +1279,7 @@ $1",
 'search-file-match' => '(ফাইলৰ বিষয়বস্তুৰ লগত মিল পোৱা গৈছে)',
 'search-suggest' => 'আপুনি $1 বুজাব খুজিছে নেকি?',
 'search-interwiki-caption' => 'সহপ্ৰকল্পসমূহ',
-'search-interwiki-default' => '$1 ফলাফলসমূহ:',
+'search-interwiki-default' => '$1 ফলাফলসমূহ:',
 'search-interwiki-more' => '(আৰু)',
 'search-relatedarticle' => 'সম্পৰ্কিত',
 'searcheverything-enable' => 'সকলো নামস্থানত অনুসন্ধান কৰক',
@@ -2439,7 +2438,7 @@ $UNWATCHURL
 'protect-locked-access' => "এই পৃষ্ঠাটোৰ সুৰক্ষা-স্তৰ সলনি কৰাৰ অনুমতি আপোনাক দিয়া হোৱা নাই ।
 '''$1''' পৃষ্ঠাখনৰ সুৰক্ষা-স্তৰৰ গাঁথনি ইয়াত আছে:",
 'protect-cascadeon' => 'এই পৃষ্ঠাটো বৰ্তমান সুৰক্ষিত কাৰণ ই {{PLURAL:$1|খন পৃষ্ঠাৰ|খন পৃষ্ঠাৰ}} অন্তৰ্গত য’ত প্ৰপাতাকাৰ সুৰক্ষা সক্ৰিয় ।
-à¦\86পà§\81নি à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাৰ à¦¸à§\81ৰà¦\95à§\8dষা à¦¸à§\8dতৰ à¦¸à¦²à¦¾à¦¬ à¦ªà¦¾à§°à§\87 à¦\95িনà§\8dতà§\81 à¦¸à¦¿ à¦ªà§\8dৰপাতাà¦\95াৰ à¦¸à§\81ৰà¦\95à§\8dষাত à¦\95à§\8bনà§\8b à¦ªà§\8dৰভাৱ à¦¨à§\87পà§\87লায ।',
+à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাৰ à¦¸à§\81ৰà¦\95à§\8dষা à¦¸à§\8dতৰ à¦¸à¦²à¦¾à¦²à§\87 à¦ªà§\8dৰপাতাà¦\95াৰ à¦¸à§\81ৰà¦\95à§\8dষাত à¦\95à§\8bনà§\8b à¦ªà§\8dৰভাৱ à¦¨à§\87পà§\87লায় ।',
 'protect-default' => 'সকলো ব্যৱহাৰকাৰীৰ বাবে',
 'protect-fallback' => 'কেৱল "$1" অনুমতি থকা ব্যৱহাৰকাৰীকহে সুযোগ দিয়া হয়',
 'protect-level-autoconfirmed' => 'কেৱল স্বয়ংনিশ্চিত ব্যৱহাৰকাৰীকহে সুযোগ দিয়া হয়',
index 1aa9719..7354886 100644 (file)
@@ -311,7 +311,6 @@ $1",
 'disclaimers' => 'Avisu llegal',
 'disclaimerpage' => 'Project:Avisu xeneral',
 'edithelp' => "Ayuda d'edición",
-'helppage' => 'Help:Conteníu',
 'mainpage' => 'Portada',
 'mainpage-description' => 'Portada',
 'policy-url' => 'Project:Polítiques',
@@ -799,7 +798,7 @@ Seique se treslladara o desaniciara mientres víes la páxina.',
 'accmailtext' => "Unvióse a $2 una contraseña xenerada al debalu pal usuariu [[User talk:$1|$1]]. Pue camudase na páxina ''[[Special:ChangePassword|camudar contraseña]]'' depués d'aniciar sesión.",
 'newarticle' => '(Nuevu)',
 'newarticletext' => "Siguisti un enllaz a un artículu qu'inda nun esiste.
-Pa crear la páxina, empecipia a escribir nel cuadru d'embaxo (mira la [[{{MediaWiki:Helppage}}|páxina d'ayuda]] pa más información).
+Pa crear la páxina, empecipia a escribir nel cuadru d'embaxo (mira la [$1 páxina d'ayuda] pa más información).
 Si llegasti equí por enquivocu, calca nel botón '''atrás''' del to restolador.",
 'anontalkpagetext' => "----
 ''Esta ye la páxina d'alderique pa un usuariu anónimu qu'inda nun creó una cuenta o que nun la usa.''
@@ -812,7 +811,7 @@ Pue [[Special:Search/{{PAGENAME}}|buscar esti títulu de páxina]] n\'otres páx
 o [{{fullurl:{{FULLPAGENAME}}|action=edit}} editar esta páxina]</span>.',
 'noarticletext-nopermission' => 'Nestos momentos nun hai testu nesta páxina.
 Pue [[Special:Search/{{PAGENAME}}|buscar esti títulu de páxina]] n\'otres páxines o <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} buscar los rexistros rellacionaos]</span>, pero nun tiene permisu pa crear esta páxina.',
-'missing-revision' => 'La revisión #$1 de la páxina llamada "{{PAGENAME}}" nun esiste.
+'missing-revision' => 'La revisión #$1 de la páxina llamada "{{FULLPAGENAME}}" nun esiste.
 
 De vezu la causa d\'esto ye siguir un enllaz antiguu del historial a una páxina que se desanició.
 Se puen alcontrar más detalles nel [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} rexistru de desanicios].',
@@ -1046,8 +1045,9 @@ Pues ver el diff; los detalles s'alcuentren nel [{{fullurl:{{#Special:Log}}/supr
 'revdelete-no-file' => 'El ficheru conseñáu nun esiste.',
 'revdelete-show-file-confirm' => '¿Tas seguru de que quies ver una versión desaniciada del ficheru "<nowiki>$1</nowiki>" del $2 a les $3?',
 'revdelete-show-file-submit' => 'Sí',
-'revdelete-selected' => "'''{{PLURAL:$2|Revisión seleicionada|Revisiones seleicionaes}} de [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Socesu del rexistru seleicionáu|Socesos del rexistru seleicionaos}}:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Revisión seleicionada|Revisiones seleicionaes}} de [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Versión del ficheru seleicionada|Versiones del ficheru seleicionaes}} de [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|Socesu del rexistru seleicionáu|Socesos del rexistru seleicionaos}}:',
 'revdelete-text-text' => 'Les revisiones desaniciaes inda apaecerán nel historial de la páxina, pero partes del conteníu nun sedrán accesibles al públicu.',
 'revdelete-text-file' => 'Les versiones del ficheru desaniciaes inda apaecerán nel historial del ficheru, pero partes del conteníu nun sedrán accesibles al públicu.',
 'logdelete-text' => 'Los socesos del rexistru desaniciaos inda apaecerán nos rexistros, pero partes del conteníu nun sedrán accesibles al públicu.',
@@ -1920,6 +1920,11 @@ Seique quieras camudar la descripción de la so [páxina de descripción de fich
 # List redirects
 'listredirects' => 'Llista de redireiciones',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Llista de ficheros con duplicaos',
+'listduplicatedfiles-summary' => "Esta ye una llista de ficheros onde la versión más nueva del ficheru ye un duplicáu de la versión más nueva d'algún otru ficheru. Considérense sólo los ficheros llocales.",
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] tien [[$3|{{PLURAL:$2|un duplicáu|$2 duplicaos}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Plantíes ensin usu',
 'unusedtemplatestext' => "Esta páxina llista toles páxines del espaciu de nomes {{ns:template}} que nun tán inxeríes n'otres páxines.
@@ -2375,7 +2380,8 @@ ye la configuración actual de la páxina '''$1''':",
 la base de datos. Esta ye la configuración actual de la páxina '''$1''':",
 'protect-locked-access' => "La to cuenta nun tien permisu pa camudar los niveles de proteición de páxina.
 Esta ye la configuración actual pa la páxina '''$1''':",
-'protect-cascadeon' => "Esta páxina ta protexida nestos momentos porque ta inxerida {{PLURAL:$1|na siguiente páxina, que tien|nes siguientes páxines, que tienen}} activada la proteición en cascada. Pues camudar el nivel de proteición d'esta páxina, pero nun va afeutar a la proteición en cascada.",
+'protect-cascadeon' => "Esta páxina ta protexida nestos momentos porque ta incluída {{PLURAL:$1|na siguiente páxina, que tien|nes siguientes páxines, que tienen}} activada la proteición en cascada.
+Los cambios nel nivel de proteición d'esta páxina nun afeutarán a la proteición en cascada.",
 'protect-default' => 'Permitir tolos usuarios',
 'protect-fallback' => 'Permitir namái usuarios con permisu "$1"',
 'protect-level-autoconfirmed' => 'Permitir namái usuarios autoconfirmaos',
index 8554b20..3c3d5b0 100644 (file)
@@ -305,7 +305,6 @@ $messages = array(
 'disclaimers' => 'Walzera',
 'disclaimerpage' => 'Project:Jadif walzereem',
 'edithelp' => 'Pomara',
-'helppage' => 'Help:Pomara',
 'mainpage' => 'Emudexo',
 'mainpage-description' => 'Emudexo',
 'policy-url' => 'Project:Policy',
@@ -584,7 +583,7 @@ Rinaf tise IP mane tir $3 ise ID elekara tir #$5. Va bate ik bane mane ko kota e
 'accmailtext' => 'Remravlem ke « $1 » al zo stakser pu $2.',
 'newarticle' => '(Warzaf)',
 'newarticletext' => "Va gluyasiki va metisu bu su vulegal.
-Ta buredura, ko vlevef bor toz geltsutel (va [[{{MediaWiki:Helppage}}|pomarabu]] ta loa giva wil).
+Ta buredura, ko vlevef bor toz geltsutel (va [$1 pomarabu] ta loa giva wil).
 Ede batlize roklason tigil, va '''back''' uzadjo ke nedisiki vulegal.",
 'anontalkpagetext' => "---- ''Vous êtes sur la page de discussion d'un utilisateur anonyme qui n'a pas encore créé un compte ou qui ne l'utilise pas. Pour cette raison, nous devons utiliser l'adresse IP numérique pour l'identifier. Une adresse de ce type peut être partagée entre plusieurs utilisateurs. Si vous êtes un utilisateur anonyme et si vous constatez que des commentaires qui ne vous concernent pas vous ont été adressés, vous pouvez [[Special:UserLogin|créer un compte ou vous connecter]] afin d'éviter toute future confusion.''",
 'noarticletext' => 'Moe batu bu mek krent dure tir.
@@ -716,8 +715,7 @@ Ta ropasusu warzafu bu yo va [[Special:Search|aneyara ko wiki]] yawal.',
 'revdelete-nooldid-text' => 'Ta skura va bati fli, ont rin va jalaf betaks me bazeyel, ont yawayal da va noeltaf betaks palsel.',
 'revdelete-no-file' => 'Bazen iyeltak me krulder.',
 'revdelete-show-file-submit' => 'En',
-'revdelete-selected' => "'''{{PLURAL:$2|Reban betaks|Yon reban betaks}} va [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:\$1|Reban \"log\" bif|Yon reban \"log\" bif}} :'''",
+'logdelete-selected' => '{{PLURAL:$1|Reban "log" bif|Yon reban "log" bif}} :',
 'revdelete-legend' => 'Skus irutareem',
 'revdelete-hide-text' => 'Palsera va betaracek',
 'revdelete-hide-image' => 'Palsera va iyeltakcek',
index fa084a5..2309abe 100644 (file)
@@ -332,7 +332,6 @@ $1',
 'disclaimers' => 'Məsuliyyətdən imtina',
 'disclaimerpage' => 'Project:Məsuliyyətdən imtina',
 'edithelp' => 'Redaktə kömək',
-'helppage' => 'Help:Mündəricat',
 'mainpage' => 'Ana Səhifə',
 'mainpage-description' => 'Ana Səhifə',
 'policy-url' => 'Project:Qaydalar',
@@ -728,7 +727,7 @@ Həmin alt səhifə ola bilsin siz səhifəyə baxan zaman silinib.',
 'accmailtext' => "[[User talk:$1|$1]] üçün təsadüfi yolla yaradılmış parol $2 ünvanına göndərildi.
 Hesabınıza daxil olduqdan sonra, parolunuzu ''[[Special:ChangePassword|parolu dəyiş]]'' səhifəsində dəyişdirə bilərsiniz.",
 'newarticle' => '(Yeni)',
-'newarticletext' => "Mövcud olmayan səhifəyə olan keçidi izlədiniz. Aşağıdakı sahəyə məzmununu yazaraq bu səhifəni '''siz''' yarada bilərsiniz. (əlavə məlumat üçün [[{{MediaWiki:Helppage}}|kömək səhifəsinə]] baxın). Əgər bu səhifəyə səhvən gəlmisinizsə sadəcə olaraq brauzerin '''geri''' düyməsinə vurun.",
+'newarticletext' => "Mövcud olmayan səhifəyə olan keçidi izlədiniz. Aşağıdakı sahəyə məzmununu yazaraq bu səhifəni '''siz''' yarada bilərsiniz. (əlavə məlumat üçün [$1 kömək səhifəsinə] baxın). Əgər bu səhifəyə səhvən gəlmisinizsə sadəcə olaraq brauzerin '''geri''' düyməsinə vurun.",
 'anontalkpagetext' => "----''Bu səhifə qeydiyyatdan keçməmiş və ya daxil olmamış anonim istifadəçiyə aid müzakirə səhifəsidir.
 Ona görə bu istifadəçini rəqəmlərdən ibarət IP ünvanı ilə müəyyən etmək məcburiyyətindəyik.
 Belə IP ünvan bir neçə fərd tərəfindən istifadədə ola bilər.
@@ -886,8 +885,7 @@ Mümkündür ki, bununla bağlı təfərrüatlar [{{fullurl:{{#Special:Log}}/del
 'revdelete-no-file' => 'Axtarılan fayl mövcud deyil',
 'revdelete-show-file-confirm' => '"<nowiki>$1</nowiki>" faylının $2 $3 tarixli silinmiş bir redaktəsini görmək istədiyinizdən əminsizinizmi?',
 'revdelete-show-file-submit' => 'Bəli',
-'revdelete-selected' => "'''[[:$1]] səhifəsinin {{PLURAL:$2|seçilmiş versiyası|seçilmiş versiyaları}}:'''",
-'logdelete-selected' => "'''Jurnalın {{PLURAL:$1|seçilmiş qeydi|seçilmiş qeydləri}}:'''",
+'logdelete-selected' => 'Jurnalın {{PLURAL:$1|seçilmiş qeydi|seçilmiş qeydləri}}:',
 'revdelete-legend' => 'Məhdudiyyətləri müəyyənləşdir:',
 'revdelete-hide-text' => 'Səhifənin bu versiyasının mətnini gizlə',
 'revdelete-hide-image' => 'Faylın məzmununu gizlə',
@@ -2348,6 +2346,10 @@ Zəhmət olmasa başqa ad seçin.',
 'pageinfo-lasttime' => 'Sonuncu redaktənin tarixi',
 'pageinfo-edits' => 'Redaktələrin sayı',
 'pageinfo-authors' => 'Fərqli müəlliflərin sayı',
+'pageinfo-toolboxlink' => 'Əsas məlumatlar',
+'pageinfo-redirectsto' => 'İstiqamətləndirmə',
+'pageinfo-redirectsto-info' => 'məlumat',
+'pageinfo-contentpage-yes' => 'Bəli',
 
 # Skin names
 'skinname-cologneblue' => 'Cologne Blue',
index 9a693eb..74b83f8 100644 (file)
@@ -330,7 +330,6 @@ $1',
 'disclaimers' => 'رد ائتمک',
 'disclaimerpage' => 'Project:عمومی رد ائتمک',
 'edithelp' => 'ديَیشیکلیک‌لر اوچون یاردیم',
-'helppage' => 'Help:ایچینده‌کیلر',
 'mainpage' => 'آنا صحیفه',
 'mainpage-description' => 'آنا صحیفه',
 'policy-url' => 'Project:قایدالار',
@@ -754,7 +753,7 @@ $2
 بو یئنی حسابین رمزی، گیرندن سونرا ''[[Special:ChangePassword|رمز دَییشدیرمه]]'' صحیفه‌سیندن دَییشیله بیلر.",
 'newarticle' => '(یئنی)',
 'newarticletext' => "مؤوجود اوْلمايان صحیفه‌‌يه اوْلان کئچیدی ایزله‌دینیز. 
-آشاغیداکی ساحه‌‌يه مظمونونو يازاراق بۇ صحیفه‌‌نی '''سیز''' يارادا بیلرسینیز. (علاوه‌‌ معلومات اۆچون [[{{MediaWiki:Helppage}}|کؤمک صحیفه‌‌سینه]] باخین). اگر بۇ صحیفه‌‌يه سهون گلمیسینیزسه ساده‌جه اوْلاراق براوزئرین '''گئری''' دۆيمه‌سینه وۇرون.",
+آشاغیداکی ساحه‌‌يه مظمونونو يازاراق بۇ صحیفه‌‌نی '''سیز''' يارادا بیلرسینیز. (علاوه‌‌ معلومات اۆچون [$1 کؤمک صحیفه‌‌سینه] باخین). اگر بۇ صحیفه‌‌يه سهون گلمیسینیزسه ساده‌جه اوْلاراق براوزئرین '''گئری''' دۆيمه‌سینه وۇرون.",
 'anontalkpagetext' => "''بو صحیفه قئیدیات‌دان کئچممیش و یا داخیل اولمامیش آنونیم ایستیفادچییه عایید موذاکیره صحیفه‌سی‌دیر.
 اونا گؤره بو ایستیفادچینی رقم‌لردن عبارت ایپ اونوانی ایله معین ائتمک مجبوریتیندییک.
 بئله ایپ اونوان بیر نئچه فرد طرفین‌دن ایستیفاده‌ده اولا بیلر.
@@ -767,7 +766,7 @@ $2
 باشقا صحیفه‌‌لرده عینی آددا صحیفه‌‌نی  [[Special:Search/{{PAGENAME}}| آختار]], علاقه‌‌لی قئيدلره 
 <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} باخا],
 و يا صحیفه‌‌نی  [{{fullurl:{{FULLPAGENAME}}|action=edit}} redaktə]</span> ائده بیلرسینیز.',
-'missing-revision' => '«{{PAGENAME}}» صحیفه‌سی اوچون $1 نومره‌لی نوسخه یوخدور.
+'missing-revision' => '«{{FULLPAGENAME}}» صحیفه‌سی اوچون $1 نومره‌لی نوسخه یوخدور.
 
 عموماُ بو ایشکال، واختی گئچمیش بیر باغلانتی ایله سیلینمیش بیر صحیفه‌یه گلنده، قاباغا گلر.
 [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} سیلمک سیاهی]‌سینده باشقا بیلگیلر اولا بیلر.',
@@ -988,7 +987,6 @@ $3 طرفین‌دن وئریلن سبب '$2",
 'revdelete-no-file' => 'آختاریلان فايل مؤوجود دئيیل',
 'revdelete-show-file-confirm' => '"<nowiki>$1</nowiki>" فایلینین $2 $3 تاریخ‌لی سیلینمیش بیر رئداکته‌سینی گؤرمک ایستدیگینیزدن امینسیزینیزمی؟',
 'revdelete-show-file-submit' => 'بلی',
-'revdelete-selected' => "[[:$1]] صحیفه‌سی‌نین {{PLURAL:$2|سئچیلمیش نوسخه لری|سئچیلمیش نوسخه لری }}:'",
 'logdelete-selected' => "'ژورنالین {{PLURAL:$1|سئچیلمیش قئیدی|سئچیلمیش قئیدلری}}:'",
 'revdelete-confirm' => 'خاهیش ائدیریک، بونو ائتمک ایستدیگینیزی، نتیجه‌لرینی آنلادیغینیزی، و بونو [[{{MediaWiki:Policy-url}}| پرینسیپ‌لره]] گؤره ائدیر اولدوغونوزو تسدیق ائدین.',
 'revdelete-suppress-text' => "ساخلاما 'یالنیز آشاغی‌داکی حال‌لار اوچون ایستیفاده ائدیلمه‌لی‌دیر:
index 33d791e..80d3fa4 100644 (file)
@@ -395,7 +395,6 @@ $1',
 'disclaimers' => 'Яуаплылыҡтан баш тартыу',
 'disclaimerpage' => 'Project:Яуаплылыҡтан баш тартыу',
 'edithelp' => 'Төҙәтеү белешмәһе',
-'helppage' => 'Help:Белешмә',
 'mainpage' => 'Баш бит',
 'mainpage-description' => 'Баш бит',
 'policy-url' => 'Project:Ҡағиҙәләр',
@@ -842,7 +841,7 @@ $2
 Танылғандан һуң был иҫәп яҙмаһы өсөн серһүҙҙе ''[[Special:ChangePassword|серһүҙҙе үҙгәртеү өсөн махсус биттә үҙгәртә алаһығыҙ]]''.",
 'newarticle' => '(Яңы)',
 'newarticletext' => "Һеҙ һылтанма буйынса әлегә яһалмаған биткә күстегеҙ.
-Яңы бит яһар өсөн аҫтағы тәҙрәгә текст керетегеҙ (тулыраҡ мәғлүмәт өсөн [[{{MediaWiki:Helppage}}|ярҙам битен]] ҡарағыҙ).
+Яңы бит яһар өсөн аҫтағы тәҙрәгә текст керетегеҙ (тулыраҡ мәғлүмәт өсөн [$1 ярҙам битен] ҡарағыҙ).
 Әгәр был биткә яңылыш килеп эләккән булһағыҙ, браузерығыҙҙың '''артҡа''' төймәһенә баҫығыҙ.",
 'anontalkpagetext' => "----''Был фекер алышыу бите, иҫәп яҙыуы булдырмаған йәки уны ҡулланмаған аноним ҡатнашыусының бите.
 Шуның өсөн ҡулланыусыны таныу өсөн IP-адресы ҡулланыла.
@@ -854,7 +853,7 @@ $2
 'noarticletext-nopermission' => 'Хәҙерге ваҡытта был биттә текст юҡ.
 Һеҙ башҡа биттәрҙә [[Special:Search/{{PAGENAME}}|был исемде]] йәки
 <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} журналдағы яҙмаларҙы] эҙләй алаһығыҙ, тик һеҙҙең бит яһау хоҡуғығыҙ юҡ.</span>',
-'missing-revision' => '"{{PAGENAME}}" исемле биттең $1 номерлы өлгөһө юҡ.
+'missing-revision' => '"{{FULLPAGENAME}}" исемле биттең $1 номерлы өлгөһө юҡ.
 
 Был хәл, ғәҙәттә, юйылған биткә яһалған һылтанманын ваҡыты үтеүенән барлыҡҡа килә.
 Тулыраҡ мәғлүмәт өсөн ҡарағыҙ: [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} юйыу яҙмалары].',
@@ -1076,8 +1075,7 @@ $3 белдергән сәбәп: ''$2''",
 'revdelete-no-file' => 'Күрһәтелгән файл юҡ.',
 'revdelete-show-file-confirm' => '$2, $3 ваҡытлы «<nowiki>$1</nowiki> файлының юйылған версияһын ҡарарға теләүегеҙҙе раҫлайһығыҙмы?',
 'revdelete-show-file-submit' => 'Эйе',
-'revdelete-selected' => "'''[[:$1]] битенең {{PLURAL:$2|1=һайланған версияһы|һайланған версиялары}}:'''",
-'logdelete-selected' => "'''Яҙманың {{PLURAL:$1|1=һайланған яҙыуы|һайланған яҙыуҙары}}:'''",
+'logdelete-selected' => 'Яҙманың {{PLURAL:$1|1=һайланған яҙыуы|һайланған яҙыуҙары}}:',
 'revdelete-confirm' => 'Зинһар, был ғәмәлде үтәргә теләүегеҙҙе, буласаҡ һөҙөмтәләрҙә аңлауығыҙҙы, [[{{MediaWiki:Policy-url}}|ҡағиҙәләр]] буйынса эшләүегеҙҙе раҫлағыҙ.',
 'revdelete-suppress-text' => "Йәшереү '''тик''' киләһе осраҡтарҙа ғына башҡарыла:
 
index 4a880f2..65f0055 100644 (file)
@@ -291,7 +291,6 @@ $1",
 'disclaimers' => 'Impressum',
 'disclaimerpage' => 'Project:Impressum',
 'edithelp' => 'Huif fias Werkln',
-'helppage' => 'Help:Inhoidsvazeichnis',
 'mainpage' => 'Hoamseitn',
 'mainpage-description' => 'Hoamseitn',
 'policy-url' => 'Project:Richtlinien',
@@ -527,7 +526,7 @@ Dei IP-Adress wead in da Versionsgschicht afzoachnet.',
 Des Posswort fyr des naiche Benutzerkonto kå auf da Speziaalseiten  „[[Special:ChangePassword|Posswort ändern]]“ gändert wern.',
 'newarticle' => '(Neich)',
 'newarticletext' => 'Du bist am Link gfoigt, wos no koa Seitn gibt.
-Um de Seitn ozlegn, trog dein Text im untan Kostn ei (schaug af da [[{{MediaWiki:Helppage}}|Huifeseitn]] fia mea Infos).
+Um de Seitn ozlegn, trog dein Text im untan Kostn ei (schaug af da [$1 Huifeseitn] fia mea Infos).
 Wens a Irrtum is, dassd do bist, nach druck in Zruck-Knopf vom Brausa.',
 'anontalkpagetext' => "---- ''De Seiten werd dodazua hergnumma, am ned-ågmöiderten Benutzer Nochrichten z' hinterlossen.
 Wånnst mid de Kommentare auf derer Seiten nix åfanga kåst, is vamuatlich da friarerne Inhower vo derer IP-Adress gmoat und du kåstas ignorirn.
index 9a0fa9e..f691fb4 100644 (file)
@@ -356,7 +356,6 @@ $1',
 'disclaimers' => 'بی میاری گیان',
 'disclaimerpage' => 'Project:عمومی بی میاریگان',
 'edithelp' => 'کمک اصلاح',
-'helppage' => 'Help:محتوا',
 'mainpage' => 'صفحه اصلی',
 'mainpage-description' => 'صفحه اصلی',
 'policy-url' => 'Project:سیاست',
@@ -660,7 +659,7 @@ $2',
 کلمه رمز په نوکین حساب ته صفحه ''[[Special:ChangePassword|عوض کتن رمز]]'' وهدی که وارد بیتت تونیت بدل بیتن",
 'newarticle' => '(نوکین)',
 'newarticletext' => "شما رند چه یک لینکی په یک صفحه ی که هنو نیستند اتکگیت.
-په شر کتن صفحه، شروع کن نوشتن ته جعبه جهلی(بچار  [[{{MediaWiki:Helppage}}|صفحه کمک]]  په گیشترین اطلاعات).
+په شر کتن صفحه، شروع کن نوشتن ته جعبه جهلی(بچار  [$1 صفحه کمک]  په گیشترین اطلاعات).
 اگر شما اشتباهی ادانیت ته وتی بروزر دکمه ''Back'' بجن.",
 'anontalkpagetext' => "----'' ای صفحه بحث انت په یک ناشناس کاربری که هنگت یک حسابی شر نه کتت یا آی ا ستفاده نه کتت. اچه ما بایدن آدرس آی پی عددی په پچاه آرگ آیی استفاده کنین.
 چوشن آدرس آی پی گون چندین کاربر استفاده بیت.
@@ -833,8 +832,7 @@ Legend: (cur) = تفاوتان گون هنوکین نسخه,
 ،بازبینی مشخص موجود نهنت، یا شما تلاش کنیت هنوکین بازبینی پناه کنیت.',
 'revdelete-no-file' => 'فایل مشخص بیتگین موجود نهنت',
 'revdelete-show-file-submit' => 'بله',
-'revdelete-selected' => "'''{{PLURAL:$2|بازبینی انتخابی|بازبینی ان انتخابی}} چه [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|رویداد آمار انتخابی|رویداد ان آمار انتخابی}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|رویداد آمار انتخابی|رویداد ان آمار انتخابی}}:',
 'revdelete-suppress-text' => "فرونشانی بایدن '''فقط''' په جهلگین موارد استفاده بیت:
 * اطلاعات نامناسب شخصی
 *: ''نشانی لوگ، شماره تلفن، شماره تامین اجتماعی و دگه.''",
index 583d8b6..86058cf 100644 (file)
@@ -345,7 +345,6 @@ $1',
 'disclaimers' => 'Mga Pangindahan',
 'disclaimerpage' => 'Project:Pangkagabsán na pangindahan',
 'edithelp' => 'Pantabang sa pagliliwat',
-'helppage' => 'Help:Mga Kalamnan',
 'mainpage' => 'Panginot na Pahina',
 'mainpage-description' => 'Panginot na Pahina',
 'policy-url' => 'Project:Kalakawan',
@@ -807,7 +806,7 @@ Ini puwedeng pinagbalyo o pinagpara na habang saimong pinaghihiling an pahina.',
 'accmailtitle' => 'Napadará na an sekretong panlaog.',
 'accmailtext' => "An purak na pinagpuyos na pasa-taramon para ki [[User talk:$1|$1]] ipinagpadara na sa $2. Ini mapupuwedeng pagribayan sa ''[[Special:ChangePassword|change password]]'' na pahina matapos na ika nakalaog na.",
 'newarticle' => '(Bàgo)',
-'newarticletext' => "Ika nakapagsunod sa sarong sugpon pasiring sa sarong pahina na bako pang eksistido. Tanganing makapagmukna nin pahina, magpoon sa pagpindot sa laog nin kahon sa ibaba (hilngon an [[{{MediaWiki:Helppage}}|pahina nin katabangan]] para sa kadugangan na impormasyon).
+'newarticletext' => "Ika nakapagsunod sa sarong sugpon pasiring sa sarong pahina na bako pang eksistido. Tanganing makapagmukna nin pahina, magpoon sa pagpindot sa laog nin kahon sa ibaba (hilngon an [$1 pahina nin katabangan] para sa kadugangan na impormasyon).
 Kun ika napasalang nakadigde, i-klik an  '''ibalik''' na pindutan kan saimong kilyaw.",
 'anontalkpagetext' => "----''Ini iyo an pahina kan orolayan para an sarong dae bistadong paragamit na dae pa nakapagmukna nin panindog, o dae pa nakapaggamit kaini.
 Kaya kami kaipong gumamit nin numerikal na IP address sa pagbisto saiya.
@@ -820,7 +819,7 @@ o [{{fullurl:{{FULLPAGENAME}}|action=edit}} liwaton ining pahina]</span>.',
 'noarticletext-nopermission' => 'Mayong sa presente nin teksto an pahinang ini.
 Ika mapuwedeng [[Special:Search/{{PAGENAME}}|hanapa para kaining titulo kan pahina]] sa iba pang mga pahina,
 o <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} maghanap sa magkasurundong mga talaan]</span>.',
-'missing-revision' => 'An rebisyon #$1 kan pahina pinagngaranan na "{{PAGENAME}}" bakong eksistido.
+'missing-revision' => 'An rebisyon #$1 kan pahina pinagngaranan na "{{FULLPAGENAME}}" bakong eksistido.
 
 Ini pirmihan na pinagkakausa sa paagi nin pagsusunod nin luwas na petsang historiya nin kasugpunan pasiring sa sarong pahinang pinagpura na.
 An mga detalye matatagboan sa [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} pinagpura na talaan].',
@@ -1047,8 +1046,7 @@ Ika puwedeng makakatanaw kaining diff; mga detalye puwedeng mananagboan sa [{{fu
 'revdelete-no-file' => 'An sagunson na pinaghayag dae tabi eksistido.',
 'revdelete-show-file-confirm' => 'Segurado ka tabi na gusto mo matanaw sarong pinagpurang pagbabago kan sagunson "<nowiki>$1</nowiki>" poon $2 sa $3?',
 'revdelete-show-file-submit' => 'Iyo tabi',
-'revdelete-selected' => "'''{{PLURAL:$2|Selected revision|Mga piniling pagbabago}} kan [[:$1]]'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Selected log event|Mga piniling talaan kan mga pangyayari}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Selected log event|Mga piniling talaan kan mga pangyayari}}:',
 'revdelete-confirm' => 'Pakikumpirma tabi na ika tuyong gumibo kaini, na saimong naintindihan an mga konsekuwensiya, asin ta ika pinaghihimo ini na uyon sa [[{{MediaWiki:Policy-url}}|an palisiya]].',
 'revdelete-suppress-text' => "An paglulubog dapat '''sana''' magagamit para sa minasunod na mga kaso:
 *Potensiyal na libeloso an impormasyon
index f4f0e30..eb0efc9 100644 (file)
@@ -111,7 +111,7 @@ $messages = array(
 'tog-previewontop' => 'Папярэдні паказ — над рэдактарскім полем',
 'tog-previewonfirst' => 'Папярэдні паказ пры першай праўцы',
 'tog-enotifwatchlistpages' => 'Слаць мне эл.пошту, калі мяняецца старонка ў маім спісе назірання',
-'tog-enotifusertalkpages' => 'СлаÑ\86Ñ\8c Ñ\8dл.поÑ\88Ñ\82Ñ\83 Ð¿Ñ\80а Ð¼ÐµÐ½Ñ\8b Ñ\9e Ð¼Ð°Ñ\91й Ñ\80азмоÑ\9eнай Ñ\81Ñ\82аÑ\80онÑ\86Ñ\8b',
+'tog-enotifusertalkpages' => 'Ð\9fаведамлÑ\8fÑ\86Ñ\8c Ð¼Ð½Ðµ Ð½Ð° Ñ\8dл.поÑ\88Ñ\82Ñ\83 Ð°Ð± Ð·Ð¼ÐµÐ½Ð°Ñ\85 Ð½Ð° Ð¼Ð°Ñ\91й Ñ\81Ñ\82аÑ\80онÑ\86Ñ\8b Ñ\80азмоÑ\9e',
 'tog-enotifminoredits' => 'Паведамяць мне на эл.пошту пра дробныя праўкі старонак і файлаў',
 'tog-enotifrevealaddr' => 'Не скрываць майго адрасу эл.пошты ў паведамленнях',
 'tog-shownumberswatching' => 'Паказваць колькасць назіральнікаў',
@@ -339,7 +339,6 @@ $1',
 'disclaimers' => 'Адмова ад адказнасці',
 'disclaimerpage' => 'Project:Агульная адмова ад адказнасці',
 'edithelp' => 'Даведка рэдактарскага акна',
-'helppage' => 'Help:Змест',
 'mainpage' => 'Галоўная старонка',
 'mainpage-description' => 'Першая старонка',
 'policy-url' => 'Project:Арганізацыйная палітыка',
@@ -729,7 +728,7 @@ $2
 
 Пароль на гэты новы рахунак можа быць зменены на ''[[Special:ChangePassword|адмысловай старонцы]]'' пасля ўваходу ў сістэму.",
 'newarticle' => '(Новы)',
-'newarticletext' => 'Вы перайшлі да старонкі, якой яшчэ няма, і таму трапілі сюды. Каб пачаць новую старонку, пішыце яе тэкст у ніжэйпаказаным акне рэдагавання (падрабязнасці бач у [[{{MediaWiki:Helppage}}|даведцы]]). Калі вы тут выпадкова, проста націсніце "назад" у браўзеры.',
+'newarticletext' => 'Вы перайшлі да старонкі, якой яшчэ няма, і таму трапілі сюды. Каб пачаць новую старонку, пішыце яе тэкст у ніжэйпаказаным акне рэдагавання (падрабязнасці бач у [$1 даведцы]). Калі вы тут выпадкова, проста націсніце "назад" у браўзеры.',
 'anontalkpagetext' => "----''Гэта старонка размовы з ананімным удзельнікам, які або не мае свайго рахунку, або ім не карыстаўся. Таму дзеля яго ці яе ідэнтыфікацыі мы мусім выкарыстаць лічбавы Адрас IP. Такі адрас IP могуць дзяліць між сабою некалькі асоб. Калі вы ананімны ўдзельнік, і лічыце, што атрымліваеце няслушныя заўвагі,[[Special:UserLogin/signup|стварыце рахунак]] або [[Special:UserLogin|акажыцеся]], каб вас больш не блыталі з іншымі ананімнымі ўдзельнікамі.''",
 'noarticletext' => 'Старонка не ўтрымлівае тэксту. Вы можаце [[Special:Search/{{PAGENAME}}|пашукаць гэткую назву]] ў іншых старонках ці <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} ў журналах],
 або [{{fullurl:{{FULLPAGENAME}}|action=edit}} папрацаваць з гэтай старонкай]</span>.',
@@ -770,6 +769,7 @@ $2
 Магчыма, прычына ў выкарыстанні вамі ананімнага проксі-сервера, праграмы якога працуюць некарэктна.'''",
 'edit_form_incomplete' => "'''Некаторыя часткі формы рэдагавання не дасягнулі сервера. Упэўніцеся, што Вашыя рэдагаванні не пашкоджаныя і паспрабуйце зноў.'''",
 'editing' => 'Правім: $1',
+'creating' => 'Стварэнне старонкі «$1»',
 'editingsection' => 'Правім $1 (раздзел)',
 'editingcomment' => 'Правім $1 (новы раздзел)',
 'editconflict' => 'Канфлікт правак: $1',
@@ -936,8 +936,7 @@ $2
 'revdelete-no-file' => 'Пазначаны файл не існуе.',
 'revdelete-show-file-confirm' => 'Ці сапраўды паказаць сцёртую версію файла "<nowiki>$1</nowiki>" ($2 $3)?',
 'revdelete-show-file-submit' => 'Так',
-'revdelete-selected' => "'''{{PLURAL:$2|Выбраная версія|Выбраныя версіі}} [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Выбраны запіс|Выбраныя запісы}} журналу:'''",
+'logdelete-selected' => '{{PLURAL:$1|Выбраны запіс|Выбраныя запісы}} журналу:',
 'revdelete-confirm' => 'Пацвердзіце, што вы жадаеце гэта зрабіць, што вы разумееце наступствы, і што вы робіце гэта ў адпаведнасці з [[{{MediaWiki:Policy-url}}|арганізацыйнымі правіламі]].',
 'revdelete-suppress-text' => "Заглушэнне належыць ужываць '''выключна''' ў наступных выпадках:
 * Недапушчальная асабістая інфармацыя
@@ -1342,7 +1341,7 @@ $1",
 'nchanges' => '$1 {{PLURAL:$1|змена|змены|змен}}',
 'recentchanges' => 'Апошнія змены',
 'recentchanges-legend' => 'Магчымасці паказу',
-'recentchanges-summary' => 'Гэта апошнія мены на пляцоўцы {{SITENAME}}.',
+'recentchanges-summary' => 'Ð\93Ñ\8dÑ\82а Ð°Ð¿Ð¾Ñ\88нÑ\96Ñ\8f Ð·Ð¼ÐµÐ½Ñ\8b Ð½Ð° Ð¿Ð»Ñ\8fÑ\86оÑ\9eÑ\86Ñ\8b {{SITENAME}}.',
 'recentchanges-feed-description' => 'Сачыць за найбольш актуальнымі змяненнямі ў віксе праз гэты струмень навін.',
 'recentchanges-label-newpage' => 'Гэтай праўкай была створана новая старонка',
 'recentchanges-label-minor' => 'Гэта дробная па значэнні праўка',
@@ -1987,7 +1986,7 @@ $1',
 'enotif_mailer' => 'Апавяшчальнік {{SITENAME}}',
 'enotif_reset' => 'Пазначыць усе старонкі як наведаныя',
 'enotif_impersonal_salutation' => 'Шаноўны ўдзельнік {{SITENAME}}',
-'enotif_lastvisited' => 'Гл. $1 каб бачыць усе мены пасля вашага апошняга наведвання.',
+'enotif_lastvisited' => 'Ð\93л. $1 ÐºÐ°Ð± Ð±Ð°Ñ\87Ñ\8bÑ\86Ñ\8c Ñ\83Ñ\81е Ð·Ð¼ÐµÐ½Ñ\8b Ð¿Ð°Ñ\81лÑ\8f Ð²Ð°Ñ\88ага Ð°Ð¿Ð¾Ñ\88нÑ\8fга Ð½Ð°Ð²ÐµÐ´Ð²Ð°Ð½Ð½Ñ\8f.',
 'enotif_lastdiff' => 'Гл. $1 каб бачыць гэтую мену.',
 'enotif_anon_editor' => 'ананімны ўдзельнік $1',
 'enotif_body' => 'Паважаны(ая) $WATCHINGUSERNAME,
@@ -2589,7 +2588,7 @@ $1',
 'tooltip-pt-login' => 'Уваходзіць у сістэму неабавязкова, але вас вельмі запрашаюць гэтак зрабіць.',
 'tooltip-pt-logout' => 'Выйсці з сістэмы',
 'tooltip-ca-talk' => 'Размовы пра змест гэтай старонкі',
-'tooltip-ca-edit' => 'Старонку можна правіць; ужывайце папярэдні паказ перад замацоўваннем.',
+'tooltip-ca-edit' => 'Старонку можна правіць. Перш чым запісаць свае змены, паглядзіце на вынік, націснуўшы кнопку папярэдняга прагляду.',
 'tooltip-ca-addsection' => 'Дадаць новы раздзел',
 'tooltip-ca-viewsource' => 'Гэтая старонка ахоўваецца, але можна паглядзець яе зыходны тэкст.',
 'tooltip-ca-history' => 'Ранейшыя версіі гэтай старонкі.',
@@ -2612,7 +2611,7 @@ $1',
 'tooltip-n-randompage' => 'Паказаць выпадковую старонку',
 'tooltip-n-help' => 'Дзе можна атрымаць тлумачэнні.',
 'tooltip-t-whatlinkshere' => 'Спіс вікі-старонак, што спасылаюцца сюды',
-'tooltip-t-recentchangeslinked' => 'Нядаўнія мены ў старонках, на якія спасылаецца гэтая старонка',
+'tooltip-t-recentchangeslinked' => 'Ð\9dÑ\8fдаÑ\9eнÑ\96Ñ\8f Ð·Ð¼ÐµÐ½Ñ\8b Ñ\9e Ñ\81Ñ\82аÑ\80онкаÑ\85, Ð½Ð° Ñ\8fкÑ\96Ñ\8f Ñ\81паÑ\81Ñ\8bлаеÑ\86Ñ\86а Ð³Ñ\8dÑ\82аÑ\8f Ñ\81Ñ\82аÑ\80онка',
 'tooltip-feed-rss' => 'RSS-струмень гэтай старонкі',
 'tooltip-feed-atom' => 'Струмень навін Atom для гэтай старонкі',
 'tooltip-t-contributions' => 'Паказаць пералік укладаў гэтага ўдзельніка',
@@ -3298,8 +3297,8 @@ $5
 'livepreview-error' => 'Не ўдалося далучыцца: $1 "$2". Паспрабуйце звычайны перадпаказ.',
 
 # Friendlier slave lag warnings
-'lag-warn-normal' => 'Ð\9cенÑ\8b, Ð½Ð°Ð²ÐµÐ¹Ñ\88Ñ\8bÑ\8f Ð·Ð° $1 {{PLURAL:$1|Ñ\81ек.|Ñ\81ек.}}, Ð¼Ð¾Ð³Ñ\83Ñ\86Ñ\8c Ð½Ðµ Ñ\82Ñ\80апÑ\96Ñ\86Ñ\8c Ñ\83 Ð³Ñ\8dÑ\82Ñ\8b Ð¿Ð°ÐºÐ°Ð·.',
-'lag-warn-high' => 'Ð\97 Ð¿Ñ\80Ñ\8bÑ\87Ñ\8bнÑ\8b Ð¼Ð¾Ñ\86нÑ\8bÑ\85 Ð·Ð°Ñ\82Ñ\80Ñ\8bмак Ð½Ð° Ñ\81еÑ\80веÑ\80Ñ\8b Ð±Ð°Ð· Ð´Ð°Ð½Ñ\8bÑ\85, Ð¼ÐµÐ½Ñ\8b, Ð½Ð°Ð²ÐµÐ¹Ñ\88Ñ\8bÑ\8f Ð·Ð° $1 {{PLURAL:$1|Ñ\81ек.|Ñ\81ек.}}, Ð¼Ð¾Ð³Ñ\83Ñ\86Ñ\8c Ð½Ðµ Ñ\82Ñ\80апÑ\96Ñ\86Ñ\8c Ñ\83 Ð³Ñ\8dÑ\82Ñ\8b Ð¿Ð°ÐºÐ°Ð·.',
+'lag-warn-normal' => 'Ð\97менÑ\8b, Ð·Ñ\80обленÑ\8bÑ\8f Ð¼ÐµÐ½Ñ\88 Ð·Ð° $1 {{PLURAL:$1|Ñ\81ек.|Ñ\81ек.}} Ð½Ð°Ð·Ð°Ð´, Ð¼Ð¾Ð³Ñ\83Ñ\86Ñ\8c Ð½Ðµ Ñ\82Ñ\80апÑ\96Ñ\86Ñ\8c Ñ\83 Ð³Ñ\8dÑ\82Ñ\8b Ñ\81пÑ\96Ñ\81.',
+'lag-warn-high' => 'Ð\97 Ð¿Ñ\80Ñ\8bÑ\87Ñ\8bнÑ\8b Ð¼Ð¾Ñ\86нÑ\8bÑ\85 Ð·Ð°Ñ\82Ñ\80Ñ\8bмак Ð½Ð° Ñ\81еÑ\80веÑ\80Ñ\8b Ð±Ð°Ð· Ð´Ð°Ð½Ñ\8bÑ\85, Ð·Ð¼ÐµÐ½Ñ\8b, Ð·Ñ\80обленÑ\8bÑ\8f Ð¿Ð°Ð·Ð½ÐµÐ¹ Ñ\87Ñ\8bм $1 {{PLURAL:$1|Ñ\81ек.|Ñ\81ек.}} Ð½Ð°Ð·Ð°Ð´, Ð¼Ð¾Ð³Ñ\83Ñ\86Ñ\8c Ð½Ðµ Ñ\82Ñ\80апÑ\96Ñ\86Ñ\8c Ñ\83 Ð³Ñ\8dÑ\82Ñ\8b Ñ\81пÑ\96Ñ\81.',
 
 # Watchlist editor
 'watchlistedit-numitems' => 'У назіраным {{PLURAL:$1|1 складнік|$1 складнікаў}}, без уліку размоўных старонак.',
index baa65cf..24b1757 100644 (file)
@@ -509,7 +509,6 @@ $1',
 'disclaimers' => 'Адмова ад адказнасьці',
 'disclaimerpage' => 'Project:Адмова ад адказнасьці',
 'edithelp' => 'Дапамога ў рэдагаваньні',
-'helppage' => 'Help:Зьмест',
 'mainpage' => 'Галоўная старонка',
 'mainpage-description' => 'Галоўная старонка',
 'policy-url' => 'Project:Правілы',
@@ -975,7 +974,7 @@ $2
 'accmailtext' => "Створаны адвольны пароль для [[User talk:$1|$1]] быў адасланы па адрасе $2. Яго можна зьмяніць на старонцы ''[[Special:ChangePassword|зьмены паролю]]'' пасьля ўваходу.",
 'newarticle' => '(Новая)',
 'newarticletext' => "Вы прыйшлі па спасылцы на старонку, якая яшчэ не існуе.
-Каб стварыць яе, напішыце тэкст у полі ніжэй (глядзіце [[{{MediaWiki:Helppage}}|старонку дапамогі]] для дадатковай інфармацыі).
+Каб стварыць яе, напішыце тэкст у полі ніжэй (глядзіце [$1 старонку дапамогі] для дадатковай інфармацыі).
 Калі Вы трапілі сюды памылкова, націсьніце '''назад''' у вашым браўзэры.",
 'anontalkpagetext' => "----''Гэта старонка гутарак ананімнага ўдзельніка, які яшчэ не стварыў сабе рахунак альбо не ўжывае яго. Таму мы вымушаныя ўжываць лічбавы IP-адрас дзеля ягонай ідэнтыфікацыі. Адзін IP-адрас можа выкарыстоўвацца некалькімі ўдзельнікамі. Калі Вы — ананімны ўдзельнік і лічыце, што атрымалі не прызначаныя Вам камэнтары, калі ласка, [[Special:UserLogin/signup|стварыце рахунак]] альбо [[Special:UserLogin|увайдзіце ў сыстэму]], каб у будучыні пазьбегнуць магчымай блытаніны зь іншымі ананімнымі ўдзельнікамі.''",
 'noarticletext' => 'Цяпер тэкст на гэтай старонцы адсутнічае.
@@ -983,7 +982,7 @@ $2
 альбо [{{fullurl:{{NAMESPACE}}:{{PAGENAME}}|action=edit}} рэдагаваць гэтую старонку]</span>.',
 'noarticletext-nopermission' => 'Цяпер на гэтай старонцы тэкст адсутнічае.
 Вы можаце [[Special:Search/{{PAGENAME}}|пашукаць назву гэтай старонкі]] на іншых старонках, альбо <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} пашукаць зьвязаныя запісы ў журналах]</span>, але ў вас няма дазволу ствараць гэтую старонку.',
-'missing-revision' => 'Вэрсія старонкі №$1 з назвай «{{PAGENAME}}» не існуе.
+'missing-revision' => 'Вэрсія старонкі №$1 з назвай «{{FULLPAGENAME}}» не існуе.
 
 Звычайна гэта здараецца з-за перахода па састарэлай спасылцы на старонку, якая была выдаленая.
 Падрабязнасьці можна знайсьці ў [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} журнале выдаленьняў].',
@@ -1214,11 +1213,13 @@ $2
 'revdelete-no-file' => 'Пазначаны файл не існуе.',
 'revdelete-show-file-confirm' => 'Вы ўпэўненыя, што жадаеце паглядзець выдаленую вэрсію файла «<nowiki>$1</nowiki>» ад $2 $3?',
 'revdelete-show-file-submit' => 'Так',
-'revdelete-selected' => "'''{{PLURAL:$2|1=Выбраная вэрсія|Выбраныя вэрсіі}} старонкі [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|1=Выбраны запіс|Выбраныя запісы}} журнала:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|1=Абраная вэрсія|Абраныя вэрсіі}} [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|1=Абраная вэрсія файла|Абраныя вэрсіі файла}} [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|1=Выбраны запіс|Выбраныя запісы}} журнала:',
 'revdelete-text-text' => 'Выдаленыя вэрсіі будуць па-ранейшаму бачныя ў гісторыі старонкі, але некаторыя часткі іх зьместу будуць недаступныя для ўдзельнікаў.',
 'revdelete-text-file' => 'Выдаленыя вэрсіі файла будуць па-ранейшаму бачныя ў гісторыі старонкі, але часткі іх зьместу будуць недаступныя для ўдзельнікаў.',
 'logdelete-text' => 'Выдаленыя падзеі ў журнале будуць па-ранейшаму даступныя ў журналах, але часткі іх зьместу будуць недаступныя ўдзельнікам.',
+'revdelete-text-others' => 'Іншыя адмністратары {{GRAMMAR:родны|{{SITENAME}}}} па-ранейшаму будуць мець магчымасьць пабачыць і аднавіць схаваны зьмест праз гэты ж інтэрфэйс, калі ня будуць усталяваныя дадатковыя абмежаваньні.',
 'revdelete-confirm' => 'Калі ласка, пацьвердзіце, што Вы сапраўды жадаеце зрабіць гэта, разумееце наступствы і робіце гэта ў адпаведнасьці з [[{{MediaWiki:Policy-url}}|правіламі]].',
 'revdelete-suppress-text' => "Скрываньне можа выкарыстоўвацца '''толькі''' ў наступных выпадках:
 * патэнцыйна паклёпніцкая інфармацыя
@@ -2073,6 +2074,11 @@ $1',
 # List redirects
 'listredirects' => 'Сьпіс перанакіраваньняў',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Сьпіс файлаў з дублікатамі',
+'listduplicatedfiles-summary' => 'Гэта сьпіс файлаў, дзе самая апошняя вэрсія файла зьяўляецца дублікатам самай апошняй вэрсіі нейкага іншага файла. Улічваюцца толькі лякальныя файлы.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] мае [[$3|$2 {{PLURAL:$2|дублікат|дублікаты|дублікатаў}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Шаблёны, якія не выкарыстоўваюцца',
 'unusedtemplatestext' => 'На гэтай старонцы зьмешчаны сьпіс усіх старонак прасторы назваў «{{ns:template}}», якія ня ўключаныя ў іншыя старонкі.
@@ -2525,7 +2531,7 @@ $UNWATCHURL
 Цяперашнія налады для старонкі '''$1''':",
 'protect-locked-access' => "Вы ня маеце правоў для зьмены ўзроўню абароны старонкі.
 Цяперашнія налады для старонкі '''$1''':",
-'protect-cascadeon' => 'Гэтая старонка часова абароненая, таму што яна ўключаная ў {{PLURAL:$1|наступную старонку, якая абароненая|наступныя старонкі, якія абароненыя|наступныя старонкі, якія абароненыя}} каскаднай абаронай.
+'protect-cascadeon' => 'Гэтая старонка часова абароненая, таму што яна ўключаная ў {{PLURAL:$1|наступную старонку, якая абароненая|наступныя старонкі, якія абароненыя}} каскаднай абаронай.
 Вы можаце зьмяніць узровень абароны, але гэта не паўплывае на каскадную абарону.',
 'protect-default' => 'Дазволіць усім удзельнікам',
 'protect-fallback' => 'Дазволіць толькі ўдзельнікам з дазволам «$1»',
@@ -3800,6 +3806,10 @@ $5
 'imgmultigo' => 'Перайсьці!',
 'imgmultigoto' => 'Перайсьці на старонку $1',
 
+# Language selector for translatable SVGs
+'img-lang-default' => '(мова па змоўчаньні)',
+'img-lang-info' => 'Паказаць гэтую выяву наступнай мовай: $1. $2',
+
 # Table pager
 'ascending_abbrev' => 'узраст.',
 'descending_abbrev' => 'зьмянш.',
index 6ed88fc..6e8468b 100644 (file)
@@ -490,7 +490,6 @@ $1',
 'disclaimers' => 'Условия за ползване',
 'disclaimerpage' => 'Project:Условия за ползване',
 'edithelp' => 'Помощ при редактиране',
-'helppage' => 'Help:Съдържание',
 'mainpage' => 'Начална страница',
 'mainpage-description' => 'Начална страница',
 'policy-url' => 'Project:Политика',
@@ -684,6 +683,7 @@ $2',
 'gotaccountlink' => 'Влизане',
 'userlogin-resetlink' => 'Забравени данни за влизане в системата?',
 'userlogin-resetpassword-link' => 'Забравена парола?',
+'userlogin-helplink2' => 'Помощ за влизане',
 'userlogin-loggedin' => 'Вече сте влезли в системата като {{GENDER:$1|$1}}.
 Чрез формуляра по-долу можете да влезете като друг потребител.',
 'userlogin-createanother' => 'Създаване на друга сметка',
@@ -771,6 +771,7 @@ $2',
 'createacct-another-realname-tip' => 'Истинското име е незадължително.
 В случай, че бъде избрабо да се попълни, ще бъде използвано за да му се приписват приносите в уикито.',
 'pt-login' => 'Влизане',
+'pt-login-button' => 'Влизане',
 'pt-createaccount' => 'Създаване на сметка',
 'pt-userlogout' => 'Излизане',
 
@@ -845,7 +846,13 @@ $2
 'changeemail-cancel' => 'Отказване',
 
 # Special:ResetTokens
+'resettokens' => 'Изчистване на маркерите',
+'resettokens-no-tokens' => 'Няма маркери за изчистване.',
+'resettokens-legend' => 'Изчистване на маркерите',
+'resettokens-tokens' => 'Маркери:',
 'resettokens-token-label' => '$1 (текуща стойност: $2)',
+'resettokens-watchlist-token' => 'Маркер за уеб хранилка (Atom/RSS) на [[Special: Watchlist|промени на страници от списъка Ви за наблюдение]]',
+'resettokens-resetbutton' => 'Изчистване на избраните маркери',
 
 # Edit page toolbar
 'bold_sample' => 'Получер текст',
@@ -927,14 +934,14 @@ $2
 'newarticle' => '(нова)',
 'newarticletext' => 'Последвахте препратка към страница, която все още не съществува.
 За да я създадете, просто започнете да пишете в долната текстова кутия
-(вижте [[{{MediaWiki:Helppage}}|помощната страница]] за повече информация).',
+(вижте [$1 помощната страница] за повече информация).',
 'anontalkpagetext' => "----''Това е дискусионната страница на анонимен потребител, който все още няма регистрирана сметка или не я използва, затова се налага да използваме IP-адрес, за да го идентифицираме. Такъв адрес може да се споделя от няколко потребители.''
 
 ''Ако сте анонимен потребител и мислите, че тези неуместни коментари са отправени към вас, [[Special:UserLogin/signup|регистрирайте се]] или [[Special:UserLogin|влезте в системата]], за да избегнете евентуално бъдещо объркване с други анонимни потребители.''",
 'noarticletext' => 'Тази страница все още не съществува. Можете да [[Special:Search/{{PAGENAME}}|потърсите за заглавието на страницата]] в други страници, да <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} потърсите в дневниците] или [{{fullurl:{{FULLPAGENAME}}|action=edit}} да я създадете]</span>.',
 'noarticletext-nopermission' => 'Текущо в тази страница няма текст.
 Можете да [[Special:Search/{{PAGENAME}}|потърсите заглавието на тази страница ]] в други страници или да <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} потърсите в съответните дневници]</span>, но нямате права да създадете тази страница.',
-'missing-revision' => 'Версия #$1 на страницата „{{PAGENAME}}“ не съществува.
+'missing-revision' => 'Версия #$1 на страницата „{{FULLPAGENAME}}“ не съществува.
 
 Това обикновено се дължи на препратка от историята на страницата, която е била изтрита.
 Подробности могат да бъдат открити в [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} дневника на изтриванията].',
@@ -1151,8 +1158,7 @@ $2
 'revdelete-no-file' => 'Посоченият файл не съществува.',
 'revdelete-show-file-confirm' => 'Необходимо е потвърждение, че желаете да прегледате изтритата версия на файла „<nowiki>$1</nowiki>“ от $2 $3.',
 'revdelete-show-file-submit' => 'Да',
-'revdelete-selected' => "'''{{PLURAL:$2|Избрана версия|Избрани версии}} от '''$1:''''''",
-'logdelete-selected' => "'''{{PLURAL:$1|Избрано събитие|Избрани събития}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Избрано събитие|Избрани събития}}:',
 'revdelete-confirm' => 'Необходимо е да потвърдите, че велаете да извършите действието, разбирате последствията и го правите според [[{{MediaWiki:Policy-url}}|политиката]].',
 'revdelete-suppress-text' => "Премахването трябва да се използва '''само''' при следните случаи:
 *Неподходяща или неприемлива лична информация
@@ -1398,6 +1404,7 @@ $1",
 'prefs-dateformat' => 'Формат на датата',
 'prefs-timeoffset' => 'Часово отместване',
 'prefs-advancedediting' => 'Общи настройки',
+'prefs-editor' => 'Редактор',
 'prefs-preview' => 'Преглед',
 'prefs-advancedrc' => 'Разширени настройки',
 'prefs-advancedrendering' => 'Разширени настройки',
@@ -1406,6 +1413,7 @@ $1",
 'prefs-displayrc' => 'Настройки за показване на списъка',
 'prefs-displaysearchoptions' => 'Настройки на изгледа',
 'prefs-displaywatchlist' => 'Видими настройки',
+'prefs-tokenwatchlist' => 'Маркер',
 'prefs-diffs' => 'Разлики',
 'prefs-help-prefershttps' => 'Това предпочитание ще бъде активирано при следващото влизане.',
 
@@ -1722,7 +1730,7 @@ $1",
 'uploaddisabledtext' => 'Качването на файлове е забранено.',
 'php-uploaddisabledtext' => 'Качванията на файлове са спрени през PHP. Проверете настройката file_uploads.',
 'uploadscripted' => 'Файлът съдържа HTML или скриптов код, който може да бъде погрешно  интерпретиран от браузъра.',
-'uploadscriptednamespace' => 'Този SVG Ñ\84айл Ñ\81Ñ\8aдÑ\8aÑ\80жа Ð½ÐµÐ¿Ñ\80авилно Ð¿Ñ\80оÑ\81Ñ\82Ñ\80анÑ\81Ñ\82во Ð½Ð° Ð¸Ð¼ÐµÐ½Ð°Ñ\82а " $1 "',
+'uploadscriptednamespace' => 'Този SVG Ñ\84айл Ñ\81Ñ\8aдÑ\8aÑ\80жа Ð½ÐµÐ¿Ñ\80авилно Ð¸Ð¼ÐµÐ½Ð½Ð¾ Ð¿Ñ\80оÑ\81Ñ\82Ñ\80анÑ\81Ñ\82во â\80\9e$1â\80\9c',
 'uploadvirus' => 'Файлът съдържа вирус! Подробности: $1',
 'uploadjava' => 'Файлът е ZIP файл, който съдържа Java .class файл.
 Качването на Java файлове не е позволено, тъй като могат да причинят заобикаляне на ограниченията за сигурност.',
@@ -2023,7 +2031,9 @@ $1',
 'protectedpages-indef' => 'Само безсрочни защити',
 'protectedpages-cascade' => 'Само каскадни защити',
 'protectedpagesempty' => 'В момента няма защитени страници с тези параметри.',
+'protectedpages-page' => 'Страница',
 'protectedpages-reason' => 'Причина',
+'protectedpages-unknown-performer' => 'Неизвестен потребител',
 'protectedtitles' => 'Защитени заглавия',
 'protectedtitlesempty' => 'В момента няма заглавия, защитени с тези параметри.',
 'listusers' => 'Списък на потребителите',
@@ -2450,7 +2460,7 @@ $1',
 'sp-contributions-search' => 'Търсене на приноси',
 'sp-contributions-username' => 'IP-адрес или потребителско име:',
 'sp-contributions-toponly' => 'Показване само на последните редакции',
-'sp-contributions-newonly' => 'Показване само на редакции свързани с началното създаване на страницата.',
+'sp-contributions-newonly' => 'Показване само на редакции за създаването на страници',
 'sp-contributions-submit' => 'Търсене',
 
 # What links here
@@ -2929,7 +2939,7 @@ $2',
 'pageinfo-views' => 'Брой прегледи',
 'pageinfo-watchers' => 'Брой наблюдаващи страницата',
 'pageinfo-few-watchers' => 'Под $1 {{PLURAL:$1|наблюдаващ|наблюдаващи}}',
-'pageinfo-redirects-name' => 'Ð\9fренасочвания към тази страница',
+'pageinfo-redirects-name' => 'Ð\91Ñ\80ой Ð¿ренасочвания към тази страница',
 'pageinfo-subpages-name' => 'Подстраници на тази страница',
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|пренасочваща|пренасочващи}}; $3 {{PLURAL:$3|непренасочваща|непренасочващи}})',
 'pageinfo-firstuser' => 'Създател на страницата',
@@ -3594,6 +3604,7 @@ $5
 'version-version' => '(Версия $1)',
 'version-license' => 'Лиценз на МедияУики',
 'version-ext-license' => 'Лиценз',
+'version-ext-colheader-name' => 'Разширение',
 'version-ext-colheader-version' => 'Версия',
 'version-ext-colheader-license' => 'Лиценз',
 'version-ext-colheader-description' => 'Описание',
@@ -3728,9 +3739,9 @@ MediaWiki се разпространява с надеждата, че ще б
 'revdelete-uname-hid' => 'скрито потребителско име',
 'revdelete-restricted' => 'добавени ограничения за администраторите',
 'revdelete-unrestricted' => 'премахнати ограничения за администраторите',
-'logentry-move-move' => '$1 премести „$3“ като „$4“',
-'logentry-move-move-noredirect' => '$1 премести „$3“ като „$4“ без пренасочване',
-'logentry-move-move_redir' => '$1 премести страницата $3 като $4 (върху пренасочване)',
+'logentry-move-move' => '$1 {{GENDER:$2|премести}} страница „$3“ като „$4“',
+'logentry-move-move-noredirect' => '$1 {{GENDER:$2|премести}} страницата „$3“ като „$4“ без пренасочване',
+'logentry-move-move_redir' => '$1 {{GENDER:$2|премести}} страницата $3 като $4 (върху пренасочване)',
 'logentry-move-move_redir-noredirect' => '$1 премести върху пренасочване „$3“ като „$4“ без пренасочване',
 'logentry-patrol-patrol' => '$1 {{GENDER:$2|отбеляза}} като патрулирана версия $4 на страницата „$3“',
 'logentry-patrol-patrol-auto' => '$1 автоматично {{GENDER:$2|отбеляза}} като патрулирана версия $4 на страницата $3',
@@ -3828,6 +3839,10 @@ $1 е автоматично повишен от $4 до $5',
 
 # Special:ExpandTemplates
 'expandtemplates' => 'Разгръщане на шаблони',
+'expand_templates_intro' => 'Тази специална страница взима текст и рекурсивно разгръща всички шаблони в нея.
+Тя разгръща и всички поддържани парсерни функции като
+<code><nowiki>{{</nowiki>#language:…}}</code> и променливи като <code><nowiki>{{</nowiki>CURRENTDAY}}</code>.
+На практика тя разгръща почти всичко в двойни скоби.',
 'expand_templates_title' => 'Заглавие на страницата (напр. за {{FULLPAGENAME}}):',
 'expand_templates_input' => 'Входящ текст:',
 'expand_templates_output' => 'Резултат',
@@ -3836,6 +3851,7 @@ $1 е автоматично повишен от $4 до $5',
 'expand_templates_remove_comments' => 'Премахване на коментари',
 'expand_templates_remove_nowiki' => 'Потискане на елементите <nowiki> в резултата',
 'expand_templates_generate_xml' => 'Показване на дървото от разбора на XML',
+'expand_templates_generate_rawhtml' => 'Показване на суров HTML',
 'expand_templates_preview' => 'Преглед',
 
 );
index c0c05f1..6bfb14d 100644 (file)
@@ -294,7 +294,6 @@ $1',
 'disclaimers' => 'अस्विकरण',
 'disclaimerpage' => 'Project:सामान्य अस्विकरण',
 'edithelp' => 'मदद सम्पादन',
-'helppage' => 'Help:सामग्री',
 'mainpage' => 'मुख्य पन्ना',
 'mainpage-description' => 'मुख्य पन्ना',
 'policy-url' => 'Project:नीति',
@@ -721,7 +720,7 @@ $2
 'accmailtitle' => 'गुप्त-शब्द भेजा गईल',
 'newarticle' => '(नया)',
 'newarticletext' => "रउआ एगो अइसन लिंक के पन्ना के अनुसरण कइले बानी जउन अभी तक उपलब्ध नइखे।
-पन्ना बनावे खातिर, नीचे के बाकस में टाईप करे के शुरु करीं (ज्यादा जानकारी खातिर देखीं [[{{MediaWiki:Helppage}}|मदद पन्ना]])।
+पन्ना बनावे खातिर, नीचे के बाकस में टाईप करे के शुरु करीं (ज्यादा जानकारी खातिर देखीं [$1 मदद पन्ना])।
 यदि रउआ अहिजा गलती से आ गईल बानी त, आपन ब्राउजर के '''back''' (बैक) बटन दबाईं",
 'noarticletext' => 'ई पन्ना मे अभी कउनो सामग्री नईखे बा ।
 रउआ अन्य पन्ना में [[Special:Search/{{PAGENAME}}|ई शीर्षक के खोज]] कर सकत बानीं',
index 3845388..33f51b2 100644 (file)
@@ -377,7 +377,6 @@ $1",
 'disclaimers' => 'Panyangkalan',
 'disclaimerpage' => 'Project:Panyangkalan umum',
 'edithelp' => 'Patulung mambabak',
-'helppage' => 'Help:Isi',
 'mainpage' => 'Tungkaran Tatambaian',
 'mainpage-description' => 'Tungkaran Tatambaian',
 'policy-url' => 'Project:Kaaripan',
@@ -767,7 +766,7 @@ Pinanya ini sudah diugahakan atawa dihapus parhatan Pian maniringi tungkaran nan
 
 Katasunduk gasan pamakai hanyar nangini kawa diubah pintang tungkaran ''[[Special:ChangePassword|ubah katasunduk]]'' wayah babuat log.",
 'newarticle' => '(Hanyar)',
-'newarticletext' => "Pian maumpati sabuah tautan ka tungkaran nang baluman ada lagi. Gasan maulah tungkaran, mulai ja mangatik pada kutak di bawah (lihati [[{{MediaWiki:Helppage}}|tungkaran patulung]] gasan panjalasan labih). Amun Pian ka sia cagaran tasalah, klik picikan '''back''' di panjalajah web Pian.",
+'newarticletext' => "Pian maumpati sabuah tautan ka tungkaran nang baluman ada lagi. Gasan maulah tungkaran, mulai ja mangatik pada kutak di bawah (lihati [$1 tungkaran patulung] gasan panjalasan labih). Amun Pian ka sia cagaran tasalah, klik picikan '''back''' di panjalajah web Pian.",
 'anontalkpagetext' => "----''Ngini adalah tungkaran pamandiran gasan pamakai kada bangaran nang baluman ma-ulah akun pulang, atawa  kada mamakainya. Kami tapaksa mamakai numurik alamat IP hagan maminanduinya.
 Alamat IP nangkaini kawaai dipuruk ulih babarapa pamakai.
 Amun Pian adalah pamuruk kada bangaran wan marasa kumin nang kada pas ta ka Pian, muhun [[Special:UserLogin/signup|ulah sabuah akun]] or [[Special:UserLogin|babuat log]] hagan mahindari kabingungan awan pamuruk kada bangaran lain kaina.",
@@ -997,8 +996,7 @@ Sawagai saurang pambakal Pian kawa nang balain ini; rarincian kawa diugai dalam
 'revdelete-no-file' => 'Barakas nang diajuakan kadada.',
 'revdelete-show-file-confirm' => 'Pian bujurkah handak maniringi sabuah ralatan tahapus matan barakas "<nowiki>$1</nowiki>" $2 pada $3?',
 'revdelete-show-file-submit' => 'Iya-ai',
-'revdelete-selected' => "'''{{PLURAL:$2|Ralatan tapilih|Raralatan tapilih}} matan [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Log kajadian tapilih|Log kakajadian tapilih}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Log kajadian tapilih|Log kakajadian tapilih}}:',
 'revdelete-confirm' => 'Muhun yakinakan bahwasa Pian handak manggawi ini, bahwasa Pian paham sabab akibat, wan bahwasa Pian manggawi ini bapandal awan [[{{MediaWiki:Policy-url}}|kaaripan]].',
 'revdelete-suppress-text' => "Panikinan parlu dipuruk gasan kakasus baumpat ini:
 * Pina kawa jadi panjalasan pitnah
index cf451f2..17b06fa 100644 (file)
@@ -320,7 +320,6 @@ $1',
 'disclaimers' => 'দাবিত্যাগ',
 'disclaimerpage' => 'Project:সাধারণ দাবিত্যাগ',
 'edithelp' => 'সম্পাদনা সহায়িকা',
-'helppage' => 'Help:সূচী',
 'mainpage' => 'প্রধান পাতা',
 'mainpage-description' => 'প্রধান পাতা',
 'policy-url' => 'Project:নীতিমালা',
@@ -518,6 +517,7 @@ $2',
 'gotaccountlink' => 'প্রবেশ',
 'userlogin-resetlink' => 'আপনার লগইনের বিস্তারিত তথ্যাদি ভুলে গেছেন?',
 'userlogin-resetpassword-link' => 'শব্দচাবি ভুলে গেছেন?',
+'userlogin-helplink2' => 'লগইন সংক্রান্ত সাহায্য',
 'userlogin-loggedin' => 'আপনি বর্তমানে {{GENDER:$1|$1}} হিসাবে লগইন আছেন।
 অন্য ব্যবহারকারী নামে লগইন করতে চাইলে নিচের ফর্মটি ব্যবহার করুন।',
 'userlogin-createanother' => 'আরেকটি অ্যাকাউন্ট তৈরি করুন',
@@ -604,6 +604,7 @@ $2',
 'createacct-another-realname-tip' => 'আসল নাম ঐচ্ছিক।
 আপনি যদি তা দিতে চান, তাহলে তা ব্যবহারকারীকে তাদের কাজের জন্য স্বীকৃতিদানে ব্যবহার করা হবে।',
 'pt-login' => 'প্রবেশ',
+'pt-login-button' => 'প্রবেশ',
 'pt-createaccount' => 'অ্যাকাউন্ট তৈরি করুন',
 'pt-userlogout' => 'প্রস্থান',
 
@@ -780,7 +781,7 @@ $1 নিষেধাজ্ঞা আরোপ করেছেন। নিষ
 লগ-ইন করার পর ''[[Special:ChangePassword|পাসওয়ার্ড পরিবর্তন]]'' পাতা থেকে এটি পরিবর্তন করা যাব।",
 'newarticle' => '(নতুন)',
 'newarticletext' => "আপনি এমন একটি লিংক অনুসরণ করছেন, যা নেই।
-পাতাটি তৈরি করতে, নিচের বাক্সে তা টাইপ করা শুরু করুন (আরও তথ্য জানতে [[{{MediaWiki:Helppage}}|সহায়িকা পাতা]] দেখুন)।
+পাতাটি তৈরি করতে, নিচের বাক্সে তা টাইপ করা শুরু করুন (আরও তথ্য জানতে [$1 সহায়িকা পাতা] দেখুন)।
 আপনি যদি ভুল করে এখানে এসে থাকেন, তাহলে আপনার ব্রাউজারের '''back''' বোতাম ক্লিক করুন।",
 'anontalkpagetext' => "----''এটি একটি বেনামী ব্যবহারকারীর আলাপের পাতা, যিনি এখনও কোন অ্যাকাউন্ট তৈরি করেননি, কিংবা তিনি অ্যাকাউন্টটি ব্যবহার করছেন না।
 আমরা তাই সাংখ্যিক আইপি ঠিকানা ব্যবহার করে তাঁকে শনাক্ত করছি।
@@ -792,7 +793,7 @@ $1 নিষেধাজ্ঞা আরোপ করেছেন। নিষ
 কিংবা [{{fullurl:{{FULLPAGENAME}}|action=edit}} এই পাতাটি সম্পাদনা করতে পারেন]</span>।',
 'noarticletext-nopermission' => 'বর্তমানে এই পাতায় কোন লেখা নেই।
 আপনি চাইলে অন্য পাতায় [[Special:Search/{{PAGENAME}}| শিরোনামটি অনুসন্ধান করতে পারেন]], অথবা <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} সম্পর্কিত লগ অনুসন্ধান করতে পারেন]</span>, কিন্তু আপনার এই পাতাটি তৈরী করার অনুমতি নেই।',
-'missing-revision' => '"{{PAGENAME}}" এর #$1তম সংস্করণটি প্রদর্শন সম্ভব নয়।
+'missing-revision' => '"{{FULLPAGENAME}}" এর #$1তম সংস্করণটি প্রদর্শন সম্ভব নয়।
 
 সাধারণত মুছে ফেলা হয়েছে এমন পাতার মেয়াদ উত্তীর্ণ ইতিহাস পাতার লিংক ওপেন করার কারণে এটি হতে পারে। 
 [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} অপসারণ লগে] বিস্তারিত তথ্য জানা যাবে।',
@@ -1014,8 +1015,7 @@ $3-এর দেয়া কারণ হল ''$2''",
 'revdelete-no-file' => 'নির্ধারিত ফাইলটি নেই।',
 'revdelete-show-file-confirm' => 'আপনি কি নিশ্চিত যে "<nowiki>$1</nowiki>" ফাইলের $2 তারিখের $3 টার অপসারণ লগ দেখানো হবে?',
 'revdelete-show-file-submit' => 'হ্যাঁ',
-'revdelete-selected' => "'''[[:$1]] পাতার {{PLURAL:$2|নির্বাচিত সংশোধন|নির্বাচিত সংশোধনসমূহ}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|টি নির্বাচিত লগ-ঘটনা|টি নির্বাচিত লগ-ঘটনা}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|টি নির্বাচিত লগ-ঘটনা|টি নির্বাচিত লগ-ঘটনা}}:',
 'revdelete-confirm' => 'অনুগ্রহ করে নিশ্চিত করুন যে আপনি এটি করতে চাচ্ছিলেন, আপনি এর ফলাফল সম্পর্কে অবগত আছেন, এবং [[{{MediaWiki:Policy-url}}|নীতিমালার]] উপর ভিত্তি করেই এই কাজটি করছেন।',
 'revdelete-suppress-text' => "নিচের বিষয়গুলোর ক্ষেত্রেই '''কেবলমাত্র'''  চাপাচাপি করা যাবে:
 * সম্ভাব্য মানহানিকর তথ্য
@@ -1148,7 +1148,7 @@ $1",
 'search-file-match' => '(নথির বিষয়বস্তু মিলে যায়)',
 'search-suggest' => 'আপনি সম্ভবত বুঝাতে চাইছেন: $1',
 'search-interwiki-caption' => 'সহপ্রকল্পসমূহ',
-'search-interwiki-default' => '$1 ফলাফলসমূহ:',
+'search-interwiki-default' => '$1 à¦¥à§\87à¦\95à§\87 à¦«à¦²à¦¾à¦«à¦²à¦¸à¦®à§\82হ:',
 'search-interwiki-more' => '(আরও)',
 'search-relatedarticle' => 'সম্পর্কিত',
 'searcheverything-enable' => 'সকল নামস্থানে অনুসন্ধান করো',
@@ -2926,7 +2926,7 @@ $2',
 'pageinfo-lasttime' => 'সর্বশেষ সম্পাদনার তারিখ',
 'pageinfo-edits' => 'সর্বমোট সম্পাদনা সংখ্যা',
 'pageinfo-authors' => 'সর্বমোট সতন্ত্র সম্পাদকের সংখ্যা',
-'pageinfo-recent-edits' => 'সরà§\8dবশà§\87ষ à¦¸à¦®à§\8dপাদনা à¦\95রা à¦¹à¦¯à¦¼à§\87à¦\9bà§\87 (শà§\87ষ $1 à¦¦à¦¿à¦¨à§\87)',
+'pageinfo-recent-edits' => 'সরà§\8dবশà§\87ষ à¦¸à¦®à§\8dপাদনা à¦\95রা à¦¹à¦¯à¦¼à§\87à¦\9bà§\87 (à¦\97ত $1)',
 'pageinfo-recent-authors' => 'সাম্প্রতিক সতন্ত্র সম্পাদকের সংখ্যা',
 'pageinfo-magic-words' => 'ম্যাজিক {{PLURAL:$1|শব্দ|শব্দসমূহ}} ($1)',
 'pageinfo-hidden-categories' => 'লুকানো {{PLURAL:$1|বিষয়শ্রেণী|বিষয়শ্রেণীসমূহ}} ($1)',
index 7669e88..905b364 100644 (file)
@@ -273,7 +273,6 @@ $messages = array(
 'disclaimers' => 'བདག་སྤྲོད་འདོར་མཁན།',
 'disclaimerpage' => 'Project:ཡོངས་ཁྱབ་ཀྱི་བདག་སྤྲོད་ཁེ་དབང་རྩོད་ལེན།',
 'edithelp' => 'རྩོམ་སྒྲིག་རོགས་རམ།',
-'helppage' => 'Help:ནང་དོན།',
 'mainpage' => 'གཙོ་གནད་ཤོག་ངོས།',
 'mainpage-description' => 'གཙོ་གནད་ཤོག་ངོས།',
 'policy-url' => 'Project: སྒྲིག་གཞི།',
index 592e6bd..38e17c4 100644 (file)
@@ -278,7 +278,6 @@ $1',
 'disclaimers' => 'দাবি বেলানি',
 'disclaimerpage' => 'Project:ইজ্জু দাবি বেলানি',
 'edithelp' => 'পতানি পাংলাক',
-'helppage' => 'Help:পাংলাক',
 'mainpage' => 'পয়লা পাতা',
 'mainpage-description' => 'পয়লা পাতা',
 'policy-url' => 'Project:নীতিহান',
@@ -607,7 +606,7 @@ $2',
 লগ-ইন করানির পিসে তর নুৱা অ্যাকাউন্টর কা ''[[Special:ChangePassword|খন্তাচাবি সিলকরানি]]''র পাতাত্ব সালকরানি একরতই।",
 'newarticle' => '(নুৱা)',
 'newarticletext' => 'তি বিসারার মিলাপ অহান নেয়সে।
-তি চেইলে তলর বক্সগত বিষয়হানর বারে খানি ইকরিয়া ইতুকরে পারর বারো নিবন্ধহান অকরে পারর (আরাকউ হারপানিরকা [[{{MediaWiki:Helppage}}|পাঙলাক পাতা]] চা) পারর।
+তি চেইলে তলর বক্সগত বিষয়হানর বারে খানি ইকরিয়া ইতুকরে পারর বারো নিবন্ধহান অকরে পারর (আরাকউ হারপানিরকা [$1 পাঙলাক পাতা] চা) পারর।
 যদি হারনাপেয়া এহাত আহিয়া থার অতা ইলে ব্রাউজারর ব্যাক গুতমগত ক্লিক করিয়া আগর পাতাত আল পারর।',
 'anontalkpagetext' => "----''এহান অচিনা অতার য়্যারির পাতাহান, যেগই কোন অ্যাকাউন্ট না খুলিসে, নাইলে ব্যবহার নাকরের।
 অহানে আমি আইপি ঠিকানা (IP Address)ল অগরে দেখাদেরাঙতা।
index ce0821f..7ba44f0 100644 (file)
@@ -427,7 +427,6 @@ $1',
 'disclaimers' => 'Kemennoù',
 'disclaimerpage' => 'Project:Kemenn hollek',
 'edithelp' => 'Skoazell',
-'helppage' => 'Help:Skoazell',
 'mainpage' => 'Degemer',
 'mainpage-description' => 'Degemer',
 'policy-url' => 'Project:Reolennoù',
@@ -622,6 +621,7 @@ Na zisoñjit ket resisaat ho [[Special:Preferences|penndibaboù evit {{SITENAME}
 'gotaccountlink' => 'Kevreañ',
 'userlogin-resetlink' => "Ha disoñjet eo bet ho titouroù kevreañ ganeoc'h ?",
 'userlogin-resetpassword-link' => 'Ankouaet ho peus ho ker-tremen ?',
+'userlogin-helplink2' => 'Skoazell evit kevreañ',
 'userlogin-loggedin' => "Kevreet oc'h dija evel {{GENDER:$1|$1}}.
 Implijit ar furmskrid amañ dindan evit kevreañ evel un implijer all.",
 'userlogin-createanother' => 'Krouiñ ur gont all',
@@ -711,6 +711,10 @@ Gortozit $1, mar plij, a-raok esaeañ en-dro.",
 'loginlanguagelabel' => 'Yezh : $1',
 'suspicious-userlogout' => 'Distaolet eo bet ho koulenn digevreañ rak kaset e oa bet gant ur merdeer direizhet pe krubuilhadenn ur proksi, evit doare.',
 'createacct-another-realname-tip' => "Diret eo skrivañ hoc'h anv gwir. Ma skrivit anezhañ e vo implijet evit lakaat war wel ar pezh a vo bet degaset ganeoc'h.",
+'pt-login' => 'Kevreañ',
+'pt-login-button' => 'Kevreañ',
+'pt-createaccount' => 'Krouiñ ur gont',
+'pt-userlogout' => 'Digevreañ',
 
 # Email sending
 'php-mail-error-unknown' => "Fazi dianav en arc'hwel postel () PHP",
@@ -719,7 +723,7 @@ Gortozit $1, mar plij, a-raok esaeañ en-dro.",
 
 # Change password dialog
 'changepassword' => 'Kemmañ ar ger-tremen',
-'resetpass_announce' => "Enskrivet oc’h bet dre ur ger-tremen da c'hortoz kaset deoc'h dre bostel. A-benn bezañ enrollet da vat e rankit spisaat ur ger-tremen nevez amañ :",
+'resetpass_announce' => 'Evit echuiñ da gevreañ e rankit lakaat ur ger-tremen nevez.',
 'resetpass_text' => '<!-- Ouzhpennañ testenn amañ -->',
 'resetpass_header' => 'Cheñch ger-tremen ar gont',
 'oldpassword' => 'Ger-tremen kozh :',
@@ -736,6 +740,7 @@ Gortozit $1, mar plij, a-raok esaeañ en-dro.",
 'resetpass-wrong-oldpass' => "Direizh eo ar ger-tremen a-vremañ pe da c'hortoz.",
 'resetpass-temp-password' => "Ger-tremen da c'hortoz :",
 'resetpass-abort-generic' => 'Nullet eo bet kemm ar ger-tremen gant un astenn.',
+'resetpass-expired' => "Deuet eo ho ker-tremen d'e dermen. Lakait ur ger-tremen nevez, mar plij, evit kevreañ.",
 
 # Special:PasswordReset
 'passwordreset' => 'Adderaouekaat ar ger-tremen',
@@ -766,7 +771,7 @@ Mat e vefe deoc'h kevreañ ha dibab ur ger-tremen nevez bremañ. Mard eo bet gou
 Ger-tremen da c'hortoz : $2",
 'passwordreset-emailsent' => "Kaset ez eus bet ur postel deoc'h da adderaouekaat ho ker-tremen.",
 'passwordreset-emailsent-capture' => 'Ur postel evit aderaouekaat ho ker-tremen, evel diskouezet amañ dindan, zo bet kaset.',
-'passwordreset-emailerror-capture' => "Kaset ez eus bet ur postel degas da soñj evel m'emañ diskouezet amañ dindan met c'hwitet eo bet ar c'has : $1",
+'passwordreset-emailerror-capture' => "Kaset ez eus bet ur postel degas da soñj evel m'emañ diskouezet amañ dindan met c'hwitet eo bet ar gasadenn d'an {{GENDER:$2|implijer|implijerez}} : $1",
 
 # Special:ChangeEmail
 'changeemail' => "Kemmañ ar chomlec'h postel",
@@ -874,7 +879,7 @@ Moarvat ez eo bet dilerc'hiet pe dilamet abaoe ma oa bet lennet ganeoc'h.",
 'accmailtext' => "Kaset ez eus bet ur ger-tremen dargouezhek evit [[User talk:$1|$1]] da $2. Cheñchet e c'hall ar ger-tremen evit ar gont nevez-mañ bezañ war ar bajenn ''[[Special:ChangePassword|cheñch ger-tremen]]'', ur wezh kevreet.",
 'newarticle' => '(Nevez)',
 'newarticletext' => "Heuliet hoc'h eus ul liamm a gas d'ur bajenn n'eo ket bet savet evit c'hoazh.
-A-benn krouiñ ar bajenn-se, krogit da skrivañ er prenestr skridaozañ dindan (gwelet ar [[{{MediaWiki:Helppage}}|bajenn skoazell]] evit gouzout hiroc'h).
+A-benn krouiñ ar bajenn-se, krogit da skrivañ er prenestr skridaozañ dindan (gwelet ar [$1 bajenn skoazell] evit gouzout hiroc'h).
 M'emaoc'h en em gavet amañ dre fazi, klikit war bouton '''kent''' ho merdeer evit mont war ho kiz.",
 'anontalkpagetext' => "---- ''Homañ eo ar bajenn gaozeal evit un implijer(ez) dizanv n'eus ket krouet kont ebet evit c'hoazh pe na implij ket anezhi.
 Setu perak e rankomp ober gant ar chomlec'h IP niverel evit anavezout anezhañ/i.
@@ -886,7 +891,7 @@ Gallout a rit [[Special:Search/{{PAGENAME}}|klask an titl anezhi]] e pajennoù a
 'noarticletext-nopermission' => "N'eus, evit ar mare, tamm testenn ebet war ar bajenn-mañ.
 Gallout a rit [[Special:Search/{{PAGENAME}}|klask titl ar bajenn-mañ]] war pajennoù all,
 pe <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} klask er marilhoù kar]</span>, met n'oc'h ket aotreet da grouiñ ar bajenn-mañ.",
-'missing-revision' => "N'eus ket eus adwel niv. $1 eus ar bajenn anvet « {{PAGENAME}} ».
+'missing-revision' => "N'eus ket eus adwel niv. $1 eus ar bajenn anvet « {{FULLPAGENAME}} ».
 
 C'hoarvezout a ra peurliesañ pa vez heuliet ul liamm istorel dispredet war-zu ur bajenn zo bet dilamet.
 Gallout a reot kavout muioc'h a vunudoù e [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} renabl an dilamadurioù].",
@@ -994,7 +999,8 @@ Krouet e oa bet c'hoazh.",
 'invalid-content-data' => "n'eo ket mat roadennoù an endalc'had",
 'content-not-allowed-here' => 'N\'eo ket aotreet an endalc\'had "$1" er bajenn [[$2]]',
 'editwarning-warning' => "Mar kuitait ar bajenn-mañ e c'hallit koll ar c'hemmoù degaset ganeoc'h.
-Ma'z oc'h kevreet e c'hallit diweredekaat ar c'hemenn-diwall-mañ e rann \"Aozañ\" en ho penndibaboù.",
+Ma'z oc'h kevreet e c'hallit diweredekaat ar c'hemenn-diwall-mañ e rann \"{{int:prefs-editing}}\" en ho penndibaboù.",
+'editpage-notsupportedcontentformat-title' => "Furmad endalc'had ha n'eo ket kemeret e karg",
 
 # Content models
 'content-model-wikitext' => 'wikitestenn',
@@ -1109,12 +1115,11 @@ Gallout a ri gwelet an diforc'h-mañ ; titouroù zo war [{{fullurl:{{#Special:Lo
 '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' => "'''{{PLURAL:$2|Stumm dibabet|Stummoù dibabet}} eus [[:$1]] :'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Darvoud eus ar marilh diuzet|Darvoud eus ar marilh diuzet}} :'''",
+'logdelete-selected' => '{{PLURAL:$1|Darvoud eus ar marilh diuzet|Darvoud eus ar marilh diuzet}} :',
 'revdelete-confirm' => "Kadarnait eo mat an dra-se a fell deoc'h ober, e komprenit mat ar pezh a empleg, hag en grit en ur zoujañ d'ar [[{{MediaWiki:Policy-url}}|reolennoù]].",
-'revdelete-suppress-text' => "Ne zlefe an dilemel bezañ implijet '''nemet''' abalamour d'an abegoù da-heul :
+'revdelete-suppress-text' => "Ne zlefe an dilemel bezañ implijet <strong>nemet</strong> abalamour d'an abegoù da-heul :
 * Titouroù personel dizere
-*: ''chomlec'hioù, niverennoù pellgomz pe surentez sokial personel, hag all''",
+*: <em>chomlec'hioù, niverennoù pellgomz pe surentez sokial personel, hag all.</em>",
 'revdelete-legend' => 'Lakaat strishadurioù gwelet',
 'revdelete-hide-text' => 'Testenn ar stumm',
 'revdelete-hide-image' => 'Kuzhat danvez ar restr',
@@ -1201,6 +1206,8 @@ Gwiriit ne vo ket torret red istor ar bajenn gant ar c'hemm-mañ.",
 'showhideselectedversions' => 'Diskouez/Kuzhat ar stummoù diuzet',
 'editundo' => 'dizober',
 'diff-empty' => '(Disheñvelder ebet)',
+'diff-multi-sameuser' => "({{PLURAL:$1|Ur reizhadenn da c'hortoz|$1 reizhadenn da c'hortoz}} gant ar memes implijer kuzhet)",
+'diff-multi-otherusers' => "({{PLURAL:$1|Ur reizhadenn da c'hortoz|$1 reizhadenn da c'hortoz}} gant {{PLURAL:$2|un implijer all|$2 implijer}} kuzhet.)",
 'diff-multi-manyusers' => "({{PLURAL:$1|Ur reizhadenn da c'hortoz|$1 reizhadenn da c'hortoz}} gant muioc'h eget $2 {{PLURAL:$2|implijer|implijer}} kuzhet.)",
 'difference-missing-revision' => "!!{{PLURAL:$2|Un adweladur|$2 adweladurioù}} eus an disheñvelder ($1) {{PLURAL:$2|n'eo ket bet kavet|n'int ket bet adkavet}}.
 
@@ -1240,7 +1247,7 @@ Gallout a reot kavout munudoù e [{{fullurl:{{#Special:Log}}/delete|page={{FULLP
 'search-file-match' => "(klotañ a ra gant endalc'had ar restr)",
 'search-suggest' => "N'hoc'h eus ket soñjet kentoc'h e : $1",
 'search-interwiki-caption' => 'Raktresoù kar',
-'search-interwiki-default' => "$1 disoc'h :",
+'search-interwiki-default' => "Disoc'hoù eus $1 :",
 'search-interwiki-more' => "(muioc'h)",
 'search-relatedarticle' => "Disoc'hoù kar",
 'searcheverything-enable' => 'Klask en holl esaouennoù anv',
@@ -1264,6 +1271,7 @@ Gallout a reot kavout munudoù e [{{fullurl:{{#Special:Log}}/delete|page={{FULLP
 'preferences' => 'Penndibaboù',
 'mypreferences' => 'Penndibaboù',
 'prefs-edits' => 'Niver a zegasadennoù :',
+'prefsnologintext2' => '$1, mar plij, evit cheñch ho penndibaboù.',
 'prefs-skin' => 'Gwiskadur',
 'skin-preview' => 'Rakwelet',
 'datedefault' => 'Dre ziouer',
@@ -1369,6 +1377,7 @@ Ma skrivit anezhañ e vo implijet evit lakaat war wel ar pezh a vo bet degaset g
 'prefs-tokenwatchlist' => 'Jedouer',
 'prefs-diffs' => "Diforc'hioù",
 'prefs-help-prefershttps' => "Efediñ a ray an dibarzh-mañ kentañ gwech ma kevreoc'h.",
+'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ù.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => "Reizh eo ar chomlec'h postel war a seblant",
@@ -1555,14 +1564,26 @@ Ma skrivit anezhañ e vo implijet evit lakaat war wel ar pezh a vo bet degaset g
 'recentchanges-label-plusminus' => 'Kemmet eo ment ar bajenn eus an niver-mañ a oktedoù',
 'recentchanges-legend-heading' => "'''Alc'hwez :'''",
 'recentchanges-legend-newpage' => '(gwelet ivez [[Special:NewPages|roll ar pajennoù nevez]])',
-'rcnotefrom' => "Setu aze roll ar c'hemmoù c'hoarvezet abaoe an '''$2''' ('''$1''' d'ar muiañ).",
+'rcnotefrom' => "Setu aze roll ar c'hemmoù c'hoarvezet abaoe an <strong>$2</strong> (<strong>$1</strong> d'ar muiañ).",
 'rclistfrom' => "Diskouez ar c'hemmoù diwezhañ abaoe an $1.",
 'rcshowhideminor' => "$1 ar c'hemmoù dister",
+'rcshowhideminor-show' => 'Diskouez',
+'rcshowhideminor-hide' => 'Kuzhat',
 'rcshowhidebots' => '$1 ar robotoù',
+'rcshowhidebots-show' => 'Diskouez',
+'rcshowhidebots-hide' => 'Kuzhat',
 'rcshowhideliu' => '$1 an implijerien enrollet',
+'rcshowhideliu-show' => 'Diskouez',
+'rcshowhideliu-hide' => 'Kuzhat',
 'rcshowhideanons' => '$1 an implijerien dizanv',
+'rcshowhideanons-show' => 'Diskouez',
+'rcshowhideanons-hide' => 'Kuzhat',
 'rcshowhidepatr' => "$1 ar c'hemmoù gwiriet",
+'rcshowhidepatr-show' => 'Diskouez',
+'rcshowhidepatr-hide' => 'Kuzhat',
 'rcshowhidemine' => "$1 ma c'hemmoù",
+'rcshowhidemine-show' => 'Diskouez',
+'rcshowhidemine-hide' => 'Kuzhat',
 'rclinks' => "Diskouez an $1 kemm diwezhañ c'hoarvezet e-pad an $2 devezh diwezhañ<br />$3",
 'diff' => "diforc'h",
 'hist' => 'ist',
@@ -1686,6 +1707,7 @@ Mar fell deoc'h enporzhiañ ar restr-mañ da vat, kit war ho kiz hag enporzhiit
 'uploaddisabledtext' => 'Diweredekaet eo an enporzhiañ restroù.',
 'php-uploaddisabledtext' => 'Diweredekaet eo bet ar pellgargañ e PHP. Gwiriit an dibarzh arventennoù file_uploads.',
 'uploadscripted' => "Er restr-mañ ez eus kodoù HTML pe skriptoù a c'hallfe bezañ kammgomprenet gant ur merdeer Kenrouedad.",
+'uploadinvalidxml' => "N'eus ket bet gallet dielfennañ an XML er restr ezporzhiet.",
 'uploadvirus' => 'Viruzet eo ar restr! Titouroù : $1',
 'uploadjava' => "Ur restr ZIP a ra gant Java .class eo homañ.
 N'haller ket enporzhiañ restroù Java peogwir e c'haller mont dreist da vevennoù surentez ganto.",
@@ -1939,6 +1961,9 @@ Marteze a-walc'h e fell deoc'h kemmañ an deskrivadur anezhi war ar [$2 bajenn d
 # List redirects
 'listredirects' => 'Roll an adkasoù',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Roll restroù gant doublennoù',
+
 # Unused templates
 'unusedtemplates' => 'Patromoù dizimplij',
 'unusedtemplatestext' => 'Rollet eo amañ an holl bajennoù zo en esaouenn anv "{{ns:template}}" ha n\'int ket implijet war pajenn ebet. Ho pet soñj da wiriañ mat hag-eñ n\'eus ket liammoù all war-du ar patromoù-se a-raok diverkañ anezho.',
@@ -2066,6 +2091,7 @@ $1 {{PLURAL:$1|rummad|rummad}}',
 'listusers' => 'Roll an implijerien',
 'listusers-editsonly' => 'Na ziskouez nemet an implijerien o deus degaset un dra bennak',
 'listusers-creationsort' => 'Renket dre urzh krouiñ',
+'listusers-desc' => 'Renkañ war ziskenn',
 'usereditcount' => '$1 {{PLURAL:$1|kemm|kemm}}',
 'usercreated' => "{{GENDER:$3|Krouet}} d'an $1 da $2",
 'newpages' => 'Pajennoù nevez',
@@ -2330,9 +2356,11 @@ Sellet ouzh $2 evit roll an diverkadennoù diwezhañ.',
 'deleteotherreason' => 'Abegoù/traoù all :',
 'deletereasonotherlist' => 'Abeg all',
 'deletereason-dropdown' => "*Abegoù diverkañ boazetañ
-** Goulenn gant saver ar pennad
+** Strob
+** Vandalerezh
 ** Gaou ouzh ar gwirioù perc'hennañ
-** Vandalerezh",
+** Goulenn gant saver ar pennad
+** Liamm torret",
 'delete-edit-reasonlist' => 'Kemmañ a ra an abegoù 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.
@@ -2510,8 +2538,10 @@ $1',
 'sp-contributions-blocked-notice-anon' => "Stanket eo ar chomlec'h IP-mañ evit ar mare.
 Dindan emañ merket enmont diwezhañ marilh ar stankadennoù, d'ho kelaouiñ :",
 'sp-contributions-search' => 'Klask degasadennoù',
+'sp-contributions-suppresslog' => 'degasadennoù diverket un implijer',
 'sp-contributions-username' => "Anv implijer pe chomlec'h IP :",
 'sp-contributions-toponly' => 'Na ziskouez nemet an adweladennoù diwezhañ',
+'sp-contributions-newonly' => 'Diskouez an aozadennoù a zo krouidigezhioù pajennoù hepken',
 'sp-contributions-submit' => 'Klask',
 
 # What links here
@@ -2613,7 +2643,7 @@ Sellit ouzh [[Special:BlockList|roll ar chomlec'hioù IP ha kontoù stanket]] ev
 'contribslink' => 'degasadennoù',
 'emaillink' => 'Kas ur postel',
 'autoblocker' => 'Emstanket rak implijet eo bet ho chomlec\'h IP gant "[[User:$1|$1]]" nevez zo.
-Setu aze an abeg(où) m\'eo bet stanket $1 : "\'\'$2\'\'"',
+Setu amañ perak $1 : "$2"',
 'blocklogpage' => 'Roll ar stankadennoù',
 'blocklog-showlog' => "Stanket eo bet an implijer-mañ c'hoazh. A-is emañ marilh ar stankadennoù, d'ho titouriñ :",
 'blocklog-showsuppresslog' => "Stanket ha kuzhet eo bet an implijer-mañ c'hoazh. A-is emañ marilh ar diverkadennoù, d'ho titouriñ :",
@@ -2631,7 +2661,7 @@ Setu aze an abeg(où) m\'eo bet stanket $1 : "\'\'$2\'\'"',
 'range_block_disabled' => "Diweredekaet eo bet ar stankañ stuc'hadoù IP.",
 'ipb_expiry_invalid' => 'amzer termen direizh.',
 'ipb_expiry_temp' => "Peurbadus e rank bezañ bloc'hadoù an implijerien guzh.",
-'ipb_hide_invalid' => 'Dibosupl diverkañ ar gont-mañ; evit doare ez eus bet graet re a gemmoù enni.',
+'ipb_hide_invalid' => "Ne c'haller ket dilemel ar gont-mañ : Ouzhpenn {{PLURAL:$1|ur c'hemm|$1 kemm}} zo enni.",
 'ipb_already_blocked' => 'Stanket eo "$1" dija',
 'ipb-needreblock' => "Stanket eo $1 c'hoazh. Kemmañ an arventennoù a fell deoc'h ?",
 'ipb-otherblocks-header' => '{{PLURAL:$1|Stankadenn|Stankadnenoù}} all',
@@ -2848,7 +2878,7 @@ Enrollit ar bajenn war hoc'h urzhiataer ha kargit anezhi amañ.",
 'importuploaderrortemp' => "C'hwitet eo bet enporzhiañ ar restr. Mankout a ra ur restr badennek.",
 'import-parse-failure' => "Troc'h e dielfennadenn an enporzh XML",
 'import-noarticle' => 'Pajenn ebet da enporzhiañ !',
-'import-nonewrevisions' => "Enporzhiet eo bet an holl degasadennoù c'hoazh.",
+'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.",
@@ -3008,6 +3038,7 @@ Sur a-walc'h abalamour d'ul liamm enni a gas d'ul lec'hienn ziavaez berzet.",
 'pageinfo-length' => 'Ment ar bajenn (en oktedoù)',
 'pageinfo-article-id' => 'Niverenn ar bajenn',
 'pageinfo-language' => 'Yezh ar bajenn',
+'pageinfo-content-model' => "Patrom endalc'had ar bajenn",
 'pageinfo-robot-policy' => 'Menegeriñ gant robotoù',
 'pageinfo-robot-index' => 'Aotreet',
 'pageinfo-robot-noindex' => 'Diaotreet',
@@ -3648,6 +3679,9 @@ Kadarnait mar plij e fell deoc'h krouiñ ar pennad-mañ da vat.",
 'confirm-unwatch-button' => 'Mat eo',
 'confirm-unwatch-top' => 'Lemel ar bajenn-mañ a-ziwar ho roll evezhiañ',
 
+# Separators for various lists, etc.
+'quotation-marks' => '« $1 »',
+
 # Multipage image navigation
 'imgmultipageprev' => '&larr; pajenn gent',
 'imgmultipagenext' => "pajenn war-lerc'h &rarr;",
@@ -4004,14 +4038,18 @@ A-hend-all e c'hallit ober gant ar furmskrid eeunaet dindan. Ouzhpennet e vo hoc
 'rotate-comment' => 'Skeudenn troet eus $1 {{PLURAL:$1|derez}} a-du gant an heol',
 
 # Limit report
+'limitreport-title' => 'Roadennoù da wellekaat an dielfenner :',
 'limitreport-cputime' => 'Amzer implij ar CPU',
 'limitreport-cputime-value' => '$1 {{PLURAL:$1|eiladenn}}',
 'limitreport-walltime' => 'Amzer implij gwirion',
 'limitreport-walltime-value' => '$1 {{PLURAL:$1|eiladenn}}',
+'limitreport-ppvisitednodes' => 'Niver a skoulmoù rakprosesor gweladennet',
+'limitreport-ppgeneratednodes' => 'Niver a skoulmoù rakprosesor ganet',
 'limitreport-postexpandincludesize-value' => '$1/$2 {{PLURAL:$2|okted}}',
 'limitreport-templateargumentsize' => 'Ment arguzenn ar patrom',
 'limitreport-templateargumentsize-value' => '$1/$2 {{PLURAL:$2|okted}}',
 'limitreport-expansiondepth' => 'Donder astenn brasañ',
+'limitreport-expensivefunctioncount' => "Niver a arc'hwelioù dielfennañ koustus",
 
 # Special:ExpandTemplates
 'expandtemplates' => 'Emled ar patromoù',
@@ -4023,6 +4061,7 @@ Astenn a ra ivez an arc'hwelioù parser evel
 'expand_templates_input' => 'Merkañ ho testenn amañ :',
 'expand_templates_output' => "Disoc'h",
 'expand_templates_xml_output' => 'Ezvont XML',
+'expand_templates_html_output' => "Disoc'h HTML kriz",
 'expand_templates_ok' => 'Mat eo',
 'expand_templates_remove_comments' => 'Lemel an notennoù kuit',
 'expand_templates_remove_nowiki' => "Diverkañ a ra ar balizennoù <nowiki> en disoc'h",
index 270b609..4377c54 100644 (file)
@@ -529,7 +529,6 @@ $1',
 'disclaimers' => 'Odricanje odgovornosti',
 'disclaimerpage' => 'Project:Uslovi korištenja, pravne napomene i odricanje odgovornosti',
 'edithelp' => 'Pomoć pri uređivanju stranice',
-'helppage' => 'Help:Sadržaj',
 'mainpage' => 'Početna strana',
 'mainpage-description' => 'Početna strana',
 'policy-url' => 'Project:Pravila',
@@ -970,7 +969,7 @@ Možda je pomjerena ili obrisana dok ste pregledavali stranicu.',
 'newarticle' => '(Novi)',
 'newarticletext' => "Došli ste na stranicu koja još nema sadržaja.
 *Ako želite unijeti sadržaj, počnite tipkati u prozor ispod ovog teksta.
-*Ako vam treba pomoć, idite na [[{{MediaWiki:Helppage}}|stranicu za pomoć]].
+*Ako vam treba pomoć, idite na [\$1 stranicu za pomoć].
 *Ako ste ovamo dospjeli slučajno, kliknite dugme \"Nazad\" (''Back'') u svom internet pregledniku.",
 'anontalkpagetext' => "----''Ovo je stranica za razgovor za anonimnog korisnika koji još nije napravio nalog ili ga ne koristi.
 Zbog toga moramo da koristimo brojčanu IP adresu kako bismo identifikovali njega ili nju.
@@ -981,7 +980,7 @@ Možete [[Special:Search/{{PAGENAME}}|tražiti naslov ove stranice]] na drugim s
 <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} tražiti u povezanim zapisima] ili [{{fullurl:{{FULLPAGENAME}}|action=edit}} urediti ovu stranicu]</span>.',
 'noarticletext-nopermission' => 'Trenutno nema teksta na ovoj stranici.
 Možete [[Special:Search/{{PAGENAME}}|tražiti ovaj naslov stranice]] na drugim stranicama ili <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} pretražiti povezane zapisnike]</span>, ali nemate dozvolu da napravite ovu stranicu.',
-'missing-revision' => 'Uređivanje broj $1 na stranici "{{PAGENAME}}" ne postoji.
+'missing-revision' => 'Uređivanje broj $1 na stranici "{{FULLPAGENAME}}" ne postoji.
 
 Ovo se obično dešava kada pratite zastarjelu vezu na stranice koja je obrisana.
 Više informacija možete pronaći u [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} protokol brisanja].',
@@ -1213,8 +1212,7 @@ Vi možete vidjeti ovu razliku; detalji se mogu vidjeti u [{{fullurl:{{#Special:
 'revdelete-no-file' => 'Navedena datoteka ne postoji.',
 'revdelete-show-file-confirm' => 'Da li ste sigurni da želite pogledati obrisanu reviziju datoteke "<nowiki>$1</nowiki>" od $2 u $3?',
 'revdelete-show-file-submit' => 'Da',
-'revdelete-selected' => "'''{{PLURAL:$2|Odabrana revizija|Odabrane revizije}} od [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Označena stavka zapisa|Označene stavke zapisa}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Označena stavka zapisa|Označene stavke zapisa}}:',
 'revdelete-confirm' => 'Molimo potvrdite da namjeravate ovo učiniti, da razumijete posljedice i da to činite u skladu s [[{{MediaWiki:Policy-url}}|pravilima]].',
 'revdelete-suppress-text' => "Ograničenja bi trebala biti korištena '''samo''' u slijedećim slučajevima:
 * Osjetljive korisničke informacije
@@ -1328,7 +1326,7 @@ Više informacija možete pronaći u [{{fullurl:{{#Special:Log}}/delete|page={{F
 'shown-title' => 'Pokaži $1 {{PLURAL:$1|rezultat|rezultata}} po stranici',
 'viewprevnext' => 'Pogledaj ($1 {{int:pipe-separator}} $2) ($3).',
 'searchmenu-exists' => "'''Postoji stranica pod nazivom \"[[:\$1]]\" na ovoj wiki'''",
-'searchmenu-new' => "'''Napravi stranicu \"[[:\$1|\$1]]\" na ovoj wiki!'''",
+'searchmenu-new' => '<strong>Napravi stranicu "[[:$1]]" na ovoj wiki!</strong> {{PLURAL:$2|0=|Pogledajte također straniu pronađenu vašom pretragom.|Pogledajte također i vaše rezultate pretrage.}}',
 'searchprofile-articles' => 'Stranice sadržaja',
 'searchprofile-project' => 'Stranice pomoći i projekta',
 'searchprofile-images' => 'Multimedija',
@@ -2450,7 +2448,7 @@ nastavite s oprezom.',
 
 Posljednja izmjena je bila od korisnika [[User:$3|$3]] ([[User talk:$3|razgovor]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).',
 'editcomment' => "Sažetak izmjene je bio: \"''\$1''\".",
-'revertpage' => 'Vraćene izmjene [[Special:Contributions/$2|$2]] ([[User talk:$2|razgovor]]) na posljednju izmjenu korisnika [[User:$1|$1]]',
+'revertpage' => 'Vraćene izmjene korisnika [[Special:Contributions/$2|$2]] ([[User talk:$2|razgovor]]) na posljednju izmjenu koju je načinio [[User:$1|$1]]',
 'revertpage-nouser' => 'Vraćene izmjene skrivenog korisnika na posljednju reviziju koju je {{GENDER:$1|načinio|načinila}} [[User:$1|$1]]',
 'rollback-success' => 'Poništene izmjene korisnika $1;
 vraćeno na posljednju verziju koju je sačuvao $2.',
index 35b9880..4f94a25 100644 (file)
@@ -452,7 +452,6 @@ $1",
 'disclaimers' => 'Avís general',
 'disclaimerpage' => 'Project:Avís general',
 'edithelp' => 'Ajuda',
-'helppage' => 'Help:Índex',
 'mainpage' => 'Pàgina principal',
 'mainpage-description' => 'Pàgina principal',
 'policy-url' => 'Project:Polítiques',
@@ -909,7 +908,7 @@ La contrasenya per aquest nou compte pot ser canviada a la pàgina de ''[[Specia
 'newarticle' => '(Nou)',
 'newarticletext' => "Heu seguit un enllaç a una pàgina que encara no existeix.
 Per a crear-la, comenceu a escriure en l'espai de sota
-(vegeu l'[[{{MediaWiki:Helppage}}|ajuda]] per a més informació).
+(vegeu l'[$1 ajuda] per a més informació).
 Si sou ací per error, simplement cliqueu al botó «Enrere» del vostre navegador.",
 'anontalkpagetext' => "----''Aquesta és la pàgina de discussió d'un usuari anònim que encara no ha creat un compte o que no fa servir el seu nom registrat. Per tant, hem de fer servir la seua adreça IP numèrica per a identificar-lo. Una adreça IP pot ser compartida per molts usuaris. Si sou un usuari anònim, i trobeu que us han adreçat comentaris inoportuns, si us plau, [[Special:UserLogin/signup|creeu-vos un compte]], o [[Special:UserLogin|entreu en el vostre compte]] si ja en teniu un, per a evitar futures confusions amb altres usuaris anònims.''",
 'noarticletext' => 'Actualment no hi ha text en aquesta pàgina.
@@ -918,7 +917,7 @@ Podeu [[Special:Search/{{PAGENAME}}|cercar aquest títol]] en altres pàgines,
 o [{{fullurl:{{FULLPAGENAME}}|action=edit}} crear-la ara]</span>.',
 'noarticletext-nopermission' => 'Actualment no hi ha text en aquesta pàgina.
 Podeu [[Special:Search/{{PAGENAME}}|cercar aquest títol]] en altres pàgines o bé <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} cercar en els registres relacionats]</span>, però no teniu permisos per crear la pàgina.',
-'missing-revision' => 'La revisió núm. $1 de la pàgina anomenada «{{PAGENAME}}» no existeix.
+'missing-revision' => 'La revisió núm. $1 de la pàgina anomenada «{{FULLPAGENAME}}» no existeix.
 
 Normalment això ocorre quan seguiu un enllaç d’historial desactualitzat que apunta a una pàgina que s’ha suprimit.
 Podeu trobar detalls en el [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registre de supressions].',
@@ -957,10 +956,10 @@ Si us plau, proveu-ho una altra vegada. Si continués sense funcionar, proveu de
 '''Si es tracta d'una contribució legítima, si us plau, intenteu-ho una altra vegada. Si continua havent-hi problemes, [[Special:UserLogout|finalitzeu la sessió]] i torneu a iniciar-ne una.'''",
 'token_suffix_mismatch' => "'''S'ha rebutjat la vostra modificació perquè el vostre client ha fet malbé els caràcters de puntuació en el testimoni d'edició. S'ha rebutjat la modificació per a evitar la corrupció del text de la pàgina. Açò passa a vegades quan s'utilitza un servei web de servidor intermediari anònim amb problemes.'''",
 'edit_form_incomplete' => "'''Certes parts del formulari de modificació no han arribat al servidor, verifiqueu que les vostres modificacions estan intactes i proveu-ho de nou.'''",
-'editing' => "S'està editant $1",
+'editing' => 'Edició de la pàgina «$1»',
 'creating' => "S'està creant $1",
-'editingsection' => "S'està editant $1 (secció)",
-'editingcomment' => "S'està editant $1 (nova secció)",
+'editingsection' => 'Edició de «$1» (secció)',
+'editingcomment' => 'Edició de «$1» (secció nova)',
 'editconflict' => "Conflicte d'edició: $1",
 'explainconflict' => "Algú més ha canviat aquesta pàgina des que l'heu editada.
 L'àrea de text superior conté el text de la pàgina com existeix actualment.
@@ -1149,8 +1148,7 @@ funció, la revisió especificada no existeix, o bé esteu provant d'amagar l'ac
 'revdelete-no-file' => 'El fitxer especificat no existeix.',
 'revdelete-show-file-confirm' => 'Esteu segurs que voleu veure una revisió esborrada del fitxer «<nowiki>$1</nowiki>» de $2 a $3?',
 'revdelete-show-file-submit' => 'Sí',
-'revdelete-selected' => "'''{{PLURAL:$2|Revisió seleccionada|Revisions seleccionades}} de [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Esdeveniment del registre seleccionat|Esdeveniments del registre seleccionats}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Esdeveniment del registre seleccionat|Esdeveniments del registre seleccionats}}:',
 'revdelete-confirm' => "Si us plau, confirmeu que és això el que desitgeu fer, que enteneu les conseqüències, i que esteu fent-ho d'acord amb [[{{MediaWiki:Policy-url}}|les polítiques acordades]].",
 'revdelete-suppress-text' => "Les supressions '''només''' han de ser portades a terme en els següents casos:
 * Informació potencialment difamatòria
@@ -3160,7 +3158,7 @@ Si l'executeu, podeu comprometre la seguretat del vostre sistema.",
 'file-no-thumb-animation-gif' => "''' Nota: degut a limitacions tècniques no s'animaran les miniatures d'alta resolució d'imatges GIF com aquesta.'''",
 
 # Special:NewFiles
-'newimages' => 'Galeria de nous fitxers',
+'newimages' => 'Galeria de fitxers nous',
 'imagelisttext' => "Llista {{PLURAL:$1|d'un sol fitxer|de '''$1''' fitxers ordenats $2}}.",
 'newimages-summary' => 'Aquesta pàgina especial mostra els darrers fitxers carregats.',
 'newimages-legend' => 'Nom del fitxer',
@@ -3702,9 +3700,9 @@ Confirmeu que realment voleu tornar-la a crear.",
 'recreate' => 'Torna a crear',
 
 # action=purge
-'confirm_purge_button' => 'OK',
+'confirm_purge_button' => "D'acord",
 'confirm-purge-top' => "Voleu buidar la memòria cau d'aquesta pàgina?",
-'confirm-purge-bottom' => "Purgar una pàgina força que hi aparegui la versió més actual i n'esborra la memòria cau.",
+'confirm-purge-bottom' => 'En refrescar una pàgina es neteja de la memòria cau i es força que hi aparegui la versió més actual.',
 
 # action=watch/unwatch
 'confirm-watch-button' => "D'acord",
index b9ed1ea..3adda03 100644 (file)
@@ -7,6 +7,7 @@
  * @ingroup Language
  * @file
  *
+ * @author Xiaomingyan
  * @author Xqt
  * @author Yejianfei
  */
@@ -383,7 +384,6 @@ $1',
 'disclaimers' => '無負責聲明',
 'disclaimerpage' => 'Project:無負責聲明',
 'edithelp' => '修改保護',
-'helppage' => 'Help:目錄',
 'mainpage' => '頭頁',
 'mainpage-description' => '頭頁',
 'policy-url' => 'Project:政策',
@@ -549,8 +549,6 @@ Sō̤ kī só-gé̤ṳ-kó gì guāng-lī-uòng cūng-kuāng gāi-sék: $1',
 'gotaccountlink' => '躒底',
 'userlogin-resetlink' => '躒底其資料𣍐記咯?',
 'userlogin-resetpassword-link' => '密码𣍐記?',
-'helplogin-url' => 'Help: 躒底',
-'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|幫助躒底]]',
 'createacct-join' => '敆下底輸底汝其信息。',
 'createacct-emailrequired' => '電子郵件地址',
 'createacct-emailoptional' => '電子郵件地址(愛寫就寫)',
@@ -684,7 +682,7 @@ Sō̤ kī só-gé̤ṳ-kó gì guāng-lī-uòng cūng-kuāng gāi-sék: $1',
 茲蜀萆新其賬戶其密碼會使敆用戶躒底以後著''[[Special:ChangePassword|改密碼]]''頁面𡅏改變。",
 'newarticle' => '(新)',
 'newarticletext' => '汝已經跟鏈接跟遘無存在其頁面了。
-卜想創建頁面,敆下底其框框𡅏拍字(覷蜀覷[[{{MediaWiki:Helppage}}|幫助頁面]]有無更更価其幫助)。
+卜想創建頁面,敆下底其框框𡅏拍字(覷蜀覷[$1 幫助頁面]有無更更価其幫助)。
 如果汝是無注意來遘茲蜀萆頁面,篤囇汝其瀏覽器上其「返回」按鈕。',
 'anontalkpagetext' => "''茲是未躒底其用戶討論頁面。''
 故此儂家著使數字IP來確定伊。
@@ -749,7 +747,7 @@ Sō̤ kī só-gé̤ṳ-kó gì guāng-lī-uòng cūng-kuāng gāi-sék: $1',
 說明:(伶)=共第一新其版本比並,(前)=共前蜀版本比並,~=過要修改。",
 'history-fieldset-title' => '瀏覽歷史',
 'history-show-deleted' => '囇刪掉去',
-'histfirst' => 'æ\9c\80æ\97©',
+'histfirst' => 'æ\9c\80æ\97§',
 'histlast' => '最遲',
 'historysize' => '({{PLURAL:$1|$1字節}})',
 
index 03afe45..01698c9 100644 (file)
@@ -567,7 +567,6 @@ $1',
 'disclaimers' => 'Бехк тӀе ца эцар',
 'disclaimerpage' => 'Project:Бяхк тӀецалацар',
 'edithelp' => 'ГӀо оцу тадарна',
-'helppage' => 'Help:Чулацам',
 'mainpage' => 'Коьрта агӀо',
 'mainpage-description' => 'Коьрта агӀо',
 'policy-url' => 'Project:Бакъо',
@@ -985,7 +984,7 @@ $2
 Чуваьлла/яла чул тӀехьа , кху гlирса чохь шуьга хийцалур ю ''[[Special:ChangePassword|шай пароль]]''.",
 'newarticle' => '(Kерла)',
 'newarticletext' => "Хьо веана хьажоригци хlокху агlон тlе, хlара агlо хlинца йоцаш ю.
-Нагахь иза кхолла лаахь, хlотта де лахо гуш долу корехь йоза (мадарра хьажа. [[{{MediaWiki:Helppage}}|гlон агlон чу]]).
+Нагахь иза кхолла лаахь, хlотта де лахо гуш долу корехь йоза (мадарра хьажа. [$1 гlон агlон чу]).
 Нагахь гlалат даьлла нисвелляхь кхузе, атта тlе тlаlа йе '''юха йоккхуриг''' хьай гlирса тlяхь.",
 'anontalkpagetext' => "----''ХӀара дийцаре агӀо къайлаха декъашхочуьна ю, хӀинца дӀаяздар доцу, я лелош воцуш/йоцуш.
 Цундела иза вовзийта/йовзийта лелош ду терахьца IP-адрес.
@@ -998,7 +997,7 @@ $2
 'noarticletext-nopermission' => 'ХӀокх хан чохь кху агӀонца йоза дац.
 Шуьга далундерг [[Special:Search/{{PAGENAME}}|лахар ишта хьехош йолу цӀе]] кхечу яззамашкахь,
 йа <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} лаха оцуьнах терадерг кхечу тептаршкахь].</span>',
-'missing-revision' => 'АгӀона «{{PAGENAME}}» верси $1 яц.
+'missing-revision' => 'АгӀона «{{FULLPAGENAME}}» верси $1 яц.
 
 Ишта хуьйла ширелла дӀаяьккхина агӀонан хьажораган дихьа делча.
 Ма-дара хила мега [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} дӀайаьхарш йолу тептар] чохь.',
@@ -1159,8 +1158,9 @@ $2
 'revdelete-no-file' => 'Иштта файл яц.',
 'revdelete-show-file-confirm' => 'Бакъалла лаьий хьуна дӀаяьккхина файлан версега хьажа «<nowiki>$1</nowiki>» $2 тӀера, $3?',
 'revdelete-show-file-submit' => 'Хlаъ',
-'revdelete-selected' => "'''АгӀона [[:$1]] {{PLURAL:$2|1=къастина верси|къастина версеш}}:'''",
-'logdelete-selected' => '<strong>Тептар чура {{PLURAL:$1|хаьржина дӀаяздар|хаьржина дӀаяздарш}}:</strong>',
+'revdelete-selected-text' => '{{PLURAL:$1|Файлан хаьржина верси|Файлан хаьржина версеш}} [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Файлан хаьржина верси|Файлан хаьржина версеш}} [[:$2]]:',
+'logdelete-selected' => 'Тептар чура {{PLURAL:$1|хаьржина дӀаяздар|хаьржина дӀаяздарш}}:',
 'revdelete-confirm' => 'Дехар до, бакъдар ахьа деш дерг [[{{MediaWiki:Policy-url}}|бакъонашца]] деш хилар.',
 'revdelete-legend' => 'Доза тохар',
 'revdelete-hide-text' => 'Къайладаккха хӀокху агӀона чура йоза',
@@ -1862,8 +1862,12 @@ $1',
 # List redirects
 'listredirects' => 'ДIасахьажоран могIам',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Файлийн могӀам дубликатшца',
+'listduplicatedfiles-entry' => 'Файлан [[:File:$1|$1]] — [[$3|{{PLURAL:$2|дубликат ю}}]].',
+
 # Unused templates
-'unusedtemplates' => 'Ð\9bелоÑ\88 Ð´оцу кепаш',
+'unusedtemplates' => 'Ð\9bелоÑ\88 Ð¹оцу кепаш',
 'unusedtemplatestext' => 'Кхузахь дагар йина «{{ns:template}}» цӀерийн меттиган агӀонаш, кхечу агӀонийн юкъа тоьхна йоцу.
 Диц ма делахь хьажа кеп агӀонашкахь лелош юй.',
 'unusedtemplateswlh' => 'кхин хьажоргаш',
@@ -1908,6 +1912,7 @@ $1',
 'doubleredirectstext' => 'ХӀокху агӀонехь ю дӀасахьажорашан тӀе хьажийна йолу дӀасахьажораш.
 <del>ТӀехула сиз хаькхна </del>нисйина чарна.',
 'double-redirect-fixed-move' => 'АгӀон [[$1]] цӀе хийцина, хӀинца иза дӀахьажийна оцу [[$2]]',
+'double-redirect-fixed-maintenance' => 'Шалха дӀасахьажинарг нисъяр [[$1]] → [[$2]].',
 'double-redirect-fixer' => 'ДӀасахьажинарш нисерг',
 
 'brokenredirects' => 'ДIахаьдна долу дIасахьажораш',
@@ -1940,7 +1945,7 @@ $1',
 'uncategorizedimages' => 'Категореш йоцу файлаш',
 'uncategorizedtemplates' => 'Категореш йоцу кепаш',
 'unusedcategories' => 'Йаьсса категореш',
-'unusedimages' => 'Ð\9bелоÑ\88 Ð´оцу файлаш',
+'unusedimages' => 'Ð\9bелоÑ\88 Ð¹оцу файлаш',
 'popularpages' => 'ГӀараяьлла агӀонаш',
 'wantedcategories' => 'Оьшуш йолу категореш',
 'wantedpages' => 'Оьшуш йолу агIонаш',
@@ -1948,13 +1953,13 @@ $1',
 'wantedfiletext-cat' => 'Лахара йоцу файлаш лело гӀерта. Оцу могӀам юкъа ца хууш файлаш кхета там бу, кхечу проекташ чохь йолу. Ишта ца хууш юкъа нийса елачарна тӀехула <del>сиз</del> хира ду.
 Кхин йоцу файлаш гойту [[:$1]] чохь',
 'wantedfiletext-nocat' => 'Лахара йоцу файлаш лело гӀерта. Оцу могӀам юкъа ца хууш файлаш кхета там бу, кхечу проекташ чохь йолу. Ишта ца хууш юкъа нийса елачарна тӀехула <del>сиз</del> хира ду.',
-'wantedtemplates' => 'Ð\9eÑ\8cÑ\88Ñ\83Ñ\88 Ð´олу кепаш',
-'mostlinked' => 'Ð\94Ñ\83ккÑ\85а Ñ\85Ñ\8cажоÑ\80агаÑ\88 Ñ\82Iе Ñ\82оÑ\8cÑ\85на Ð¹Ð¾Ð»Ñ\83 Ð°Ð³Iонаш',
+'wantedtemplates' => 'Ð\9eÑ\8cÑ\88Ñ\83Ñ\88 Ð¹олу кепаш',
+'mostlinked' => 'Ð\94Ñ\83ккÑ\85а Ñ\85Ñ\8cажоÑ\80гаÑ\88 Ñ\82Ó\80е Ñ\82оÑ\8cÑ\85на Ð¹Ð¾Ð»Ñ\83 Ð°Ð³Ó\80онаш',
 'mostlinkedcategories' => 'Дуккха тӀе хьажораш йолу категореш',
 'mostlinkedtemplates' => 'Массарел дуккха а леладо кепаш',
 'mostcategories' => 'Дуккха категореш тӀе тоьхна йолу агӀонаш',
 'mostimages' => 'Массарел дуккха лелайо файлаш',
-'mostinterwikis' => 'Ð\94Ñ\83ккÑ\85а Ñ\8eкÑ\8aаÑ\80вики Ñ\85Ñ\8cажоÑ\80агаÑ\88 Ñ\82Ó\80е Ñ\82оÑ\8cÑ\85на Ð¹Ð¾Ð»Ñ\83 Ð°Ð³Ó\80онаÑ\88',
+'mostinterwikis' => 'Дуккха юкъарвики хьажоргаш тӀе тоьхна йолу агӀонаш',
 'mostrevisions' => 'Сих сиха нисйина йолу агIонаш',
 'prefixindex' => 'Хьалха агӀонашан цӀераш хӀотто йеза',
 'prefixindex-namespace' => 'Хьалха агӀонашан цӀераш хӀотто еза («{{ns:$1}}»)',
@@ -2128,7 +2133,7 @@ $1',
 'unwatchthispage' => 'ДӀадаккха терго яр',
 'notanarticle' => 'Бац яззам',
 'notvisiblerev' => 'Верси дӀаяьккхина хила',
-'watchlist-details' => 'Хьан тергаме могlамца $1 {{PLURAL:$1|агlо|агlонаш|агlонаш}} ю, дийцаре агlонаша йоцуш.',
+'watchlist-details' => 'Хьан тергаме могӀамца $1 {{PLURAL:$1|агӀо|агонаш}} ю, дийцаре агӀонаша йоцуш.',
 'wlheader-enotif' => 'Электронан почте хаамаш байтар латина ду.',
 'wlheader-showupdated' => "Хийцам бина агӀонаш '''Ӏаьржа''' шрифтцан билгальяха ю.",
 'wlnote2' => 'Лахахьа гайтина {{PLURAL:$1|тӀеххьара сахьт}} чохь бина хийцамаш $2 $3.',
@@ -2164,7 +2169,7 @@ $1',
 'delete-legend' => 'ДӀаяккхар',
 'historywarning' => "'''Тергам:''' хӀокху агӀона герггарчу хьесапехь $1 {{PLURAL:$1|версеш|верси|верси}} ю:",
 'confirmdeletetext' => "Хьо гӀерта агӀо я файл дӀаяккха '''дехар до''', дӀаяккхале хьалха хьажа [[{{MediaWiki:Policy-url}}|кхуза]].",
-'actioncomplete' => 'Дешдерг кхочушди',
+'actioncomplete' => 'Дешдерг кхочушдина',
 'actionfailed' => 'Кхочушъ дина дац',
 'deletedtext' => '«$1» дӀаяьккхина яра.
 Хьажа. $2 хьажарна оцу тӀаьхьара дӀаяхначара могӀаме.',
@@ -2470,9 +2475,9 @@ $1',
 'move-watch' => 'Латайé хӀара агӀо тергаме могӀанан юкъахь',
 'movepagebtn' => 'АгӀон цӀе хийца',
 'pagemovedsub' => 'АгӀон цӀе хийцина',
-'movepage-moved' => "'''АгӀон цӀе «$1» хийцина хӀокху «$2»'''",
-'movepage-moved-redirect' => 'Ð\9aÑ\85оÑ\8cллина Ð´Ó\80аÑ\81аÑ\85Ñ\8cажоÑ\80иг.',
-'movepage-moved-noredirect' => 'Ð\94Ó\80аÑ\81Ñ\85Ñ\8cажоÑ\80иг ÐºÑ\85оллаÑ\80 Ð´Ð¾Ñ\85ина.',
+'movepage-moved' => "'''АгӀон цӀе «$1» хийцина  «$2»'''",
+'movepage-moved-redirect' => 'Кхоьллина дӀасахьажорг.',
+'movepage-moved-noredirect' => 'ДӀасхьажорг кхоллар дохина.',
 'articleexists' => 'ХӀарасанна цӀе йолу агӀо йолуш ю йа ахьа гойтуш йолу цӀе магош яц.
 Дехар до, харжа кхин цӀе.',
 'movetalk' => 'Цуьнца йогӀуш йолу дийцаре агӀон цӀе хийцар',
@@ -3006,6 +3011,7 @@ MediaWiki яржош ю и шуна пайдане хир яц те аьлла,
 'fileduplicatesearch-filename' => 'Файлан цӀе:',
 'fileduplicatesearch-submit' => 'Лаха',
 'fileduplicatesearch-info' => '$1 × $2 пиксель<br />Файлан барам: $3<br />MIME-тайп: $4',
+'fileduplicatesearch-noresults' => 'ЦӀе «$1» йолуш файл цакарий.',
 
 # Special:SpecialPages
 'specialpages' => 'Леррина агlонаш',
@@ -3061,6 +3067,12 @@ MediaWiki яржош ю и шуна пайдане хир яц те аьлла,
 
 # HTML forms
 'htmlform-invalid-input' => 'Ахьа яздинчу цхьан дакхано гӀалат далина',
+'htmlform-select-badoption' => 'Ахьа яздина маьӀна магийна дац.',
+'htmlform-int-invalid' => 'Ахьа яздина маьӀна дуьззина терахь дац.',
+'htmlform-float-invalid' => 'Ахьа яздина маьӀна терахь дац.',
+'htmlform-int-toolow' => 'Ахьа яздина маьӀна минималал лаха ду — $1',
+'htmlform-int-toohigh' => 'Ахьа яздина маьӀна максималал лакхара ду — $1',
+'htmlform-required' => 'ХӀара юззар тӀехь ду.',
 'htmlform-submit' => 'ДӀадахьийта',
 'htmlform-reset' => 'Цаоьшу хийцамаш',
 'htmlform-selectorother-other' => 'Кхин',
index 0c0b317..cff6fbe 100644 (file)
@@ -289,7 +289,6 @@ $1',
 'disclaimers' => 'Mga pagpasabot',
 'disclaimerpage' => 'Project:Mga pagpasabot',
 'edithelp' => 'Tabang sa pag-usab',
-'helppage' => 'Help:Mga sulod',
 'mainpage' => 'Unang Panid',
 'mainpage-description' => 'Unang Panid',
 'policy-url' => 'Project:Palisiya',
@@ -495,7 +494,7 @@ Ang imong ''IP address'' maoy itala sa kaagi niini nga panid.",
 'summary-preview' => 'Paunang tan-aw sa mubong sugid:',
 'newarticle' => '(Bag-o)',
 'newarticletext' => 'Mitulpok ka sa sumpay ngadto sa usa ka wala pa masulat nga panid.
-Aron mahimo ang maong panid, pagtayp sa kahon sa ubos (tan-awa ang [[{{MediaWiki:Helppage}}|panid sa tabang]] alang sa dugang impormasyon).
+Aron mahimo ang maong panid, pagtayp sa kahon sa ubos (tan-awa ang [$1 panid sa tabang] alang sa dugang impormasyon).
 Kon 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.
 Puyde 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],
@@ -607,8 +606,7 @@ Isip tagdumala, puyde nimo [$1 tan-awon ang diff] kon gusto ka magpadayon.",
 'revdelete-no-file' => 'Ang gi-specify nga payl wala pa.',
 'revdelete-show-file-confirm' => 'Sigurado ka nga gusto nimong tan-awon ang napapas nga rebisyon sa payl "<nowiki>$1</nowiki>" sugod sa $2 sa $3?',
 'revdelete-show-file-submit' => 'Oo',
-'revdelete-selected' => "'''{{PLURAL:$2|Napiling rebisyon|Napiling mga rebisyon}} sa [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Napiling log event|Mga napiling log event}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Napiling log event|Mga napiling log event}}:',
 'revdelete-suppress-text' => "Ang supresyon gamiton '''lamang''' asa mga mosunod nga kaso:
 * Dili maayo nga personal nga impormasyon
 *: ''adres sa panimalay ug numero sa telepono, social security number, ubp.''",
index 0a95d28..7592e0c 100644 (file)
@@ -211,7 +211,6 @@ $messages = array(
 'disclaimers' => 'Diklarasion Inadahi',
 'disclaimerpage' => 'Project:Diklarasion inadahi henerat',
 'edithelp' => 'Ayudo tumulaika',
-'helppage' => 'Help:Guinaha',
 'mainpage' => 'Fanhaluman',
 'mainpage-description' => 'Fanhaluman',
 'policy-url' => 'Project:Areklamentu',
@@ -448,7 +447,7 @@ Pot fabot po'lo yan konfotme iyo-mu e-mail gi [[Special:Preferences|prifirensia
 'accmailtext' => 'Mana\'hanague $2 ni password "$1".',
 'newarticle' => '(Nuebu)',
 'newarticletext' => "Tåya' na påhina trabiha ni inachetton ni un yemme'.
-Para un fa'tinas i p\9dåhina, fångge' gi sanpapa' na kahon (bisita i [[{{MediaWiki:Helppage}}|påhinan ayudo]] para mas infotmasion).
+Para un fa'tinas i p\9dåhina, fångge' gi sanpapa' na kahon (bisita i [$1 påhinan ayudo] para mas infotmasion).
 Anggen lachi finatto-mu mågi, yemme' i batunes '''back''' ni iyo-mu browser.",
 'anontalkpagetext' => "----''Este na påhinan kombetsasion muna'sesetbi taina'an ni ti ha fa'tinas kuenta-ña pat ti ha u'usa i kuenta. Entonses na in i'isa i numiron IP para in aidentifika gue'.
 Buente ha' na guåha unos kuantos na muna'sesetbi ni ma u'usa i enao na IP.
@@ -558,8 +557,7 @@ Komu administradot {{SITENAME}} siña un atan ha';
 fana'an guåha attikulo gi [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} log muna'susuha].",
 'rev-delundel' => "na'annok/nå'na'",
 'revisiondelete' => "Na'suha/para håfa muna'suha i tinilaika",
-'revdelete-selected' => "'''{{PLURAL:$2|Tinilaika ma'ayek|Tinilaika manma'ayek}} gi [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Kasun log ni ma'ayek|Kasun log ni manma'ayek}}:'''",
+'logdelete-selected' => "{{PLURAL:$1|Kasun log ni ma'ayek|Kasun log ni manma'ayek}}:",
 'revdelete-legend' => "Po'lo i chinemma' lini'e'on siha",
 'revdelete-hide-text' => "Nå'na' i tinige' ribision",
 'revdelete-hide-image' => "Nå'na' i sinahguan atkibu",
index 2ebe419..eab1f51 100644 (file)
@@ -10,6 +10,7 @@
  * @author Aras Noori
  * @author Arastein
  * @author Asoxor
+ * @author Broosk
  * @author Calak
  * @author Cyrus abdi
  * @author Diyar se
@@ -224,6 +225,7 @@ $messages = array(
 'tog-showhiddencats' => 'پۆلە شاردراوەکان نیشان بدە',
 'tog-norollbackdiff' => 'لە دوای گەڕاندنەوە جیاوازی نیشان مەدە',
 'tog-useeditwarning' => 'ھۆشیارم بکەوە کاتێک لە پەڕەیەکی دەستکاری بە گۆڕانکاریی پاشەکەوت‌نەکراو دەردەچم',
+'tog-prefershttps' => 'هەمیشە پەیوەندییەکی پارێزراو بەکاربەرە کاتێک کە دەچیتە ژوورەوە',
 
 'underline-always' => 'ھەمیشە',
 'underline-never' => 'قەت',
@@ -325,7 +327,7 @@ $messages = array(
 'newwindow' => '(لە پەڕەیەکی نوێدا دەکرێتەوە)',
 'cancel' => 'ھەڵیوەشێنەوە',
 'moredotdotdot' => 'زیاتر',
-'morenotlisted' => 'درÛ\8eÚ\98Û\95Û\8c Ù¾Û\8eرست...',
+'morenotlisted' => 'ئÛ\95Ù\85 Ù\84Û\8cستÛ\95Û\8cÛ\95 ØªÛ\95Ù\88اÙ\88 Ù\86Û\8cÛ\8cÛ\95',
 'mypage' => 'پەڕه‌',
 'mytalk' => 'لێدوان',
 'anontalk' => 'وتووێژ بۆ ئەم ئای‌پی یە',
@@ -419,19 +421,19 @@ $messages = array(
 تکایە پێش ھەوڵی دووبارە بۆ دیتنی ئەم پەڕە، نەختێک بوەستە.
 
 $1',
+'pool-timeout' => 'لەکات دەرچوون ڕوویدا لەکاتی چاوەڕوانکردنی داخستندا',
 'pool-errorunknown' => 'هەڵەی نەزانراو',
 
 # All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
 'aboutsite' => 'سەبارەت بە {{SITENAME}}',
 'aboutpage' => 'Project:سەبارەت',
-'copyright' => 'ناوەرۆک لە ژێر $1 لەبەردەستدایە.',
+'copyright' => 'ناوەرۆک لە ژێر $1 لەبەردەستدایە، دەنا تێبینیی دەکرا',
 'copyrightpage' => '{{ns:project}}:مافەکانی لەبەرگرتنەوە',
 'currentevents' => 'ڕووداوە ھەنووکەییەکان',
 'currentevents-url' => 'Project:ڕووداوە بەردەوامەکان',
 'disclaimers' => 'نابەرپرسییەکان',
 'disclaimerpage' => 'Project:بەرپرسنەبوون',
 'edithelp' => 'ڕێنوێنیی دەستکاریکردن',
-'helppage' => 'Help:ناوەرۆک',
 'mainpage' => 'دەستپێک',
 'mainpage-description' => 'دەستپێک',
 'policy-url' => 'Project: سیاسەت',
@@ -510,6 +512,8 @@ $1',
 # General errors
 'error' => 'هه‌ڵه‌',
 'databaseerror' => 'ھەڵەی بنکەدراوه',
+'databaseerror-function' => 'کردە: $1',
+'databaseerror-error' => 'هەڵە: $1',
 'laggedslavemode' => 'ئاگاداری: لەوانەیە لاپەڕەکە نوێکردنەکان لە بەر نەگرێت.',
 'readonly' => 'بنکەدراوە داخراوە',
 'enterlockreason' => 'هۆیەک بۆ قوفڵ‌کردنەکە بنووسە کە  تێیدا کاتی کردنەوەی قۆفڵەکە باس کرابێت',
@@ -527,6 +531,7 @@ $1',
 'readonly_lag' => 'بنكه‌دراوه‌كه‌ به‌شێوه‌ی خۆكار به‌ندكراوه‌، له‌كاتێكدا بنكه‌دراوه‌ی ڕاژه‌كاره‌كه‌ ڕۆڵی له‌خۆگرتن ده‌گێڕێت',
 'internalerror' => 'ھەڵەی ناوخۆیی',
 'internalerror_info' => 'هه‌ڵه‌ی ناوخۆیی: $1',
+'fileappenderrorread' => 'نەتوانرا "$1" بخوێندرێتەوە لەکاتی هاوپێچکردندا.',
 'fileappenderror' => 'نه‌تواندرا "$1" بخرێته‌سه‌ر "$2".',
 'filecopyerror' => 'نەکرا پەڕگەی «$1» کۆپی بکرێت بۆ «$2».',
 'filerenameerror' => 'ناوی په‌ڕگه‌ی "$1" نه‌گۆڕدرا بۆ "$2".',
@@ -542,6 +547,7 @@ $1',
 'cannotdelete-title' => 'ناکرێ پەڕەی «$1» بسڕدرێتەوە',
 'delete-hook-aborted' => 'سڕینەوە لە لایەن قولاپەوە ھەڵوەشێنرایەوە.
 ھۆکارەکەی لەبەر دەست نییە.',
+'no-null-revision' => 'نەتوانرا پێداچوونەوەی خاڵیی بۆ پەڕەی "$1" درووست بکرێت',
 'badtitle' => 'ناونیشانی خراپ',
 'badtitletext' => 'سەرناوی پەڕەی داواکراو بەتاڵە، واڵایە یان سەرناوێکی نێوان-زمانی یان نێوانی-ویکییە کە بە شێوەیەکی ھەڵە بەستەری بۆ دراوە.
 ڕەنگە یەک یان چەند کاراکتەری تێدا بێت کە ناکرێت لە سەرناوەکاندا بەکار بھێنرێت.',
@@ -565,10 +571,20 @@ $1',
 'cascadeprotected' => 'ئەم لاپەڕە پارێزراوە لە دەستکاریی، چونکا خراوەتە سەر ڕیزی ئەم {{PLURAL:$1|لاپەڕانه‌، کە}} که‌ به‌ هه‌ڵکردنی بژارده‌ی داڕژان هه‌ڵکراوه‌:
 $2',
 'namespaceprotected' => "تۆ ناتوانی لاپەڕەکانی ناو نەیمسپەیسی '''$1''' بگۆڕی.",
+'customcssprotected' => 'دەسەڵاتی دەستکارییکردنی ئەم پەڕەی CSS ـەت نییە چوونکە ڕێکخستنەکانی کەسێکی تر لەخۆ دەگرێت.',
+'customjsprotected' => 'دەسەڵاتی دەستکارییکردنی ئەم پەڕەی JavaScript ـەت نییە چوونکە ڕێکخستنەکانی کەسێکی تر لەخۆ دەگرێت.',
+'mycustomcssprotected' => 'دەسەڵاتی دەستکارییکردنی ئەم پەڕەی CSS ـەت نییە.',
+'mycustomjsprotected' => 'دەسەڵاتی دەستکارییکردنی ئەم پەڕەی JavaScript ـەت نییە.',
+'myprivateinfoprotected' => 'دەسەڵاتی دەستکارییکردنی زانیارییە تایبەتییەکانی خۆتت نییە.',
+'mypreferencesprotected' => 'دەسەڵاتی دەستکارییکردنی هەڵبژاردنەکانی خۆتت نییە.',
 'ns-specialprotected' => 'تۆ ناتوانی لاپەڕە تایبەتەکان دەستکاریی بکەی.',
 'titleprotected' => 'ئەم سەرناوە پارێزراوە لە دروستکران لە لایەن [[User:$1|$1]].
 ھۆکاری ئەمە بریتیە لە "\'\'$2\'\'".',
+'invalidtitle-knownnamespace' => 'سەردێڕی هەڵە لەگەڵ ناوەبۆشایی "$2" و دەقی "$3"',
+'invalidtitle-unknownnamespace' => 'سەردێڕی هەڵە لەگەڵ ناوەبۆشایی نەناسراوی ژمارە $1 و دەقی "$2"',
 'exception-nologin' => 'لەژوورەوە نیت',
+'exception-nologin-text' => 'تکایە [[Special:Userlogin|بچۆ ژوورەوە]] تا بتوانیت بچیتە نێو ئەم پەڕەیە یان ئەم کردەیە ئەنجام بدەیت.',
+'exception-nologin-text-manual' => 'تکایە $1 تا بتوانیت بچیتە نێو ئەم پەڕەیە یان ئەم کردەیە ئەنجام بدەیت.',
 
 # Virus scanner
 'virus-badscanner' => "پێکەربەندیی نابەجێ: ڤایرس سکەنێری نەناسراو: ''$1''",
@@ -576,10 +592,9 @@ $2',
 'virus-unknownscanner' => 'دژەڤایرس نەناسراوە:',
 
 # Login and logout pages
-'logouttext' => "'''ئÛ\8eستا ØªÛ\86 Ù\84Û\95 Ú¾Û\95Ú\98Ù\85ارÛ\95Ú©Û\95ت Ú¾Ø§ØªÙ\88Ù\88Û\8cتÛ\95 Ø¯Û\95رÛ\95Ù\88Û\95.'''
+'logouttext' => "'''تÛ\86 Ø¦Û\8eستا Ù\84Û\95دÛ\95رÛ\95Ù\88Û\95Û\8cت.'''
 
-دەتوانی بە شێوەی بێناو درێژە بدەی بە بەرکارھێنانی {{SITENAME}}، یان دەتوانی <span class='plainlinks'>[$1 دیسانەوە بچیتەوە ژوورەوە]</span> ھەر بەو ناوە یان بە ناوی بەکارھێنەرییەکی جیاوازەوە.
-ئاگادار بە کە ھەتا کاتێک کە کەشی وێبگەڕەکەت دەسڕیتەوە، سەرەڕای چوونەدەرەوەی تۆ ھەندێک لە پەڕەکان ھەر بە شێوەیەک نیشان دەدرێن کە گوایە تۆ ھێشتا لە ژوورەوەیت.",
+تێبینیی ئەوە بکە کە هەندێک لە پەڕەکان بەردەوام وا دەردەکەون کە هێشتا لەژوورەوە بیت، هەتا ئەو دەمەی کەشی وێبگەڕەکەت پاک دەکەیتەوە.",
 'welcomeuser' => 'بەخێربێیت، $1!',
 'welcomecreation-msg' => 'ھەژمارەکەت دروست کرا.
 لە بیرت نەچێت [[Special:Preferences|ھەڵبژاردەکانی {{SITENAME}}]]ت بگۆڕی.',
@@ -616,7 +631,8 @@ $2',
 'gotaccount' => 'ھەژمارت ھەیە لێرە؟ $1.',
 'gotaccountlink' => 'بچۆ ژوورەوە',
 'userlogin-resetlink' => 'وردەکارییەکانی چوونەژوورەوەتت لە بیر کردووە؟',
-'userlogin-resetpassword-link' => 'تێپەڕوشە ڕیسێت بکەوە',
+'userlogin-resetpassword-link' => 'تێپەڕەووشەکەت لەبیر کردووە؟',
+'userlogin-helplink2' => 'یارمەتی بۆ چوونەژوورەوە',
 'userlogin-loggedin' => 'تۆ ھەر ئێستا بە ناوی {{GENDER:$1|$1}} چوویتە ژوورەوە.
 فۆرمی ژێرەوە بەکاربھێنە بۆ چوونەژوورەوە وەک بەکارھێنەرێکی تر.',
 'userlogin-createanother' => 'ھەژمارێکی تر دروست بکە',
@@ -625,7 +641,8 @@ $2',
 'createacct-emailrequired' => 'ناونیشانی ئیمەیل',
 'createacct-emailoptional' => 'ناونیشانی ئیمەیل (دڵخوازانە)',
 'createacct-email-ph' => 'ناونیشانی ئیمەیلەکەت بنووسە',
-'createaccountmail' => 'تێپەڕوشەیەکی ڕەمەکیی کاتی بەکاربھێنە و بینێرە بۆ ناونیشانی ئیمەیلی دیاری‌کراوی ژێرەوە',
+'createacct-another-email-ph' => 'ناونیشانی ئیمەیڵەکەت بنووسە',
+'createaccountmail' => 'تێپەڕوشەیەکی هەڕەمەکیی کاتی بەکاربھێنە و بینێرە بۆ ناونیشانی ئیمەیڵی دیاریکراو',
 'createacct-realname' => 'ناوی ڕاستی (دڵخوازانە)',
 'createaccountreason' => 'هۆکار:',
 'createacct-reason' => 'ھۆکار',
@@ -662,12 +679,14 @@ $2',
 'nosuchusershort' => 'بەکارهێنەر بە ناوی "$1" نیە.
 چاو لە ڕێنووسەکە بکە.',
 'nouserspecified' => 'دەبێ ناوی بەکارهێنەر دابین‌ بکەی.',
+'login-userblocked' => 'ئەم بەکارهێنەرە بڵۆک کراوە. چوونەژوورەوە ڕێگەپێنەدراوە.',
 'wrongpassword' => 'تێپەڕوشەی ھەڵە.
 تکایە دووبارە تێبکۆشە.',
 'wrongpasswordempty' => 'تێپەڕەوشەی لێدراو بەتاڵبوو.
 تکایە هەوڵ بدەوە.',
 'passwordtooshort' => 'تێپەڕوشەکەت لانی کەم دەبێ {{PLURAL:$1|١ پیت|$1 پیت}} بێت.',
 'password-name-match' => 'تێپەڕوشەکەت ئەبێ جیاواز بێت لە ناوی بەکارهێنەریت.',
+'password-login-forbidden' => 'بەکارهێنانی ئەم ناوی بەکارهێنەر و تێپەڕەووشەیە قەدەغەکراوە.',
 'mailmypassword' => 'تێپەڕوشەکە ڕێک بخەوە',
 'passwordremindertitle' => 'تێپەڕوشەیەکی نوێی کاتی بۆ  {{SITENAME}}',
 'passwordremindertext' => 'کەسێک (لەوانەیە خۆت، لە ئای‌پی ئەدرەسی $1) داوای تێپەڕوشەیەکی نوێی کردووە بۆ {{SITENAME}} ($4). تێپەڕوشەیەکی کاتی بۆ بەکارهێنەر «$2» دروستکراو و وەک «$3» دانراوه. ئەگەر ئەمە داخوازی تۆ بووە، پێویستت بەوەیە ئێستا بچیتە ژوورەوە و تێپەڕوشەیەکی نوێ هەڵبژێریت. ماوەی‌ تێپەڕوشە کاتییەکەت لە {{PLURAL:$5|یەک ڕۆژدا|$5 ڕۆژدا}} بەسەردەچێت.
@@ -680,8 +699,8 @@ $2',
 'blocked-mailpassword' => 'ئادرەسی ئای‌پی تۆ بۆ دەستکاری کردن بەستراوه بۆیە بۆ بەرگری لە بەکارهێنانی نابەجێ ئەنجامی گەڕانەوەی تێپەڕوشە ڕیگە نەدراوە.',
 'eauthentsent' => 'ئیمەیلێکی پشتڕاستکردنەوە بۆ ناونیشانی ئیمەیلی دیاریکراو ناردرا.
 پێش ئەوەی ئیمەیلی تر بۆ ئەم هەژمارە بنێردرێ، بۆ پشتڕاستکردنەوەی ئەمەی ئەم هەژمارە بەڕاستی ھی تۆیە، دەبێ پەیڕەوی ڕێکارەکانی ناو ئیمەیلەکە بکەیت.',
-'throttled-mailpassword' => 'بیرهێنەرەوەیەکی وشەی نهێنی پێش ئەمە لە {{PLURAL:$1|کاتژمێر}}ی ڕابردوودا ناردراوە.
-بۆ بەرگری لە بەکارهێنانی خراپ، تاکە یەک بیرهێنەرەوەی وشەی نهێنی هەر {{PLURAL:$1|کاتژمێر}} دەنێردرێت.',
+'throttled-mailpassword' => 'نامەی بەدەستهێنانەوەی تێپەڕەووشە نێردراوە لە ماوەی {{PLURAL:$1|کاتژمێر}}ی ڕابردوودا.
+بۆ ڕێگریی لە بەکارهێنانی خراپ، تاکە یەک نامەی بەدەستهێنانەوەی تێپەڕەووشە هەموو {{PLURAL:$1|کاتژمێر}}ێک دەنێردرێت.',
 'mailerror' => 'هەڵە ڕوویدا لە ناردنی ئیمەیل: $1',
 'acct_creation_throttle_hit' => 'بینەرانی ویکی بەکەڵک وەرگرتن لەم ئای‌پی ئەدرەسەی تۆ لە ڕۆژانی ڕابردوودا، دەستیان کردە بە درووست‌کردنی {{PLURAL:$1|هەژمارە}}، کە زۆرینە ڕیگەپێدان لە یەک ماوە‌دایە.
 وەک ئەنجامی ئەو ڕووداوە، ئەو بینەرانی لەم ئای‌پی ئەدرەسە کەڵک وەر دەگرن لەم کاتەدا ناتوانن هەژماری دیکە درووست‌بکەن.',
@@ -692,6 +711,7 @@ $2',
 'emailconfirmlink' => 'ئیمەیلەکەت پشت‌ڕاست بکەرەوە',
 'invalidemailaddress' => 'ناونیشانی ئیمەیل پەسند نەکرا، چون لەوە دەچێت شێوازێکی نادروستی ھەبێت.
 تکایە ناونیشانێک بە شێوازی دروست بنووسە یان ئەو بەشە واڵا بھێڵەوە.',
+'cannotchangeemail' => 'ئیمەیڵەکانی هەژمار ناکرێت بگۆڕدرێت لەم ویکییەدا.',
 'emaildisabled' => 'ئەم ماڵپەڕە ناتوانێ ئیمەیل بنێرێ.',
 'accountcreated' => 'ھەژمار دروست کرا',
 'accountcreatedtext' => 'هەژماری بەکارهێنەری [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|لێدوان]]) دروست کراوە.',
@@ -850,7 +870,7 @@ $2
 'newarticle' => '(نوێ)',
 'newarticletext' => "بە دوای بەستەری پەڕەیەک کەوتووی کە ھێشتا دروست نەکراوە.
 بۆ دروست کردنی پەڕەکە، لە چوارچێوەکەی خوارەوە دەست بکە بە تایپ کردن. (بۆ زانیاری زورتر
-[[{{MediaWiki:Helppage}}|یارمەتی]] ببینە).
+[$1 یارمەتی] ببینە).
 ئەگەر بە ھەڵەوە ھاتویتە ئێرە، لە سەر دوگمەی '''back'''ی وێبگەڕەکەت کلیک بکە.",
 'anontalkpagetext' => "----''ئەمە لاپەڕەی وتووێژە بۆ بەکارهێنەرێکی نەناسراوە کە هێشتا هەژمارەی درووست‌نەکردووه یان کەڵکی‌ لێ وەرناگرێ .
 لەبەر ئەوە مەجبوورین ئای‌پی ئەدرەسەکی ژمارەیی بۆ ناساندنی بەکار بێنین.
@@ -1072,8 +1092,7 @@ $3 هۆکاری "$2" خستوەتەڕوو',
 'revdelete-no-file' => 'ئەو پەڕگەی ڕاچاوت کردووە بوونی نیە.',
 'revdelete-show-file-confirm' => 'ئایا دڵنیایت دەتەوێ پێداچوونەوەی سڕاوەی پەڕگەی "<nowiki>$1</nowiki>" لە $2، لە $3دا ببیینی؟',
 'revdelete-show-file-submit' => 'بەڵێ',
-'revdelete-selected' => "'''{{PLURAL:$2|پێداچوونەوەی هەڵبژێراوی|پێداچوونەوەکانی هەڵبژێراوی}} [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|لۆگی ڕووداوەی هەڵبژێراو|لۆگی ڕووداوە هەڵبژێراوەکان}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|لۆگی ڕووداوەی هەڵبژێراو|لۆگی ڕووداوە هەڵبژێراوەکان}}:',
 'revdelete-confirm' => 'تکایە بەڵێن بدە کە دەتەوێ ئەوە بکەی و لە ئەنجامەکانی ئەوە ئاگاداریت و بە پێی [[{{MediaWiki:Policy-url}}|سیاسەتنامە]] ئەنجامی ئەدەی.',
 'revdelete-suppress-text' => "بەرگری دەبێ '''تەنها''' بۆ ئەم بابەتانە بەکاربهێندرێت:<br />
 * سووکایەتیکردن بە کەسایەتییەک<br />
index 173f523..cd498c3 100644 (file)
@@ -185,7 +185,6 @@ $messages = array(
 'currentevents-url' => 'Project:Ultimi evenimenti',
 'disclaimers' => 'Avvertimenti',
 'disclaimerpage' => 'Project:Avertimenti generali',
-'helppage' => 'Help:Cuntenutu',
 'mainpage' => 'Pagina maestra',
 'mainpage-description' => 'Pagina maestra',
 'portal' => 'Purtone di a cumunità',
index bca887e..8f62554 100644 (file)
@@ -244,7 +244,6 @@ $1',
 'disclaimers' => 'Mga pagpangindi',
 'disclaimerpage' => 'Project:Pangkabilugan nga pagpangindi',
 'edithelp' => 'Bulig sa pag-ilis',
-'helppage' => 'Help:Mga ka-undan',
 'mainpage' => 'Panguna nga pahina',
 'mainpage-description' => 'Panguna nga pahina',
 'policy-url' => 'Project:Patakaran',
@@ -470,7 +469,7 @@ Igasulat ang imo IP adres sa historya sang mga inislan sang mini nga pahina.",
 'summary-preview' => 'Kabilugan nga prebyu:',
 'newarticle' => '(Bag-o)',
 'newarticletext' => "Ginsundan mo ang pahina nga wala pa gagana.
-Para ubrahon ang pahina, umpisahan nga mag-type sa kahon sa idalum (tan-awon ang [[{{MediaWiki:Helppage}}|pahina sang tabang]] para sa madamo pa nga info).
+Para ubrahon ang pahina, umpisahan nga mag-type sa kahon sa idalum (tan-awon ang [$1 pahina sang tabang] para sa madamo pa nga info).
 Kung ari ka diya tungod sa sala, pinduton ang ('''back''') nga buton sang imo nga browser.",
 'noarticletext' => 'Wala pa yanda sang teksto sa sulod sang mini nga pahina.
 Sarang mo [[Special:Search/{{PAGENAME}}|pangitaon ang titulo sang mini nga pahina]] sa iban pa nga mga pahina,
index 3b31fa7..862b75e 100644 (file)
@@ -336,7 +336,6 @@ $1',
 'disclaimers' => 'Джевапкярлыкъ реди',
 'disclaimerpage' => 'Project:Умумий Малюмат Мукъавелеси',
 'edithelp' => 'Саифелер насыл денъиштирилир?',
-'helppage' => 'Help:Мундеридже',
 'mainpage' => 'Баш Саифе',
 'mainpage-description' => 'Баш Саифе',
 'policy-url' => 'Project:Къаиделер',
@@ -642,7 +641,7 @@ $2 къулланыджысына вакътынджа <code>$3</code> паро
 
 Бу янъы эсап ичюн пароль, кириш япкъандан сонъ ''[[Special:ChangePassword|парольни денъиштир]]'' болюгинде денъиштирилип олур.",
 'newarticle' => '(Янъы)',
-'newarticletext' => "Сиз бу багълантынен шимдилик ёкъ олгъан саифеге авуштынъыз. Янъы бир саифе яратмакъ ичюн ашагъыда булунгъан пенджереге метин язынъыз (тафсилятлы малюмат алмакъ ичюн [[{{MediaWiki:Helppage}}|ярдым саифесине]] бакъынъыз). Бу саифеге тесадюфен авушкъан олсанъыз, браузеринъиздеки '''кери''' дёгмесине басынъыз.",
+'newarticletext' => "Сиз бу багълантынен шимдилик ёкъ олгъан саифеге авуштынъыз. Янъы бир саифе яратмакъ ичюн ашагъыда булунгъан пенджереге метин язынъыз (тафсилятлы малюмат алмакъ ичюн [$1 ярдым саифесине] бакъынъыз). Бу саифеге тесадюфен авушкъан олсанъыз, браузеринъиздеки '''кери''' дёгмесине басынъыз.",
 'anontalkpagetext' => "----''Бу музакере саифеси шимдилик къайд олунмагъан я да отурымыны ачмагъан адсыз (аноним) къулланыджыгъа менсюптир. Идентификация ичюн IP адрес ишлетиле. Бир IP адресинден бир къач къулланыджы файдаланып ола.
 Эгер сиз аноним къулланыджы олсанъыз ве сизге кельген беянатларны янълыштан кельгенини беллесенъиз, лютфен, артыкъ бунынъ киби къарышыкълыкъ олмасын деп [[Special:UserLogin/signup|къайд олунъыз]] я да [[Special:UserLogin|отурым ачынъыз]].''",
 'noarticletext' => 'Бу саифе шимди боштыр. Бу серлеваны башкъа саифелерде [[Special:Search/{{PAGENAME}}|къыдырып оласынъыз]], <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} багълы журнал къайдларыны къыдырып оласынъыз] я да бу саифени озюнъиз [{{fullurl:{{FULLPAGENAME}}|action=edit}} язып оласынъыз]</span>.',
index 0f6c8c4..b39fb87 100644 (file)
@@ -331,7 +331,6 @@ $1',
 'disclaimers' => 'Cevapkârlıq redi',
 'disclaimerpage' => 'Project:Umumiy Malümat Muqavelesi',
 'edithelp' => 'Saifeler nasıl deñiştirilir?',
-'helppage' => 'Help:Münderice',
 'mainpage' => 'Baş Saife',
 'mainpage-description' => 'Baş Saife',
 'policy-url' => 'Project:Qaideler',
@@ -637,7 +636,7 @@ Siz saifeni oquğanda o avuştırılğan ya da yoq etilgen ola bile.',
 
 Bu yañı esap içün parol, kiriş yapqandan soñ ''[[Special:ChangePassword|parolni deñiştir]]'' bölüginde deñiştirilip olur.",
 'newarticle' => '(Yañı)',
-'newarticletext' => "Siz bu bağlantınen şimdilik yoq olğan saifege avuştıñız. Yañı bir saife yaratmaq içün aşağıda bulunğan pencerege metin yazıñız (tafsilâtlı malümat almaq içün [[{{MediaWiki:Helppage}}|yardım saifesine]] baqıñız). Bu saifege tesadüfen avuşqan olsañız, brauzeriñizdeki '''keri''' dögmesine basıñız.",
+'newarticletext' => "Siz bu bağlantınen şimdilik yoq olğan saifege avuştıñız. Yañı bir saife yaratmaq içün aşağıda bulunğan pencerege metin yazıñız (tafsilâtlı malümat almaq içün [$1 yardım saifesine] baqıñız). Bu saifege tesadüfen avuşqan olsañız, brauzeriñizdeki '''keri''' dögmesine basıñız.",
 'anontalkpagetext' => "----''Bu muzakere saifesi şimdilik qayd olunmağan ya da oturımını açmağan adsız (anonim) qullanıcığa mensüptir. İdentifikatsiya içün IP adres işletile.
 Bir IP adresinden bir qaç qullanıcı faydalanıp ola.
 Eger siz anonim qullanıcı olsañız ve sizge kelgen beyanatlarnı yañlıştan kelgenini belleseñiz, lütfen, artıq bunıñ kibi qarışıqlıq olmasın dep [[Special:UserLogin/signup|qayd oluñız]] ya da [[Special:UserLogin|oturım açıñız]].''",
index e74657c..a3c8048 100644 (file)
@@ -614,7 +614,6 @@ $1',
 'disclaimers' => 'Vyloučení odpovědnosti',
 'disclaimerpage' => 'Project:Vyloučení odpovědnosti',
 'edithelp' => 'Pomoc při editování',
-'helppage' => 'Help:Obsah',
 'mainpage' => 'Hlavní strana',
 'mainpage-description' => 'Hlavní strana',
 'policy-url' => 'Project:Pravidla',
@@ -1082,15 +1081,15 @@ Možná byla přesunuta či smazána, zatímco jste si stránku {{GENDER:|prohl
 'accmailtitle' => 'Heslo odesláno.',
 'accmailtext' => 'Náhodně vygenerované heslo pro uživatele [[User talk:$1|$1]] bylo odesláno na $2. Po přihlášení ho bude možno změnit na [[Special:ChangePassword|stránce pro změnu hesla]].',
 'newarticle' => '(Nový)',
-'newarticletext' => "Následovali jste odkaz na stránku, která dosud neexistuje.
-Pokud ji chcete vytvořit, napište text do rámečku níže a stiskněte tlačítko ''Uložit změny''. Další rady najdete v [[{{MediaWiki:Helppage}}|nápovědě]].
-Pokud jste zde omylem, stiskněte ve svém prohlížeči tlačítko ''Zpět''.",
+'newarticletext' => 'Následovali jste odkaz na stránku, která dosud neexistuje.
+Pokud ji chcete vytvořit, začněte psát do rámečku níže (více informací najdete v [$1 nápovědě]).
+Pokud jste zde omylem, stiskněte ve svém prohlížeči tlačítko <strong>Zpět</strong>.',
 'anontalkpagetext' => "----''Toto je diskusní stránka anonymního uživatele, který si dosud nevytvořil účet nebo ho nepoužívá. K&nbsp;jeho identifikaci proto musíme používat číselnou IP adresu. Takovou IP adresu může sdílet několik uživatelů. Pokud jste anonymní uživatel a&nbsp;máte za to, že jsou vám adresovány irelevantní komentáře, prosíme, [[Special:UserLogin/signup|vytvořte si účet]] nebo [[Special:UserLogin|se přihlaste]], vyhnete se tím budoucí záměně s&nbsp;jinými anonymními uživateli.''",
 'noarticletext' => 'Tato stránka zatím neobsahuje žádný text.
 Můžete [[Special:Search/{{PAGENAME}}|zkusit tento název vyhledat]] na jiných stránkách, <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} prohlédnout si příslušné protokolovací záznamy] nebo [{{fullurl:{{FULLPAGENAME}}|action=edit}} tuto stránku založit]</span>.',
 'noarticletext-nopermission' => 'Tato stránka zatím neobsahuje žádný text.
 Můžete [[Special:Search/{{PAGENAME}}|zkusit tento název vyhledat]] na jiných stránkách nebo <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} si prohlédnout příslušné protokolovací záznamy]</span>, ale na založení této stránky nemáte oprávnění.',
-'missing-revision' => 'Revize #$1 stránky s názvem „{{PAGENAME}}“ neexistuje.
+'missing-revision' => 'Revize #$1 stránky s názvem „{{FULLPAGENAME}}“ neexistuje.
 
 Toto je obvykle způsobeno tím, že jste následovali zastaralý odkaz historickou verzi stránky, jež byla smazána.
 Podrobnosti mohou být uvedeny v [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} knize smazaných stránek].',
@@ -1317,8 +1316,9 @@ Můžete si toto porovnání prohlédnout; podrobnosti jsou uvedeny v [{{fullurl
 'revdelete-no-file' => 'Uvedený soubor neexistuje.',
 'revdelete-show-file-confirm' => 'Určitě si chcete prohlédnout smazanou revizi souboru „<nowiki>$1</nowiki>“ z $2, $3?',
 'revdelete-show-file-submit' => 'Ano',
-'revdelete-selected' => "'''{{PLURAL:$2|Vybraná|Vybrané}} revize stránky [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Vybraná protokolovaná událost|Vybrané protokolované události}}:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Vybraná|Vybrané}} revize stránky [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Vybraná|Vybrané}} verze souboru [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|Vybraná protokolovaná událost|Vybrané protokolované události}}:',
 'revdelete-text-text' => 'Smazané editace se budou i nadále zobrazovat v historii stránky, ale části jejich obsahu nebudou veřejně přístupné.',
 'revdelete-text-file' => 'Smazané verze souborů se budou i nadále zobrazovat v historii stránky, ale části jejich obsahu nebudou veřejně přístupné.',
 'logdelete-text' => 'Smazané protokolovací záznamy se budou i nadále zobrazovat v historii stránky, ale části jejich obsahu nebudou veřejně přístupné.',
@@ -2178,6 +2178,11 @@ Vstup: <code>typ obsahu/podtyp</code>, např. <code>image/jpeg</code>.',
 # List redirects
 'listredirects' => 'Seznam přesměrování',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Seznam souborů s duplikáty',
+'listduplicatedfiles-summary' => 'Toto je seznam souborů, u kterých je aktuální revize duplikátem aktuální revize nějakého jiného souboru. Do úvahy se berou jen lokální soubory.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] má [[$3|$2 {{PLURAL:$2|duplikát|duplikáty|duplikátů}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Nepoužívané šablony',
 'unusedtemplatestext' => 'Tato stránka obsahuje seznam všech stran ve jmenném prostoru {{ns:template}}, které nejsou vloženy do žádné jiné strany. Před jejich smazáním nezapomeňte zkontrolovat ostatní odkazy.',
@@ -2627,7 +2632,7 @@ Můžete si prohlédnout též [[Special:ProtectedPages|seznam aktuálně platn
 Současné nastavení pro tuto stránku je: '''$1''':",
 'protect-locked-access' => "Tento účet nemá povoleno měnit nastavení zámků.
 Současné nastavení pro tuto stránku je: '''$1''':",
-'protect-cascadeon' => 'Tato stránka je právě zamčena, protože je vložena do {{PLURAL:$1|následující stránky zamčené|následujících stránek zamčených|následujících stránek zamčených}} kaskádovým zámkem. Můžete změnit zámky pro tuto stránku, ale nebude to mít žádný vliv na kaskádové zamčení.',
+'protect-cascadeon' => 'Tato stránka je právě zamčena, protože je vložena do {{PLURAL:$1|následující stránky zamčené|následujících stránek zamčených}} kaskádovým zámkem. Změny zámků této stránky nebudou mít žádný vliv na kaskádové zamčení.',
 'protect-default' => 'Povolit všem',
 'protect-fallback' => 'Povolit jen uživatelům s oprávněním „$1“',
 'protect-level-autoconfirmed' => 'Povolit jen automaticky schváleným uživatelům',
index e9ac3d5..38bc7af 100644 (file)
@@ -253,7 +253,6 @@ $messages = array(
 'disclaimers' => 'Prawné zastrzedżi',
 'disclaimerpage' => 'Project:Prawné zastrzedżi',
 'edithelp' => 'Pòmòc do edicëji',
-'helppage' => 'Help:Spisënk zamkłoscë',
 'mainpage' => 'Przédnô starna',
 'mainpage-description' => 'Przédnô starna',
 'policy-url' => 'Project:Regle',
@@ -456,7 +455,7 @@ Proszëmë pòdac wëższé pòdôłczi przë wszëtczich pëtaniach.",
 Parolã dlô negò nowégò kònta mòże zmienic pò wlogòwaniu na starnie ''[[Special:ChangePassword|zjinaka parolë]]''.",
 'newarticle' => '(Nowi)',
 'newarticletext' => "Môsz przëszłi z lënkù do starnë jaka jesz nie òbstoji.
-Bë ùsôdzëc artikel, naczni pisac w kastce niżi (òb. [[{{MediaWiki:Helppage}}|starnã pòmòcë]]
+Bë ùsôdzëc artikel, naczni pisac w kastce niżi (òb. [$1 starnã pòmòcë]
 dlô wicy wëdowiédzë).
 Jeżlë jes të tuwò bez zmiłkã, le klëkni w swòjim przezérnikù knąpã '''nazôd'''.",
 'anontalkpagetext' => "----''To je starna dyskùsëji anonimòwiégò brëkòwnika, chtëren nie ùsôdzëł jesz swòjegò kòntae, abò gò nie brëkùje.
index 6b11952..40b69aa 100644 (file)
@@ -253,12 +253,11 @@ $messages = array(
 # All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
 'aboutsite' => 'О {{grammar:instrumental|{{SITENAME}}}}',
 'aboutpage' => 'Project:О сѥмь опꙑтьствовании',
-'copyright' => 'подъ прощєниѥмь $1 пьсано ѥстъ',
+'copyright' => 'подъ прощєниѥмь $1 пьсано ѥстъ · ащє ино нє каꙁано ѥстъ',
 'copyrightpage' => '{{ns:project}}:Творьцъ права',
 'currentevents' => 'сѫщѧѩ вѣщи',
 'currentevents-url' => 'Project:Сѫщѧѩ вѣщи',
 'edithelp' => 'помощь по исправлѥниѭ',
-'helppage' => 'Help:Каталогъ',
 'mainpage' => 'главьна страница',
 'mainpage-description' => 'главьна страница',
 'policy-url' => 'Project:Полїтїка',
@@ -329,7 +328,6 @@ $messages = array(
 'createaccount' => 'съꙁижди си мѣсто',
 'gotaccount' => 'мѣсто ти ѥстъ ли? $1',
 'gotaccountlink' => 'въниди',
-'helplogin-url' => 'Help:Въниждѥниѥ',
 'createaccountreason' => 'какъ съмꙑслъ :',
 'createacct-reason' => 'какъ съмꙑслъ',
 'createacct-submit' => 'съꙁижди си мѣсто',
@@ -444,7 +442,7 @@ $messages = array(
 'searchresults-title' => 'исканиꙗ ⁖ $1 ⁖ слѣдьствиѥ',
 'viewprevnext' => 'виждь ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-exists' => "'''страница имєньмь ⁖ [[:$1]] ⁖ ѥстъ створѥна ю'''",
-'searchmenu-new' => "'''страницѫ ⁖ [[:$1]] ⁖ сътворити можєши'''",
+'searchmenu-new' => '<strong>страницѫ "⁖ [[:$1]] ⁖" сътворити можєши</strong> {{PLURAL:$2|0=|ꙁъри такождє страница ижє по искании авлєна ѥстъ|ꙁьри такождє исканиꙗ слѣдьствиꙗ}}',
 'searchprofile-articles' => 'члѣни',
 'searchprofile-project' => 'опꙑтьствовании и помощи страницѧ',
 'searchprofile-images' => 'дѣла',
@@ -497,9 +495,9 @@ $messages = array(
 'yourrealname' => 'истиньно имѧ :',
 'yourlanguage' => 'ѩꙁꙑкъ :',
 'yournick' => 'новъ аѵтографъ :',
-'yourgender' => 'полъ :',
-'gender-male' => 'мѫжÑ\8a',
-'gender-female' => 'жÑ\94на',
+'yourgender' => 'ꙗко жє о тєбѣ пьсати ;',
+'gender-male' => 'онÑ\8a Ð¸Ñ\81пÑ\80авиÑ\82Ñ\8a Ñ\81Ñ\82Ñ\80аниÑ\86ѧ',
+'gender-female' => 'она Ð¸Ñ\81пÑ\80авиÑ\82Ñ\8a Ñ\81Ñ\82Ñ\80аниÑ\86ѧ',
 'prefs-signature' => 'аѵтографъ',
 
 # User rights
@@ -944,7 +942,7 @@ $messages = array(
 'version' => 'MediaWiki обраꙁъ',
 'version-specialpages' => 'нарочьнꙑ страницѧ',
 'version-version' => '(обраꙁъ $1)',
-'version-license' => 'прощєниѥ',
+'version-license' => 'MediaWiki прощєниѥ',
 'version-software-version' => 'обраꙁъ',
 
 # Special:Redirect
index f97aec1..c3063f7 100644 (file)
@@ -245,7 +245,6 @@ $messages = array(
 'disclaimers' => 'Яваплăха тивĕçтерменни',
 'disclaimerpage' => 'Project:Яваплăха тивĕçтерменни',
 'edithelp' => 'Улшăнусене кĕртме пулăшакан пулăшу',
-'helppage' => 'Help:Пулăшу',
 'mainpage' => 'Тĕп страница',
 'mainpage-description' => 'Тĕп страницă',
 'policy-url' => 'Project:Йĕркесем',
@@ -469,7 +468,7 @@ $1 хутшăнакан патне, е ытти [[{{MediaWiki:Grouppage-sysop}}|
 'newarticle' => '(Çĕнни)',
 'newarticletext' => 'Ссылка урлă эсир халлĕхе çук статья çине куçрăр.
 Çĕнĕ статьяна кĕртес тесен аяларах вырнаçнă чӳречере текста çырăр.
-(тĕплĕнрех пĕлес тесен [[Help:Пулăшу|пулăшу страниципе]] паллашăр).
+(тĕплĕнрех пĕлес тесен [[Help:Пулăшу|пулăшу страниципе] паллашăр).
 Енчен те эсир кунта йăнăшпа лекнĕ пулсан — сирĕн браузерăн «Каялла» кнопка çине пусăр.',
 'usercsspreview' => "'''Ан манăр, эсир сирĕн css файл епле пулассине çеç куратăр, ăна халлĕхе çырса хуман!'''",
 'userjspreview' => "'''Астăвăр, ку сирĕн javascript-файлăн малтанхи курăмĕ кăна, ăна хальлĕхе çырса хуман!'''",
index 7a17954..38abebb 100644 (file)
@@ -366,7 +366,6 @@ $1',
 'disclaimers' => 'Gwadiadau',
 'disclaimerpage' => 'Project:Gwadiad Cyffredinol',
 'edithelp' => 'Help gyda golygu',
-'helppage' => 'Help:Cymorth',
 'mainpage' => 'Hafan',
 'mainpage-description' => 'Hafan',
 'policy-url' => 'Project:Policy',
@@ -561,6 +560,7 @@ Sylwer y bydd rhai tudalennau yn parhau i ymddangos fel ag yr oeddent pan oeddec
 '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}}.
 Defnyddiwch y ffurflen isod i fewngofnodi wrth rhyw enw arall.',
 'userlogin-createanother' => 'Creu cyfrif ychwanegol',
@@ -646,6 +646,7 @@ Oedwch $1 cyn mentro eto.',
 'createacct-another-realname-tip' => "Gallwch ddewis roi eich enw go iawn.
 Os y gwnewch, fe gaiff yr enw go iawn ei defnyddio wrth dadogi'ch gwaith.",
 'pt-login' => 'Mewngofnodi',
+'pt-login-button' => 'Mewngofnoder',
 'pt-createaccount' => 'Creu cyfri',
 'pt-userlogout' => 'Allgofnodi',
 
@@ -816,14 +817,14 @@ Efallai bod yr adran wedi cael ei symud neu ei dileu ers i chi agor y dudalen.",
 'accmailtext' => "Anfonwyd cyfrinair a grewyd ar hap ar gyfer [[User talk:$1|$1]] at $2. Gellir newid y cyfrinair hwn ar y dudalen ''[[Special:ChangePassword|newid cyfrinair]]'', wrth fewngofnodi.",
 'newarticle' => '(Newydd)',
 'newarticletext' => "Rydych chi wedi dilyn cysylltiad i dudalen sydd heb gael ei chreu eto.
-I greu'r dudalen, dechreuwch deipio yn y blwch isod (gweler y [[{{MediaWiki:Helppage}}|dudalen gymorth]] am fwy o wybodaeth).
+I greu'r dudalen, dechreuwch deipio yn y blwch isod (gweler y [$1 dudalen gymorth] am fwy o wybodaeth).
 Os daethoch yma ar ddamwain, cliciwch botwm '''n&ocirc;l''' y porwr.",
 'anontalkpagetext' => "----''Dyma dudalen sgwrs ar gyfer defnyddiwr anhysbys sydd heb greu cyfrif eto, neu nad yw'n ei ddefnyddio. Felly mae'n rhaid inni ddefnyddio'r cyfeiriad IP i'w (h)adnabod. Mae cyfeiriadau IP yn gallu cael eu rhannu rhwng nifer o ddefnyddwyr. Os ydych chi'n ddefnyddiwr anhysbys ac yn teimlo'ch bod wedi derbyn sylwadau amherthnasol, [[Special:UserLogin/signup|crëwch gyfrif]] neu [[Special:UserLogin|mewngofnodwch]] i osgoi cael eich drysu gyda defnyddwyr anhysbys eraill o hyn ymlaen.''",
 'noarticletext' => "Mae'r dudalen hon yn wag ar hyn o bryd.
 Gallwch [[Special:Search/{{PAGENAME}}|chwilio am y teitl hwn]] ar dudalennau eraill, <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} chwilio drwy'r logiau perthnasol], neu [{{fullurl:{{FULLPAGENAME}}|action=edit}} golygu'r dudalen]</span>.",
 'noarticletext-nopermission' => "Mae'r dudalen hon yn wag ar hyn o bryd.
 Gallwch [[Special:Search/{{PAGENAME}}|chwilio am y teitl hwn]] ar dudalennau eraill, neu gallwch <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} chwilio drwy'r logiau perthnasol]</span>, ond nid yw'r gallu gennych i ddechrau'r dudalen o'r dechrau cyntaf.",
-'missing-revision' => 'Nid yw\'r diwygiad #$1 o\'r dudalen "{{PAGENAME}}" ar gael.
+'missing-revision' => 'Nid yw\'r diwygiad #$1 o\'r dudalen "{{FULLPAGENAME}}" ar gael.
 
 Fel arfer, fe ddigwydd hyn wrth ddilyn hen gyswllt i dudalen sydd wedi ei dileu.
 Gallwch weld y manylion yn y [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} lòg dileu].',
@@ -1054,8 +1055,9 @@ Serch hyn, gallwch eu cymharu o hyd; cewch weld y manylion ar y [{{fullurl:{{#Sp
 '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-selected' => "'''Y {{PLURAL:$2|golygiad|golygiad|golygiadau|golygiadau|golygiadau|golygiadau}} dewisedig o [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Digwyddiad|Digwyddiad|Digwyddiadau|Digwyddiadau|Digwyddiadau|Digwyddiadau}} a ddewiswyd o'r lòg:'''",
+'revdelete-selected-text' => 'Dewisiwyd y {{PLURAL:$1|diwygiad|diwygiad|diwygiadau}} canlynol o [[:$2]]:',
+'revdelete-selected-file' => "Dewiswyd y {{PLURAL:$1|diwygiad|diwygiad|diwygiadau}} canlynol o'r ffeil [[:$2]]:",
+'logdelete-selected' => "{{PLURAL:$1|Digwyddiad|Digwyddiad|Digwyddiadau}} a ddewiswyd o'r lòg:",
 'revdelete-confirm' => "Byddwch gystal â chadarnhau eich bod yn bwriadu gwneud hyn, eich bod yn deall yr effaith a gaiff, a'ch bod yn ei wneud yn ôl y [[{{MediaWiki:Policy-url}}|y polisi]].",
 'revdelete-suppress-text' => "'''Dim ond''' yn yr achosion sy'n dilyn y dylech fentro cuddio gwybodaeth:
 * Gwybodaeth a all fod yn enllib
@@ -1908,6 +1910,9 @@ Mewnbwn: contenttype/subtype, e.e. <code>image/jpeg</code>.",
 # List redirects
 'listredirects' => "Rhestru'r ail-gyfeiriadau",
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Rhestr y ffeiliau sydd wedi eu dyblygu',
+
 # Unused templates
 'unusedtemplates' => 'Nodiadau heb eu defnyddio',
 'unusedtemplatestext' => "Dyma restr o'r holl dudalennau yn y parth {{ns:template}} nad ydynt wedi eu cynnwys yn unrhyw dudalen arall.
@@ -2360,7 +2365,7 @@ Dyma'r gosodiadau diogelu cyfredol ar gyfer y dudalen '''$1''':",
 Dyma'r gosodiadau diogelu cyfredol ar gyfer y dudalen '''$1''':",
 'protect-locked-access' => "Nid yw'r gallu i newid lefel diogelu ar dudalen ynghlwm wrth eich cyfrif defnyddiwr.
 Dyma'r gosodiadau diogelu cyfredol ar gyfer y dudalen '''$1''':",
-'protect-cascadeon' => "Mae'r dudalen hon wedi ei diogelu ar hyn o bryd oherwydd ei bod wedi ei chynnwys yn y {{PLURAL:$1|dudalen|dudalen|tudalennau|tudalennau|tudalennau|tudalennau}} canlynol sydd wedi {{PLURAL:$1|ei|ei|eu|eu|eu|eu}} sgydol-diogelu.  Gallwch newid lefel diogelu'r dudalen hon, ond ni fydd hynny'n effeithio ar y sgydol-ddiogelu.",
+'protect-cascadeon' => "Mae'r dudalen hon wedi ei diogelu ar hyn o bryd oherwydd ei bod wedi ei chynnwys yn y {{PLURAL:$1|dudalen|dudalen|tudalennau}} canlynol sydd wedi {{PLURAL:$1|ei|ei|eu}} sgydol-diogelu.  Gallwch newid lefel diogelu'r dudalen hon, ond ni fydd hynny'n effeithio ar y sgydol-ddiogelu.",
 'protect-default' => "Caniatáu'r gallu i bob defnyddiwr",
 'protect-fallback' => 'Caniatau i\'r defnyddwyr gyda\'r gallu "$1" yn unig wneud hyn',
 'protect-level-autoconfirmed' => "Caniatau'r defnyddwyr sydd wedi eu cadarnhau'n awtomatig yn unig",
index 689947b..aa61b72 100644 (file)
@@ -441,7 +441,6 @@ $1',
 'disclaimers' => 'Forbehold',
 'disclaimerpage' => 'Project:Generelle forbehold',
 'edithelp' => 'Hjælp til redigering',
-'helppage' => 'Help:Hjælp',
 'mainpage' => 'Forside',
 'mainpage-description' => 'Forside',
 'policy-url' => 'Project:Politik',
@@ -637,6 +636,7 @@ Glem ikke at ændre dine [[Special:Preferences|{{SITENAME}} indstillinger]].',
 '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}}.
 Brug formularen nedenfor til at logge på som en anden bruger.',
 'userlogin-createanother' => 'Opret en anden konto',
@@ -729,6 +729,7 @@ Vent venligst $1, før du prøver igen.',
 'createacct-another-realname-tip' => 'Angivelse af rigtigt navn er valgfrit.
 Hvis 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-createaccount' => 'Opret konto',
 'pt-userlogout' => 'Log af',
 
@@ -761,7 +762,10 @@ For at afslutte indlogning, skal du oprette et nyt kodeord:',
 'resetpass-temp-password' => 'Midlertidig adgangskode',
 'resetpass-abort-generic' => 'Ændring af adgangskode er blevet afbrudt af en udvidelse',
 'resetpass-expired' => 'Dit kodeord er udløbet. Vær venlig at ændre det til et nyt.',
-'resetpass-expired-soft' => 'Dit kodeord er udløbet og skal ændres. Vær venlig at ændre det nu, eller tryk annuller for at ændre det senere.',
+'resetpass-expired-soft' => 'Din adgangskode er udløbet og skal ændres. Vær venlig at ændre den nu, eller tryk "{{int:resetpass-submit-cancel}}" for at ændre den senere.',
+'resetpass-validity-soft' => 'Din adgangskode er ikke gyldig:  $1 
+
+Vær venlig at ændre den nu, eller tryk "{{int:resetpass-submit-cancel}}" for at ændre den senere.',
 
 # Special:PasswordReset
 'passwordreset' => 'Nulstil adgangskode',
@@ -902,7 +906,7 @@ Angiv venligst alle de ovenstående detaljer ved eventuelle henvendelser.',
 'newarticle' => '(Ny)',
 'newarticletext' => "Du har fulgt en henvisning til en side som endnu ikke findes.
 For at oprette siden skal du begynde at skrive i boksen nedenfor
-(se [[{{MediaWiki:Helppage}}|hjælpesiden]] for yderligere information).
+(se [$1 hjælpesiden] for yderligere information).
 Hvis du er her ved en fejl, så tryk på din browsers '''tilbage'''-knap.",
 'anontalkpagetext' => "---- ''Dette er en diskussionsside for en anonym bruger, der ikke har oprettet en konto endnu eller ikke bruger den.
 Vi er derfor nødt til at bruge den numeriske IP-adresse til at identificere ham eller hende.
@@ -916,7 +920,7 @@ eller [{{fullurl:{{FULLPAGENAME}}|action=edit}} oprette siden]</span>.',
 Du kan [[Special:Search/{{PAGENAME}}|søge efter sidenavnet]] på andre sider,
 eller <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} søge i relaterede loglister]</span>,
 men du har ikke tilladelse til at oprette denne side.',
-'missing-revision' => 'Revision #$1 af siden med navnet "{{PAGENAME}}" eksisterer ikke.
+'missing-revision' => 'Revision #$1 af siden med navnet "{{FULLPAGENAME}}" eksisterer ikke.
 
 Dette skyldes normalt at et forældet historik-link er fulgt til en side der er slettet.
 Detaljer kan findes i [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} sletningsloggen].',
@@ -1140,8 +1144,7 @@ Du kan se denne forskel; der kan findes detaljer i [{{fullurl:{{#Special:Log}}/s
 'revdelete-no-file' => 'Den angivne fil findes ikke.',
 'revdelete-show-file-confirm' => 'Er du sikker på, at du vil vise en slettet version af filen "<nowiki>$1</nowiki>" fra den $2, klokken $3?',
 'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''{{PLURAL:$2|Valgte version|Valgte versioner}} af '''$1:''''''",
-'logdelete-selected' => "'''{{PLURAL:$1|Valgt logindførsel|Valgte logindførsler}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Valgt logindførsel|Valgte logindførsler}}:',
 'revdelete-confirm' => 'Vær venlig at bekræfte at du vil gøre dette, at du forstår konsekvenserne, og at du gør det i overensstemmelse med [[{{MediaWiki:Policy-url}}|retningslinjerne]].',
 'revdelete-suppress-text' => "Der bør '''kun''' skjules i de følgende tilfælde:
 * Potentielt injurierende oplysninger
@@ -1277,7 +1280,7 @@ Detaljer kan findes i [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}
 'search-section' => '(afsnit $1)',
 'search-suggest' => 'Mente du: $1',
 'search-interwiki-caption' => 'Søsterprojekter',
-'search-interwiki-default' => '{{PLURAL:$1|et resultat|$1 resultater}}:',
+'search-interwiki-default' => 'Resultater fra $1:',
 'search-interwiki-more' => '(mere)',
 'search-relatedarticle' => 'Relateret',
 'searcheverything-enable' => 'Søg i alle navnerum',
@@ -1312,7 +1315,7 @@ Detaljer kan findes i [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}
 'prefs-personal' => 'Brugerdata',
 'prefs-rc' => 'Seneste ændringer',
 'prefs-watchlist' => 'Overvågningsliste',
-'prefs-watchlist-days' => 'Antal dage, som overvågningslisten standardmæssigt skal omfatte:',
+'prefs-watchlist-days' => 'Antal dage der skal vises i overvågningslisten:',
 'prefs-watchlist-days-max' => 'Højst $1 {{PLURAL:$1|dag|dage}}',
 'prefs-watchlist-edits' => 'Antal redigeringer der vises i udvidet overvågningsliste:',
 'prefs-watchlist-edits-max' => 'Maks. 1000',
@@ -1336,7 +1339,7 @@ Detaljer kan findes i [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}
 'recentchangescount' => 'Antal redigeringer som skal vises som standard:',
 'prefs-help-recentchangescount' => 'Det gælder for seneste ændringer, historikker og logger.',
 'prefs-help-watchlist-token2' => 'Dette er den hemmelige nøgle til web-feed af din overvågningsliste.
-Hvis andre kender den, man vil være i stand til at læse din overvågningsliste, så del den ikke.
+Hvis andre kender den, vil man være i stand til at læse din overvågningsliste, så del den ikke.
 [[Special:ResetTokens|Klik her hvis du har brug at nulstille den]].',
 'savedprefs' => 'Dine indstillinger er blevet gemt.',
 'timezonelegend' => 'Tidszone:',
@@ -1746,6 +1749,7 @@ Du bør spørge en person med evnen til at se undertrykte fildata for at gennemg
 'uploaddisabledtext' => 'Oplægning af filer er deaktiveret.',
 'php-uploaddisabledtext' => 'Oplægning af filer er forhindret i PHP. Tjek indstillingen for file_uploads.',
 'uploadscripted' => 'Denne fil indeholder HTML eller script-kode, der i visse tilfælde can fejlfortolkes af en browser.',
+'uploadscriptednamespace' => 'Denne SVG-fil indeholder et ulovligt navnerum "$1"',
 'uploadinvalidxml' => 'XML i den uploadede fil kunne ikke tolkes.',
 'uploadvirus' => 'Denne fil indeholder en virus! Virusnavn: $1',
 'uploadjava' => 'Denne fil er en ZIP-fil, der indeholder en Java .class-fil.
@@ -2398,7 +2402,7 @@ Bekræft venligst at du virkelig vil gøre dette, at du forstår konsekvenserne,
 'delete-edit-reasonlist' => 'Rediger sletningsårsager',
 'delete-toobig' => 'Denne side har en stor historik, over {{PLURAL:$1|en version|$1 versioner}}. Sletning af sådanne sider er begrænset, for at forhindre utilsigtet forstyrrelse af {{SITENAME}}.',
 'delete-warning-toobig' => 'Denne side har en stor historik, over {{PLURAL:$1|en version|$1 versioner}} versioner, slettes den kan det forstyrre driften af {{SITENAME}}, gå forsigtigt frem.',
-'deleting-backlinks-warning' => "'''Advarsel:''' Andre sider linker til eller inkluderer den side, du er ved at slette.",
+'deleting-backlinks-warning' => "'''Advarsel:''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|Andre sider]] linker til eller inkluderer den side, du er ved at slette.",
 
 # Rollback
 'rollback' => 'Fjern redigeringer',
@@ -2448,7 +2452,7 @@ Se [[Special:ProtectedPages|listen over beskyttede sider]] for listen over sideb
 Her er de aktuelle beskyttelsesindstillinger for siden '''$1''':",
 'protect-locked-dblock' => "Databasen er spærret, sidebeskyttelsen kan derfor ikke ændres. her er de aktuelle beskyttelsesindstillinger for siden '''„$1“:'''",
 'protect-locked-access' => "Den brugerkonto har ikke de nødvendige rettigheder til at ændre sidebeskyttelsen. Her er de aktuelle beskyttelsesindstillinger for siden '''„$1“:'''",
-'protect-cascadeon' => 'Denne side er del af en nedarvet skrivebeskyttelse. Wen er indeholdt i nedenstående {{PLURAL:$1|side|sider}}, som er skrivebeskyttet med tilvalg af "nedarvende sidebeskyttelse" Sidebeskyttelsen kan ændres for denne side, det påvirker dog ikke kaskadespærringen:',
+'protect-cascadeon' => 'Denne side er del af en nedarvet skrivebeskyttelse. Den er indeholdt i nedenstående {{PLURAL:$1|side|sider}}, som er skrivebeskyttet med tilvalg af "nedarvende sidebeskyttelse". Sidebeskyttelsen kan ændres for denne side, det påvirker dog ikke den nedarvede sidebeskyttelse.',
 'protect-default' => 'Tillad alle brugere',
 'protect-fallback' => 'Tillad kun brugere med "$1" adgang',
 'protect-level-autoconfirmed' => 'Tillad kun autobekræftede brugere',
@@ -2572,6 +2576,7 @@ $1',
 'sp-contributions-blocked-notice-anon' => 'Denne IP-adresse er i øjeblikket blokeret.
 Den seneste post i blokeringsloggen vises nedenfor:',
 'sp-contributions-search' => 'Søg efter bidrag',
+'sp-contributions-suppresslog' => 'undertrykte brugerbidrag',
 'sp-contributions-username' => 'IP-adresse eller brugernavn:',
 'sp-contributions-toponly' => 'Vis kun redigeringer, der er aktuelle versioner',
 'sp-contributions-newonly' => 'Vis kun redigeringer, der er sideoprettelser',
index ac1d93f..9bb9fa2 100644 (file)
@@ -673,7 +673,6 @@ $1',
 'disclaimers' => 'Impressum',
 'disclaimerpage' => 'Project:Impressum',
 'edithelp' => 'Bearbeitungshilfe',
-'helppage' => 'Help:Inhaltsverzeichnis',
 'mainpage' => 'Hauptseite',
 'mainpage-description' => 'Hauptseite',
 'policy-url' => 'Project:Richtlinien',
@@ -891,7 +890,7 @@ Benutze das unten stehende Formular, um dich unter einem anderen Benutzernamen a
 'createacct-reason-ph' => 'Warum erstellst du ein anderes Benutzerkonto?',
 'createacct-captcha' => 'Sicherheitsprüfung',
 'createacct-imgcaptcha-ph' => 'Gib den Text ein, den du oben siehst.',
-'createacct-submit' => 'Dein Benutzerkonto erstellen',
+'createacct-submit' => 'Benutzerkonto erstellen',
 'createacct-another-submit' => 'Anderes Benutzerkonto erstellen',
 'createacct-benefit-heading' => '{{SITENAME}} wird von Menschen wie dir geschaffen.',
 'createacct-benefit-body1' => '{{PLURAL:$1|Bearbeitung|Bearbeitungen}}',
@@ -1145,7 +1144,7 @@ Vermutlich wurde er verschoben oder gelöscht, nachdem du die Seite aufgerufen h
 'accmailtext' => "Ein zufällig generiertes Passwort für [[User talk:$1|$1]] wurde an $2 versandt. Es kann auf der Seite ''[[Special:ChangePassword|Passwort ändern]]'' nach der Anmeldung geändert werden.",
 'newarticle' => '(Neu)',
 'newarticletext' => "Du bist einem Link zu einer Seite gefolgt, die nicht vorhanden ist.
-Um diese Seite anzulegen, trage deinen Text in das untenstehende Bearbeitungsfeld ein (weitere Informationen auf der [[{{MediaWiki:Helppage}}|Hilfeseite]]).
+Um diese Seite anzulegen, trage deinen Text in das untenstehende Bearbeitungsfeld ein (weitere Informationen auf der [$1 Hilfeseite]).
 Sofern du fälschlicherweise hier bist, klicke auf die Schaltfläche '''Zurück''' deines Browsers.",
 'anontalkpagetext' => "----''Diese Seite dient dazu, einem nicht angemeldeten Benutzer Nachrichten zu hinterlassen. Es wird seine IP-Adresse zur Identifizierung verwendet. IP-Adressen können von mehreren Benutzern gemeinsam verwendet werden. Wenn du mit den Kommentaren auf dieser Seite nichts anfangen kannst, richten sie sich vermutlich an einen früheren Inhaber deiner IP-Adresse und du kannst sie ignorieren. Du kannst dir auch ein [[Special:UserLogin/signup|Benutzerkonto erstellen]] oder dich [[Special:UserLogin|anmelden]], um künftig Verwechslungen mit anderen anonymen Benutzern zu vermeiden.''",
 'noarticletext' => 'Diese Seite enthält momentan noch keinen Text.
@@ -1154,7 +1153,7 @@ ihren Titel auf anderen Seiten [[Special:Search/{{PAGENAME}}|suchen]]
 oder die zugehörigen <span class="plainlinks">[{{fullurl:{{#special:Log}}|page={{FULLPAGENAMEE}}}} Logbücher betrachten]</span>.',
 'noarticletext-nopermission' => 'Diese Seite enthält momentan noch keinen Text, du bist auch nicht berechtigt diese Seite zu erstellen.
 Du kannst ihren Titel auf anderen Seiten [[Special:Search/{{PAGENAME}}|suchen]] oder die zugehörigen <span class="plainlinks">[{{fullurl:{{#special:Log}}|page={{FULLPAGENAMEE}}}} Logbücher betrachten].</span>',
-'missing-revision' => 'Die Version $1 der Seite namens „{{PAGENAME}}“ ist nicht vorhanden.
+'missing-revision' => 'Die Version $1 der Seite namens „{{FULLPAGENAME}}“ ist nicht vorhanden.
 
 Dieser Fehler wird normalerweise von einem veralteten Link zur Versionsgeschichte einer Seite verursacht, die zwischenzeitlich gelöscht wurde.
 Einzelheiten sind im [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Lösch-Logbuch] einsehbar.',
@@ -1381,8 +1380,9 @@ Du kannst diesen Versionsunterschied einsehen, sofern du möchtest. Nähere Anga
 'revdelete-no-file' => 'Die angegebene Datei ist nicht vorhanden.',
 'revdelete-show-file-confirm' => 'Bist du sicher, dass du die gelöschte Version der Datei „<nowiki>$1</nowiki>“ vom $2 um $3 Uhr ansehen willst?',
 'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''{{PLURAL:$2|Gewählte Version|Gewählte Versionen}} von [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Gewählter Logbucheintrag|Gewählte Logbucheinträge}}:'''",
+'revdelete-selected-text' => 'Ausgewählte {{PLURAL:$1|Version|Versionen}} von [[:$2]]:',
+'revdelete-selected-file' => 'Ausgewählte {{PLURAL:$1|Dateiversion|Dateiversionen}} von [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|Gewählter Logbucheintrag|Gewählte Logbucheinträge}}:',
 'revdelete-text-text' => 'Gelöschte Versionen verbleiben noch in der Versionsgeschichte, jedoch sind Teile ihres Inhalts für die Öffentlichkeit nicht zugänglich.',
 'revdelete-text-file' => 'Gelöschte Dateiversionen verbleiben noch in der Datei-Versionsgeschichte, jedoch sind Teile ihres Inhalts für die Öffentlichkeit nicht zugänglich.',
 'logdelete-text' => 'Gelöschte Logbucheinträge verbleiben noch in den Logbüchern, jedoch sind Teile ihres Inhalts für die Öffentlichkeit nicht zugänglich.',
@@ -2247,6 +2247,11 @@ Vielleicht möchtest du die Beschreibung auf der dortigen [$2 Dateibeschreibungs
 # List redirects
 'listredirects' => 'Weiterleitungen',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Liste der Dateien mit Duplikaten',
+'listduplicatedfiles-summary' => 'Dies ist eine Liste der Dateien, deren aktuelle Dateiversion ein Duplikat der aktuellen Version einer anderen Datei ist. Es werden nur lokale Dateien berücksichtigt.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] hat [[$3|{{PLURAL:$2|ein Duplikat|$2 Duplikate}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Verwaiste Vorlagen',
 'unusedtemplatestext' => 'Diese Seite listet alle Seiten im {{ns:template}}-Namensraum auf, die nicht in anderen Seiten eingebunden sind.
@@ -2688,7 +2693,8 @@ Siehe die [[Special:ProtectedPages|Liste der geschützten Seiten]] für alle akt
 'protect-locked-blocked' => "Du kannst den Seitenschutz nicht ändern, da dein Benutzerkonto gesperrt ist. Hier sind die aktuellen Seitenschutz-Einstellungen der Seite '''„$1“:'''",
 'protect-locked-dblock' => "Die Datenbank ist gesperrt, der Seitenschutz kann daher nicht geändert werden. Hier sind die aktuellen Seitenschutz-Einstellungen der Seite '''„$1“:'''",
 'protect-locked-access' => "Dein Benutzerkonto verfügt nicht über die notwendigen Rechte zur Änderung des Seitenschutzes. Hier sind die aktuellen Seitenschutzeinstellungen der Seite '''„$1“:'''",
-'protect-cascadeon' => 'Diese Seite ist gegenwärtig Teil einer Kaskadensperre. Sie ist in die {{PLURAL:$1|folgende Seite|folgenden Seiten}} eingebunden, welche durch die Kaskadensperroption geschützt {{PLURAL:$1|ist|sind}}. Der Seitenschutzstatus dieser Seite kann geändert werden, dies hat jedoch keinen Einfluss auf die Kaskadensperre:',
+'protect-cascadeon' => 'Diese Seite ist gegenwärtig Teil einer Kaskadensperre. Sie ist in die {{PLURAL:$1|folgende Seite|folgenden Seiten}} eingebunden, welche durch die Kaskadensperroption geschützt {{PLURAL:$1|ist|sind}}.
+Änderungen am Seitenschutzstatus haben keinen Einfluss auf die Kaskadensperre:',
 'protect-default' => 'Alle Benutzer',
 'protect-fallback' => 'Nur Benutzern mit der „$1“-Berechtigung erlauben.',
 'protect-level-autoconfirmed' => 'Nur automatisch bestätigten Benutzern erlauben',
index 2d25da3..8e57dee 100644 (file)
@@ -581,7 +581,6 @@ $1',
 'disclaimers' => 'Redê mesuliyeti',
 'disclaimerpage' => 'Project:Reddê mesuliyetê bıngey',
 'edithelp' => 'Peştdariya vurnayışi',
-'helppage' => 'Help:Zerrek',
 'mainpage' => 'Pela Seri',
 'mainpage-description' => 'Pela seri',
 'policy-url' => 'Project:Terzê hereketi',
@@ -722,8 +721,8 @@ $2',
 'namespaceprotected' => "No '''$1''' ca de icazetê şıma çino şıma pel rêz keri.",
 'customcssprotected' => 'Mısadeyê şıma çıniyo ke na pela CSSi bıvurnên, çıke na pela xısusiye eyaranê karberan muhtewa kena.',
 'customjsprotected' => 'Mısadeyê şıma çıniyo ke na pela Java Scripti bıvurnên, çıke na pela xısusiye eyaranê karberan muhtewa kena.',
-'mycustomcssprotected' => "Na pera CSS'i re tenya idarekari şene bıvurne",
-'mycustomjsprotected' => "Na pera JavaScript'i re tenya idarekari şene bıvurne",
+'mycustomcssprotected' => 'Desturê şıma çıniyo ke na pela CSSi bıvurnê.',
+'mycustomjsprotected' => 'Desturê şıma çıniyo ke na pela JavaScripti bıvurnê.',
 'myprivateinfoprotected' => 'Ğısusi malumatana ğo timar kerdışire icazeta şıma çıniya.',
 'mypreferencesprotected' => 'Terciha timar kerdışire icazeta şıam çıniya.',
 'ns-specialprotected' => 'Pelê xısusiy nênê vurnayış.',
@@ -1046,7 +1045,7 @@ Heta ke werte de qısım çıniyo, ca çıniyo ke tı raştkerdışê xo qeyd b
 Qey na hesabê newe parola, cıkewtış dıma şıma eşkeni na qısım de ''[[Special:ChangePassword|parola bıvurn]]'' bıvurni.",
 'newarticle' => '(Newe)',
 'newarticletext' => "To yew gıre tıkna be ra yew pela ke hewna çıniya.
-Seba afernayışê pele ra, qutiya metnê cêrêni bıgurene (seba melumati qaytê [[{{MediaWiki:Helppage}}|pela peşti]] ke).
+Seba afernayışê pele ra, qutiya metnê cêrêni bıgurene (seba melumati qaytê [$1 pela peşti] ke).
 Eke be ğeletine ameya tiya, wa gocega '''peyser'''i programê xo de bıtıkne.",
 'anontalkpagetext' => "----''No pel, pel o karbero hesab a nêkerdeyan o, ya zi karbero hesab akerdeyan o labele pê hesabê xo nêkewto de. No sebeb ra ma IP adres şuxulneni û ney IP adresan herkes eşkeno bıvino. Eke şıma qayil niye ina bo xo ri [[Special:UserLogin/signup|yew hesab bıvıraze]] veyaxut [[Special:UserLogin|hesab akere]].''",
 'noarticletext' => 'Ena pele de hewna theba çıniyo.
@@ -1055,7 +1054,7 @@ Tı şenay zerreyê pelanê binan de [[Special:Search/{{PAGENAME}}|seba sernamey
 ya zi [{{fullurl:{{FULLPAGENAME}}|action=edit}} ena pele bıvurne]</span>.',
 'noarticletext-nopermission' => 'Ena pele de hewna theba çıniyo.
 Tı şenay zerreyê pelanê binan de [[Special:Search/{{PAGENAME}}|seba sernameyê na pele cı geyre]], ya zi <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} qeydan miyan de cı geyre]</span>, ema destur çıniyo ke na pele vırazê.',
-'missing-revision' => 'Rewizyonê name dê pela da #$1 "{{PAGENAME}}" dı çıniyo.
+'missing-revision' => 'Rewizyonê name dê pela da #$1 "{{FULLPAGENAME}}" dı çıniyo.
 
 No normal de tarix dê pelanê besterneyan dı ena xırabin asena.
 Detayê besternayışi [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} tiya dı] aseno.',
@@ -1136,7 +1135,7 @@ Loge peniye cor de este:",
 'edittools-upload' => '-',
 'nocreatetext' => '{{SITENAME}}, Pelê neweyi vıraştış re destur çino.
 şıma eşkeni tepiya şêri u eke şıma qayd biyaye yê [[Special:UserLogin|şıma eşkeni hesab akeri]], eke niye [[Special:UserLogin|şıma eşkeni qayd bıbiy]].',
-'nocreate-loggedin' => 'İcaze şıma çino şıma pelo newe akeri.',
+'nocreate-loggedin' => 'Desturê şıma çıniyo ke pelanê neweyan vırazê.',
 'sectioneditnotsupported-title' => 'Destekê vurnayışiê qısımi çıniyo',
 'sectioneditnotsupported-text' => 'Destekê vurnayışiê qısımi ena pela vurnayışi de çıniyo.',
 'permissionserrors' => 'İdari xeta',
@@ -1275,8 +1274,7 @@ Eke şıma serkari u devam bıkeri [$1 no vurnayiş şıma eşkeni bıvini].",
 'revdelete-no-file' => 'Dosya diyarkerdiye çıniya.',
 'revdelete-show-file-confirm' => 'Şıma eminê ke wazenê çımraviyarnayışê esterıtey na dosya "<nowiki>$1</nowiki>" $2 ra $3 de bıvênê?',
 'revdelete-show-file-submit' => 'E',
-'revdelete-selected' => "'''[[:$1]]: ra {{PLURAL:$2|çımraviyarnayışo weçinıte|çımraviyarnayışê weçinıtey}}'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Qeydbiyayışo weçinıte|Qeydbiyayışê weçinıtey}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Qeydbiyayışo weçinıte|Qeydbiyayışê weçinıtey}}:',
 'revdelete-confirm' => 'Ma rica keno testiq bike ti ena hereket keno u ti zano neticeyanê herketanê xo u ti ena hereket pê ena [[{{MediaWiki:Policy-url}}|polici]] ra keno.',
 'revdelete-suppress-text' => "Wedardış gani '''tenya''' nê halanê cêrênan de bıxebıtiyo:
 * Melumatê kıfırio mıhtemel
@@ -1411,7 +1409,7 @@ Detayê besternayışi [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}
 'search-file-match' => '(zerreyê dosya yewbini gêno)',
 'search-suggest' => 'To va: $1',
 'search-interwiki-caption' => 'Proceyê bıray',
-'search-interwiki-default' => '$1 neticeyan:',
+'search-interwiki-default' => '$1 ra neticey:',
 'search-interwiki-more' => '(véşi)',
 'search-relatedarticle' => 'Eleqeyın',
 'searcheverything-enable' => 'cayê nameyê hemi de bigêre',
@@ -2287,7 +2285,7 @@ Xo vira mekerê ke, sıteyê webiê bini şenê direkt ebe URLi yew dosya ra gı
 'querypage-disabled' => 'Na pelaya xısusi,sebeb de performansi ra qefılneyê.',
 
 # Book sources
-'booksources' => 'Çımey kitaban',
+'booksources' => 'Çımeyê kıtaban',
 'booksources-search-legend' => 'Seba çımeyanê kıtaban cı geyre',
 'booksources-isbn' => 'ISBN:',
 'booksources-go' => 'Şo',
@@ -3295,7 +3293,7 @@ Gurênayışê nae de, beno ke sistemê şıma zerar bıvêno.",
 'svg-long-desc' => 'Dosyay SVG, zek vanê $1 × $2 piksela, ebatê dosya: $3',
 'svg-long-desc-animated' => 'SVG dosya, nominalin $1 × $2 piksela, ebatê dosya: $3',
 'svg-long-error' => "Nêmeqbul dosyaya SVG'i: $1",
-'show-big-image' => 'Oricinal dosya',
+'show-big-image' => 'Dosyaya oricinale',
 'show-big-image-preview' => "Verqayd dergiya: $1'i.",
 'show-big-image-other' => 'Zewmi{{PLURAL:$2|Vılêşnayış|Vılêşnayışê}}: $1.',
 'show-big-image-size' => '$1 × $2 piksel',
@@ -4152,7 +4150,7 @@ Ti hem zi eşkeno [[Special:EditWatchlist|use the standard editor]].',
 'version-license-not-found' => 'Seba na derganiye melumatê lisansê detayıni nêvêniya.',
 'version-credits-title' => 'Semedê $1 ra krediy',
 'version-poweredby-credits' => "Ena wiki, dezginda '''[https://www.mediawiki.org/ MediaWiki]''' ya piya vıraziyaya, heqê telifi © 2001-$1 $2.",
-'version-poweredby-others' => 'Zewmi',
+'version-poweredby-others' => 'ê bini',
 'version-poweredby-translators' => "Açernere translatewiki.net'i",
 'version-credits-summary' => 'Ma qayılime ke [[Special:Version|MediaWiki]] rê ke kami destek dayo wa mayê vanime inan bışınasne.',
 'version-license-info' => "MediaWiki xoseri jew nuştereno; MediaWiki'yer, weqfê xoseri nuşteren GNU lisansiya merdumi şene ke vıla kerê, bıvurnê u timar kerê.
index 5fcd291..0c4bfbb 100644 (file)
@@ -407,7 +407,6 @@ $1',
 'disclaimers' => 'Impresum',
 'disclaimerpage' => 'Project:impresum',
 'edithelp' => 'Pomoc pśi wobźěłanju',
-'helppage' => 'Help:Pomoc',
 'mainpage' => 'Głowny bok',
 'mainpage-description' => 'Głowny bok',
 'policy-url' => 'Project:Směrnice',
@@ -856,13 +855,13 @@ Jo se snaź pśesunuł abo wulašował, mjaztym až woglědujoš se bok.',
 'accmailtext' => "Pśipadnje napórane gronidło za [[User talk:$1|$1]] jo se pósłało k $2. Dajo se na boku ''[[Special:ChangePassword|Gronidło změniś]]'' pśi pśizjawjenju změniś.",
 'newarticle' => '(Nowy nastawk)',
 'newarticletext' => "Sy slědował wótkaz na bok, kótaryž hyšći njeeksistěrujo.
-Aby bok napórał, zapiš do kašćika dołojce (glědaj [[{{MediaWiki:Helppage}}|bok pomocy]] za dalšne informacije). Jolic sy zamólnje how, klikni na tłocašk '''Slědk''' w swójom wobglědowaku.",
+Aby bok napórał, zapiš do kašćika dołojce (glědaj [$1 bok pomocy] za dalšne informacije). Jolic sy zamólnje how, klikni na tłocašk '''Slědk''' w swójom wobglědowaku.",
 'anontalkpagetext' => "---- ''Toś jo diskusijny bok za anonymnego wužywarja, kótaryž njejo dotychměst žedno wužywarske konto załožył abo swójo konto njewužywa. Togodla dejmy numerisku IP-adresu wužywaś, aby jogo/ju identificěrowali. Taka IP-adresa dajo se wót wšakich wužywarjow wužywaś. Jolic sy anonymny wužywaŕ a se mysliš, až su se njerelewantne komentary na tebje měrili, [[Special:UserLogin/signup|załož konto]] abo [[Special:UserLogin|pśizjaw se]], aby se w pśichoźe zmuśenje z drugimi anonymnymi wužywarjami wobinuł.''",
 'noarticletext' => 'Dotychměst toś ten bok hyšći njewopśimujo žeden tekst. Móžoš w drugich bokach [[Special:Search/{{PAGENAME}}|titel togo boka pytaś]], <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} wótpowědne protokole pytaś] abo [{{fullurl:{{FULLPAGENAME}}|action=edit}} toś ten bok wobźěłaś]</span>.',
 'noarticletext-nopermission' => 'Tuchylu njejo žeden tekst na toś tom boku.
 Móžoš [[Special:Search/{{PAGENAME}}|toś ten bokowy titel]] na drugich bokach pytaś
 abo <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} wótpowědne protokole pytaś]</span>, ale njamaš pšawo, toś ten bok napóraś.',
-'missing-revision' => 'Wersija #$1 boka z mjenim "{{PAGENAME}}" njeeksistěrujo.
+'missing-revision' => 'Wersija #$1 boka z mjenim "{{FULLPAGENAME}}" njeeksistěrujo.
 
 Pśicyna jo zwětšego zestarjony wótkaz w historiji k bokoju, kótaryž jo se wulašował.
 Drobnostki móžoš w  [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} protokolu wulašowanjow] namakaś.',
@@ -1084,8 +1083,9 @@ Móžoš se toś ten rozdźěl woglědaś; drobnostki glědaj w [{{fullurl:{{#Sp
 'revdelete-no-file' => 'Pódana dataja njeeksistěrujo.',
 'revdelete-show-file-confirm' => 'Coš se napšawdu wulašowanu wersiju dataje "<nowiki>$1</nowiki>" wót $2 $3 woglědaś?',
 'revdelete-show-file-submit' => 'Jo',
-'revdelete-selected' => "'''{{PLURAL:$2|Wuzwólona wersija|Wuzwólonej wersiji|Wuzwólone wersije}} wót [[:$1]].'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Wuzwólony protokolowe tšojenje|Wuzwólonej protokolowe tšojeni|wuzwólone protokolowe tšojenja}}:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Wubrana wersija|Wubranej wersiji|Wubrane wersije}} wót [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Wubrana datajowa wersija|Wubranej datajowej wersiji|Wubrane datajowe wersije}} wót [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|Wuzwólony protokolowe tšojenje|Wuzwólonej protokolowe tšojeni|wuzwólone protokolowe tšojenja}}:',
 'revdelete-text-text' => 'Wulašowane wersije wóstanu hyšći we wersijowej historiji, ale źěle jich wopśimjeśa njebudu pśistupne zjawnosći.',
 'revdelete-text-file' => 'Wulašowane datajowe wersije wóstanu w datajowej historiji, ale źěle jich wopśimjeśa njebudu pśistupne zjawnosći.',
 'logdelete-text' => 'Wulašowane protokolowe zapiski wóstanu hyšći w protokolach, ale źěle jich wopśimjeśa njebudu pśistupne zjawnosći.',
@@ -1940,6 +1940,11 @@ Snaź coš wopisanje na jeje [$2 boku datajowego wopisanja] wobźěłaś.',
 # List redirects
 'listredirects' => 'Lisćina dalejpósrědnjenjow',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Lisćina datajow z duplikatami',
+'listduplicatedfiles-summary' => 'To jo lisćina datajow, źož nejnowša wersija dataje jo duplikat nejnowšeje wersije někakeje drugeje dataje. Jano lokalne dataje se zapśimuju.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] ma [[$3|{{PLURAL:$2|duplikat|$2 duplikata|$2 duplikaty|$2 duplikatow}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Njewužywane pśedłogi',
 'unusedtemplatestext' => 'Toś ten bok nalicujo wšykne boki w mjenjowom rumje {{ns:template}}, kótarež njejsu do žednogo drugego boka zawězane. Pšosym kontrolěruj dalšne wótkaze, nježli až je wulašujoš.',
index bdc2bc8..ad50c61 100644 (file)
@@ -247,7 +247,6 @@ $1',
 'disclaimers' => 'Pogoliman',
 'disclaimerpage' => 'Project:Pogoliman kosoruan',
 'edithelp' => 'Sokodung mongidit',
-'helppage' => 'Help:Susuang',
 'mainpage' => 'Natad tagayo',
 'mainpage-description' => 'Natad tagayo',
 'policy-url' => 'Project:Kooturan',
@@ -635,7 +634,7 @@ Nokowolih toi nopugas kaanto iti maso di intaannu iti bolikon.',
 Kaatalib montok akaun wagu milo do alanan hilo id bolikon ''[[Special:ChangePassword|pangalanan kaatalib]]'' soira do kosuang log.",
 'newarticle' => '(Wagu)',
 'newarticletext' => "Nakatanudko di noputan kumaa di bolikon di awu po nokosuang.
-Momonsoi ko nopo do bolikon diti, timpuun do manaip id kutak siriba (intaai [[{{MediaWiki:Helppage}}|bolikon ponokodung]] montok lobi gumu kointalangan).
+Momonsoi ko nopo do bolikon diti, timpuun do manaip id kutak siriba (intaai [$1 bolikon ponokodung] montok lobi gumu kointalangan).
 Nung nakaansau ko do hiti, tonsoko ot butang '''gumuli''' id pogigihumnu.",
 'anontalkpagetext' => "----''Iti nopo nga bolikon pogibabarasan montok di momomoguno poinlisok it awu poh nokopomonsoi do takaun, toi it awu momoguno dilo.
 Mantad dilo, asansagan yahai do poposurat numbur kinoyonon IP do mongintutun dau.
@@ -813,8 +812,7 @@ Milo ko do montong diti; kointalangan oihum id [{{fullurl:{{#Special:Log}}/suppr
 'revdelete-no-file' => 'Pail pinotontu awu poinsuang.',
 'revdelete-show-file-confirm' => 'Mongintong ko di sinimakan nopugas do pail  "<nowiki>$1</nowiki>" mantad $2 ontok $3?',
 'revdelete-show-file-submit' => 'O',
-'revdelete-selected' => "'''{{PLURAL:$2|Sinimakan pinili|Sinimakan nopili}} id [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Log kinaantakan nopili|Tongolog kinaantakan it nopili}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Log kinaantakan nopili|Tongolog kinaantakan it nopili}}:',
 'revdelete-legend' => 'Uludo pogigihum pangangantob',
 'revdelete-hide-text' => 'Polisoko sinimakan tiik',
 'revdelete-hide-image' => 'Polisoko suang pail',
index 3146f10..414c560 100644 (file)
@@ -270,7 +270,6 @@ $1',
 'disclaimers' => 'އިއުލާނުތައް',
 'disclaimerpage' => 'Project:ޢާއްމު ޢިއުލާނުތައް',
 'edithelp' => 'ބަދަލުތައް ގެނައުމަށް އެހީ އެއް',
-'helppage' => 'Help:ފިހުރިސްތު',
 'mainpage' => 'މައި ޞަފްޙާ',
 'mainpage-description' => 'މައި ޞަފްޙާ',
 'policy-url' => 'Project:ސިޔާސަތު',
@@ -437,7 +436,7 @@ $1',
 * ތިޔަ ވަޑައިގެންނެވި ޞަފްޙާގައި އެއްވެސް ލިޔުމެއް އެކުލެވިފައި ނުވެއެވެ.
 *މި ޞަފްޙާއަށް ތިބޭފުޅާއަށް ވަޑައިގަނެވުނީ އޮޅުމަކުން ކަމަށް ވާނަމަ ކޮމްޕިޔުޓަރުގެ `ވެބް ބްރޯޒަރ` ގެ ''ފަހަތް'' ފިތައް އޮބާލައްވާށެވެ. އޭރުން އެންމެ ފަހުން ހުންނެވި ޞަފްޙާ އަށް ވަޑައިގަނެވޭނެއެވެ.
 * މަޒްމޫނެއް ފެއްޓެވުމަށް ތިރީގައި ވާ ފޮށީގައި ލިޔުއްވުމަށް ފަހު މަޒުމޫނުގެ ނަމޫނާ ބެއްލެވުމަށް ފަހު ކުށެއްވާނަމަ ރަނގަޅު ކުރައްވާފައި ފޮށީގެ ތިރީގައިވާ '''ޞަފްޙާ ރައްކާކުރައްވާ'''އަށް ފިއްތަވާ ލައްވަވާ.
-* އިތުރު އެހީ ބޭނުންފުޅު ނަމަ [[{{MediaWiki:Helppage}}|އެހީ ޞަފްހާއަށް]] ވަޑައިގަންނަވާށެވެ.
+* އިތުރު އެހީ ބޭނުންފުޅު ނަމަ [\$1 އެހީ ޞަފްހާއަށް] ވަޑައިގަންނަވާށެވެ.
 </div>",
 'noarticletext' => 'މި ޞަފްޙާގައި އެއްވެސް ލިޔުމެއް ނުވެއެވެ. ތިޔަބޭފުޅާއަށް މި ނަން [[Special:Search/{{PAGENAME}}|އެހެން ޞަފްޙާއަކުން ހޯއްދެވިދާނެއެވެ]]. ނުވަތަ <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} މިއާ ގުޅޭ ލޮގްތައް ހޯއްދެވިދާނެއެވެ].
 [{{fullurl:{{FULLPAGENAME}}|action=edit}} ނުވަތަ މި ޞަފްޙާއަށް އުނިއިތުރު ގެނެވިދާނެއެވެ].</span>',
index 7b4d80f..8a20709 100644 (file)
@@ -262,7 +262,6 @@ $1',
 'disclaimers' => 'Avertèinsi',
 'disclaimerpage' => 'Project:Avertèinsi generêli',
 'edithelp' => 'Léber dal spiegasiòun',
-'helppage' => 'Help:Tót j argumèint',
 'mainpage' => 'Préma pàgina',
 'mainpage-description' => 'Pàgina principêla',
 'policy-url' => "Project:Léni 'd cundòta",
@@ -451,6 +450,7 @@ Guêrda che soquânti pàgini a prén vèdres incòra cme s'ét fós incòra col
 'gotaccountlink' => 'Và dèinter',
 'userlogin-resetlink' => "T'ét scurdê j elemèint p'r al tó ingrès?",
 'userlogin-resetpassword-link' => "T' ét scurdê la cêva 'd ingrès?",
+'userlogin-helplink2' => "Ajót per l'ingrès",
 'userlogin-loggedin' => "T'ét bèle coleghê {{GENDER:$1|$1}}. 
 Drōva al mōdul ché sòta cme un êter utèint.",
 'userlogin-createanother' => "Fà 'n' êtra utèinsa.",
@@ -558,6 +558,9 @@ La cêva 'd ingrès la pré èser stêda bèle cambiêda, opór n'in pré èser
 'resetpass-abort-generic' => "La mudéfica 'd la cêva 'd ingrès l'é stêda fermêda da un şlungamèint.",
 'resetpass-expired' => "La cêva 'd ingrès l'é scadûda. Mèt dèinter 'na cêva 'd ingrès nōva per fêr l'ingrès.",
 'resetpass-expired-soft' => "La tó cêva 'd ingrès l'é scadûda. T'é perghê ed siēlier 'na nōva o clichêr insém a \"{{int:resetpass-submit-cancel}}\" per turnêrla a mèter dèinter in sègvit.",
+'resetpass-validity-soft' => "La tó cêva 'd ingrès an n'è mìa vâlida:\$1. 
+
+T'é perghê ed siēlier 'na nōva o clichêr insém a \"{{int:resetpass-submit-cancel}}\" per turnêrla a impustêr in sègvit.",
 
 # Special:PasswordReset
 'passwordreset' => "Câmbia la cêva 'd ingrès",
@@ -684,11 +687,11 @@ Per impustêr e cunfermêr l'indirés dervîres dal [[Special:Preferences|prefer
 'accmailtitle' => "Cêva 'd ingrès spidîda.",
 'accmailtext' => "'Na cêva 'd ingrés l'è stêda fâta a chêş per [[User talk:$1|$1]] e l'è stêda spidîda a $2. Cla cêva 'd ingrès ché la pōl èser cambiêda int la pàgina per ''[[Special:ChangePassword|cambiêr la cêva 'd ingrès]]'' subét dôp avèir fât l'ingrès.",
 'newarticle' => '(Nōv)',
-'newarticletext' => "Al colegamèint apèina fât al cumbîna cun 'na pàgina ch' an n'é mìa incòra stêda fâta. S'ét vō fêr la pàgina adès, l'é asê cumincêr a scréver al tèst int la caşèla ché sòt (per vedèr infurmasiòun pió precîşi guêrda la [[{{MediaWiki:Helppage}}|pàgina 'd ajót]]). Se al colegamèint  l'é stê avêrt per erōr, l'é asê clichêr al pulsânt \"Indrē\" dal tó navigadōr.",
+'newarticletext' => "Al colegamèint apèina fât al cumbîna cun 'na pàgina ch' an n'é mìa incòra stêda fâta. S'ét vō fêr la pàgina adès, l'é asê cumincêr a scréver al tèst int la caşèla ché sòt (per vedèr infurmasiòun pió precîşi guêrda la [\$1 pàgina 'd ajót]). Se al colegamèint  l'é stê avêrt per erōr, l'é asê clichêr al pulsânt \"Indrē\" dal tó navigadōr.",
 'anontalkpagetext' => "----'' Còsta l'è la pàgina 'd discusiòun ed 'n utèint sèinsa nòm, ch' an n' à mìa incòra fât 'n' utèinsa o in tót al manēri an n'è mìa drē druvêrla. Per arcgnòsrel l'è dòunca necesâri druvê al só indirés IP. J indirés IP a pōlen èser spartî cun êter utèint. Se t'è un utèint sèinsa nòm e 't pèins che i cumèint in cla pàgina ché an riguêrden mìa tè, [[Special:UserLogin/signup|fa 'n' utèinsa nōva]] o [[Special:UserLogin|vîn dèinter cun còla ch' ét gh'ê bèle]] per schivşêr, in futûr,  'd èser cunfûş cun 'd j êter utèint sèinsa nòm.''",
 'noarticletext' => 'In cól mumèint ché la pàgina serchêda l\'é vōda. L\'é pusébil [[Special:Search/{{PAGENAME}}|serchêr sté tétol]] int al j êtri pàgini dal sît, <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} serchêr int i regéster coleghê] opór  [{{fullurl:{{FULLPAGENAME}}|action=edit}} mudifichêr la pàgina adèsa]</span>.',
 'noarticletext-nopermission' => "In cól mumèint ché la pàgina serchêda l'é vōda. L'é pusébil [[Special:Search/{{PAGENAME}}|serchêr sté tétol]] int al j êtri pàgini dal sît o<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} serchêr int i regéster coleghê] <span>, mó an 't gh'ê mìa al permès ed fêr cla pàgina ché.",
-'missing-revision' => "La revişiòun #\$1 'd la pagina \"{{PAGENAME}}\" l' an gh'è mìa. Còst, ed sôlit, a sucēd mèint'r as va drē a 'n colegamèint a 'na pàgina scanşlêda, in 'na stòria, di lavōr fât, mìa arnuvêda. I particulêr a 's pōlen catêr int al [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} regéster dal scanşladûri].",
+'missing-revision' => "La revişiòun #\$1 'd la pagina \"{{FULLPAGENAME}}\" l' an gh'è mìa. Còst, ed sôlit, a sucēd mèint'r as va drē a 'n colegamèint a 'na pàgina scanşlêda, in 'na stòria, di lavōr fât, mìa arnuvêda. I particulêr a 's pōlen catêr int al [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} regéster dal scanşladûri].",
 'userpage-userdoesnotexist' => 'L\'inscrisiòun "<nowiki>$1</nowiki>" la cumbîna mìa cun \'n utèint registrê. Ét sicûr ed vrèir fêr o mudifichêr cla pàgina ché.',
 'userpage-userdoesnotexist-view' => 'L\'utèin "$1" an n\'à mìa fât l\'inscrisiòun.',
 'blocked-notice-logextract' => "Cl'utèint ché adèsa l'é bluchê. 
@@ -734,10 +737,28 @@ S'es pèinsa ed salvêrla, tót i cambiamèint fât dōp cla mudéfica ché andr
 'copyrightwarning' => "Per piaşèir tîn cûnt che tót al colaborasiòun a {{SITENAME}} a vînen cunsidrêdi publichêdi sòta la licèinsa $2 (per i particulêr guêrda $1). S' an 't vō mìa che i tō tèst a pôsen èser cambiê e turnê a publichêr da tót sèinsa lémit, an publichêri mìa ché.<br /> In pió, se 't  i póblich ché, a 't dichiâr, sòta la tó responsabilitê, che còl ch' è stê scrét a 't l'ê scrét té personalmèint opór l'é ste cupiê da documèint sèinsa ch' al sìa quacê da nisûn dirét 'd autōr. <strong> Ché insém an pubblichêr mìa materiêl quacê da dirét 'd autōr sèinsa autorişâsiòun! </strong>",
 'copyrightwarning2' => "Per piaşèir tîn cûnt che tót al colaborasiòun a {{SITENAME}} a pōlen èser mudifichê, arversê o scanşlê da êtra gînta cla dà 'na mân. S' an 't vō mìa che i tō tèst a pôsen èser cambiê alōra an publichêri mìa ché.<br />In pió, se 't  i póblich ché, a 't dichiâr, sòta la tó responsabilitê, che còl ch' è stê scrét a 't l'ê scrét té personalmèint opór l'é ste cupiê da documèint sèinsa ch' al sìa quacê da nisûn dirét 'd autōr (per i particulêr guêrda $1). <strong> Ché insém an pubblichêr mìa materiêl quacê da dirét 'd autōr sèinsa autorişâsiòun! </strong>",
 'longpageerror' => "<strong> Erōr: al tèst spidî l'é lòngh {{PLURAL:$1|1|$1}} kilobyte, ch'l'é pió grôs ed l'amzûra mâsima permésa ({{PLURAL:$2|1|$2}} kilobyte). </strong> Al tèst al pôl mìa èser salvê.",
+'readonlywarning' => "<strong>Atensiòun: al databêş l'é stê bluchê per justadûri e dòunca l'é impusébil salvê al mudéfichi in cól mumèint ché.</strong> P'r an pêrdi mìa, l'é pusébil cupiêri còl ch' é stê més dèinter fîn a dès int la caşèla di cambiamèint, incolêrel in un prugrâma tèst e salvêrel per spetêr al şblôch dal databêş. 
+
+L'aministradōr ch' l'à bluchê al databêş l'à dê cla spiegasiòun ché: $1",
+'protectedpagewarning' => "<strong> Atensiòun: cla pàgina ché l'é stêda bluchêda in môd che sōl j utèint cun i privilèg 'd aministradōr a pôsen cambiêrla.</strong> 
+Per infurmasiòun ché 'd sègvit a vîn scrét l'ûltem elemèint dal regéster:",
+'semiprotectedpagewarning' => "<strong>Nôta:</strong> cla pàgina ché l'é stêda bluchê in môd che sōl j utèint registrê a pôsen cambiêrla. 
+Per infurmasiòun ché 'd sègvit è scrét l'ûltem elemèint dal regéster.",
+'cascadeprotectedwarning' => "<strong> Atensiòun: </strong>cla pàgina ché l'é stêda bluchêda in môd che sōl j utèint cun i privilèg 'd aministradō a pôsen cambiêrla. Còst a sucēd perchè la pàgina l'é dèinter in cl'elèinch sòta protesiòun ché 'd sègvit {{PLURAL:$1|pàgina|pàgini}}",
+'titleprotectedwarning' => "<strong> Atensiòun: cla pàgina ché l'é stêda bluchêda in môd che, per fêrla, sién necesâri [[Special:ListGroupRights|dirét specêl]] </strong> 
+Per infurmasiòun ché 'd sègvit è scrét l'ûltem elemèint dal regéster.",
 'templatesused' => '{{PLURAL:$1|Mudèl druvê|Mudē druvê}} in cla pàgina ché:',
+'templatesusedpreview' => "{{PLURAL:$1|Mudèl druvê|Mudē druvê}} in cla pàgina 'd contròl ché:",
+'templatesusedsection' => '{{PLURAL:$1|Mudèl druvê|Mudē druvê}} in cla sesiòun ché:',
 'template-protected' => '(prutèt)',
 'template-semiprotected' => '(mèz-prutèt)',
 'hiddencategories' => "Cla pàgina ché l' é 'd {{PLURAL:$1|'na categoréia lughêda|$1 categoréi lughêdi}}:",
+'nocreatetext' => "La pusibilitê ed fêr dal pàgini nōvi insém a {{SITENAME}} l'é stêda limitêda a sōl j utèint registrê. L'é pusébil turnê indrē e mudifichêr 'na pògina ch la gh'é bèle,opór [[Special:UserLogin|andêr dèinter o registrêres]].",
+'nocreate-loggedin' => "An 's gh'à mìa i permès necesâri per fêr dal pàgini nōvi.",
+'sectioneditnotsupported-title' => 'Mudéfica dal sesiòun mìa sustgnûda.',
+'sectioneditnotsupported-text' => 'Mudéfica dal sesiòun mìa sustgnûda in cla pàgina ché.',
+'permissionserrors' => 'I permès în mìa asê',
+'permissionserrorstext' => "An 's gh'à mìa i permès necesâri per fêr còl ch'es pèinsa ed fêr per{{PLURAL:$1|cól mutîv ché|chi mutîv ché}}:",
 'permissionserrorstext-withaction' => "An 's gh'à mìa i permès necesâri per $2, per{{PLURAL:$1|cól mutîv ché|chi mutîv ché}}:",
 'recreate-moveddeleted-warn' => "'''Atensiòun: a s'é drē serchêr ed fêr 'na pàgina bèle scanşlêda tèimp fa'''. 
 
@@ -745,9 +766,30 @@ Asicurêres che sìa dabòun necesâri cuntinvêr a mudifichêr cla pàgina ché
 Per cumditê còst l'é l'èlèinch dal scanşladûri e di spustamèint relatîv a la pàgina.",
 'moveddeleted-notice' => "Cla pàgina ché l'é stêda scanşlêda. Per infurmasiòun  còst l'é l'èlèinch relatîv dal scanşladûri e di spustemèint fât.",
 'log-fulllog' => 'Guêrda la stòria dal registrasiòun',
+'edit-hook-aborted' => "La mudéfica l'é stêda scanşlêda da l' hook.
+An n'é mìa stê dê nisóna spiegasiòun.",
+'edit-gone-missing' => "Impusébil arnuvêr la pàgina. 
+A sèmbra ch'la sìa stêda scanşlêda.",
 'edit-conflict' => "Cuntrâst 'd edisiòun",
+'edit-no-change' => "La mudéfica an n'é mìa stêda cunsidrêda perchè an n'é mìa stê fât di cambiamèint al tèst.",
+'postedit-confirmation' => "La mudéfica l'é stêda salvêda.",
+'edit-already-exists' => "L'é impusébil fêr 'na pàgina nōva.
+La ghé bèle.",
+'defaultmessagetext' => 'Tèst pre-stabilî',
+'content-failed-to-parse' => "L'é impusébil cunsidrêr $2 p'r al mudèl $1:$3",
+'invalid-content-data' => 'Al j infurmasiòn ché dèinter în mìa vâlidi.',
+'content-not-allowed-here' => 'Còl che gh\'é dèinter a"$1" an n\'é mìa permés int al pàgini [[$2]]',
+'editwarning-warning' => "Bandunêr cla pàgina ché a 's pré pêrder tóti 'l mudéfichi fâti. Se t'é fât l'ingrès, ét pō bluchêr cl' avîş ché int la sesiòun \"{{int:prefs-editing}}\" dal tō preferèinsi.",
+'editpage-notsupportedcontentformat-title' => "Cla fōrma ché an n'é mìa sostgnûda.",
+'editpage-notsupportedcontentformat-text' => 'La fōrma dal scrét in $1 la rispèta mìa al mudèl scrét in $2.',
+
+# Content models
+'content-model-wikitext' => 'wikitèst',
+'content-model-text' => 'tèst normêl',
 
 # Parser/template warnings
+'expensive-parserfunction-warning' => "'''Atensiòun:''' cla pàgina ché la gh'à trôpi ciamêdi ala funsiòun parse. A n' in duvré avèir mēno 'd $2, adèsa a {{PLURAL:$1|'gh n'é $1}}.",
+'expensive-parserfunction-category' => 'Pàgini cun trôpi ciamêdi a la funsiòun parser.',
 'post-expand-template-inclusion-warning' => "'''Atensiòun:''' la grandèsa di mudē més dèinter l'é trôp grôsa. Soquânt mudē gnirâ mìa més dèinter.",
 'post-expand-template-inclusion-category' => "Pàgini in dó la grandèsa di mudē més dèinter la và d'ed sōver dal lémit permés.",
 'post-expand-template-argument-warning' => "'''Atensiòun:''' cla pàgina ché la gh'à ûn o pió argumèint ed mudē trôp grôs per èser şlarghê. Chi argomèint ché a gnirân saltê.",
index 95a057a..9bbdc11 100644 (file)
@@ -619,7 +619,6 @@ $1',
 'disclaimers' => 'Αποποίηση ευθυνών',
 'disclaimerpage' => 'Project:Γενική αποποίηση',
 'edithelp' => 'Βοήθεια σχετικά με την επεξεργασία',
-'helppage' => 'Help:Περιεχόμενα',
 'mainpage' => 'Αρχική σελίδα',
 'mainpage-description' => 'Αρχική σελίδα',
 'policy-url' => 'Project:Πολιτική',
@@ -1068,7 +1067,7 @@ $2
 Μπορεί να αλλαχθεί από την σελίδα ''[[Special:ChangePassword|αλλαγή κωδικού]]'' μετά τη σύνδεση.",
 'newarticle' => '(Νέο)',
 'newarticletext' => "Ακολουθήσατε ένα σύνδεσμο προς μια σελίδα που δεν υπάρχει ακόμα. 
-Για να δημιουργήσετε τη σελίδα, αρχίστε να πληκτρολογείτε στο παρακάτω πλαίσιο (δείτε τη [[{{MediaWiki:Helppage}}|σελίδα βοήθειας]] για περισσότερες πληροφορίες).
+Για να δημιουργήσετε τη σελίδα, αρχίστε να πληκτρολογείτε στο παρακάτω πλαίσιο (δείτε τη [$1 σελίδα βοήθειας] για περισσότερες πληροφορίες).
 Αν έχετε βρεθεί εδώ κατά λάθος, πατήστε το κουμπί '''πίσω''' στον περιηγητή σας.",
 'anontalkpagetext' => "----''Αυτή η σελίδα συζήτησης προορίζεται για ανώνυμο χρήστη που δεν έχει δημιουργήσει ακόμα λογαριασμό ή που δεν τον χρησιμοποιεί. Έτσι για την ταυτοποίηση ενός ανώνυμου χρήστη χρησιμοποιείται η διεύθυνση IP του. Είναι όμως πιθανόν η διεύθυνση αυτή να είναι κοινή για πολλούς διαφορετικούς χρήστες.  Αν είστε ανώνυμος χρήστης και νομίζετε ότι άσχετα σχόλια απευθύνθηκαν σε σας, παρακαλούμε να [[Special:UserLogin/signup|δημιουργήσετε ένα λογαριασμό]] ή να  [[Special:UserLogin|συνδεθείτε]] για να αποφεύγεται η μελλοντική σύγχυση με άλλους ανώνυμους χρήστες.''",
 'noarticletext' => 'Δεν υπάρχει προς το παρόν κείμενο σε αυτή τη σελίδα. Μπορείτε να [[Special:Search/{{PAGENAME}}|αναζητήσετε αυτόν τον τίτλο σελίδας]] σε άλλες σελίδες,
@@ -1076,7 +1075,7 @@ $2
 ή να [{{fullurl:{{FULLPAGENAME}}|action=edit}} επεξεργαστείτε τη σελίδα αυτή]</span>.',
 'noarticletext-nopermission' => 'Δεν υπάρχει κείμενο σε αυτή τη σελίδα αυτή τη στιγμή.
 Μπορείτε να [[Special:Search/{{PAGENAME}}|αναζητήσετε αυτόν τον τίτλο σελίδας]] σε άλλες σελίδες, ή <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} να ψάξετε στις σχετικές καταγραφές]</span>, αλλά δεν έχετε την άδεια να δημιουργήσετε αυτή τη σελίδα.',
-'missing-revision' => 'Δεν υπάρχει αναθεώρηση με αριθμό $1 για τη σελίδα με όνομα «{{PAGENAME}}».
+'missing-revision' => 'Δεν υπάρχει αναθεώρηση με αριθμό $1 για τη σελίδα με όνομα «{{FULLPAGENAME}}».
 
 Αυτό συνήθως προκαλείται από παλιό σύνδεσμο ιστορικού προς σελίδα που έχει διαγραφεί.
 Λεπτομέρειες θα βρείτε στο [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} ημερολόγιο καταγραφής διαγραφών].',
@@ -1305,8 +1304,7 @@ Mπορείτε να δείτε αυτή την διαφορά. Λεπτομέρ
 'revdelete-no-file' => 'Το αρχείο που καθορίσατε δεν υπάρχει.',
 'revdelete-show-file-confirm' => 'Είστε σίγουροι ότι θέλετε να δείτε μία διεγραμμένη αναθεώρηση του αρχείου "<nowiki>$1</nowiki>" από τις $2 στις $3;',
 'revdelete-show-file-submit' => 'Ναι',
-'revdelete-selected' => "'''{{PLURAL:$2|Επιλεγμένη έκδοση|Επιλεγμένες εκδόσεις}} της [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Επιλεγμένο γεγονός αρχείου καταγραφής|Επιλεγμένα γεγονότα αρχείου καταγραφής}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Επιλεγμένο γεγονός αρχείου καταγραφής|Επιλεγμένα γεγονότα αρχείου καταγραφής}}:',
 'revdelete-confirm' => 'Παρακαλούμε επιβεβαιώστε ότι σκοπεύετε να το κάνετε αυτό, ότι αντιλαμβάνεσθε τις συνέπειες, και ότι το κάνετε σύμφωνα με την [[{{MediaWiki:Policy-url}}|πολιτική]].',
 'revdelete-suppress-text' => 'Η καταστολή μπορεί να χρησιμοποιηθεί <strong> μόνο </strong> για τις ακόλουθες περιπτώσεις:
 * Ενδεχόμενη συκοφαντική δυσφήμιση
@@ -2206,8 +2204,8 @@ $1',
 'nmembers' => '$1 {{PLURAL:$1|μέλος|μέλη}}',
 'nrevisions' => '$1 {{PLURAL:$1|αναθεώρηση|αναθεωρήσεις}}',
 'nviews' => '$1 {{PLURAL:$1|επίσκεψη|επισκέψεις}}',
-'nimagelinks' => 'Χρησιμοποιείται στο  $1 {{PLURAL:$1|page|pages}}',
-'ntransclusions' => 'χρησιμοποιείται στο $1 {{PLURAL:$1|page|pages}}',
+'nimagelinks' => 'Χρησιμοποιείται σε $1 {{PLURAL:$1|σελίδα|σελίδες}}',
+'ntransclusions' => 'χρησιμοποιείται σε $1 {{PLURAL:$1|σελίδα|σελίδες}}',
 'specialpage-empty' => 'Αυτή η σελίδα είναι κενή.',
 'lonelypages' => 'Ορφανές σελίδες',
 'lonelypagestext' => 'Οι ακόλουθες σελίδες δεν συνδέονται με ή δεν υπερκλείονται σε άλλες σελίδες στο {{SITENAME}}.',
@@ -2545,8 +2543,8 @@ $UNWATCHURL
 
 # Protect
 'protectlogpage' => 'Αρχείο καταγραφών προστασίας',
-'protectlogtext' => 'Παρακάτω είναι μια λίστα των αλλαγών που έγιναν στις ρυθμίσεις προστασίας της σελίδας
-ΡίξÏ\84ε Î¼Î¹Î± Î¼Î±Ï\84ιά Ï\83Ï\84ο [[Special:ProtectedPages|protected pages list]] Î³Î¹Î± Î¼Î¹Î± Î»Î¯Ï\83Ï\84α Ï\84Ï\89ν Ï\80αÏ\81Ï\8cνÏ\84Ï\89ν Ï\81Ï\85θμίÏ\83εÏ\89ν Ï\80Ï\81οÏ\83Ï\84αÏ\83ίαÏ\82 Ï\84ηÏ\82 Î»ÎµÎ¹Ï\84οÏ\85Ï\81γικήÏ\82 Ï\83ελίδαÏ\82.',
+'protectlogtext' => 'Παρακάτω είναι μια λίστα αλλαγών που έγιναν στις ρυθμίσεις προστασίας.
+ΡίξÏ\84ε Î¼Î¹Î± Î¼Î±Ï\84ιά Ï\83Ï\84η [[Special:ProtectedPages|λίÏ\83Ï\84α Ï\80Ï\81οÏ\83Ï\84αÏ\84εÏ\85μένÏ\89ν Ï\83ελίδÏ\89ν]] Î³Î¹Î± Î­Î½Î± ÎºÎ±Ï\84άλογο Ï\84Ï\89ν Ï\84Ï\81εÏ\87οÏ\85Ï\83Ï\8eν Ï\81Ï\85θμίÏ\83εÏ\89ν Ï\80Ï\81οÏ\83Ï\84αÏ\83ίαÏ\82 Ï\83ελίδÏ\89ν.',
 'protectedarticle' => 'προστάτευσε τη σελίδα «[[$1]]»',
 'modifiedarticleprotection' => 'αλλαγή επιπέδου προστασίας για "[[$1]]"',
 'unprotectedarticle' => 'αφαίρεση προστασίας από"[[$1]]"',
index 222333b..57beb93 100644 (file)
@@ -423,6 +423,7 @@ $specialPageAliases = array(
        'Listfiles'                 => array( 'ListFiles', 'FileList', 'ImageList' ),
        'Listgrouprights'           => array( 'ListGroupRights', 'UserGroupRights' ),
        'Listredirects'             => array( 'ListRedirects' ),
+       'ListDuplicatedFiles'       => array( 'ListDuplicatedFiles', 'ListFileDuplicates' ),
        'Listusers'                 => array( 'ListUsers', 'UserList' ),
        'Lockdb'                    => array( 'LockDB' ),
        'Log'                       => array( 'Log', 'Logs' ),
@@ -466,6 +467,7 @@ $specialPageAliases = array(
        'Specialpages'              => array( 'SpecialPages' ),
        'Statistics'                => array( 'Statistics' ),
        'Tags'                      => array( 'Tags' ),
+       'TrackingCategories'        => array( 'TrackingCategories' ),
        'Unblock'                   => array( 'Unblock' ),
        'Uncategorizedcategories'   => array( 'UncategorizedCategories' ),
        'Uncategorizedimages'       => array( 'UncategorizedFiles', 'UncategorizedImages' ),
@@ -1463,7 +1465,7 @@ or [{{fullurl:{{FULLPAGENAME}}|action=edit}} edit this page]</span>.',
 'noarticletext-nopermission'               => 'There is currently no text in this page.
 You can [[Special:Search/{{PAGENAME}}|search for this page title]] in other pages, or <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} search the related logs]</span>, but you do not have permission to create this page.',
 'noarticletextanon'                        => '{{int:noarticletext}}', # do not translate or duplicate this message to other languages
-'missing-revision'                         => 'The revision #$1 of the page named "{{PAGENAME}}" does not exist.
+'missing-revision'                         => 'The revision #$1 of the page named "{{FULLPAGENAME}}" does not exist.
 
 This is usually caused by following an outdated history link to a page that has been deleted.
 Details can be found in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].',
@@ -1713,8 +1715,9 @@ function, the specified revision does not exist, or you are attempting to hide t
 'revdelete-no-file'           => 'The file specified does not exist.',
 'revdelete-show-file-confirm' => 'Are you sure you want to view a deleted revision of the file "<nowiki>$1</nowiki>" from $2 at $3?',
 'revdelete-show-file-submit'  => 'Yes',
-'revdelete-selected'          => '<strong>{{PLURAL:$2|Selected revision|Selected revisions}} of [[:$1]]:</strong>',
-'logdelete-selected'          => '<strong>{{PLURAL:$1|Selected log event|Selected log events}}:</strong>',
+'revdelete-selected-text'     => '{{PLURAL:$1|Selected revision|Selected revisions}} of [[:$2]]:',
+'revdelete-selected-file'     => '{{PLURAL:$1|Selected file version|Selected file versions}} of [[:$2]]:',
+'logdelete-selected'          => '{{PLURAL:$1|Selected log event|Selected log events}}:',
 'revdelete-text-text'         => 'Deleted revisions will still appear in the page history, but parts of their content will be inaccessible to the public.',
 'revdelete-text-file'         => 'Deleted file versions will still appear in the file history, but parts of their content will be inaccessible to the public.',
 'logdelete-text'              => 'Deleted log events will still appear in the logs, but parts of their content will be inaccessible to the public.',
@@ -2641,6 +2644,10 @@ Input: contenttype/subtype, e.g. <code>image/jpeg</code>.',
 'listredirects'         => 'List of redirects',
 'listredirects-summary' => '', # do not translate or duplicate this message to other languages
 
+'listduplicatedfiles' => 'List of files with duplicates',
+'listduplicatedfiles-summary' => 'This is a list of files where the most recent version of the file is a duplicate of the most recent version of some other file. Only local files are considered.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] has [[$3|{{PLURAL:$2|a duplicate|$2 duplicates}}]].',
+
 # Unused templates
 'unusedtemplates'         => 'Unused templates',
 'unusedtemplates-summary' => '', # do not translate or duplicate this message to other languages
@@ -2941,6 +2948,22 @@ There may be [[{{MediaWiki:Listgrouprights-helppage}}|additional information]] a
 'listgrouprights-addgroup-self-all'    => 'Add all groups to own account',
 'listgrouprights-removegroup-self-all' => 'Remove all groups from own account',
 
+# Tracking categories page
+'trackingcategories'                           => 'Tracking categories',
+'trackingcategories-summary'                   => 'This page lists tracking categories which are automatically populated by the MediaWiki software. Their names can be changed by altering the relevant system messages in the {{ns:8}} namespace.',
+'trackingcategories-msg'                       => 'Tracking Category',
+'trackingcategories-name'                      => 'Message name',
+'trackingcategories-desc'                      => 'Category inclusion criteria',
+'noindex-category-desc'                        => 'The page has a <nowiki>__NOINDEX__</nowiki> magic word on it (and is in a namespace where that flag is allowed), and hence is not indexed by robots.',
+'index-category-desc'                          => 'The page has a <nowiki>__INDEX__</nowiki> on it (and is in a namespace where that flag is allowed), and hence is indexed by robots where it normally wouldn\'t be.',
+'post-expand-template-inclusion-category-desc' => 'After expanding all the templates, the page size is bigger than $wgMaxArticleSize, so some templates weren\'t expanded.',
+'post-expand-template-argument-category-desc'  => 'After expanding a template argument (something in triple braces, like {{{Foo}}}), the page is bigger than $wgMaxArticleSize.',
+'expensive-parserfunction-category-desc'       => 'Too many expensive parser functions (like #ifexists) included on a page. See [https://www.mediawiki.org/wiki/Manual:$wgExpensiveParserFunctionLimit Manual:$wgExpensiveParserFunctionLimit].',
+'broken-file-category-desc'                    => 'Category added if the page contains a broken file link (a link to embed a file when the file does not exist).',
+'hidden-category-category-desc'                => 'This is a category with <nowiki>__HIDDENCAT__</nowiki> on it, which prevents it from showing up in the category links box on pages, by default.',
+'trackingcategories-nodesc'                    => 'No description available.',
+'trackingcategories-disabled'                  => 'Category is disabled',
+
 # Email user
 'mailnologin'              => 'No send address',
 'mailnologintext'          => 'You must be [[Special:UserLogin|logged in]] and have a valid email address in your [[Special:Preferences|preferences]] to send email to other users.',
index e6f31a9..8d34091 100644 (file)
@@ -572,7 +572,6 @@ $1',
 'disclaimers' => 'Malgarantio',
 'disclaimerpage' => 'Project:Malgarantia paĝo',
 'edithelp' => 'Helpo pri redaktado',
-'helppage' => 'Help:Enhavo',
 'mainpage' => 'Ĉefpaĝo',
 'mainpage-description' => 'Ĉefpaĝo',
 'policy-url' => 'Project:Regularo',
@@ -1037,7 +1036,7 @@ Bonvolu inkluzivi tiujn detalojn en iuj ajn demandoj kiun vi farus.',
 
 La pasvorto por ĉi tiu nova konto povas esti ŝanĝita en la paĝo ''[[Special:ChangePassword|ŝanĝi pasvorton]]'' dum ensalutado.",
 'newarticle' => '(Nova)',
-'newarticletext' => 'Vi sekvis ligilon al paĝo ankoraŭ ne ekzistanta. Se vi volas krei ĝin, ektajpu malsupre (vidu la [[{{MediaWiki:Helppage}}|helpopaĝon]] por klarigoj.) Se vi malintence alvenis ĉi tien, simple alklaku la retrobutonon de via retumilo.',
+'newarticletext' => 'Vi sekvis ligilon al paĝo ankoraŭ ne ekzistanta. Se vi volas krei ĝin, ektajpu malsupre (vidu la [$1 helpopaĝon] por klarigoj.) Se vi malintence alvenis ĉi tien, simple alklaku la retrobutonon de via retumilo.',
 'anontalkpagetext' => "---- ''Jen diskutopaĝo por anonima kontribuanto kiu ne jam kreis konton aŭ ne uzas ĝin.
 Ni tial devas uzi la cifran IP-adreson por identigi lin/ŝin.
 Ĉi tia IP-adreso povas esti uzata de pluraj uzantoj.
@@ -1049,7 +1048,7 @@ aŭ [{{fullurl:{{FULLPAGENAME}}|action=edit}} redakti ĉi tiun paĝon]</span>.',
 'noarticletext-nopermission' => 'Estas neniom da teksto en ĉi tiu paĝo.
 Vi povas [[Special:Search/{{PAGENAME}}|serĉi ĉi tiun paĝan titolon]] en aliaj paĝoj,
 aŭ <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} serĉi la rilatajn protokolojn]</span>, sed vi ne rajtas krei ĉi tiun paĝon.',
-'missing-revision' => 'La revizio n-ro $1 de la paĝo nomata "{{PAGENAME}}" ne ekzistas.
+'missing-revision' => 'La revizio n-ro $1 de la paĝo nomata "{{FULLPAGENAME}}" ne ekzistas.
 
 Tio kutime estas kaŭzata per sekvado de malaktuala historio-ligilo al paĝo forigita.
 Detaloj troveblos en la [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de forigoj].',
@@ -1276,8 +1275,7 @@ funkcion, la specifita versio ne ekzistas, aŭ vi estas provanta kaŝi la nunan
 'revdelete-no-file' => 'La specifita dosiero ne ekzistas.',
 'revdelete-show-file-confirm' => 'Ĉu vi certas ke vi volas vidi forigitan revizion de la dosiero "<nowiki>$1</nowiki>" de $2, $3?',
 'revdelete-show-file-submit' => 'Jes',
-'revdelete-selected' => "'''{{PLURAL:$2|Selektata versio|Selektataj versioj}} de [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Selektata protokola evento|Selektataj protokolaj eventoj}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Selektata protokola evento|Selektataj protokolaj eventoj}}:',
 'revdelete-confirm' => 'Bonvolu konfirmi ke vi intencias fari ĉi tion, ke vi komprenas la konsekvencojn kaj ke vi faras ĉi tion laŭ [[{{MediaWiki:Policy-url}}|la regularo]].',
 'revdelete-suppress-text' => "Subpremo '''nur''' estu uzata por la jenaj kazoj:
 * Ebla kalumnia informo
index 6bb54c5..ee8e2df 100644 (file)
@@ -635,7 +635,6 @@ $1',
 'disclaimers' => 'Aviso legal',
 'disclaimerpage' => 'Project:Limitación general de responsabilidad',
 'edithelp' => 'Ayuda de edición',
-'helppage' => 'Help:Contenido',
 'mainpage' => 'Página principal',
 'mainpage-description' => 'Página principal',
 'policy-url' => 'Project:Políticas',
@@ -1111,7 +1110,7 @@ Quizá ha sido movida o borrada mientras visitabas la página.',
 La contraseña para esta nueva cuenta puede cambiarse en [[Special:ChangePassword|la página destinada para ello]] después de haber iniciado sesión.',
 'newarticle' => '(Nuevo)',
 'newarticletext' => 'Has seguido un enlace a una página que aún no existe.
-Para crear esta página, escribe en el campo a continuación. Para más información, consulta la [[{{MediaWiki:Helppage}}|página de ayuda]].
+Para crear esta página, escribe en el campo a continuación. Para más información, consulta la [$1 página de ayuda].
 Si llegaste aquí por error, vuelve a la página anterior.',
 'anontalkpagetext' => "---- ''Esta es la página de discusión de un usuario anónimo que aún no ha creado una cuenta, o no la usa. Por lo tanto, tenemos que usar su dirección IP para identificarlo. Una dirección IP puede ser compartida por varios usuarios. Si eres un usuario anónimo y crees que se han dirigido a ti con comentarios improcedentes, por favor [[Special:UserLogin/signup|crea una cuenta]] o si ya la tienes [[Special:UserLogin|identifícate]] para evitar confusiones futuras con otros usuarios anónimos.''",
 'noarticletext' => 'En este momento no hay texto en esta página.
@@ -1120,7 +1119,7 @@ Puedes [[Special:Search/{{PAGENAME}}|buscar el título de esta página]] en otra
 o [{{fullurl:{{FULLPAGENAME}}|action=edit}} editar esta página]</span>.',
 'noarticletext-nopermission' => 'Actualmente no hay texto en esta página.
 Puedes [[Special:Search/{{PAGENAME}}|buscar este título de página]] en otras páginas, o <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} buscar en los registros relacionados]</span>, pero no tienes permiso para crear esta página.',
-'missing-revision' => 'La revisión n.º $1 de la página llamada «{{PAGENAME}}» no existe.
+'missing-revision' => 'La revisión n.º $1 de la página llamada «{{FULLPAGENAME}}» no existe.
 
 Normalmente esto ocurre cuando se sigue un enlace de historial obsoleto que apunta a una página ya borrada.
 Puedes encontrar detalles en el [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de borrados].',
@@ -1351,8 +1350,7 @@ Aún tiene la posibilidad de verla; puede ampliar los detalles en el [{{fullurl:
 'revdelete-no-file' => 'El archivo especificado no existe.',
 'revdelete-show-file-confirm' => '¿Quieres ver la revisión borrada del archivo «<nowiki>$1</nowiki>» del $2 a las $3?',
 'revdelete-show-file-submit' => 'Sí',
-'revdelete-selected' => "'''{{PLURAL:$2|Revisión seleccionada|Revisiones seleccionadas}} de [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Seleccionado un evento|Seleccionados eventos}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Seleccionado un evento|Seleccionados eventos}}:',
 'revdelete-text-text' => 'Las revisiones eliminadas aún aparecerán en el historial de la página, pero parte de su contenido será inaccesible para el público.',
 'revdelete-text-file' => 'Las versiones de los archivos eliminados aún aparecerán en el historial del archivo, pero partes de su contenido serán inaccesibles para el público.',
 'logdelete-text' => 'Las revisiones eliminadas aún aparecerán en el historial de la página, pero parte de su contenido será inaccesible para el público.',
@@ -1442,7 +1440,7 @@ Nota que usar los enlaces de navegación borrará las selecciones de esta column
 'mergelogpagetext' => 'Debajo está una lista de las fusiones más recientes de historial de una página en otra.',
 
 # Diffs
-'history-title' => 'Historial de revisiones para «$1»',
+'history-title' => 'Historial de revisiones de «$1»',
 'difference-title' => 'Diferencia entre revisiones de «$1»',
 'difference-title-multipage' => 'Diferencia entre las páginas «$1» y «$2»',
 'difference-multipage' => '(Diferencia entre las páginas)',
@@ -1848,7 +1846,7 @@ Tu dirección de correo no se revela cuando otros usuarios te contactan.',
 'rc_categories' => 'Limitar a las categorías (separadas por «|»)',
 'rc_categories_any' => 'Cualquiera',
 'rc-change-size-new' => '$1 {{PLURAL:$1|byte|bytes}} después del cambio',
-'newsectionsummary' => 'Nueva sección: /* $1 */',
+'newsectionsummary' => 'Sección nueva: /* $1 */',
 'rc-enhanced-expand' => 'Mostrar detalles',
 'rc-enhanced-hide' => 'Ocultar detalles',
 'rc-old-title' => 'originalmente creado como "$1"',
index 25d4572..3d73619 100644 (file)
@@ -552,7 +552,6 @@ $1',
 'disclaimers' => 'Hoiatused',
 'disclaimerpage' => 'Project:Hoiatused',
 'edithelp' => 'Redigeerimisjuhend',
-'helppage' => 'Help:Sisukord',
 'mainpage' => 'Esileht',
 'mainpage-description' => 'Esileht',
 'policy-url' => 'Project:Reeglid',
@@ -751,6 +750,7 @@ Pane tähele, et seni kuni sa pole oma võrgulehitseja puhvrit tühjendanud, võ
 '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}}.
 Kasuta allolevat vormi, et logida sisse teise kasutajaga.',
 'userlogin-createanother' => 'Loo teine konto',
@@ -838,6 +838,7 @@ Palun oota $1, enne kui uuesti proovid.',
 'createacct-another-realname-tip' => 'Tegelik nimi on valikuline.
 Kui otsustad selle sisestada, kasutatakse seda kasutaja töö temale omistamiseks.',
 'pt-login' => 'Logi sisse',
+'pt-login-button' => 'Logi sisse',
 'pt-createaccount' => 'Loo konto',
 'pt-userlogout' => 'Logi välja',
 
@@ -872,6 +873,9 @@ Et sisselogimine lõpule viia, pead määrama siin uue parooli:',
 'resetpass-abort-generic' => 'Tarkvaralisa on paroolimuudatuse abortinud.',
 'resetpass-expired' => 'Sinu parool on iganenud. Palun määra uus parool, et sisse logida.',
 'resetpass-expired-soft' => 'Sinu parool on iganenud ja tuleb uuesti määrata. Palun vali kohe uus parool või klõpsa "{{int:resetpass-submit-cancel}}", et määrata see hiljem.',
+'resetpass-validity-soft' => 'Sinu parool ei sobi: $1
+
+Palun vali kohe uus parool või klõpsa "{{int:resetpass-submit-cancel}}", et see hiljem uuesti määrata.',
 
 # Special:PasswordReset
 'passwordreset' => 'Parooli lähtestamine',
@@ -1016,7 +1020,7 @@ Võimalik, et see teisaldati või kustutati, sellal kui lehekülge vaatasid.',
 Seda saab pärast sisselogimist muuta ''[[Special:ChangePassword|parooli muutmise]]'' leheküljel.",
 'newarticle' => '(Uus)',
 'newarticletext' => "Lehekülge, kuhu link sind suunas, pole veel.
-Lehekülje loomiseks alusta allolevasse kasti kirjutamist (lisateave [[{{MediaWiki:Helppage}}|juhendist]]).
+Lehekülje loomiseks alusta allolevasse kasti kirjutamist (lisateave [$1 juhendist]).
 Kui sattusid siia kogemata, klõpsa võrgulehitseja ''tagasi''-nupule.",
 'anontalkpagetext' => "----''See on anonüümse kasutaja arutelulehekülg. See kasutaja pole kontot loonud või ei kasuta seda. Sellepärast tuleb meil kasutaja tuvastamiseks kasutada tema IP-aadressi. Sellist IP-aadressi võib kasutada mitu kasutajat. Kui oled osutatud IP-aadressi kasutaja ning leiad, et siinsed kommentaarid ei puutu kuidagi sinusse, [[Special:UserLogin/signup|loo palun kasutajakonto]] või [[Special:UserLogin|logi sisse]], et sind edaspidi teiste anonüümsete kasutajatega segi ei aetaks.''",
 'noarticletext' => 'Käesoleval leheküljel hetkel teksti ei ole.
@@ -1024,7 +1028,7 @@ Võid [[Special:Search/{{PAGENAME}}|otsida pealkirjaks olevat fraasi]] teistelt
 <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} uurida asjassepuutuvaid logisid] või [{{fullurl:{{FULLPAGENAME}}|action=edit}} puuduva lehekülje ise luua]</span>.',
 'noarticletext-nopermission' => 'Sellel leheküljel pole praegu teksti.
 Saad [[Special:Search/{{PAGENAME}}|otsida selle lehekülje pealkirja]] teistelt lehekülgedelt või <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} otsida seonduvatest logidest]</span>, aga sul pole õigust seda lehekülge alustada.',
-'missing-revision' => 'Lehekülje "{{PAGENAME}}" redaktsiooni $1 pole.
+'missing-revision' => 'Lehekülje "{{FULLPAGENAME}}" redaktsiooni $1 pole.
 
 Harilikult tähendab see seda, et sind siia juhatanud link on vananenud ja siin asunud lehekülg on kustutatud.
 Üksikasjad leiad [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} kustutamislogist].',
@@ -1250,8 +1254,13 @@ Saad seda muudatust vaadata. [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAG
 'revdelete-no-file' => 'Faili ei ole.',
 'revdelete-show-file-confirm' => 'Kas oled kindel, et soovid häha faili "<nowiki>$1</nowiki>" kustutatud redaktsiooni, mis tehti $2 kell $3?',
 'revdelete-show-file-submit' => 'Jah',
-'revdelete-selected' => "'''Valitud {{PLURAL:$2|redaktsioon|redaktsioonid}} leheküljest [[:$1]]:'''",
-'logdelete-selected' => "'''Valitud {{PLURAL:$1|logisissekanne|logisissekanded}}:'''",
+'revdelete-selected-text' => 'Lehekülje [[:$2]] teksti valitud {{PLURAL:$1|redaktsioon|redaktsioonid}}:',
+'revdelete-selected-file' => 'Faili [[:$2]] valitud {{PLURAL:$1|versioon|versioonid}}:',
+'logdelete-selected' => 'Valitud {{PLURAL:$1|logisissekanne|logisissekanded}}:',
+'revdelete-text-text' => 'Kustutatud redaktsioonid jäävad lehekülje ajalukku alles, aga osa nende sisust pole kõigile juurdepääsetav.',
+'revdelete-text-file' => 'Kustutatud failiversioonid jäävad faili ajalukku alles, aga osa nende sisust pole kõigile juurdepääsetav.',
+'logdelete-text' => 'Kustutatud logisündmused jäävad logisse alles, aga osa nende sisust pole kõigile juurdepääsetav.',
+'revdelete-text-others' => 'Teised {{GRAMMAR:genitive|{{SITENAME}}}} administraatorid pääsevad ikkagi peidetud sisu juurde ja saavad sama liidese kaudu selle taastada, kui seatud pole lisapiiranguid.',
 'revdelete-confirm' => 'Kinnita, et soovid tõesti seda teha ning et saad aru tagajärgedest ja tegevus on kooskõlas [[{{MediaWiki:Policy-url}}|siinsete kokkulepetega]].',
 'revdelete-suppress-text' => "Andmed tuleks varjata '''ainult''' järgmistel juhtudel:
 * võimalik laim
@@ -2093,6 +2102,11 @@ Sisesta kujul tüüp/alamtüüp, näiteks <code>image/jpeg</code>.',
 # List redirects
 'listredirects' => 'Ümbersuunamised',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Duplikaatfailide loend',
+'listduplicatedfiles-summary' => 'Siin on loetletud failid, mille viimane versioon on mõne teise faili viimase versiooni duplikaat. Arvesse võetakse ainult kohalikke faile.',
+'listduplicatedfiles-entry' => 'Failil [[:File:$1|$1]] on [[$3|{{PLURAL:$2|üks duplikaat|$2 duplikaati}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Kasutamata mallid',
 'unusedtemplatestext' => 'See lehekülg loetleb kõik leheküljed nimeruumis {{ns:template}}, mida teistel lehekülgedel ei kasutata. Enne kustutamist palun kontrollige, kas siia pole muid linke.',
@@ -2206,7 +2220,7 @@ Igal real on ära toodud esimene ja teine ümbersuunamisleht ning samuti teise 
 'deadendpagestext' => 'Järgmised leheküljed ei viita ühelegi teisele {{GRAMMAR:genitive|{{SITENAME}}}} leheküljele.',
 'protectedpages' => 'Kaitstud leheküljed',
 'protectedpages-indef' => 'Ainult määramata ajani kaitstud',
-'protectedpages-summary' => 'Siin on loetletud olemasolevad leheküljed, mis on praegu kaitstud. Loomise eest kaitstud pealkirjade loendi leiad leheküljelt [[{{#special:ProtectedTitles}}|{{int:protectedtitles}}]].',
+'protectedpages-summary' => 'Siin on loetletud olemasolevad leheküljed, mis on praegu kaitstud. Loomise eest kaitstud pealkirjade loendi leiad [[{{#special:ProtectedTitles}}|siit]].',
 'protectedpages-cascade' => 'Ainult kaskaadkaitsega',
 'protectedpages-noredirect' => 'Peida ümbersuunamised',
 'protectedpagesempty' => 'Selliste parameetritega ei ole praegu ühtegi lehekülge kaitstud.',
@@ -2219,7 +2233,7 @@ Igal real on ära toodud esimene ja teine ümbersuunamisleht ning samuti teise 
 'protectedpages-unknown-timestamp' => 'Teadmata',
 'protectedpages-unknown-performer' => 'Teadmata kasutaja',
 'protectedtitles' => 'Kaitstud pealkirjad',
-'protectedtitles-summary' => 'Siin on loetletud pealkirjad, mis on praegu loomise eest kaitstud. Olemasolevate kaitstud lehekülgede loendi leiad leheküljelt [[{{#special:ProtectedPages}}|{{int:protectedpages}}]].',
+'protectedtitles-summary' => 'Siin on loetletud pealkirjad, mis on praegu loomise eest kaitstud. Olemasolevate kaitstud lehekülgede loendi leiad [[{{#special:ProtectedPages}}|siit]].',
 'protectedtitlesempty' => 'Hetkel pole ükski pealkiri kaitstud.',
 'listusers' => 'Kasutajad',
 'listusers-editsonly' => 'Näita vaid kasutajaid, kes on teinud muudatusi',
@@ -2545,7 +2559,7 @@ Allpool on toodud lehekülje '''$1''' hetkel kehtivad seaded:",
 'protect-locked-access' => "Sinu kontol pole õigust muuta lehekülje kaitsetaset.
 Allpool on toodud lehekülje '''$1''' hetkel kehtivad seaded:",
 'protect-cascadeon' => 'See lehekülg on kaitstud, kuna ta on kasutusel {{PLURAL:$1|järgmisel leheküljel|järgmistel lehekülgedel}}, mis on omakorda kaskaadkaitse all.
-Sa saad muuta selle lehekülje kaitse staatust, kuid see ei mõjuta kaskaadkaitset.',
+Selle lehekülje kaitsetaseme muutmine ei mõjuta kaskaadkaitset.',
 'protect-default' => 'Luba kõigile kasutajatele',
 'protect-fallback' => 'Lubatud vaid kasutajatele õigusega "$1"',
 'protect-level-autoconfirmed' => 'Lubatud vaid automaatselt kinnitatud kasutajatele',
@@ -2733,6 +2747,7 @@ Täida ka põhjuse väli, näiteks viidates lehekülgedele, mis rikuti.',
 Kehtivaid blokeeringuid vaata [[Special:BlockList|blokeerimisnimekirjast]].',
 'ipb-blockingself' => 'Sa blokeerid iseenda! Kas tahad tõesti seda teha?',
 'ipb-confirmhideuser' => 'Avaldasid soovi kasutaja blokeerida ja peita. Kasutaja nimi peidetakse kõigist loenditest ja logisissekannetest. Kas oled kindel, et soovid seda teha?',
+'ipb-confirmaction' => 'Kui oled tõesti kindel, et tahad seda teha, siis vali palun allpool "{{int:ipb-confirm}}".',
 'ipb-edit-dropdown' => 'Muuda blokeeringu põhjuseid',
 'ipb-unblock-addr' => 'Tühista kasutaja $1 blokeering',
 'ipb-unblock' => 'Kasutaja või IP-aadressi vabastamine blokeerimisest',
index 07760c9..b406422 100644 (file)
@@ -348,7 +348,7 @@ $messages = array(
 'viewtalkpage' => 'Eztabaida ikusi',
 'otherlanguages' => 'Erdaretan',
 'redirectedfrom' => '($1(e)tik birzuzenduta)',
-'redirectpagesub' => 'Birzuzenketa orrialdea',
+'redirectpagesub' => 'Birbideratze orria',
 'lastmodifiedat' => 'Orrialdearen azken aldaketa: $2, $1.',
 'viewcount' => 'Orrialde hau {{PLURAL:$1|behin|$1 aldiz}} bisitatu da.',
 'protectedpage' => 'Babestutako orrialdea',
@@ -374,7 +374,6 @@ $1',
 'disclaimers' => 'Mugaketak',
 'disclaimerpage' => 'Project:Erantzukizunen mugaketa orokorra',
 'edithelp' => 'Aldaketak egiteko laguntza',
-'helppage' => 'Help:Laguntza',
 'mainpage' => 'Azala',
 'mainpage-description' => 'Azala',
 'policy-url' => 'Project:Politikak',
@@ -811,7 +810,7 @@ Baliteke orrialdea begiratzen zenuen bitartean norbaitek ezabatu edo izenburua a
 
 ''[[Special:ChangePassword|pasahitz aldaketa]]'' orrialdean alda daiteke, behin barruan sartuta.",
 'newarticle' => '(Berria)',
-'newarticletext' => "Orrialde hau ez da existitzen oraindik. Orrialde sortu nahi baduzu, beheko koadroan idazten hasi zaitezke (ikus [[{{MediaWiki:Helppage}}|laguntza orrialdea]] informazio gehiagorako). Hona nahi gabe etorri bazara, nabigatzaileko '''atzera''' botoian klik egin.",
+'newarticletext' => "Orrialde hau ez da existitzen oraindik. Orrialde sortu nahi baduzu, beheko koadroan idazten hasi zaitezke (ikus [$1 laguntza orrialdea] informazio gehiagorako). Hona nahi gabe etorri bazara, nabigatzaileko '''atzera''' botoian klik egin.",
 'anontalkpagetext' => "----''Orrialde hau konturik sortu ez edo erabiltzen ez duen erabiltzaile anonimo baten eztabaida orria da.
 Bere IP helbidea erabili beharko da beraz identifikatzeko.
 Erabiltzaile batek baino gehiagok IP bera erabil dezakete ordea.
@@ -1039,8 +1038,7 @@ Administratzailea zarenez, diff hau ikus dezakezu. Xehetasunak ikusgai daude [{{
 'revdelete-no-file' => 'Zehazturiko fitxategia ez da existitzen.',
 'revdelete-show-file-confirm' => '"<nowiki>$1</nowiki>" fitxategiaren bertsio ezabatua (eguna: $2; ordua: $3) ikusi nahi duzu?',
 'revdelete-show-file-submit' => 'Bai',
-'revdelete-selected' => "'''{{PLURAL:$2|[[:$1]](r)en hautatutako berrikuspena:|[[:$1]](r)en hautatutako berrikuspenak}}'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Aukeratutako log gertakaria|Aukeratutako log gertakariak}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Aukeratutako log gertakaria|Aukeratutako log gertakariak}}:',
 'revdelete-confirm' => 'Baiezta ezazu hori dela zure asmoa, ulertzen dituzula ondorioak, eta [[{{MediaWiki:Policy-url}}|irizpideak]] errespetatuz egiten ari zarela hau.',
 'revdelete-suppress-text' => "Ezabaketa '''bakarrik''' arrazoi hauek direla eta erabili beharko litzateke:
 * Informazio pertsonal desegokia
@@ -1164,7 +1162,7 @@ Kontura zaitez nabigazio loturek, zutabea ezabatu dezakela.',
 'search-result-size' => '$1 ({{PLURAL:$2|hitz bat|$2 hitz}})',
 'search-result-category-size' => '{{PLURAL:$1|kide 1|$1 kide}} ({{PLURAL:$2|azpikategoria 1|$2 azpikategoria}}, {{PLURAL:$3|fitxategi 1|$3 fitxategi}})',
 'search-result-score' => 'Garrantzia: %$1',
-'search-redirect' => '($1 birzuzenketa)',
+'search-redirect' => '(«$1» orritik birbideratua)',
 'search-section' => '($1 atala)',
 'search-suggest' => '$1 esan nahi zenuen',
 'search-interwiki-caption' => 'Beste proiektuak',
@@ -1365,7 +1363,7 @@ Informazio hau publikoa da.',
 'right-move-subpages' => 'Mugitu orrialdeak bere azpiorrialdeekin',
 'right-move-rootuserpages' => 'Erro-lankidearen orriak mugitu',
 'right-movefile' => 'Mugitu fitxategiak',
-'right-suppressredirect' => 'Ez sortu birzuzenketa bat antzinako izenetik orrialdea mugitzerakoan',
+'right-suppressredirect' => 'Orri bat mugitzean, ez sortu birbideratzea jatorrizko izenetik',
 'right-upload' => 'Fitxategia igo',
 'right-reupload' => 'Jada existitzen den artxibo bat gainidatzi',
 'right-reupload-own' => 'Norberak igotako fitxategi baten gainean idatzi',
@@ -1643,7 +1641,7 @@ $1',
 'upload-file-error-text' => 'Barne errore bat gertatu da zerbitzarian fitxategi tenporal bat sortzen saiatzean. Mesedez, jar zaitez [[Special:ListUsers/sysop|administratzaile]] batekin harremanetan.',
 'upload-misc-error' => 'Errore ezezaguna igotzerakoan',
 'upload-misc-error-text' => 'Errore ezezagun bat gertatu da fitxategia igotzen ari zenean. Mesedez, egiaztatu URLa baliozkoa eta eskuragarria dela eta berriz saiatu. Arazoak jarraitzen badu, jar zaitez [[Special:ListUsers/sysop|administratzailearekin]] harremanetan.',
-'upload-too-many-redirects' => 'URLak birzuzenketa gehiegi zituen',
+'upload-too-many-redirects' => 'URLak birbideratze gehiegi zituen',
 'upload-unknown-size' => 'Tamaina ezezaguna',
 'upload-http-error' => 'HTTP errorea gertatu da: $1',
 'upload-copy-upload-invalid-domain' => 'Domeinu honetan ezin dira igoerak kopiatu.',
@@ -1772,7 +1770,7 @@ Ondorengo zerrendak fitxategira dauden {{PLURAL:$1|lehen lotura|lehen $1 loturak
 [[Special:WhatLinksHere/$2|Zerrenda osoa]] ere eskuragarri dago.',
 'nolinkstoimage' => 'Ez dago fitxategi honetara lotura egiten duen orrialderik.',
 'morelinkstoimage' => 'Ikusi fitxategi honen [[Special:WhatLinksHere/$1|lotura gehiago]].',
-'linkstoimage-redirect' => '$1 (fitxategi birzuzenketa) $2',
+'linkstoimage-redirect' => '$1 (fitxategiranzko birbideratzea) $2',
 'duplicatesoffile' => 'Ondorengo fitxategi {{PLURAL:$1|hau beste honen berdina da|$1 hauek beste honen berdinak dira}} ([[Special:FileDuplicateSearch/$2|zehaztasun gehiago]]):',
 'sharedupload' => 'Elkarbanatutako fitxategi hau $1-(e)ko igoera bat da eta beste proiektuek ere erabil dezakete.',
 'sharedupload-desc-here' => 'Fitxategi hau $1-(e)koa da eta beste proeiktuetan erabilia izan liteke.
@@ -1841,7 +1839,7 @@ Bere [$2 fitxategiaren deskribapen orrialdea] behean dago.',
 'randomincategory-selectcategory-submit' => 'Joan',
 
 # Random redirect
-'randomredirect' => 'Ausazko birzuzenketa',
+'randomredirect' => 'Ausazko birbideratzea',
 'randomredirect-nopages' => 'Ez dago birzuzenketarik "$1" izen-tartean.',
 
 # Statistics
@@ -1853,7 +1851,7 @@ Bere [$2 fitxategiaren deskribapen orrialdea] behean dago.',
 'statistics-header-hooks' => 'Beste estatistikak',
 'statistics-articles' => 'Edukiak dituzten orrialdeak',
 'statistics-pages' => 'Orrialdeak',
-'statistics-pages-desc' => 'Wikian dauden orrialde guztiak, eztabaida orrialdeak, birzuzenketa, etab. barne.',
+'statistics-pages-desc' => 'Wikian dauden orri guztiak (eztabaida orriak, birbideratzeak eta abar barne).',
 'statistics-files' => 'Igotako fitxategiak',
 'statistics-edits' => '{{SITENAME}} sortu zenetik eginiko aldaketa kopurua',
 'statistics-edits-average' => 'Bataz-besteko aldaketak orrialdeko',
@@ -1870,14 +1868,14 @@ Bere [$2 fitxategiaren deskribapen orrialdea] behean dago.',
 'pageswithprop-submit' => 'Joan',
 'pageswithprop-prophidden-long' => 'testu luzearen ezagaurria izkutatua ($1)',
 
-'doubleredirects' => 'Birzuzenketa bikoitzak',
+'doubleredirects' => 'Birbideratze bikoitzak',
 'doubleredirectstext' => 'Lerro bakoitzean lehen eta bigarren birzuzenketetarako loturak ikus daitezke, eta baita edukia daukan edo eduki beharko lukeen orrialderako lotura ere. Lehen birzuzenketak azken honetara <del>zuzendu</del> beharko luke.',
-'double-redirect-fixed-move' => '[[$1]] mugitu da eta orain [[$2]](e)ra birzuzenketa bat da',
-'double-redirect-fixed-maintenance' => 'Birzuzenketa bikoitza konpontzen [[$1]]-etik [[$2]]-ra',
-'double-redirect-fixer' => 'Birzuzenketa zuzentzailea',
+'double-redirect-fixed-move' => '«[[$1]]» orria mugitu da, eta orain «[[$2]]» orrira daraman birbideratzea da',
+'double-redirect-fixed-maintenance' => '«[[$1]]» orritik «[[$2]]» orrira birbideratze bikoitza konpontzea',
+'double-redirect-fixer' => 'Birbideratze zuzentzailea',
 
 'brokenredirects' => 'Hautsitako birzuzenketak',
-'brokenredirectstext' => 'Jarraian zerrendatutako birzuzenketa loturak existitzen ez diren orrietara zuzenduta daude:',
+'brokenredirectstext' => 'Ondorengo birbideratze hauek existitzen ez diren orrietara bideratuta daude:',
 'brokenredirects-edit' => 'aldatu',
 'brokenredirects-delete' => 'ezabatu',
 
@@ -1980,8 +1978,8 @@ Erregistro mota, erabiltzailearen izena edota orrialdearen izena iragaziz bistar
 'alphaindexline' => '$1(e)tik $2(e)raino',
 'nextpage' => 'Hurrengo orrialdea ($1)',
 'prevpage' => 'Aurreko orrialdea ($1)',
-'allpagesfrom' => 'Honela hasten diren orrialdeak erakutsi:',
-'allpagesto' => 'Orrialde honetara zuzentzen diren guztiak erakutsi:',
+'allpagesfrom' => 'Erakutsi hasiera hau duten orriak:',
+'allpagesto' => 'Erakutsi bukaera hau duten orriak:',
 'allarticles' => 'Artikulu guztiak',
 'allinnamespace' => 'Orrialde guztiak ($1 izen-tartea)',
 'allpagessubmit' => 'Joan',
@@ -2381,7 +2379,7 @@ Blokeo erregistroa azken sarrera ematen da azpian erreferentziarako:',
 'linkshere' => "Hauek dute '''[[:$1]]''' orrialderako lotura:",
 'nolinkshere' => "Ez dago '''[[:$1]]''' lotura duen orrialderik.",
 'nolinkshere-ns' => "Hautatutako izen-tartean ez dago '''[[:$1]]''' orrialderako lotura duenik.",
-'isredirect' => 'birzuzenketa orrialdea',
+'isredirect' => 'birbideratze orrialdea',
 'istemplate' => 'erabilpena',
 'isimage' => 'fitxategi lotura',
 'whatlinkshere-prev' => '{{PLURAL:$1|aurrekoa|aurreko $1ak}}',
@@ -2527,24 +2525,18 @@ Hala ere, $2-(r)en parte denez, blokeoa kendu daiteke.',
 # Move page
 'move-page' => 'Mugitu «$1»',
 'move-page-legend' => 'Orrialdea mugitu',
-'movepagetext' => "Konturatu zaitez orrialdea '''ez''' dela mugituko izenburu berria duen orrialde bat badago jadanik, ez bada aldaketa-historiarik gabeko orrialde huts edo birbideratze bat.
-Horrek esan nahi du hanka sartzekotan orrialde baten jatorrizko izenburua berreskuratu daitekeela, baina ezin dela jada existitzen den orrialde baten gainean idatzi.
-
-'''Oharra!'''
-Aldaketa hau drastikoa eta ustekabekoa izan daiteke orrialde oso ezagunetan;
-mesedez, egiazta ezazu honen ondorioak ulertzen dituzula, jarraitu baino lehen.
-Inprimaki hau erabiliz, orri baten izena aldatuko da, eta haren historia izen berrira eraman.
-Izenburu zaharra izenburu berrirantz birzuzendutako orri bihurtuko da.
-Jatorrizko izenburura doazen birzuzenketak automatikoki egunera ditzakezu.
+'movepagetext' => 'Inprimaki hau erabiliz, orri baten izena aldatuko da, eta haren historia izen berrira eramango.
+Izenburu zaharra izenburu berrirantz birbideratutako orri bihurtuko da.
+Jatorrizko izenburura doazen birbideratzeak automatikoki egunera ditzakezu.
 Halako eguneratze automatikorik ez egitea aukeratzen baduzu, egiazta itzazu birbideratze [[Special:DoubleRedirects|bikoitzak]] eta [[Special:BrokenRedirects|apurtuak]].
 Zure ardura da loturak behar den tokirantz bideratzea.
 
-Gogoan izan ezazu ezazu: orriaren izena <strong>ez</strong> da aldatuko baldin jarri nahi duzun izenburua duen orria dagoeneko sortuta badago, salbu eta historiarik gabeko birzuzenketa orri bat bada.
+Gogoan izan ezazu ezazu: orriaren izena <strong>ez</strong> da aldatuko baldin jarri nahi duzun izenburua duen orria dagoeneko sortuta badago, salbu eta historiarik gabeko birbideratze orri bat bada.
 Hau da, nahasten baldin bazara, mugitu duzun orria lehengo izenburura itzultzeko modua badago, eta ezin duzun lehendik sortuta dagoen orri bat gainidatzi.
 
 <strong>Kontuz!</strong>
 Oso erabilia den orri batean, aldaketa hau bat-batekoa eta ustekabekoa izan liteke;
-zalantzarik baldin baduzu, lehenbizi adieraz ezazu zure asmoa eztabaida orrian, beste wikilarien iritziak jasotzeko.",
+zalantzarik baldin baduzu, lehenbizi adieraz ezazu zure asmoa eztabaida orrian, beste wikilarien iritziak jasotzeko.',
 'movepagetalktext' => "Dagokion eztabaida orrialdea berarekin batera mugitu da, honako kasu hauetan '''ezik:'''
 * Hutsik ez dagoen eztabaida orrialde bat existitzen bada izen berrian.
 * Beheko koadroa hautatzen ez baduzu.
@@ -2563,7 +2555,7 @@ Kasu horietan orrialdea eskuz mugitu edo bestearekin bateratu beharko duzu.",
 'pagemovedsub' => 'Mugimendua eginda',
 'movepage-moved' => '\'\'\'"$1" "$2"(e)ra mugitu da\'\'\'',
 'movepage-moved-redirect' => 'Birbideratze orri bat sortu da.',
-'movepage-moved-noredirect' => 'Birzuzenketa baten sorrera kendu da.',
+'movepage-moved-noredirect' => 'Birbideratzea sortzeko aukera kendu da.',
 'articleexists' => 'Izen hori duen artikulu bat badago edo hautatutako izena ez da baliozkoa. Mesedez, beste izen bat aukeratu.',
 'cantmove-titleprotected' => 'Ezin duzu orrialde bat leku honetara mugitu izenburu berri hori sor ez dadin babesa duelako',
 'movetalk' => 'Eztabaida orrialdea ere mugitu, ahal bada.',
@@ -2595,8 +2587,8 @@ Kasu horietan orrialdea eskuz mugitu edo bestearekin bateratu beharko duzu.",
 'imagenocrossnamespace' => 'Ezin da mugitu fitxategia fitxategiena ez den izen batera',
 'imagetypemismatch' => 'Fitxategiaren luzapen berriak ez du bere motako fitxategiekin bat egiten',
 'imageinvalidfilename' => 'Xede-artxiboaren izenak ez du balio',
-'fix-double-redirects' => 'Hasierako izenburura zuzentzen duten birzuzenketa guztiak aldatu',
-'move-leave-redirect' => 'Atzean birzuzenketa bat utzi',
+'fix-double-redirects' => 'Eguneratu jatorrizko izenburura zuzendutako birbideratze guztiak',
+'move-leave-redirect' => 'Utzi atzean birbideratzea',
 'protectedpagemovewarning' => "'''Oharra:''' Orrialde hau babestua izan da, beraz administratzaile eskumenak dituztenek alda dezakete bakarrik.
 Azken erregistroko sarrera ematen da azpian erreferentzia gisa:",
 'semiprotectedpagemovewarning' => "'''Oharra:''' Orrialde hau blokeatu dute, izena emanda duten erabiltzaileek soilik mugitu ahal dezaten. Erregistroko azken sarrera erakusten da jarraian erreferentzia gisa:",
@@ -3697,7 +3689,7 @@ Halaber [[Special:EditWatchlist|aldatzaile estandarra]] erabil dezakezu.',
 'logentry-move-move' => '$1 {{GENDER:$2|wikilariak}} «$3» orria «$4» izenera aldatu du',
 'logentry-move-move-noredirect' => '$1 {{GENDER:$2|wikilariak}} $3 orria $4 izenera aldatu du, birzuzenketarik utzi gabe',
 'logentry-move-move_redir' => '$1 {{GENDER:$2|wikilariak}} «$3» orria «$4» izenera aldatu du, birzuzenketaren gainetik',
-'logentry-move-move_redir-noredirect' => '$1 {{GENDER:wikilariak}} «$3» orria «$4» izenera aldatu du, birzuzenketa bat gainidatzita, birzuzenketarik utzi gabe',
+'logentry-move-move_redir-noredirect' => '$1 {{GENDER:wikilariak}} «$3» orria «$4» izenera aldatu du, birbideratze bat gainidatzita, birbideratzerik utzi gabe',
 'logentry-patrol-patrol' => '$1(e)k $3 orrialdearen $4 berrikuzpena patruilatutzat {{GENDER:$2|markatu}} du',
 'logentry-newusers-newusers' => '$1 erabiltzaile kontua sortu da',
 'logentry-newusers-create' => '$1 erabiltzaile kontua sortu da',
index bc78731..6b1cd21 100644 (file)
@@ -230,7 +230,6 @@ $messages = array(
 'disclaimers' => 'Avissu legal',
 'disclaimerpage' => 'Project:Arrayu heneral de responsabiliá',
 'edithelp' => "Ayua d'eición",
-'helppage' => 'Help:Continius',
 'mainpage' => 'Página prencipal',
 'mainpage-description' => 'Páhina prencipal',
 'policy-url' => 'Project:Pulítica',
@@ -515,7 +514,7 @@ Es possibri escambial la consínia de la cuenta entrandu ena tu cuenta, ena pág
 'newarticle' => '(Nuevu)',
 'newarticletext' => "Esti artículu entovia nu desisti.
 Si quieis crial esti artículu, escribi nel cuairu d'embahu
-(si t'es mestel, mira la [[{{MediaWiki:Helppage}}|páhina d'ayua]]).
+(si t'es mestel, mira la [\$1 páhina d'ayua]).
 Si nu quieis crial esti artículu, solu tiinis que pursal nel botón \"'''atrás'''\" del tu escrucaol.",
 'anontalkpagetext' => "----''Esta es la caraba dun usuáriu anónimu qu'entovia nu á criau una cuenta, u nu la gasta, asínque tenemus que usal la su direción IP pa ientificalu. Una mesma direción IP puei sel gastá pol varius usuárius, polo que si creis que s'án derihiu a tí con cosas que nu vinin a cuentu, pol favol [[Special:UserLogin|cria una cuenta]] pa evital huturus pobremas con otrus usuárius anónimus.''",
 'noarticletext' => 'Entovia nu ai dengún testu escrebiu nesta páhina.
@@ -663,8 +662,7 @@ puei bel detallis nel [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}
 'revdelete-nooldid-title' => 'Nu ai una revisión destinu',
 'revdelete-nooldid-text' => 'Nu as prehisau denguna revisión destinu ondi realizal esta hunción.',
 'revdelete-show-file-submit' => 'Sí',
-'revdelete-selected' => "'''{{PLURAL:$2|Revisión aseñalá e|Revisionis aseñalás de}} '''[[:$1]]''':'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Eventu el rustrihu aseñalau|Eventus del rustrihu aseñalaus}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Eventu el rustrihu aseñalau|Eventus del rustrihu aseñalaus}}:',
 'revdelete-legend' => 'Establecel restricionis de visibiliá',
 'revdelete-hide-text' => 'Açonchal el testu la revisión',
 'revdelete-hide-image' => 'Açonchal el continiu el archivu',
index 0d03802..ffda122 100644 (file)
@@ -702,7 +702,6 @@ $1',
 'disclaimers' => 'تکذیب‌نامه‌ها',
 'disclaimerpage' => 'Project:تکذیب‌نامهٔ عمومی',
 'edithelp' => 'راهنمای ویرایش‌کردن',
-'helppage' => 'Help:محتوا',
 'mainpage' => 'صفحهٔ اصلی',
 'mainpage-description' => 'صفحهٔ اصلی',
 'policy-url' => 'Project:سیاست‌ها',
@@ -906,6 +905,7 @@ $2',
 'gotaccountlink' => 'به سامانه وارد شوید',
 'userlogin-resetlink' => 'جزئیات ورود را فراموش کرده‌اید؟',
 'userlogin-resetpassword-link' => 'گذرواژه‌تان را فراموش کردید؟',
+'userlogin-helplink2' => 'کمک با ورود',
 'userlogin-loggedin' => 'شما در حال حاضر به‌عنوان {{GENDER:$1|$1}} وارد شده‌اید.
 از فرم پایین برای ورود به‌عنوان یک کاربر دیگر استفاده کنید.',
 'userlogin-createanother' => 'ایجاد یک حساب کاربری دیگر',
@@ -1177,7 +1177,7 @@ $2
 'accmailtext' => "یک گذرواژهٔ تصادفی برای [[User talk:$1|$1]] به $2 فرستاده شد. می‌توان آن را از صفحهٔ ''[[Special:ChangePassword|تغییر گذرواژه]]'' که هنگام ثبت ورود نمایش می‌یابد تغییر داد.",
 'newarticle' => '(جدید)',
 'newarticletext' => 'شما پیوندی را دنبال کرده‌اید و به صفحه‌ای رسیده‌اید که هنوز وجود ندارد.
-برای ایجاد صفحه، در مستطیل زیر شروع به نوشتن کنید (برای اطلاعات بیشتر به [[{{MediaWiki:Helppage}}|صفحهٔ راهنما]] مراجعه کنید).
+برای ایجاد صفحه، در مستطیل زیر شروع به نوشتن کنید (برای اطلاعات بیشتر به [$1 صفحهٔ راهنما] مراجعه کنید).
 اگر به اشتباه اینجا آمده‌اید، دکمهٔ «بازگشت» مرورگرتان را بزنید.',
 'anontalkpagetext' => "----''این صفحهٔ بحث برای کاربر گمنامی است که هنوز حسابی درست نکرده است یا از آن استفاده نمی‌کند.
 بنا بر این برای شناسایی‌اش مجبوریم از نشانی آی‌پی عددی استفاده کنیم.
@@ -1190,7 +1190,7 @@ $2
 'noarticletext-nopermission' => 'این صفحه هم‌اکنون متنی ندارد.
 شما می‌توانید در دیگر صفحه‌ها [[Special:Search/{{PAGENAME}}|این عنوان را جستجو کنید]]،
 یا <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} سیاهه‌های مرتبط را بگردید]</span> ولی شما اجازه ایجاد این صفحه را ندارید.',
-'missing-revision' => 'ویرایش #$1 از صفحهٔ «{{PAGENAME}}» موجود نیست.
+'missing-revision' => 'ویرایش #$1 از صفحهٔ «{{FULLPAGENAME}}» موجود نیست.
 
 معمولاً در اثر پیوند به تاریخچهٔ به‌روز نشدهٔ صفحهٔ حذف شده است.
 می‌توانید جزئیات بیشتر را در [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} سیاههٔ حذف] بیابید.',
@@ -1199,11 +1199,11 @@ $2
 'userpage-userdoesnotexist-view' => 'حساب کاربری «$1» ثبت نشده‌است.',
 'blocked-notice-logextract' => 'دسترسی این کاربر در حال حاضر بسته است.
 آخرین مورد سیاهه قطع دسترسی در زیر آمده‌است:',
-'clearyourcache' => "'''نکته:''' پس از ذخیره‌کردن ممکن است برای دیدن تغییرات نیاز باشد که حافظهٔ نهانی مرورگر خود را پاک کنید.
-*'''فایرفاکس / سافاری:'''  کلید ''Shift'' را نگه دارید و روی دکمهٔ ''Reload'' کلیک کنید، یا کلید‌های ''Ctrl-F5'' یا ''Ctrl-R'' را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های ''⌘-R'')
-*'''گوگل کروم:'''کلیدهای ''Ctrl+Shift+R'' را با هم فشار دهید. (در رایانه‌های اپل مکینتاش کلید‌های ''⌘-Shift-R'')
-*'''اینترنت اکسپلورر:''' کلید ''Ctrl'' را نگه‌دارید و روی دکمهٔ ''Refresh'' کلیک کنید، یا کلید‌های ''Ctrl-F5'' را با هم فشار دهید
-*'''اپرا:''' حافظهٔ نهانی مرورگر را از طریق منوی ''Tools &rarr; Preferences'' پاک کنید",
+'clearyourcache' => '<strong>نکته:</strong> پس از ذخیره‌کردن ممکن است برای دیدن تغییرات نیاز باشد که حافظهٔ نهانی مرورگر خود را پاک کنید.
+*<strong>فایرفاکس / سافاری:</strong> کلید <em>Shift</em> را نگه دارید و روی دکمهٔ <em>Reload</em> کلیک کنید، یا کلید‌های <em>Ctrl-F5</em> یا <em>Ctrl-R</em> را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های <em>⌘-R</em>)
+*<strong>گوگل کروم:</strong> کلیدهای <em>Ctrl+Shift+R</em> را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های <em>⌘-Shift-R</em>)
+*<strong>اینترنت اکسپلورر:</strong> کلید <em>Ctrl</em> را نگه‌دارید و روی دکمهٔ <em>Refresh</em> کلیک کنید، یا کلید‌های <em>Ctrl-F5</em> را با هم فشار دهید
+*<strong>اپرا:</strong> حافظهٔ نهانی مرورگر را از طریق منوی <em>Tools &rarr; Preferences</em> پاک کنید',
 'usercssyoucanpreview' => "'''نکته:''' پیش از ذخیره‌کردن پرونده سی‌اس‌اس خود، با دکمهٔ '''{{int:showpreview}}''' آن را آزمایش کنید.",
 'userjsyoucanpreview' => "'''نکته:''' پیش از ذخیره‌کردن پروندهٔ جاوااسکریپت خود، با دکمهٔ '''{{int:showpreview}}''' آن را آزمایش کنید.",
 'usercsspreview' => "'''فراموش مکنید که شما فقط دارید پیش‌نمایش سی‌اس‌اس کاربری‌تان را می‌بینید.'''
@@ -1428,8 +1428,7 @@ $2
 'revdelete-no-file' => 'پروندهٔ مشخص شده وجود ندارد.',
 'revdelete-show-file-confirm' => 'آیا مطمئن هستید که می‌خواهید یک نسخهٔ حذف شده از پروندهٔ «<nowiki>$1</nowiki>» مورخ $2 ساعت $3 را ببینید؟',
 'revdelete-show-file-submit' => 'بله',
-'revdelete-selected' => "'''{{PLURAL:$2|نسخهٔ|نسخه‌های}} انتخاب شده از [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|مورد|موارد}} انتخاب شده از سیاهه:'''",
+'logdelete-selected' => '{{PLURAL:$1|مورد|موارد}} انتخاب شده از سیاهه:',
 'revdelete-confirm' => 'لطفاً تأیید کنید که می‌خواهید این کار را انجام دهید، عواقب آن را درک می‌کنید و این کار را طبق [[{{MediaWiki:Policy-url}}|سیاست‌ها]] انجام می‌دهید.',
 'revdelete-suppress-text' => "فرونشانی باید '''تنها''' برای موارد زیر استفاده شود:
 * اطلاعات به طور بالقوه افتراآمیز
@@ -1735,7 +1734,7 @@ $1",
 # Groups
 'group' => 'گروه:',
 'group-user' => 'کاربران',
-'group-autoconfirmed' => 'کاربراÙ\86 ØªØ§ییدشده',
+'group-autoconfirmed' => 'کاربراÙ\86 ØªØ£ییدشده',
 'group-bot' => 'ربات‌ها',
 'group-sysop' => 'مدیران',
 'group-bureaucrat' => 'دیوان‌سالاران',
@@ -1743,7 +1742,7 @@ $1",
 'group-all' => '(همه)',
 
 'group-user-member' => '{{GENDER:$1|کاربر}}',
-'group-autoconfirmed-member' => '{{GENDER:$1|کاربر ØªØ§ییدشده}}',
+'group-autoconfirmed-member' => '{{GENDER:$1|کاربر ØªØ£ییدشده}}',
 'group-bot-member' => 'ربات',
 'group-sysop-member' => '{{GENDER:$1|مدیر}}',
 'group-bureaucrat-member' => '{{GENDER:$1|دیوانسالار}}',
@@ -3433,7 +3432,7 @@ $2',
 'markedaspatrollederror' => 'برچسب گشت زده نشد',
 'markedaspatrollederrortext' => 'باید یک نسخه را مشخص کنید تا برچسب گشت بخورد.',
 'markedaspatrollederror-noautopatrol' => 'شما نمی‌توانید به تغییرات انجام شده توسط خودتان برچسب گشت بزنید.',
-'markedaspatrollednotify' => 'این تغییر روی $1 برچسب گشت خورده است.',
+'markedaspatrollednotify' => 'این تغییر روی $1 برچسب گشت خورد.',
 'markedaspatrollederrornotify' => 'زدن برچسب گشت، ناموفق بود.',
 
 # Patrol log
@@ -3950,7 +3949,7 @@ $1',
 # Email address confirmation
 'confirmemail' => 'تأیید نشانی رایانامه',
 'confirmemail_noemail' => 'شما در صفحهٔ [[Special:Preferences|ترجیحات کاربری]] خود نشانی رایانامهٔ معتبری وارد نکرده‌اید.',
-'confirmemail_text' => 'اÛ\8cÙ\86 Ù\88Û\8cÚ©Û\8c Ø´Ù\85ا Ø±Ø§ Ù\85Ù\84زÙ\85 Ø¨Ù\87 ØªØ£Û\8cÛ\8cد Ø§Ø¹ØªØ¨Ø§Ø± Ø±Ø§Û\8cاÙ\86اÙ\85Ù\87 Ø®Ù\88دØ\8c Ù¾Û\8cØ´ Ø§Ø² Ø§Ø³ØªÙ\81ادÙ\87 Ø§Ø² Ø®Ø¯Ù\85ات Ø±Ø§Û\8cاÙ\86اÙ\85Ù\87 Ø¯Ø± Ø§Û\8cÙ\86جا Ù\85Û\8câ\80\8cÚ©Ù\86د. Ø¯Ú©Ù\85Ù\87Ù\94 Ø²Û\8cرÛ\8cÙ\86 Ø±Ø§ Ù\81عاÙ\84 Ú©Ù\86Û\8cد ØªØ§ Ù\86اÙ\85Ù\87Ù\94 ØªØ£Û\8cÛ\8cدÛ\8c Ø¨Ù\87 Ù\86شاÙ\86Û\8c Ø±Ø§Û\8cاÙ\86اÙ\85Ù\87Ù\94 Ø´Ù\85ا Ù\81رستادÙ\87 Ø´Ù\88د. Ø§Û\8cÙ\86 Ù\86اÙ\85Ù\87 Ø¯Ø±Ø¨Ø±Ø¯Ø§Ø±Ù\86دÙ\87Ù\94 Ù¾Û\8cÙ\88Ù\86دÛ\8c Ø®Ù\88اÙ\87د Ø¨Ù\88د Ú©Ù\87 Ø­Ø§Ù\88Û\8c Û\8cÚ© Ú©Ø¯ Ø§Ø³Øª. Ù¾Û\8cÙ\88Ù\86د Ø±Ø§ Ø¯Ø± Ù\85رÙ\88رگر Ø®Ù\88د Ø¨Ø§Ø± Ú©Ù\86Û\8cد (اجرا) Ú©Ù\86Û\8cد ØªØ§ Ø§Ø¹ØªØ¨Ø§Ø± Ù\86شاÙ\86Û\8c Ø±Ø§Û\8cاÙ\86اÙ\85Ù\87Ù\94 Ø´Ù\85ا ØªØ§یید شود.',
+'confirmemail_text' => 'اÛ\8cÙ\86 Ù\88Û\8cÚ©Û\8c Ø´Ù\85ا Ø±Ø§ Ù\85Ù\84زÙ\85 Ø¨Ù\87 ØªØ£Û\8cÛ\8cد Ø§Ø¹ØªØ¨Ø§Ø± Ø±Ø§Û\8cاÙ\86اÙ\85Ù\87 Ø®Ù\88دØ\8c Ù¾Û\8cØ´ Ø§Ø² Ø§Ø³ØªÙ\81ادÙ\87 Ø§Ø² Ø®Ø¯Ù\85ات Ø±Ø§Û\8cاÙ\86اÙ\85Ù\87 Ø¯Ø± Ø§Û\8cÙ\86جا Ù\85Û\8câ\80\8cÚ©Ù\86د. Ø¯Ú©Ù\85Ù\87Ù\94 Ø²Û\8cرÛ\8cÙ\86 Ø±Ø§ Ù\81عاÙ\84 Ú©Ù\86Û\8cد ØªØ§ Ù\86اÙ\85Ù\87Ù\94 ØªØ£Û\8cÛ\8cدÛ\8c Ø¨Ù\87 Ù\86شاÙ\86Û\8c Ø±Ø§Û\8cاÙ\86اÙ\85Ù\87Ù\94 Ø´Ù\85ا Ù\81رستادÙ\87 Ø´Ù\88د. Ø§Û\8cÙ\86 Ù\86اÙ\85Ù\87 Ø¯Ø±Ø¨Ø±Ø¯Ø§Ø±Ù\86دÙ\87Ù\94 Ù¾Û\8cÙ\88Ù\86دÛ\8c Ø®Ù\88اÙ\87د Ø¨Ù\88د Ú©Ù\87 Ø­Ø§Ù\88Û\8c Û\8cÚ© Ú©Ø¯ Ø§Ø³Øª. Ù¾Û\8cÙ\88Ù\86د Ø±Ø§ Ø¯Ø± Ù\85رÙ\88رگر Ø®Ù\88د Ø¨Ø§Ø± Ú©Ù\86Û\8cد (اجرا) Ú©Ù\86Û\8cد ØªØ§ Ø§Ø¹ØªØ¨Ø§Ø± Ù\86شاÙ\86Û\8c Ø±Ø§Û\8cاÙ\86اÙ\85Ù\87Ù\94 Ø´Ù\85ا ØªØ£یید شود.',
 'confirmemail_pending' => 'یک کد تأییدی پیشتر برای شما به صورت نامه فرستاده شده‌است. اگر همین اواخر حساب خود را باز کرده‌اید شاید بد نباشد که پیش از درخواست یک کد جدید چند دقیقه درنگ کنید تا شاید نامهٔ قبلی برسد.',
 'confirmemail_send' => 'پُست‌کردن یک کد تأیید',
 'confirmemail_sent' => 'یک نامهٔ تأییدی فرستاده شد.',
@@ -4307,7 +4306,7 @@ $5
 # Database error messages
 'dberr-header' => 'این ویکی یک ایراد دارد',
 'dberr-problems' => 'شرمنده! این تارنما از مشکلات فنی رنج می‌برد.',
-'dberr-again' => 'چند دقیقه صبر کند و دوباره صفحه را بارگیری کنید.',
+'dberr-again' => 'چند دقیقه صبر کنید و دوباره صفحه را بارگیری کنید.',
 'dberr-info' => '(امکان برقراری ارتباط با کارساز پایگاه داده وجود ندارد: $1)',
 'dberr-info-hidden' => '(امکان تماس با پایگاه‌داده‌ها کارساز امکان‌پذیر نیست)',
 'dberr-usegoogle' => 'شما در این مدت می‌توانید با استفاده از گوگل جستجو کنید.',
index 90ebf56..0cc4755 100644 (file)
@@ -567,7 +567,6 @@ $1',
 'disclaimers' => 'Vastuuvapaus',
 'disclaimerpage' => 'Project:Vastuuvapaus',
 'edithelp' => 'Muokkausohjeet',
-'helppage' => 'Help:Sisällys',
 'mainpage' => 'Etusivu',
 'mainpage-description' => 'Etusivu',
 'policy-url' => 'Project:Käytännöt',
@@ -886,7 +885,9 @@ Jotta pääset kirjautumaan sisään kunnolla, sinun on nyt asetettava uusi sala
 'resetpass-abort-generic' => 'Laajennus keskeytti salasanan vaihdon.',
 'resetpass-expired' => 'Salasanasi on vanhentunut. Valitse uusi salasana, jotta pääset kirjautumaan sisään.',
 'resetpass-expired-soft' => 'Salasanasi on vanhentunut ja se pitää uudistaa. Valitse uusi salasana nyt tai paina "{{int:resetpass-submit-cancel}}", niin voit uudistaa salasanan myöhemmin.',
-'resetpass-validity-soft' => 'Valitse nyt uusi salasana tai paina "{{int:resetpass-submit-cancel}}", niin voit vaihtaa sen myöhemmin.',
+'resetpass-validity-soft' => 'Salasanasi ei ole kelvollinen: $1
+
+Valitse nyt uusi salasana tai paina "{{int:resetpass-submit-cancel}}", niin voit vaihtaa sen myöhemmin.',
 
 # Special:PasswordReset
 'passwordreset' => 'Salasanan uudistus',
@@ -1033,7 +1034,7 @@ Se on saatettu siirtää tai poistaa äskettäin.',
 'accmailtext' => 'Satunnaisesti generoitu salasana käyttäjälle [[User talk:$1|$1]] on lähetetty osoitteeseen $2. Sen voi vaihtaa kirjautumisen jälkeen [[Special:ChangePassword|asetussivulla]].',
 'newarticle' => '(Uusi)',
 'newarticletext' => 'Linkki toi sivulle, jota ei vielä ole.
-Voit luoda sivun kirjoittamalla alla olevaan kenttään (katso [[{{MediaWiki:Helppage}}|ohjesivulta]] lisätietoja).
+Voit luoda sivun kirjoittamalla alla olevaan kenttään (katso [$1 ohjesivulta] lisätietoja).
 Jos et halua luoda sivua, käytä selaimen paluutoimintoa.',
 'anontalkpagetext' => "----''Tämä on nimettömän käyttäjän keskustelusivu. Hän ei ole joko luonut itselleen käyttäjätunnusta tai ei käytä sitä. Siksi hänet tunnistetaan nyt numeerisella IP-osoitteella. Kyseinen IP-osoite voi olla useamman henkilön käytössä. Jos olet nimetön käyttäjä, ja sinusta tuntuu, että aiheettomia kommentteja on ohjattu sinulle, [[Special:UserLogin/signup|luo itsellesi käyttäjätunnus]] tai [[Special:UserLogin|kirjaudu sisään]] välttääksesi jatkossa sekaannukset muiden nimettömien käyttäjien kanssa.''",
 'noarticletext' => 'Tällä hetkellä tällä sivulla ei ole tekstiä.
@@ -1042,7 +1043,7 @@ Voit [[Special:Search/{{PAGENAME}}|etsiä sivun nimellä]] muilta sivuilta,
 tai [{{fullurl:{{FULLPAGENAME}}|action=edit}} muokata tätä sivua]</span>.',
 'noarticletext-nopermission' => 'Tällä hetkellä tällä sivulla ei ole tekstiä.
 Voit [[Special:Search/{{PAGENAME}}|etsiä sivun nimellä]] muilta sivuilta tai <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} hakea aiheeseen liittyviä lokeja]</span>, mutta sinulla ei ole oikeutta luoda tätä sivua.',
-'missing-revision' => 'Sivusta "{{PAGENAME}}" ei ole olemassa versiota $1.
+'missing-revision' => 'Sivusta "{{FULLPAGENAME}}" ei ole olemassa versiota $1.
 
 Yleensä tämä johtuu vanhentuneesta historialinkistä sivulle, joka on poistettu.
 Tarkempia tietoja löytyy [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} poistolokista].',
@@ -1260,11 +1261,13 @@ Voit silti nähdä tämän muutoksen. Lisätietoja löytyy [{{fullurl:{{#Special
 'revdelete-no-file' => 'Määritettyä tiedostoa ei ole olemassa.',
 'revdelete-show-file-confirm' => 'Haluatko varmasti nähdä poistetun version tiedostosta <nowiki>$1</nowiki>, joka on tallennettu $2 kello $3?',
 'revdelete-show-file-submit' => 'Kyllä',
-'revdelete-selected' => "'''{{PLURAL:$2|Valittu versio|Valitut versiot}} sivusta [[:$1]]'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Valittu lokimerkintä|Valitut lokimerkinnät}}:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Valittu versio|Valitut versiot}} kohteesta [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Valittu tiedoston versio|Valitut tiedoston versiot}} kohteesta [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|Valittu lokimerkintä|Valitut lokimerkinnät}}:',
 'revdelete-text-text' => 'Poistetut versiot näkyvät edelleen sivun historiassa, mutta osa niiden sisällöstä ei enää ole saatavilla julkisesti.',
 'revdelete-text-file' => 'Poistetut tiedostoversiot näkyvät yhä sivun historiassa, mutta osa niiden sisällöstä ei ole saatavilla julkisesti.',
 'logdelete-text' => 'Poistetut lokimerkinnät näkyvät edelleen lokeissa, mutta osa niiden sisällöstä ei enää ole saatavilla julkisesti.',
+'revdelete-text-others' => 'Muut ylläpitäjät sivustolla {{SITENAME}} kykenevät silti näkemään piilotetun sisällön ja voivat palauttaa sen takaisin näkyviin tämän saman käyttöliittymän kautta, paitsi silloin kun lisärajoituksia on asetettu.',
 'revdelete-confirm' => 'Varmista, että haluat tehdä tämän – ymmärrät seuraukset ja teet tämän [[{{MediaWiki:Policy-url}}|käytäntöjen]] mukaisesti.',
 'revdelete-suppress-text' => "Häivytystä pitäisi käyttää '''vain''' seuraavissa tapauksissa:
 * Mahdollisesti henkilön kunniaa loukkaavia tietoja
@@ -1349,9 +1352,9 @@ Uuden ja vanhan sivun muutoksien pitää muodostaa jatkumo – ne eivät saa men
 'mergelogpagetext' => 'Alla on loki viimeisimmistä muutoshistorioiden yhdistämisistä.',
 
 # Diffs
-'history-title' => 'Sivun $1 muutoshistoria',
-'difference-title' => 'Ero sivun $1 versioiden välillä',
-'difference-title-multipage' => 'Erot sivujen $1 ja $2 välillä',
+'history-title' => 'Sivun ”$1” muutoshistoria',
+'difference-title' => 'Ero sivun ”$1” versioiden välillä',
+'difference-title-multipage' => 'Erot sivujen ”$1” ja ”$2” välillä',
 'difference-multipage' => '(Sivujen välinen eroavaisuus)',
 'lineno' => 'Rivi $1:',
 'compareselectedversions' => 'Vertaile valittuja versioita',
@@ -1431,7 +1434,7 @@ $1 {{int:pipe-separator}} $2',
 'prefs-skin' => 'Ulkoasu',
 'skin-preview' => 'esikatselu',
 'datedefault' => 'Ei omaa määrittelyä',
-'prefs-beta' => 'Beta-ominaisuudet',
+'prefs-beta' => 'Beeta-ominaisuudet',
 'prefs-datetime' => 'Aika ja päiväys',
 'prefs-labs' => 'Testattavana olevat ominaisuudet',
 'prefs-user-pages' => 'Käyttäjäsivut',
@@ -1725,7 +1728,7 @@ Tämä tieto on julkinen.',
 'recentchanges-legend-heading' => "'''Selitys:'''",
 'recentchanges-legend-newpage' => '(katso myös [[Special:NewPages|lista uusista sivuista]])',
 'recentchanges-legend-plusminus' => "(''±123'')",
-'rcnotefrom' => 'Alla on muutokset <b>$2</b> lähtien. Enintään <b>$1</b> merkintää näytetään.',
+'rcnotefrom' => 'Alla ovat muutokset <strong>$2</strong> lähtien. (Enintään <strong>$1</strong> näytetään.)',
 'rclistfrom' => 'Näytä uudet muutokset $1 alkaen',
 'rcshowhideminor' => '$1 pienet muutokset',
 'rcshowhideminor-show' => 'Näytä',
@@ -1939,6 +1942,10 @@ $1',
 'backend-fail-batchsize' => 'Taustajärjestelmälle on annettu $1 {{PLURAL:$1|tiedostotoiminto|toimintoa}}; enimmäismäärä on $2 {{PLURAL:$2|tiedostotoiminto|toimintoa}}.',
 'backend-fail-usable' => 'Tiedostoa $1 ei voitu lukea tai luoda, koska käyttöoikeudet eivät riittäneet tai hakemisto puuttuu.',
 
+# File journal errors
+'filejournal-fail-dbconnect' => 'Ei voitu yhdistää kohteeseen journal database for storage backend "$1".',
+'filejournal-fail-dbquery' => 'Ei voitu päivittää kohdetta journal database for storage backend "$1".',
+
 # Lock manager
 'lockmanager-notlocked' => 'Kohteen $1 lukitusta ei voitu poistaa, koska se ei ole lukittu.',
 'lockmanager-fail-closelock' => 'Tiedoston $1 lukkotiedostoa ei voitu sulkea.',
@@ -2112,6 +2119,10 @@ Syöte: sisältötyyppi/alatyyppi, esimerkiksi <code>image/jpeg</code>.',
 # List redirects
 'listredirects' => 'Ohjaukset',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Luettelo tiedostoista, joista on kaksoiskappale.',
+'listduplicatedfiles-entry' => 'Tiedostosta [[:File:$1|$1]] on olemassa [[$3|{{PLURAL:$2|kaksoiskappale|$2 kaksoiskappaletta}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Käyttämättömät mallineet',
 'unusedtemplatestext' => 'Tässä on lista nimiavaruuden {{ns:template}} kaikista sivuista, joita ei ole liitetty toiselle sivulle. Muista tarkistaa onko malline siitä huolimatta käytössä.',
@@ -2485,7 +2496,7 @@ Palaute ja lisäapu osoitteessa:
 'excontentauthor' => 'sisälsi: ”$1” (ainoa muokkaaja oli $2)',
 'exbeforeblank' => 'ennen tyhjentämistä sisälsi: ”$1”',
 'exblank' => 'oli tyhjä',
-'delete-confirm' => 'Sivun ”$1” poistaminen',
+'delete-confirm' => 'Poista ”$1”',
 'delete-legend' => 'Sivun poisto',
 'historywarning' => "'''Varoitus:''' Sivua, jota olet poistamassa, on muokattu noin $1 {{PLURAL:$1|kerta|kertaa}}:",
 'confirmdeletetext' => 'Olet poistamassa sivun tai tiedoston ja kaiken sen historian. Ymmärrä teon seuraukset ja tee poisto {{GRAMMAR:genitive|{{SITENAME}}}} [[{{MediaWiki:Policy-url}}|käytäntöjen]] mukaisesti.',
@@ -2538,7 +2549,7 @@ Viimeisimmän muokkauksen on tehnyt käyttäjä [[User:$3|$3]] ([[User talk:$3|k
 'modifiedarticleprotection' => 'muutti sivun [[$1]] suojaustasoa',
 'unprotectedarticle' => 'poisti suojauksen sivulta [[$1]]',
 'movedarticleprotection' => 'siirsi suojausasetukset sivulta [[$2]] sivulle [[$1]]',
-'protect-title' => 'Sivun $1 suojaus',
+'protect-title' => 'Muuta suojausta sivulla ”$1”',
 'protect-title-notallowed' => 'Sivun $1 suojaustaso',
 'prot_1movedto2' => 'siirsi sivun [[$1]] uudelle nimelle [[$2]]',
 'protect-badnamespace-title' => 'Nimiavaruus ei suojattavissa',
@@ -2555,7 +2566,9 @@ Viimeisimmän muokkauksen on tehnyt käyttäjä [[User:$3|$3]] ([[User talk:$3|k
 'protect-locked-blocked' => "Et voi muuttaa sivun suojauksia, koska sinut on estetty. Alla on sivun ”'''$1'''” nykyiset suojaukset:",
 'protect-locked-dblock' => "Sivun suojauksia ei voi muuttaa, koska tietokanta on lukittu. Alla on sivun ”'''$1'''” nykyiset suojaukset:",
 'protect-locked-access' => "Sinulla ei ole tarvittavia oikeuksia sivujen suojauksen muuttamiseen. Alla on sivun ”'''$1'''” nykyiset suojaukset:",
-'protect-cascadeon' => 'Tämä sivu on suojauksen kohteena, koska se on sisällytetty alla {{PLURAL:$1|olevaan tartuttavasti suojattuun sivuun|oleviin tartuttavasti suojattuihin sivuihin}}. Voit muuttaa tämän sivun suojaustasoa, mutta se ei vaikuta tarttuvaan suojaukseen.',
+'protect-cascadeon' => 'Tämä sivu on suojauksen kohteena, koska se on sisällytetty alla {{PLURAL:$1|olevaan suojattuun sivuun, jossa|oleviin suojattuihin sivuihin, joissa}} on kytketty tarttuva suojaus päälle.
+
+Tämän sivun suojaustasoon tehdyillä muutoksilla ei ole vaikutusta sivuun muualta tarttuneeseen suojaukseen.',
 'protect-default' => 'Salli kaikki käyttäjät',
 'protect-fallback' => 'Salli vain käyttäjät, joilla on oikeus $1',
 'protect-level-autoconfirmed' => 'Vain hyväksytyt käyttäjät',
@@ -2843,7 +2856,7 @@ Muista [[Special:UnlockDB|poistaa tietokannan lukitus]] kun huolto on tehty.',
 'lockedbyandtime' => '(lukinnut {{GENDER:$1|$1}} $2 kello $3)',
 
 # Move page
-'move-page' => 'Sivun $1 siirto',
+'move-page' => 'Siirrä $1',
 'move-page-legend' => 'Siirrä sivu',
 'movepagetext' => "Alla olevalla lomakkeella voit nimetä uudelleen sivuja, jolloin niiden koko historia siirtyy uuden nimen alle.
 Vanhasta sivusta tulee ohjaussivu, joka osoittaa uuteen sivuun.
@@ -3875,9 +3888,9 @@ Yritä normaalia esikatselua.',
 'watchlistedit-numitems' => 'Tarkkailulistallasi on {{PLURAL:$1|yksi sivu|$1 sivua}}, lukuun ottamatta keskustelusivuja.',
 'watchlistedit-noitems' => 'Tarkkailulistasi on tyhjä.',
 'watchlistedit-normal-title' => 'Tarkkailulistan muokkaus',
-'watchlistedit-normal-legend' => 'Sivut',
+'watchlistedit-normal-legend' => 'Poista sivuja tarkkailulistalta',
 'watchlistedit-normal-explain' => 'Tarkkailulistasi sivut on lueteltu alla. Voit poistaa sivuja valitsemalla niitä vastaavat valintaruudut ja napsauttamalla ”{{int:Watchlistedit-normal-submit}}”. Voit myös muokata listaa [[Special:EditWatchlist/raw|tekstimuodossa]].',
-'watchlistedit-normal-submit' => 'Poista',
+'watchlistedit-normal-submit' => 'Poista kohteet',
 'watchlistedit-normal-done' => '{{PLURAL:$1|Yksi sivu|$1 sivua}} poistettiin tarkkailulistaltasi:',
 'watchlistedit-raw-title' => 'Tarkkailulistan muokkaus',
 'watchlistedit-raw-legend' => 'Tarkkailulistan muokkaus',
@@ -3891,9 +3904,9 @@ Voit myös muokata listaa [[Special:EditWatchlist|tavalliseen tapaan]].',
 'watchlistedit-raw-removed' => '{{PLURAL:$1|Yksi sivu|$1 sivua}} poistettiin:',
 
 # Watchlist editing tools
-'watchlisttools-view' => 'Näytä muutokset',
-'watchlisttools-edit' => 'Muokkaa listaa',
-'watchlisttools-raw' => 'Lista raakamuodossa',
+'watchlisttools-view' => 'Näytä tarkkaillut muutokset',
+'watchlisttools-edit' => 'Katso ja muokkaa tarkkailulistaa',
+'watchlisttools-raw' => 'Muokkaa listaa raakamuodossa',
 
 # Signatures
 'signature' => '[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|keskustelu]])',
@@ -4025,7 +4038,7 @@ Sinun olisi pitänyt saada [{{SERVER}}{{SCRIPTPATH}}/COPYING kopio GNU General P
 'compare-rev1' => 'Versio 1',
 'compare-rev2' => 'Versio 2',
 'compare-submit' => 'Vertaa',
-'compare-invalid-title' => 'Antamasi otsikko on virheellinen.',
+'compare-invalid-title' => 'Antamasi sivun nimi on virheellinen.',
 'compare-title-not-exists' => 'Määrittämääsi sivua ei ole.',
 'compare-revision-not-exists' => 'Määrittämääsi versiota ei ole.',
 
@@ -4172,20 +4185,21 @@ Muussa tapauksessa voit käyttää alla olevaa helpompaa lomaketta. Kommenttisi
 'rotate-comment' => 'Kuvaa käännettiin $1 {{PLURAL:$1|aste|astetta}} myötäpäivään',
 
 # Limit report
-'limitreport-title' => 'Jäsentimen profilointitiedot',
+'limitreport-title' => 'Jäsentimen profilointitiedot:',
 'limitreport-cputime' => 'Suorittimen ajankäyttö',
 'limitreport-cputime-value' => '$1 {{PLURAL:$1|sekunti|sekuntia}}',
 'limitreport-walltime' => 'Todellinen ajankäyttö',
 'limitreport-walltime-value' => '$1 {{PLURAL:$1|sekunti|sekuntia}}',
-'limitreport-ppvisitednodes' => 'Esikääntäjän läpikäymien solmujen määrä',
+'limitreport-ppvisitednodes' => 'Esikääntäjän läpikäymien solmujen määrä<br />(preprocessor visited node count)',
+'limitreport-ppgeneratednodes' => 'Esikääntäjän synnyttämien solmujen määrä <br />(preprocessor generated node count)',
 'limitreport-postexpandincludesize-value' => '$1/$2 {{PLURAL:$2|tavu|tavua}}',
-'limitreport-templateargumentsize' => 'Mallineen argumenttien koko',
+'limitreport-templateargumentsize' => 'Mallineen argumenttien koko<br />(template argument size)',
 'limitreport-templateargumentsize-value' => '$1/$2 {{PLURAL:$2|tavu|tavua}}',
 'limitreport-expansiondepth' => 'Highest expansion depth',
 'limitreport-expensivefunctioncount' => 'Vaativien parserfunktioiden määrä',
 
 # Special:ExpandTemplates
-'expandtemplates' => 'Mallineiden laajennus',
+'expandtemplates' => 'Laajenna mallineet',
 'expand_templates_intro' => 'Tämä toimintosivu ottaa syötteeksi tekstiä ja laajentaa kaikki siinä olevat mallineet rekursiivisesti.
 Se myös laajentaa tuetut parserifunktiot kuten
 <code><nowiki>{{</nowiki>#language:...}}</code> ja -muuttujat kuten
index c2d6d30..05a3669 100644 (file)
@@ -359,7 +359,6 @@ $1',
 'disclaimers' => 'Fyrivarni',
 'disclaimerpage' => 'Project:Generelt fyrivarni',
 'edithelp' => 'Rættingarhjálp',
-'helppage' => 'Help:Innihald',
 'mainpage' => 'Forsíða',
 'mainpage-description' => 'Forsíða',
 'policy-url' => 'Project:Handfaring av persónligum upplýsingum',
@@ -824,7 +823,7 @@ Tað kann vera flutt ella blivið strikað meðan tú hevur hugt at síðuni.',
 Tað kann broytast á ''[[Special:ChangePassword|broyt loyniorð]]'' síðuni tá tú ritar inn.",
 'newarticle' => '(Nýggj)',
 'newarticletext' => "Tú ert komin eftir eini slóð til eina síðu, ið ikki er til enn. Skriva í kassan niðanfyri, um tú vilt byrja uppá hesa síðuna.
-(Sí [[{{MediaWiki:Helppage}}|hjálparsíðuna]] um tú ynskir fleiri upplýsingar).
+(Sí [$1 hjálparsíðuna] um tú ynskir fleiri upplýsingar).
 Ert tú komin higar av einum mistaki, kanst tú trýsta á '''aftur'''-knøttin á kagaranum.",
 'anontalkpagetext' => "----''Hetta er ein kjaksíða hjá einum dulnevndum brúkara, sum ikki hevur stovnað eina kontu enn, ella ikki brúkar hana. 
 Tí noyðast vit at brúka nummerisku IP-adressuna hjá honum ella henni.
@@ -837,7 +836,7 @@ ella [{{fullurl:{{FULLPAGENAME}}|action=edit}} rætta hesa síðu]</span>.',
 'noarticletext-nopermission' => 'Tað er í løtuni ongin tekstur á hesi síðu.
 Tú kanst [[Special:Search/{{PAGENAME}}|leita eftir hesum síðuheiti]] á øðrum síðum, 
 ella <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} leita eftir viðkomandi loggum]</span>, men tú hevur ikki loyvi til at stovna hesa síðu.',
-'missing-revision' => 'Endurskoðan #$1 av síðuni við heitinum "{{PAGENAME}}" er ikki til.
+'missing-revision' => 'Endurskoðan #$1 av síðuni við heitinum "{{FULLPAGENAME}}" er ikki til.
 
 Hetta skyldast vanliga tað, at tú fylgir einari gamlari søguslóð til eina síðu, sum er blivin slettað. 
 Nærri frágreiðing kanst tú finna í [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} strikingar logginum].',
@@ -1055,8 +1054,7 @@ Tú kanst síggja munin; smálutir eru at finna í [{{fullurl:{{#Special:Log}}/s
 'revdelete-no-file' => 'Nevnda fíla er ikki til.',
 'revdelete-show-file-confirm' => 'Ert tú vís/ur í, at tú ynskir at síggja eina strikaða endurskoðan av fíluni "<nowiki>$1</nowiki>" frá $2 kl. $3?',
 'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''{{PLURAL:$2|Valda versjón|Valdar versjónir}} hjá [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Útvald logghending|Útvaldar logghendingar}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Útvald logghending|Útvaldar logghendingar}}:',
 'revdelete-confirm' => 'Vinarliga vátta, at tú ætlar at gera hetta, at tú skilir avleiðingarnar, og at tú ger hetta í samsvari við [[{{MediaWiki:Policy-url}}|mannagongdirnar]].',
 'revdelete-legend' => 'Set avmarkinga fyri sjónligheit',
 'revdelete-hide-text' => 'Versjónstekstur',
index e453ec5..8c5ce8e 100644 (file)
@@ -52,6 +52,7 @@
  * @author Jean-Frédéric
  * @author JeanVoisin
  * @author Jens Liebenau
+ * @author John Trololo
  * @author Jul law
  * @author Klutzy
  * @author Korg
@@ -92,6 +93,7 @@
  * @author Sherbrooke
  * @author Shirayuki
  * @author Skalman
+ * @author Solucer
  * @author The Evil IP address
  * @author Tititou36
  * @author TouzaxA
@@ -670,7 +672,6 @@ $1",
 'disclaimers' => 'Avertissements',
 'disclaimerpage' => 'Project:Avertissements généraux',
 'edithelp' => 'Aide',
-'helppage' => 'Help:Accueil',
 'mainpage' => 'Accueil',
 'mainpage-description' => 'Accueil',
 'policy-url' => 'Project:Règles',
@@ -1136,8 +1137,8 @@ Elle a peut-être été déplacée ou supprimée depuis que vous avez lu cette p
 'accmailtext' => "Un mot de passe généré aléatoirement pour [[User talk:$1|$1]] a été envoyé à $2.
 Il peut être modifié sur la page ''[[Special:ChangePassword|Changement de mot de passe]]'' après connexion.",
 'newarticle' => '(Nouveau)',
-'newarticletext' => "Vous avez suivi un lien vers une page qui n’existe pas encore ou qui a été [{{fullurl:Special:Log|type=delete&page={{FULLPAGENAMEE}}}} effacée]
-Pour créer cette page, entrez votre texte dans la boîte ci-après (vous pouvez consulter [[{{MediaWiki:Helppage}}|la page d’aide]] pour plus d’informations). 
+'newarticletext' => "Vous avez suivi un lien vers une page qui n’existe pas encore. 
+Afin de créer cette page, entrez votre texte dans la boîte ci-après (vous pouvez consulter [$1 la page d’aide] pour plus d’informations). 
 Si vous êtes arrivé{{GENDER:||e|(e)}} ici par erreur, cliquez sur le bouton '''retour''' de votre navigateur.",
 'anontalkpagetext' => "---- ''Vous êtes sur la page de discussion d'un utilisateur anonyme qui n'a pas encore créé de compte ou qui n'en utilise pas. Pour cette raison, nous devons utiliser son adresse IP pour l'identifier. Une adresse IP peut être partagée par plusieurs utilisateurs. Si vous êtes un{{GENDER:||e|}} utilisat{{GENDER:|eur|rice|eur}} anonyme et si vous constatez que des commentaires qui ne vous concernent pas vous ont été adressés, vous pouvez [[Special:UserLogin/signup|créer un compte]] ou [[Special:UserLogin|vous connecter]] afin d'éviter toute confusion future avec d'autres contributeurs anonymes.''",
 'noarticletext' => 'Il n’y a pour l’instant aucun texte sur cette page.
@@ -1147,7 +1148,7 @@ ou [{{fullurl:{{FULLPAGENAME}}|action=edit}} créer cette page]</span>.',
 'noarticletext-nopermission' => 'Il n\'y a pour l\'instant aucun texte sur cette page.
 Vous pouvez [[Special:Search/{{PAGENAME}}|faire une recherche sur ce titre]] dans les autres pages,
 ou <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} rechercher dans les journaux associés]</span>.',
-'missing-revision' => "La révision n° $1 de la page intitulée « {{PAGENAME}} » n'existe pas.
+'missing-revision' => "La révision n° $1 de la page intitulée « {{FULLPAGENAME}} » n'existe pas.
 
 Cela survient en général en suivant un lien historique obsolète vers une page qui a été supprimée.
 Vous pouvez trouver plus de détails dans le [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} journal des suppressions].",
@@ -1373,8 +1374,9 @@ Vous pouvez voir ce diff ; des détails sont disponibles dans le [{{fullurl:{{#S
 'revdelete-no-file' => "Le fichier spécifié n'existe pas.",
 'revdelete-show-file-confirm' => 'Êtes-vous sûr de vouloir voir la révision supprimée du fichier « <nowiki>$1</nowiki> » datant du $2 à $3 ?',
 'revdelete-show-file-submit' => 'Oui',
-'revdelete-selected' => "'''{{PLURAL:$2|Version sélectionnée|Versions sélectionnées}} de '''[[:$1]]''' :'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Événement d'historique sélectionné|Événements d'historique sélectionnés}} :'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Révision sélectionnée|Révisions sélectionnées}} de [[:$2]] :',
+'revdelete-selected-file' => '{{PLURAL:$1|Version de fichier sélectionnée|Versions de fichier sélectionnées}} de [[:$2]] :',
+'logdelete-selected' => "{{PLURAL:$1|Événement d'historique sélectionné|Événements d'historique sélectionnés}} :",
 'revdelete-text-text' => "Les révisions supprimées continueront à apparaître dans l'historique de la page, mais une partie de leur contenu sera inaccessible au public.",
 'revdelete-text-file' => "Les versions de fichier supprimées continueront à apparaître dans l'historique des fichiers, mais une partie de leur contenu sera indisponible au public.",
 'logdelete-text' => 'Les évènements du journal supprimés continueront à apparaître dans les journaux, mais une partie de leur contenu sera indisponible au public.',
@@ -2243,6 +2245,11 @@ Entrée : ''typedecontenu''/''sous-type'', par exemple <code>image/jpeg</code>."
 # List redirects
 'listredirects' => 'Liste des redirections',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Liste de fichiers en double',
+'listduplicatedfiles-summary' => "C'est une liste de fichiers où la version la plus récente du fichier est une copie de la version la plus récente d'un autre fichier. Seuls les fichiers locaux sont examinés.",
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] a [[$3|{{PLURAL:$2|un doublon|$2 doublons}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Modèles inutilisés',
 'unusedtemplatestext' => 'Cette page liste toutes les pages de l’espace de noms « {{ns:template}} » qui ne sont incluses dans aucune autre page.
@@ -2826,7 +2833,7 @@ $1',
 'sp-contributions-blocked-notice-anon' => "Cette adresse IP est actuellement bloquée.
 La dernière entrée du journal des blocages est indiquée ci-dessous à titre d'information :",
 'sp-contributions-search' => 'Rechercher les contributions',
-'sp-contributions-suppresslog' => 'contributions des utilisateurs supprimées',
+'sp-contributions-suppresslog' => 'contributions masquées',
 'sp-contributions-username' => "Adresse IP ou nom d'utilisateur :",
 'sp-contributions-toponly' => 'Ne montrer que les contributions qui sont les dernières des articles',
 'sp-contributions-newonly' => 'Afficher uniquement les modifications qui sont des créations de page',
index 89c9c03..53e4262 100644 (file)
@@ -558,7 +558,6 @@ $1',
 'disclaimers' => 'Semonces',
 'disclaimerpage' => 'Project:Semonces g·ènèrales',
 'edithelp' => 'Éde',
-'helppage' => 'Help:Somèro',
 'mainpage' => 'Reçua',
 'mainpage-description' => 'Reçua',
 'policy-url' => 'Project:Règlles de dedens',
@@ -1010,7 +1009,7 @@ Pôt-étre el est étâye dèplaciêe ou ben ôtâye dês que vos éd liesu cela
 Lo contresegno por cél compto novél pôt étre changiê sur la pâge de ''[[Special:ChangePassword|changement de contresegno]]'' aprés s’étre branchiê.",
 'newarticle' => '(Novél)',
 'newarticletext' => "Vos éd siuvu un lim de vers na pâge qu’ègziste p’oncor.
-Por fâre cela pâge, buchiéd voutron tèxto dedens la bouèta ce-desot (vêde la [[{{MediaWiki:Helppage}}|pâge d’éde]] por més d’enformacions).
+Por fâre cela pâge, buchiéd voutron tèxto dedens la bouèta ce-desot (vêde la [$1 pâge d’éde] por més d’enformacions).
 Se vos éte arrevâ{{GENDER:||ye|(ye)}} ice per fôta, clicâd sur lo boton '''Devant''' de voutron navigator.",
 'anontalkpagetext' => "----''O est la pâge de discussion d’un utilisator anonimo qu’at p’oncor fêt un compto ou ben que nen emplèye pas.
 Por cen nos devens empleyér la sin’adrèce IP numerica por lo recognetre.
@@ -1022,7 +1021,7 @@ Vos pouede [[Special:Search/{{PAGENAME}}|fâre na rechèrche sur cél titro]] de
 ou ben [{{fullurl:{{FULLPAGENAME}}|action=edit}} fâre cela pâge]</span>.',
 'noarticletext-nopermission' => 'Ora y at gins de tèxto dedens cela pâge.
 Vos pouede [[Special:Search/{{PAGENAME}}|fâre na rechèrche sur cél titro]] dedens les ôtres pâges ou ben <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} rechèrchiér dedens los jornals liyês]</span>, mas vos éd pas la pèrmission de fâre cela pâge.',
-'missing-revision' => 'La vèrsion numerô $1 de la pâge apelâye « {{PAGENAME}} » ègziste pas.
+'missing-revision' => 'La vèrsion numerô $1 de la pâge apelâye « {{FULLPAGENAME}} » ègziste pas.
 
 En g·ènèral cen arreve en siuvent un lim d’un historico dèpassâ de vers na pâge qu’est étâye suprimâye.
 Vos pouede trovar més de dètalys sur lo [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} jornal de les suprèssions].',
@@ -1256,8 +1255,7 @@ fonccion, la vèrsion spècifiâye ègziste pas ou ben vos èprovâd de cachiér
 'revdelete-no-file' => 'Lo fichiér spècifiâ ègziste pas.',
 'revdelete-show-file-confirm' => 'Est-o que vos éte de sûr de volêr vêre na vèrsion suprimâye du fichiér « <nowiki>$1</nowiki> » du $2 a $3 ?',
 'revdelete-show-file-submit' => 'Ouè',
-'revdelete-selected' => "'''{{PLURAL:$2|Vèrsion chouèsia|Vèrsions chouèsies}} de [[:$1]] :'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Èvènement du jornal chouèsi|Èvènements du jornal chouèsis}} :'''",
+'logdelete-selected' => '{{PLURAL:$1|Èvènement du jornal chouèsi|Èvènements du jornal chouèsis}} :',
 'revdelete-confirm' => 'Se vos plét, confirmâd qu’o est franc cen que vos voléd fâre, que vos en compregnéd les consèquences et pués que vos o féte en acôrd avouéc les [[{{MediaWiki:Policy-url}}|règlles de dedens]].',
 'revdelete-suppress-text' => "La rèprèssion dêt étre empleyêe '''ren que''' dens cetos câs :
 * Enformacions que pôvont étre difamatouères
index 8959ea0..4ca6abe 100644 (file)
@@ -268,7 +268,6 @@ $1',
 'disclaimers' => 'Disclaimers',
 'disclaimerpage' => 'Project:Disclaimers',
 'edithelp' => "Halep bi't bewerkin",
-'helppage' => 'Help:Auersicht',
 'mainpage' => 'Hoodsidj',
 'mainpage-description' => 'Hoodsidj',
 'policy-url' => 'Project:Reegeln',
@@ -470,6 +469,7 @@ Ferjid det ei, an aachte üüb din [[Special:Preferences|{{SITENAME}} iinstelang
 '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.
 Brük det formulaar diar oner, am di mä en öödern nööm uuntumeldin.',
 'userlogin-createanother' => 'En ööder brükerkonto iinracht',
@@ -564,6 +564,10 @@ Wees so gud an teew $1, iar dü det noch ans ferschükst.',
 'loginlanguagelabel' => 'Spriak: $1',
 'suspicious-userlogout' => 'Din ufmeldang as ei föörnimen wurden, auer det uunfraag ferlicht faan en uunstakenen browser of faan en cache-proxy kaam.',
 'createacct-another-realname-tip' => 'Stäänt tu wool. Wan dü dan rochten nööm uundääst, koon hi mä din feranrangen ferbünjen wurd.',
+'pt-login' => 'Uunmelde',
+'pt-login-button' => 'Uunmelde',
+'pt-createaccount' => 'Brükerkonto iinracht',
+'pt-userlogout' => 'Ufmelde',
 
 # Email sending
 'php-mail-error-unknown' => 'Ünbekäänd feeler mä det funktjuun mail() faan PHP.',
@@ -572,8 +576,7 @@ Wees so gud an teew $1, iar dü det noch ans ferschükst.',
 
 # Change password dialog
 'changepassword' => 'Paaswurd feranre',
-'resetpass_announce' => 'Dü heest di mä di code uunmeldet, di dü per e-mail tuschüürd füngen heest.
-Am det uunmeldin uftuslütjen, skel dü en nei paaswurd iindu.',
+'resetpass_announce' => 'Am det uunmeldin uftuslütjen, skel dü en nei paaswurd iindu.',
 'resetpass_header' => 'Paaswurd feranre',
 'oldpassword' => 'Ual paaswurd:',
 'newpassword' => 'Nei paaswurd:',
@@ -589,8 +592,16 @@ Wees so gud an teew $1, iar dü det noch ans ferschükst.',
 'resetpass-wrong-oldpass' => 'Detdiar paaswurd docht niks.
 Ferlicht heest dü jüst din paaswurd feranert
 of am en nei paaswurd uunfraaget.',
+'resetpass-recycled' => 'Wees so gud an lei en nei paaswurd fääst.',
+'resetpass-temp-emailed' => 'Dü heest di mä en tidjwiis code uunmeldet.
+Am det uunmeldin uftuslütjen, lei nü en nei paaswurd fääst:',
 'resetpass-temp-password' => 'Tidjwiis paaswurd:',
 'resetpass-abort-generic' => 'Det paaswurd-anerang as ferhanert wurden.',
+'resetpass-expired' => 'Din paaswurd as uflepen. Wees so gud an lei en nei paaswurd fääst.',
+'resetpass-expired-soft' => 'Din paaswurd as uflepen an skal turagsaat wurd. Wees so gud an lei en nei paaswurd fääst of trak üüb "{{int:resetpass-submit-cancel}}", am det leeder turag tu saaten.',
+'resetpass-validity-soft' => 'Din paaswurd gongt ei: $1
+
+Wees so gud an lei en nei paaswurd fääst, of trak üüb "{{int:resetpass-submit-cancel}}" am det leeder turag tu saaten.',
 
 # Special:PasswordReset
 'passwordreset' => 'Paaswurd turagsaat',
@@ -729,7 +740,7 @@ Ferlicht as det stregen of fersköwen wurden, jüst üs dü det sidj bewerke wul
 'newarticle' => '(Nei)',
 'newarticletext' => "Dü beest en ferwisang tu en sidj fulagt, diar't noch ei jaft.
 Am det sidj iinturachten, skriiw dan tekst uun det fial för't bewerkin iin.
-Üüb det [[{{MediaWiki:Helppage}}|halepsidj]] fanjst dü halep.
+Üüb det [$1 halepsidj] fanjst dü halep.
 Wan dü ütj fersen heer beest, trak ianfach üüb di '''turag'''-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:UserLogin/signup|brükerkonto iinrachst]] of di [[Special:UserLogin|uunmeldest]], komt sowat ei weder föör.",
 'noarticletext' => 'Üüb detdiar sidj stäänt noch niks.
@@ -737,7 +748,7 @@ Dü könst didiar tiitel üüb ööder sidjen [[Special:Search/{{PAGENAME}}|sch
 <span class="plainlinks">uun [{{fullurl:{{#special:Log}}|page={{FULLPAGENAMEE}}}} logbuken schük] of detdiar sidj [{{fullurl:{{FULLPAGENAME}}|action=edit}} bewerke]</span>.',
 'noarticletext-nopermission' => 'Üüb detdiar sidj stäänt noch niks, oober dü mutst diar uk niks iinskriiw.
 Dü 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 "{{PAGENAME}}" jaft at ei.
+'missing-revision' => 'Det werjuun #$1 faan det sidj "{{FULLPAGENAME}}" jaft at ei.
 
 Det komt diar miast faan, dat en ual ferwisang stregen wurden as.
 Dü könst det uun\'t [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} logbuk faan stregen sidjen] efterlees.',
@@ -962,8 +973,11 @@ Dü könst di ferskeel uunluke. Wan dü muar wed wel, luke iin uun't [{{fullurl:
 'revdelete-no-file' => 'Son dateinööm as ei diar.',
 'revdelete-show-file-confirm' => 'Wel dü würelk det stregen werjuun faan det datei „<nowiki>$1</nowiki>“ faan di $2, am a klook $3 uunluke?',
 'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''{{PLURAL:$2|Ütjsoocht werjuun|Ütjsoocht werjuunen}} faan [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Ütjsoocht logbukiindrach|Ütjsoocht logbukiindracher}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Ütjsoocht logbukiindrach|Ütjsoocht logbukiindracher}}:',
+'revdelete-text-text' => "Stregen werjuunen bliiw uun't werjuunshistoore, man dialen diarfaan san ei för arken tu sen.",
+'revdelete-text-file' => "Stregen datei-werjuunen bliiw uun't werjuunshistoore, man dialen diarfaan san ei för arken tu sen.",
+'logdelete-text' => 'Stregen logbuk-iindracher bliiw uun a logbuken, man dialen diarfaan san ei för arken tu sen.',
+'revdelete-text-others' => 'Ööder administratooren faan {{SITENAME}} kön widjerhen ales uunluke an kön det uk weder mä detheer spezial-sidj iinstel, wan diar niks ööders uun a wai as.',
 'revdelete-confirm' => 'Ferseekre noch ans, dat dü det würelk du wel, dat dü witjst, wat dü dääst, an dat det mä a [[{{MediaWiki:Policy-url}}|bestemangen]] auerian stemet.',
 'revdelete-suppress-text' => "Det skul '''bluas''' onertrakt wurd bi:
 * Persöönelk informatsjuunen, diar näämen wat uungung
@@ -1096,7 +1110,7 @@ Dü könst det uun't [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}}
 'search-file-match' => '(fünjen tekst)',
 'search-suggest' => 'Mendst dü „$1“?',
 'search-interwiki-caption' => 'Saster-projekten',
-'search-interwiki-default' => '$1 resultaaten:',
+'search-interwiki-default' => 'Resultaaten faan $1:',
 'search-interwiki-more' => '(muar)',
 'search-relatedarticle' => 'Ferbünjen',
 'searcheverything-enable' => 'Uun arke nöömrüm schük',
@@ -1420,14 +1434,26 @@ Arken koon det lees.',
 'recentchanges-legend-heading' => "'''Ferklaarang:'''",
 'recentchanges-legend-newpage' => "(luke uk bi't [[Special:NewPages|list mä nei sidjen]])",
 'recentchanges-legend-plusminus' => "(''±123'')",
-'rcnotefrom' => "Diar wurd a feranrangen sant '''$2'''uunwiset (ei muar üs '''$1''' feranrangen).",
+'rcnotefrom' => 'Diar wurd a feranrangen sant <strong>$2</strong>uunwiset (ei muar üs <strong>$1</strong> feranrangen).',
 'rclistfrom' => 'Bluas feranrangen sant $1 wise.',
 'rcshowhideminor' => '$1 letj feranrangen',
+'rcshowhideminor-show' => 'Wise',
+'rcshowhideminor-hide' => 'Fersteeg',
 'rcshowhidebots' => '$1 bots',
+'rcshowhidebots-show' => 'Wise',
+'rcshowhidebots-hide' => 'Fersteeg',
 'rcshowhideliu' => '$1 registriaret brükern',
+'rcshowhideliu-show' => 'Wise',
+'rcshowhideliu-hide' => 'Fersteeg',
 'rcshowhideanons' => '$1 anonüüm brükern',
+'rcshowhideanons-show' => 'Wise',
+'rcshowhideanons-hide' => 'Fersteeg',
 'rcshowhidepatr' => '$1 efterluket feranrangen',
+'rcshowhidepatr-show' => 'Wise',
+'rcshowhidepatr-hide' => 'Fersteeg',
 'rcshowhidemine' => '$1 min bidracher',
+'rcshowhidemine-show' => 'Wise',
+'rcshowhidemine-hide' => 'Fersteeg',
 'rclinks' => 'Wise a leetst $1 feranrangen faan a leetst $2 daar.<br />$3',
 'diff' => 'ferskeel',
 'hist' => 'werjuunen',
@@ -1550,6 +1576,7 @@ Dü skulst hoker fraage, di ferbürgen nöömer uunluke koon, am tu besnaakin, w
 'php-uploaddisabledtext' => 'Det huuchschüüren faan datein as uun PHP ei aktiwiaret.
 Luke di det iinstelang faan <code>file_uploads</code> uun.',
 'uploadscripted' => 'Uun detdiar datei stäänt HTML- of Scriptcode, an küd ütj fersen faan en browser ütjfeerd wurd.',
+'uploadscriptednamespace' => 'Detdiar SVG-datei wiset üüb en ferkiarden nöömrüm "$1".',
 'uploadinvalidxml' => "Det XML uun det huuchschüürd datei küd ei ''parset'' wurd.",
 'uploadvirus' => 'Uun detdiar datei as en wiirus! Details: $1',
 'uploadjava' => 'Detdiar as en ZIP-datei mä en CLASS-datei faan Java.
@@ -1787,6 +1814,11 @@ Det formoot as leewen slach/onerslach üs uun det bispal: <code>image/jpeg</code
 # List redirects
 'listredirects' => 'Widjerfeerangen',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'List faan datein mä duplikaaten',
+'listduplicatedfiles-summary' => 'Det as en list mä datein, huar det aktuel werjuun en duplikaat faan en ööder datei as. Det gongt bluas am lokaal datein.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] hää [[$3|{{PLURAL:$2|en duplikaat|$2 duplikaaten}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Ei iinbünjen föörlaagen',
 'unusedtemplatestext' => 'Sidjen uun a {{ns:template}}-nöömrüm, diar ei uun ööder sidjen iinbünjen san.
@@ -1900,6 +1932,7 @@ Uun arke rä stun ferwisangen tu't iarst an ööder widjerfeerang an uk tu det s
 'deadendpagestext' => 'Jodiar sidjen ferwise ei üüb ööder sidjen uun {{SITENAME}}.',
 'protectedpages' => 'Seekert sidjen',
 'protectedpages-indef' => 'Bluas permanent seekert sidjen uunwise',
+'protectedpages-summary' => 'Detdiar sidj feert seekert sidjen ap. En list mä seekert sidjennöömer fanjst dü diar: „[[{{#special:ProtectedTitles}}|{{int:protectedtitles}}]]“.',
 'protectedpages-cascade' => 'Bluas sidjen mä kaskaaden-seekerhaid',
 'protectedpages-noredirect' => 'Widjerfeerangen fersteeg',
 'protectedpagesempty' => 'Uun uugenblak san sok sidjen ei seekert.',
@@ -1912,6 +1945,7 @@ Uun arke rä stun ferwisangen tu't iarst an ööder widjerfeerang an uk tu det s
 'protectedpages-unknown-timestamp' => 'Ünbekäänd',
 'protectedpages-unknown-performer' => 'Ünbekäänd brüker',
 'protectedtitles' => 'Seekert sidjennöömer',
+'protectedtitles-summary' => 'Detdiar sidj feert seekert sidjennöömer ap. En list mä seekert sidjen fanjst dü diar: „[[{{#special:ProtectedPages}}|{{int:protectedpages}}]]“.',
 'protectedtitlesempty' => 'Uun uugenblak san sok sidjen ei speret.',
 'listusers' => 'Brükerfertiaknis',
 'listusers-editsonly' => 'Wise bluas aktiif brükern',
@@ -2174,7 +2208,7 @@ Halep an muar diartu: {{canonicalurl:{{MediaWiki:Helppage}}}}',
 'delete-edit-reasonlist' => "Grünjer för't striken bewerke",
 '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.",
-'deleting-backlinks-warning' => "'''Paase üüb:''' Diar ferwise noch ööder sidjen üüb det sidj, diar dü strik wel. Of det sidj as noch huarööders iinbünjen.",
+'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.",
 
 # Rollback
 'rollback' => 'Feranrangen turagsaat',
@@ -2346,8 +2380,10 @@ $1",
 'sp-contributions-blocked-notice' => "Didiar brüker as speret. Det stäänt uun't sperlogbuk:",
 'sp-contributions-blocked-notice-anon' => "Detdiar IP-adres as speret. Det stäänt uun't sperlogbuk:",
 'sp-contributions-search' => 'Schük efter brükerbidracher',
+'sp-contributions-suppresslog' => 'Ei uunwiset brüker-bidracher',
 'sp-contributions-username' => 'IP-adres of brükernööm:',
 'sp-contributions-toponly' => 'Bluas aktuel werjuunen wise',
+'sp-contributions-newonly' => 'Bluas nei maaget sidjen wise',
 'sp-contributions-submit' => 'Schük',
 
 # What links here
index 1bfd79a..04a36e2 100644 (file)
@@ -364,7 +364,6 @@ $1',
 'disclaimers' => 'Avîs legâi',
 'disclaimerpage' => 'Project:Avîs gjenerâi',
 'edithelp' => 'Jutori pai cambiaments',
-'helppage' => 'Help:Contignûts',
 'mainpage' => 'Pagjine principâl',
 'mainpage-description' => 'Pagjine principâl',
 'policy-url' => 'Project:Politiche',
@@ -628,7 +627,7 @@ Par plasê inclût la to direzion IP atuâl ($3) o il numar dal bloc (ID #$5) in
 
 La password par cheste identitât e pues jessi cambiade su la pagjine ''[[Special:ChangePassword|cambie password]]'' daspò de jentrade.",
 'newarticle' => '(Gnûf)',
-'newarticletext' => "Tu âs seguît un leam a une pagjine che no esist ancjemò. Par creâ une pagjine, scomence a scrivi tal spazi ca sot (cjale il [[{{MediaWiki:Helppage}}|jutori]] par altris informazions). Se tu sês ca par erôr, frache semplicementri il boton '''Indaûr''' dal to sgarfadôr.",
+'newarticletext' => "Tu âs seguît un leam a une pagjine che no esist ancjemò. Par creâ une pagjine, scomence a scrivi tal spazi ca sot (cjale il [$1 jutori] par altris informazions). Se tu sês ca par erôr, frache semplicementri il boton '''Indaûr''' dal to sgarfadôr.",
 'anontalkpagetext' => "----''Cheste e je la pagjine di discussion di un utent anonim, che nol à ancjemò creât une identitât, o che no la vûl doprâ. Par identificâlu/e a doprin alore la so direzion IP. Lis direzions IP a podin però jessi condividudis di plui utents. Se tu sês un utent anonim e tu crodis che ti vedin fat coments che no si riferissin a ti, par plasê [[Special:UserLogin|cree une gnove identitâ o jentre]] cun chê che tu âs za cussì tu evitarâs in futûr di jessi confondût un altris utents anonims.''",
 'noarticletext' => 'Par cumò nol è nuie in cheste pagjine.
 Tu puedis [[Special:Search/{{PAGENAME}}|cirî chest titul]] in altris pagjinis o <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} cirî i regjistris leâts],
index 53c3a3b..73f7c1b 100644 (file)
@@ -378,7 +378,6 @@ $1",
 'disclaimers' => 'Foarbehâld',
 'disclaimerpage' => 'Project:Algemien foarbehâld',
 'edithelp' => 'Bewurk-help',
-'helppage' => 'Help:Help',
 'mainpage' => 'Haadside',
 'mainpage-description' => 'Haadside',
 'policy-url' => 'Project:Belied',
@@ -705,7 +704,7 @@ Jo tsjintwurdich e-postadres is $3 en it útsletnûmer is #$5. Neam beide gegeve
 'newarticle' => '(Nij)',
 'newarticletext' => "Jo hawwe in keppeling folge nei in side dêr't noch gjin tekst op stiet.
 Om sels tekst te meistjsen kinne jo dy gewoan yntype in dit bewurkingsfjild
-([[{{MediaWiki:Helppage}}|Mear ynformaasje oer bewurkjen]].)
+([$1 Mear ynformaasje oer bewurkjen].)
 Oars kinne jo tebek mei de tebek-knop fan jo blêder.",
 'anontalkpagetext' => "----''Dit is de oerlisside fan in ûnbekende meidogger; in meidogger dy't him/har net oanmeld hat. Om't der gjin namme bekend is, wurdt it ynternet-adres brûkt om oan te jaan wa. Mar faak is it sa dat sa'n adres net altyd troch deselde persoan brûkt wurdt. As jo it idee hawwe dat jo as ûnbekende meidogger opmerkings foar in oar krije, dan kinne jo jo [[Special:UserLogin/signup|registrearje]], of jo [[Special:UserLogin|oanmelde]]. Fan in oanmelde meidogger is it ynternet-adres net sichtber, en as oanmelde meidogger krije jo allinnich opmerkings dy't foar josels bedoeld binne.''",
 'noarticletext' => 'Der stjit noch gjin tekst op dizze side. Jo kinne
@@ -870,8 +869,7 @@ der kinne details wêze yn it [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPA
 'revdelete-nooldid-text' => 'Jo hawwe gjin doelferzje(s) foar dizze hanneling opjûn, de oanjûne ferzje bestiet net, of jo besykje de lêste ferzje te ferskûljen.',
 'revdelete-no-file' => 'De spesifisearre triem bestiet net.',
 'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''Spesifisearre {{PLURAL:$2|ferzje|ferzjes}} fan [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|keazen lochboekregel|keazen lochboekregels}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|keazen lochboekregel|keazen lochboekregels}}:',
 'revdelete-legend' => 'Sichtberensbeheinings ynstelle.',
 'revdelete-hide-text' => 'De bewurke tekst ferskûlje',
 'revdelete-hide-image' => 'Triem ynhâld ferskûlje',
index e581769..415f0c7 100644 (file)
@@ -318,7 +318,6 @@ $messages = array(
 'disclaimers' => 'Séanadh',
 'disclaimerpage' => 'Project:Séanadh_ginearálta',
 'edithelp' => 'Cabhair eagarthóireachta',
-'helppage' => 'Help:Clár_ábhair',
 'mainpage' => 'Príomhleathanach',
 'mainpage-description' => 'Príomhleathanach',
 'policy-url' => 'Project:Polasaí',
@@ -624,7 +623,7 @@ Is é $3 do sheoladh IP agus #$5 do ID coisc. Déan tagairt don seoladh seo le g
 'newarticle' => '(Nua)',
 'newarticletext' => "Lean tú nasc chuig leathanach nach bhfuil ann fós.
 Chun an leathanach a chruthú, tosaigh ag clóscríobh sa bhosca thíos
-(féach ar an [[{{MediaWiki:Helppage}}|leathanach cabhrach]] chun a thuilleadh eolais a fháil).
+(féach ar an [$1 leathanach cabhrach] chun a thuilleadh eolais a fháil).
 Má tháinig tú anseo as dearmad, brúigh an cnaipe '''ar ais''' ar do bhrabhsálaí.",
 'anontalkpagetext' => "---- ''Leathanach plé é seo a bhaineann le húsáideoir gan ainm nár chruthaigh cuntas fós, nó nach bhfuil ag úsáid an chuntais. Dá bhrí sin, caithfimid an seoladh IP a úsáid chun é/í a (h)ionannú. Is féidir le níos mó ná úsáideoir amháin an seoladh IP céanna a úsáid. Má tá tú i d'úsáideoir gan ainm agus má cheapann tú go bhfuil teachtaireachtaí nach mbaineann leat seolta chugat, [[Special:UserLogin|cruthaigh cuntas]] nó [[Special:UserLogin|logáil isteach]] chun mearbhall le húsáideoirí eile gan ainmneacha a éalú amach anseo.''",
 'noarticletext' => 'Níl aon téacs ar an leathanach seo faoi láthair.
@@ -733,8 +732,7 @@ Treoir: (rth) = difríocht ón leagan reatha, (rmh) = difríocht ón leagan roim
 'revisiondelete' => 'Scrios/díscrios leagain',
 'revdelete-show-file-confirm' => 'An bhfuil tú cinnte gur mhaith leat féach ar leasú scriosta don chomhad "<nowiki>$1</nowiki>" ó $2 ag $3?',
 'revdelete-show-file-submit' => 'Tá',
-'revdelete-selected' => "'''{{PLURAL:$2|Leagan roghnaithe|Leagain roghnaithe}} [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Teagmhas log roghnaithe|Teagmhais log roghnaithe}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Teagmhas log roghnaithe|Teagmhais log roghnaithe}}:',
 'revdelete-hide-text' => 'Folaigh leagan téacs',
 'revdelete-radio-same' => 'ná hathraigh',
 'revdelete-radio-set' => 'Is ea',
index 0b11a8f..04f3410 100644 (file)
@@ -281,7 +281,6 @@ $messages = array(
 'disclaimers' => 'Cuvapçılık reti',
 'disclaimerpage' => 'Project:Genel cuvapçılık reti',
 'edithelp' => 'Nesoy var nicä diiştirmää?',
-'helppage' => 'Help:İçindekilär',
 'mainpage' => 'Baş yaprak',
 'mainpage-description' => 'Baş yaprak',
 'policy-url' => 'Project:Politika',
@@ -470,7 +469,7 @@ Herliim girmediniz [[Special:Preferences|seçimner]] bölümünde geçerli bir e
 'accmailtitle' => 'Parol gönderildi.',
 'accmailtext' => '[[User talk:$1|$1]] kullanıcısın parolu $2 adresine gönderildi.',
 'newarticle' => '(Eni)',
-'newarticletext' => "Henez var olmayan bir sayfaya konulmuş baalantıya tuşladınız. Bu sayfayı yaratmaa deyni aşaadaki tekst kutusunu kullanınız. Bilgi için [[{{MediaWiki:Helppage}}|yardım sayfasına]] bakınız. Herliim buraya yannış geldiniz, läazım tuşlamaa programınızın '''Geeri''' tuşuna.",
+'newarticletext' => "Henez var olmayan bir sayfaya konulmuş baalantıya tuşladınız. Bu sayfayı yaratmaa deyni aşaadaki tekst kutusunu kullanınız. Bilgi için [$1 yardım sayfasına] bakınız. Herliim buraya yannış geldiniz, läazım tuşlamaa programınızın '''Geeri''' tuşuna.",
 'noarticletext' => 'Bu sayfa boş.
 Bu başlıı [[Special:Search/{{PAGENAME}}|var nicä aramaa]] übür sayfalarda yaki bu sayfayı siz <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} ilgili günlükleri arayabilir], ya [{{fullurl:{{FULLPAGENAME}}|action=edit}} var nicä yazmaa]</span>.',
 'updated' => '(Enilendi)',
index 034c811..c41dc20 100644 (file)
@@ -179,7 +179,7 @@ $messages = array(
 'vector-action-move' => '移吥',
 'vector-action-protect' => '护到',
 'vector-action-undelete' => '望下删吥𠮶页面',
-'vector-action-unprotect' => '解除保护',
+'vector-action-unprotect' => '更改保护',
 'vector-view-create' => '创建',
 'vector-view-edit' => '编辑',
 'vector-view-history' => '望下历史',
@@ -260,7 +260,6 @@ $1',
 'disclaimers' => '免责声明',
 'disclaimerpage' => 'Project:免责声明',
 'edithelp' => '编写帮助',
-'helppage' => 'Help:说明',
 'mainpage' => '封面',
 'mainpage-description' => '封面',
 'policy-url' => 'Project:政策',
@@ -516,7 +515,7 @@ $2',
 'accmailtext' => "'$1'𠮶密码发到$2嘞。",
 'newarticle' => '(新)',
 'newarticletext' => '个系只冇拕建立𠮶页面。
-要新开个只页面,请到下首𠮶方框里头编写内容(望吖[[{{MediaWiki:Helppage}}|说明]]𠮶细节)。
+要新开个只页面,请到下首𠮶方框里头编写内容(望吖[$1 说明]𠮶细节)。
 若系汝伓系特事来到个首,捺吖浏览器𠮶「去还」键即得去还。',
 'anontalkpagetext' => "---- ''个系匿名用户𠮶讨论页,话伓定佢哈冇开只帐户。别人单用得正IP地址同佢联系。个只IP地址可能有好几只用户共用。如果倷系匿名用户,觉得个页𠮶内容同倷冇关,欢迎去[[Special:UserLogin|开只新帐户或登入]],省得同别𠮶匿名用户扤混来。''",
 'noarticletext' => '眼下个页哈冇内容,倷可以到别𠮶页面[[Special:Search/{{PAGENAME}}|寻吖个页𠮶标题]],
@@ -621,7 +620,7 @@ $2',
 'cur' => '眼前',
 'next' => '之后',
 'last' => '之前',
-'page_first' => '最',
+'page_first' => '最',
 'page_last' => '最晏',
 'histlegend' => '差异选择: 标到伓同版本𠮶单选键,接到按吖督上𠮶键比较下。<br />
 说明: (眼下) 指同目前版本𠮶比较,(之前) 指同之前修改版本𠮶比较,细 = 细修改。',
@@ -649,8 +648,7 @@ $2',
 'revisiondelete' => '删除/反删除修改',
 'revdelete-nooldid-title' => '冇目标修订',
 'revdelete-nooldid-text' => '倷冇话个只操作𠮶目标修改。',
-'revdelete-selected' => "'''拣[[:$1]]𠮶$2回修订:'''",
-'logdelete-selected' => "'''拣'''$1'''𠮶$2只日志事件:'''",
+'logdelete-selected' => '拣$1𠮶$2只日志事件:',
 'revdelete-legend' => '设置可见性𠮶限制',
 'revdelete-hide-text' => '弆到修改内容',
 'revdelete-hide-image' => '弆到档内容',
@@ -1343,7 +1341,7 @@ $NEWPAGE
 'undelete-revision' => '删卟$1由$3(到$2)编写𠮶修改版本:',
 'undeleterevision-missing' => '冇用或跌掉𠮶修改版本。话伓定倷碰到只错误𠮶链接,要卟就系个只版本早从存盘恢复或换卟嘞。',
 'undelete-nodiff' => '冇寻到以前𠮶版本。',
-'undeletebtn' => '恢复',
+'undeletebtn' => '还原',
 'undeletelink' => '还原',
 'undeleteviewlink' => '望吖',
 'undeletecomment' => '评论:',
@@ -2094,7 +2092,7 @@ $3
 # Auto-summaries
 'autosumm-blank' => '移卟页面𠮶全部内容',
 'autosumm-replace' => "搦页面换到 '$1'",
-'autoredircomment' => '重定向[[$1]]',
+'autoredircomment' => '重定向页面至[[$1]]',
 'autosumm-new' => '新页: $1',
 
 # Live preview
index ae169be..1a595fd 100644 (file)
@@ -282,7 +282,6 @@ $1',
 'disclaimers' => '免責聲明',
 'disclaimerpage' => 'Project:免責聲明',
 'edithelp' => '編寫幫助',
-'helppage' => 'Help:説明',
 'mainpage' => '封面',
 'mainpage-description' => '封面',
 'policy-url' => 'Project:政策',
@@ -538,7 +537,7 @@ $2',
 'accmailtext' => "'$1'嗰密碼發到$2嘞。",
 'newarticle' => '(新)',
 'newarticletext' => '箇係隻冇拕建立嗰頁面。
-要新開箇隻頁面,請到下首嗰方框裡頭編寫內容(望吖[[{{MediaWiki:Helppage}}|説明]]嗰細節)。
+要新開箇隻頁面,請到下首嗰方框裡頭編寫內容(望吖[$1 説明]嗰細節)。
 若係汝伓係特事來到箇首,捺吖瀏覽器嗰「去還」鍵即得去還。',
 'anontalkpagetext' => "---- ''箇係匿名用戶嗰討論頁,話伓定佢哈冇開隻帳戶。別人單用得正IP地址同佢聯繫。箇隻IP地址可能有好幾隻用戶共用。如果倷係匿名用戶,覺得箇頁嗰內容同倷冇關,歡迎去[[Special:UserLogin|開隻新帳戶或登入]],省得同別嗰匿名用戶扤混來。''",
 'noarticletext' => '眼下箇頁哈冇內容,汝到別嗰頁面[[Special:Search/{{PAGENAME}}|尋得正箇頁嗰標題]],
@@ -671,8 +670,7 @@ $2',
 'revisiondelete' => '刪除/反刪除修改',
 'revdelete-nooldid-title' => '冇目標修訂',
 'revdelete-nooldid-text' => '倷冇话箇隻操作嗰目标修改。',
-'revdelete-selected' => "'''揀[[:$1]]嗰$2回修訂:'''",
-'logdelete-selected' => "'''揀'''$1'''嗰$2隻日誌事件:'''",
+'logdelete-selected' => '揀$1嗰$2隻日誌事件:',
 'revdelete-legend' => '設置可見性嗰限制',
 'revdelete-hide-text' => '弆到修改內容',
 'revdelete-hide-image' => '弆到檔內容',
@@ -2116,7 +2114,7 @@ $3
 # Auto-summaries
 'autosumm-blank' => '移卟頁面嗰全部內容',
 'autosumm-replace' => "搦頁面換到 '$1'",
-'autoredircomment' => '重定向[[$1]]',
+'autoredircomment' => '重定向页面至[[$1]]',
 'autosumm-new' => '新頁: $1',
 
 # Live preview
index 1cc2762..df3fcdc 100644 (file)
@@ -283,7 +283,6 @@ $1",
 'disclaimers' => 'Aithrisean-àichidh',
 'disclaimerpage' => 'Project:Aithris-àichidh choitcheann',
 'edithelp' => 'Cobhair deasachaidh',
-'helppage' => 'Help:Susbaint',
 'mainpage' => 'Prìomh dhuilleag',
 'mainpage-description' => 'Prìomh dhuilleag',
 'policy-url' => 'Project:Poileasaidh',
@@ -746,7 +745,7 @@ Dh'fhaoidte gun deach a ghluasad no a sguabadh às fhad 's a bha thu a' coimhead
 Gabhaidh am facal-faire airson a' chunntais ùir seo atharrachadh air an fo ''[[Special:ChangePassword|atharraich facal-faire]]'' as dèidh dhan chleachdaiche clàradh a-steach.",
 'newarticle' => '(Ùr)',
 'newarticletext' => "Lean thu ri ceangal gu duilleag nach eil ann fhathast.
-Cuir teacs sa bhogsa gu h-ìosal gus an duilleag seo a chruthachadh (seall air [[{{MediaWiki:Helppage}}|duilleag na cobharach]] airson barrachd fiosrachaidh).
+Cuir teacs sa bhogsa gu h-ìosal gus an duilleag seo a chruthachadh (seall air [$1 duilleag na cobharach] airson barrachd fiosrachaidh).
 Mura robh dùil agad ris an duilleag seo a ruigsinn, briog air a' phutan '''air ais''' 'nad bhrabhsair.",
 'anontalkpagetext' => "----''Seo an duilleag deasbaireachd aig cleachdaiche gun urra nach do chruthaich cunntas fhathast no nach eil 'ga chleachdadh.
 Feumaidh sinn an àireamh IP aca a chleachdadh air sgàth sin.
@@ -758,7 +757,7 @@ Mas e cleachdaiche gun urra a tha annad 's ma tha thu dhen bheachd nach eil na b
 no [{{fullurl:{{FULLPAGENAME}}|action=edit}} an duilleag seo a dheasachadh]</span>.',
 'noarticletext-nopermission' => 'Chan eil teacsa sam bith san duilleag seo an-dràsta.
 \'S urrainn dhut [[Special:Search/{{PAGENAME}}|tiotal na duilleige seo a lorg]] ann an duilleagan eile, no <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} na logaichean co-cheangailte a rannsachadh]</span> ach chan eil cead agad an duilleag seo a chruthachadh.',
-'missing-revision' => 'Chan eil mùthadh #$1 na duilleige "{{PAGENAME}}" ann.
+'missing-revision' => 'Chan eil mùthadh #$1 na duilleige "{{FULLPAGENAME}}" ann.
 
 Mar is trice, tachraidh seo ma leanas tu ceangal san eachdraidh a tha fìor aosta \'s a tha a\' dol gu duilleag a chaidh a sguabadh às.
 Gheibh thu mion-fhiosrachadh ann an [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} loga nan duilleagan a chaidh a sguabadh às].',
@@ -990,8 +989,7 @@ Gheibh thu mion-fhiosrachadh air [{{fullurl:{{#Special:Log}}/suppress|page={{FUL
 'revdelete-no-file' => 'Chan eil am faidhle a shònraich thu ann.',
 'revdelete-show-file-confirm' => 'A bheil thu cinnteach gu bheil thu airson coimhead air mùthadh an fhaidhle "<nowiki>$1</nowiki>" a chaidh a sguabadh às $2 aig $3?',
 'revdelete-show-file-submit' => 'Tha',
-'revdelete-selected' => "'''{{PLURAL:$2|Lèirmheas|Lèirmheasan}} de [[:$1]] a thagh thu:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|An tachartas loga|Na tachartasan loga}} a thagh thu:'''",
+'logdelete-selected' => '{{PLURAL:$1|An tachartas loga|Na tachartasan loga}} a thagh thu:',
 'revdelete-confirm' => "Dearbh gu bheil thu airson seo a dhèanamh, gu bheil thu a' tuigsinn na thachras ri linn agus gu bheil thu a' dèanamh seo a-rèir [[{{MediaWiki:Policy-url}}|a' phoileasaidh]].",
 'revdelete-suppress-text' => "Cha bu chòir dhut mùchadh a chleachdadh '''ach''' ann an suidheachaidhean mar seo:
 * Fiosrachadh a dh'fhaodadh a bhith dìteachail
index fbfee76..45f907d 100644 (file)
@@ -532,7 +532,6 @@ $1',
 'disclaimers' => 'Advertencias',
 'disclaimerpage' => 'Project:Advertencia xeral',
 'edithelp' => 'Axuda de edición',
-'helppage' => 'Help:Axuda',
 'mainpage' => 'Portada',
 'mainpage-description' => 'Portada',
 'policy-url' => 'Project:Políticas e normas',
@@ -732,6 +731,7 @@ Non esqueza personalizar as súas [[Special:Preferences|preferencias de {{SITENA
 '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}}.
 Utilice o formulario inferior para acceder como outro usuario.',
 'userlogin-createanother' => 'Crear outra conta',
@@ -834,6 +834,7 @@ Por favor, agarde $1 antes de probar outra vez.',
 'createacct-another-realname-tip' => 'O nome real é opcional.
 Se escolle dalo utilizarase para atribuír ao usuario o seu traballo.',
 'pt-login' => 'Acceder ao sistema',
+'pt-login-button' => 'Acceder ao sistema',
 'pt-createaccount' => 'Crear unha conta',
 'pt-userlogout' => 'Saír',
 
@@ -867,6 +868,9 @@ Para completar o acceso, defina un novo contrasinal aquí:',
 'resetpass-abort-generic' => 'Unha extensión cancelou a modificación do contrasinal.',
 'resetpass-expired' => 'O seu contrasinal caducou. Defina un novo contrasinal para acceder.',
 'resetpass-expired-soft' => 'O seu contrasinal caducou e debe restablecelo. Escolla un novo contrasinal ou prema en "{{int:resetpass-submit-cancel}}" para restablecelo máis tarde.',
+'resetpass-validity-soft' => 'O seu contrasinal non é válido: $1
+
+Escolla un novo contrasinal ou prema en "{{int:resetpass-submit-cancel}}" para restablecelo máis tarde.',
 
 # Special:PasswordReset
 'passwordreset' => 'Restablecer o contrasinal',
@@ -1016,7 +1020,7 @@ Poida que a movesen ou borrasen mentres ollaba a páxina.',
 'accmailtext' => 'Un contrasinal xerado ao chou para [[User talk:$1|$1]] foi enviado a $2. Pode modificarse na páxina de [[Special:ChangePassword|cambio de contrasinais]] tras acceder ao sistema.',
 'newarticle' => '(Novo)',
 'newarticletext' => "Seguiu unha ligazón a unha páxina que aínda non existe.
-Para crear a páxina, comece a escribir na caixa de embaixo (vexa a [[{{MediaWiki:Helppage}}|páxina de axuda]] para obter máis información).
+Para crear a páxina, comece a escribir na caixa inferior (consulte a [$1 páxina de axuda] para obter máis información).
 Se chegou aquí por erro, simplemente prema no botón '''atrás''' do seu navegador.",
 'anontalkpagetext' => "----''Esta é a páxina de conversa dun usuario anónimo que aínda non creou unha conta ou que non a usa. Polo tanto, empregamos o enderezo IP para a súa identificación. Este enderezo IP pódeno compartir varios usuarios distintos. Se pensa que foron dirixidos contra a súa persoa comentarios inadecuados, por favor, [[Special:UserLogin/signup|cree unha conta]] ou [[Special:UserLogin|acceda ao sistema]] para evitar futuras confusións con outros usuarios anónimos.''",
 'noarticletext' => 'Actualmente non hai ningún texto nesta páxina.
@@ -1025,7 +1029,7 @@ Pode [[Special:Search/{{PAGENAME}}|procurar polo título desta páxina]] noutras
 ou [{{fullurl:{{FULLPAGENAME}}|action=edit}} editar a páxina]</span>.',
 'noarticletext-nopermission' => 'Actualmente non hai ningún texto nesta páxina.
 Pode [[Special:Search/{{PAGENAME}}|procurar polo título desta páxina]] noutras páxinas ou <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} ollar os rexistros relacionados]</span>, pero non ten os permisos necesarios para crear esta páxina.',
-'missing-revision' => 'A revisión nº$1 da páxina chamada "{{PAGENAME}}" non existe.
+'missing-revision' => 'A revisión nº$1 da páxina chamada "{{FULLPAGENAME}}" non existe.
 
 A miúdo, isto está provocado por seguir unha ligazón de historial obsoleta cara a unha páxina que foi borrada.
 O [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} rexistro de borrados] contén máis detalles.',
@@ -1261,8 +1265,13 @@ función, a revisión especificada non existe ou está intentando agochar a revi
 'revdelete-no-file' => 'O ficheiro especificado non existe.',
 'revdelete-show-file-confirm' => 'Está seguro de querer ver unha revisión borrada do ficheiro "<nowiki>$1</nowiki>" do día $2 ás $3?',
 'revdelete-show-file-submit' => 'Si',
-'revdelete-selected' => "'''{{PLURAL:\$2|Revisión seleccionada|Revisións seleccionadas}} de \"[[:\$1]]\":'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Rexistro de evento seleccionado|Rexistro de eventos seleccionados}}:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Revisión seleccionada|Revisións seleccionadas}} de "[[:$2]]":',
+'revdelete-selected-file' => '{{PLURAL:$1|Revisión de ficheiro seleccionada|Revisións de ficheiro seleccionadas}} de "[[:$2]]":',
+'logdelete-selected' => '{{PLURAL:$1|Rexistro de eventos seleccionado|Rexistros de eventos seleccionados}}:',
+'revdelete-text-text' => 'As revisións borradas seguirán aparecendo no historial da páxina, pero partes do seu contido serán inaccesibles para o público.',
+'revdelete-text-file' => 'As revisións borradas do ficheiro seguirán aparecendo no historial do ficheiro, pero partes do seu contido serán inaccesibles para o público.',
+'logdelete-text' => 'Os rexistros de eventos borrados seguirán aparecendo nos rexistros, pero partes do seu contido serán inaccesibles para o público.',
+'revdelete-text-others' => 'Os outros administradores de {{SITENAME}} seguirán tendo acceso aos contidos agochados e poderán restauralos a través desta mesma interface, a menos que se definan restricións adicionais.',
 'revdelete-confirm' => 'Por favor, confirme que quere levar a cabo esta acción, que comprende as consecuencias e que o fai de acordo [[{{MediaWiki:Policy-url}}|coas políticas]].',
 'revdelete-suppress-text' => "A eliminación '''unicamente''' debería utilizarse nos seguintes casos:
 * Información potencialmente difamatoria
@@ -1397,7 +1406,7 @@ O [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} rexistro de borrad
 'search-file-match' => '(coincide co contido do ficheiro)',
 'search-suggest' => 'Quizais quixo dicir: $1',
 'search-interwiki-caption' => 'Proxectos irmáns',
-'search-interwiki-default' => 'Resultados en $1:',
+'search-interwiki-default' => 'Resultados de $1:',
 'search-interwiki-more' => '(máis)',
 'search-relatedarticle' => 'Relacionado',
 'searcheverything-enable' => 'Procurar en todos os espazos de nomes',
@@ -2137,6 +2146,11 @@ Entrada: tipodecontido/subtipo, por exemplo <code>image/jpeg</code>.',
 # List redirects
 'listredirects' => 'Lista de redireccións',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Lista de ficheiros duplicados',
+'listduplicatedfiles-summary' => 'Esta é unha lista coas versións máis recentes de ficheiros que coinciden coa versión máis recente doutro ficheiro. Considéranse só os ficherios locais.',
+'listduplicatedfiles-entry' => '"[[:File:$1|$1]]" ten [[$3|{{PLURAL:$2|un duplicado|$2 duplicados}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Modelos sen uso',
 'unusedtemplatestext' => 'Esta páxina contén unha lista de todas as páxinas no espazo de nomes {{ns:template}} que non están incluídas en ningunha outra páxina.
@@ -2593,8 +2607,8 @@ Vexa a [[Special:ProtectedPages|lista de páxinas protexidas]] se quere obter a
 Velaquí a configuración actual da páxina '''$1''':",
 'protect-locked-access' => "A súa conta non dispón de permisos para mudar os niveis de protección.
 Velaquí a configuración actual da páxina '''$1''':",
-'protect-cascadeon' => 'Esta páxina está protexida neste momento porque está incluída {{PLURAL:$1|na seguinte páxina, que foi protexida|nas seguintes páxinas, que foron protexidas}} coa opción protección en serie activada.
-Pode mudar o nivel de protección da páxina pero iso non afectará á protección en serie.',
+'protect-cascadeon' => 'Esta páxina está protexida actualmente porque está incluída {{PLURAL:$1|na seguinte páxina, que foi protexida|nas seguintes páxinas, que foron protexidas}} coa opción "protección en serie" activada.
+Os cambios no nivel de protección desta páxina non afectarán á protección en serie.',
 'protect-default' => 'Permitir a todos os usuarios',
 'protect-fallback' => 'Permitir só aos usuarios con permisos de "$1"',
 'protect-level-autoconfirmed' => 'Permitir só aos usuarios autoconfirmados',
index 722e27c..32f28fe 100644 (file)
@@ -265,7 +265,6 @@ $1',
 'disclaimers' => 'Ἀποποιήσεις',
 'disclaimerpage' => 'Project:Γενικὴ ἀποποίησις',
 'edithelp' => 'Βοήθεια περὶ τοῦ μεταγράφειν',
-'helppage' => 'Help:Περιεχόμενα',
 'mainpage' => 'Κυρία Δέλτος',
 'mainpage-description' => 'Κυρία Δέλτος',
 'policy-url' => 'Project:Προαίρεσις',
@@ -553,7 +552,7 @@ $2',
 Τὸ σύνθημα τοῦδε τοῦ νέου λογισμοῦ ἔξεστί σοι ἀλλάξειν μέσῳ τῆς δέλτου ὀνόματι ''[[Special:ChangePassword|ἀλλάττειν σύνθημα]]'' κατὰ τὸ συνδεῖσθαι.",
 'newarticle' => '(Νέα)',
 'newarticletext' => "Ἠκολούθησας σύνδεμόν τινα πρὸς δέλτον εἰσέτι μὴ ὑπάρχουσαν.
-Δύνασαι ποιῆσαι τὴν δέλτον, τυπῶν ἐν τῷ κυτίῳ κατωτέρω (ἴδε [[{{MediaWiki:Helppage}}|δέλτον βοηθείας]] διά πλείονας πύστεις).
+Δύνασαι ποιῆσαι τὴν δέλτον, τυπῶν ἐν τῷ κυτίῳ κατωτέρω (ἴδε [$1 δέλτον βοηθείας] διά πλείονας πύστεις).
 Εἰ ὧδε εἶ ἐσφαλμένως, πίεσον τὸ κομβίον τοῦ πλοηγητηρίου σου ὀνόματι '''ὀπίσω (back)'''.",
 'noarticletext' => 'Οὐδὲν ἐν τῇδε τῇ δέλτῳ γεγραμμένον, ἀλλὰ ἔξεστί σοι [[Special:Search/{{PAGENAME}}|δέλτον τινὰ οὕτως ὀνόματι ζητήσειν]], <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} ζητήσειν τοὺς σχετικοὺς καταλόγους],
 ἢ [{{fullurl:{{FULLPAGENAME}}|action=edit}} τήνδε τὴν δέλτον μεταγράψειν]</span>.',
@@ -673,8 +672,7 @@ $2',
 'revdelete-no-file' => 'Τὸ καθωρισμένον ἀρχεῖον οὐχ ὑπάρχει.',
 'revdelete-show-file-confirm' => 'Βέβαιος εἶ περὶ τῆς προβολῆς διαγεγραμμένης ἀναθεωρήσεως τινὸς τοῦ ἀρχείου "<nowiki>$1</nowiki>" ἐκ τῆς $2 ἐν τῇ $3;',
 'revdelete-show-file-submit' => 'Ναί',
-'revdelete-selected' => "'''{{PLURAL:$2|Ἐπειλεγμένη ἀναθεώρησις|Ἐπειλεγμέναι ἀναθεωρήσεις}} τοῦ [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Ἐπειλεγμένον γεγονὸς καταλόγου|Ἐπειλεγμένα γεγονὀτα καταλόγου}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Ἐπειλεγμένον γεγονὸς καταλόγου|Ἐπειλεγμένα γεγονὀτα καταλόγου}}:',
 'revdelete-legend' => 'Θέτειν περιορισμοῦς ὁρατότητος',
 'revdelete-hide-text' => 'Κρύπτειν κείμενον ἀναθεωρήσεως',
 'revdelete-hide-image' => 'Κρύπτειν περιεχόμενον ἀρχείου',
index a50289e..4268bab 100644 (file)
@@ -382,7 +382,6 @@ Di maximal Wartezyt fir e Lock isch umme',
 'disclaimers' => 'Impressum',
 'disclaimerpage' => 'Project:Impressum',
 'edithelp' => 'Rotschläg fir s Bearbeite',
-'helppage' => 'Help:Hilf',
 'mainpage' => 'Houptsyte',
 'mainpage-description' => 'Houptsyte',
 'policy-url' => 'Project:Leitlinie',
@@ -833,7 +832,7 @@ S cha syy, ass er verschoben oder glescht woren isch, derwylscht Du d Syte aaglu
 S Passwort fir des nej Benutzerkonto cha uf dr Spezialsyte „[[Special:ChangePassword|Passwort ändere]]“ gänderet wäre.',
 'newarticle' => '(Nej)',
 'newarticletext' => "Du bisch eme Link nogange zuen ere Syte, wu s nid git.
-Zum die Syte aalege, chasch do in däm Chaschte unte aafange schrybe (lueg [[{{MediaWiki:Helppage}}|Hilfe]] fir meh Informatione).
+Zum die Syte aalege, chasch do in däm Chaschte unte aafange schrybe (lueg [$1 Hilfe] fir meh Informatione).
 Wänn do nid hesch welle aane goh, no druck in Dyynem Browser uf '''Zruck'''.",
 'anontalkpagetext' => "----''Des isch e Diskussionssyte vun eme anonyme Benutzer, wu kei Zuegang aagleit het oder wu ne nit bruucht. Sälleweg mien mir di numerisch IP-Adräss bruuche zum ihn oder si z identifiziere. So ne IP-Adräss cha au vu mehrere Benutzer teilt wäre. Wenn Du ne anonyme Benutzer bisch un s Gfiel hesch, ass do irrelevanti Kommentar an di grichtet wäre, derno [[Special:UserLogin/signup|leg e Konto aa]] oder [[Special:UserLogin|mäld di aa]] zum in Zuekumft Verwirrige mit andere anonyme Benutzer z vermyyde.''",
 'noarticletext' => 'Uf däre Syte het s no kei Täxt. Du chasch uf andere Syte [[Special:Search/{{PAGENAME}}|dä Yytrag sueche]], <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} dr Logbuechyytrag sueche, wo dezue ghert],
@@ -841,7 +840,7 @@ oder [{{fullurl:{{FULLPAGENAME}}|action=edit}} die Syte bearbeite]</span>.',
 'noarticletext-nopermission' => 'In däre Syte het s zur Zyt no kei Text.
 Du chasch dää Titel uf andre Syte [[Special:Search/{{PAGENAME}}|sueche]]
 oder <span class="plainlinks">in dr zuegherige [{{fullurl:{{#special:Log}}|page={{FULLPAGENAMEE}}}} Logbiecher sueche].</span> Du derfsch aber die Syte nit aalege.',
-'missing-revision' => 'D Version $1 vu dr Syte mit Name „{{PAGENAME}}“ git s nit.
+'missing-revision' => 'D Version $1 vu dr Syte mit Name „{{FULLPAGENAME}}“ git s nit.
 
 Dää Fähler chunnt normalerwyys dur e veraltete Link zue dr Versionsgschicht vun ere Syte, wu in dr Zwischezyt glescht woren isch.
 Einzelheite chasch im [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Lesch-Logbuech] bschaue.',
@@ -1064,8 +1063,7 @@ Du chasch dää Unterschid allno aaluege; Details het's im [{{fullurl:{{#Special
 'revdelete-no-file' => 'D Datei, wu Du aagee hesch, git s nit.',
 'revdelete-show-file-confirm' => 'Bisch sicher, ass Du di glescht Version vu dr Datei „<nowiki>$1</nowiki>“ vum $2 am $3 witt aaluege?',
 'revdelete-show-file-submit' => 'Jo',
-'revdelete-selected' => "'''{{PLURAL:$2|Usgwehlti Version|Usgwehlti Versione}} vu [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Usgwehlte Logbuechyytrag|Usgwehlti Logbuechyytreg}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Usgwehlte Logbuechyytrag|Usgwehlti Logbuechyytreg}}:',
 'revdelete-confirm' => 'Bitte tue bstetige, ass Du vor hesch, des z mache, d Konsequänze drus verstohsch un s machsch in Inbereinstimmig mit dr [[{{MediaWiki:Policy-url}}|Richtlinie]].',
 'revdelete-suppress-text' => "Unterdruckige sotte '''nume''' in däne Fäll bruucht wäre:
 * Nit aabrochti Informatione
index 4ff89cd..a05027d 100644 (file)
@@ -402,7 +402,6 @@ $1',
 'disclaimers' => 'જાહેર ઇનકાર',
 'disclaimerpage' => 'Project:સામાન્ય જાહેર ઇનકાર',
 'edithelp' => 'ફેરફારો માટે મદદ',
-'helppage' => 'Help:સૂચિ',
 'mainpage' => 'મુખપૃષ્ઠ',
 'mainpage-description' => 'મુખપૃષ્ઠ',
 'policy-url' => 'Project:નીતિ',
@@ -860,7 +859,7 @@ $2
 'accmailtext' => "[[User talk:$1|$1]] માટે રચેલ ગુપ્તસંજ્ઞા $2 ને મોકલાવી દેવાઇ છે. આ નવા ખાતાનીગુપ્તસંજ્ઞા પ્રવેશ કર્યા બાદ ''[[Special:ChangePassword|ગુપ્તસંજ્ઞા બદલો]]'' વાપરીને બદલી શકાશે.",
 'newarticle' => '(નવીન)',
 'newarticletext' => "આપ જે કડીને અનુસરીને અહીં પહોંચ્યા છો તે પાનું અસ્તિત્વમાં નથી.
-<br />નવું પાનું બનાવવા માટે નીચે આપેલા ખાનામાં લખવાનું શરૂ કરો (વધુ માહિતિ માટે [[{{MediaWiki:Helppage}}|મદદ]] જુઓ).
+<br />નવું પાનું બનાવવા માટે નીચે આપેલા ખાનામાં લખવાનું શરૂ કરો (વધુ માહિતિ માટે [$1 મદદ] જુઓ).
 <br />જો આપ ભુલમાં અહીં આવી ગયા હોવ તો, આપનાં બ્રાઉઝર નાં '''બેક''' બટન પર ક્લિક કરીને પાછા વળો.",
 'anontalkpagetext' => "----''આ એક અજ્ઞાત સભ્યનું ચર્ચા પાનું છે જેણે યા તો પોતાનું ખાતું નથી ખોલ્યું યાતો તેને વાપરતો નથી.
 આથી તેને ઓળખવા માટે અમારે સાંખ્યિક  IP સરનામાની મદદ લેવી પડી છે.
@@ -1092,8 +1091,7 @@ $3 દ્વારા અપાયેલ કારણ છે ''$2''",
 'revdelete-no-file' => 'વર્ણવેલી ફાઈલ અસ્તિત્વમાં નથી',
 'revdelete-show-file-confirm' => 'શું તમને ખાત્રી છે કેતમે $2 તારીખ $3 વાગ્યા સુધીના "<nowiki>$1</nowiki>" ફાઇલ ના ફેરફાર જોવા માંગો છો?',
 'revdelete-show-file-submit' => 'હા',
-'revdelete-selected' => "''' [[:$1]] ના {{PLURAL:$2|પસંદ કરેલ ફેરફાર |પસંદ કરેલ ફેરફારો}}: '''",
-'logdelete-selected' => "'''{{PLURAL:$1|પસંદગી કરેલ લોગ ઘટના | પસંદગી કરેલ લોગ ઘટનાઓ }}:'''",
+'logdelete-selected' => '{{PLURAL:$1|પસંદગી કરેલ લોગ ઘટના | પસંદગી કરેલ લોગ ઘટનાઓ }}:',
 'revdelete-confirm' => 'કૃપયા પુષ્ટિ કરો કે તમે શું કરી રહ્યા છો તેની અને તેના પરિણામોની તમને જાણ છે અને તમે આ બધું  [[{{MediaWiki:Policy-url}}|the policy]] અ6તર્ગત કરી રહ્યાં છો.',
 'revdelete-suppress-text' => "બળ પૂર્વક છુપાવવું \"માત્ર\" આજ સંજોગોમાં કરી શકાશે:
 * સંભવતઃ ભયાજનક માહિતી 
@@ -1356,7 +1354,7 @@ HTML નાકું ચકાસો',
 'prefs-displaysearchoptions' => 'પ્રદર્શન વિકલ્પો',
 'prefs-displaywatchlist' => 'પ્રદર્શન વિકલ્પો',
 'prefs-tokenwatchlist' => 'નિશાની',
-'prefs-diffs' => 'ફરàª\95',
+'prefs-diffs' => 'ભà«\87દà«\8b',
 'prefs-help-prefershttps' => 'આ પ્રાથમિકતા તમારા હવે પછીના પ્રવેશથી લાગુ પડશે.',
 
 # User preference: email validation using jQuery
index 45112ba..ba2a7eb 100644 (file)
@@ -260,7 +260,6 @@ $messages = array(
 'disclaimers' => 'Jiooldeyderyn',
 'disclaimerpage' => 'Project:Obbalys cadjin',
 'edithelp' => 'Cooney reaghee',
-'helppage' => 'Help:Cummal',
 'mainpage' => 'Ard-ghuillag',
 'mainpage-description' => 'Ard-ghuillag',
 'policy-url' => 'Project:Polasee',
@@ -474,7 +473,7 @@ She $3 dt'enmys IP roie, as she dt'enney ghlass na #$5. Cur ad lesh dagh ooilley
 Foddee oo ceaghley yn fockle arrey noa da'n choontys noa shoh er duillag ''[[Special:ChangePassword|cheaghley fockle yn arrey]]'' lurg loggal stiagh.",
 'newarticle' => '(Noa)',
 'newarticletext' => 'T’ou er jeet trooid kiangley dys duillag nagh vel ayn foast.
-My vel oo geearree yn duillah shoh y chroo, gow toshiaght screeuyn ‘sy chishtey çheu heese jeh shoh (jeeagh er [[{{MediaWiki:Helppage}}|y duillag choonee]] son tooilley oayllys).
+My vel oo geearree yn duillah shoh y chroo, gow toshiaght screeuyn ‘sy chishtey çheu heese jeh shoh (jeeagh er [$1 y duillag choonee] son tooilley oayllys).
 My haink oo dys shoh fo marranys, crig er cramman ‘erash’ jeh’n jeeagheyder ayd.',
 'noarticletext' => "Cha nel teks 'sy duillag shoh ec y traa t'ayn.
 Foddee oo [[Special:Search/{{PAGENAME}}|ronsaghey enmys y duillag shoh]] ayns duillagyn elley,
index fd09659..aff2bc7 100644 (file)
@@ -266,7 +266,6 @@ $1',
 'disclaimers' => '免責聲明',
 'disclaimerpage' => 'Project:一般免責聲明',
 'edithelp' => '編寫幫手',
-'helppage' => 'Help:目錄',
 'mainpage' => '頭頁',
 'mainpage-description' => '頭頁',
 'policy-url' => 'Project:方針',
@@ -405,6 +404,10 @@ $2',
 'namespaceprotected' => "汝還無權限編輯'''$1'''名字空間嘅頁面。",
 'customcssprotected' => '汝還無權限編輯邇隻CSS頁面,因為其包含矣其他用戶嘅個人設置。',
 'customjsprotected' => '汝還無權限去編輯邇隻JavaScript頁面,因為其包含矣另一用戶嘅個人設定。',
+'mycustomcssprotected' => '汝無權限修改邇頁CSS。',
+'mycustomjsprotected' => '汝無編輯邇頁JavaScript之權限。',
+'myprivateinfoprotected' => '汝無權限編輯汝个個人信息。',
+'mypreferencesprotected' => '汝無權限編輯汝个個人設定。',
 'ns-specialprotected' => '邇兜特殊頁面係毋做得編輯嘅。',
 'titleprotected' => "邇隻標題已經分[[User:$1|$1]]保護來防止建立。理由係''$2''。",
 'filereadonlyerror' => '無辦法修改文件「$1」因為文件庫「$2」處於唯讀模式。 !
@@ -412,7 +415,7 @@ $2',
 'invalidtitle-knownnamespace' => '使用名字空間「$2」與文本「$3」嘅無效標題',
 'invalidtitle-unknownnamespace' => '使用未知名字空間編號$1與文本“$2”嘅無效標題',
 'exception-nologin' => '還吂登入',
-'exception-nologin-text' => '你愛登入本wiki正做得查閲邇頁或進行操作。',
+'exception-nologin-text' => '汝愛[[Special:Userlogin|登入]]本wiki查看邇頁或者進行操作。',
 
 # Virus scanner
 'virus-badscanner' => "損壞設定: 未知嘅病毒掃瞄器: ''$1''",
@@ -420,16 +423,16 @@ $2',
 'virus-unknownscanner' => '還吂知嘅反病毒軟件:',
 
 # Login and logout pages
-'logouttext' => "汝已經登出。
+'logouttext' => "'''汝今下既經登出。'''
 
-汝做得用匿名方式繼續使用{{SITENAME}},或用相同或毋同用戶身份<span class='plainlinks'>[$1 登入]</span>。
-請注意,假使汝再次登入,本頁可能會繼續顯示,直到汝清除瀏覽器緩存。",
+請注意一兜頁面可能還顯示汝係登入狀態,一直到汝清空汝嘅瀏覽器緩存為止。",
 'welcomeuser' => '歡迎,$1!',
 'welcomecreation-msg' => '汝嘅賬號已經建立。
 莫添忘訖設置[[Special:Preferences|{{SITENAME}}嘅個人參數]]。',
 'yourname' => '用戶名:',
 'userlogin-yourname' => '用戶名',
 'userlogin-yourname-ph' => '輸入汝嘅用戶名',
+'createacct-another-username-ph' => '輸入用戶名:',
 'yourpassword' => '密碼:',
 'userlogin-yourpassword' => '密碼',
 'userlogin-yourpassword-ph' => '輸入汝嘅密碼',
@@ -459,12 +462,16 @@ $2',
 'gotaccount' => '已經擁有帳號係無?$1。',
 'gotaccountlink' => '登入',
 'userlogin-resetlink' => '毋記得汝嘅登入信息?',
-'userlogin-resetpassword-link' => '重置爾嘅密碼',
+'userlogin-resetpassword-link' => '添忘訖汝嘅密碼?',
+'userlogin-loggedin' => '汝已作為{{GENDER:$1|$1}}登錄。
+利用以下表單以作為另一賬戶登錄。',
 'createacct-join' => '輸入汝嘅基本資料:',
+'createacct-another-join' => '在下方輸入新帳號个資訊。',
 'createacct-emailrequired' => '電郵地址:',
 'createacct-emailoptional' => '電郵地址(可選)',
 'createacct-email-ph' => '設置電郵地址',
-'createaccountmail' => '使用一隻臨時嘅隨機密碼,並發送其到以下指定嘅電子郵件地址',
+'createacct-another-email-ph' => '輸入電郵地址',
+'createaccountmail' => '使用一隻臨時嘅隨機密碼,並將其發送到指定嘅電子郵件地址',
 'createacct-realname' => '實名(可選)',
 'createaccountreason' => '原因:',
 'createacct-reason' => '原因',
@@ -500,7 +507,7 @@ $2',
 'passwordtooshort' => '汝嘅密碼毋得少過$1隻字符。',
 'password-name-match' => '汝嘅密碼必須撈汝嘅用戶名毋相同。',
 'password-login-forbidden' => '邇隻用戶名稱及密碼嘅使用係分禁止嘅。',
-'mailmypassword' => '用電郵寄新密碼分亻厓',
+'mailmypassword' => '重設密碼',
 'passwordremindertitle' => '{{SITENAME}}嘅新臨時密碼',
 'passwordremindertext' => '有人(可能係汝本人,來自IP地址$1)已請求{{SITENAME}}嘅新密碼 ($4)。
 用戶"$2"嘅一隻新臨時密碼今下已分設定好為"$3"。
@@ -514,27 +521,30 @@ $2',
 'passwordsent' => '用戶“$1”嘅新密碼已經寄到所登記嘅電子郵件地址。
 請在收到後再登入。',
 'blocked-mailpassword' => '汝嘅IP地址處於查封狀態故所毋允許編輯,為矣安全起見,密碼恢復功能已分禁用。',
-'eauthentsent' => '一封確認信已經發送到推薦地址。在發送其它郵件到邇隻賬戶前,汝必須首先按照邇封信肚嘅指導確認邇隻電子郵件信箱真實有效。',
+'eauthentsent' => '一封確認信已經發送到汝設定嘅電郵地址。
+在任何其他郵件發到賬戶之前,汝必須首先照邇封信嘅指示,確認介隻賬戶確實係汝嘅。',
 'throttled-mailpassword' => '密碼提醒已經在最近$1小時內發送。
 為防止濫用,限定在$1小時內僅發送一次密碼提醒。',
 'mailerror' => '發送郵件出差錯:$1',
 'acct_creation_throttle_hit' => '在邇隻wiki上係話訪客利用汝个IP地址在昨天創建矣$1個賬戶,係在邇段時間肚的上限。
 結果利用這個IP地址个訪客在邇段時間中無辦法創建更多个賬戶。',
-'emailauthenticated' => '汝嘅電郵地址已經於$2 $3確認有效。',
-'emailnotauthenticated' => '汝嘅郵箱地址<strong>還無分認証</strong>。以下功能將毋會發送任何郵件。',
+'emailauthenticated' => '汝嘅電郵地址已經於$2 $3確認。',
+'emailnotauthenticated' => '汝个電郵位址還㬟確認。
+將收毋到以下功能相關个電郵。',
 'noemailprefs' => '在嘅嘅偏好設定肚指定一隻電子郵件地址來使用邇隻功能。',
 'emailconfirmlink' => '確認汝嘅郵箱地址',
 'invalidemailaddress' => '郵箱地址格式不正確,請輸入正確个郵箱位址或清空該輸入框。',
+'cannotchangeemail' => '本Wiki毋允許對帳號个電子郵件位址進行變更。',
 'emaildisabled' => '邇隻網站毋可以發送電子郵件。',
 'accountcreated' => '已建立賬戶',
-'accountcreatedtext' => '$1嘅賬戶已經分建立。',
+'accountcreatedtext' => '[[{{ns:User}}:$1|$1]]([[{{ns:User talk}}:$1|討論]])的賬戶已經畀建立。',
 'createaccount-title' => '在{{SITENAME}}肚建立新賬戶',
 'createaccount-text' => '有人在{{SITENAME}}肚利用汝嘅電郵創建矣一隻喊做 "$2" 嘅新賬戶($4),密碼係 "$3" 。汝應該立即登入並更改密碼。
 
 如果該賬戶建立錯誤嘅話,汝可以忽略邇條訊息。',
 'usernamehasherror' => '用戶名毋可以包含Hash字符',
 'login-throttled' => '汝已經嘗試多次登入動作。
-請等再試。',
+請等$1後再試。',
 'login-abort-generic' => '登入錯誤 - 中止',
 'loginlanguagelabel' => '語言:$1',
 'suspicious-userlogout' => '汝登出嘅要求已經分拒絕,因為其可能係由已損壞嘅瀏覽器或者緩存代理傳送。',
@@ -639,7 +649,7 @@ Liá-chhṳ chhà-fûng he yù $1 só fûng ke. Tông-chûng ke ngièn-yîn he '
 'accmailtext' => "'$1' ke pi-me̍t yí-kîn ki-kî to $2.",
 'newarticle' => '(新)',
 'newarticletext' => '汝入到矣一隻還吂建立嘅頁面。
-愛建立本頁面,請在下面嘅編寫框肚輸入內容(詳情參詳[[{{MediaWiki:Helppage}}|幫手]])。
+愛建立本頁面,請在下面嘅編寫框肚輸入內容(詳情參詳[$1 幫手])。
 係講汝係毋小心來到本頁面,直接點擊汝嘅瀏覽器肚嘅“轉頭”撳掣轉頭。',
 'anontalkpagetext' => "---- ''Liá-he yit-ke hàn-mò kien-li̍p chong-ho ke ngia̍k-miàng yung-fu ke tui-fa-hong. Só-yî chṳ́-nèn yung IP thi-tiám lòi lâu kí lièn-lo̍k. Ke-IP thi-tiám khó-nèn yù-chhai kí-miàng yung-fu khiung-hióng. Kó-yèn ngì-he yit-miàng ngia̍k-miàng yung-fu ngin-vì pún-hong song ke phìn-lî kiên ngì mò-kôan, chhiáng [[Special:UserLogin|Chhóng-kien sîn chong-ho fe̍t-chá Tên-ngi̍p]] khó-yî phit-miên lòi-yì khì-thâ ngia̍k-miàng yung-fu ke fun-lon.''",
 'noarticletext' => '邇頁當前無內容,汝做得在其他頁[[Special:Search/{{PAGENAME}}|搜尋邇頁標題]],
@@ -796,8 +806,7 @@ Liá-chhṳ chhà-fûng he yù $1 só fûng ke. Tông-chûng ke ngièn-yîn he '
 所指定嘅修訂版本毋存在,或者汝嘗試去隱藏今下嘅修訂版本。',
 'revdelete-no-file' => '指定嘅文件毋存在',
 'revdelete-show-file-submit' => '係',
-'revdelete-selected' => "'''選取[[:$1]]嘅$2次修訂:'''",
-'logdelete-selected' => "'''Chhí-chhṳ '''$1''' ke $2-ke ngit-ki hong-muk:'''",
+'logdelete-selected' => 'Chhí-chhṳ $1 ke $2-ke ngit-ki hong-muk:',
 'revdelete-legend' => 'Sat-thin siû-thin han-chṳ:',
 'revdelete-hide-text' => '隱藏修訂版本文字',
 'revdelete-hide-image' => '隱藏文件內容',
@@ -864,7 +873,7 @@ Liá-chhṳ chhà-fûng he yù $1 só fûng ke. Tông-chûng ke ngièn-yîn he '
 'search-section' => '(段落 $1)',
 'search-suggest' => '汝係毋係尋:$1',
 'search-interwiki-caption' => '姊妹計劃',
-'search-interwiki-default' => '$1é \85çµ\90æ\9e\9c:',
+'search-interwiki-default' => 'ä¾\86è\87ª$1å\98\85çµ\90æ\9e\9c:',
 'search-interwiki-more' => '(還較多)',
 'searchrelated' => '相關',
 'searchall' => '全部',
@@ -1368,7 +1377,7 @@ Also see [[Special:WantedCategories|wanted categories]].',
 下背係'''$1'''今下嘅保護級別:",
 'protect-locked-access' => "汝嘅賬戶權限做毋得修改保護級別。
 下背係'''$1'''今下嘅保護級別:",
-'protect-cascadeon' => '下背嘅{{PLURAL:$1|一個|多個}}頁面包含緊本頁面嘅同時,啟動矣連鎖保護,故所本頁面目前也分保護,還吂做得編寫。汝做得設定本頁面嘅保護級別,毋過邇並不會對連鎖保護有所影響。',
+'protect-cascadeon' => '下背嘅$1嘅頁面包含緊本頁面嘅同時,還啟動矣連鎖保護,故所本頁面目前也分保護,還㬟做得編寫。汝做得設定本頁面嘅保護級別,毋過邇影響毋到連鎖保護。',
 'protect-default' => '容許所有用戶',
 'protect-fallback' => 'Sî-yeu "$1" ke hí-khó',
 'protect-level-autoconfirmed' => 'Kim-chṳ́  sîn-ke lâu hàn-mò chu-chhak ke yung-fu',
@@ -1462,7 +1471,7 @@ Also see [[Special:WantedCategories|wanted categories]].',
 'whatlinkshere-next' => '後背$1隻',
 'whatlinkshere-links' => '←連入',
 'whatlinkshere-hideredirs' => '$1重定向',
-'whatlinkshere-hidetrans' => '$1å\8c\85å\90«',
+'whatlinkshere-hidetrans' => '$1åµ\8cå\85¥',
 'whatlinkshere-hidelinks' => '$1鏈接',
 'whatlinkshere-hideimages' => '$1條文件鏈接',
 'whatlinkshere-filters' => '過濾器',
index 4da5e39..f6e1dd2 100644 (file)
@@ -218,9 +218,11 @@ $messages = array(
 'noindex-category' => 'Nā ʻAoʻao i hoʻopapakuhikuhi kikoʻī ʻia',
 
 'about' => 'No ia',
+'article' => 'ʻAoʻao mealoko',
 'newwindow' => '(wehe ʻia i loko o kekahi pukaaniani hou)',
 'cancel' => 'Ho‘ōki',
 'moredotdotdot' => 'Nā mea ʻē aʻe...',
+'morenotlisted' => 'ʻAʻole pau kēia papahelu.',
 'mypage' => 'Ka‘u ‘ao‘ao',
 'mytalk' => 'Ka‘u walaʻau',
 'anontalk' => 'Walaʻau no kēia IP',
@@ -263,6 +265,7 @@ $messages = array(
 'searcharticle' => 'E huli',
 'history' => 'Mōʻaukala ʻaoʻao',
 'history_short' => 'Mōʻaukala',
+'updatedmarker' => 'ua hoʻopuka hou mahope mai koʻu kipa ʻana mai mua',
 'printableversion' => 'Mana paʻi pono',
 'permalink' => 'Loulou paʻa',
 'print' => 'Pa‘i',
@@ -322,7 +325,6 @@ $1',
 'disclaimers' => 'Nā Akahele',
 'disclaimerpage' => 'Project:Akahele Laulaha',
 'edithelp' => 'Kōkua ho‘ololi',
-'helppage' => 'Help:Papakuhikuhi',
 'mainpage' => 'Papa Kinohi',
 'mainpage-description' => 'Papa Kinohi',
 'policy-url' => 'Project:Kulekele',
@@ -333,6 +335,10 @@ $1',
 
 'badaccess' => 'Hewa ‘aena',
 
+'versionrequired' => 'Noi ʻia ka mana $1 o MekiaWiki',
+'versionrequiredtext' => 'Noi ʻia ka mana $1 o MekiaWiki no ka hoʻohana ʻana o kēia ʻaoʻao.
+ʻIke i ka [[Special:Version|ʻaoʻao mana]].',
+
 'ok' => 'Hiki nō',
 'retrievedfrom' => 'Kiʻi ʻia mai "$1"',
 'youhavenewmessages' => '$1 {{PLURAL:$3|kāu}} ($2).',
@@ -361,6 +367,8 @@ $1',
 'page-rss-feed' => 'Hānaīke RSS o "$1"',
 'page-atom-feed' => 'Hānaīke Atom o "$1"',
 'red-link-title' => '$1 (haku ʻia ʻole)',
+'sort-descending' => 'Wae iho',
+'sort-ascending' => 'Wae piʻi',
 
 # Short words for each namespace, by default used in the namespace tab in monobook
 'nstab-main' => 'ʻAoʻao',
@@ -404,6 +412,7 @@ E ʻoluʻolu, e lono  kēia pilikia i kekahi [[Special:ListUsers/sysop|kahu]], m
 'directorycreateerror' => 'ʻAʻole hiki ke haku ka papakuhi waihona "$1"',
 'filenotfound' => '‘A‘ole hiki ke loa‘a ka waihona "$1".',
 'fileexistserror' => 'ʻAʻole hiki ke kākau i ka waihona "$1": Aia no ia.',
+'cannotdelete-title' => 'Hiki ʻole ke holoi iā "$1"',
 'badtitle' => 'Inoa ʻohe',
 'badtitletext' => 'ʻAʻohe paha, hakahaka paha aiʻole loulou hewa paha ka poʻoinoa ʻaoʻao.
 Loaʻa paha nā hua kikokikona e hiki ʻole ke hana i nā poʻoinoa.',
@@ -485,6 +494,7 @@ Hoʻouna ʻole i kekahi lekauila no kēia mau helena.',
 'createaccount-title' => 'Kāinoa moʻokāki no {{SITENAME}}',
 'loginlanguagelabel' => 'ʻŌlelo: $1',
 'pt-login' => 'ʻEʻe',
+'pt-login-button' => 'ʻEʻe',
 'pt-createaccount' => 'Kāinoa',
 'pt-userlogout' => 'Haʻalele',
 
@@ -509,6 +519,7 @@ Hoʻouna ʻole i kekahi lekauila no kēia mau helena.',
 'changeemail-newemail' => 'Wahinoho lekauila hou:',
 'changeemail-none' => '(ʻaʻohe)',
 'changeemail-password' => 'Kāu ʻōlelo hūnā {{SITENAME}}:',
+'changeemail-submit' => 'Loli i kāu lekauila',
 'changeemail-cancel' => 'Hoʻōki',
 
 # Edit page toolbar
@@ -543,11 +554,12 @@ Hoʻouna ʻole i kekahi lekauila no kēia mau helena.',
 E hoʻopaʻa ʻia ana kāu IP ma ko kēia ʻaoʻao mōʻaukala hoʻololi.',
 'blockedtitle' => 'Ua pale ‘ia ka mea ho‘ohana',
 'blockednoreason' => '‘a‘ohe kumu',
+'loginreqtitle' => 'Noi i ka ʻeʻe ʻana',
 'loginreqlink' => 'ʻeʻe',
 'accmailtitle' => 'Ua ho‘ouna ‘ia ka ‘ōlelo hūnā',
 'newarticle' => '(Hou)',
 'newarticletext' => 'Ua hāhai ʻoe i kekahi loulou i kekahi ʻaoʻao e haku ʻole.
-No ka haku ʻana i ka ʻaoʻao, kikokiko i loko o ka pahu i lalo (ʻike i ka [[{{MediaWiki:Helppage}}|ʻaoʻao kōkua]] no nā ʻike ʻē aʻe).
+No ka haku ʻana i ka ʻaoʻao, kikokiko i loko o ka pahu i lalo (ʻike i ka [$1 ʻaoʻao kōkua] no nā ʻike ʻē aʻe).
 Inā hewa kou hele ʻana, kāomi i ka pihi <strong>hoʻi</strong>.',
 'anontalkpagetext' => "----
 <em>ʻO kēia ka ʻaoʻao kūkākūkā no kekahi mea ho‘ohana me ka inoa ʻole.</em>
@@ -557,6 +569,8 @@ Inā he mea ho‘ohana inoa ʻole ʻoe a loaʻa kekahi mau manaʻo nāuʻole, e
 Hiki iā ʻoe ke [[Special:Search/{{PAGENAME}}|huli no kēia inoa ʻaoʻao]] i nā ʻaoʻao ʻē aʻe, <span class="plainlinks">[{{fullurl:SpecialLog|page={{FULLPAGENAMEE}}}} huli i nā moʻolelo pili], a i ʻole [{{fullurl:{{FULLPAGENAME}}|action=edit}} hoʻololi i kēia ʻaoʻao]</span>.',
 'noarticletext-nopermission' => 'ʻAʻohe kikokikona a kēia ʻaoʻao.
 Hiki iā ʻoe ke [[Special:Search/{{PAGENAME}}|huli no kēia inoa ʻaoʻao]] i nā ʻaoʻao ʻē aʻe aiʻole <span class="plainlinks">[{{fullurl:SpecialLog|page={{FULLPAGENAMEE}}}} huli i nā moʻolelo pili]</span>, akā hiki ʻole iā ʻoe ke hoʻololi i kēia ʻaoʻao.',
+'updated' => '(Hoʻopuka hou ʻia)',
+'note' => '<strong>E noka:</strong>',
 'previewnote' => '<strong>ʻO kēia ka nāmua wale nō.</strong>
 ‘A‘ole mālama ‘ia nā ho‘ololi!',
 'continue-editing' => 'Kele i kahi hoʻololi',
@@ -580,6 +594,7 @@ Aia nā loli hanalohi i lalo no ka ʻikena:',
 'template-semiprotected' => '(hapa-ho‘omalu ‘ia)',
 'hiddencategories' => 'ʻO kēia ʻaoʻao he lālā o {{PLURAL:$1|1 mahele hūnā|$1 mau māhele hūnā}}:',
 'edittools' => '<!-- Eia ka ‘ōlelo e hō‘ike ‘ia malalo o nā palapala ho‘ololi ame nā palapala ho‘ohui. -->',
+'nocreate-loggedin' => 'Loaʻa ʻole iā ʻoe nā kūleana no ka haku ʻana o nā ʻaoʻao hou.',
 'permissionserrorstext-withaction' => 'ʻAʻohe āu ʻae no $2, no {{PLURAL:$1|kumu| mau kumu}}:',
 'recreate-moveddeleted-warn' => '<strong>E akahele: Ke haku nei ʻoe i kekahi ʻaoʻao i holoi ʻia.</strong>
 
@@ -587,6 +602,13 @@ Pono ʻoe e noʻonoʻo e pili ana ka pono o ka hoʻomau ʻana o ka hoʻololi ʻa
 Aia ka moʻolelo holoi a hoʻoneʻe no kēia ʻaoʻao ma ʻaneʻi:',
 'moveddeleted-notice' => 'Ua holoi ʻia kēia ʻaoʻao.
 Hoʻolako ʻia ka moʻolelo holoi a hoʻoneʻe no kēia ʻaoʻao i lalo no ke kūmole.',
+'log-fulllog' => 'Nānā i ka moʻolelo piha',
+'postedit-confirmation' => 'Ua mālama ʻia kāu hoʻololi',
+'defaultmessagetext' => 'Kikokikona pūlono pa‘amau',
+
+# Content models
+'content-model-wikitext' => 'kikokikonawiki',
+'content-model-javascript' => 'IawaSikulipa',
 
 # Parser/template warnings
 'post-expand-template-inclusion-warning' => '<strong>E akahele:</strong> Hoʻokela ʻia ka palena nui o ke anakuhi.
@@ -631,7 +653,12 @@ Pahu hōʻailona: <strong>({{int:cur}})</strong> = ka ʻokoʻa me ke kāmua houl
 
 # Revision deletion
 'rev-delundel' => 'hoʻololi ka nānā ʻana',
+'rev-showdeleted' => 'hōʻike',
+'revisiondelete' => 'Holoi/holoi ʻole i nā kāmua',
 'revdelete-show-file-submit' => 'ʻAe',
+'revdelete-hide-text' => 'Kikokikona kāmua',
+'revdelete-hide-image' => 'Hoʻohūnā i nā waihona mealoko',
+'revdelete-hide-comment' => 'Hoʻololi i ka hōʻuluʻulu manaʻo',
 'revdelete-radio-same' => '(mai hoʻololi)',
 'revdelete-radio-set' => 'ʻAe',
 'revdelete-radio-unset' => 'ʻAʻole',
@@ -641,6 +668,7 @@ Pahu hōʻailona: <strong>({{int:cur}})</strong> = ka ʻokoʻa me ke kāmua houl
 'deletedhist' => 'Mōʻaukala holoi',
 'revdelete-otherreason' => 'Nā kumu ʻē aʻe',
 'revdelete-reasonotherlist' => 'Nā kumu ʻē aʻe',
+'revdelete-edit-reasonlist' => 'Hoʻololi i nā kumu holoi',
 'revdelete-offender' => 'Mea kākau kāmua:',
 
 # History merging
@@ -686,12 +714,14 @@ Pahu hōʻailona: <strong>({{int:cur}})</strong> = ka ʻokoʻa me ke kāmua houl
 'search-suggest' => 'ʻO kēia paha kou manaʻo: $1',
 'search-interwiki-caption' => 'Nā pāhana ʻē aʻe',
 'search-interwiki-more' => '(hou aʻe)',
+'search-relatedarticle' => 'Nā Mea ʻālike',
 'searchrelated' => 'na mea ʻālike',
 'searchall' => 'nā mea apau',
 'showingresultsheader' => '{{PLURAL:$5|<strong>$1</strong> hualoaʻa o <strong>$3</strong> mau hualoaʻa|<strong$1-$2</strong> mau hualoaʻa o <strong>$3</strong> mau hualoaʻa}} no <strong>$4</strong>',
 'search-nonefound' => 'ʻAʻohe hualoaʻa no kēia huli.',
 'powersearch-legend' => 'Hulina kūlana kiʻekiʻe',
 'powersearch-ns' => 'Huli i loko o nā wahi inoa:',
+'powersearch-togglelabel' => 'Hōʻoia:',
 'powersearch-toggleall' => 'Nā mea apau',
 'powersearch-togglenone' => 'ʻAʻohe',
 'search-external' => 'Huli kūwaho',
@@ -757,6 +787,14 @@ Pahu hōʻailona: <strong>({{int:cur}})</strong> = ka ʻokoʻa me ke kāmua houl
 'prefs-advancedediting' => 'Koho paʻamau',
 'prefs-editor' => 'Luna Hoʻoponopono:',
 'prefs-preview' => 'Nāmua',
+'prefs-advancedrc' => 'Koho kiʻelē',
+'prefs-advancedrendering' => 'Koho kiʻelē',
+'prefs-advancedsearchoptions' => 'Koho kiʻelē',
+'prefs-advancedwatchlist' => 'Koho kiʻelē',
+'prefs-displayrc' => 'Koho nānā',
+'prefs-displaysearchoptions' => 'Koho nānā',
+'prefs-displaywatchlist' => 'Koho nānā',
+'prefs-diffs' => 'ʻOkoʻa',
 
 # User rights
 'userrights' => 'Ho‘oponopono ‘ana o nā kuleana',
@@ -806,7 +844,11 @@ Pahu hōʻailona: <strong>({{int:cur}})</strong> = ka ʻokoʻa me ke kāmua houl
 'newuserlogpage' => 'Moʻolelo haku mea hoʻohana',
 
 # Associated actions - in the sentence "You do not have permission to X"
+'action-read' => 'heluhelu i kēia ʻaoʻao',
 'action-edit' => 'ka hoʻololi ʻana i kēia ʻaoʻao',
+'action-createpage' => 'haku ʻaoʻao',
+'action-createtalk' => 'haku ʻaoʻao kūkākūkā',
+'action-createaccount' => 'kāinoa i kēia moʻokāki mea hoʻohana',
 
 # Recent changes
 'nchanges' => '$1 {{PLURAL:$1|loli|mau loli}}',
@@ -881,29 +923,56 @@ Pahu hōʻailona: <strong>({{int:cur}})</strong> = ka ʻokoʻa me ke kāmua houl
 'license-header' => 'Laikini',
 
 # Special:ListFiles
+'imgfile' => 'waihona',
+'listfiles' => 'Papahelu waihona',
+'listfiles_thumb' => 'Kiʻiliʻi',
+'listfiles_date' => 'Lā',
 'listfiles_name' => 'Inoa',
+'listfiles_user' => 'Mea hoʻohana',
+'listfiles_size' => 'Nui',
+'listfiles_description' => 'Hōʻike ʻAno',
+'listfiles_count' => 'Mana',
+'listfiles-latestversion' => 'Mana okamanawa',
+'listfiles-latestversion-yes' => 'ʻAe',
+'listfiles-latestversion-no' => 'ʻAʻole',
 
 # File description page
 'file-anchor-link' => 'Waihona',
 'filehist' => 'Mōʻaukala waihona',
 'filehist-help' => 'Kāomi ma ka lā/hola no ka nānā ʻana i ka waihona ma kēlā manawa.',
+'filehist-deleteall' => 'holoi apau',
+'filehist-deleteone' => 'holoi',
 'filehist-revert' => 'hoʻihoʻi',
 'filehist-current' => 'okamanawa',
 'filehist-datetime' => 'Lā/Hola',
 'filehist-thumb' => 'Kiʻiliʻi',
 'filehist-thumbtext' => 'Ke kiʻiliʻi no ka mana ma $1',
+'filehist-nothumb' => 'ʻAʻohe kiʻiliʻi',
 'filehist-user' => 'Mea ho‘ohana',
 'filehist-dimensions' => 'Nā Nui',
 'filehist-filesize' => 'Nui o ka waihona',
 'filehist-comment' => 'Kaumanaʻo',
+'filehist-missing' => 'Nele ka waihona',
 'imagelinks' => 'Nā Hana waihona',
 'linkstoimage' => 'Loulou {{PLURAL:$1|kekahi ‘ao‘ao|kēia mau ‘ao‘ao $1}} i kēia waihona:',
 'nolinkstoimage' => 'ʻAʻohe ʻaoʻao e loulou i kēia waihona.',
 'sharedupload-desc-here' => 'ʻO kēia waihona mai $1 a hiki paha ke hana ʻia mai nā papahana ʻē aʻe.
 Aia i lalo ka hōʻike ʻano [mai ka ʻaoʻao hōʻike ʻano waihona $2].',
+'shared-repo-from' => 'mai $1',
+
+# File reversion
+'filerevert-comment' => 'Kumu:',
 
 # File deletion
+'filedelete' => 'Holoi iā $1',
+'filedelete-legend' => 'Holoi i ka waihona',
 'filedelete-comment' => 'Kumu:',
+'filedelete-submit' => 'Holoi',
+'filedelete-otherreason' => 'Nā kumu ʻē aʻe:',
+'filedelete-reason-otherlist' => 'Nā kumu ʻē aʻe',
+
+# MIME search
+'download' => 'hoʻoili',
 
 # Random page
 'randompage' => 'ʻAtikala Kaulele',
@@ -970,7 +1039,13 @@ Aia i lalo ka hōʻike ʻano [mai ka ʻaoʻao hōʻike ʻano waihona $2].',
 
 # Email user
 'emailuser' => 'E leka uila i kēia mea ho‘ohana',
+'emailusername' => 'Inoa mea hoʻohana:',
+'emailusernamesubmit' => 'Waiho',
+'emailfrom' => 'Mai:',
+'emailto' => 'Iā:',
+'emailsubject' => 'Kumunui:',
 'emailmessage' => 'Pūlono:',
+'emailsend' => 'Hoʻouna',
 
 # Watchlist
 'watchlist' => 'Kaʻu papakiaʻi',
index 757fee1..a9e7d45 100644 (file)
@@ -616,7 +616,6 @@ $1',
 'disclaimers' => 'הבהרה משפטית',
 'disclaimerpage' => 'Project:הבהרה משפטית',
 'edithelp' => 'עזרה לעריכה',
-'helppage' => 'Help:תפריט ראשי',
 'mainpage' => 'עמוד ראשי',
 'mainpage-description' => 'עמוד ראשי',
 'policy-url' => 'Project:נהלים',
@@ -1096,9 +1095,9 @@ $2
 'accmailtitle' => 'הסיסמה נשלחה',
 'accmailtext' => "סיסמה אקראית עבור [[User talk:$1|$1]] נשלחה אל $2. ניתן לשנותה בדף '''[[Special:ChangePassword|שינוי הסיסמה]]''' לאחר הכניסה.",
 'newarticle' => '(חדש)',
-'newarticletext' => "הגעתם לדף שעדיין איננו קיים.
-כדי ליצור את הדף הזה, התחילו להקליד בתיבת הטקסט למטה (ראו את [[{{MediaWiki:Helppage}}|דף העזרה]] למידע נוסף).
-אם הגעתם לכאן בטעות, לחצו על '''כפתור החזרה''' (Back) בדפדפן שלכם.",
+'newarticletext' => 'הגעתם לדף שעדיין איננו קיים.
+כדי ליצור את הדף הזה, התחילו להקליד בתיבת הטקסט למטה (ראו את [$1 דף העזרה] למידע נוסף).
+אם הגעתם לכאן בטעות, לחצו על כפתור ה<strong>חזרה</strong> (Back) בדפדפן שלכם.',
 'anontalkpagetext' => "----
 '''זהו דף שיחה של משתמש אנונימי שעדיין לא יצר חשבון במערכת, או שהוא לא משתמש בו. כיוון שכך, אנו צריכים להשתמש בכתובת ה־IP כדי לזהותו. ייתכן שכתובת IP זו תייצג מספר משתמשים. אם אתם משתמשים אנונימיים ומרגישים שקיבלתם הודעות בלתי רלוונטיות, אנא [[Special:UserLogin|היכנסו לחשבון]] או [[Special:UserLogin/signup|הירשמו לאתר]] כדי להימנע מבלבול עתידי עם משתמשים אנונימיים נוספים.'''
 ----",
@@ -1110,15 +1109,15 @@ $2
 באפשרותכם [[Special:Search/{{PAGENAME}}|לחפש את כותרת הדף]] בדפים אחרים,
 או <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} לחפש ביומנים הרלוונטיים]</span>,
 אך אינכם מורשים ליצור את הדף.',
-'missing-revision' => 'גרסה #$1 של הדף "{{PAGENAME}}" אינה קיימת.
+'missing-revision' => 'גרסה #$1 של הדף "{{FULLPAGENAME}}" אינה קיימת.
 
 זה נגרם בדרך כלל על־ידי לחיצה על קישור ישן לגרסה קודמת של דף שנמחק.
 אפשר למצוא פרטים ב[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} יומן המחיקות].',
 'userpage-userdoesnotexist' => 'חשבון המשתמש "$1" אינו רשום.
 אנא בדקו אם ברצונכם ליצור/לערוך דף זה.',
 'userpage-userdoesnotexist-view' => 'חשבון המשתמש "$1" אינו רשום.',
-'blocked-notice-logextract' => 'משתמש זה חסום כרגע.
¤×¢×\95×\9cת ×\99×\95×\9e×\9f ×\94×\97ס×\99×\9e×\95ת ×\94×\90×\97ר×\95× ×\94 מוצגת להלן:',
+'blocked-notice-logextract' => '{{GENDER:$1|המשתמש הזה חסום|המשתמשת הזו חסומה}} כרגע.
\94פע×\95×\9c×\94 ×\94×\90×\97ר×\95× ×\94 ×\91×\99×\95×\9e×\9f ×\94×\97ס×\99×\9e×\95ת מוצגת להלן:',
 'clearyourcache' => "'''הערה:''' לאחר השמירה, עליכם לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
 * '''פיירפוקס / ספארי:''' לחצו על Shift בעת לחיצתכם על '''העלה מחדש''' (Reload), או הקישו על ''Ctrl-F5'' או על ''Ctrl-R'' (או על ''<span dir=\"ltr\">⌘-R</span>'' במחשב מק)
 * '''גוגל כרום:''' לחצו על ''Ctrl-Shift-R'' (או על ''<span dir=\"ltr\">⌘-Shift-R</span>'' במק)
@@ -1342,11 +1341,12 @@ $2
 'revdelete-no-file' => 'הקובץ שציינת אינו קיים.',
 'revdelete-show-file-confirm' => 'האם אתם בטוחים שברצונכם לצפות בגרסה המחוקה של הקובץ "<nowiki>$1</nowiki>" מתאריך $3, $2?',
 'revdelete-show-file-submit' => 'כן',
-'revdelete-selected' => "'''ה{{PLURAL:$2|גרסה שנבחרה|גרסאות שנבחרו}} מתוך הדף [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|פעולת היומנים שנבחרה|פעולות היומנים שנבחרו}}:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|הגרסה שנבחרה|הגרסאות שנבחרו}} מתוך [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|גרסת הקובץ שנבחרה|גרסאות הקובץ שנבחרו}} מתוך [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|פעולת היומן שנבחרה|פעולות היומן שנבחרו}}:',
 'revdelete-text-text' => 'גרסאות שנמחקו עדיין תופענה בהיסטוריית הדף, אך חלקים מהתוכן שלהן לא יהיו זמינים לציבור.',
 'revdelete-text-file' => 'גרסאות קבצים שנמחקו עדיין תופענה בהיסטוריית הקובץ, אך חלקים מהתוכן שלהן לא יהיו זמינים לציבור.',
-'logdelete-text' => 'פע×\95×\9c×\95ת ×\99×\95×\9e× ×\99×\9d שנמחקו עדיין תופענה בדפי היומנים, אך חלקים מהתוכן שלהן לא יהיו זמינים לציבור.',
+'logdelete-text' => 'פע×\95×\9c×\95ת ×\99×\95×\9e×\9f שנמחקו עדיין תופענה בדפי היומנים, אך חלקים מהתוכן שלהן לא יהיו זמינים לציבור.',
 'revdelete-text-others' => 'מפעילי מערכת אחרים באתר עדיין יוכלו לגשת לתוכן הנסתר ויוכלו לשחזר אותו שוב דרך הממשק הזה, אלא אם כן תוגדרנה הגבלות נוספות.',
 'revdelete-confirm' => 'אנא אשרו שזה אכן מה שאתם מתכוונים לעשות, שאתם מבינים את התוצאות של מעשה כזה, ושהמעשה מבוצע בהתאם ל[[{{MediaWiki:Policy-url}}|נוהלי האתר]].',
 'revdelete-suppress-text' => "יש להשתמש בהסתרה מלאה '''אך ורק''' במקרים הבאים:
@@ -2222,6 +2222,11 @@ $1',
 # List redirects
 'listredirects' => 'רשימת הפניות',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'רשימת קבצים כפולים',
+'listduplicatedfiles-summary' => 'זוהי רשימה של קבצים שהגרסה החדשה ביותר שלהם זהה לגרסה החדשה ביותר של קובץ אחר כלשהו. רק קבצים מקומיים נבדקים לצורך זה.',
+'listduplicatedfiles-entry' => 'לקובץ [[:File:$1|$1]] יש [[$3|{{PLURAL:$2|עותק זהה|$2 עותקים זהים}}]].',
+
 # Unused templates
 'unusedtemplates' => 'תבניות שאינן בשימוש',
 'unusedtemplatestext' => 'דף זה מכיל רשימה של כל הדפים במרחב השם {{ns:template}} שאינם נכללים בדף אחר. אנא זכרו לבדוק את הקישורים האחרים לתבניות לפני שתמחקו אותן.',
@@ -2377,7 +2382,7 @@ $1',
 # Book sources
 'booksources' => 'משאבי ספרות חיצוניים',
 'booksources-search-legend' => 'חיפוש משאבי ספרות חיצוניים',
-'booksources-isbn' => 'מסת"ב:',
+'booksources-isbn' => 'מסת"ב (ISBN):',
 'booksources-go' => 'הצגה',
 'booksources-text' => 'להלן רשימת קישורים לאתרים אחרים המוכרים ספרים חדשים ויד־שנייה, ושבהם עשוי להיות מידע נוסף לגבי ספרים שאתם מחפשים:',
 'booksources-invalid-isbn' => 'המסת"ב שניתן כנראה אינו תקין; אנא בדקו אם ביצעתם טעויות בהעתקה מהמידע המקורי.',
@@ -2677,7 +2682,8 @@ $UNWATCHURL
 להלן ההגדרות הנוכחיות עבור הדף '''$1''':",
 'protect-locked-access' => "לחשבון המשתמש שלך אין הרשאה לשנות את רמת ההגנה של הדף.
 להלן ההגדרות הנוכחיות עבור הדף '''$1''':",
-'protect-cascadeon' => 'דף זה מוגן כרגע כיוון שהוא מוכלל {{PLURAL:$1|בדף הבא, שמופעלת עליו|בדפים הבאים, שמופעלת עליהם}} הגנה מדורגת. באפשרותכם לשנות את רמת ההגנה על הדף, אך זה לא ישפיע על ההגנה המדורגת.',
+'protect-cascadeon' => 'דף זה מוגן כרגע כיוון שהוא מוכלל {{PLURAL:$1|בדף הבא, שמופעלת עליו|בדפים הבאים, שמופעלת עליהם}} הגנה מדורגת.
+שינויים ברמת ההגנה על הדף לא ישפיעו על ההגנה המדורגת.',
 'protect-default' => 'כל המשתמשים מורשים',
 'protect-fallback' => 'רק משתמשים בעלי הרשאת "$1" מורשים',
 'protect-level-autoconfirmed' => 'רק משתמשים ותיקים מורשים',
@@ -2793,7 +2799,7 @@ $1',
 'sp-contributions-logs' => 'יומנים',
 'sp-contributions-talk' => 'שיחה',
 'sp-contributions-userrights' => 'ניהול הרשאות משתמש',
-'sp-contributions-blocked-notice' => 'משתמש זה חסום כרגע.
+'sp-contributions-blocked-notice' => '{{GENDER:$1|המשתמש הזה חסום|המשתמשת הזו חסומה}} כרגע.
 הפעולה האחרונה ביומן החסימות מוצגת להלן:',
 'sp-contributions-blocked-notice-anon' => 'כתובת IP זו חסומה כרגע.
 הפעולה האחרונה ביומן החסימות מוצגת להלן:',
index e8d234e..c1723a6 100644 (file)
@@ -18,6 +18,7 @@
  * @author Charu
  * @author Darshan kandolkar
  * @author Dineshjk
+ * @author Goelujjwal
  * @author Hemant wikikosh1
  * @author Htt
  * @author InfinityO O
@@ -441,7 +442,6 @@ $1',
 'disclaimers' => 'अस्वीकरण',
 'disclaimerpage' => 'Project:साधारण अस्वीकरण',
 'edithelp' => 'सम्पादन सहायता',
-'helppage' => 'Help:सहायता',
 'mainpage' => 'मुखपृष्ठ',
 'mainpage-description' => 'मुखपृष्ठ',
 'policy-url' => 'Project:नीति',
@@ -739,6 +739,7 @@ $2',
 'createacct-another-realname-tip' => 'असली नाम देना आवश्यक नहीं है।
 यदि आप प्रदान करते हैं तो इसका प्रयोग सदस्य के योगदानों के लिये उनको श्रेय (attribution) देने के लिये किया जायेगा।',
 'pt-login' => 'लॉग इन',
+'pt-login-button' => 'लॉग इन',
 'pt-createaccount' => 'खाता बनाएँ',
 'pt-userlogout' => 'लॉगआउट',
 
@@ -771,7 +772,10 @@ $2',
 'resetpass-temp-password' => 'अस्थायी कूटशब्द:',
 'resetpass-abort-generic' => 'कूटशब्द में बदलाव किसी एक्सटेंशन द्वारा रोक दिया गया है।',
 'resetpass-expired' => 'आपके पासवर्ड की वैधता अवधि समाप्त हो चुकी है। कृपया लॉग इन करने के लिए एक नया पासवर्ड सेट करें।',
-'resetpass-expired-soft' => "आपका पासवर्ड की वैधता अवधि समाप्त हो गयी है, और उसे रीसेट करने की ज़रूरत है। कृपया एक नया पासवर्ड चुनें, या बाद में रीसेट करने के लिए 'रद्द करें' पर क्लिक करें।",
+'resetpass-expired-soft' => 'आपका पासवर्ड की वैधता अवधि समाप्त हो गयी है और उसे रीसेट करने की ज़रूरत है। कृपया एक नया पासवर्ड चुनें, या बाद में रीसेट करने के लिए "{{int:resetpass-submit-cancel}}" पर क्लिक करें।',
+'resetpass-validity-soft' => 'आपका पासवर्ड मान्य नहीं है: $1 
+
+कृपया अब एक नया पासवर्ड चुनें, या उसे बाद में पुनर्स्थापित करने के लिए "{{int:resetpass-submit-cancel}}" पर क्लिक करें।',
 
 # Special:PasswordReset
 'passwordreset' => 'कूटशब्द रीसेट',
@@ -913,7 +917,7 @@ $2
 'accmailtext' => "[[User talk:$1|$1]] के लिए एक यंत्र जनित कूटशब्द $2 को भेज दिया गया है। लॉगिन करने के बाद इसे '''[[Special:ChangePassword|कूटशब्द बदलें]]'' वाले पृष्ठ पर बदला जा सकता है।",
 'newarticle' => '(नया)',
 'newarticletext' => "आप ऐसे पृष्ठ पर आए हैं जो अभी तक बनाया नहीं गया है।
-पृष्ठ बनाने के लिये नीचे के बौक्स में पाठ लिखें। अधिक जानकारी के लिये [[{{MediaWiki:Helppage}}|सहायता पृष्ठ]] देखें।
+पृष्ठ बनाने के लिये नीचे के बौक्स में पाठ लिखें। अधिक जानकारी के लिये [$1 सहायता पृष्ठ] देखें।
 अगर आप यहाँ पर गलती से आए हैं तो अपने ब्राउज़र के बैक ('''back''') बटन पर क्लिक करें।",
 'anontalkpagetext' => "----''यह वार्ता पृष्ठ उन बेनामी सदस्यों के लिये है जिन्होंने या तो खाता नहीं खोला है या खाते का प्रयोग नहीं कर रहे हैं।
 इसलिये उनकी पहचान के लिये हमें उनका आइ॰पी पता प्रयोग करना पड़ता है।
@@ -926,7 +930,7 @@ $2
 'noarticletext-nopermission' => 'फ़िलहाल इस पृष्ठ पर कोई सामग्री नहीं है।
 आप अन्य पृष्ठों में [[Special:Search/{{PAGENAME}}|इस शीर्षक की खोज]] कर सकते हैं,
 या <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} संबंधित लॉग खोज सकते हैं]</span>, परन्तु आपको यह पृष्ठ बनाने की अनुमति नहीं है।',
-'missing-revision' => '"{{PAGENAME}}" पृष्ठ का अवतरण #$1 मौजूद नहीं है।
+'missing-revision' => '"{{FULLPAGENAME}}" पृष्ठ का अवतरण #$1 मौजूद नहीं है।
 
 आम तौर पर यह एक हटाए गए पृष्ठ के पुराने लिंक पर क्लिक करने से होता है।
 अधिक जानकारी के लिए आप [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} हटाने का लॉग] देख सकते हैं।',
@@ -1165,8 +1169,7 @@ $2
 'revdelete-no-file' => 'निर्दिष्ट फ़ाइल मौजूद नहीं है।',
 'revdelete-show-file-confirm' => 'क्या आप वाकई फ़ाइल "<nowiki>$1</nowiki>" के $2 को $3 बजे बने, हटाए जा चुके अवतरण को देखना चाहते हैं?',
 'revdelete-show-file-submit' => 'हाँ',
-'revdelete-selected' => "'''[[:$1]] {{PLURAL:$2|का चुना हुआ|के चुने हुए}} अवतरण:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|चुना हुआ|चुने हुए}} लॉग इवेंट:'''",
+'logdelete-selected' => '{{PLURAL:$1|चुना हुआ|चुने हुए}} लॉग इवेंट:',
 'revdelete-confirm' => 'पुष्टि करें कि आप यह कार्य करना चाहते हैं, आप इसका परिणाम समझते हैं, और आप ये [[{{MediaWiki:Policy-url}}|नीति]] के अनुसार कर रहे हैं।',
 'revdelete-suppress-text' => 'छिपाने का प्रयोग <strong>केवल</strong> इन परिस्थितियों में होना चाहिए:
 * संभावित अपमानजनक जानकारी
@@ -2440,7 +2443,7 @@ $UNWATCHURL
 'delete-warning-toobig' => 'इस पृष्ठ का संपादन इतिहास $1 से अधिक {{PLURAL:$1|अवतरण}} होने की वजह से बहुत बड़ा है।
 इसे हटाने से {{SITENAME}} के डाटाबेस की गतिविधियों में व्यवधान आ सकता है;
 कृपया सोच समझ कर आगे बढ़ें।',
-'deleting-backlinks-warning' => "'''चेतावनी:''' जो पृष्ठ आप हटाने जा रहे हैं उससे [[विशेष:कड़ियाँ|अन्य पृष्ठ]] जुड़ते हैं अथवा उसे ट्रांसक्लूड करते हैं।",
+'deleting-backlinks-warning' => "'''चेतावनी:''' जो पृष्ठ आप हटाने जा रहे हैं उससे [[Special:WhatLinksHere/{{FULLPAGENAME}}|अन्य पृष्ठ]] जुड़ते हैं अथवा उसे ट्रांसक्लूड करते हैं।",
 
 # Rollback
 'rollback' => 'संपादन वापिस लें',
@@ -2494,7 +2497,7 @@ $2 द्वारा संपादित अन्तिम अवतरण 
 पृष्ठ '''$1''' की वर्तमान स्थिति यह है:",
 'protect-locked-access' => "आपको इस पृष्ठ का सुरक्षा-स्तर बदलने की अनुमति नहीं है।
 '''$1''' का वर्तमान सुरक्षा-स्तर यह है:",
-'protect-cascadeon' => 'यह à¤ªà¥\83षà¥\8dठ à¤\85भà¥\80 à¤¸à¥\81रà¤\95à¥\8dषित à¤¹à¥\88 à¤\95à¥\8dयà¥\8bà¤\82à¤\95ि à¤¯à¤¹ {{PLURAL:$1|à¤\87स à¤ªà¥\83षà¥\8dठ à¤\95à¥\80|à¤\87न à¤ªà¥\83षà¥\8dठà¥\8bà¤\82 à¤\95à¥\80}} à¤¸à¥\81रà¤\95à¥\8dषा-सà¥\80à¥\9dà¥\80 à¤®à¥\87à¤\82 à¤¹à¥\88। à¤\86प à¤\87स à¤ªà¥\83षà¥\8dठ à¤\95ा à¤¸à¥\81रà¤\95à¥\8dषा-सà¥\8dतर à¤¬à¤¦à¤² à¤¸à¤\95तà¥\87 à¤¹à¥\88à¤\82, à¤ªà¤° à¤\89ससà¥\87 à¤¸à¥\81रà¤\95à¥\8dषा-सà¥\80à¥\9dà¥\80 à¤®à¥\87à¤\82 à¤¬à¤¦à¤²à¤¾à¤µ à¤¨à¤¹à¥\80à¤\82 à¤¹à¥\8bà¤\82à¤\97à¥\87।',
+'protect-cascadeon' => 'यह à¤ªà¥\83षà¥\8dठ à¤\85भà¥\80 à¤¸à¥\81रà¤\95à¥\8dषित à¤¹à¥\88 à¤\95à¥\8dयà¥\8bà¤\82à¤\95ि à¤¯à¤¹ {{PLURAL:$1|à¤\87स à¤ªà¥\83षà¥\8dठ à¤\95à¥\80|à¤\87न à¤ªà¥\83षà¥\8dठà¥\8bà¤\82 à¤\95à¥\80}} à¤¸à¥\81रà¤\95à¥\8dषा-सà¥\80ढ़à¥\80 à¤®à¥\87à¤\82 à¤¹à¥\88। à¤\87स à¤ªà¥\83षà¥\8dठ à¤\95à¥\87 à¤¸à¥\81रà¤\95à¥\8dषा-सà¥\8dतर à¤®à¥\87à¤\82 à¤¬à¤¦à¤²à¤¾à¤µ à¤¸à¥\87 à¤¸à¥\81रà¤\95à¥\8dषा-सà¥\80ढ़à¥\80 à¤®à¥\87à¤\82 à¤¬à¤¦à¤²à¤¾à¤µ à¤¨à¤¹à¥\80à¤\82 à¤¹à¥\8bà¤\97ा।',
 'protect-default' => 'सभी सदस्यों को अनुमति दें',
 'protect-fallback' => 'केवल "$1" अधिकार वाले सदस्यों को अनुमति दें',
 'protect-level-autoconfirmed' => 'केवल स्वतः स्थापित सदस्यों को अनुमति दें',
@@ -3764,6 +3767,7 @@ $5
 
 # Language selector for translatable SVGs
 'img-lang-default' => '(डिफ़ॉल्ट भाषा)',
+'img-lang-go' => 'जाएं',
 
 # Table pager
 'ascending_abbrev' => 'asc',
index ae91e74..472b4cc 100644 (file)
@@ -283,7 +283,6 @@ $1',
 'disclaimers' => 'Jimmewari se chhutkaari',
 'disclaimerpage' => 'Project:Saadharan jimmewari nai lo',
 'edithelp' => 'Badlao pe madat',
-'helppage' => 'Help:Madat',
 'mainpage' => 'Pahila Panna',
 'mainpage-description' => 'Pahila Panna',
 'policy-url' => 'Project:Niti',
@@ -734,7 +733,7 @@ Jab aap ii panna ke dekhtaa rahaa tab saait iske hatae nai to mitae dewa gais ra
 Ii nawa account ke password ke ''[[Special:ChangePassword|change password]]''  panna pe badla jaae sake hai jab aap login karta hai.",
 'newarticle' => '(Nawaa)',
 'newarticletext' => "Aap ek panna ke jorr ke follow kara hae jon ki abhi nai hae.
-Ii panna banae khatir, niche box me type karo (see the [[{{MediaWiki:Helppage}}|help page]] for more info).
+Ii panna banae khatir, niche box me type karo (see the [$1 help page] for more info).
 Agar jo aap hian par galti se aae hai tab aapan browser ke '''back''' button pe click karo.",
 'anontalkpagetext' => "----''Ii salah kare waala panna uu anonymous sadasya ke baare me jon abhi account nai banais hai, nai to account ke kaam me nai lawe hai.
 Ii kaaran se ham log ke IP address kaam me lae ke ii sadasya ke jaana jae hai.
@@ -749,7 +748,7 @@ nai to [{{fullurl:{{FULLPAGENAME}}|action=edit}} ii panna ke badlo]</span>.',
 'noarticletext-nopermission' => 'Abhi ii panna me koi chij likha nai hae.
 Aap sakta hae [[Special:Search/{{PAGENAME}}|ii panna ke title ke khoje]] duusra panna me,
 nai to <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} search the related logs]</span>, lekin aap ke ii panna ke banae ke ijaaja tnai hae.',
-'missing-revision' => 'Panna "{{PAGENAME}}" me #$1 badlao nai hae.
+'missing-revision' => 'Panna "{{FULLPAGENAME}}" me #$1 badlao nai hae.
 Iske kaaran ii hoe sake hae ki ek mitawa gais panna se link karaa jaawe hae.
 Iske baare me aur jaankari [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log] me paawa jaae sake hae.',
 'userpage-userdoesnotexist' => 'User account "<nowiki>$1</nowiki>" abi registered nai hai.
@@ -978,8 +977,7 @@ Aap ii diff ke dekhe saktaa hae: iske baare me aur jaan kaari [{{fullurl:{{#Spec
 'revdelete-no-file' => 'Chuna gais file abhi nai banawa gais hai.',
 'revdelete-show-file-confirm' => 'Ka aap sure hai ki aap file ke mitawa gais revision ke dekhe mangtaa hai "<nowiki>$1</nowiki>" $2 se $3 talak?',
 'revdelete-show-file-submit' => 'Haan',
-'revdelete-selected' => "'''{{PLURAL:$2|Selected badlao|Selected badlao}} of [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Chuna gais log event|Chuna gais log events}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Chuna gais log event|Chuna gais log events}}:',
 'revdelete-confirm' => 'Meharbani kar ke aap ii confirm karo ki aap ii kare mangta hae, aap iske asar ke samajhta hae, aur iske aap [[{{MediaWiki:Policy-url}}|the policy]] ke anusar karta hae.',
 'revdelete-suppress-text' => "Suppression ke '''khaali''' ii chij ke khatir kaam me lawa jaae sake hai:
 * Aapan baare me jaankari thik nai hai
index 05318ec..feb3c4b 100644 (file)
@@ -252,7 +252,6 @@ $1',
 'disclaimers' => 'Diskleymer',
 'disclaimerpage' => 'Project:Kabilogan nga diskleymer',
 'edithelp' => 'Bulig sa pag Ilis',
-'helppage' => 'Help:Mga Unod',
 'mainpage' => 'Mayor nga Panid',
 'mainpage-description' => 'Mayor nga Panid',
 'policy-url' => 'Project:Patakaran',
@@ -662,7 +661,7 @@ Mahimo nga ini ginsaylo na ukon ginpanas samtang nagalantaw ka sang panid.',
 Ang pasword para sa sini nga bag-o nga akawnt mahimo ma-ilisan sa ''[[Special:ChangePassword|ilisan ang pasword]]'' nga panid pagkatapos magsulod.",
 'newarticle' => '(Bag-o)',
 'newarticletext' => "Nagbukas ka sang isa ka tabid pakadto sa isa ka pahina nga wala pa nahimo.
-Para maghimo sang sina na pahina, sugod ka lang sa pagtayp sa sulod sang kahon nga makit an mo sa idalum (tan-awa ang [[{{MediaWiki:Helppage}}|bulig nga pahina]] para sa dugang nga impormasyon).
+Para maghimo sang sina na pahina, sugod ka lang sa pagtayp sa sulod sang kahon nga makit an mo sa idalum (tan-awa ang [$1 bulig nga pahina] para sa dugang nga impormasyon).
 Pero kung nakasulod nga aksidente lamang, palihog lang i-klik sa imo internet nga may ngalan ukon simbolo nga '''back''' button.",
 'anontalkpagetext' => "----''Ini ang panid para sa pagtalakay sa wala makilala-an nga manuggamit nga wala pa nakatuga sang akawnt, ukon wala nagagamit sang isa.
 Amo nga kinahanglan naton mag-gamit sang IP adres nga de numero agod nga mahibaluan naton siya.
@@ -675,7 +674,7 @@ o [{{fullurl:{{FULLPAGENAME}}|action=edit}} islan ini nga pahina]</span>.',
 'noarticletext-nopermission' => 'Wala subong sang teksto ang sini nga panid.
 Pwede ka [[Special:Search/{{PAGENAME}}|mangita para sa titulo sang ini nga panid]] sa iban man nga panid,
 ukon <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} mangita ka sang kaparehas nga logs]</span>.',
-'missing-revision' => 'Ang ini nga pag-ilis nga #$1 sang panid nga ginhinanglan nga "{{PAGENAME}}" wala naga-eksister.
+'missing-revision' => 'Ang ini nga pag-ilis nga #$1 sang panid nga ginhinanglan nga "{{FULLPAGENAME}}" wala naga-eksister.
 
 Ini kalabanan ginabuhat sang nagasunod nga wala na mabag-o nga link sang hisayranay sa isa ka panid nga gindula na.
 Ang mga detalye mahimo nga makita sa [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].',
@@ -905,8 +904,7 @@ ang ini nga buluhaton wala, ukon gahimakas ka nga taguon ang karon nga pagbag-o.
 'revdelete-no-file' => 'Ang ginatumod nga hilera wala naga-eksister.',
 'revdelete-show-file-confirm' => 'Sigurado ka bala nga luyag mo makita ang ginpanas nga pagbag-o sang hilera nga "<nowiki>$1</nowiki>" halin sang $2 sa $3?',
 'revdelete-show-file-submit' => 'Huo',
-'revdelete-selected' => "'''{{PLURAL:$2|Ginpili nga pagbag-o|Ginpili nga mga pagbag-o}} ni [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Ginpili nga hinatabo sa log|Ginpili nga mga hinatabo sa log}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Ginpili nga hinatabo sa log|Ginpili nga mga hinatabo sa log}}:',
 'revdelete-confirm' => 'Palihog konpermar nga luyag mo ini himuon, nga imo naintiendihan ang mga konsekwensya, kag ginahimo mo ini suno sa [[{{MediaWiki:Policy-url}}|polisiya]].',
 'revdelete-suppress-text' => "Ang pagpahugot nagakadapat '''lamang''' nga pagagamiton sa masunod nga kaso:
 * Nagapang-guba sang dignindad nga impormasyon
index 97e151b..d7974e1 100644 (file)
@@ -565,7 +565,6 @@ $1',
 'disclaimers' => 'Odricanje od odgovornosti',
 'disclaimerpage' => 'Project:General_disclaimer',
 'edithelp' => 'Kako uređivati stranicu',
-'helppage' => 'Help:Pomoć',
 'mainpage' => 'Glavna stranica',
 'mainpage-description' => 'Glavna stranica',
 'policy-url' => 'Project:Pravila',
@@ -845,6 +844,7 @@ Molimo Vas pričekajte $1 prije nego što pokušate ponovno.',
 'createacct-another-realname-tip' => 'Pravo ime nije obvezno. 
 Ako ga navedete, bit će korišteno za pripisivanje Vaših doprinosa.',
 'pt-login' => 'Prijavi se',
+'pt-login-button' => 'Prijavi se',
 'pt-createaccount' => 'Otvori novi suradnički račun',
 'pt-userlogout' => 'odjavi se',
 
@@ -1002,7 +1002,7 @@ Možda je premješten ili izbrisan dok ste pregledavali stranicu.',
 Nakon prijave, lozinka za ovaj novi račun može biti promijenjena na stranici ''[[Special:ChangePassword|promijeni lozinku]]'' nakon prijave.",
 'newarticle' => '(Novo)',
 'newarticletext' => "Došli ste na stranicu koja još ne postoji.
-Ako želite stvoriti tu stranicu, počnite tipkati u prozor ispod ovog teksta (pogledajte [[{{MediaWiki:Helppage}}|stranicu za pomoć]]).
+Ako želite stvoriti tu stranicu, počnite tipkati u prozor ispod ovog teksta (pogledajte [$1 stranicu za pomoć]).
 Ako ste ovamo dospjeli slučajno, kliknite gumb '''natrag''' (back) u svom pregledniku.",
 'anontalkpagetext' => "----''Ovo je stranica za razgovor s neprijavljenim suradnikom koji još nije otvorio suradnički račun ili se njime ne koristi. Zbog toga se moramo služiti brojčanom IP adresom kako bismo ga identificirali. Takvu adresu često može dijeliti više ljudi. Ako ste neprijavljeni suradnik i smatrate da su Vam upućeni irelevantni komentari, molimo Vas da [[Special:UserLogin/signup|otvorite suradnički račun]] ili [[Special:UserLogin|se prijavite]] te tako u budućnosti izbjegnete zamjenu s drugim neprijavljenim suradnicima.''",
 'noarticletext' => 'Na ovoj stranici trenutačno nema sadržaja.
@@ -1011,7 +1011,7 @@ Možete [[Special:Search/{{PAGENAME}}|potražiti ovaj naslov]] na drugim stranic
 ili [{{fullurl:{{FULLPAGENAME}}|action=edit}} urediti ovu stranicu]</span>.',
 'noarticletext-nopermission' => 'Ova stranica nema sadržaja.
 Možete [[Special:Search/{{PAGENAME}}|tražiti naslov ove stranice]] na drugim stranicama ili <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} pretražiti povezane evidencije]</span>, ali ne možete stvoriti ovu stranicu.',
-'missing-revision' => 'Uređivanje broj $1 na stranici "{{PAGENAME}}" ne postoji.
+'missing-revision' => 'Uređivanje broj $1 na stranici "{{FULLPAGENAME}}" ne postoji.
 
 Ovo je obično uzrokovano kada kliknete na zastarjelu poveznicu na stranice koja je obrisana.
 Više informacija možete pronaći u [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} evidenciji brisanja].',
@@ -1229,8 +1229,7 @@ Možete ju pregledati; više podataka možete vidjeti u [{{fullurl:{{#Special:Lo
 'revdelete-no-file' => 'Navedena datoteka ne postoji.',
 'revdelete-show-file-confirm' => 'Jeste li sigurni da želite pregledati izbrisanu inačicu datoteke "<nowiki>$1</nowiki>" od $2 u $3?',
 'revdelete-show-file-submit' => 'Da',
-'revdelete-selected' => "'''{{PLURAL:$2|Odabrana izmjena|Odabrane izmjene|Odabrane izmjene}} stranice [[$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Odabrani zapis u evidenciji|Odabrani zapisi u evidenciji}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Odabrani zapis u evidenciji|Odabrani zapisi u evidenciji}}:',
 'revdelete-confirm' => 'Molimo potvrdite da namjeravate ovo učiniti, da razumijete posljedice i da to činite u skladu s [[{{MediaWiki:Policy-url}}|pravilima]].',
 'revdelete-suppress-text' => "Sklanjanje uređivanja treba raditi '''iznimno''' u slijedećih par slučajeva:
 * Privatne informacije neprilične javnom mediju tipa
@@ -2437,7 +2436,7 @@ Sva vremena su prema poslužiteljevom vremenu.',
 
 Posljednju promjenu napravio je [[User:$3|$3]] ([[User talk:$3|Razgovor]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).',
 'editcomment' => "Sažetak promjene je bio: \"''\$1''\".",
-'revertpage' => 'Uklonjena promjena suradnika $2, vraćeno na posljednju inačicu suradnika $1',
+'revertpage' => 'Uklonjena promjena suradnika [[Special:Contributions/$2|$2]] ([[User talk:$2|razgovor]]), vraćeno na posljednju inačicu suradnika [[User:$1|$1]]',
 'revertpage-nouser' => 'Vraćene izmjene suradnika (suradničko ime uklonjeno) na posljednju inačicu suradnika [[User:$1|$1]]',
 'rollback-success' => 'Uklonjeno uređivanje {{GENDER:$1|suradnika|suradnice}} $1
 vraćeno na posljednju inačicu {{GENDER:$2|suradnika|suradnice}} $2.',
diff --git a/languages/messages/MessagesHrx.php b/languages/messages/MessagesHrx.php
new file mode 100644 (file)
index 0000000..67d2ab5
--- /dev/null
@@ -0,0 +1,2835 @@
+<?php
+/** Hunsrik (Hunsrik)
+ *
+ * See MessagesQqq.php for message documentation incl. usage of parameters
+ * To improve a translation please visit http://translatewiki.net
+ *
+ * @ingroup Language
+ * @file
+ *
+ * @author Paul Beppler
+ */
+
+$fallback = 'de';
+
+$messages = array(
+# User preference toggles
+'tog-underline' => 'Links (Verbinnunge) unnerstreiche:',
+'tog-hideminor' => 'Klen Ännrunge in den "Letzte Ännrunge" ausblenne',
+'tog-hidepatrolled' => 'Kontrollierte Ännrunge in den "Letzte Ännrungen" ausblenne',
+'tog-newpageshidepatrolled' => 'Kontrollierte Seite bei den "Neie Seite" ausblenne',
+'tog-extendwatchlist' => 'Beobachtungslist erweitre, um statt nuer der letzte Ännrung alle Ännrunge oonzuzeiche.',
+'tog-usenewrc' => 'Ännrunge uff "Letzte Ännrunge" und Beobachtungslist noh Seit gruppiere',
+'tog-numberheadings' => 'Üwerschrifte automatisch nummeriere',
+'tog-showtoolbar' => 'Beoorbeite-Werrekzeichleiste oonzeiche',
+'tog-editondblclick' => 'Seite mit Doppelklick beoorbeite',
+'tog-editsectiononrightclick' => 'Einzelne Abschnitte per Rechtsklick beoorbeite',
+'tog-rememberpassword' => 'Mit dem Browser dauerhaft oongemeldet bleiwe (maximal $1 {{PLURAL:$1|Tooch|Tooche}})',
+'tog-watchcreations' => 'Sellebst erstellt Seite und hochgeloodne Dateie automatisch beobachte',
+'tog-watchdefault' => 'Sellebst geännert Seit und Dateie automatisch beobachte',
+'tog-watchmoves' => 'Sellebst verschobne Seite und Dateie automatisch beobachte',
+'tog-watchdeletion' => 'Sellebst gelöscht Seite und Dateie automatisch beobachte',
+'tog-minordefault' => 'Eichne Ännrunge standardmässich als geringfüchich markiere',
+'tog-previewontop' => 'Vorschau owerhalleb von der Beoorbeitungsfenster oonzeiche',
+'tog-previewonfirst' => 'Beim earscht Beoorbeit immer die Vorschau oonzeiche',
+'tog-enotifwatchlistpages' => 'Bei Ännrungen an beobachtete Seite orrer Dateie E-Mails schicke',
+'tog-enotifusertalkpages' => 'Bei Ännrunge an meiner Benutzer-Diskussionsseit E-Mails schicke',
+'tog-enotifminoredits' => 'Aooch bei klene Ännrunge an Seite und Dateie E-Mails schicke',
+'tog-enotifrevealaddr' => 'Mein E-Mail-Adress in Benachrichtichungs-E-Mails oonzeiche',
+'tog-shownumberswatching' => 'Oonzoohl der beobachtende Benutzer oonzeiche',
+'tog-oldsig' => 'Voarhandne Signatuar:',
+'tog-fancysig' => 'Signatuar als Wikitext behandle (ohne automatische Verlinkung)',
+'tog-uselivepreview' => 'Voarschau sofort oonzeiche (experimentell)',
+'tog-forceeditsummary' => 'Warne, soweit beim Speichre die Zusammerfassung fehlt',
+'tog-watchlisthideown' => 'Eigne Beoorbeitunge in der Beobachtungslist ausblenne',
+'tog-watchlisthidebots' => 'Beoorbeitunge doorrich Bots in der Beobachtungslist ausblenne',
+'tog-watchlisthideminor' => 'Klene Beoorbeitunge in der Beobachtungslist ausblenne',
+'tog-watchlisthideliu' => 'Beoorbeitunge oongemeldeter Benutzer in der Beobachtungslist ausblenne',
+'tog-watchlisthideanons' => 'Beoorbeitunge anonymer Benutzer (IP-Adresse) in der Beobachtungslist ausblennen',
+'tog-watchlisthidepatrolled' => 'Kontrollierte Ännrunge in der Beobachtungslist ausblenne',
+'tog-ccmeonemails' => 'Schick mir Kopiee von der E-Mails, wo ich annre Benutzer schicke',
+'tog-diffonly' => 'Beim Versionsvergleich nuar die Unnerschiede und net die vollständiche Seit oonzeiche',
+'tog-showhiddencats' => 'Oonzeiche versteckter Kategoriee',
+'tog-norollbackdiff' => 'Unnerschied noh dem Zurücksetze unnerdrücke',
+'tog-useeditwarning' => 'Warne, soweit en zur Beoorbeitung geöffnete Seit verloss weard, wo net gespeicherte Ännrunge enthält',
+'tog-prefershttps' => 'Wenn oongemeldet, immer en sichre Verbinnung benutze.',
+
+'underline-always' => 'immer',
+'underline-never' => 'nie',
+'underline-default' => 'abhängig von der Benutzerowerfläche orrer Browserinstellung (d.h. Navegationsprogramminstellung)',
+
+# Font style option in Special:Preferences
+'editfont-style' => 'Schriftoort für den Text im Beoorbeitungsfenster:',
+'editfont-default' => 'Browserstandard',
+'editfont-monospace' => 'Schriftoort (Fontetyp) mit fester Zeichebreit',
+'editfont-sansserif' => 'Serifelose Groteskschrift',
+'editfont-serif' => 'Schrift mit Serife',
+
+# Dates
+'sunday' => 'Sonntach',
+'monday' => 'Montach',
+'tuesday' => 'Dienstach',
+'wednesday' => 'Mittwoch',
+'thursday' => 'Donnerstooch',
+'friday' => 'Freitach',
+'saturday' => 'Samstach',
+'sun' => 'So',
+'mon' => 'Mo',
+'tue' => 'Di',
+'wed' => 'Mi',
+'thu' => 'Do',
+'fri' => 'Fr',
+'sat' => 'Sa',
+'january' => 'Januar',
+'february' => 'Februar',
+'march' => 'März',
+'april' => 'April',
+'may_long' => 'Mai',
+'june' => 'Juni',
+'july' => 'Juli',
+'august' => 'August',
+'september' => 'September',
+'october' => 'Oktober',
+'november' => 'November',
+'december' => 'Dezember',
+'january-gen' => 'Januars',
+'february-gen' => 'Februars',
+'march-gen' => 'Märzes',
+'april-gen' => 'Aprils',
+'may-gen' => 'Mais',
+'june-gen' => 'Junis',
+'july-gen' => 'Julis',
+'august-gen' => 'Augusts',
+'september-gen' => 'Septembers',
+'october-gen' => 'Oktobers',
+'november-gen' => 'Novembers',
+'december-gen' => 'Dezembers',
+'jan' => 'Jan.',
+'feb' => 'Feb.',
+'mar' => 'Mär.',
+'apr' => 'Apr.',
+'may' => 'Mai',
+'jun' => 'Jun.',
+'jul' => 'Jul.',
+'aug' => 'Aug.',
+'sep' => 'Sep.',
+'oct' => 'Okt.',
+'nov' => 'Nov.',
+'dec' => 'Dez.',
+'january-date' => '$1. Januar',
+'february-date' => '$1. Februar',
+'march-date' => '$1. März',
+'april-date' => '$1. April',
+'may-date' => '$1. Mai',
+'june-date' => '$1. Juni',
+'july-date' => '$1. Juli',
+'august-date' => '$1. August',
+'september-date' => '$1. September',
+'october-date' => '$1. Oktober',
+'november-date' => '$1. November',
+'december-date' => '$1. Dezember',
+
+# Categories related messages
+'pagecategories' => '{{PLURAL:$1|Kategorie|Kategoriee}}',
+'category_header' => 'Seite in der Kategorie "$1"',
+'subcategories' => 'Unnerkategoriee',
+'category-media-header' => 'Medie in der Kategorie "$1"',
+'category-empty' => "''Die Kategorie enthält zurzeit ken Seite orrer Medie.''",
+'hidden-categories' => '{{PLURAL:$1|Versteckte Kategorie|Versteckte Kategoriee}}',
+'hidden-category-category' => 'Versteckte Kategoriee',
+'category-subcat-count' => '{{PLURAL:$2|Die Kategorie enthält follichende Unnerkategorie:|{{PLURAL:$1|Follichende Unnerkategorie ist en von insgesamt $2 Unnerkategorie in der Kategorie:|Es werre $1 von insgesamt $2 Unnerkategorie in der Kategorie oongezeichtt:}}}}',
+'category-subcat-count-limited' => 'Die Kategorie enthält follichende {{PLURAL:$1|Unterkategorie|$1 Unnerkategoriee}}:',
+'category-article-count' => '{{PLURAL:$2|Die Kategorie enthält follichende Seit:|{{PLURAL:$1|Follichen Seit ist en von insgesamt $2 Seite in der Kategorie:|Es werre $1 von insgesamt $2 Seite in der Kategorie oongezeicht:}}}}',
+'category-article-count-limited' => 'Follichende {{PLURAL:$1|Seite ist|$1 Seite sind}} in der Kategorie enthalt:',
+'category-file-count' => '{{PLURAL:$2|Die Kategorie enthält follichende Seit:|{{PLURAL:$1|Follichen Seit ist en von insgesamt $2 Seite in der Kategorie:|Es werre $1 von insgesamt $2 Seite in der Kategorie oongezeicht:}}}}',
+'category-file-count-limited' => 'Follichende {{PLURAL:$1|Datei ist|$1 Dateie sind}} in der Kategorie enthalt:',
+'listingcontinuesabbrev' => '(Fortsetzung)',
+'index-category' => 'Indexierte Seite',
+'noindex-category' => 'Nichtindexierte Seite',
+'broken-file-category' => 'Seite mit defekte Dateilinks',
+
+'about' => 'Üwer',
+'article' => 'Seit',
+'newwindow' => '(weard in enem neie Fenster geöffnet)',
+'cancel' => 'Abbreche',
+'moredotdotdot' => 'Mehr …',
+'morenotlisted' => 'Dies List ist net vollständig.',
+'mypage' => 'Eichne Seit',
+'mytalk' => 'Diskussion',
+'anontalk' => 'Diskussionsseit für der IP',
+'navigation' => 'Navegation',
+'and' => '&#32;und',
+
+# Cologne Blue skin
+'qbfind' => 'Finne',
+'qbbrowse' => 'Doorrichsuche',
+'qbedit' => 'Beoorbeite',
+'qbpageoptions' => 'Seiteoptione',
+'qbmyoptions' => 'Meine Seite',
+'faq' => 'Häifich gestellte Froche',
+'faqpage' => 'Project:FAQ',
+
+# Vector skin
+'vector-action-addsection' => 'Abschnitt hinzufüche',
+'vector-action-delete' => 'Lösche',
+'vector-action-move' => 'Verschiebe',
+'vector-action-protect' => 'Schütz',
+'vector-action-undelete' => 'Wiederherstelle',
+'vector-action-unprotect' => 'Seiteschutz ännre',
+'vector-view-create' => 'Erstell',
+'vector-view-edit' => 'Beoorbeite',
+'vector-view-history' => 'Versionsgeschicht',
+'vector-view-view' => 'Lese',
+'vector-view-viewsource' => 'Quelltext oonzeiche',
+'actions' => 'Aktione',
+'namespaces' => 'Noomeräume',
+'variants' => 'Variante',
+
+'navigation-heading' => 'Navigationsmenü',
+'errorpagetitle' => 'Fehler',
+'returnto' => 'Retuar zur Seit $1.',
+'tagline' => 'Aus {{SITENAME}}',
+'help' => 'Hellef',
+'search' => 'Such',
+'searchbutton' => 'Suche',
+'go' => 'Ausführe',
+'searcharticle' => 'Such',
+'history' => 'Versione',
+'history_short' => 'Versionsgeschicht',
+'updatedmarker' => 'Ännrung seit deinem letzte Besuch',
+'printableversion' => 'Druckversion',
+'permalink' => 'Permanenter Link',
+'print' => 'Drucke',
+'view' => 'Lese',
+'edit' => 'Beoorbeite',
+'create' => 'Erstell',
+'editthispage' => 'Seit beoorbeite',
+'create-this-page' => 'Seit erstelle',
+'delete' => 'Lösche',
+'deletethispage' => 'Die Seit lösche',
+'undeletethispage' => 'Die Seit wiederherstelle',
+'undelete_short' => '{{PLURAL:$1|1 Version|$1 Versione}} wiederherstelle',
+'viewdeleted_short' => '{{PLURAL:$1|Ein gelöscht Version|$1 gelöschte Versione}} ansehen',
+'protect' => 'Schütz',
+'protect_change' => 'ännre',
+'protectthispage' => 'Seit schütze',
+'unprotect' => 'Seiteschutz ännre',
+'unprotectthispage' => 'Seitschutz ännre',
+'newpage' => 'Neie Seit',
+'talkpage' => 'Die Seit diskutiere',
+'talkpagelinktext' => 'Diskussion',
+'specialpage' => 'Spezialseit',
+'personaltools' => 'Meine Werkzeiche',
+'postcomment' => 'Neier Abschnitt',
+'articlepage' => 'Inhaltsseit oonzeiche',
+'talk' => 'Diskussion',
+'views' => 'Ansichte',
+'toolbox' => 'Werkzeich',
+'userpage' => 'Benutzerseit oonzeiche',
+'projectpage' => 'Projektseit oonzeiche',
+'imagepage' => 'Dateiseit oonzeiche',
+'mediawikipage' => 'Meldungsseit oonzeiche',
+'templatepage' => 'Voarloocheseit oonzeiche',
+'viewhelppage' => 'Hellefseit oonzeiche',
+'categorypage' => 'Kategorieseit oonzeiche',
+'viewtalkpage' => 'Diskussion',
+'otherlanguages' => 'In annre Sproche',
+'redirectedfrom' => '(Weitergeleitet von $1)',
+'redirectpagesub' => 'Weiterleitung',
+'lastmodifiedat' => 'Die Seit woor zuletzt am $1 um $2 Uhr geännert.',
+'viewcount' => 'Die Seit woard bisher {{PLURAL:$1|einmal|$1 mal}} abgeruff.',
+'protectedpage' => 'Geschützte Seit',
+'jumpto' => 'Wechsle zu:',
+'jumptonavigation' => 'Navigation',
+'jumptosearch' => 'Such',
+'view-pool-error' => 'Entschuldichung, die Server sind im Moment üwerlaschtet.
+Zu viele Benutzer versuche, die Seit zu besuche.
+Bitte woort en Poor Minute, bevoar du das noomo versuchst.
+
+$1',
+'pool-timeout' => 'Zeitablauf im Verloof von das Warte uff die Sperrung',
+'pool-queuefull' => 'Poolwoortschlang ist voll',
+'pool-errorunknown' => 'Unbekannter Fehler',
+
+# All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
+'aboutsite' => 'Üwer {{SITENAME}}',
+'aboutpage' => 'Project:Üwer_{{SITENAME}}',
+'copyright' => 'Der Inhalt ist verfüchbar unner der Lizenz $1, soweit nix anner oongeb ist.',
+'copyrightpage' => '{{ns:project}}:Urheberrechte',
+'currentevents' => 'Aktuelle Ereichnisse',
+'currentevents-url' => 'Project:Aktuelle Ereichnisse',
+'disclaimers' => 'Impressum',
+'disclaimerpage' => 'Project:Impressum',
+'edithelp' => 'Beoorbeitungshellef',
+'mainpage' => 'Hauptseit',
+'mainpage-description' => 'Hauptseit',
+'policy-url' => 'Project:Richtlinie',
+'portal' => 'Gemeinschaftsportal',
+'portal-url' => 'Project:Gemeinschaftsportal',
+'privacy' => 'Dateschutz',
+'privacypage' => 'Project:Dateschutz',
+
+'badaccess' => 'Ken ausreichende Benutzerrechte',
+'badaccess-group0' => 'Du hast net die erforderliche Benutzerrechte für die Aktion.',
+'badaccess-groups' => 'Die Aktion ist uff Benutzer beschränkt, die {{PLURAL:$2|der Grupp|ener der Gruppe}} „$1“ angehören.',
+
+'versionrequired' => 'Version $1 von MediaWiki ist erforderlich.',
+'versionrequiredtext' => 'Version $1 von MediaWiki ist erforderlich und nötich, um die Seit zu nutze.
+Sieh die [[Special:Version|Version sein Seit]]',
+
+'ok' => 'Okay',
+'retrievedfrom' => 'Von „$1“',
+'youhavenewmessages' => '{{PLURAL:$3|Du host}} $1 ($2).',
+'youhavenewmessagesfromusers' => '{{PLURAL:$4|Du host}} $1 von {{PLURAL:$3|en anner Benutzer|$3 annre Benutzer}} ($2).',
+'youhavenewmessagesmanyusers' => 'Du host $1 von viele Benutzre ($2).',
+'newmessageslinkplural' => '{{PLURAL:$1|en neie Nachricht|999=neie Nachrichte}}',
+'newmessagesdifflinkplural' => 'letzte {{PLURAL:$1|Ännrung|999=Ännrunge}}',
+'youhavenewmessagesmulti' => 'Du host neie Nachrichte: $1',
+'editsection' => 'Beoorbeite',
+'editold' => 'Beoorbeite',
+'viewsourceold' => 'Quelltext oonzeiche',
+'editlink' => 'Beoorbeite',
+'viewsourcelink' => 'Quelltext oonzeiche',
+'editsectionhint' => 'Abschnitt beoorbeite: $1',
+'toc' => 'Inhaltsverzeichnis',
+'showtoc' => 'Oonzeiche',
+'hidetoc' => 'Verberriche',
+'collapsible-collapse' => 'Inklappe',
+'collapsible-expand' => 'Ausklappe',
+'thisisdeleted' => '$1 oonsiehn orrer wiederherstelle?',
+'viewdeleted' => '$1 oonzeiche?',
+'restorelink' => '$1 {{PLURAL:$1|gelöschte Version|gelöschte Versione}}',
+'feedlinks' => 'Feed (das ist en Anglizismus, für das was regäb ist, die informatione ren getun sin):',
+'feed-invalid' => 'Ungülticher Feed-Abonnement-Typ.',
+'feed-unavailable' => 'Es stehn ken Feeds zur Verfüchung.',
+'site-rss-feed' => 'RSS-Feed für "$1"',
+'site-atom-feed' => 'Atom-Feed für „$1“',
+'page-rss-feed' => 'RSS-Feed für "$1"',
+'page-atom-feed' => 'Atom-Feed für „$1“',
+'red-link-title' => '$1 (Seit existiert net)',
+'sort-descending' => 'Absteichend sortiere',
+'sort-ascending' => 'Uffsteichend sortiere',
+
+# Short words for each namespace, by default used in the namespace tab in monobook
+'nstab-main' => 'Seit',
+'nstab-user' => 'Benutzerseit',
+'nstab-media' => 'Medieseit',
+'nstab-special' => 'Spezialseit',
+'nstab-project' => 'Projektseit',
+'nstab-image' => 'Datei',
+'nstab-mediawiki' => 'Systemnachricht',
+'nstab-template' => 'Vorlooche',
+'nstab-help' => 'Hellefseit',
+'nstab-category' => 'Kategorie',
+
+# Main script and global functions
+'nosuchaction' => 'Die Aktion gebt es net',
+'nosuchactiontext' => 'Die in der URL oongebne Aktion weard von MediaWiki net unnerstützt.
+Es kann en Schreibfehler in der URL voarliehn orrer es woard en fehlerhafter Link oongeklickt.
+Das kann sich ooch um en Programmierfehler in der Software, wo von {{SITENAME}} benutzt weard, handle.',
+'nosuchspecialpage' => 'Spezialseit net voarhand',
+'nospecialpagetext' => '<strong>Die uffgerufne Spezialseit ist net voarhand.</strong>
+
+All verfüchbare Spezialseite sind in der [[Special:SpecialPages|List von der Spezialseite]] zu finne.',
+
+# General errors
+'error' => 'Fehler',
+'databaseerror' => 'Datebankfehler',
+'databaseerror-text' => 'En Datebankabfrochfehler ist passiert.
+Das könnt uff en Fehler in der Software hindeite.',
+'databaseerror-textcl' => 'Do ist en Datenbankabfrochfehler uffgetret.',
+'databaseerror-query' => 'Abfroch: $1',
+'databaseerror-function' => 'Funktion: $1',
+'databaseerror-error' => 'Fehler: $1',
+'laggedslavemode' => "'''Achtung:''' Die oongezeicht Seit könnte unner Umstände net die letzte Beoorbeitunge enthalte.",
+'readonly' => 'Datebank gesperrt',
+'enterlockreason' => 'Bitte geb en Grund ren, waroom die Datebank gesperrt werre soll und en Abschätzung üwer die Dauer von der Sperrung',
+'readonlytext' => 'Die Datebank ist voarüwergehend für Neiinträche und Ännrunge gesperrt. Bitte versuche es später nochmo.
+
+Grund für der Sperrung: $1',
+'missing-article' => 'Der Text von „$1“ $2 woor net in der Datebank gefund.
+
+Die Seit ist möchlicherweis gelöscht orrer verschob woard.
+
+Falls das net zutrifft, host du eventuell en Fehler in der Software gefund. Bitte melde das enem [[Special:ListUsers/sysop|Administrator]] unner Nennung der URL.',
+'missingarticle-rev' => '(Versionsnummer: $1)',
+'missingarticle-diff' => '(Unnerschied zwischich Versione: $1, $2)',
+'readonly_lag' => 'Die Datebank woard automatisch für Schreibzugriffe gesperrt, domit sich die verteilte Datebankserver (Slaves/Skloove) mit dem Hauptdatebankserver (Master / Meister) abgegleicht sin könne.',
+'internalerror' => 'Interner Fehler',
+'internalerror_info' => 'Interner Fehler: $1',
+'fileappenderrorread' => '„$1“ konnt im Verloof von der Hinzufüche net geles sin.',
+'fileappenderror' => 'Konnt „$1“ net an "$2" oonhänge.',
+'filecopyerror' => 'Die Datei "$1" konnt net noh "$2" kopiert sin.',
+'filerenameerror' => 'Die Datei "$1" konnt net noh "$2" umbenannt sin.',
+'filedeleteerror' => 'Die Datei "$1" konnt net gelöscht sin.',
+'directorycreateerror' => 'Das Verzeichnis "$1" konnt net oongeleht sin.',
+'filenotfound' => 'Die Datei "$1" woard net gefund.',
+'fileexistserror' => 'In die Datei "$1" konnt net geschrieb sin, weil die Datei schon voarhand ist.',
+'unexpected' => 'Unerwoorteter Weart: „$1“ = „$2“',
+'formerror' => 'Fehler: Die Igäb konnte net veroorbeitet sin.',
+'badarticleerror' => 'Die Aktion kann uff die Seit net oongewendt sin.',
+'cannotdelete' => 'Die Seit orrer Datei "$1" kann net gelöscht sin.
+Möchlicherweis woard die bereits von jemand annrem gelöscht.',
+'cannotdelete-title' => 'Seit "$1" kann net gelöscht sin',
+'delete-hook-aborted' => 'Die Löschung woard von en Programmerweitrung zu MediaWiki verhinnert.
+Das ist hierzu ken Erklärung verfüchbar.',
+'no-null-revision' => 'Die neie Nullversion für die Seit "$1" konnt net erstellt sin',
+'badtitle' => 'Ungülticher Titel',
+'badtitletext' => 'Der Titel von der oongeforderte Seit ist ungültich, leer orrer en ungülticher Sprochlink von en anne Wiki.',
+'perfcached' => 'Die follichende Date stamme aus dem Cache und sind möchlicherweis net aktuell. Maximal {{PLURAL:$1|en Ergebnis ist|$1 Ergebnisse sind}} im Cache verfüchbar.',
+'perfcachedts' => 'Die Date stamme aus dem Cache. Der Zeitpunkt von der letzte Aktualisierung: $2, $3 Uhr. Maximal {{PLURAL:$4|en Ergebnis ist|$4 Ergebnisse sind}} im Cache verfüchbar.',
+'querypage-no-updates' => 'Die Aktualisierungsfunktion von der Seit ist zurzeit deaktiviert.
+Die Date werre bis uff Weitres net erneiert.',
+'viewsource' => 'Quelltext oonzeiche',
+'viewsource-title' => 'Der Seit sein Quelltext $1',
+'actionthrottled' => 'Aktionsoonzoohl limitiert',
+'actionthrottledtext' => 'Im Rahme von en Anti-Spam-Massnoohm kann die Aktion in en koorrze Zeitabstand nuar begrenzt oft ausgeführt sin. Die Grenze host du üwerschritt.
+Bittschön versuch es in en poor Minute nochmo.',
+'protectedpagetext' => 'Die Seit woard geschützt, um Beoorbeitunge sowie annre Aktione zu verhinnre.',
+'viewsourcetext' => 'Du kannst den Quelltext von der Seit betrachte und kopiere:',
+'viewyourtext' => "Du kannst den Quelltext '''deiner Beoorbeitung''' von der Seit betrachte und kopiere:",
+'protectedinterface' => 'Dies Seit enthält Text für die Benutzerowerfläch von der Software uff dem Wiki und ist geschützt, um Missbrauch voarzubeiche.
+Nutz bittschön [//translatewiki.net/ translatewiki.net], das Lokalisierungsprojekt von MediaWiki, um Üwersetzungen für alle Wikis hinzuzufüche orrer zu ännre.',
+'editinginterface' => "'''Warnung:''' Die Seit enthält von der MediaWiki-Software genutzte Text.
+Ännrunge uff der Seit wirreke sich uff die Benutzerowerfläch von das Wikis aus.
+Nutze bittschön [//translatewiki.net/ translatewiki.net], das Lokalisierungsprojekt von MediaWiki, um Üwersetzunge für all Wikis hinzuzufüche orrer zu ännre.",
+'cascadeprotected' => 'Die Seit ist zur Beoorbeitung gesperrt. Sie ist in die {{PLURAL:$1|follichende Seit|follichende Seite}} ingebundt, wo mittels von der Kaskadesperroption geschützt {{PLURAL:$1|ist|sind}}:
+$2',
+'namespaceprotected' => "Du host net die erforderliche Berechtichung, um Seite im Noomeraum '''$1''' beoorbeite zu könne.",
+'customcssprotected' => 'Du host net die Berechtichung, die CSS enthaltende Seite zu beoorbeite, weil sie die persönliche Einstellunge von en anner Benutzer enthält.',
+'customjsprotected' => 'Du host net die Berechtivhung, die JavaScript enthaltende Seit zu beoorbeite, weil das sich hierbei um die persönliche Einstellunge von en anner Benutzer handelt.',
+'mycustomcssprotected' => 'Du host ken Berechtichung, die CSS-Seit zu beoorbeite.',
+'mycustomjsprotected' => 'Du host kene Berechtichung, die JavaScript-Seit zu beoorbeit.',
+'myprivateinfoprotected' => 'Du host ken Berechtichung, dein private Informatione zu beoorbeite.',
+'mypreferencesprotected' => 'Du host ken Berechtichung, dein Einstellunge zu beoorbeite.',
+'ns-specialprotected' => 'Spezialseite könne net beoorbeitet sin.',
+'titleprotected' => 'En Seit mit dem Noome kann net oongelht sin.
+Die Sperre woare doorrich [[User:$1|$1]] mit der Begründung \'\'"$2"\'\' ingericht.',
+'filereadonlyerror' => 'Die Datei "$1" kann net verännert sin, weil uff das Dateirepositorium "$2" nuar Lesezugriff möchlich ist.
+
+Der Administrator, wo den Schreibzugriff gesperrt hot, hot der follichende Grund oongäb: "$3".',
+'invalidtitle-knownnamespace' => 'Ungülticher Titel mit Noomeraum "$2" und Text "$3"',
+'invalidtitle-unknownnamespace' => 'Ungülticher Titel mit unbekannter Noomeraumnummer $1 und Text "$2"',
+'exception-nologin' => 'Net oongemeldt',
+'exception-nologin-text' => 'Du musst dich [[Special:Userlogin|oonmelde]], um uff die Seit orrer Aktion zuzugreife se könne.',
+'exception-nologin-text-manual' => 'Du musst dich $1, um uff die Seit orrer Aktion zugreif ze können.',
+
+# Virus scanner
+'virus-badscanner' => "Fehlerhafte Konfiguration: unbekannter Virenscanner: ''$1''",
+'virus-scanfailed' => 'Scan fehlgeschloohn (code $1)',
+'virus-unknownscanner' => 'Unbekannter Virescanner:',
+
+# Login and logout pages
+'logouttext' => "'''Du bist jetzt abgemeldet.'''
+
+Beacht, dass etliche Seit noch oonzeiche könne, dass du oongemeldt bist, solang du net deine Browsercache geleert host.",
+'welcomeuser' => 'Wellkomm, $1!',
+'welcomecreation-msg' => 'Dein Benutzerkonto woard erstellt.
+Vergess net, deine [[Special:Preferences|{{SITENAME}}-Einstellunge]] zu ännre.',
+'yourname' => 'Benutzername:',
+'userlogin-yourname' => 'Benutzernoome',
+'userlogin-yourname-ph' => 'Geb dein Benutzernoome ren',
+'createacct-another-username-ph' => 'Benutzernoome',
+'yourpassword' => 'Passwort:',
+'userlogin-yourpassword' => 'Passwort',
+'userlogin-yourpassword-ph' => 'Geb dein Passwort ren',
+'createacct-yourpassword-ph' => 'Geb dein Passwort ren',
+'yourpasswordagain' => 'Passwort repetiere:',
+'createacct-yourpasswordagain' => 'Passwort bestätiche',
+'createacct-yourpasswordagain-ph' => 'Geb das Passwort erneit ren',
+'remembermypassword' => 'Mit dem Browser dauerhaft oongemeldet bleiwe (maximal $1 {{PLURAL:$1|Tooch|Tooche}})',
+'userlogin-remembermypassword' => 'Oongemeldt bleiwe',
+'userlogin-signwithsecure' => 'Sichre Verbinnung verwenne',
+'yourdomainname' => 'Dein Domain:',
+'password-change-forbidden' => 'Du kannst uff dem Wiki ken Passwörter ännre.',
+'externaldberror' => 'Entweder es lieht en Fehler bei der externe Authentifizierung voar orrer du därrefst dein externes Benutzerkonto net aktualisiere.',
+'login' => 'Oonmelde',
+'nav-login-createaccount' => 'Oonmelde / Benutzerkonto erstelle',
+'loginprompt' => 'Zur Oonmeldung müsse Cookies aktiviert sin.',
+'userlogin' => 'Oonmelde / Benutzerkonto erstelle',
+'userloginnocreate' => 'Oonmelde',
+'logout' => 'Abmelde',
+'userlogout' => 'Abmelde',
+'notloggedin' => 'Nicht oongemeldt',
+'userlogin-noaccount' => 'Du host noch ken Benutzerkonto?',
+'userlogin-joinproject' => '{{SITENAME}} beitrete',
+'nologin' => "Du host ken Benutzerkonto? '''$1'''.",
+'nologinlink' => 'En neie Benutzerkonto erstelle',
+'createaccount' => 'Benutzerkonto erstelle',
+'gotaccount' => "Du host schon en Benutzerkonto? '''$1'''.",
+'gotaccountlink' => 'Oonmelde',
+'userlogin-resetlink' => 'Die Oonmelddate vergess?',
+'userlogin-resetpassword-link' => 'Passwort vergesse?',
+'userlogin-helplink2' => 'Hellef bei der Oonmeldung',
+'userlogin-loggedin' => 'Du bist schon als {{GENDER:$1|$1}} oongemeldt.
+Benutz das unne stehnd Formular, um dich unner enem annren Benutzername oonzumelde.',
+'userlogin-createanother' => 'En weitres Benutzerkonto erstelle',
+'createacct-join' => 'Geb do unne deine Informatione ren.',
+'createacct-another-join' => 'Geb do unne die Informationen von der neie Benutzerkonto ren.',
+'createacct-emailrequired' => 'E-Mail-Adress',
+'createacct-emailoptional' => 'E-Mail-Adress (optional)',
+'createacct-email-ph' => 'Geb dein E-Mail-Adress ren',
+'createacct-another-email-ph' => 'E-Mail-Adress',
+'createaccountmail' => 'En temporäres Zufallspasswort verwenne und an die oongebne E-Mail-Adress verschicke',
+'createacct-realname' => 'Registrierte Noome (optional)',
+'createaccountreason' => 'Grund:',
+'createacct-reason' => 'Begründung',
+'createacct-reason-ph' => 'Waroom erstellst du en annres Benutzerkonto?',
+'createacct-captcha' => 'Sicherheitsprüfung',
+'createacct-imgcaptcha-ph' => 'Geb den Text ren, den wo du uwe siehst.',
+'createacct-submit' => 'Dein Benutzerkonto erstelle',
+'createacct-another-submit' => 'En anner Benutzerkonto erstelle',
+'createacct-benefit-heading' => '{{SITENAME}} weard von Mensche wie dir geschaff.',
+'createacct-benefit-body1' => '{{PLURAL:$1|Bearbeitung|Bearbeitunge}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|Seit|Seite}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|aktiver Autor|aktive Autore}}',
+'badretype' => 'Die beide Passwörter stimme net gleichoortich.',
+'userexists' => 'Der Benutzernoome ist schon vergeb.
+Bittschön wähl en annre.',
+'loginerror' => 'Fehler bei der Oonmeldung',
+'createacct-error' => 'Fehler beim Erstelle von der Benutzerkonto',
+'createaccounterror' => 'Benutzerkonto konnte net erstellt sin: $1',
+'nocookiesnew' => 'Der Benutzerzugang woard erstellt, awer du bist net oongemeldt. {{SITENAME}} benöticht für die Funktion Cookies, bitte aktivier die und meld dich dann mit deinem neie Benutzernoome und dem zugehöriche Passwort an.',
+'nocookieslogin' => '{{SITENAME}} benutzt Cookies zur Oonmeldung von der Benutzer. Du host Cookies deaktiviert, bitte aktivier se und versuch das noohmo.',
+'nocookiesfornew' => 'Das Benutzerkonto woard net erstellt, weil die Dateherkunft net ermittelt sin konnt.
+Das muss sichergestellt sin, dass Cookies aktiviert sind. Donoh die Seit erneut loode und es wieder versuche.',
+'noname' => 'Du musst en gültiche Benutzernoome oongewe.',
+'loginsuccesstitle' => 'Oonmeldung erfollichgreich',
+'loginsuccess' => 'Du bist jetzt als "$1" bei {{SITENAME}} oongemeldt.',
+'nosuchuser' => 'Der Benutzernoome „$1“ existiert net.
+Üwerprüf die Schreibweis (Gross-/Klenschreibung beachte) orrer [[Special:UserLogin/signup|meld dich als neier Benutzer an]].',
+'nosuchusershort' => 'Der Benutzernoome "$1" ist net voarhand. Bitte üwerprüf die Schreibweis.',
+'nouserspecified' => 'Bittschön geb en Benutzernoome an.',
+'login-userblocked' => '{{GENDER:$1|Der Benutzer|Die Benutzrin|Der Benutzer}} ist gesperrt. Die Oonmeldung ist net erlaubt.',
+'wrongpassword' => 'Das Passwort ist falsch. Bittschön versuch das erneit.',
+'wrongpasswordempty' => 'Do woard ken Passwort regeb. Bittschön versuch das erneit.',
+'passwordtooshort' => 'Passwörter müsse minnestens {{PLURAL:$1|1 Zeiche|$1 Zeiche}} lang sin.',
+'password-name-match' => 'Dein Passwort muss sich von deinem Benutzernoome unnerscheide.',
+'password-login-forbidden' => 'Die Verwennung von der Benutzernoome und das Passwort ist net erlaubt.',
+'mailmypassword' => 'Passwort zurücksetze',
+'passwordremindertitle' => 'Neies Passwort für en {{SITENAME}}-Benutzerkonto',
+'passwordremindertext' => 'Jemand mit der IP-Adress $1, wahrscheinlich du sellebst, hot en neies Passwort für die Oonmeldung bei {{SITENAME}} ($4) oongefordert.
+
+Das automatisch generierte Passwort für Benutzer "$2" lautet jetzt: $3
+
+Falls du das wirklich gewünscht host, sollst du dich jetzt oonmelde und das Passwort ännre.
+Das neie Passwort ist {{PLURAL:$5|1 Tooch|$5 Tooch}} gültich.
+
+Bittschön ignorier die E-Mail, falls du se net sellebst oongefordert host. Das alte Passwort bleibt weiterhin gültich.',
+'noemail' => '{{GENDER:$1|Benutzer|Benutzrin|Benutzer}} "$1" hot ken E-Mail-Adress angegeben.',
+'noemailcreate' => 'Du musst en gültiche E-Mail-Adress oongewe',
+'passwordsent' => 'En neies, temporäres Passwort woard an die E-Mail-Adress von Benutzer "$1" geschickt.
+Bittschön meld dich domit an, sobald du es krieht host. Das alte Passwort bleibt weiterhin gültich.',
+'blocked-mailpassword' => 'Die von dir verwennte IP-Adress ist für das Ännre von Seite gesperrt. Um en Missbrauch zu verhinnre, woard die Möchlichkeit zu der Oonfordrung von en neie Passworte ewenfalls ooch gesperrt.',
+'eauthentsent' => 'En Bestätichungs-E-Mail woard an die oongebne Adress verschickt.
+
+Bevoar en E-Mail von annre Benutzer üwer die E-Mail-Funktion empfang sin kann, muss die Adress und ehre tatsächliche Zugehörigkeit zu dem Benutzerkonto earscht bestäticht sin. Bittschön befolliche die Hinweis in der Bestätichungs-E-Mail.',
+'throttled-mailpassword' => 'Do woard innerhalb von der letzte {{PLURAL:$1|Stund|$1 Stunde}} schon en Passwortzurücksetzung-E-Mail oongefordert. Um en Missbrauch von der Funktion zu verhinnre, kann nuar {{PLURAL:$1|emol in jede Stund|alle $1 Stunde}} en Passwortzurücksetzung-E-Mail oongefordert sin.',
+'mailerror' => 'Fehler beim Sende von der E-Mail: $1',
+'acct_creation_throttle_hit' => 'Besucher von das Wiki, wo dein IP-Adress verwenne, honn innerhalleb von der letzte Tooche {{PLURAL:$1|1 Benutzerkonto|$1 Benutzerkonte}} erstellt, was die maximal erlaubte Oonzoohl in die Zeitperiode ist.
+
+Besucher, wo die IP-Adress verwenne, könne momentan ken Benutzerkonte mehr erstelle.',
+'emailauthenticated' => 'Dein E-Mail-Adress woard am $2 um $3 Uhr bestäticht.',
+'emailnotauthenticated' => 'Dein E-Mail-Adress ist noch net bestäticht.
+Die follichende E-Mail-Funktione stehn earst noh erfollichreicher Bestätichung zur Verfüchung.',
+'noemailprefs' => 'Geb en E-Mail-Adress in den Instellunge an, damit die nhfollichende Funktione zur Verfüchung stehn.',
+'emailconfirmlink' => 'E-Mail-Adress konfirmiere und bestätiche (authentifiziere).',
+'invalidemailaddress' => 'Die E-Mail-Adress weard net akzeptiert, weil die en ungültiches Format (eventuell ungültiche Zeiche) scheint zu honn. Bittschön geb en korrekte Adress ren orrer leer das Feld.',
+'cannotchangeemail' => 'E-Mail-Adresse könne in dem Wiki net geändert sin.',
+'emaildisabled' => 'Üwer die Website könne ken E-Mails versandt werre.',
+'accountcreated' => 'Benutzerkonto erstellt',
+'accountcreatedtext' => 'Das Benutzerkonto für [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|Diskussion]]) woard mit Erfolch ingerichtet.',
+'createaccount-title' => 'Erstellung von en Benutzerkonto für {{SITENAME}}',
+'createaccount-text' => 'Do woard für dich en Benutzerkonto "$2" uff {{SITENAME}} ($4) erstellt. Das automatisch generierte Passwort für "$2" ist "$3". Du sollst dich jetzt oonmelde und das Passwort ännre.
+
+Falls das Benutzerkonto irrtümlich oongeleht woard, kannst du die Nachricht ignoriere.',
+'usernamehasherror' => 'Benutzernoome deerfe ken Rautzeiche enthalte',
+'login-throttled' => 'Du host keerzlich zu viele Oonmeldversuche unnernomm.
+Bittachön woort $1, bevoar du das erneit versuchst.',
+'login-abort-generic' => 'Dein Oonmeldung woor net erfollichreich – Abgebroch',
+'loginlanguagelabel' => 'Sproch: $1',
+'suspicious-userlogout' => 'Dein Abmeldeoonfroch woard verweichert, weil die vermutlich von en defekte Browser orrer en Cache-Proxy gesendt woard.',
+'createacct-another-realname-tip' => 'Der bürcherliche registriert Noome ist optional.
+Wenn du ihn oongebst, weard ear für die Zuordnung von der Beiträche verwendt.',
+'pt-login' => 'Oonmelde',
+'pt-login-button' => 'Oonmelde',
+'pt-createaccount' => 'Benutzerkonto erstelle',
+'pt-userlogout' => 'Abmelde',
+
+# Email sending
+'php-mail-error-unknown' => 'Unbekannter Fehler mit der Funktion mail() von PHP',
+'user-mail-no-addy' => 'Versuchte, en E-Mail ohne Oongäb von en E-Mail-Adress zu versende.',
+'user-mail-no-body' => 'Do woard versucht, en E-Mail mit en leere orrer zu koorze Textkörper zu versende.',
+
+# Change password dialog
+'changepassword' => 'Passwort ännre',
+'resetpass_announce' => 'Um die Oonmeldung abzuschliesse, musst du en neies Passwort festlehn.',
+'resetpass_header' => 'Passwort ännre',
+'oldpassword' => 'Altes Passwort:',
+'newpassword' => 'Neies Passwort:',
+'retypenew' => 'Passwort repetiere:',
+'resetpass_submit' => 'Passwort üwermittle und oonmelde',
+'changepassword-success' => 'Dein Passwort woard erfollichreich geännert!',
+'changepassword-throttled' => 'Du host keerzlich zu viele Oonmeldversuche unnernomm.
+Bittachön woort $1, bevoar du das erneit versuchst.',
+'resetpass_forbidden' => 'Das Passwort kann net geännert werre.',
+'resetpass-no-info' => 'Du musst dich oonmelde, um uff die Seit direkt zuzugreife.',
+'resetpass-submit-loggedin' => 'Passwort ännre',
+'resetpass-submit-cancel' => 'Abbreche',
+'resetpass-wrong-oldpass' => 'Ungültiches temporäres orrer aktuelles Passwort.
+Möchlicherweis host du dein Passwort schon erfollichreich geännert orrer en neies temporäres Passwort beantroocht.',
+'resetpass-recycled' => 'Bittschön setz dein Passwort uff en annres Passwort als dein aktuelles wos do jetzt host.',
+'resetpass-temp-emailed' => 'Du host dich mit em temporäre E-Mail-Code oongemeldt.
+Um die Oonmeldung abzuschliesse, musst du jetzt en neies Passwort festlehn:',
+'resetpass-temp-password' => 'Temporäres Passwort:',
+'resetpass-abort-generic' => 'Die Passwortännrung woard doorrich en Erweitrung abgebroch.',
+'resetpass-expired' => 'Dein Passwort ist abgeloof. Bittschön leh en neies Passwort zur Oonmeldung fest.',
+'resetpass-expired-soft' => 'Dein Passwort ist abgeloof und muss zurückgesetzt sin. Bittschön wähl jetzt en neies Passwort aus orrer klick uff "{{int:resetpass-submit-cancel}}", um das später zurückzusetze.',
+'resetpass-validity-soft' => 'Dein Passwort ist net gültich: $1
+
+Bittschön wähl jetzt en neies Passwort orrer klick uff „{{int:resetpass-submit-cancel}}“, um das später zurückzusetze.',
+
+# Special:PasswordReset
+'passwordreset' => 'Passwort zurücksetze',
+'passwordreset-text-one' => 'Füll das Formular aus, um den Passwort zurückzusetze.',
+'passwordreset-text-many' => '{{PLURAL:$1|Füll en von der Felder aus, um en temporäres Passwort por E-Mail zugesandt zu bekomme.}}',
+'passwordreset-legend' => 'Passwort zurücksetze',
+'passwordreset-disabled' => 'Das Zurücksetze von Passwörter woard in dem Wiki deaktiviert.',
+'passwordreset-emaildisabled' => 'Die E-Mail-Funktione worre uff dem Wiki deaktiviert.',
+'passwordreset-username' => 'Benutzernoome:',
+'passwordreset-domain' => 'Domain:',
+'passwordreset-capture' => 'Die E-Mail-Nachricht oonsiehn?',
+'passwordreset-capture-help' => 'Wenn du das Kästche oonkreizt, weard die E-Mail-Nachricht mit dem temporäre Passwort sowohl dir oongezeicht als ooch dem Benutzer zugesandt.',
+'passwordreset-email' => 'E-Mail-Adress',
+'passwordreset-emailtitle' => 'Benutzerkontoinformatione uff {{SITENAME}}',
+'passwordreset-emailtext-ip' => 'Jemand mit der IP-Adress $1, wahrscheinlich du sellebst, hot en Zurücksetzung von dein Passworts bei {{SITENAME}} oongefordert ($4). {{PLURAL:$3|Das follichend Benutzerkonto ist|Die follichende Benutzerkonte sind}}
+mit der E-Mail-Adress verknüpft:
+
+$2
+
+{{PLURAL:$3|Das temporär Passwort looft|Die temporäre Passwörter loofe}} innerhalb von {{PLURAL:$5|em Tooch|$5 Tooche}} ab.
+Du sollst dich oonmelde und en neies Passwort vergewe. Falls jemand annres die Oonfroch getätigt hot orrer du dich wieder an dein ursprüngliches Passwort erinnre kannst und das netmeh
+ännre möchst, kannst du die Nachricht ignoriere und weiterhin dein altes
+Passwort benutze.',
+'passwordreset-emailtext-user' => 'Benutzer $1 bei {{SITENAME}} hot en Zurücksetzung von dein Passwort bei {{SITENAME}} oongefordert ($4). {{PLURAL:$3|Das follichend Benutzerkonto ist|Die follichend Benutzerkonte sind}} mit der E-Mail-Adress verknüpft:
+
+$2
+
+{{PLURAL:$3|Das temporär Passwort looft|Die temporäre Passwörter loofe}} innerhalb von {{PLURAL:$5|em Tooch|$5 Tooche}} ab. Du sollst dich oonmelde und en neies Passwort vergewe. Falls jemand annres die Oonfroch getäticht hot orrer du dich wieder an den ursprüngliches Passwort erinnre kannst und das net ännre möchst, kannst du die Nachricht ignoriere und weiterhin dein altes Passwort benutze.',
+'passwordreset-emailelement' => 'Benutzernoome: $1
+Temporäres Passwort: $2',
+'passwordreset-emailsent' => 'En Passwortzurücksetzung-E-Mail woard versandt.',
+'passwordreset-emailsent-capture' => 'En Passwortzurücksetzung-E-Mail woard versandt, die unne oongezeicht weard.',
+'passwordreset-emailerror-capture' => 'Die unne oongezeichte Passwortzurücksetzungs-E-Mail woard generiert, awer der Versand an {{GENDER:$2|den Benutzer|die Benutzrin}} ist gescheitert: $1',
+
+# Special:ChangeEmail
+'changeemail' => 'E-Mail-Adress ännre',
+'changeemail-header' => 'E-Mail-Adress ännre',
+'changeemail-text' => 'Füll das Formular vollständig aus, um dein E-Mail-Adress zu ännre. Du musst dein Passwort oongewe, um die Ännrung zu bestätiche.',
+'changeemail-no-info' => 'Du musst dich oonmelde, um uff die Seit direkt zuzugreife.',
+'changeemail-oldemail' => 'Aktuell E-Mail-Adress:',
+'changeemail-newemail' => 'Neie E-Mail-Adress:',
+'changeemail-none' => '(ken)',
+'changeemail-password' => 'Dein {{SITENAME}}-Passwort:',
+'changeemail-submit' => 'E-Mail-Adress ännre',
+'changeemail-cancel' => 'Abbreche',
+'changeemail-throttled' => 'Du host keerzlich zu viele Oonmeldversuche unnernomm.
+Bittachön woort $1, bevoar du das erneit versuchst.',
+
+# Special:ResetTokens
+'resettokens' => 'Tokens zurücksetze',
+'resettokens-text' => 'Du kannst Tokens zurücksetze, wo dir den Zugriff uff bestimmte private Date ermöchliche, wo mit deinem Benutzerkonto hier verknüpft sind.
+
+Du sollst das nuar mache, wenn du verguckt die Tokens versiehntlich mit jemandem geteilt host orrer dein Konto gefährdet ist.',
+'resettokens-no-tokens' => 'Do gebts ken Tokens zum Zurücksetze.',
+'resettokens-legend' => 'Tokens zurücksetze',
+'resettokens-tokens' => 'Tokens:',
+'resettokens-token-label' => '$1 (aktueller Weart: $2)',
+'resettokens-watchlist-token' => 'Token für den Webfeed (Atom/RSS) von der [[Special:Watchlist|Ännrunge an Seite uff deiner Beobachtungslist]]',
+'resettokens-done' => 'Tokens zurückgesetzt.',
+'resettokens-resetbutton' => 'Ausgewählte Token ännre',
+
+# Edit page toolbar
+'bold_sample' => 'Fetter Text',
+'bold_tip' => 'Fetter Text',
+'italic_sample' => 'Kursiver Text',
+'italic_tip' => 'Kursiver Text',
+'link_sample' => 'Link-Text',
+'link_tip' => 'Interner Link',
+'extlink_sample' => 'http://www.example.com Link-Text',
+'extlink_tip' => 'Externer Link (http:// beachte)',
+'headline_sample' => 'Ebene-2-Üwerschrift',
+'headline_tip' => 'Ebene-2-Üwerschrift',
+'nowiki_sample' => 'Unformatierte Text hie renfüche',
+'nowiki_tip' => 'Unformatierter Text',
+'image_tip' => 'Dateilink',
+'media_tip' => 'Mediedatei-Link',
+'sig_tip' => 'Dein Signatur mit Zeitstempel',
+'hr_tip' => 'Horizontoole Linie (spoorsam verwenne)',
+
+# Edit pages
+'summary' => 'Zusammerfassung:',
+'subject' => 'Betreff:',
+'minoredit' => 'Nuar Klenichkeite woore verännert',
+'watchthis' => 'Die Seit beobachte',
+'savearticle' => 'Seit speichre',
+'preview' => 'Voarschau',
+'showpreview' => 'Vorschau zeiche',
+'showlivepreview' => 'Sofortiche Voarschau',
+'showdiff' => 'Ändrunge zeiche',
+'anoneditwarning' => "Du beoorbeitest die Seit unoongemeldet. Wenn du sie abspeichre tust, weard dein aktuelle Komputador IP-Adress in der Versionsgeschicht uffgezeichnet und ist domit unwiderruflich und kann '''öffentlich''' gesiehn sind.",
+'anonpreviewwarning' => "''Du bist net oongemeldet. Beim Speichre weard dein IP-Adress in der Versionsgeschicht uffgezeichnet.''",
+'missingsummary' => "'''Hinweis:''' Du host ken Zusammerfassung oongeb. Wenn du erneit uff \"{{int:savearticle}}\" klicke tust, weard dein Ännrung ohne Zusammerfassung üwernomm.",
+'missingcommenttext' => 'Dein Abschnitt enthält ken Text.',
+'missingcommentheader' => "'''Achtung:''' Du host ken Betreff/Üwerschrift ingeb. Wenn du erneit uff \"{{int:savearticle}}\" klicke tust, weard dein Beoorbeitung ohne Üwerschrift gespeichert.",
+'summary-preview' => 'Voarschau von der Zusammerfassungszeil:',
+'subject-preview' => 'Voarschau von der Zusammerfassungszeil:',
+'blockedtitle' => 'Benutzer ist gesperrt',
+'blockedtext' => '\'\'\'Dein Benutzernoome orrer dein IP-Adress woard gesperrt.\'\'\'
+
+Die Sperrung woard vom Administrator $1 doorrichgeführt.
+Als Grund woard \'\'$2\'\' oongeb.
+
+* Die Sperr ehr Beginn: $8
+* Die Sperr ehr End: $6
+* Die Sperr ehr betrifft: $7
+
+Du kannst $1 orrer en von der annre [[{{MediaWiki:Grouppage-sysop}}|Administratoren]] kontaktiere, um üwer die Sperr zu diskutiere.
+Du kannst die "E-Mail an den Benutzer"-Funktion net nutze, solang ken gültige E-Mail-Adress in dein [[Special:Preferences|Benutzerkonto-Einstellunge]] ingetroohn ist orrer die Funktion für dich gesperrt woard.
+Dein aktuell IP-Adresse ist $3 und die Sperrkennung lautet $5.
+Bittschön füch alle Informatione jeder Oonfroche hinzu, wo du stellst.',
+'autoblockedtext' => 'Dein IP-Adress woard automatisch gesperrt, wiel die von em annre Benutzer genutzt woard, wo von $1 gesperrt woard.
+Als Grund wurde angegeben:
+
+:\'\'$2\'\'
+
+* Die Sperr ehr Beginn: $8
+* Die Sperr ehr End: $6
+* Die Sperr betrifft: $7
+
+Du kannst $1 orrer en von der annre [[{{MediaWiki:Grouppage-sysop}}|Administratore]] kontaktiere, um üwer die Sperr zu diskutiere.
+
+Du kannst die "E-Mail an den Benutzer"-Funktion net nutze, solang ken gültiche E-Mail-Adress in dein [[Special:Preferences|Benutzerkonto-Einstellunge]] ingetrooht ist orrer die Funktion für dich gesperrt woard.
+
+Dein aktuell IP-Adress ist $3, und die Sperr-ID ist $5.
+Bittschön füch alle Informatione von jeder Oonfroch hinzu, wo du stelle tust.',
+'blockednoreason' => 'ken Begründung oongeb',
+'whitelistedittext' => 'Du musst dich $1, um Seite beoorbeite zu könne.',
+'confirmedittext' => 'Du musst dein E-Mail-Adress earscht bestätiche, bevoar du Beoorbeitunge doorrichführe kannst. Bittschön ergänz und bestätich dein E-Mail in den [[Special:Preferences|Einstellunge]].',
+'nosuchsectiontitle' => 'Abschnitt net gefund',
+'nosuchsectiontext' => 'Du host versucht, en Abschnitt zu beoorbeite, wo net existiert.
+Vermutlich woard er verschub orrer gelöscht, nohdem du die Seit uffgeruf host.',
+'loginreqtitle' => 'Oonmeldung erforderlich',
+'loginreqlink' => 'Oonmelde',
+'loginreqpagetext' => 'Du musst dich $1, um Seite lese könne.',
+'accmailtitle' => 'Passwort woard verschickt',
+'accmailtext' => "En zufällich generiertes Passwort für [[User talk:$1|$1]] woard an $2 versandt. Es kann uff der Seit ''[[Special:ChangePassword|Passwort ännre]]'' noh der Oonmeldung geännert sin.",
+'newarticle' => '(Nei)',
+'newarticletext' => "Du bist en Link zu en Seit noh gang, wo net voarhand ist.
+Um die Seit oonzulehn, trooh dein Text in das unnestehend Beoorbeitungsfeld ren (weitre Informatione uff der [$1 Hellefseit]).
+Soweit du fälschlicherweise hier bist, klick uff dein Browser sein Schaltfläch '''Retuar'''.",
+'anontalkpagetext' => "----''Dies Seit dient dozu, enem net oongemeldete Benutzer Nachrichte zu hinnerlosse. Es weard sein IP-Adress zur Identifizierung verwenndt. IP-Adresse könne von mehrere Benutzer gemeinsam verwendt sin. Wenn du mit den Kommentare uff der Seit nix oonfänge kannst, richte die sich vermutlich an en frühre Inhaber von deiner IP-Adresse und du kannst se ignoriere. Du kannst dir ooch en [[Special:UserLogin/signup|Benutzerkonto erstelle]] orrer dich [[Special:UserLogin|oonmelde]], um künftich Verwechslunge mit annre anonyme Benutzer zu vermeide.''",
+'noarticletext' => 'Die Seit dohie enthält momentan noch ken Text.
+Du kannst sie <span class="plainlinks">[{{fullurl:{{FULLPAGENAME}}|action=edit}} beoorbeite]</span>,
+ehre Titel uff annre Seite [[Special:Search/{{PAGENAME}}|suche]]
+orrer die zugehöriche <span class="plainlinks">[{{fullurl:{{#special:Log}}|page={{FULLPAGENAMEE}}}} Logbücher betrachte]</span>.',
+'noarticletext-nopermission' => 'Die Seit dohie enthält momentan noch ken Text.
+Du kannst sie <span class="plainlinks">[{{fullurl:{{FULLPAGENAME}}|action=edit}} beoorbeite]</span>,
+ehre Titel uff annre Seite [[Special:Search/{{PAGENAME}}|suche]]
+orrer die zugehöriche <span class="plainlinks">[{{fullurl:{{#special:Log}}|page={{FULLPAGENAMEE}}}} Logbücher betrachte]</span>.',
+'missing-revision' => 'Die Version $1 von der Seit mit der noomen "{{FULLPAGENAME}}" ist net voarhand.
+
+Der Fehler weard normalerweis von enem veraltete Link zur Versionsgeschicht von en Seit verursacht, wo zwischichzeitlich gelöscht woard.
+Enzelheite sind im [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Lösch-Logbuch] einsehbar (visibel).',
+'userpage-userdoesnotexist' => 'Das Benutzerkonto „<nowiki>$1</nowiki>“ ist net voarhand. Bittschön prüf, ob du die Seit werklich erstelle/beoorbeite willst.',
+'userpage-userdoesnotexist-view' => 'Das Benutzerkonto "$1" ist net voarhand.',
+'blocked-notice-logextract' => '{{GENDER:$1|Der Benutzer|Die Benutzrin|Der Benutzer}} ist zurzeit gesperrt.
+Zur Information follicht en aktueller Auszuch aus dem Benutzersperr-Logbuch:',
+'clearyourcache' => "'''Hinweis:''' Leer nh dem Speichre den Browser-Cache, so das du die Ännrunge für se siehn kriehst.
+* '''Firefox/Safari:''' ''Umschalttast'' drücke und gleichzeitich ''Aktualisiere'' oonklicke orrer entweder ''Strg+F5'' orrer ''Strg+R'' (''⌘+R'' uff dem Mac) drücke
+* '''Google Chrome:''' ''Umschalttast+Strg+R'' (''⌘+Umschalttast+R'' uff dem Mac) drücke
+* '''Internet Explorer:''' ''Strg+F5'' drücke orrer ''Strg'' drücke und gleichzeitich ''Aktualisiere'' oonklicke
+* '''Opera:''' ''Extras → Internetspure lösche … → Individuelle Auswahl → Den komplette Cache lösche''",
+'usercssyoucanpreview' => "'''Hinweis:''' Benutz den „{{int:showpreview}}“-Knopp, um dein neies CSS voar dem Speichre zu testiere.",
+'userjsyoucanpreview' => "'''Hinweis:''' Benutz den „{{int:showpreview}}“-Knopp, um dein neies JavaScript voar dem Speichre zu testiere.",
+'usercsspreview' => "'''Beacht, dass du nur en Voarschau von dein Benutzer-CSS betrachte tust.'''
+'''Das woor noch net gespeichert!'''",
+'userjspreview' => "'''Beacht, dass du nuar en Voarschau von dein Benutzer-JavaScripts betrachte tust.'''
+'''Das woor noch net gespeichert!'''",
+'sitecsspreview' => "'''Beachte, dass du nuar en Voarschau von das CSS betrachte tust.'''
+'''Das woard noch net gespeichert!'''",
+'sitejspreview' => "'''Beacht, dass du nuar en Vorschau von das JavaScript betrachte tust.'''
+'''Das woor noch net gespeichert!'''",
+'userinvalidcssjstitle' => "'''Achtung:''' Die Benutzerowerfläch \"\$1\" existiert net. Bedenke, dass benutzerspezifisch .css- und .js-Seite mit em Klenbuchstoob oonfänge müsse, also beispielsweis ''{{ns:user}}:Mustermann/vector.css'' an Stell von ''{{ns:user}}:Mustermann/Vector.css''.",
+'updated' => '(Geännert)',
+'note' => "'''Hinweis:'''",
+'previewnote' => "'''Dies ist nuar en Voarschau.'''
+Die Seit woard noch net gespeichert!",
+'continue-editing' => 'Zum Beoorbeitungsfeld gehn',
+'previewconflict' => 'Die Voarschau gebt den Inhalt von das Textfeld uwe, wieder. So weard die Seit aussiehn, wenn du jetzt speicherst.',
+'session_fail_preview' => "'''Dein Bearbeitung konnt net gespeichert sin, weil Setzungsdate verloar gan sind.
+Bittschön versuch das erneit, indem du unner der follichende Textvoarschau noomo uff \"Seit speichre\" klicke tust.
+Sollt das Problem bestehn bleiwe, [[Special:UserLogout|meld dich ab]] und donoh wieder an.'''",
+'session_fail_preview_html' => "'''Dein Beoorbeitung konnt net gespeichert sin, weil Sitzungsdate verloar gang sind.'''
+
+''Weil in {{SITENAME}} das Speichre von reinem HTML aktiviert ist, woard die Voarschau ausgeblendet, um JavaScript-Attacke voarzubeiche.''
+
+'''Bittschön versuch das erneit, indem du unner der follichende Textvoarschau nohmo uff \"Seit speichre\" klicke tust.
+Sollt das Problem bestehn bleiwe, [[Special:UserLogout|meld dich ab]] und donoh wieder an.'''",
+'token_suffix_mismatch' => "'''Dein Beoorbeitung woard zurückgewies, do dein Browser Zeiche im Beoorbeite-Token verstümmelt hot.
+En Speichrung kann den Seiteinhalt zerstöre. Das geschieht bisweil doorrich die Benutzung von en anonyme Proxy-Dienst, wo fehlerhaft oorbeitet.'''",
+'edit_form_incomplete' => "'''Der Inhalt von das Beoorbeitungsformular hot den Server net vollständich erreicht. Bittschön prüf deine Bearbeitunge uff Vollständigkeit und versuch das erneit.'''",
+'editing' => 'Beoorbeite von „$1“',
+'creating' => 'Erstelle von „$1“',
+'editingsection' => 'Beoorbeite von „$1“ (Abschnitt)',
+'editingcomment' => 'Beoorbeite von "$1" (Abschnitt)',
+'editconflict' => 'Beoorbeitungskonflikt: $1',
+'explainconflict' => "Jemand anners hot die Seit geännert, nohdem du oongefäng host, sie zu beoorbeite.
+Das Textfeld do uwe enthält den aktuell Beoorbeitungsstand von der Seit.
+Das unnre Textfeld enthält dein Ändrunge.
+Bittschön füch dein Ändrungen in das Textfeld do uwe ren.
+'''Nuar''' der Inhalt von dem Textfeld do uwe weard gespeichert, wenn du uff „{{int:savearticle}}“ klicke tust.",
+'yourtext' => 'Dein Text',
+'storedversion' => 'Gespeicherte Version',
+'nonunicodebrowser' => "'''Achtung: Dein Browser kann Unicode-Zeiche net richtich veroorbeite.''' Es weard en Hellefsroutin rengesetzt, um dich zu erlaube, Seite sicher zu beoorbeite: Nicht-ASCII-Zeiche werre dabei im Beoorbeitungsfenster als hexadezimale Codes oongezeicht.",
+'editingold' => "'''Achtung: Du beoorbeitest en alte Version von der Seit. Sofern du sie speicherst, werre all neiere Versionen üwerschrieb.'''",
+'yourdiff' => 'Unnerschiede',
+'copyrightwarning' => "'''Bittschön kopier ken Webseite, die net dein eichne sind, benutz ken urheberrechtlich geschützte Werke ohne Erlaubnis von dem Urheber!'''<br />
+Du gebst uns hiermit dein Zusooch und Versprechung, dass du den Text '''sellebst verfasst''' host, dass der Text Allgemeingut '''(domínio público / public domain)''' ist, orrer dass der '''Urheber''' seine '''Zustimmung''' geb hot. Falls der Text schon woanners veröffentlicht woard, weis bittschön uff der Diskussionsseit druf hin.
+<i>Bittschön beachte, dass alle {{SITENAME}}-Beiträche automatisch unner der \"\$2\" stehn (sieh \$1 für Einzelheite). Falls du net möchst, dass dein Oorweit hier von anre verännert und verbreitet weard, dann klick net uff \"Seite speichre\".</i>",
+'copyrightwarning2' => "Bittschön beacht, dass all Beiträch zu {{SITENAME}} von annre Mitwerrekend beoorbeitet, geännert orrer gelöscht werre könne.
+Reich hie ken Texte ren, falls du net willst, dass die ohne Einschränkung geännert sin könne.
+
+Du bestätichst hiermit ooch, dass du die Texte sellebst geschrieb host orrer die von en gemeinfreie Quell kopiert host
+(weitre Einzelheite unner $1). '''ÜWERTRÄH OHNE GENEHMICHUNG KEN URHEBERRECHTLICH GESCHÜTZTE INHALTE!'''",
+'longpageerror' => "'''Fehler: Der Text, wo du speichre versucht host, ist {{PLURAL:$1|en Kilobyte|$1 Kilobyte}} gross. Das ist grösser als das erlaubte Maximum von {{PLURAL:$2|en Kilobyte|$2 Kilobyte}}.'''
+Der kann net gespeichert sin.",
+'readonlywarning' => "'''Achtung: Die Datebank woard für Woortungsoorbeite gesperrt, so dass dein Ännrunge derzeit könne net gespeichert sin.
+Sichre den Text bittschön lokal uff deim Komputadoar und versuch zu en spätre Zeitpunkt, die Ännrunge zu üwertroon.'''
+
+Grund für die Sperre: $1",
+'protectedpagewarning' => "'''Achtung: Die Seit woard geschützt. Nuar Benutzer mit Administratoarrechte könne die Seit beoorbeite.'''
+Zu der Information follicht der aktuell Logbuchintrooch:",
+'semiprotectedpagewarning' => "'''Halbsperrung:''' Die Seit woard so geschützt, dass nuar registrierte Benutzer die ännre könne.
+Zu der Information follicht der aktuelle Logbuchintrooch:",
+'cascadeprotectedwarning' => "'''Achtung:''' Die Seit woard so geschützt, dass die norre doorrich Benutzer mit Administratoarrechte beoorbeitet werre kann. Sie ist in die {{PLURAL:$1|follichend Seit|follichende Seite}} ingebund, die mittels von der Kaskadesperroption geschützt {{PLURAL:$1|ist|sind}}:",
+'titleprotectedwarning' => "'''Achtung: Die Seiteerstellung woard so geschützt, dass norre Benutzer mit [[Special:ListGroupRights|spezielle Rechte]] die Seit erstelle könne.'''
+Zu der Information follicht der aktuelle Logbuchintrooch:",
+'templatesused' => '{{PLURAL:$1|Die folliched Voarlooche weard|Follichende Voarlooche werre}} uff die Seit verwenndt:',
+'templatesusedpreview' => '{{PLURAL:$1|Die follichend Voarlooche weard|Follichende Voarlooche werre}} von der Seitevoarschau verwendt:',
+'templatesusedsection' => '{{PLURAL:$1|Die follichend Voarlooche weard|Follichend Voarlooche werre}} in dem Abschnitt verwent:',
+'template-protected' => '(schreibgeschützt)',
+'template-semiprotected' => '(schreibgeschützt für unoongemeldete und neie Benutzer)',
+'hiddencategories' => 'Die Seit ist Mitglied von {{PLURAL:$1|1 versteckter Kategorie|$1 versteckte Kategoriee}}:',
+'nocreatetext' => 'Uff {{SITENAME}} woard das Erstelle von neier Seite ingeschränkt. Du kannst bestehnde Seite ännre orrer dich [[Special:UserLogin|oonmelde]].',
+'nocreate-loggedin' => 'Du host net die erforderliche Berechtichung, um neie Seite erstelle zu könne.',
+'sectioneditnotsupported-title' => 'Die Beoorbeitung von Abschnitte weard net unnerstützt',
+'sectioneditnotsupported-text' => 'Die Beoorbeitung von Abschnitte weard uff der Beoorbeitungsseit net unnerstützt.',
+'permissionserrors' => 'Berechtichungsfehler',
+'permissionserrorstext' => 'Du bist net berechticht, die Aktion auszuführe. {{PLURAL:$1|Grund|Gründe}}:',
+'permissionserrorstext-withaction' => 'Du bist aus {{PLURAL:$1|dem follichend Grund|den follichende Gründe}} net berechticht, $2:',
+'recreate-moveddeleted-warn' => "'''Achtung: Du erstellst en Seit, wo schon früher gelöscht woor.'''
+
+Bitte prüf sorrichfältich, ob die erneite Seiteerstellung den Richtlinie entsprecht.
+Zu deiner Information follicht das Lösch- und Verschiebungs-Logbuch mit der Begründung für die voarhergehnd Löschung:",
+'moveddeleted-notice' => 'Die Seit woard gelöscht. Zur Information follicht das Lösch- und Verschiebungs-Logbuch von der Seit.',
+'log-fulllog' => 'Alle Logbuchinträge ansiehn',
+'edit-hook-aborted' => 'Die Beoorbeitung woard ohne Erklärung doorrich en Schnittstell abgebroche.',
+'edit-gone-missing' => 'Die Seit konnt net aktualisiert sin.
+Die woard oonscheinend gelöscht.',
+'edit-conflict' => 'Beoorbeitungskonflikt.',
+'edit-no-change' => 'Dein Beoorbeitung woard ignoriert, do ken Ännrung an dem Text voargenomm  woard.',
+'postedit-confirmation' => 'Dein Beoorbeitung woard gespeichert.',
+'edit-already-exists' => 'Die neie Seit konnt net erstellt werre, do sie bereits voarhand ist.',
+'defaultmessagetext' => 'Standardtext',
+'content-failed-to-parse' => 'Parsierung von den Inhalt $2 für Modell $1 fehlgeschlohn: $3',
+'invalid-content-data' => 'Ungültiche Inhaltsdate',
+'content-not-allowed-here' => 'Der Inhalt "$1" ist uff der Seit [[$2]] net erlaubt',
+'editwarning-warning' => 'Das Verlosse von der Seit kann dozu führe, dass dein Ännrungen verloar gehn.
+Wenn du oongemeldt bist, kannst du das Oonzeiche von der Warnung im Bereich „{{int:prefs-editing}}“ deiner Instellunge abschalte.',
+'editpage-notsupportedcontentformat-title' => 'Das Inhaltsformat weard net unnerstützt',
+'editpage-notsupportedcontentformat-text' => 'Das Inhaltsformat $1 weard vom Inhaltsmodell $2 net unnerstützt.',
+
+# Content models
+'content-model-wikitext' => 'Wikitext',
+'content-model-text' => 'Klartext',
+'content-model-javascript' => 'JavaScript',
+'content-model-css' => 'CSS',
+
+# Parser/template warnings
+'expensive-parserfunction-warning' => "'''Achtung:''' Die Seit enthält zu viele Aufrufe uffwändicher Parserfunktione.
+
+Die därref nemehr als wie $2 {{PLURAL:$2|Uffruf|Uffrufe}} honn, do {{PLURAL:$1|ist aktuell $1 Uffruf|sind aktuell $1 Uffrufe}}.",
+'expensive-parserfunction-category' => 'Seite, wo uffwändiche Parserfunktione zu oft uffrufe',
+'post-expand-template-inclusion-warning' => 'Warnung: Die Gröss ingebundner Voarlooche ist zu gross, eniche Voarlooche könne net ingebund sin.',
+'post-expand-template-inclusion-category' => 'Seite, in denen die maximale Grösse ingebundner Voarlooche üwerschritt ist',
+'post-expand-template-argument-warning' => "'''Warnung:''' Die Seit enthält mindestens en Parameter in ener Voarlooche, wo expandiert zu gross ist. Die Parameter werre ignoriert.",
+'post-expand-template-argument-category' => 'Seite mit ignorierte Voarloocheparameter',
+'parser-template-loop-warning' => 'Voarloochschleif entdeckt: [[$1]]',
+'parser-template-recursion-depth-warning' => 'Voarloocherekursionstiefgrenz üwerschritt ($1)',
+'language-converter-depth-warning' => 'Sprochkonvertertieflimit üwerschritt ($1)',
+'node-count-exceeded-category' => 'Seite, wo die Knoteoonzoohl üwerschritt honn',
+'node-count-exceeded-warning' => 'Die Seit hot die Knotepunktoonzoohl üwerschritt.',
+'expansion-depth-exceeded-category' => 'Seite, wo die Expansionstiefe überschritt honn',
+'expansion-depth-exceeded-warning' => 'Die Seit hot die Expansionstiefe üwerschritt.',
+'parser-unstrip-loop-warning' => 'Zirkelbezuch festgestellt',
+'parser-unstrip-recursion-limit' => 'Rekursionsgrenz beim Ufflöse üwerschritt ($1)',
+'converter-manual-rule-error' => 'Bei der manuelle Sprochkonvertierungsrechel woard en Fehler entdeckt.',
+
+# "Undo" feature
+'undo-success' => 'Die Beoorbeitung kann rückgänchig gemacht werre.
+Bittschön prüf den Vergleich do unne, um sicherzustelle, dass du das tun möchst, und speichre dann do unne deine Ändrunge, um die Beoorbeitung rückgängig zu mache.',
+'undo-failure' => 'Die Ännrung konnt net rückgängich gemacht sin, weil der betroffne Abschnitt zwischenzeitlich verännert woard.',
+'undo-norev' => 'Die Beorbeitung konnt net rückgängich gemacht sin, wil die net voarhand ist orrer gelöscht woard.',
+'undo-nochange' => 'Anscheinnd woard die Beoorbeitung schon rückgängich gemacht.',
+'undo-summary' => 'Ändrung $1 von [[Special:Contributions/$2|$2]] ([[User talk:$2|Diskussion]]) rückgängich gemacht.',
+'undo-summary-username-hidden' => 'Ännrung $1 von en versteckte Benutzer rückgängich gemacht.',
+
+# Account creation failure
+'cantcreateaccounttitle' => 'Das Benutzerkonto kann net erstellt sin',
+'cantcreateaccount-text' => "Die Erstellung von en Benutzerkonto raus von der IP-Adresse '''($1)''' woor doorrich [[User:$3|$3]] gesperrt.
+
+Grund der Sperr: ''$2''",
+'cantcreateaccount-range-text' => "Das Erstell von Benutzerkonte von IP-Adressen im Bereich '''$1''', wo dein IP-Adress ('''$4''') enthält, woor von [[User:$3|$3]] gesperrt.
+
+Der oongebne Grund von $3 laut: ''$2''",
+
+# History pages
+'viewpagelogs' => 'Logbücher von der Seit oonzeiche',
+'nohistory' => 'Zu der Seit ist keh Versionsgeschicht voarhand.',
+'currentrev' => 'Aktuelle Version',
+'currentrev-asof' => 'Aktuelle Version vom $2, $3 Uhr',
+'revisionasof' => 'Version vom $2, $3 Uhr',
+'revision-info' => 'Version vom $4, $5 Uhr von $2',
+'previousrevision' => '← Nächstältre Version',
+'nextrevision' => 'Nächstjüngre Version →',
+'currentrevisionlink' => 'Aktuelle Version',
+'cur' => 'Aktuell',
+'next' => 'Nächste',
+'last' => 'Voarheriche',
+'page_first' => 'Oonfang',
+'page_last' => 'letzte',
+'histlegend' => 'Zur Oonzeiche von der Ännrunge enfach die zu vergleichende Versione auswähle und die Schaltfläche „{{int:compareselectedversions}}“ klicke.<br />
+* ({{int:cur}}) = Unnerschied zur aktuelle Version, ({{int:last}}) = Unnerschied zur voarheriche Version
+* Uhrzeit/Datum = Version zu der Zeit, Benutzernoome/der Beoorbeiter sein IP-Adress, {{int:minoreditletter}} = Klen Ännrung',
+'history-fieldset-title' => 'In der Versionsgeschicht suche',
+'history-show-deleted' => 'Nuar gelöschte Versione zeiche',
+'histfirst' => 'ältest',
+'histlast' => 'neiest',
+'historysize' => '({{PLURAL:$1|1 Byte|$1 Bytes}})',
+'historyempty' => '(leer)',
+
+# Revision feed
+'history-feed-title' => 'Versionsgeschicht',
+'history-feed-description' => 'Versionsgeschichte von der Seit in {{SITENAME}}',
+'history-feed-item-nocomment' => '$1 am $3 um $4 Uhr',
+'history-feed-empty' => 'Die verlangte Seit existiert net. Vielleicht woard se abgewischt orrer verschubt. [[Special:Search|Doorrichsuch]] {{SITENAME}} für passende neie Seite.',
+
+# Revision deletion
+'rev-deleted-comment' => '(Zusammerfassung entfernt)',
+'rev-deleted-user' => '(Benutzernoome entfernt)',
+'rev-deleted-event' => '(Logbuchaktion entfernt)',
+'rev-deleted-user-contribs' => '[Benutzernoome orrer IP-Adress entfernt – Beoorbeitung aus Beiträche versteckt]',
+'rev-deleted-text-permission' => "Die Version woard '''ausgewischt'''.
+Nähre Oongäb zum Auswischvoargang sowie en Begründung stehn im [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Auswisch-Logbuch].",
+'rev-deleted-text-unhide' => "Die Version woard '''ausgewischt'''.
+Nähre Oongäb stehn im [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Auswisch-Logbuch].
+Du kannst [$1 die Version einsiehn], insoweit du möchst.",
+'rev-suppressed-text-unhide' => "Die Version woard '''unnerdrückt'''.
+Nähre Oongäb stehn im [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Unnerdrückungs-Logbuch].
+Du kannst [$1 die Version einsiehn], insoweit du möchst.",
+'rev-deleted-text-view' => "Die Version woard '''abgewischt'''.
+Du kannst se einsiehn, insofern du möchst. Nähre Oongäb stehn im [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Abwasch-Logbuch].",
+'rev-suppressed-text-view' => "Die Version woard '''unnerdrückt'''.
+Du kannst sie einsiehn, sofern du möchst. Nähre Oongäb stehn im [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Unnerdrückungs-Logbuch].",
+'rev-deleted-no-diff' => "Du kannst den Unnerschied net betrachte, weil ene von der Versione '''abgewischt''' woard.
+Details stehn im [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Abwasch-Logbuch].",
+'rev-suppressed-no-diff' => "Du kannst den Versionsunnerschied net betrachte, weil ene von der Versione '''abgewischt''' woard.",
+'rev-deleted-unhide-diff' => "Ene von der Versione von das Versionsunnerschied woard '''abgewischt'''.
+Nähre Oongä stehn im [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Abwäsch-Logbuch].
+Du kannst [$1 die Versionsunnerschied insiehn], soweit du möchst.",
+'rev-suppressed-unhide-diff' => "En von der Versione von das Versionsunnerschied woard '''unnerdrückt'''.
+Näehre Oongäb stehn im [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Unnerdrückungs-Logbuch].
+Du kannst [$1 den Versionsunnerschied insiehn], soweit du möchst.",
+'rev-deleted-diff-view' => "En Version von das Versionsunnerschied woard '''abgewischt'''.
+Du kannst den Versionsunnerschied insiehn, soweit du möchst. Näehre Oongäb stehn im [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Abwisch-Logbuch].",
+'rev-suppressed-diff-view' => "En von der Versione von das Versionsunnerschiede woard '''unnerdrückt'''.
+Du kannst die Versionsunnerschied insiehn, soweit du möchst. Näehre Oongäb stehn im [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Unnerdrückungs-Logbuch].",
+'rev-delundel' => 'zeiche/verstecke',
+'rev-showdeleted' => 'Zeich',
+'revisiondelete' => 'Versione abwische/wiederhearstelle',
+'revdelete-nooldid-title' => 'Kein Version oongeb',
+'revdelete-nooldid-text' => 'Du host entweder ken Version oongeb, uff die die Aktion ausgeführt win soll, die gewählte Version ist net voarhand orrer du versuchst, die aktuelle Version zu entferne.',
+'revdelete-no-file' => 'Die oongebne Datei ist net voarhand.',
+'revdelete-show-file-confirm' => 'Bist du sicher, dass du die gelöschte Version von der Datei "<nowiki>$1</nowiki>" vom $2 um $3 Uhr oonsiehn willst?',
+'revdelete-show-file-submit' => 'Jo',
+'revdelete-selected-text' => 'Ausgewählte {{PLURAL:$1|Version|Versione}} von [[:$2]]:',
+'revdelete-selected-file' => 'Ausgewählte {{PLURAL:$1|Dateiversion|Dateiversione}} von [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|Gewählter Logbucheintrooch|Gewählte Logbucheinträche}}:',
+'revdelete-text-text' => 'Gelöschte Versione verbleibe noch in der Versionsgeschicht, jedoch sind Tele von ihre Inhalt für die Öffentlichkeit net zugänglich.',
+'revdelete-text-file' => 'Gelöschte Dateiversione verbleibe noch in der Datei-Versionsgeschicht, jedoch sind Tele von ehre Inhalt für die Öffentlichkeit net zugänglich.',
+'logdelete-text' => 'Gelöschte Logbucheinträch verbleibe noch in den Logbücher, jedoch sind Tele von ehre Inhalts für die Öffentlichkeit net zugänglich.',
+'revdelete-text-others' => 'Annre Administratore uff {{SITENAME}} honn noch Zugriff uff den versteckte Inhalt und könne ehn ooch mithelfe um der Spezialseit wiederhearstelle, solang ken zusätzliche Beschränkunge festgeleht sin.',
+'revdelete-confirm' => 'Bittschön bestätich, dass du beabsichtichst, das zu tun, die Konsequenze verstehst und es in Üwereinstimmung mit den [[{{MediaWiki:Policy-url}}|Richtlinie]] tust.',
+'revdelete-suppress-text' => "Unnerdrückung sollte '''nuar''' in den follichende Fälle voargenomm sin:
+* Potentiell beleidichende Informatione
+* Unangebrachte persönliche Informatione
+*: ''Adresse, Telefonnummer, Sozialversichrungsnummer, und so weiter''",
+'revdelete-legend' => 'Setz der Sichtbarkeitseinschränkunge',
+'revdelete-hide-text' => 'Der Version sein Text',
+'revdelete-hide-image' => 'Dateiinhalt verstecke',
+'revdelete-hide-name' => 'Logbuchaktion und Ziel verstecke',
+'revdelete-hide-comment' => 'Beoorbeitungszusammerfassung',
+'revdelete-hide-user' => 'Benutzernoome/IP-Adress von der Beoorbeiter',
+'revdelete-hide-restricted' => 'Daten sowohl voar Administratore als wie ooch annre Benutzer unnerdrücke',
+'revdelete-radio-same' => '(nicht ännre)',
+'revdelete-radio-set' => 'Versteckt',
+'revdelete-radio-unset' => 'Sichtbar',
+'revdelete-suppress' => 'Grund von der Abwischung ooch voar Administratore verstecke',
+'revdelete-unsuppress' => 'Inschränkunge für wiederhergestellte Versione uffhebe',
+'revdelete-log' => 'Grund:',
+'revdelete-submit' => 'Uff gewählte {{PLURAL:$1|Version|Versione}} anwenne',
+'revdelete-success' => "'''Die Versionsoonsicht woard aktualisiert.'''",
+'revdelete-failure' => "'''Die Versionssichtbarkeit konnt net aktualisiert sin:'''
+$1",
+'logdelete-success' => "'''Logbuchoonsicht erfollichreich geännert.'''",
+'logdelete-failure' => "'''Logbuchsichtbarkeit kann net geännert sin:'''
+$1",
+'revdel-restore' => 'Sichtbarkeit ännre',
+'pagehist' => 'Versionsgeschicht',
+'deletedhist' => 'Ausgewischte Versione',
+'revdelete-hide-current' => 'Fehler beim Verstecke von der Eintrooch vom $1, $2 Uhr: Das ist die aktuelle Version.
+Sie kann net versteckt sin.',
+'revdelete-show-no-access' => 'Fehler beim Oonzeiche von der Eintrooch vom $1, $2 Uhr: Der Eintrooch woard als "eingeschränkt" markiert.
+Du host druf ken Zugriff.',
+'revdelete-modify-no-access' => 'Fehler beim Beoorbeite von der Eintroohc vom $1, $2 Uhr: Der Eintrooch woard als wie "eingeschränkt" markiert.
+Du host druf ken Zugriff.',
+'revdelete-modify-missing' => 'Fehler beim Beoorbeite von ID $1: Es fehlt in der Datebank!',
+'revdelete-no-change' => "'''Warnung:''' Der Eintrooch vom $1, $2 Uhr besitzt schon die gewünschte Sichtbarkeitseinstellunge.",
+'revdelete-concurrent-change' => 'Fehler beim Beoorbeite von der Eintrooch vom $1, $2 Uhr: Es scheint, als ob der Status von jemandem geännert woard, bevoar du voarhast, ihn zu beoorbeite.
+Bitte prüf die Logbücher.',
+'revdelete-only-restricted' => 'Fehler beim Verstecke von der Eintrooch vom $1, $2 Uhr: Du kannst ken Eintrooch voar Administratore verstecke, ohne en der annre Oonsichtsoptione gewählt zu hoon.',
+'revdelete-reason-dropdown' => '*Allgemeine Abwischgründe
+** Urheberrechtsverletzung
+** Unoongebrachte Kommentare orrer persönliche Informatione
+** Unoongebrachter Benutzernoome
+** Potentiell beleidichende Informatione',
+'revdelete-otherreason' => 'Annre/ergänzender Grund:',
+'revdelete-reasonotherlist' => 'Annrer Grund',
+'revdelete-edit-reasonlist' => 'Abwischgründe beoorbeite',
+'revdelete-offender' => 'Der Version sein Autor:',
+
+# Suppression log
+'suppressionlog' => 'Oversight-Logbuch',
+'suppressionlogtext' => 'Das ist das Logbuch der Oversight-Aktione (Ännrunge von der Sichtbarkeit von Versione, Beoorbeitungskommentare, Benutzernoome und Benutzersperre).
+Sieh die [[Special:BlockList|List von der gesperrte IP-Adresse und Benutzernoome]] für aktuelle Sperre.',
+
+# History merging
+'mergehistory' => 'Versionsgeschichte vereine',
+'mergehistory-header' => 'Mit der Spezialseit kannst du die Versionsgeschicht von en Ursprungsseit mit der Versionsgeschicht von en Zielseit vereine.
+Stell sicher, dass die Versionsgeschicht von en Seit historisch korrekt ist.',
+'mergehistory-box' => 'Versionsgeschichte zwooier Seite vereine',
+'mergehistory-from' => 'Uarsprungsseit:',
+'mergehistory-into' => 'Zielseit:',
+'mergehistory-list' => 'Versione, wo vereinigt sin könne',
+'mergehistory-merge' => 'Die follichende Versione von "[[:$1]]" könne noh "[[:$2]]" üwertroon sin. Markier die Version, bis zu der (einschliesslich) die Versione üwertroon sin solle. Bittschön beacht, dass die Nutzung von der Navigationslink die Auswahl zurücksetzt.',
+'mergehistory-go' => 'Zeich Versione, wo vereinicht sin könne',
+'mergehistory-submit' => 'Vereinich Versione',
+'mergehistory-empty' => 'Do könne ken Versione vereinicht sin.',
+'mergehistory-success' => '{{PLURAL:$3|1 Version|$3 Versione}} von "[[:$1]]" erfollichreich noh „[[:$2]]“ vereinicht.',
+'mergehistory-fail' => 'Versionsvereinichung net möchlich, bittschön prüf die Seit und die Zeitoongäb.',
+'mergehistory-no-source' => 'Uarsprungsseit "$1" ist net voarhand.',
+'mergehistory-no-destination' => 'Zielseit "$1" ist net voarhand.',
+'mergehistory-invalid-source' => 'Uarsprungsseit muss en gülticher Seitnoome sin.',
+'mergehistory-invalid-destination' => 'Zielseit muss en gülticher Seitnoome sin.',
+'mergehistory-autocomment' => '"[[:$1]]" vereinicht noh "[[:$2]]"',
+'mergehistory-comment' => '"[[:$1]]" vereinicht noh "[[:$2]]": $3',
+'mergehistory-same-destination' => 'Ausgangs- und Zielseit deerfe net identisch sin',
+'mergehistory-reason' => 'Grund:',
+
+# Merge log
+'mergelog' => 'Vereinichungs-Logbuch',
+'pagemerge-logentry' => 'vereinichte [[$1]] in [[$2]] (Versione bis $3)',
+'revertmerge' => 'Vereinichung rückgängich mache',
+'mergelogpagetext' => 'Das ist das Logbuch von der vereinichte Versionsgeschichte.',
+
+# Diffs
+'history-title' => '$1: Versionsgeschicht',
+'difference-title' => '$1: Unnerschied zwischich den Versione',
+'difference-title-multipage' => '$1 und $2: Unnerschied zwischich den Seite',
+'difference-multipage' => '(Unnerschied zwischich Seite)',
+'lineno' => 'Zeil $1:',
+'compareselectedversions' => 'Gewählte Versione vergleiche',
+'showhideselectedversions' => 'Gewählte Versione zeiche/verstecke',
+'editundo' => 'rückgängich mache',
+'diff-empty' => '(ken Unnerschied)',
+'diff-multi-sameuser' => '({{PLURAL:$1|En dozwischerlehnde Version|$1 dozwischerlehnde Versione}} von der selwiche Benutzer werre net oongezeicht)',
+'diff-multi-otherusers' => '({{PLURAL:$1|En dozwischerlehnd Version|$1 dozwischerlehnde Versione}} von {{PLURAL:$2|en annre Benutzer|$2 Benutzer}} werre net oongezeicht)',
+'diff-multi-manyusers' => '({{PLURAL:$1|$1 dozwischerlehnde Versione}} von meahr als {{PLURAL:$2|$2 Benutzer}}, die net oongezeicht sin)',
+'difference-missing-revision' => '{{PLURAL:$2|Ein Version|$2 Versione}} der Unnerschiedsoonzeich ($1) {{PLURAL:$2|woard|worre}} net gefund.
+
+Der Fehler weard normalerweis von en veraltete Link zur Versionsgeschicht von en Seit verursacht, wo zwischichzeitlich abgewischt woard.
+Einzelheite sind im [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Abwasch-Logbuch] voarhand.',
+
+# Search results
+'searchresults' => 'Suchergebnisse',
+'searchresults-title' => 'Suchergebnisse für „$1“',
+'toomanymatches' => 'Die Oonzoohl von der Suchergebnisse ist zu gross, bittschön versuch en annre Abfroch.',
+'titlematches' => 'Üwereinstimmunge mit Seitetitle',
+'textmatches' => 'Üwereinstimmunge mit Inhalte',
+'notextmatches' => 'Ken Üwereinstimmunge mit Inhalte',
+'prevn' => '{{PLURAL:$1|voarhericher|vorheriche $1}}',
+'nextn' => '{{PLURAL:$1|nächster|nächste $1}}',
+'prevn-title' => '{{PLURAL:$1|Voarheriches Ergebnis|Vorherige $1 Ergebnisse}}',
+'nextn-title' => '{{PLURAL:$1|Voarheriches Ergebnis|Vorherige $1 Ergebnisse}}',
+'shown-title' => 'Zeiche $1 {{PLURAL:$1|Ergebnis|Ergebnisse}} pro Seit',
+'viewprevnext' => 'Zeiche ($1 {{int:pipe-separator}} $2) ($3)',
+'searchmenu-exists' => "'''Es gebt en Seit, wo den Noome \"[[:\$1]]\" hot.''' 
+{{PLURAL:\$2|0=|Sieh ooch die annre Suchresultate wo gefund woore.}}",
+'searchmenu-new' => '<strong>Erstell die Seit "[[:$1]]" in dem Wiki.</strong> {{PLURAL:$2|0=|Sieh ooch die üwer dein Such gefundne Seit.|Sieh ooch die gefundne Suchergebnisse.}}',
+'searchprofile-articles' => 'Inhaltsseite',
+'searchprofile-project' => 'Helleft - und Projektseite',
+'searchprofile-images' => 'Multimedia',
+'searchprofile-everything' => 'Alles',
+'searchprofile-advanced' => 'Erweitert',
+'searchprofile-articles-tooltip' => 'Suche in $1',
+'searchprofile-project-tooltip' => 'Such in $1',
+'searchprofile-images-tooltip' => 'Noh Dateie suche',
+'searchprofile-everything-tooltip' => 'Gesamte Inhalt doorrichsuche (inklusive Diskussionsseite)',
+'searchprofile-advanced-tooltip' => 'Such in weitre Noomeräume',
+'search-result-size' => '$1 ({{PLURAL:$2|1 Wort|$2 Wörter}})',
+'search-result-category-size' => '{{PLURAL:$1|1 Seit|$1 Seite}} ({{PLURAL:$2|1 Unnerkategorie|$2 Unnerkategorie}}, {{PLURAL:$3|1 Datei|$3 Dateie}})',
+'search-result-score' => 'Relevanz: $1 %',
+'search-redirect' => '(Weiterleitung von „$1“)',
+'search-section' => '(Abschnitt $1)',
+'search-file-match' => '(treffende Dateiinhalte)',
+'search-suggest' => 'Host du gemeent „$1“?',
+'search-interwiki-caption' => 'Schwesterprojekte',
+'search-interwiki-default' => 'Ergebnisse von $1:',
+'search-interwiki-more' => '(weitre)',
+'search-relatedarticle' => 'Verwandte',
+'searcheverything-enable' => 'In alle Noomeräume suche',
+'searchrelated' => 'verwandt',
+'searchall' => 'alle',
+'showingresults' => "Hier {{PLURAL:$1|ist '''1''' Ergebnis|sind '''$1''' Ergebnisse}}, beginnend mit Nummer '''$2.'''",
+'showingresultsinrange' => 'Unne {{PLURAL:$1|weard <strong>en</strong> Ergebnis|werre bis zu <strong>$1</strong> Ergebnisse}} im Bereich <strong>$2</strong> bis <strong>$3</strong> oongezeicht.',
+'showingresultsnum' => "Hier {{PLURAL:$3|ist '''1''' Ergebnis|sind '''$3''' Ergebnisse}}, beginnend mit Nummer '''$2.'''",
+'showingresultsheader' => "{{PLURAL:$5|Ergebnis '''$1''' von '''$3'''|Ergebnisse '''$1–$2''' von '''$3'''}} für '''$4'''",
+'search-nonefound' => 'Zu deiner Suchoonfroch wore ken Ergebnisse gefund.',
+'powersearch-legend' => 'Erweiterte Such',
+'powersearch-ns' => 'Such in Noomeräume:',
+'powersearch-redir' => 'Weiterleitunge oonzeiche',
+'powersearch-togglelabel' => 'Wähl aus:',
+'powersearch-toggleall' => 'All',
+'powersearch-togglenone' => 'Ken',
+'search-external' => 'Externe Such',
+'searchdisabled' => 'Die {{SITENAME}}-Such ist deaktiviert. Du kannst unnerdessen mit Google suche. Bittschön bedenke, dass der Suchindex von {{SITENAME}} veraltet sin kann.',
+'search-error' => 'Bei der Such ist en Fehler uffgetret: $1',
+
+# Preferences page
+'preferences' => 'Einstellunge',
+'mypreferences' => 'Instellunge',
+'prefs-edits' => 'Oonzoohl von der Bearbeitunge:',
+'prefsnologintext2' => 'Du musst dich $1, um Benutzereinstellunge festzulehn.',
+'prefs-skin' => 'Benutzerowerfläche',
+'skin-preview' => 'Vorschau',
+'datedefault' => 'Standard',
+'prefs-beta' => 'Beta-Funktione',
+'prefs-datetime' => 'Datum und Zeit',
+'prefs-labs' => 'Alpha-Funktione',
+'prefs-user-pages' => 'Benutzerseite',
+'prefs-personal' => 'Benutzerdate',
+'prefs-rc' => 'Letzte Ännrunge',
+'prefs-watchlist' => 'Beobachtungslist',
+'prefs-watchlist-days' => 'Maximale Oonzoohl von der inbezochne Tooche:',
+'prefs-watchlist-days-max' => 'Maximal {{PLURAL:$1|en Tooch|$1 Tooche}}',
+'prefs-watchlist-edits' => 'Maximal Oonzoohl von der oongezeichte Inträche:',
+'prefs-watchlist-edits-max' => 'Maximal 1.000 Inträche',
+'prefs-watchlist-token' => 'Token von der Beobachtungslist:',
+'prefs-misc' => 'Verschiednes',
+'prefs-resetpass' => 'Passwort ännre',
+'prefs-changeemail' => 'E-Mail-Adress ännre',
+'prefs-setemail' => 'E-Mail-Adress festlehn',
+'prefs-email' => 'E-Mail-Optione',
+'prefs-rendering' => 'Aussiehn',
+'saveprefs' => 'Instellunge speichre',
+'restoreprefs' => 'Alle Standardinstellunge wiederhearstelle (in alle Abschnitte)',
+'prefs-editing' => 'Beoorbeite',
+'rows' => 'Zeile:',
+'columns' => 'Spalte:',
+'searchresultshead' => 'Such',
+'stub-threshold' => 'Linkformatierung <a href="#" class="stub">klen Seite</a> (in Bytes):',
+'stub-threshold-disabled' => 'Deaktiviert',
+'recentchangesdays' => 'Oonzoohl von der standardmässich inbezochne Tooche:',
+'recentchangesdays-max' => 'Maximal $1 {{PLURAL:$1|Tooch|Tooche}}',
+'recentchangescount' => 'Oonzoohl von der standardmässich oongezeichte Beoorbeitunge:',
+'prefs-help-recentchangescount' => 'Das umfasst die List von der letzte Ännrunge, die Versionsgeschichte und die Logbücher.',
+'prefs-help-watchlist-token2' => 'Das ist der geheime Schlüssel zum Webfeed von deiner Beobachtungslist.
+Jeder, wo ihn kennt, kann dein Beobachtungslist lese. Tue ihn, dodrum, net teile.
+[[Special:ResetTokens|Klick hier, wenns du ihn zurücksetze musst]].',
+'savedprefs' => 'Dein Einstellunge woorre gespeichert.',
+'timezonelegend' => 'Zeitzone:',
+'localtime' => 'Platzzeit:',
+'timezoneuseserverdefault' => 'Standardzeit von das Wiki nutze ($1)',
+'timezoneuseoffset' => 'Annre (Unnerschied oongewe)',
+'servertime' => 'Aktuelle Zeit uff dem Server:',
+'guesstimezone' => 'Vom Browser üwernehme',
+'timezoneregion-africa' => 'Afrika',
+'timezoneregion-america' => 'Amerika',
+'timezoneregion-antarctica' => 'Antarktis',
+'timezoneregion-arctic' => 'Arktis',
+'timezoneregion-asia' => 'Asie',
+'timezoneregion-atlantic' => 'Atlantischer Ozean',
+'timezoneregion-australia' => 'Australie',
+'timezoneregion-europe' => 'Europa',
+'timezoneregion-indian' => 'Indischer Ozean',
+'timezoneregion-pacific' => 'Pazifischer Ozean',
+'allowemail' => 'E-Mail-Empfang von annre Benutzer ermöchliche',
+'prefs-searchoptions' => 'Such',
+'prefs-namespaces' => 'Noomeräume',
+'defaultns' => 'Annrenfalls in den Noomeräume suche:',
+'default' => 'Voareinstellung',
+'prefs-files' => 'Dateie',
+'prefs-custom-css' => 'Benutzerdefinierte CSS',
+'prefs-custom-js' => 'Benutzerdefiniertes JavaScript',
+'prefs-common-css-js' => 'Gemeinsames CSS/JavaScript von aller Benutzerowerfläche:',
+'prefs-reset-intro' => 'Du kannst die Seit verwenne, um die Einstellunge uff die Standards zurückzusetzen.
+Das kann net meh rückgängich gemacht sin.',
+'prefs-emailconfirm-label' => 'E-Mail-Bestätichung:',
+'youremail' => 'E-Mail-Adress:',
+'username' => '{{GENDER:$1|Benutzernoome}}:',
+'uid' => '{{GENDER:$1|Benutzerkennung}}:',
+'prefs-memberingroups' => '{{GENDER:$2|Mitglied}} von der {{PLURAL:$1|Benutzergrupp|Benutzergruppe}}:',
+'prefs-registration' => 'Oonmeldezeitpunkt:',
+'yourrealname' => 'Dein Noome wie registriert:',
+'yourlanguage' => 'Sproche von der Benutzerowerfläche:',
+'yourvariant' => 'Sprachvariante:',
+'prefs-help-variant' => 'Die bevoarzuchte Schreibvariante orrer Orthografie, in der die Wikiseite oongezeicht werre solle.',
+'yournick' => 'Signatur:',
+'prefs-help-signature' => 'Beiträche uff Diskussionsseite sollte mit „<nowiki>~~~~</nowiki>“ signiert sin, was dann in die Signatur mit Zeitstempel umgewandelt weard.',
+'badsig' => 'Die Syntax von der Signatur ist ungültich; bittschön HTML üwerprüfe.',
+'badsiglength' => 'Die Signatur därref maximal $1 {{PLURAL:$1|Zeiche}} lang sin.',
+'yourgender' => 'Mit was für Geschlecht tust du dich identifiziere?',
+'gender-unknown' => 'Ich möcht hierzu ken Oongäb mache',
+'gender-male' => 'Ich sin männlich',
+'gender-female' => 'Ich sin weiblich',
+'prefs-help-gender' => 'Das ist eine freiwilliche Oongäb.
+Die Software nutzt se, um dich oonzurede sowie als Hinweis für annre doorrich Verwennung von der zutreffende grammatikalische Geschlecht.
+Die Information ist öffentlich.',
+'email' => 'E-Mail',
+'prefs-help-realname' => 'Das ist en freiwilliche Oongäb. Domit kann dein bürgerlicher/registrierte Noome zu deine Beiträche zugeordnet sin.',
+'prefs-help-email' => 'Die oongäb von en E-Mail-Adress ist optional, ermöchlicht awer die Zusendung von en Ersatzpasswort, soweit du dein Passwort vergess host.',
+'prefs-help-email-others' => 'Mit annre Benutzer kannst du ooch üwer die Benutzerdiskussionsseit Kontakt uffnehme, ohne dass du dein Identität ufflehn musst.',
+'prefs-help-email-required' => 'Es weard en gültiche E-Mail-Adress benöticht.',
+'prefs-info' => 'Basisinformatione',
+'prefs-i18n' => 'Sproch',
+'prefs-signature' => 'Signatur',
+'prefs-dateformat' => 'Datumsformat',
+'prefs-timeoffset' => 'Zeitunnerschied',
+'prefs-advancedediting' => 'Allgemeine Optione',
+'prefs-editor' => 'Beoorbeitungsprogramm',
+'prefs-preview' => 'Vorschau',
+'prefs-advancedrc' => 'Erweiterte Optione',
+'prefs-advancedrendering' => 'Erweiterte Optione',
+'prefs-advancedsearchoptions' => 'Erweiterte Optione',
+'prefs-advancedwatchlist' => 'Erweiterte Optione',
+'prefs-displayrc' => 'Oonzeichoptione',
+'prefs-displaysearchoptions' => 'Oonzeichoptione',
+'prefs-displaywatchlist' => 'Oonzeichoptione',
+'prefs-tokenwatchlist' => 'Token',
+'prefs-diffs' => 'Versionsvergleich',
+'prefs-help-prefershttps' => 'Die Instellung weard bei deiner nächste Oonmeldung weerreksam.',
+'prefs-tabs-navigation-hint' => 'Tipp: Du kannst die linke und rechte Pfeiltaste benutze, um zwischich den Registerkoorter in der Reiterlist zu navigiere.',
+
+# User preference: email validation using jQuery
+'email-address-validity-valid' => 'Die E-Mail-Adress scheint gültich zu sin.',
+'email-address-validity-invalid' => 'En gültich E-Mail-Adress ist nötich.',
+
+# User rights
+'userrights' => 'Benutzerrechteverwaltung',
+'userrights-lookup-user' => 'Gruppezugehörigkeit verwalte',
+'userrights-user-editname' => 'Benutzernoome:',
+'editusergroup' => 'Gruppezugehörigkeit ännre',
+'editinguser' => "Ännre Benutzerrechte von '''[[User:$1|$1]]''' $2",
+'userrights-editusergroup' => 'Gruppezugehörigkeit verännre',
+'saveusergroups' => 'Gruppezugehörigkeit ännre',
+'userrights-groupsmember' => 'Mitglied von:',
+'userrights-groupsmember-auto' => 'Automatisch Mitglied von:',
+'userrights-groups-help' => 'Du kannst die Gruppezugehörigkeit {{GENDER:$1|von der Benutzer|die Benutzrin}} ännre:
+* En markierte Kästche bedeitet, dass {{GENDER:$1|der Benutzer|die Benutzrin}} der Grupp Mitglied ist.
+* En nichtmarkierte Kästche bedeitet, dass {{GENDER:$1|der Benutzer|die Benutzrin}} net Mitglied von der Grupp ist.
+* En * bedeitet, dass du das Benutzerrecht noh Erteilung net wieder zurücknehme kannst (orrer umgekeahrt).',
+'userrights-reason' => 'Grund:',
+'userrights-no-interwiki' => 'Du host net die nötiche Berechtichung, um Benutzerrechte in annre Wikis ännre  könne.',
+'userrights-nodatabase' => 'Die Datebank $1 ist net voarhand orrer net lokal.',
+'userrights-nologin' => 'Du musst dich mit en Administratoar-Benutzerkonto [[Special:UserLogin|oonmeld]], um Benutzerrechte ännre.',
+'userrights-notallowed' => 'Du verfüchst net üwer die erforderliche Berechtichunge, um Benutzerrechte vergebe orrer entziehe könne.',
+'userrights-changeable-col' => 'Gruppezugehörigkeit, die du ännre kannst',
+'userrights-unchangeable-col' => 'Gruppezugehörigkeit, die du net ännre kannst',
+'userrights-conflict' => 'Benutzerrechteännerungskonflikt! Bittschön üwerprüf und bestätich deine Ännrunge.',
+'userrights-removed-self' => 'Du host dein eichne Rechte erfollichreich entfernt. Du kannst net länger uff die Seit zugreife.',
+
+# Groups
+'group' => 'Grupp:',
+'group-user' => 'Benutzer',
+'group-autoconfirmed' => 'Automatisch bestätichte Benutzer',
+'group-bot' => 'Bots',
+'group-sysop' => 'Administratore',
+'group-bureaucrat' => 'Bürokrate',
+'group-suppress' => 'Oversighter (Üwerwächter)',
+'group-all' => '(alle)',
+
+'group-user-member' => 'Bot',
+'group-autoconfirmed-member' => '{{GENDER:$1|Automatisch bestätichter Benutzer|Automatisch bestätichte Benutzrin}}',
+'group-bot-member' => 'Bot',
+'group-sysop-member' => '{{GENDER:$1|Administratoar|Administratorin}}',
+'group-bureaucrat-member' => '{{GENDER:$1|Bürokrat|Bürokratin}}',
+'group-suppress-member' => '{{GENDER:$1|Oversighter|Oversightrin}} 
+(Üwerwächter|Üwerwächtrin)',
+
+'grouppage-user' => '{{ns:project}}:Benutzer',
+'grouppage-autoconfirmed' => '{{ns:project}}:Automatisch bestätichte Benutzer',
+'grouppage-bot' => '{{ns:project}}:Bots',
+'grouppage-sysop' => '{{ns:project}}:Administratore',
+'grouppage-bureaucrat' => '{{ns:project}}:Bürokrate',
+'grouppage-suppress' => '{{ns:project}}:Oversighter (Üwerwächter)',
+
+# Rights
+'right-read' => 'Seite lese',
+'right-edit' => 'Seite beoorbeite',
+'right-createpage' => 'Seite erstelle (ausser Diskussionsseite)',
+'right-createtalk' => 'Diskussionsseite erstelle',
+'right-createaccount' => 'Benutzerkonto erstelle',
+'right-minoredit' => 'Bearbeitunge wie klen markiere',
+'right-move' => 'Seite verschiebe',
+'right-move-subpages' => 'Seite inklusive Unnerseite verschiebe',
+'right-move-rootuserpages' => 'Haupt-Benutzerseite verschiebe',
+'right-movefile' => 'Dateie verschiebe',
+'right-suppressredirect' => 'Beim Verschiebe die Erstellung von en Weiterleitung unnerdrücke',
+'right-upload' => 'Dateie hochloode',
+'right-reupload' => 'Üwerschreibe en voarhandne Datei',
+'right-reupload-own' => 'Üwerschreibe von en zuvoar sellebst hochgeladne Datei',
+'right-reupload-shared' => 'Lokales Üwerschreibe von en in enem gemeinsam genutzte Repositorium voarhandne Datei',
+'right-upload_by_url' => 'Dateie von en URL-Adress hochloode',
+'right-purge' => 'Seitecache leere ohne Rückfroche',
+'right-autoconfirmed' => 'Ken Beschränkung doorrich IP-basiert Limits (limmitatione)',
+'right-bot' => 'Behandlung wie automatischer Prozess',
+'right-nominornewtalk' => 'Klene Beoorbeitunge an Diskussionsseite führe zu kenr "Neie Nachrichte"-Oonzeiche',
+'right-apihighlimits' => 'Höchre Limits (limmitatione) in API-Abfroche',
+'right-writeapi' => 'Benutzung von der writeAPI',
+'right-delete' => 'Seite lösche',
+'right-bigdelete' => 'Seite mit grosser Versionsgeschicht abwische',
+'right-deletelogentry' => 'Enzelne Logbuch-Einträche abwische und wiederherstelle',
+'right-deleterevision' => 'Einzelne Versione von en Seit abwische und wiederherstelle',
+'right-deletedhistory' => 'Abgewischte Versione in der Versionsgeschicht oonsiehn, ohne zugehöriche Text',
+'right-deletedtext' => 'Abgewischte Texte und Versionsunnerschiede zwischich abgewischte Versione oonsiehn',
+'right-browsearchive' => 'Noh abgewischte Seite suche',
+'right-undelete' => 'Seite wiederherstelle',
+'right-suppressrevision' => 'Versione oonsiehn und wiederherstelle, die ooch voar Administratore verborriche sind',
+'right-suppressionlog' => 'Private Logbücher oonsiehn',
+'right-block' => 'Benutzer sperre (Schreibrecht)',
+'right-blockemail' => 'Benutzer am Versende von E-Mails hinnre',
+'right-hideuser' => 'Benutzernoome sperre und verberrich.',
+'right-ipblock-exempt' => 'Ausnoohme von IP-Sperre, automatische Sperre und Rangesperre',
+'right-proxyunbannable' => 'Ausnoohme von automatische Proxysperre',
+'right-unblockself' => 'Sich entsperre',
+'right-protect' => 'Seitenschutzstatus ännre und kaskadengeschützte Seite beoorbeite',
+'right-editprotected' => 'Seite bearbeite, wo als "{{int:protect-level-sysop}}" geschützt sind',
+'right-editsemiprotected' => 'Seite beoorbeite, wo als "{{int:protect-level-autoconfirmed}}" geschützt sind',
+'right-editinterface' => 'Benutzeroberfläche beoorbeite',
+'right-editusercssjs' => 'Fremde CSS- und JavaScript-Dateie beoorbeite',
+'right-editusercss' => 'Fremde CSS-Dateie bearbeite',
+'right-edituserjs' => 'Fremde JavaScript-Dateie boobeite',
+'right-editmyusercss' => 'Eichne Benutzer-CSS-Dateie beoorbeite',
+'right-editmyuserjs' => 'Eichne Benutzer-JavaScript-Dateie beoorbeite',
+'right-viewmywatchlist' => 'Eichne Beobachtungsliste oonsiehn',
+'right-editmywatchlist' => 'Eichne Beobachtungslist beoorbeite. Eniche Aktione ermöchliche das Hinzufüche von Seite ohne das Recht.',
+'right-viewmyprivateinfo' => 'Eichne private Date oonsiehn (beispielsweis E-Mail-Adress, bürcherlicher / registrierte Noome)',
+'right-editmyprivateinfo' => 'Eichne private Date beoorbeite (beispielsweis E-Mail-Adress, bürcherlicher / registrierte Noome)',
+'right-editmyoptions' => 'Eichne Einstellunge beoorbeite',
+'right-rollback' => 'Schnelles Zurücksetze',
+'right-markbotedits' => 'Schnell zurückgesetzte Beoorbeitunge wie Bot-Bearbeitung markiere',
+'right-noratelimit' => 'Ken Beschränkung doorrich Limits',
+'right-import' => 'Seite aus annre Wikis importiere',
+'right-importupload' => 'Seite üwer Hochlade von Dateie importiere',
+'right-patrol' => 'Fremde Beoorbeitunge als kontrolliert markiere',
+'right-autopatrol' => 'Eichne Beoorbeitungen automatisch wie kontrolliert markiere',
+'right-patrolmarks' => 'Kontrollmarkierunge in den letzte Ändrunge siehn',
+'right-unwatchedpages' => 'List von der unbeobachtete Seite oonsiehn',
+'right-mergehistory' => 'Versionsgeschichte von Seite vereine',
+'right-userrights' => 'Benutzerrechte beoorbeite',
+'right-userrights-interwiki' => 'Benutzerrechte in annre Wikis beoorbeite',
+'right-siteadmin' => 'Datebank sperre und entsperre',
+'right-override-export-depth' => 'Exportier Seite einschliesslich verlinkter Seite bis zu en Tief von 5',
+'right-sendemail' => 'E-Mails an annre Benutzer sende',
+'right-passwordreset' => 'Passwort von en Benutzer zurücksetze und die dazu verschickte E-Mail einsiehn',
+
+# Special:Log/newusers
+'newuserlogpage' => 'Neioonmeldungs-Logbuch',
+'newuserlogpagetext' => 'Dies ist en Logbuch von der nei erstellte Benutzerkonte.',
+
+# User rights log
+'rightslog' => 'Rechte-Logbuch',
+'rightslogtext' => 'Das ist das Logbuch von der Ännrunge zu Benutzerrechte.',
+
+# Associated actions - in the sentence "You do not have permission to X"
+'action-read' => 'die Seit zu lese',
+'action-edit' => 'die Seit zu beoorbeite',
+'action-createpage' => 'Seite zu erstelle',
+'action-createtalk' => 'Diskussionsseite erstelle',
+'action-createaccount' => 'der Benutzerkonto erstelle',
+'action-minoredit' => 'die Beoorbeitung als klen markiere',
+'action-move' => 'die Seit verschiebe',
+'action-move-subpages' => 'die Seit und zugehöriche Unnerseite verschiebe',
+'action-move-rootuserpages' => 'Haupt-Benutzerseite verschiebe',
+'action-movefile' => 'Die Datei verschiebe',
+'action-upload' => 'Dateie hochoode',
+'action-reupload' => 'die voarhandne Datei zu üwerschreibe',
+'action-reupload-shared' => 'die Datei aus dem gemeinsam genutzte Repositorium üwerschreibe',
+'action-upload_by_url' => 'Dateie von en Webadress (URL) hochloode',
+'action-writeapi' => 'die API mit Schreibzugriffe verwenne',
+'action-delete' => 'Seite abwische',
+'action-deleterevision' => 'Versione abwische',
+'action-deletedhistory' => 'die List von der abgewischte Versione siehn',
+'action-browsearchive' => 'noh abgewischte Seite suche',
+'action-undelete' => 'die Seit wiederhearstelle',
+'action-suppressrevision' => 'die versteckte Versio einsiehn und wiederhearstelle',
+'action-suppressionlog' => 'das privat Logbuch einsiehn',
+'action-block' => 'den Benutzer sperre',
+'action-protect' => 'den Schutzstatus von Seite ännre',
+'action-rollback' => 'die Ännrunge von der letzte Beoorbeiter von en bestimmter Seit schnell zurücksetze',
+'action-import' => 'Seite aus en andre Wiki importiere',
+'action-importupload' => 'Seite üwer das Hochloode von en Datei importiere',
+'action-patrol' => 'Beoorbeitunge von anne Benutzer wie kontrolliert markiere',
+'action-autopatrol' => 'eichne Beoorbeitunge wie kontrolliert markiere',
+'action-unwatchedpages' => 'die List von der unbeobachtete Seite insiehn',
+'action-mergehistory' => 'die Versionegeschichte von Seite vereine',
+'action-userrights' => 'Benutzerrechte ännre',
+'action-userrights-interwiki' => 'die Rechte von Benutzer in annre Wikis ännre',
+'action-siteadmin' => 'die Datebank sperre orrer frei mache',
+'action-sendemail' => 'E-Mails sende',
+'action-editmywatchlist' => 'dein Beobachtungslist beoorbeite',
+'action-viewmywatchlist' => 'dein Beobachtungslist oonsiehn',
+'action-viewmyprivateinfo' => 'deine private Informatione gucke',
+'action-editmyprivateinfo' => 'deine private Informatione boorbeite',
+
+# Recent changes
+'nchanges' => '$1 {{PLURAL:$1|Ännrung|Ännrunge}}',
+'enhancedrc-since-last-visit' => '$1 {{PLURAL:$1|seit dem letzte Besuch}}',
+'enhancedrc-history' => 'Versionsgeschicht',
+'recentchanges' => 'Letzte Ändrunge',
+'recentchanges-legend' => 'Oonzeicheoptione',
+'recentchanges-summary' => 'Uff der Seit kannst du die letzte Ännrunge in dem Wiki nohverfolche.',
+'recentchanges-noresult' => 'Ken Ännrunge im Verloof von (während) vom dem oongebne Zeitraum entspreche die Kriterie.',
+'recentchanges-feed-description' => 'Verfolliche mit dem Feed die letzte Ännrunge in {{SITENAME}}.',
+'recentchanges-label-newpage' => 'Neie Seit',
+'recentchanges-label-minor' => 'Klen Ännrung',
+'recentchanges-label-bot' => 'Ännrung doorich en Bot',
+'recentchanges-label-unpatrolled' => 'Nicht-kontrollierte Ännrung',
+'recentchanges-label-plusminus' => 'Die Ännrung von der Seitengröss in Bytes',
+'recentchanges-legend-heading' => "'''Legende:'''",
+'recentchanges-legend-newpage' => '(sieh ooch die [[Special:NewPages|List von neier Seite]])',
+'rcnotefrom' => 'Oongezeicht sin die Ännrunge seit <strong>$2</strong> (max. <strong>$1</strong> Einträch).',
+'rclistfrom' => 'Nuar Ännrunge seit $3, $2 Uhr zeiche.',
+'rcshowhideminor' => 'Klene Ändrunge $1',
+'rcshowhideminor-show' => 'oonzeiche',
+'rcshowhideminor-hide' => 'versteck',
+'rcshowhidebots' => 'Bots $1',
+'rcshowhidebots-show' => 'Zeich',
+'rcshowhidebots-hide' => 'Versteck',
+'rcshowhideliu' => 'Registrierte Benutzer $1',
+'rcshowhideliu-show' => 'Zeich',
+'rcshowhideliu-hide' => 'Versteck',
+'rcshowhideanons' => 'Unoongemeldete Benutzer $1',
+'rcshowhideanons-show' => 'Zeich',
+'rcshowhideanons-hide' => 'Versteck',
+'rcshowhidepatr' => 'Kontrollierte Ännrunge $1',
+'rcshowhidepatr-show' => 'Zeich',
+'rcshowhidepatr-hide' => 'Versteck',
+'rcshowhidemine' => 'Eichne Beiträche $1',
+'rcshowhidemine-show' => 'Zeich',
+'rcshowhidemine-hide' => 'Versteck',
+'rclinks' => 'Zeich die letzte $1 Ännrunge von der letzte $2 Tooche.<br />$3',
+'diff' => 'Unnerschied',
+'hist' => 'Versione',
+'hide' => 'Versteck',
+'show' => 'Zeich',
+'minoreditletter' => 'K',
+'newpageletter' => 'N',
+'boteditletter' => 'B',
+'number_of_watching_users_pageview' => '[$1 {{PLURAL:$1|beobachtender|beobachtende}} Benutzer]',
+'rc_categories' => 'Nur Seite aus den Kategorie (getrennt mit „|“):',
+'rc_categories_any' => 'Alle',
+'rc-change-size-new' => '$1 {{PLURAL:$1|Byte|Bytes}} noh der Ännrung',
+'newsectionsummary' => 'Neier Abschnitt /* $1 */',
+'rc-enhanced-expand' => 'Einzelheite oonzeiche',
+'rc-enhanced-hide' => 'Einzelheite verstecke',
+'rc-old-title' => 'uarsprünglich erstellt wie "$1"',
+
+# Recent changes linked
+'recentchangeslinked' => 'Ändrungen an verlinkte Seite',
+'recentchangeslinked-feed' => 'Ännrunge an verlinkte Seite',
+'recentchangeslinked-toolbox' => 'Ändrungen an verlinkte Seite',
+'recentchangeslinked-title' => 'Ännrungen an Seite, die von „$1“ verlinkt sind',
+'recentchangeslinked-summary' => "Die Spezialseit listet die letzte Ändrunge an den verlinkte Seite uff (bzw. bei Kategorie an den Mitglieder von der Kategorie). Seite uff deiner [[Special:Watchlist|Beobachtungslist]] sind '''fett''' dorgestellt.",
+'recentchangeslinked-page' => 'Seit:',
+'recentchangeslinked-to' => 'Zeich Ännrunge uff Seite, wo hierher verlinke',
+
+# Upload
+'upload' => 'Dateie hochloode',
+'uploadbtn' => 'Dateie hochloode',
+'reuploaddesc' => 'Abbreche und zurück zur Hochloode-Seit',
+'upload-tryagain' => 'Geännerte Dateibeschreibung abschicke',
+'uploadnologin' => 'Net oongemeldt',
+'uploadnologintext' => 'Du musst dich $1, um Dateie hochloode könne.',
+'upload_directory_missing' => 'Das Upload-Verzeichnis ($1) fehlt und konnt doorrich den Webserver ooch net erstellt sin.',
+'upload_directory_read_only' => 'Der Webserver hot keh Schreibrechte für das Upload-Verzeichnis ($1).',
+'uploaderror' => 'Fehler beim Hochloode',
+'upload-recreate-warning' => "'''Achtung: En Datei mit dem Noome woard schon abgewischt orrer verschob.'''
+
+Es folcht en Auszuch aus dem Abwäsch- und Verschiebungs-Logbuch von er Datei.",
+'uploadtext' => "Benutz das Formular, für neie Dateie hochloode.
+
+Geh zu der [[Special:FileList|List hochgeloodner Dateie]], um voarhandne Dateie zu suche und oonzeiche. Sieh ooch das [[Special:Log/upload|Datei-]] und [[Special:Log/delete|Abwäsch-Logbuch]].
+
+Um en '''Bild''' in en Seit zu verwenne, nutz en Link in der follichend Form:
+* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Datei.jpg]]</nowiki></code>''' – für en Vollbild
+* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Datei.png|200px|thumb|left|Alternativer Text]]</nowiki></code>''' – für en 200px breites Bild innerhalleb von en Box, mit „Alternativer Text“ als Bildbeschreibung
+* '''<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:Datei.ogg]]</nowiki></code>''' – für en direkt Link uff die Datei, ohne Darstellung von der Datei",
+'upload-permitted' => 'Erlaubt Dateitype: $1.',
+'upload-preferred' => 'Bevoarzuchte Dateitype: $1.',
+'upload-prohibited' => 'Net erlaubte Dateitype: $1.',
+'uploadlog' => 'Datei-Logbuch',
+'uploadlogpage' => 'Datei-Logbuch',
+'uploadlogpagetext' => 'Das ist das Logbuch von der hochgeladne Dateie, sieh ooch die [[Special:NewFiles|Galerie von neier Dateie]] für en visuell Üwerblick.',
+'filename' => 'Dateinoome',
+'filedesc' => 'Beschreibung',
+'fileuploadsummary' => 'Beschreibung/Quell:',
+'filereuploadsummary' => 'Dateiännrunge:',
+'filestatus' => 'Copyright-Status:',
+'filesource' => 'Quell:',
+'uploadedfiles' => 'Hochloode',
+'ignorewarning' => 'Warnung ignoriere und Datei speichre',
+'ignorewarnings' => 'Warnunge ignoriere',
+'minlength1' => 'Dateinoome müsse mindestens en Buchstoob lang sin.',
+'illegalfilename' => 'Der Dateinoome "$1" enthält minschtens en net erlaubtes Zeiche. Bittschön benenn die Datei um und versuch, se wieder erneit hochloode.',
+'filename-toolong' => 'Dateinoome deerfe net grösser wie 240 Bytes sin.',
+'badfilename' => 'Der Dateinoome woard in "$1" geännert.',
+'filetype-mime-mismatch' => 'Dateierweitrung ".$1" stimmt net mit dem MIME-Typ ($2) üwerein.',
+'filetype-badmime' => 'Dateie mit dem MIME-Typ "$1" deerfe net hochgeloode sin.',
+'filetype-bad-ie-mime' => 'Die Datei kann net hochgelood sin, weil der Internet Explorer se wie "$1" erkennt, wo en net erlaubter potentiell gefährlicher Dateityp ist.',
+'filetype-unwanted-type' => "'''\".\$1\"''' ist en unerwünschtes Dateiformat. Erlaubt {{PLURAL:\$3|ist das Dateiformat|sind die Dateiformate}}: \$2.",
+'filetype-banned-type' => '\'\'\'".$1"\'\'\' {{PLURAL:$4|ist en net erlaubter Dateityp|sind net erlaubte Dateitype}}.
+{{PLURAL:$3|Erlaubter Dateityp ist|Erlaubte Dateitype sind}} $2.',
+'filetype-missing' => 'Die hochzuloodende Datei hot ken Erweitrung (z. B. ".jpg").',
+'empty-file' => 'Die von dir üwertraoohte Datei hot ken Inhalt.',
+'file-too-large' => 'Die hochgeloodne Datei woor zu gross.',
+'filename-tooshort' => 'Der Dateinoome ist zu koorz.',
+'filetype-banned' => 'Die Dateiendung ist gesperrt.',
+'verification-error' => 'Die Datei hot die Dateiprüfung net bestand.',
+'hookaborted' => 'Der Versuch, die Änrung doorrichzuführe, woard von en Parsererweitrung abgebroch.',
+'illegal-filename' => 'Der Dateinoome ist net zulässich.',
+'overwrite' => 'Das Üwerschreibe von en schon voarhandne Datei ist net erlaubt.',
+'unknown-error' => 'En unbekannter Fehler ist uffgetret.',
+'tmp-create-error' => 'Temporäre Datei konnte net erstellt sin',
+'tmp-write-error' => 'Fehler beim Schreibe von der temporäre Datei',
+'large-file' => 'Die Dateigröss sollt noh Möchlichkeit $1 net üwerschreite. Die Datei ist $2 gross.',
+'largefileserver' => 'Die Datei ist grösser wie die vom Server eingestellte Maximalgröss.',
+'emptyfile' => 'Die hochgeloodene Datei ist leer. Der Grund kann en Tippfehler (verkeahrt geschrieb) im Dateinoome sin. Bitte kontrollier, ob du die Datei weerklich hochloode willst.',
+'windows-nonascii-filename' => 'Das Wiki unnerstützt ken Dateinoome, wo Sonderzeich enthalte.',
+'fileexists' => 'So en Noome Datei is schon voarhand do. Bittschön prüf <strong>[[:$1]]</strong>, soweit wie du dir net sicher bist, obs du se ännre möchst.
+[[$1|thumb]]',
+'filepageexists' => 'En Beschreibungsseit woard bereits wie <strong>[[:$1]]</strong> erstellt, das ist awer ken Datei mit dem Noome voarhand.
+Die ingegebne Beschreibung weard net uff die Beschreibungsseit üwernomm.
+Die Beschreibungsseit musst du noh dem Hochloode von der Datei noch manuell beoorbeite.
+[[$1|thumb]]',
+'fileexists-extension' => 'En Datei mit en ähnlich Noome ist schon voarhand: [[$2|thumb]]
+* Noome von der hochzuloodenden Datei: <strong>[[:$1]]</strong>
+* Noome von der schon voarhandnen Datei: <strong>[[:$2]]</strong>
+Bittschön wähl en anre Noome.',
+'fileexists-thumbnail-yes' => "Bei der Datei scheint das sich um en Bild verringerter Gröss ''(Miniatur)'' zu handle. [[$1|thumb]]
+Bittschön prüf die Datei <strong>[[:$1]]</strong>.
+Wenn es sich um das Bild in Originalgröss handelt, so braucht ken separates Voarschaubild hochgelood sin.",
+'file-thumbnail-no' => "Der Dateinoome beginnt mit <strong>$1</strong>. Das deitet auf en Bild von verringerter Gröss ''(Minitatur)'' hin.
+Bittschön prüf, obs du das Bild in voller Auflösung voarliehen host und lood das unner dem Originalnoome hoch.",
+'fileexists-forbidden' => 'Unner dem Nome existiert schon en Datei und die kann net üwerschrieb sin. Bittschön geh zurück und lood die Datei unner en annre Noome hoch. [[File:$1|thumb|center|$1]]',
+'fileexists-shared-forbidden' => 'Unner dem Noome existiert schon en Datei im zentral Medienarchiv.
+Wenns du die Datei trotzdem hochloode möchst, geh bittschön zurück und änner den Noome.
+[[File:$1|thumb|center|$1]]',
+'file-exists-duplicate' => 'Die Datei ist en Duplikat von der follichende {{PLURAL:$1|Datei|$1 Dateie}}:',
+'file-deleted-duplicate' => 'En mit der identische Datei ([[:$1]]) woard früher abgewischt. Sieh das Abwäsch-Logbuch ein, bevoar du die hochloode tust.',
+'file-deleted-duplicate-notitle' => 'En identische Datei woard kürzlich abgewischt und der Titel woard unnerdrückt.
+Du sollst jemand froche, wo die Möchlichkeit hot, die unnerdrückte Dateidate oonzusiehn, um die Situation voar dem erneite Hochlood zu üwerprüfe.',
+'uploadwarning' => 'Hochloodewarnung',
+'uploadwarning-text' => 'Bittschön änner unner die Dateibeschreibung und versuch das nochmo erneit.',
+'savefile' => 'Datei speichre',
+'uploadedimage' => 'lud „[[$1]]“ hoch',
+'overwroteimage' => 'Hot en nei Version von "[[$1]]" hochgelood',
+'uploaddisabled' => 'Hochloode deaktiviert',
+'copyuploaddisabled' => 'Das Hochloode von URLs ist deaktiviert',
+'uploadfromurl-queued' => 'Dein Hochloode (Upload) befindt sich jetzt in der Woorteschlang.',
+'uploaddisabledtext' => 'Das Hochloode von Dateie ist deaktiviert.',
+'php-uploaddisabledtext' => 'Das Hochloode von Dateie woard in PHP deaktiviert.
+Bittschön üwerprüf die <code>file_uploads</code>-Einstellung.',
+'uploadscripted' => 'Die Datei enthält HTML- orrer Scriptcode, wo irrtümlich von enem Webbrowser ausgeführt werre könnt.',
+'uploadscriptednamespace' => 'Die SVG-Datei enthält den ungültiche Noomeraum „$1“.',
+'uploadinvalidxml' => 'Das XML in der hochgeladne Datei konnt net geparst werre.',
+'uploadvirus' => 'Die Datei enthält en Virus! Details: $1',
+'uploadjava' => 'Dies ist ein ZIP-Datei, wo en CLASS-Datei von Java enthält.
+Das Hochloode von Java-Dateie ist net gestattet, weil sie die Umgehung von Sicherheitseinschränkunge ermöchliche könnte.',
+'upload-source' => 'Quelldatei',
+'sourcefilename' => 'Quelldatei:',
+'sourceurl' => 'Quell-URL:',
+'destfilename' => 'Zielnoome:',
+'upload-maxfilesize' => 'Maximal Dateigröss: $1',
+'upload-description' => 'Dateibeschreibung',
+'upload-options' => 'Hochloodeoptione',
+'watchthisupload' => 'Die Datei beobacht',
+'filewasdeleted' => 'En Datei mit dem Noome woard schon emol hochgelood und zwischichzeitlich wieder abgewischt. Bittschön prüf zuearst den Eintrooch im $1, bevoar du die Datei weerklich speichre tust.',
+'filename-bad-prefix' => "Der Dateinoome beginnt mit '''\"\$1\"'''. Das ist im allgemein der von en Digitalkamera voargebne Dateinoome und doher net seahr aussoognkräftig.
+Bittschön geb der Datei en Noome, wo den Inhalt besser beschreibt.",
+'upload-success-subj' => 'Erfollichreich hochgelood',
+'upload-success-msg' => 'Das Hochloode von [$2] woor erfollichreich. Die ist hier verfüchbar: [[:{{ns:file}}:$1]]',
+'upload-failure-subj' => 'Hochloodfehler',
+'upload-failure-msg' => 'Do hot es en Problem geb - mit deiner hochgeloodne Datei von [$2]:
+
+$1',
+'upload-warning-subj' => 'Hochloodewarnung',
+'upload-warning-msg' => 'Do woor en Problem beim Hochloode von [$2]. Bittschön zum [[Special:Upload/stash/$1|Hochloodformular]] zurückkehre, um das Problem zu behebe.',
+
+'upload-proto-error' => 'Falsches Protokoll',
+'upload-proto-error-text' => 'Die URL muss mit <code>http://</code> orrer <code>ftp://</code> beginne.',
+'upload-file-error' => 'Interner Fehler',
+'upload-file-error-text' => 'Bei der Erstellung en temporäre Datei uff dem Server ist en interner Fehler uffgetret.
+Bittschön informier en [[Special:ListUsers/sysop|Administratoar]].',
+'upload-misc-error' => 'Unbekannter Fehler beim Hochloode',
+'upload-misc-error-text' => 'Beim Hochloode ist en unbekannter Fehler uffgetret.
+Prüf die URL uff Fehler, den Online-Status von der Seite und versuch das wieder erneit.
+Wenn das Problem weiter besteht, informier en [[Special:ListUsers/sysop|Administratoar]].',
+'upload-too-many-redirects' => 'Die URL beinhaltete zu viele Weiterleitunge',
+'upload-unknown-size' => 'Unbekannte Gröss',
+'upload-http-error' => 'En HTTP-Fehler ist uffgetret: $1',
+'upload-copy-upload-invalid-domain' => 'Als Kopie hochloodbare Dateie sind üwer die Domain net verfüchbar.',
+
+# File backend
+'backend-fail-stream' => 'Die Datei $1 konnt net üwertrooht sin.',
+'backend-fail-backup' => 'Die Datei $1 konnt net gesichert sin.',
+'backend-fail-notexists' => 'Die Datei $1 ist net voarhand.',
+'backend-fail-hashes' => 'Die Strohwearte von der Datei könnte net zum Vergleich abgeruf sin.',
+'backend-fail-notsame' => 'Es ist schon en Datei $1 voarhand, wo net identisch ist.',
+'backend-fail-invalidpath' => '$1 ist ken gülticher Pad zum Speichre.',
+'backend-fail-delete' => 'Die Datei $1 konnt net abgewischt sin.',
+'backend-fail-describe' => 'Die Metadate für die Datei "$1" konnte net geännert sin.',
+'backend-fail-alreadyexists' => 'Die Seit $1 ist schon voarhand',
+'backend-fail-store' => 'Die Datei $1 konnt net unner $2 gespeichert sin.',
+'backend-fail-copy' => 'Die Datei $1 konnt net noh $2 kopiert sin.',
+'backend-fail-move' => 'Die Datei $1 konnt net noh $2 verschob sin.',
+'backend-fail-opentemp' => 'Die temporäer Datei konnt nrt geöffnet sin.',
+'backend-fail-writetemp' => 'Die temporäer Datei konnt net geschrieb sin.',
+'backend-fail-closetemp' => 'Die temporäer Datei konnt net geschloss sin.',
+'backend-fail-read' => 'Die Datei $1 konnt net geles sin.',
+'backend-fail-create' => 'Die Datei $1 konnt net gespeichert sin.',
+'backend-fail-maxsize' => 'Die Datei $1 konnt net gespeichert sin, weil die grösser wie {{PLURAL:$2|en Byte|$2 Bytes}} ist.',
+'backend-fail-readonly' => 'Das Speicher-Backend "$1" befindt sich derzeit im Lesemodus. Der oongebne Grund lautet: "$2"',
+'backend-fail-synced' => 'Die Datei "$1" befindt sich, innerhalb von der interne Speicher-Backend, in enem inkonsistente Zustand.',
+'backend-fail-connect' => 'Do konnt ken Verbinung zum Speicher-Backend "$1" heargestellt sin.',
+'backend-fail-internal' => 'Im Speicher-Backend "$1" ist en unbekannter Fehler uffgetret.',
+'backend-fail-contenttype' => 'Der Inhaltstyp, der im Pad "$1" zu speichernd Datei, konnt net bestimmt sin.',
+'backend-fail-batchsize' => 'En Stapelveroorbeitungsdatei, die {{PLURAL:$1|en Operation|$1 Operatione}} enthält, woard an das Speicher-Backend geschickt. Die Begrenzung lieht allerdings bei {{PLURAL:$2|en Operation|$2 Operatione}}.',
+'backend-fail-usable' => 'Die Datei "$1" konnt entweder uffgrund von en net voarhand Verzeichnisse orrer weche unzureichender Berechtichunge weder abgeruf noch gespeichert sin.',
+
+# File journal errors
+'filejournal-fail-dbconnect' => 'Do könnt kein Verbinung zur Journaldatebank con das Speicher-Backend "$1" heargestellt sin.',
+'filejournal-fail-dbquery' => 'Die Journaldatebank von de Speicher-Backend "$1" könnt net aktualisiert sin.',
+
+# Lock manager
+'lockmanager-notlocked' => '"$1" könnt net entsperrt (befreit) sin, wil ken Sperrung existier/besteht.',
+'lockmanager-fail-closelock' => 'Die Sperrdatei für "$1" konnt net geschloss sin.',
+'lockmanager-fail-deletelock' => 'Die Datei "$1" konnt net gelöscht sin.',
+'lockmanager-fail-acquirelock' => 'Die Sperr für "$1" konnt net abgeruf sin.',
+'lockmanager-fail-openlock' => 'Die Sperrdatei für "$1" konnt net geschloss sin.',
+'lockmanager-fail-releaselock' => 'Die Sperr für "$1" konnt net freigemacht sin.',
+'lockmanager-fail-db-bucket' => 'Es konnte mit Sammelabruf $1 ken ausreichend Oonzoohl an Verbinnunge zu Sperrdatebanke heargestellt sin.',
+'lockmanager-fail-db-release' => 'Die Sperre uff Datebank $1 konnte net freigeb (gemach) sin.',
+'lockmanager-fail-svr-acquire' => 'Die Sperre uff Server $1 konnte net abgeruf sin.',
+'lockmanager-fail-svr-release' => 'Die Sperre uff Server $1 konnte net freigeb (gemach) sin.',
+
+# ZipDirectoryReader
+'zip-file-open-error' => 'Do ist en Fehler beim Öffne von der Datei zur ZIP-Üwerprüfung uffgetret (passiert).',
+'zip-wrong-format' => 'Die oongebne Datei ist ken ZIP-Datei.',
+'zip-bad' => 'Die Datei ist beschädigt orrer en aus annerweitiche Gründe net lesbare ZIP-Datei.
+Sie kann do drum ken ordnungsgemäss Sicherheitsüwerprüfung unnerzoh sin.',
+'zip-unsupported' => 'Die ZIP-Datei verfücht üwer Komprimierungseichenschafte, wo net von MediaWiki unnersteetzt sin.
+Sie kann dodrum ken ordnungsgemäss Sicherheitsüwerprüfung unnerzoh sin.',
+
+# Special:UploadStash
+'uploadstash' => 'Vorabspeichrung beim Hochloode',
+'uploadstash-summary' => 'Die Seit ermöchlicht den Zugriff uff Dateie, wo hochgelood worre, bzw. grood hochgelood werre, awer noch net uff dem Wiki publiziert worre. Die Dateie sind ausschliesslich für den hochloodende Benutzer sichtbar.',
+'uploadstash-clear' => 'Die voarab gespeicherte Dateie entferne',
+'uploadstash-nofiles' => 'Do sind ken voarab gespeicherte Dateie voarhand.',
+'uploadstash-badtoken' => 'Das Entferne der voarab gespeicherte Dateie woor erfollichlos, vielleicht weil deine Sitzungsdate abgeloof sind. Bittschön versuch das nochmo erneit.',
+'uploadstash-errclear' => 'Das Entferne der voarab gespeicherte Dateie woo erfollichlos.',
+'uploadstash-refresh' => 'List von der Dateie aktualisiere',
+'invalid-chunk-offset' => 'Ungülticher Startpunkt',
+
+# img_auth script messages
+'img-auth-accessdenied' => 'Zugriff verweichert',
+'img-auth-nopathinfo' => 'Die Oongäb PATH_INFO fehlt.
+Der Server ist net dafoar ingerichtet, die Information weiterzugebe.
+Sie könnt CGI-gestützt sin und kann dodrum "img_auth" (Authentifizierung von dem Dateiuffruf) net unnerstütze.
+Sieh ooch https://www.mediawiki.org/wiki/Manual:Image_Authorization (englisch).',
+'img-auth-notindir' => 'Der gewünschte Paad ist net im konfigurierte Uploadverzeichnis.',
+'img-auth-badtitle' => 'Aus "$1" kann ken gülticher Titel erstellt sin.',
+'img-auth-nologinnWL' => 'Du bist net oongemeldt und "$1" ist net in der weiss List.',
+'img-auth-nofile' => 'Datei "$1" existiert net.',
+'img-auth-isdir' => 'Du versuchst, uff en Verzeichnis "$1" zuzugreife.
+Nuar Dateizugriff ist erlaubt.',
+'img-auth-streaming' => 'Loode "$1".',
+'img-auth-public' => 'img_auth.php gibt Dateie von enem private Wiki aus.
+Dieses Wiki woard wie en öffentliches Wiki konfiguriert.
+Aus Sicherheitsgründe ist img_auth.php deaktiviert.',
+'img-auth-noread' => 'Benutzer hot keh Berechtichung, "$1" se lese.',
+'img-auth-bad-query-string' => 'Die URL weist en ungültiche Abfragezeichefolliche uff.',
+
+# HTTP errors
+'http-invalid-url' => 'Ungültiche URL: $1',
+'http-invalid-scheme' => 'URLs mit dem Schema "$1" werre net unnerstützt',
+'http-request-error' => 'Fehler beim Oonfrch schicke.',
+'http-read-error' => 'HTTP-Lesefehler.',
+'http-timed-out' => 'Zeitüwerschreitung bei der HTTP-Oofroch.',
+'http-curl-error' => 'Fehler beim Abruf von der URL: $1',
+'http-bad-status' => 'Während, im verloof von der HTTP-Oonfroch ist en Fehler uffgetret (passiert): $1 $2',
+
+# Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
+'upload-curl-error6' => 'URL ist net erreichbar',
+'upload-curl-error6-text' => 'Die oongebne URL ist net erreichbar. Prüf sowohl die URL uff Fehler als ooch den Online-Status von der Seit',
+'upload-curl-error28' => 'Zeitüwerschreitung beim Hochloode',
+'upload-curl-error28-text' => 'Die Seit braucht zu lang für se antworte. Prüf, ob die Seit online ist, woort en koorz Moment und versuch es dann wieder erneit. Es kann sinnvoll sin, das zu enem andre Zeitpunkt ernet zu versuche.',
+
+'license' => 'Lizenz:',
+'license-header' => 'Lizenz',
+'nolicense' => 'Ken Voarauswahl',
+'license-nopreview' => '(do ist ken Voarschau verfüchbar)',
+'upload_source_url' => ' (gültiche, öffentlich zugängliche URL)',
+'upload_source_file' => ' (en Datei uff deinem Komputadoar)',
+
+# Special:ListFiles
+'listfiles-summary' => 'Die Spezialseit listiert alle hochuffgeloodne Dateie',
+'listfiles_search_for' => 'Such noh Datei:',
+'imgfile' => 'Datei',
+'listfiles' => 'Dateilist',
+'listfiles_thumb' => 'Voarschaubild',
+'listfiles_date' => 'Datum',
+'listfiles_name' => 'Noome',
+'listfiles_user' => 'Benutzer',
+'listfiles_size' => 'Gröss',
+'listfiles_description' => 'Beschreibung',
+'listfiles_count' => 'Versione',
+'listfiles-show-all' => 'Alte Bildversione einschliesse',
+'listfiles-latestversion' => 'Aktuelle Version',
+'listfiles-latestversion-yes' => 'Jo',
+'listfiles-latestversion-no' => 'Nee',
+
+# File description page
+'file-anchor-link' => 'Datei',
+'filehist' => 'Dateiversione',
+'filehist-help' => 'Klick uff en Zeitpunkt, um die Version zu loode.',
+'filehist-deleteall' => 'Alle Versione abwische',
+'filehist-deleteone' => 'Die Version abwische',
+'filehist-revert' => 'zurücksetze',
+'filehist-current' => 'aktuell',
+'filehist-datetime' => 'Version vom',
+'filehist-thumb' => 'Voarschaubild',
+'filehist-thumbtext' => 'Vorschaubild von der Version vom $2, $3 Uhr',
+'filehist-nothumb' => 'Ken Voarschaubild voarhand',
+'filehist-user' => 'Benutzer',
+'filehist-dimensions' => 'Moss',
+'filehist-filesize' => 'Dateigröss',
+'filehist-comment' => 'Kommentar',
+'filehist-missing' => 'Datei fehlt',
+'imagelinks' => 'Dateiverwennung',
+'linkstoimage' => 'Die {{PLURAL:$1|folliche Seit verwenndt|folliche $1 Seite verwenne}} die Datei:',
+'linkstoimage-more' => 'Meahr als {{PLURAL:$1|en Seit verlinkt|$1 Seite verlinke}} uff dies= Datei.
+Die folliche List zeicht nuar {{PLURAL:$1|den ersten Link|die earschte $1 Links}} uff die Datei.
+En [[Special:WhatLinksHere/$2|vollständiche List]] ist verfüchbar.',
+'nolinkstoimage' => 'Ken Seit benutzt die Datei.',
+'morelinkstoimage' => '[[Special:WhatLinksHere/$1|Weitre Links]] uff die Datei.',
+'linkstoimage-redirect' => '$1 (Dateiweiterleitung) $2',
+'duplicatesoffile' => 'Die {{PLURAL:$1|follichend Datei ist en Duplikat|follichende $1 Dateie sind Duplikate}} von der Datei ([[Special:FileDuplicateSearch/$2|weitre Detalhes]]):',
+'sharedupload' => 'Die Datei stammt aus $1 und därreft von annre Projekte verwendt sin.',
+'sharedupload-desc-there' => 'Die Datei stammt aus $1 und därref von annre Projekte verwendt sinn. Sieh uff der [$2 Dateibeschreibungsseit] noh weitre Informatione.',
+'sharedupload-desc-here' => 'Die Datei stammt aus $1 und kann von annre Projekte verwennet sin. Die Beschreibung von dene [$2 Dateibeschreibungsseit] weard unne oongezeicht.',
+'filepage-nofile' => 'Do gebts ken Datei mit dem Noome voarhand.',
+'filepage-nofile-link' => 'Do gebts ken Datei mit dem Noome voarhand. Du kannst jedoch [$1 die Datei hochloode].',
+'uploadnewversion-linktext' => 'En neie Version von der Datei hochloode',
+'shared-repo-from' => 'aus $1',
+'shared-repo' => 'en gemeinsam benutzte Medienarchiv',
+'upload-disallowed-here' => 'Du kannst die Datei net üwerschreibe.',
+
+# File reversion
+'filerevert' => 'Zurücksetze von „$1“',
+'filerevert-legend' => 'Datei zurücksetze',
+'filerevert-intro' => "Du setzt die Datei '''[[Media:$1|$1]]''' uff die [$4 Version vom $2, $3 Uhr] zurück.",
+'filerevert-comment' => 'Grund:',
+'filerevert-defaultcomment' => 'Zurückgesetzt uff die Version vom $1, $2 Uhr',
+'filerevert-submit' => 'Zurücksetze',
+'filerevert-success' => "'''[[Media:$1|$1]]''' woard uff die [$4 Version vom $2, $3 Uhr] zurückgesetzt.",
+'filerevert-badversion' => 'Do gebts ken Version von der Datei zu dem oongebne Zeitpunkt.',
+
+# File deletion
+'filedelete' => 'Abwisch $1',
+'filedelete-legend' => 'Abwisch Datei',
+'filedelete-intro' => "Du abwischst die Datei '''\"[[Media:\$1|\$1]]\"''' inklusive ehrer Versionsgeschicht.",
+'filedelete-intro-old' => 'Du abwischst von der Datei \'\'\'"[[Media:$1|$1]]"\'\'\' die [$4 Version vom $2, $3 Uhr].',
+'filedelete-comment' => 'Grund:',
+'filedelete-submit' => 'Abwische',
+'filedelete-success' => "'''\"\$1\"''' woard abgewischt.",
+'filedelete-success-old' => 'Von der Datei \'\'\'"[[Media:$1|$1]]"\'\'\' woard die Version vom $2, $3 Uhr abgewischt.',
+'filedelete-nofile' => "'''\"\$1'''' ist net voarhand.",
+'filedelete-nofile-old' => "Do gebts von '''\"\$1\"''' ken archiviert Version mit den oongebne Attribute.",
+'filedelete-otherreason' => 'Annrer/ergänzender Grund:',
+'filedelete-reason-otherlist' => 'Annrer Grund',
+'filedelete-reason-dropdown' => '* Allgemeine Abwischgründe
+** Uarheberrechtsverletzung
+** Duplikat',
+'filedelete-edit-reasonlist' => 'Abwischgründe beoorbeite',
+'filedelete-maintenance' => 'Das Abwische und Wiederhearstelle von Dateie ist uffgrund von Woortungsoorbeite voarüwergehnd deaktiviert.',
+'filedelete-maintenance-title' => 'Die Datei kann net abgewischt sin.',
+
+# MIME search
+'mimesearch' => 'Such noh MIME-Typ',
+'mimetype' => 'MIME-Typ:',
+'download' => 'Herunnerloode',
+
+# Unwatched pages
+'unwatchedpages' => 'Net beobachtete Seite',
+
+# List redirects
+'listredirects' => 'Weiterleitunge',
+
+# List duplicated files special page
+'listduplicatedfiles' => 'List von der Dateie mit Duplikate',
+
+# Unused templates
+'unusedtemplates' => 'Unbenutzte Vorlooche',
+'unusedtemplateswlh' => 'Annre Links',
+
+# Random page
+'randompage' => 'Zufälliche Seite',
+
+# Random page in category
+'randomincategory' => 'Zufälliche Seit von en Kategorie',
+'randomincategory-invalidcategory' => '"$1" ist ken gülticher Kategorieenoome.',
+'randomincategory-nopages' => 'Es gebt kene Seite in [[:Category:$1]].',
+'randomincategory-selectcategory' => 'Zufälliche Seit aus der Kategorie: $1 $2',
+'randomincategory-selectcategory-submit' => 'Geh, los',
+
+# Random redirect
+'randomredirect' => 'Zufällich Weiterleitung',
+'randomredirect-nopages' => 'Im Noomeraum „$1“ sind ken Weiterleitunge voarhand.',
+
+# Statistics
+'statistics' => 'Statistik',
+'statistics-header-pages' => 'Seitestatistik',
+'statistics-header-edits' => 'Bearbeitungsstatistik',
+'statistics-header-views' => 'Seitenuffrufstatistik',
+'statistics-header-users' => 'Benutzerstatistik',
+'statistics-header-hooks' => 'Annre Statistike',
+'statistics-articles' => 'Inhaltsseite',
+'statistics-pages' => 'Seite',
+'statistics-pages-desc' => 'Alle Seite in dem Wiki, inklusive Diskussionsseite, Weiterleitunge und so weiter',
+'statistics-files' => 'Hochgeloodne Dateie',
+'statistics-edits' => 'Seitebeoorbeitunge',
+'statistics-edits-average' => 'Beoorbeitunge pro Seit im Doorrichschnitt',
+'statistics-views-total' => 'Seitenuffrufe gesamt',
+'statistics-views-peredit' => 'Jede Beoorbeitung ehre Seiteuffrufe',
+'statistics-users' => 'Registrierte [[Special:ListUsers|Benutzer]]',
+'statistics-users-active' => 'Aktive Benutzer',
+'statistics-users-active-desc' => 'Benutzer mit Beoorbeitunge {{PLURAL:$1|während (im verloof von) der letzte 24 Stunde|während (im verloof von) der vergangne $1 Tooche}}',
+'statistics-mostpopular' => 'Meistbesuchte Seite',
+
+'pageswithprop' => 'Seite mit en Seiteneichenschaft',
+'pageswithprop-legend' => 'Seite mit en Seiteeichenschaft',
+'pageswithprop-text' => 'Die Spezialseit tut Seite ufflistiere, wo en bestimmte Seiteeichenschaft verwenne.',
+'pageswithprop-prop' => 'Eichenschaftsnoome:',
+'pageswithprop-submit' => 'Geh, los',
+'pageswithprop-prophidden-long' => 'Langtexteichenschaftsweart versteckt ($1)',
+'pageswithprop-prophidden-binary' => 'Binäreichenschaftsweart versteckt ($1)',
+
+'doubleredirects' => 'Doppelte Weiterleitunge',
+'double-redirect-fixer' => 'RedirectBot',
+
+'brokenredirects' => 'Defekte Weiterleitunge',
+'brokenredirectstext' => 'Die Spezialseit listiert Weiterleitung uff net existierende Seite uff.',
+'brokenredirects-edit' => 'Beoorbeite',
+'brokenredirects-delete' => 'abwische',
+
+'withoutinterwiki' => 'Net zu annre Sproche verlinkende Seite',
+'withoutinterwiki-summary' => 'Die follichende Seite verlinke net uff annre Sprochversione.',
+'withoutinterwiki-legend' => 'Präfix',
+'withoutinterwiki-submit' => 'Zeich',
+
+'fewestrevisions' => 'Seite mit den wenichste Versione',
+
+# Miscellaneous special pages
+'nbytes' => '$1 {{PLURAL:$1|Byte|Bytes}}',
+'ncategories' => '$1 {{PLURAL:$1|Kategorie|Kategoriee}}',
+'ninterwikis' => '{{PLURAL:$1|En Interwikilink|$1 Interwikilinks}}',
+'nlinks' => '{{PLURAL:$1|1 Link|$1 Links}}',
+'nmembers' => '{{PLURAL:$1|1 Eintrooch|$1 Einträche}}',
+'nmemberschanged' => '$1 → {{PLURAL:$2|En Mitglied|$2 Mitglieder}}',
+'nrevisions' => '{{PLURAL:$1|1 Beoorbeitung|$1 Beoorbeitunge}}',
+'nviews' => '{{PLURAL:$1|1 Abfroch|$1 Abfroche}}',
+'nimagelinks' => 'Verwendt uff {{PLURAL:$1|en Seit|$1 Seite}}',
+'ntransclusions' => 'Verwendt uff {{PLURAL:$1|en Seit|$1 Seite}}',
+'specialpage-empty' => 'Do sind aktuell ken zutreffende Einträche voarhand.',
+'lonelypages' => 'Verwaist Seite',
+'lonelypagestext' => 'Die follichenden Seite werre net eingebund orrer das weard net uff sie in {{SITENAME}} verwies.',
+'uncategorizedpages' => 'Net kategorisierte Seite',
+'uncategorizedcategories' => 'Net kategorisierte Kategorie',
+'uncategorizedimages' => 'Net kategorisierte Dateie',
+'uncategorizedtemplates' => 'Net kategorisierte Vorlage',
+'unusedcategories' => 'Verwaiste Kategorie',
+'unusedimages' => 'Verwaiste Dateie',
+'popularpages' => 'Beliebteste Seite',
+'wantedcategories' => 'Gewünschte Kategorie',
+'wantedpages' => 'Gewünschte Seite',
+'wantedpages-badtitle' => 'Ungülticher Titel im Ergebnis: $1',
+'wantedfiles' => 'Gewünschte Dateie',
+'wantedfiletext-cat' => 'Die follichende Dateie werre verwendt, sind jedoch net voarhand. Voarhandne Dateie aus fremde Repositorie könne dennoch hier uffgelistet sin und werre <del>doorrichgestrich</del> für se siehn dogestellt. Zusätzlich werre Seite, wo net voarhandne Dateie enthalle, in die [[:$1]] eingeordnet.',
+'wantedfiletext-nocat' => 'Die follichende Dateie werre verwendt, sind jedoch net voarhand. Voarhandne Dateie aus fremde Repositorie könne dennoch hier uffgelistet sin und werre <del>doorrichgestrich</del> dargestellt.',
+'wantedtemplates' => 'Gewünschte Voarlooche',
+'mostlinked' => 'Seite mit den meiste Links',
+'mostlinkedcategories' => 'Meistbenutzte Kategorie',
+'mostlinkedtemplates' => 'Meistbenutzte Voarlooche',
+'mostcategories' => 'Seiten mit den meiste Kategorie',
+'mostimages' => 'Meistbenutzte Dateie',
+'mostinterwikis' => 'Seite mit den meiste Interwikilinks',
+'mostrevisions' => 'Seite mit den meiste Versione',
+'prefixindex' => 'All Seite (mit Präfix)',
+'prefixindex-namespace' => 'Alle Seite mit Präfix (Nameraum $1)',
+'prefixindex-strip' => 'Präfix in der Liste abschneide',
+'shortpages' => 'Koorze Seite',
+'longpages' => 'Lange Seite',
+'deadendpages' => 'Net verlinkende Seite',
+'deadendpagestext' => 'Die follichende Seite verweise net uff annre Seite von {{SITENAME}}.',
+'protectedpages' => 'Geschützte Seite',
+'protectedpages-indef' => 'Nuar unbeschränkt geschützte Seite zeiche',
+'protectedpages-cascade' => 'Nuar Seite mit Kaskadeschutz',
+'protectedpages-noredirect' => 'Weiterleitunge ausblende',
+'protectedpagesempty' => 'Aktuell sind ken Seite mit den Parameter geschützt.',
+'protectedpages-timestamp' => 'Zeitstempel',
+'protectedpages-page' => 'Seit',
+'protectedpages-expiry' => 'Gültich bis',
+'protectedpages-performer' => 'Geschützt von',
+'protectedpages-params' => 'Schutzparameter',
+'protectedpages-reason' => 'Grund',
+'protectedpages-unknown-timestamp' => 'Unbekannt',
+'protectedpages-unknown-performer' => 'Unbekannter Benutzer',
+'protectedtitles' => 'Geschützte Seitenoome',
+'protectedtitlesempty' => 'Zurzeit sind mit den oongebne Parameter ken Seite zur Neierstellung gesperrt.',
+'listusers' => 'Benutzerverzeichnis',
+'listusers-editsonly' => 'Zeich nuar Benutzer mit Beiträche',
+'listusers-creationsort' => 'Noh Erstelldatum sortiere',
+'listusers-desc' => 'In absteichender Reihenfolche sortiere',
+'usereditcount' => '$1 {{PLURAL:$1|Beoorbeitung|Beoorbeitunge}}',
+'usercreated' => '{{GENDER:$3|Erstellt}} am $1 um $2 Uhr',
+'newpages' => 'Neie Seite',
+'newpages-username' => 'Benutzernoome:',
+'ancientpages' => 'Seit längrem unbeoorbeitete Seite',
+'move' => 'Verschiebe',
+'movethispage' => 'Seit verschiebe',
+'unusedimagestext' => 'Bittschön beacht, dass anre Webseite en Datei mit en direkte URL verlinke könne. Die könnte doher hier uffgelistet sin, obwohl die in aktiver Verwendung ist.',
+'unusedcategoriestext' => 'Die Spezialseit zeicht all Kategorie, wo leer sind, also sellebst ken Kategorie orrer Seite enthalle.',
+'notargettitle' => 'Ken Seit oongeb',
+'notargettext' => 'Du host net oongeb, uff was für Seit die Funktion oongewendt werre soll.',
+'nopagetitle' => 'Seit net voarhand',
+'nopagetext' => 'Die oongebne Seit ist net vorhand.',
+'pager-newer-n' => '{{PLURAL:$1|nächster|nächste $1}}',
+'pager-older-n' => '{{PLURAL:$1|voarhericher|voarheriche $1}}',
+'suppress' => 'Oversight (Üwerwächtung)',
+'querypage-disabled' => 'Die Spezialseit woard aus Gründe von der Leistungserhaltung deaktiviert.',
+
+# Book sources
+'booksources' => 'ISBN-Suche',
+'booksources-search-legend' => 'Such noh Bezugsquelle für Bücher',
+'booksources-go' => 'Suche',
+'booksources-text' => 'Dies ist en List mit Links zu Internetseite, wo neie und gebrauchte Bücher verkoofe. Dort kann das ooch weitre Informationen üwer die Bücher gebe. {{SITENAME}} ist mit kenem von der Oonbieter geschäftlich verbünd.',
+'booksources-invalid-isbn' => 'Vermutlich ist die ISBN ungültich.
+Bittschön prüf, ob die korrekt von der Quell üwertroohr woard.',
+
+# Special:Log
+'specialloguserlabel' => 'Ausführender Benutzer:',
+'speciallogtitlelabel' => 'Ziel (Titel orrer Benutzer):',
+'log' => 'Logbücher',
+'all-logs-page' => 'Alle öffentliche Logbücher',
+'alllogstext' => 'Das ist die kombinierte Oonzeich von all in {{SITENAME}} geführte Logbücher.
+Die Ausgäb kann doorrich die Auswahl von der Logbuchtyp, von der Benutzer orrer der Seitetitel ingeschränkt sin (Gross-/Klenschreibung muss beachtet sin).',
+'logempty' => 'Ken passende Einträch.',
+'log-title-wildcard' => 'Titel beginnt mit …',
+'showhideselectedlogentries' => 'Ausgewählte Logbucheinträch oonzeiche/verstecke',
+
+# Special:AllPages
+'allpages' => 'All Seite',
+'alphaindexline' => '$1 bis $2',
+'nextpage' => 'Nächste Seit ($1)',
+'prevpage' => 'Vorhrich Seit ($1)',
+'allpagesfrom' => 'Seite oonzeiche ab:',
+'allpagesto' => 'Seite oonzeiche bis:',
+'allarticles' => 'Alle Seite',
+'allinnamespace' => 'Alle Seite (Noomeraum: $1)',
+'allpagessubmit' => 'Oonwenne',
+'allpagesprefix' => 'Seite oonzeiche mit Präfix:',
+'allpagesbadtitle' => 'Der ingebne Seitenoome ist ungültich: Der hot entweder en voarangestelltes Sproch-, en Interwiki-Kürzel orrer enthält en orrer mehrre Zeiche, wo in Seitenoome net dürfe verwendt sin.',
+'allpages-bad-ns' => 'Der Noomeraum "$1" ist in {{SITENAME}} net voarhand.',
+'allpages-hide-redirects' => 'Weiterleitunge ausblende',
+
+# SpecialCachedPage
+'cachedspecial-viewing-cached-ttl' => 'Du siehst die gecachte Version (Englisch: "cached version") von der Seit, wo bis zu $1 alt sin kann.',
+'cachedspecial-viewing-cached-ts' => 'Du siehst die gecachte Version (Englisch: "cached version") von der Seit, die möglicherweis net aktuell ist.',
+'cachedspecial-refresh-now' => 'Aktuelle Version oonsiehn.',
+
+# Special:Categories
+'categories' => 'Kategoriee',
+'special-categories-sort-count' => 'Sortierung noh Oonzoohl',
+'special-categories-sort-abc' => 'Sortierung noh Alphabet',
+
+# Special:DeletedContributions
+'deletedcontributions' => 'Abgewischte Beiträch',
+'deletedcontributions-title' => 'Abgewischte Beiträch',
+'sp-deletedcontributions-contribs' => 'Benutzerbeiträche',
+
+# Special:LinkSearch
+'linksearch' => 'Weblinksuch',
+'linksearch-pat' => 'Suchmuster:',
+'linksearch-ns' => 'Noomeraum:',
+'linksearch-ok' => 'Suche',
+'linksearch-line' => '$1 ist verlinkt von $2',
+
+# Special:ListUsers
+'listusersfrom' => 'Zeich Benutzer ab:',
+'listusers-submit' => 'Zeich',
+'listusers-noresult' => 'Ken Benutzer gefund.',
+'listusers-blocked' => '(gesperrt)',
+
+# Special:ActiveUsers
+'activeusers' => 'Aktive Benutzer',
+'activeusers-from' => 'Zeich Benutzer ab:',
+'activeusers-hidebots' => 'Bots ausblende',
+'activeusers-hidesysops' => 'Administratore ausblende (verstecke)',
+'activeusers-noresult' => 'Kene Benutzer gefund.',
+
+# Special:ListGroupRights
+'listgrouprights' => 'Benutzergrupperechte',
+'listgrouprights-group' => 'Grupp:',
+'listgrouprights-rights' => 'Rechte',
+'listgrouprights-helppage' => 'Help:Grupperechte',
+'listgrouprights-members' => '(Mitgliederlist)',
+'listgrouprights-addgroup' => 'Benutzer zu {{PLURAL:$2|der Grupp|die Gruppe}} hinzufügen: $1',
+'listgrouprights-removegroup' => 'Benutzer aus {{PLURAL:$2|die Grupp|die Gruppe}} entferne: $1',
+'listgrouprights-addgroup-all' => 'Benutzer zu alle Gruppe hinzufüche',
+'listgrouprights-removegroup-all' => 'Benutzer aus alle Gruppe entferne',
+'listgrouprights-addgroup-self-all' => 'Kann alle Gruppe zum eichne Konto hinzufüche',
+'listgrouprights-removegroup-self-all' => 'Kann alle Gruppe vom eichne Konto entferne (removiere)',
+
+# Email user
+'mailnologin' => 'Fehler beim E-Mail-Versand',
+'emailuser' => 'E-Mail an den Benutzer',
+'emailuser-title-notarget' => 'E-Mail an Benutzer',
+'emailpage' => 'E-Mail an Benutzer',
+'usermailererror' => 'Das E-Mail-Objekt gab en Fehler zurück:',
+'defemailsubject' => '{{SITENAME}} – E-Mail von Benutzer "$1"',
+'usermaildisabled' => 'E-Mail-Empfang deaktiviert',
+'usermaildisabledtext' => 'Du kannst in dem Wiki keh E-Mails an annre Benutzer sende',
+'noemailtitle' => 'Ken E-Mail-Adress',
+'noemailtext' => 'Der Benutzer hot ken gültiche E-Mail-Adress oongeb.',
+'nowikiemailtitle' => 'E-Mail-Versand net möchlich',
+'nowikiemailtext' => 'Der Benutzer möcht ken E-Mails von annre Benutzer erhalle.',
+'emailnotarget' => 'Nicht vorhandner orrer ungülticher Benutzernoome für den Empfang von en E-Mail.',
+'emailtarget' => 'Benutzernoome von der Empfänger rengebe',
+'emailusername' => 'Benutzernoome:',
+'emailusernamesubmit' => 'Weiter',
+'email-legend' => 'E-Mail an en annre {{SITENAME}}-Benutzer sende',
+'emailfrom' => 'Von:',
+'emailto' => 'An:',
+'emailsubject' => 'Betreff:',
+'emailmessage' => 'Nachricht:',
+'emailsend' => 'Sende',
+'emailccme' => 'Sende en Kopie von der E-Mail an mich',
+'emailccsubject' => 'Kopie von deiner Nachricht an $1: $2',
+'emailsent' => 'E-Mail verschickt',
+'emailsenttext' => 'Dein E-Mail woard verschickt.',
+'emailuserfooter' => 'Die E-Mail woard von {{SITENAME}}-Benutzer "$1" an "$2" gesendt.',
+
+# User Messenger
+'usermessage-summary' => 'Systemnachricht gespeichert.',
+'usermessage-editor' => 'System-Messenger',
+
+# Watchlist
+'watchlist' => 'Beobachtungslist',
+'mywatchlist' => 'Beobachtungslist',
+'watchlistfor2' => 'Von $1 $2',
+'nowatchlist' => 'Do befind sich ken Einträch uff dein Beobachtungslist.',
+'watchlistanontext' => 'Du musst dich $1, um dein Beobachtungslist siehn orrer Einträch uff ihr beoorbeiteno könne.',
+'watchnologin' => 'Net oongemeldt',
+'watchnologintext' => 'Du musst [[Special:UserLogin|oongemeldt]] sin, um dein Beobachtungslist beoorbeite könne.',
+'addwatch' => 'Zur Beobachtungslist hinzufüche',
+'watch' => 'Beobachte',
+'watchthispage' => 'Die Seit beobachte',
+'unwatch' => 'Net mehr beobachte',
+'unwatchthispage' => 'Net meahr beobachte',
+'notanarticle' => 'Ken Seit',
+'notvisiblerev' => 'Versionur woard abgewischt',
+'watchlist-details' => 'Du beobachtest {{PLURAL:$1|en Seit|$1 Seite}}, ohne dass Diskussionsseit gezählt werre.',
+'wlheader-enotif' => 'Der E-Mail-Benachrichtigungsdienst ist aktiviert.',
+'wlheader-showupdated' => "Seite mit noch net gesiehne Ännrunge werre'''fett''' dorgestellt.",
+'watchmethod-recent' => 'Üwerprüfung von der letzte Beoorbeitungen für die Beobachtungslist (mit observierte Seite)',
+'watchmethod-list' => 'Üwerprüfung von der Beobachtungslist noh letzte Beoorbeitunge',
+'wlshowlast' => 'Zeich die Ännrunge von der letzte $1 Stunde, $2 Tooch orrer $3.',
+'watchlist-options' => 'Oonzeichoptione',
+
+# Displayed when you click the "watch" button and it is in the process of watching
+'watching' => 'Beobachte …',
+'unwatching' => 'Netmehr beobachte …',
+
+'enotif_reset' => 'Alle Seite wie besucht markiere',
+'enotif_impersonal_salutation' => '{{SITENAME}}-Benutzer',
+'enotif_subject_deleted' => '{{SITENAME}}-Seit $1 woard von {{GENDER:$2|$2}} abgewischt',
+'enotif_subject_created' => '{{SITENAME}}-Seit $1 woard von {{GENDER:$2|$2}} erstellt',
+'enotif_subject_moved' => '{{SITENAME}}-Seit $1 woard von {{GENDER:$2|$2}} verschob',
+'enotif_subject_restored' => '{{SITENAME}}-Seit $1 woard von {{GENDER:$2|$2}} wiederheargestellt',
+'enotif_subject_changed' => '{{SITENAME}}-Seit $1 woard von {{GENDER:$2|$2}} geännert',
+'enotif_body_intro_deleted' => 'Die {{SITENAME}}-Seit $1 woard am $PAGEEDITDATE von {{GENDER:$2|$2}} abgewischt. Sieh $3.',
+'enotif_body_intro_created' => 'Die {{SITENAME}}-Seit $1 woard am $PAGEEDITDATE von {{GENDER:$2|$2}} erstellt. Sieh $3 für die aktuelle Version.',
+'enotif_anon_editor' => 'Anonymer Benutzer $1',
+
+# Delete
+'deletepage' => 'Seite abwische',
+'confirm' => 'Bestätich',
+'excontent' => 'Inhalt woor: "$1"',
+'exblank' => 'Seit woor leer',
+'delete-confirm' => 'Abwische von „$1“',
+'delete-legend' => 'Abwische',
+'actioncomplete' => 'Aktion beennet',
+'actionfailed' => 'Aktion fehlgeschloohn',
+'dellogpage' => 'Lösch-Logbuch',
+'deletionlog' => 'Abwäsch-Logbuch',
+'reverted' => 'Uff en alte Version zurückgesetzt',
+'deletecomment' => 'Grund:',
+'deleteotherreason' => 'Annrer/ergänzender Grund:',
+'deletereasonotherlist' => 'Annrer Grund',
+'delete-edit-reasonlist' => 'Abwischgründe beoorbeite',
+
+# Rollback
+'rollback' => 'Zurücksetze von der Ännrunge',
+'rollback_short' => 'Zurücksetze',
+'rollbacklink' => 'Zurücksetze',
+'rollbackfailed' => 'Zurücksetze gescheitert',
+
+# Edit tokens
+'sessionfailure-title' => 'Sitzungsfehler',
+
+# Protect
+'protectlogpage' => 'Seiteschutz-Logbuch',
+'protectedarticle' => 'geschützt „[[$1]]“',
+'protect-badnamespace-title' => 'Net-schützbarer Noomeraum',
+'protect-badnamespace-text' => 'Seite von dem Noomeraums könne net geschützt sin.',
+'protect-norestrictiontypes-text' => 'Die Seit kann net geschützt sin, weil ken Beschränkungstype verfüchbar sind.',
+'protect-norestrictiontypes-title' => 'Seite net schützbar',
+'protect-legend' => 'Seiteschutzstatus ännre',
+'protectcomment' => 'Grund:',
+'protectexpiry' => 'Sperrdauer:',
+'protect_expiry_invalid' => 'Die ingebne Dauer ist ungültich.',
+'protect_expiry_old' => 'Die Sperrzeit lieht in der Vergangheit.',
+'protect-unchain-permissions' => 'Separate Sperroptione aktiviere',
+'protect-text' => 'Hier kannst du den Schutzstatus der Seite "$1" insiehn und ännre.',
+'protect-default' => 'Alle Benutzer',
+'protect-level-sysop' => 'Nuar Administratore erlaube',
+'protect-summary-cascade' => 'kaskadierend',
+'protect-expiring' => 'bis $2, $3 Uhr (UTC)',
+'protect-expiring-local' => 'bis $1',
+'protect-expiry-indefinite' => 'unbeschränkt',
+'protect-cascade' => 'Kaskadierende Sperre – alle in die Seite eingebundne Voarlooche werre ewefalls gesperrt.',
+'protect-cantedit' => 'Du kannst die Sperr von der Seit net ännre, weil du ken Berechtichung zum Beoorbeite von der Seit host.',
+'protect-othertime' => 'Anner Sperrdauer:',
+'protect-othertime-op' => 'anner Sperrdauer',
+'protect-existing-expiry' => 'Aktuelles Seiteschutzend: $2, $3 Uhr',
+'protect-otherreason' => 'Annre/ergänzender Grund:',
+'protect-otherreason-op' => 'Annrer Grund',
+'restriction-type' => 'Schutzstatus:',
+'restriction-level' => 'Schutzhöch:',
+'minimum-size' => 'Mindestgröss',
+'maximum-size' => 'Maximalgröss:',
+'pagesize' => '(Bytes)',
+
+# Restrictions (nouns)
+'restriction-edit' => 'Beoorbeite',
+'restriction-move' => 'Verschiebe',
+'restriction-create' => 'Erstell',
+'restriction-upload' => 'Hochlood',
+
+# Restriction levels
+'restriction-level-sysop' => 'geschützt (nuar Administratore)',
+'restriction-level-autoconfirmed' => 'geschützt (nuar oongemeldete, net neie Benutzer)',
+'restriction-level-all' => 'alle',
+
+# Undelete
+'undelete' => 'Abgewischte Seite oonzeiche',
+'undeletepage' => 'Abgewischte Seite oonzeichr und wiederhearstelle',
+'viewdeletedpage' => 'Abgewischte Seite oonzeiche',
+'undelete-fieldset-title' => 'Wiederhearstelle',
+'undelete-nodiff' => 'Ken voarhergehend Version voarhand.',
+'undeletebtn' => 'Wiederherstelle',
+'undeletelink' => 'oonsiehn/wiederherstelle',
+'undeleteviewlink' => 'oongucke',
+'undeleteinvert' => 'Auswahl umkehre',
+'undeletecomment' => 'Grund:',
+'cannotundelete' => 'Die Wiederhearstellung ist fehlgeschlooht:
+$1',
+'undelete-search-title' => 'Noh abgewischte Seite suche',
+'undelete-search-box' => 'Noh abgewischte Seite suche',
+'undelete-search-prefix' => 'Suchbegriff (Wortoonfang ohne Wildcards):',
+'undelete-search-submit' => 'Such',
+'undelete-no-results' => 'Do woard im Archiv ken zum Suchbegriff passend Seit gefund.',
+'undelete-error' => 'Beim Wiederhearstelle von der Seit ist en Fehler uffgetret.',
+'undelete-error-short' => 'Fehler beim Wiederhearstell von der Datei $1',
+'undelete-show-file-submit' => 'Jo',
+
+# Namespace form on various pages
+'namespace' => 'Noomeraum:',
+'invert' => 'Auswoohl umkehre',
+'namespace_association' => 'Zugehöricher Noomeraum',
+'blanknamespace' => '(Seite)',
+
+# Contributions
+'contributions' => '{{GENDER:$1|Benutzerbeiträche}}',
+'contributions-title' => 'Benutzerbeiträche von „$1“',
+'mycontris' => 'Beiträche',
+'contribsub2' => 'Von {{GENDER:$3|$1}} ($2)',
+'uctop' => '(aktuell)',
+'month' => 'und Monat:',
+'year' => 'bis Joahr (und früher):',
+
+'sp-contributions-newbies' => 'Zeich nuar Beiträche von neier Benutzer',
+'sp-contributions-newbies-sub' => 'Von neie Benutzer',
+'sp-contributions-newbies-title' => 'Benutzerbeiträch von neie Benutzer',
+'sp-contributions-blocklog' => 'Sperr-Logbuch',
+'sp-contributions-deleted' => 'Abgewischt Beiträch',
+'sp-contributions-uploads' => 'Hochgeloodne Dateie',
+'sp-contributions-logs' => 'Logbücher',
+'sp-contributions-talk' => 'Diskussion',
+'sp-contributions-userrights' => 'Benutzerrechteverwaltung',
+'sp-contributions-search' => 'Such noh Benutzerbeiträche',
+'sp-contributions-suppresslog' => 'Unnerdrückte Benutzerbeiträch',
+'sp-contributions-username' => 'IP-Adress orrer Benutzernoome:',
+'sp-contributions-toponly' => 'Nuar aktuelle Versione zeiche',
+'sp-contributions-newonly' => 'Nuar Seitererstellunge oonzeiche',
+'sp-contributions-submit' => 'Such',
+
+# What links here
+'whatlinkshere' => 'Links uff die Seit',
+'whatlinkshere-title' => 'Seite, die uff "$1" verlinke',
+'whatlinkshere-page' => 'Seit:',
+'linkshere' => "Die follichende Seite verlinke uff '''\"[[:\$1]]\"''':",
+'nolinkshere' => "Ken Seit verlinkt uff '''„[[:$1]]“'''.",
+'isredirect' => 'Weiterleitungsseit',
+'istemplate' => 'Voarlooche-einbinnunge (transclusões)',
+'isimage' => 'Dateilink',
+'whatlinkshere-prev' => '{{PLURAL:$1|voarhericher|voarheriche $1}}',
+'whatlinkshere-next' => '{{PLURAL:$1|nächster|nächste $1}}',
+'whatlinkshere-links' => '← Links',
+'whatlinkshere-hideredirs' => 'Weiterleitunge $1',
+'whatlinkshere-hidetrans' => 'Voarlooche-einbinnunge (transclusões) $1',
+'whatlinkshere-hidelinks' => 'Links $1',
+'whatlinkshere-hideimages' => 'Dateilinks $1',
+'whatlinkshere-filters' => 'Filter',
+
+# Block/unblock
+'autoblockid' => 'Automatisch Sperrung #$1',
+'block' => 'Benutzer sperre',
+'unblock' => 'Benutzer frei mache',
+'blockip' => 'IP-Adress/Benutzer sperre',
+'blockip-legend' => 'IP-Adress/Benutzer sperre',
+'ipadressorusername' => 'IP-Adress orrer Benutzernoome:',
+'ipbexpiry' => 'Sperrdauer:',
+'ipbreason' => 'Grund:',
+'ipbcreateaccount' => 'Erstellung von Benutzerkonte verhinnre',
+'ipbsubmit' => 'IP-Adress/Benutzer sperre',
+'ipbother' => 'Annr Dauer:',
+'ipboptions' => '2 Stunne:2 hours,1 Tooch:1 day,3 Tooch:3 days,1 Woch:1 week,2 Woche:2 weeks,1 Monat:1 month,3 Monate:3 months,6 Monate:6 months,1 Joahr:1 year,unbeschränkt:infinite',
+'ipb-confirm' => 'Sperrung bestätiche',
+'badipaddress' => 'Die IP-Adress hot en falsches Format.',
+'blockipsuccesssub' => 'Die Sperrung woor erfollichreich.',
+'ipb-edit-dropdown' => 'Sperrgründe beoorbeite',
+'ipb-unblock-addr' => '„$1“ freigebe (mache)',
+'ipb-blocklist' => 'Alle aktuelle Sperre oonzeiche',
+'ipb-blocklist-contribs' => 'Benutzerbeiträche von "$1"',
+'unblockip' => 'Benutzer frei mache',
+'ipusubmit' => 'Freigewe (frei mache)',
+'unblocked' => '[[User:$1|$1]] woard freigeb (gemacht)',
+'unblocked-range' => 'Sperr für $1 woard uffgehob',
+'blocklist' => 'Gesperrte Benutzer',
+'ipblocklist' => 'Gesperrte Benutzer',
+'ipblocklist-legend' => 'Such noh en gesperrte Benutzer',
+'blocklist-userblocks' => 'Benutzersperre ausblende (verstecke)',
+'blocklist-tempblocks' => 'Befristete Sperre ausblende (verstecke)',
+'blocklist-addressblocks' => 'Sperre einzelner IP-Adresse ausblende (verstecke)',
+'blocklist-rangeblocks' => 'Bereichssperre ausblende (verstecke)',
+'blocklist-timestamp' => 'Zeitstempel',
+'blocklist-target' => 'Ziel',
+'blocklist-expiry' => 'Sperrdauer bis',
+'blocklist-by' => 'Gesperrt von',
+'blocklist-params' => 'Sperrparameter',
+'blocklist-reason' => 'Grund',
+'ipblocklist-submit' => 'Suche',
+'ipblocklist-localblock' => 'Lokal Sperre',
+'ipblocklist-otherblocks' => 'Annrer {{PLURAL:$1|Sperr|Sperre}}',
+'infiniteblock' => 'unbegrenzt',
+'expiringblock' => 'tut enne am $1 um $2 Uhr',
+'anononlyblock' => 'nuar Anonyme',
+'noautoblockblock' => 'Autoblock deaktiviert',
+'createaccountblock' => 'Erstellung von Benutzerkonte gesperrt',
+'emailblock' => 'E-Mail-Versand gesperrt',
+'blocklist-nousertalk' => 'därref eichne Diskussionsseit net beoorbeite',
+'ipblocklist-empty' => 'Die List enthält ken Einträche.',
+'ipblocklist-no-results' => 'Die gesuchte IP-Adress/der Benutzernoome ist net gesperrt.',
+'blocklink' => 'Sperre',
+'unblocklink' => 'Freigewe',
+'change-blocklink' => 'Sperre ännre',
+'contribslink' => 'Beiträche',
+'emaillink' => 'E-Mail sende',
+'blocklogpage' => 'Benutzersperr-Logbuch',
+'blocklogentry' => 'sperrte „[[$1]]“ für den Zeitraum: $2 $3',
+'unblocklogentry' => 'hob die Sperr von "$1" uff',
+'block-log-flags-anononly' => 'nuar Anonyme',
+'block-log-flags-nocreate' => 'Erstellung von Benutzerkonte gesperrt',
+'block-log-flags-noautoblock' => 'Autoblock deaktiviert',
+'block-log-flags-noemail' => 'E-Mail-Versand gesperrt',
+'block-log-flags-nousertalk' => 'därref eichne Diskussionsseit net beoorbeite',
+'block-log-flags-angry-autoblock' => 'erweiterter Autoblock aktiviert',
+'block-log-flags-hiddenname' => 'Benutzernoome versteckt',
+'range_block_disabled' => 'Die Möchlichkeit, ganze Adressräume zu sperre, ist net aktiviert.',
+'ipb_expiry_invalid' => 'Die eingebne Dauer ist ungültich.',
+'ipb_expiry_temp' => 'Benutzernoome-Sperre mit der Verstecke-Option müsse permanent sin.',
+'ip_range_invalid' => 'Ungülticher IP-Adressbereich.',
+'proxyblocker' => 'Proxy blocker',
+
+# Developer tools
+'lockdb' => 'Datebank sperre',
+'unlockdb' => 'Datebank freigebe (mache)',
+'lockconfirm' => 'Jo, ich möcht die Datebank sperre.',
+'unlockconfirm' => 'Jo, ich möcht die Datebank entblocke.',
+'lockbtn' => 'Datebank sperre',
+'unlockbtn' => 'Datebank freigebe (mache)',
+'locknoconfirm' => 'Du host das Bestätichungsfeld net markiert.',
+'lockdbsuccesssub' => 'Datebank woard erfollichreich gesperrt',
+'unlockdbsuccesssub' => 'Datebank woard erfollichreich freigemacht (entblockt)',
+'unlockdbsuccesstext' => 'Die {{SITENAME}}-Datebank woard freigeb (gemacht).',
+'databasenotlocked' => 'Die Datebank ist net gesperrt.',
+'lockedbyandtime' => '(von $1 am $2 um $3 Uhr)',
+
+# Move page
+'move-page' => 'Verschiebe von "$1"',
+'move-page-legend' => 'Seit verschiebe',
+'movearticle' => 'Seit verschiebe:',
+'movenotallowed' => 'Du host net die erforderliche Berechtichung, um Seite verschiebe zu könne.',
+'newtitle' => 'Ziel (zu neie Titel):',
+'move-watch' => 'Quell- und Zielseit beobachte',
+'movepagebtn' => 'Seit verschiebe',
+'pagemovedsub' => 'Verschiebung erfollichreich',
+'movepage-moved-redirect' => 'En Weiterleitung woard erstellt.',
+'movepage-moved-noredirect' => 'Die Erstellung von en Weiterleitung woard unnerdrückt.',
+'articleexists' => 'Unner dem Noome existiert schon en Seit. Bittschön wähl en annre Noome.',
+'movelogpage' => 'Verschiebungs-Logbuch',
+'movereason' => 'Grund:',
+'revertmove' => 'zurück verschiebe',
+'delete_and_move' => 'Abwische und verschiebe',
+'delete_and_move_confirm' => 'Jo, Seit abwische',
+'immobile-source-page' => 'Die Seit ist net verschiebbar.',
+'immobile-target-page' => 'Es kann net uff die Zielseit verschob sin.',
+'move-leave-redirect' => 'Weiterleitung erstelle',
+
+# Export
+'export' => 'Seite exportiere',
+'exportall' => 'Alle Seite exportiere',
+'export-submit' => 'Seite exportiere',
+'export-addcattext' => 'Seite aus follichender Kategorie hinzufüche:',
+'export-addcat' => 'Hinzufüche',
+'export-addnstext' => 'Seite aus follichendem Noomeraum hinzufüche:',
+'export-addns' => 'Hinzufüche',
+'export-download' => 'Wie XML-Datei speichre',
+'export-templates' => 'Inklusive Vorlooche',
+'export-pagelinks' => 'Verlinkte Seite automatisch mit exportiere, bis zur Rekursionstiefe von:',
+
+# Namespace 8 related
+'allmessages' => 'MediaWiki-Systemnachrichte',
+'allmessagesname' => 'Noome',
+'allmessagesdefault' => 'Standardtext',
+'allmessagescurrent' => 'Aktueller Text',
+'allmessages-filter-legend' => 'Filter',
+'allmessages-filter' => 'Filter für oongepasst Zustand:',
+'allmessages-filter-unmodified' => 'Unverännert',
+'allmessages-filter-all' => 'Alle',
+'allmessages-filter-modified' => 'Geännert',
+'allmessages-prefix' => 'Präfixfilter:',
+'allmessages-language' => 'Sproch:',
+'allmessages-filter-submit' => 'Geh, los',
+'allmessages-filter-translate' => 'Üwersetze',
+
+# Thumbnails
+'thumbnail-more' => 'vergrösser',
+'filemissing' => 'Datei fehlt',
+'thumbnail_error' => 'Fehler beim Erstelle von der Voarschaubild: $1',
+'thumbnail_error_remote' => 'Fehlermeldung von $1:
+$2',
+'djvu_page_error' => 'DjVu-Seit ausserhalleb von der Seitbereich',
+'thumbnail_invalid_params' => 'Ungültiche Thumbnail-Parameter',
+'thumbnail_dest_directory' => 'Zielverzeichnis kann net erstellt sin.',
+'thumbnail_image-type' => 'Bildtyp net unnersteetzt',
+'thumbnail_gd-library' => 'Unvollständiche Konfiguration von der GD-Bibliothek: Fehlende Funktion $1',
+'thumbnail_image-missing' => 'Datei scheint fehlend zu sin: $1',
+
+# Special:Import
+'import' => 'Seite importiere',
+'importinterwiki' => 'Transwiki-Import',
+'import-interwiki-source' => 'Quell-Wiki/-Seit:',
+'import-interwiki-history' => 'Alle Versione von der Seit importiere',
+'import-interwiki-templates' => 'Alle Vorlooche einschliesse',
+'import-interwiki-submit' => 'Importiere',
+'import-interwiki-namespace' => 'Zielnoomeraum:',
+'import-upload-filename' => 'Dateinoome:',
+'import-comment' => 'Grund:',
+'importstart' => 'Importiere Seite …',
+'importnopages' => 'Ken Seit zum Importiere voarhand.',
+'importunknownsource' => 'Unbekannte Importquell',
+'importcantopen' => 'Importdatei konnt net geöffnet sin',
+'importbadinterwiki' => 'Falscher Interwiki-Link',
+'importnotext' => 'Leer oder ken Text',
+'importsuccess' => 'Import abgeschloss.',
+'importnofile' => 'Es ist ken Importdatei ausgewählt worre.',
+'import-parse-failure' => 'Fehler beim XML-Import:',
+'import-noarticle' => 'Do woard ken zu importierend Seit oongeb!',
+'import-upload' => 'XML-Dateie importiere',
+
+# Import log
+'importlogpage' => 'Import-Logbuch',
+'import-logentry-interwiki' => 'importierte "$1" (Transwiki)',
+'import-logentry-interwiki-detail' => '$1 {{PLURAL:$1|Version|Versione}} von $2',
+
+# JavaScriptTest
+'javascripttest' => 'JavaScript-Test',
+'javascripttest-title' => '$1-Tests werre doorrichgeführt',
+
+# Tooltip help for the actions
+'tooltip-pt-userpage' => 'Dein Benutzerseit',
+'tooltip-pt-mytalk' => 'Dein Diskussionsseit',
+'tooltip-pt-preferences' => 'Eichne Instellunge',
+'tooltip-pt-watchlist' => 'List von der beobachtete Seite',
+'tooltip-pt-mycontris' => 'List eichner Beiträche',
+'tooltip-pt-login' => 'Sich oonzumelde weard zwoor gern gesiehn, ist awer ken Flicht.',
+'tooltip-pt-logout' => 'Abmelde',
+'tooltip-ca-talk' => 'Diskussion zum Seiteinhalt',
+'tooltip-ca-edit' => 'Seit beoorbeite. Bitte voar dem Speichre die Voarschaufunktion benutze.',
+'tooltip-ca-addsection' => 'Neie Abschnitt oonfänge',
+'tooltip-ca-viewsource' => 'Die Seit ist geschützt. Ehr Quelltext kann dennoch oongesiehn und kopiert sin.',
+'tooltip-ca-history' => 'Frühre Versione von der Seit',
+'tooltip-ca-protect' => 'Die Seit schütze',
+'tooltip-ca-unprotect' => 'Seitschutz ännre',
+'tooltip-ca-delete' => 'Die Seit lösche',
+'tooltip-ca-move' => 'Die Seit verschiebe',
+'tooltip-ca-watch' => 'Die Seit zur persönliche Beobachtungslist hinzufüche',
+'tooltip-ca-unwatch' => 'Die Seit von persönliche Beobachtungslist entferne',
+'tooltip-search' => '{{SITENAME}} doorrichsuche',
+'tooltip-search-go' => 'Geh direkt zu der Seit, wo exakt dem ingebne Noome entsprecht.',
+'tooltip-search-fulltext' => 'Such noh Seite, wo den Text enthalle',
+'tooltip-p-logo' => 'Hauptseit',
+'tooltip-n-mainpage' => 'Hauptseit',
+'tooltip-n-mainpage-description' => 'Hauptseit',
+'tooltip-n-portal' => 'Üwer das Projekt, was du tun kannst, wo was zu finne ist',
+'tooltip-n-currentevents' => 'Hinnergrundinformatione zu aktuelle Ereichnisse',
+'tooltip-n-recentchanges' => 'List von der letzte Ändrunge in {{SITENAME}}',
+'tooltip-n-randompage' => 'Zufälliche Seit uffrufe',
+'tooltip-n-help' => 'Hellefseit oonzeiche',
+'tooltip-t-whatlinkshere' => 'List von aller Seite, wo hierher verlinken',
+'tooltip-t-recentchangeslinked' => 'Letzt Ännrunge an Seite, wo von hier verlinkt sind',
+'tooltip-feed-atom' => 'Atom-Feed die Seit',
+'tooltip-t-contributions' => 'List von dem Benutzer sein Beiträche oonsiehn',
+'tooltip-t-emailuser' => 'En E-Mail an den Benutzer sende',
+'tooltip-t-upload' => 'Dateie hochloode',
+'tooltip-t-specialpages' => 'List aller Spezialseite',
+'tooltip-t-print' => 'Druckoonsicht von der Seit',
+'tooltip-t-permalink' => 'Dauerhafter Link zu der Seiteversion',
+'tooltip-ca-nstab-main' => 'Seiteinhalt oonzeiche',
+'tooltip-ca-nstab-user' => 'Benutzerseite oonzeiche',
+'tooltip-ca-nstab-media' => 'Mediedateieseit oonzeiche',
+'tooltip-ca-nstab-special' => 'Das ist en Spezialseit. Die kann net beoorbeitet sin.',
+'tooltip-ca-nstab-project' => 'Portalseit oonzeiche',
+'tooltip-ca-nstab-image' => 'Dateiseit oonzeiche',
+'tooltip-ca-nstab-mediawiki' => 'MediaWiki-Systemtext oonzeiche',
+'tooltip-ca-nstab-template' => 'Voarlooche oonzeiche',
+'tooltip-ca-nstab-help' => 'Hellefseit oonzeiche',
+'tooltip-ca-nstab-category' => 'Kategorieseit oonzeiche',
+'tooltip-minoredit' => 'Die Ännrung als klen markiere.',
+'tooltip-save' => 'Ändrunge speichre',
+'tooltip-preview' => 'Voarschau von der Ändrunge an die Seit. Bitte voar dem Speichre benutze!',
+'tooltip-diff' => 'Ännrunge am Text zeiche',
+'tooltip-compareselectedversions' => 'Unnerschied zwischich zwooi ausgewählte Versione von der Seit oonzeiche',
+'tooltip-watch' => 'Die Seit zu deiner Beobachtungslist hinzufüche',
+'tooltip-watchlistedit-normal-submit' => 'Einträche entferne',
+'tooltip-watchlistedit-raw-submit' => 'Beobachtungsliste aktualisiere',
+'tooltip-recreate' => 'Seit nei erstelle, obwohl die abgewischt woard',
+'tooltip-upload' => 'Hochloode oonfänge',
+'tooltip-rollback' => '"Retuar" macht all die letzte Seit Ännrunge, wo vom letzte Benutzer gemach sind worre, nuar doorirch ene Klick komplet rückgängich.',
+'tooltip-undo' => '"Umwerfe" Macht ledichlich die en Ännrung rückgängich und zeicht das Resultoot in der Vorschau an, domit in der Zusammenfassungszeil, im Summarium, en Begründung oongeb sin kann.',
+'tooltip-preferences-save' => 'Einstellunge speichre',
+'tooltip-summary' => 'Tue en koorz Zusammerfassung ren gewe.',
+
+# Attribution
+'others' => 'annre',
+'creditspage' => 'Seiteinformatione',
+'nocredits' => 'Für die Seit sind ken Informatione voarhand.',
+
+# Spam protection
+'spamprotectiontitle' => 'Spamschutzfilter',
+
+# Info page
+'pageinfo-header-basic' => 'Basisinformatione',
+'pageinfo-header-edits' => 'Beoorbeitungsgeschicht',
+'pageinfo-header-restrictions' => 'Seiteschutz',
+'pageinfo-header-properties' => 'Seiteeigenschafte',
+'pageinfo-display-title' => 'Oonzeichtitel',
+'pageinfo-default-sort' => 'Standardsortierschlüssel',
+'pageinfo-length' => 'Seitelänge (in Bytes)',
+'pageinfo-article-id' => 'Seitekennnummer',
+'pageinfo-language' => 'Seiteinhaltssproch',
+'pageinfo-content-model' => 'Seiteinhaltsmodell',
+'pageinfo-robot-policy' => 'Indizierung doorrich Suchmaschine',
+'pageinfo-robot-index' => 'Erlaubt',
+'pageinfo-robot-noindex' => ' Net erlaubt',
+'pageinfo-views' => 'Oonzoohl von der Seiteuffrufe',
+'pageinfo-watchers' => 'Oonzoohl von der Seit ehr Beobachter',
+'pageinfo-few-watchers' => 'Wenicher wie {{PLURAL:$1|ein|$1}} Beobachter',
+'pageinfo-redirects-name' => 'Oonzoohl von der Weiterleitunge zu der Seit',
+'pageinfo-subpages-name' => 'Unnerseite von der Seit',
+'pageinfo-firstuser' => 'Seiteersteller',
+'pageinfo-firsttime' => 'Datum von der Seiteerstellung',
+'pageinfo-lastuser' => 'Letzter Bearbeiter',
+'pageinfo-lasttime' => 'Datum von der letzte Bearbeitung',
+'pageinfo-edits' => 'Gesamtzoohl von der Beoorbeitunge',
+'pageinfo-authors' => 'Gesamtzoohl unnerschiedlicher Autore',
+'pageinfo-recent-edits' => 'Anzoohl von der kürzlich erfollichte Beoorbeitung (innerhalleb von der letzte $1)',
+'pageinfo-toolboxlink' => 'Seiteinformatione',
+'pageinfo-redirectsto' => 'Weiterleitunge noh',
+'pageinfo-redirectsto-info' => 'Information',
+'pageinfo-contentpage' => 'Gezählt wie en Inhaltsseit',
+'pageinfo-contentpage-yes' => 'Jo',
+'pageinfo-protect-cascading' => 'Seite mit Kaskadeschutz von hier',
+'pageinfo-protect-cascading-yes' => 'Jo',
+'pageinfo-protect-cascading-from' => 'Seite mit Kaskadeschutz von',
+'pageinfo-category-info' => 'Kategorieinformatione',
+'pageinfo-category-pages' => 'Anzoohl  von der Seite',
+'pageinfo-category-subcats' => 'Anzoohl von der Unnerkategoriee',
+'pageinfo-category-files' => 'Oonzoohl von der Dateie',
+
+# Patrolling
+'markaspatrolleddiff' => 'Wie kontrolliert markiere',
+'markedaspatrolled' => 'Wie kontrolliert markiert',
+
+# Patrol log
+'patrol-log-page' => 'Kontroll-Logbuch',
+
+# Browsing diffs
+'previousdiff' => '← Zum voarherichen Versionsunnerschied',
+'nextdiff' => 'Zum nächste Versionsunnerschied →',
+
+# Media information
+'file-info-size' => '$1 × $2 Pixel, Dateigröss: $3, MIME-Typ: $4',
+'file-nohires' => 'Ken höchre Ufflösun voarhand.',
+'svg-long-desc' => 'SVG-Datei, Basisgröss: $1 × $2 Pixel, Dateigröss: $3',
+'show-big-image' => 'Originaldatei',
+'file-info-gif-looped' => 'Endlosschleif',
+
+# Special:NewFiles
+'newimages-legend' => 'Filter',
+'newimages-label' => 'Dateinoome (orrer ein Tel davon):',
+'showhidebots' => '(Bots $1)',
+
+# Video information, used by Language::formatTimePeriod() to format lengths in the above messages
+'ago' => 'vor $1',
+'just-now' => 'grood ewe',
+
+# Human-readable timestamps
+'monday-at' => 'Montach um $1',
+'tuesday-at' => 'Dienstach um $1',
+'wednesday-at' => 'Mittwoch um $1',
+'thursday-at' => 'Donnerstach um $1',
+'friday-at' => 'Freitach um $1',
+'saturday-at' => 'Samstach um $1',
+'sunday-at' => 'Sonntach um $1',
+'yesterday-at' => 'Gester um $1',
+
+# Bad image list
+'bad_image_list' => 'Format:
+
+Nuar Zeile, wo mit enem * oonfang, werre ausgewertet. Als earstes noh dem * muss en Link uff en unerwünschte Datei stehn.
+Druff follichende Seitelinks in derselwe Zeile definiere Ausnoohme, in dene ehre Kontext die Datei trotzdem erscheine därref.',
+
+# Metadata
+'metadata' => 'Metadate',
+'metadata-help' => 'Die Datei enthält weitre Informatione, wo in der Rechel von der Digitalkamera orrer dem verwennete Scanner stämme. Doorrich nohträchliche Beoorbeitung von der Originaldatei könne etliche Detalhes verännert gewes sin.',
+'metadata-expand' => 'Erweiterte Detalhes inblende  (zeiche)',
+'metadata-collapse' => 'Erweiterte Detalhes ausblende (verstecke)',
+'metadata-fields' => 'Die follichende Felder von der EXIF-Metadate, wo in dem MediaWiki-Systemtext oongeb sind, werre uff Bildbeschreibungsseite mit ingeklappter Metadatetabelle oongezeicht.
+Weitre werre standardmässich net oongezeicht.
+* make
+* model
+* datetimeoriginal
+* exposuretime
+* fnumber
+* isospeedratings
+* focallength
+* artist
+* copyright
+* imagedescription
+* gpslatitude
+* gpslongitude
+* gpsaltitude',
+
+# Exif tags
+'exif-imagewidth' => 'Breit',
+'exif-imagelength' => 'Höch',
+'exif-bitspersample' => 'Bits por Farrebkomponent',
+'exif-compression' => 'Oort von der Kompression',
+'exif-photometricinterpretation' => 'Pixelzusammersetzung',
+'exif-orientation' => 'Kameraausrichtung',
+'exif-samplesperpixel' => 'Oonzoohl von Komponente',
+'exif-planarconfiguration' => 'Dateausrichtung',
+'exif-ycbcrsubsampling' => 'Subsampling Rate von Y bis C',
+'exif-ycbcrpositioning' => 'Y und C Positionierung',
+'exif-xresolution' => 'Horizontale Auflösung',
+'exif-yresolution' => 'Vertikale Auflösung',
+'exif-stripoffsets' => 'Bilddate-Versatz',
+'exif-rowsperstrip' => 'Oonzoohl Zeile por Streife',
+'exif-stripbytecounts' => 'Bytes por komprimiertem Streif',
+'exif-jpeginterchangeformat' => 'Offset zu JPEG SOI',
+'exif-jpeginterchangeformatlength' => 'Gröss von der JPEG-Date in Bytes',
+'exif-whitepoint' => 'Manuell mit Messung',
+'exif-primarychromaticities' => 'Primäre Farreboort',
+'exif-ycbcrcoefficients' => 'YCbCr-Koeffiziente',
+'exif-referenceblackwhite' => 'Schwarz/Weiß-Referenzpunkte',
+'exif-datetime' => 'Speicherzeitpunkt',
+'exif-imagedescription' => 'Bildtitel',
+'exif-make' => 'Hearsteller',
+'exif-model' => 'Modell',
+'exif-software' => 'Software',
+'exif-artist' => 'Fotograf',
+'exif-copyright' => 'Uarheberrechte (Copyright halter)',
+'exif-exifversion' => 'Exif-Version',
+'exif-flashpixversion' => 'nterstützte Flashpix-Version',
+'exif-colorspace' => 'Farrebraum',
+'exif-componentsconfiguration' => 'Bedeitung einzelner Komponente',
+'exif-compressedbitsperpixel' => 'Komprimierte Bits por Pixel',
+'exif-pixelydimension' => 'Bildbreit',
+'exif-pixelxdimension' => 'Bildhöch',
+'exif-usercomment' => 'Benutzerkommentare',
+'exif-relatedsoundfile' => 'Zugehöriche Tondatei',
+'exif-datetimeoriginal' => 'Erfassungszeitpunkt',
+'exif-datetimedigitized' => 'Digitalisierungszeitpunkt',
+'exif-subsectime' => 'Speicherzeitpunkt (1/100 s)',
+'exif-subsectimeoriginal' => 'Erfassungszeitpunkt (1/100 s)',
+'exif-subsectimedigitized' => 'Digitalisierungszeitpunkt (1/100 s)',
+'exif-exposuretime' => 'Belichtungsdauer',
+'exif-exposuretime-format' => '$1 Sekunde ($2)',
+'exif-fnumber' => 'Blend (Englisch: F Number)',
+'exif-exposureprogram' => 'Belichtungsprogramm',
+'exif-spectralsensitivity' => 'Spectral Sensitivity',
+'exif-isospeedratings' => 'Film- orrer Sensoremfindlichkeit (ISO)',
+'exif-shutterspeedvalue' => 'APEX-Belichtungszeitwert',
+'exif-aperturevalue' => 'APEX-Blendenweart',
+'exif-brightnessvalue' => 'APEX-Helligkeitsweart',
+'exif-exposurebiasvalue' => 'Belichtungsvorgab',
+'exif-maxaperturevalue' => 'Grösste Blend',
+'exif-subjectdistance' => 'Entfernung',
+'exif-meteringmode' => 'Messverfoohre',
+'exif-lightsource' => 'Lichtquell',
+'exif-flash' => 'Blitz',
+'exif-focallength' => 'Brennweit',
+'exif-subjectarea' => 'Bereich',
+'exif-flashenergy' => 'Blitzstärrek',
+'exif-focalplanexresolution' => 'Sensorauflösung horizontal',
+'exif-focalplaneyresolution' => 'Sensorauflösung vertikal',
+'exif-focalplaneresolutionunit' => 'Einheit von der Sensorauflösung',
+'exif-subjectlocation' => 'Motivstandplatz',
+'exif-exposureindex' => 'Belichtungsindex',
+'exif-sensingmethod' => 'Messmethode',
+'exif-filesource' => 'Quell von der Datei',
+'exif-scenetype' => 'Szenetyp',
+'exif-customrendered' => 'Benutzerdefiniert Bildveroorbeitung',
+'exif-exposuremode' => 'Belichtungsmodus',
+'exif-whitebalance' => 'Weissabgleich',
+'exif-digitalzoomratio' => 'Digitalzoom',
+'exif-focallengthin35mmfilm' => 'Brennweite (Klenbildäquivalent)',
+'exif-scenecapturetype' => 'Uffnoohmoort',
+'exif-gaincontrol' => 'Verstärkung',
+'exif-contrast' => 'Kontrast',
+'exif-saturation' => 'Sättichung',
+'exif-sharpness' => 'Schärref',
+'exif-devicesettingdescription' => 'Geräteinstellung',
+'exif-subjectdistancerange' => 'Motiventfernung',
+'exif-imageuniqueid' => 'Bild-ID',
+'exif-gpsversionid' => 'GPS-Tag-Version',
+'exif-gpslatituderef' => 'nördl. orrer südl. Breit',
+'exif-gpslatitude' => 'Geografische Breit',
+'exif-gpslongituderef' => 'östl. orrer westl. Länge',
+'exif-gpslongitude' => 'Geografische Länge',
+'exif-gpsaltituderef' => 'Bezuchshöch',
+'exif-gpsaltitude' => 'Höch',
+'exif-gpstimestamp' => 'GPS-Zeit',
+'exif-gpssatellites' => 'Für die Messung benutzte Satellite',
+'exif-gpsstatus' => 'Emfängerstatus',
+'exif-gpsmeasuremode' => 'Messverfoohre',
+'exif-gpsdop' => 'Messgenauigkeit',
+'exif-gpsspeedref' => 'Geschwindichkeitseinheit',
+'exif-gpsspeed' => 'Geschwindichkeit von des GPS-Empfänger',
+'exif-gpstrackref' => 'Referenz für Bewechungsrichtung',
+'exif-gpstrack' => 'Bewechungsrichtung',
+'exif-gpsimgdirectionref' => 'Referenz für das Bild sein Ausrichtung',
+'exif-gpsimgdirection' => 'Bildrichtung',
+'exif-gpsmapdatum' => 'Geodätisches Referenzsystem benutzt',
+'exif-gpsdestlatituderef' => 'Referenz für die Breit',
+'exif-gpsdestlatitude' => 'Geografische Breit Zielpunkt',
+'exif-gpsdestlongituderef' => 'Referenz für die Läng',
+'exif-gpsdestlongitude' => 'Geografische Läng Zielpunkt',
+'exif-gpsdestbearingref' => 'Referenz für Motivrichtung',
+'exif-gpsdestbearing' => 'Motivrichtung',
+'exif-gpsdestdistanceref' => 'Referenz für die Motiventfernung',
+'exif-gpsdestdistance' => 'Motiventfernung',
+'exif-gpsprocessingmethod' => 'Noome von dem GPS-Verfoohr',
+'exif-gpsareainformation' => 'Noome von der GPS-Gebiete',
+'exif-gpsdatestamp' => 'GPS-Datum',
+'exif-gpsdifferential' => 'GPS-Differentialkorrektur',
+'exif-jpegfilecomment' => 'JPEG-Dateikommentar',
+'exif-keywords' => 'Stichwörter',
+'exif-worldregioncreated' => 'Weltregion in der das Foto uffgenomm woard',
+'exif-countrycreated' => 'Stoot in dem das Foto uffgenomm woard',
+'exif-countrycodecreated' => 'Code für den Stoot in dem das Foto uffgenomm woard',
+'exif-provinceorstatecreated' => 'Provinz orrer Gliedstoot in dem das Foto uffgenomm woard',
+'exif-citycreated' => 'Stadt in der das Foto uffgenomm woard',
+'exif-sublocationcreated' => 'Bereich der Stadt in der das Foto uffgenomm woard',
+'exif-worldregiondest' => 'Gezeichte Weltregione',
+'exif-countrydest' => 'Gezeichter Stoot',
+'exif-countrycodedest' => 'Code für den gezeichten Stoot',
+'exif-provinceorstatedest' => 'Gezeichte Provinz orrer oongezeichter Gliedstoot',
+'exif-citydest' => 'Gezeichte Stadt',
+'exif-sublocationdest' => 'Bereich der gezeichten Stadt',
+'exif-objectname' => 'Koorztitel',
+'exif-specialinstructions' => 'Besondre Oonweisunge',
+'exif-headline' => 'Titel',
+'exif-credit' => 'Noomenennung/Veröffentlicher',
+'exif-source' => 'Quell',
+'exif-editstatus' => 'Das Foto sein Redaktioneller Status',
+'exif-urgency' => 'Dringlichkeit',
+'exif-fixtureidentifier' => 'Kolumne',
+'exif-locationdest' => 'Dorgestellter Standplatz',
+'exif-locationdestcode' => 'Code für den dorgestellte Standplatz',
+'exif-objectcycle' => 'Veröffentlichungszeitraum im Verloof von (während) von en Tooch für den das Medium bestimmt ist',
+'exif-contact' => 'Kontaktinformatione',
+'exif-writer' => 'Verfasser',
+'exif-languagecode' => 'Sproch',
+'exif-iimversion' => 'IIM-Version',
+'exif-iimcategory' => 'Kategorie',
+'exif-iimsupplementalcategory' => 'Zusätzliche Kategorie',
+'exif-datetimeexpires' => 'Net verwenne noh',
+'exif-datetimereleased' => 'Veröffentlicht am',
+'exif-originaltransmissionref' => 'Code von das Standplatz von dem das Foto üwermittelt woard',
+'exif-identifier' => 'Kennung',
+'exif-lens' => 'Verwenntes Objektiv',
+'exif-serialnumber' => 'Der Kamera sein Serienummer',
+'exif-cameraownername' => 'Kamerabesitzer',
+'exif-label' => 'Bezeichnung',
+'exif-datetimemetadata' => 'Datum zu dem die Metadaten letztmoolich geännert woard',
+'exif-nickname' => 'Gebräichlicher Noome vons Foto',
+'exif-rating' => 'Beweartung (aus 5)',
+'exif-rightscertificate' => 'Rechteverwaltungszertifikat',
+'exif-copyrighted' => 'Uarheberrechtsstatus',
+'exif-copyrightowner' => 'Uarheberrechtsinhaber',
+'exif-usageterms' => 'Nutzungsbedingunge',
+'exif-webstatement' => 'Online-Uarheberrechtsangäb',
+'exif-originaldocumentid' => 'Eindeitiche Kennung von dem uarsprüngliche Dokument',
+'exif-licenseurl' => 'URL von der Uarheberrechtsangäb (Lizenz)',
+'exif-morepermissionsurl' => 'Alternative Lizenzinformatione',
+'exif-attributionurl' => 'Bei Weiterverwennung von das Werk, bittschön verlinke uff:',
+'exif-preferredattributionname' => 'Bei Weiterverwennung von das Werrek, bittschön benenne:',
+'exif-pngfilecomment' => 'PNG-Dateikommentar',
+'exif-disclaimer' => 'Haftungsausschluss',
+'exif-contentwarning' => 'Inhaltswarnung',
+'exif-intellectualgenre' => 'Der Medium sein Oort',
+'exif-subjectnewscode' => 'Themecode',
+'exif-scenecode' => 'IPTC-Oonsichtcode',
+'exif-event' => 'Dorgestelltes Ereichnis',
+'exif-organisationinimage' => 'Dorgestellte Organisation',
+'exif-personinimage' => 'Dorgestellte Person',
+'exif-originalimageheight' => 'Bildhöch voar dem Zuschnit',
+'exif-originalimagewidth' => 'Bildbreit voar dem Zuschnit',
+
+# Exif attributes
+'exif-compression-1' => 'Unkomprimiert',
+
+'exif-copyrighted-true' => 'Geschützt',
+'exif-copyrighted-false' => 'Uarheberrechtsstatus net festgeleht',
+
+'exif-unknowndate' => 'Unbekanntes Datum',
+
+'exif-orientation-1' => 'Normal',
+'exif-orientation-2' => 'Horizontal gespiechelt',
+'exif-orientation-3' => 'Um 180° gedreht',
+'exif-orientation-4' => 'Vertikal gespiechelt',
+'exif-orientation-5' => 'Entgeche dem Uahrzeichersinn um 90° gedreht und vertikal gespiechelt',
+'exif-orientation-6' => 'Um 90° entgeche dem Uahrzeichersinn gedreht',
+'exif-orientation-7' => 'Um 90° im Uahrzeigersinn gedreht und vertikal gespiechelt',
+'exif-orientation-8' => 'Um 90° im Uahrzeichersinn gedreht',
+
+'exif-planarconfiguration-1' => 'Grobformat',
+'exif-planarconfiguration-2' => 'Planarformat',
+
+'exif-colorspace-65535' => 'Net kalibriert',
+
+'exif-componentsconfiguration-0' => 'Existiert net',
+
+'exif-exposuremode-1' => 'Manuelle Belichtung',
+
+'exif-gaincontrol-0' => 'Ken',
+'exif-gaincontrol-1' => 'Gering',
+
+'exif-contrast-1' => 'Schwach',
+
+# 'all' in various places, this might be different for inflected languages
+'watchlistall2' => 'all',
+'namespacesall' => 'all',
+'monthsall' => 'all',
+
+# Watchlist editing tools
+'watchlisttools-view' => 'Beobachtungslist: Ännrunge',
+'watchlisttools-edit' => 'normal beoorbeite',
+'watchlisttools-raw' => 'im Listeformat beoorbeite (Import/Export)',
+
+# Core parser functions
+'duplicate-defaultsort' => 'Achtung: Der Sortierungsschlüssel „$2“ üwerschreibt den voarher verwenndte Schlüssel „$1“.',
+
+# Special:SpecialPages
+'specialpages' => 'Spezialseite',
+
+# External image whitelist
+'external_image_whitelist' => ' #Die Zeil net verännre.<pre>
+#Unnestehend könne Fragmente regulärer Ausdrücke (der Tel zwischich den //) ingeb werre.
+#Die werre mit den URLs von Bilder aus externe Quelle vergleicht.
+#En positiver Vergleich führt zur Oonzeiche von das Bild, annerfoolls weard das Bild nuar als Link oongezeicht.
+#Zeile, wo mit en # oonfänge, sin als Kommentar behandelt.
+#Es weard net zwischich Gross- und Klenschreibung unnerschied.
+
+#Fragmente regulärer Ausdrücke noh der Zeile introohn. Die Zeile net verännre.</pre>',
+
+# Special:Tags
+'tag-filter' => '[[Special:Tags|Markierungs]]-Filter:',
+
+);
index 2ff73a8..e3906b6 100644 (file)
@@ -402,7 +402,6 @@ $1',
 'disclaimers' => 'Licencne postajenja',
 'disclaimerpage' => 'Project:Impresum',
 'edithelp' => 'Pomoc za wobdźěłowanje',
-'helppage' => 'Help:Wobsah',
 'mainpage' => 'Hłowna strona',
 'mainpage-description' => 'Hłowna strona',
 'policy-url' => 'Project:Směrnicy',
@@ -854,12 +853,12 @@ Móžno, zo je so přesunył abo zhašał, mjeztym zo sej wobhladuješ stronu.',
 'accmailtitle' => 'Hesło bu pósłane.',
 'accmailtext' => "Připadnje spłodźene hesło za [[User talk:$1|$1]] bu na $2 pósłane. Daj so na stronje ''[[Special:ChangePassword|hesło změnić]]'' při přizjewjenju změnić.",
 'newarticle' => '(Nowy)',
-'newarticletext' => 'Sy wotkaz k stronje slědował, kotraž hišće njeeksistuje. Zo by stronu wutworił, wupjelń slědowace tekstowe polo (hlej [[{{MediaWiki:Helppage}}|stronu pomocy]] za dalše informacije). Jeli sy zmylnje tu, klikń prosće na tłóčatko <b>Wróćo</b> we swojim wobhladowaku.',
+'newarticletext' => 'Sy wotkaz k stronje slědował, kotraž hišće njeeksistuje. Zo by stronu wutworił, wupjelń slědowace tekstowe polo (hlej [$1 stronu pomocy] za dalše informacije). Jeli sy zmylnje tu, klikń prosće na tłóčatko <b>Wróćo</b> we swojim wobhladowaku.',
 'anontalkpagetext' => "---- ''To je diskusijna strona za anonymneho wužiwarja, kiž hišće konto wutworił njeje abo je njewužiwa. Dyrbimy tohodla numerisku IP-adresu wužiwać, zo bychmy jeho/ju identifikowali. Tajka IP-adresa hodźi so wot wjacorych wužiwarjow zhromadnje wužiwać. Jeli sy anonymny wužiwar a měniš, zo buchu irelewantne komentary k tebi pósłane, [[Special:UserLogin/signup|wutwor prošu konto]] abo [[Special:UserLogin|přizjew so]], zo by přichodnu šmjatańcu z anonymnymi wužiwarjemi wobešoł.''",
 'noarticletext' => 'Tuchwilu tuta strona žadyn tekst njewobsahuje. Móžeš [[Special:Search/{{PAGENAME}}|tutón titul strony na druhich stronach pytać]], <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} wotpowědne protokole pytać] abo [{{fullurl:{{FULLPAGENAME}}|action=edit}} tutu stronu wobdźěłać]</span>.',
 'noarticletext-nopermission' => 'Tuchwilu žadyn tekst na tutej stronje njeje.
 Móžeš [[Special:Search/{{PAGENAME}}|tutón titul strony]] na druhich stronach pytać abo <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} pytaj wotpowědne protokole]</span>, ale nimaš prawo, strou wutworić.',
-'missing-revision' => 'Wersija #$1 strony z mjenom "{{PAGENAME}}" njeeksistuje.
+'missing-revision' => 'Wersija #$1 strony z mjenom "{{FULLPAGENAME}}" njeeksistuje.
 
 Přičina je zwjetša zestarjeny wotkaz w stawiznach k stronje, kotraž je so zhašała.
 Podrobnosće móžeš w  [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} protokolu wušmórnjenjow] namakać.',
@@ -1084,8 +1083,9 @@ Móžeš sej tutón rozdźěl wobhladać; podrobnosće namakaš w [{{fullurl:{{#
 'revdelete-no-file' => 'Podata dataja njeeksistuje.',
 'revdelete-show-file-confirm' => 'Chceš sej woprawdźe wušmórnjenu wersiju dataje "<nowiki>$1</nowiki>" wot $2 $3  wobhladać?',
 'revdelete-show-file-submit' => 'Haj',
-'revdelete-selected' => "'''{{PLURAL:$2|Wubrana wersija|Wubranej wersiji|Wubrane wersije|Wubranych wersijow}} wot [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Wubrany zapisk z protokola|Wubranej zapiskaj z protokola|Wubrane zapiski z protokola|Wubrane zapiski z protokola}} za '''$1:''''''",
+'revdelete-selected-text' => '{{PLURAL:$1|Wubrana wersija|Wubranej wersiji|Wubrane wersije}} wot [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Wubrana datajowa wersija|Wubranej datajowej wersiji|Wubrane datajowe wersije}} wot [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|Wubrany zapisk z protokola|Wubranej zapiskaj z protokola|Wubrane zapiski z protokola}} za $1:',
 'revdelete-text-text' => 'Zhašane wersije wostanu hišće we wersijowej historiji, ale dźěle jich wobsaha njebudu přistupne zjawnosći.',
 'revdelete-text-file' => 'Zhašane datajowe wersije wostanu w datajowej historiji, ale dźěle jich wobsaha njebudu přistupne zjawnosći.',
 'logdelete-text' => 'Zhašane protokolowe zapiski wostanu hišće w protokolach, ale dźěle jich wobsaha njebudu přistupne zjawnosći.',
@@ -1945,6 +1945,11 @@ Snano chceš wopisanje na jeje [$2 stronje datajoweho wopisanja] wobdźěłać.'
 # List redirects
 'listredirects' => 'Lisćina daleposrědkowanjow',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Lisćina datajow z duplikatami',
+'listduplicatedfiles-summary' => 'To je lisćina datajow, hdźež najnowša wersija dataje je duplikat najnowšeje wersije někajkeje druheje dataje. Jenož lokalne dataje so wobkedźbuja.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] ma [[$3|{{PLURAL:$2|duplikat|$2 duplikataj|$2 duplikaty|$2 duplikatow}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Njewužiwane předłohi',
 'unusedtemplatestext' => 'Tuta strona nalistuje wšě strony w mjenowym rumje {{ns:template}}, kotrež so w druhich stronach njewužiwaja. Prošu přepruwuj druhe wotkazy k předłoham, prjedy hač je wušmórnješ.',
index e4e8feb..121e12b 100644 (file)
@@ -374,7 +374,6 @@ $1',
 'disclaimers' => 'Avètisman',
 'disclaimerpage' => 'Project:Avètisman jeneral yo',
 'edithelp' => 'Èd pou modifye paj',
-'helppage' => 'Help:Èd',
 'mainpage' => 'Paj prensipal',
 'mainpage-description' => 'Paj prensipal',
 'policy-url' => 'Project:Règleman',
@@ -672,7 +671,7 @@ Petèt li te bouje oubyen efase pandan ou tap gade paj la.',
 Ou ka chanje mopas pou kont sa a nan paj ''[[Special:ChangePassword|chanje mopas]]'' aprè ou konekte ou.",
 'newarticle' => '(Nouvo)',
 'newarticletext' => "Ou swiv on lyen pou yon paj ki poko egziste.
-Pou ou kapab kreye paj sa a, komanse ekri nan bwat ki anba (gade [[{{MediaWiki:Helppage}}|paj èd nan]] pou konnen plis, pou plis enfòmasyon).
+Pou ou kapab kreye paj sa a, komanse ekri nan bwat ki anba (gade [$1 paj èd nan] pou konnen plis, pou plis enfòmasyon).
 Si se paske ou fè yon erè ke ou rive nan paj sa a, klike anlè bouton '''fè back''' nan navigatè ou a.",
 'anontalkpagetext' => "---- ''Ou nan paj diskisyon yon itilizatè anonim, ki pa gen non, ki poko kreye yon kont oubyen ki pa itilize pyès kont nan sistèm sa. Pou rezon sa, nou dwe itilize adrès IP l pou nou kapab lokalize l, sitye l, montre kote l rete, idantifye l. Yon adrès IP kapab pataje ant plizyè moun, plizyè itilizatè. Si ou se yon itilizatè anonim e si ou wè ke ou resevwa komantè ki pa t pou ou, ou mèt [[Special:UserLogin/signup|kreye yon kont]] oubyen [[Special:UserLogin|konekte ou]] pou ou kapab anpeche konfizyon ak kontribitè anonim yo.''",
 'noarticletext' => 'Poko genyen tèks nan paj sa a.
@@ -824,7 +823,6 @@ Lejand : ({{MediaWiki:Cur}}) = diferans ak vèsyon kounye a, ({{MediaWiki:Last}}
 'revisiondelete' => 'Efase/Restore, remèt vèsyon sa',
 'revdelete-nooldid-title' => 'Pa genyen sib, destinasyon pou revizyon sa',
 'revdelete-show-file-submit' => 'Wi',
-'revdelete-selected' => "'''{{PLURAL:$2|Vèsyon ou seleksyone|Vèsyon ou seleksyone yo}} de $1 :'''",
 'revdelete-legend' => 'Mete restriksyon nan vizibilite yo :',
 'revdelete-hide-text' => 'Kache tèks ki te modifye',
 'revdelete-hide-image' => 'Kache kontni fichye a',
index a5663ce..74c381b 100644 (file)
@@ -33,6 +33,7 @@
  * @author R-Joe
  * @author Samat
  * @author Sucy
+ * @author Szaszicska
  * @author TK-999
  * @author Tacsipacsi
  * @author Terik
@@ -562,7 +563,6 @@ $1',
 'disclaimers' => 'Jogi nyilatkozat',
 'disclaimerpage' => 'Project:Jogi nyilatkozat',
 'edithelp' => 'Szerkesztési segítség',
-'helppage' => 'Help:Tartalom',
 'mainpage' => 'Kezdőlap',
 'mainpage-description' => 'Kezdőlap',
 'policy-url' => 'Project:Irányelvek',
@@ -847,6 +847,7 @@ Várj $1, mielőtt újra próbálkozol.',
 'suspicious-userlogout' => 'A kijelentkezési kérésed vissza lett utasítva, mert úgy tűnik, hogy egy hibás böngésző vagy gyorsítótárazó proxy küldte.',
 'createacct-another-realname-tip' => 'A valódi nevet nem kötelező megadni, de ha úgy döntesz, hogy megadod, azzal leszel feltüntetve a munkád szerzőjeként.',
 'pt-login' => 'Bejelentkezés',
+'pt-login-button' => 'Bejelentkezés',
 'pt-createaccount' => 'Fiók létrehozása',
 'pt-userlogout' => 'Kijelentkezés',
 
@@ -1015,7 +1016,7 @@ Lehet, hogy áthelyezték, átnevezték vagy törölték, miközben nézted a la
 Az új fiók jelszava a ''[[Special:ChangePassword|jelszó megváltoztatása]]'' lapon módosítható a bejelentkezés után.",
 'newarticle' => '(Új)',
 'newarticletext' => "Egy olyan lapra mutató hivatkozást követtél, ami még nem létezik.
-A lap létrehozásához csak gépeld be a szövegét a lenti szövegdobozba. Ha kész vagy, az „Előnézet megtekintése” gombbal ellenőrizheted, hogy úgy fog-e kinézni, ahogy szeretnéd, és a „Lap mentése” gombbal tudod elmenteni. (További információkat a [[{{MediaWiki:Helppage}}|súgólapon]] találsz).
+A lap létrehozásához csak gépeld be a szövegét a lenti szövegdobozba. Ha kész vagy, az „Előnézet megtekintése” gombbal ellenőrizheted, hogy úgy fog-e kinézni, ahogy szeretnéd, és a „Lap mentése” gombbal tudod elmenteni. (További információkat a [$1 súgólapon] találsz).
 Ha tévedésből jutottál ide, kattints a böngésződ '''vissza''' vagy '''back''' gombjára.",
 'anontalkpagetext' => "----''Ez egy olyan anonim szerkesztő vitalapja, aki még nem regisztrált, vagy csak nem jelentkezett be.
 Ezért az IP-címét használjuk az azonosítására.
@@ -1027,7 +1028,7 @@ Ha úgy látod, hogy az üzenetek, amiket ide kapsz, nem neked szólnak, [[Speci
 vagy [{{fullurl:{{FULLPAGENAME}}|action=edit}} szerkesztheted a lapot].</span>',
 'noarticletext-nopermission' => 'Ez a lap jelenleg nem tartalmaz szöveget.
 [[Special:Search/{{PAGENAME}}|Rákereshetsz a lap címére]] más lapok tartalmában, vagy <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} megtekintheted a kapcsolódó naplófájlokat]</span>.',
-'missing-revision' => 'A(z) "{{PAGENAME}}" nevű oldal #$1 változata nem létezik.
+'missing-revision' => 'A(z) "{{FULLPAGENAME}}" nevű oldal #$1 változata nem létezik.
 
 Ezt általában egy elavult, törölt oldalra mutató laptörténeti hivatkozás használata okozza. Részletek a [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} törlési naplóban] találhatóak.',
 'userpage-userdoesnotexist' => 'Nincs „<nowiki>$1</nowiki>” nevű regisztrált felhasználónk.
@@ -1248,8 +1249,7 @@ vagy a legutolsó változatot próbáltad meg elrejteni.',
 'revdelete-no-file' => 'A megadott fájl nem létezik.',
 'revdelete-show-file-confirm' => 'Biztosan meg szeretnéd nézni a(z) „<nowiki>$1</nowiki>” $2, $3-i törölt változatát?',
 'revdelete-show-file-submit' => 'Igen',
-'revdelete-selected' => "'''A(z) [[:$1]] lap {{PLURAL:$2|kiválasztott változata|kiválasztott változatai}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Kiválasztott naplóesemény|Kiválasztott naplóesemények}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Kiválasztott naplóesemény|Kiválasztott naplóesemények}}:',
 'revdelete-confirm' => 'Kérlek erősítsd meg, hogy valóban ezt szeretnéd tenni; megértetted a következményeket, és amit teszel, az összhangban van [[{{MediaWiki:Policy-url}}|az irányelvekkel]].',
 'revdelete-suppress-text' => "Az elrejtés '''csak''' a következő esetekben használható:
 * Illetlen személyes információk
index 79e2567..4734456 100644 (file)
@@ -520,7 +520,6 @@ $1',
 'disclaimers' => 'Ազատում պատասխանատվությունից',
 'disclaimerpage' => 'Project:Ազատում պատասխանատվությունից',
 'edithelp' => 'Խմբագրման ուղեցույց',
-'helppage' => 'Help:Գլխացանկ',
 'mainpage' => 'Գլխավոր էջ',
 'mainpage-description' => 'Գլխավոր էջ',
 'policy-url' => 'Project:Կանոնակարգ',
@@ -914,7 +913,7 @@ $2',
 Համակարգ մուտք գործելուն պես կարող եք ''[[Special:ChangePassword|փոխել գաղտնաբառը]]''։",
 'newarticle' => '(Նոր)',
 'newarticletext' => "Դուք հղվել եք դեռևս գոյություն չունեցող էջի։ 
-Նոր էջ ստեղծելու համար ստորև գտնվող խմբագրման դաշտում ավելացրեք տեքստ, այնուհետև սեղմեք '''Հիշել էջը''' (այցելեք [[{{MediaWiki:Helppage}}|օգնության էջը]]՝ մանրամասն տեղեկությունների համար)։ 
+Նոր էջ ստեղծելու համար ստորև գտնվող խմբագրման դաշտում ավելացրեք տեքստ, այնուհետև սեղմեք '''Հիշել էջը''' (այցելեք [$1 օգնության էջը]՝ մանրամասն տեղեկությունների համար)։ 
 
 Եթե դուք սխալմամբ եք այստեղ հայտնվել, ապա սեղմեք ձեր դիտարկչի '''հետ''' (back) կոճակը։",
 'anontalkpagetext' => "----
@@ -1113,8 +1112,7 @@ $3 մասնակիցը տվել է հետևյալ պատճառը. ''$2''",
 'revdelete-nooldid-title' => 'Անվավեր նպատակային տարբերակ',
 'revdelete-nooldid-text' => 'Դուք կա՛մ չեք նշել նպատակային տարբերակ(ներ)ը այս ֆունկցիայի կատարման համար, կա՛մ նպատակային տարբերակը գոյություն չունի, կա՛մ էլ դուք փորձում եք թաքցնել ընթացիկ տարբերակը։',
 'revdelete-show-file-submit' => 'Այո',
-'revdelete-selected' => "'''[[:$1]] էջի ընտրված {{PLURAL:$2|տարբերակը|տարբերակները}}.'''",
-'logdelete-selected' => "'''Տեղեկամատյանի ընտրված {{PLURAL:$1|գրառումը|գրառումները}}.'''",
+'logdelete-selected' => 'Տեղեկամատյանի ընտրված {{PLURAL:$1|գրառումը|գրառումները}}.',
 'revdelete-legend' => 'Սահմանել տեսանելիության սահմանափակումներ',
 'revdelete-hide-text' => 'Թաքցնել տարբերակի տեքստը',
 'revdelete-hide-image' => 'Թաքցնել նիշքի պարունակությունը',
index 00a2aab..53a9c6d 100644 (file)
@@ -393,7 +393,6 @@ $1',
 'disclaimers' => 'Declaration de non-responsabilitate',
 'disclaimerpage' => 'Project:Declaration general de non-responsabilitate',
 'edithelp' => 'Adjuta de modification',
-'helppage' => 'Help:Contento',
 'mainpage' => 'Pagina principal',
 'mainpage-description' => 'Pagina principal',
 'policy-url' => 'Project:Politica',
@@ -593,6 +592,7 @@ Non oblida personalisar tu [[Special:Preferences|preferentias in {{SITENAME}}]].
 'gotaccountlink' => 'Aperir session',
 'userlogin-resetlink' => 'Datos de authentication oblidate?',
 'userlogin-resetpassword-link' => 'Contrasigno oblidate?',
+'userlogin-helplink2' => 'Adjuta al accesso',
 'userlogin-loggedin' => 'Tu ha jam aperite session como {{GENDER:$1|$1}}.
 Usa le formulario sequente pro aperir session como altere usator.',
 'userlogin-createanother' => 'Crear un altere conto',
@@ -694,6 +694,7 @@ Per favor attende $1 ante de probar lo novemente.',
 'createacct-another-realname-tip' => 'Le nomine real es optional.
 Si tu opta pro dar lo, isto essera usate pro dar al usator attribution pro su contributiones.',
 'pt-login' => 'Aperir session',
+'pt-login-button' => 'Aperir session',
 'pt-createaccount' => 'Crear conto',
 'pt-userlogout' => 'Clauder session',
 
@@ -728,6 +729,9 @@ Pro completar le accesso, tu debe definir un nove contrasigno hic:',
 'resetpass-abort-generic' => 'Le cambio del contrasigno ha essite abortate per un extension.',
 'resetpass-expired' => 'Le contrasigno ha expirate. Per favor defini un nove contrasigno pro aperir session.',
 'resetpass-expired-soft' => 'Le contrasigno ha expirate e debe esser redefinite. Per favor elige un nove contrasigno ora, o clicca sur "{{int:resetpass-submit-cancel}}" pro redefinir lo plus tarde.',
+'resetpass-validity-soft' => 'Le contrasigno non es valide: $1
+
+Per favor elige un nove contrasigno ora, o clicca sur "{{int:resetpass-submit-cancel}}" pro redefinir lo plus tarde.',
 
 # Special:PasswordReset
 'passwordreset' => 'Reinitialisar contrasigno',
@@ -880,7 +884,7 @@ Illo pote haber essite displaciate o delite durante que tu legeva le pagina.',
 'accmailtext' => "Un contrasigno generate aleatorimente pro [[User talk:$1|$1]] ha essite inviate a $2. Illo pote esser cambiate in le pagina ''[[Special:ChangePassword|Cambiar contrasigno]]'' post que tu ha aperite un session.",
 'newarticle' => '(Nove)',
 'newarticletext' => "Tu ha sequite un ligamine verso un pagina que non existe ancora.
-Pro crear iste pagina, comencia a scriber in le quadro infra (consulta le [[{{MediaWiki:Helppage}}|pagina de adjuta]] pro plus informationes).
+Pro crear iste pagina, comencia a scriber in le quadro infra (consulta le [$1 pagina de adjuta] pro plus informationes).
 Si tu ha arrivate a iste pagina per error, clicca le button '''Retornar''' de tu navigator.",
 'anontalkpagetext' => "---- ''Isto es le pagina de discussion pro un usator anonyme qui non ha ancora create un conto, o qui non lo usa. Consequentemente nos debe usar le adresse IP numeric pro identificar le/la.
 Un tal adresse IP pote esser usate in commun per varie personas.
@@ -892,7 +896,7 @@ o [{{fullurl:{{FULLPAGENAME}}|action=edit}} modificar iste pagina]</span>.',
 'noarticletext-nopermission' => 'In iste momento il non ha texto in iste pagina.
 Tu pote [[Special:Search/{{PAGENAME}}|cercar le titulo de iste pagina]] in altere paginas,
 o <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} cercar in le registros pertinente], ma tu non ha le permission de crear iste pagina.</span>',
-'missing-revision' => 'Le version №$1 del pagina nominate "{{PAGENAME}}" non existe.
+'missing-revision' => 'Le version №$1 del pagina nominate "{{FULLPAGENAME}}" non existe.
 
 Isto es generalmente causate per sequer un ligamine de historia obsolete a un pagina que ha essite delite.
 Detalios se trova in le [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de deletiones].',
@@ -1132,8 +1136,11 @@ function, o le version specificate non existe, o tu essaya celar le version actu
 'revdelete-no-file' => 'Le file specificate non existe.',
 'revdelete-show-file-confirm' => 'Es tu secur de voler vider un version delite del file  "<nowiki>$1</nowiki>" del $2 a $3?',
 'revdelete-show-file-submit' => 'Si',
-'revdelete-selected' => "'''{{PLURAL:$2|Version seligite|Versiones seligite}} de [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Evento|Eventos}} de registro seligite:'''",
+'logdelete-selected' => '{{PLURAL:$1|Evento|Eventos}} de registro seligite:',
+'revdelete-text-text' => 'Versiones delite continua a apparer in le historia del pagina, ma parte de lor contento essera inaccessibile pro le publico.',
+'revdelete-text-file' => 'Versiones delite de un file continua a apparer in le historia del file, ma parte de lor contento essera inaccessibile pro le publico.',
+'logdelete-text' => 'Eventos delite continua a apparer in le registros, ma parte de lor contento essera inaccessibile pro le publico.',
+'revdelete-text-others' => 'Altere administratores in {{SITENAME}} continua a poter acceder al contento abscondite e pote restaurar lo per medio de iste mesme interfacie, a minus que additional restrictiones ha essite definite.',
 'revdelete-confirm' => 'Per favor confirma que tu ha le intention de facer isto, que tu comprende le consequentias, e que tu face isto in accordo con [[{{MediaWiki:Policy-url}}|le politica]].',
 'revdelete-suppress-text' => "Le suppression debe '''solmente''' esser usate pro le sequente casos:
 * Information potentialmente diffamatori
@@ -1598,7 +1605,7 @@ Si tu opta pro dar lo, isto essera usate pro dar te attribution pro tu contribut
 'recentchanges-legend-heading' => "'''Legenda:'''",
 'recentchanges-legend-newpage' => '(vide etiam le [[Special:NewPages|lista de nove paginas]])',
 'recentchanges-legend-plusminus' => "(''±123'')",
-'rcnotefrom' => 'infra es le modificationes a partir de <b>$2</b> (usque a <b>$1</b>).',
+'rcnotefrom' => 'Ecce le modificationes a partir del <strong>$3 a $4</strong> (usque a <strong>$1</strong> entratas).',
 'rclistfrom' => 'Monstrar nove modificationes a partir de $1',
 'rcshowhideminor' => '$1 modificationes minor',
 'rcshowhideminor-show' => 'Monstrar',
@@ -2008,6 +2015,11 @@ Syntaxe: typo/subtypo, p.ex. <code>image/jpeg</code>.',
 # List redirects
 'listredirects' => 'Listar redirectiones',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Lista de files con duplicatos',
+'listduplicatedfiles-summary' => 'Isto es un lista de files del quales le version le plus recente es un duplicato del version le plus recente de un altere file. Solmente le files local es examinate.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] ha [[$3|{{PLURAL:$2|un duplicato|$2 duplicatos}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Patronos non usate',
 'unusedtemplatestext' => 'Iste pagina es un lista de tote le paginas in le spatio de nomines "{{ns:template}}" que non es includite in un altere pagina.
@@ -2416,7 +2428,7 @@ Le deletion de tal paginas ha essite restringite pro impedir le disruption accid
 'delete-warning-toobig' => 'Iste pagina ha un grande historia de modificationes con plus de $1 {{PLURAL:$1|version|versiones}}.
 Le deletion de illo pote disrumper le operationes del base de datos de {{SITENAME}};
 procede con caution.',
-'deleting-backlinks-warning' => "'''Attention:''' Il ha altere paginas que liga a o transclude le pagina que tu es sur le puncto de deler.",
+'deleting-backlinks-warning' => "'''Attention:''' Il ha [[Special:WhatLinksHere/{{FULLPAGENAME}}|altere paginas]] que liga a o transclude le pagina que tu es sur le puncto de deler.",
 
 # Rollback
 'rollback' => 'Revocar modificationes',
@@ -2472,7 +2484,7 @@ Ecce le configurationes actual del pagina '''$1''':",
 'protect-locked-access' => "Tu conto non ha le permission de cambiar le nivellos de protection de paginas.
 Ecce le configurationes actual del pagina '''$1''':",
 'protect-cascadeon' => 'Iste pagina es actualmente protegite proque illo es includite in le sequente {{PLURAL:$1|pagina, le qual|paginas, le quales}} ha activate le protection in cascada.
-Tu pote cambiar le nivello de protection de iste pagina, ma isto non cambiara le effecto del protection in cascada.',
+Cambiamentos in le nivello de protection de iste pagina non influentia le protection in cascada.',
 'protect-default' => 'Permitter a tote le usatores',
 'protect-fallback' => 'Permitter solmente al usatores con le privilegio de "$1"',
 'protect-level-autoconfirmed' => 'Permitter solmente al usatores autoconfirmate',
@@ -2598,6 +2610,7 @@ $1',
 'sp-contributions-blocked-notice-anon' => 'Iste adresse IP es actualmente blocate.
 Le ultime entrata del registro de blocadas es reproducite hic infra pro information:',
 'sp-contributions-search' => 'Cercar contributiones',
+'sp-contributions-suppresslog' => 'contributiones supprimite de usatores',
 'sp-contributions-username' => 'Adresse IP o nomine de usator:',
 'sp-contributions-toponly' => 'Monstrar solmente le versiones recente',
 'sp-contributions-newonly' => 'Monstrar solmente le modificationes que es creationes de pagina',
index 807652a..6dace7e 100644 (file)
@@ -595,7 +595,6 @@ $1',
 'disclaimers' => 'Penyangkalan',
 'disclaimerpage' => 'Project:Penyangkalan umum',
 'edithelp' => 'Bantuan penyuntingan',
-'helppage' => 'Help:Isi',
 'mainpage' => 'Halaman Utama',
 'mainpage-description' => 'Halaman Utama',
 'policy-url' => 'Project:Kebijakan',
@@ -1051,7 +1050,7 @@ Subbagian ini mungkin dipindahkan atau dihapus ketika Anda membukanya.',
 
 Kata sandi untuk akun baru ini dapat diubah di halaman ''[[Special:ChangePassword|pengubahan kata sandi]]'' setelah masuk log.",
 'newarticle' => '(Baru)',
-'newarticletext' => "Anda mengikuti pranala ke halaman yang belum tersedia. Untuk membuat halaman tersebut, ketiklah isi halaman di kotak di bawah ini (lihat [[{{MediaWiki:Helppage}}|halaman bantuan]] untuk informasi lebih lanjut). Jika Anda tanpa sengaja sampai ke halaman ini, klik tombol '''back''' di penjelajah web Anda.",
+'newarticletext' => "Anda mengikuti pranala ke halaman yang belum tersedia. Untuk membuat halaman tersebut, ketiklah isi halaman di kotak di bawah ini (lihat [$1 halaman bantuan] untuk informasi lebih lanjut). Jika Anda tanpa sengaja sampai ke halaman ini, klik tombol '''back''' di penjelajah web Anda.",
 'anontalkpagetext' => "----''Ini adalah halaman pembicaraan seorang pengguna anonim yang belum membuat akun atau tidak menggunakannya.
 Dengan demikian, kami terpaksa harus memakai alamat IP yang bersangkutan untuk mengidentifikasikannya.
 Alamat IP seperti ini mungkin dipakai bersama oleh beberapa pengguna yang berbeda.
@@ -1060,7 +1059,7 @@ Jika Anda adalah seorang pengguna anonim dan merasa mendapatkan komentar-komenta
 Anda dapat [[Special:Search/{{PAGENAME}}|melakukan pencarian untuk judul halaman ini]] di halaman-halaman lain, <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} mencari log terkait], atau [{{fullurl:{{FULLPAGENAME}}|action=edit}} menyunting halaman ini]</span>.',
 'noarticletext-nopermission' => '!Saat ini tidak ada teks di halaman ini.
 Anda dapat [[Special:Search/{{PAGENAME}}|melakukan pencarian untuk judul halaman ini]] di halaman-halaman lain, atau <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} mencari log terkait]</span>, tapi Anda tidak memiliki izin untuk membuat halaman ini',
-'missing-revision' => 'Revisi #$1 halaman berjudul "{{PAGENAME}}" tidak eksks.
+'missing-revision' => 'Revisi #$1 halaman berjudul "{{FULLPAGENAME}}" tidak eksks.
 
 Hal ini biasanya disebabkan oleh tautan versi terdahulu menuju halaman yang sudah dihapus.
 Rinciannya dapat ditemukan di [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log penghapusan].',
@@ -1288,8 +1287,7 @@ Sebagai seorang pengurus, Anda dapat melihat perbedaan ini; detail mungkin terse
 'revdelete-no-file' => 'Berkas yang dituju tidak ditemukan.',
 'revdelete-show-file-confirm' => 'Apakah Anda yakin ingin melihat revisi yang telah dihapus dari berkas "<nowiki>$1</nowiki>" per $3, $2?',
 'revdelete-show-file-submit' => 'Ya',
-'revdelete-selected' => "'''{{PLURAL:$2|Revisi|Revisi-revisi}} pilihan dari '''$1''''''",
-'logdelete-selected' => "'''{{PLURAL:$1|Log|Log-log}} pilihan untuk:'''",
+'logdelete-selected' => '{{PLURAL:$1|Log|Log-log}} pilihan untuk:',
 'revdelete-confirm' => 'Tolong konfirmasi bahwa Anda memang bermaksud melakukan ini, memahami konsekuensinya, dan bahwa Anda melakukannya sesuai dengan [[{{MediaWiki:Policy-url}}|kebijakan]].',
 'revdelete-suppress-text' => "Penyembunyian revisi '''hanya''' boleh digunakan untuk kasus-kasus berikut:
 * Informasi yang berpotensi memfitnah
index d37bbee..71de567 100644 (file)
@@ -380,7 +380,6 @@ $1',
 'disclaimers' => 'Advertimentes',
 'disclaimerpage' => 'Project:Advertimentes',
 'edithelp' => 'Redactori auxilie',
-'helppage' => 'Help:Contenete',
 'mainpage' => 'Principal págine',
 'mainpage-description' => 'Principal págine',
 'policy-url' => 'Project:Regulariumes',
@@ -564,7 +563,7 @@ Tui adresse de IP va esser registrat in historico de redactiones de ti págine."
 'accmailtext' => "Li passa-parol por '$1' ha esset inviat a $2.",
 'newarticle' => '(Nov)',
 'newarticletext' => "Vu have sequet un catenun por un págine que ne existe ancor.
-Por crear li págine, comensa tippant in li buxe in infra (vider li [[{{MediaWiki:Helppage}}|págine de auxilie]] por plu informationes).
+Por crear li págine, comensa tippant in li buxe in infra (vider li [$1 págine de auxilie] por plu informationes).
 Si vu es ci per errore, clacca in li buton '''retornar''' in tui navigator.",
 'noarticletext' => 'Actualmen ti-ci págine ancor ne contene alquel textu.
 Tu posse <span class="plainlinks">[{{fullurl:{{FULLPAGENAME}}|action=edit}} redacter]</span> it, [[Special:Search/{{PAGENAME}}|serchar]] su titul in altri págines o regardar li relatent <span class="plainlinks">[{{fullurl:{{#special:Log}}|page={{FULLPAGENAMEE}}}} logs]</span>.',
index f626f54..d46b14b 100644 (file)
@@ -305,7 +305,6 @@ $1',
 'disclaimers' => 'Ihe anyí chọrọ ki ma',
 'disclaimerpage' => 'Project:Ihe I kweshiri ma',
 'edithelp' => 'Inyetuáká I rüwa',
-'helppage' => 'Help: Ihe di ime',
 'mainpage' => 'Ihü Mbu',
 'mainpage-description' => 'Ihü Mbu',
 'policy-url' => 'Project:Iwu',
@@ -551,7 +550,7 @@ Biko tinyé cha ihe ńdía na ájújú nkeówulà I gi me.',
 'accmailtitle' => 'mkpurụ okwu ejị a gafẹ a sipuole.',
 'newarticle' => '(Nke ohúrù)',
 'newarticletext' => "Í sòrò jikodo na ihü nke adíghị bòdì.
-Í chȯrí ké ihü nke áhù, bìdó Í pị áka nà igbé nȯr nà àlà ngá (lé [[{{MediaWiki:Helppage}}|ihü nkwádo]] màkà ụmà ozor).
+Í chȯrí ké ihü nke áhù, bìdó Í pị áka nà igbé nȯr nà àlà ngá (lé [$1 ihü nkwádo] màkà ụmà ozor).
 Ȯ bú nà Í byàrà ngá na aghọ, piá mpiá otúzor-intanet gi nke '''àzú'''.",
 'noarticletext' => 'Mkpụrụ edemede à díghị na ihü nke.
 Í nwèríkí [[Special:Search/{{PAGENAME}}|tuó íshí ihü nke á]] na ihü ndi ozor,
index fde2ed7..3bc364a 100644 (file)
@@ -283,7 +283,6 @@ $1',
 'disclaimers' => 'Dagiti renunsia',
 'disclaimerpage' => 'Project:Sapasap a renunsia',
 'edithelp' => 'Tulong ti panag-urnos',
-'helppage' => 'Help:Dagiti linaon',
 'mainpage' => 'Umuna a Panid',
 'mainpage-description' => 'Umuna a Panid',
 'policy-url' => 'Project:Annuroten',
@@ -768,7 +767,7 @@ Mabalin a naiyalis wenno naikkat bayat idi kitkitaem ti panid.',
 ''[[Special:ChangePassword|pagsukatan ti kontrasenias]]'' a panid no sumrekka.",
 'newarticle' => '(Baro)',
 'newarticletext' => 'Nasurotmo ti silpo ti awan pay a panid. 
-Ti mangpartuat ti panid, rugiamon ti agmakinilia iti kahon dita baba (kitaen ti [[{{MediaWiki:Helppage}}|panid ti tulong]] para iti adu pay a pakaammo). 
+Ti mangpartuat ti panid, rugiamon ti agmakinilia iti kahon dita baba (kitaen ti [$1 panid ti tulong] para iti adu pay a pakaammo). 
 No addaka ditoy babaen ti biddut, pindutem ti buton ti <strong>agsubli</strong> ti pagbasabasam.',
 'anontalkpagetext' => "----
 ''Daytoy ti pakitungtungan a panid para iti di am-ammo nga agar-aramat a saan pay a nakaaramid ti pakabilangan, wenno saanna nga us-usaren.
@@ -782,7 +781,7 @@ Mabalinmo ti [[Special:Search/{{PAGENAME}}|agsapul iti kastoy a titulo ti panid]
 wenno [{{fullurl:{{NAMESPACE}}:{{PAGENAME}}|action=edit}} urnosem daytoy a panid].',
 'noarticletext-nopermission' => 'Awan ti agdama  a linaon daytoy a panid.
 Mabalinmo ti [[Special:Search/{{PAGENAME}}|agbiruk para iti titulo ti daytoy a panid]] kadagiti sabali a panid, wenno <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} agbiruk kadagiti mainaig a listaan]</span>, ngem awan ti pammalubosmo a mangpartuat ti daytoy a panid.',
-'missing-revision' => 'Ti panagbalbaliw ti #$1 iti daytoy a panid a nanaganan ti "{{PAGENAME}}" ket awan.
+'missing-revision' => 'Ti panagbalbaliw ti #$1 iti daytoy a panid a nanaganan ti "{{FULLPAGENAME}}" ket awan.
 
 Daytoy ket kadawyan a gapuanan babaen ti sumaganad a silpo ti baak a pakasaritaan iti maysa a naikkaten a panid.
 Dagiti salaysay ket mabalin a mabirukan idiay [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} listaan ti panagikkat].',
@@ -1022,8 +1021,7 @@ awan ti naibaga a panagbaliw, wenno padpadasem nga ilemlemmeng ti agdama a panag
 'revdelete-no-file' => 'Awan dayta nainaganan a papeles.',
 'revdelete-show-file-confirm' => 'Sigurado kadi a kayatmo ti mangkita ti naikkat a baliwan ti papeles "<nowiki>$1</nowiki>" a naggapu idi $2 idi $3?',
 'revdelete-show-file-submit' => 'Wen',
-'revdelete-selected' => "'''{{PLURAL:$2|Napili a nabaliwan|Dagiti napili a nabaliwan}} iti [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Ti napili a listaan ti napasamak|Dagiti napili a listaan ti napasamak}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Ti napili a listaan ti napasamak|Dagiti napili a listaan ti napasamak}}:',
 'revdelete-text-text' => 'Dagiti naikkat a rebision ket agparangto pay laeng iti panid ti pakasaritaan, ngem dagiti paset ti linaonda ket saanton a publiko a maserrekan.',
 'revdelete-text-file' => 'Dagiti naikkat a bersion ti papeles ket agparangto pay laeng iti pakasaritaan ti papeles, ngem dagiti paset ti linaonda ket saanton a publiko a maserrekan.',
 'logdelete-text' => 'Dagiti naikkat a listaan ti pasamak ket agparangto pay laeng kadagiti listaan, ngem dagiti paset ti linaonda ket saanton a publiko a maserrekan.',
index 428f654..e64716a 100644 (file)
@@ -239,7 +239,6 @@ $messages = array(
 'disclaimers' => 'Бокъонах юхавалаp',
 'disclaimerpage' => 'Project:Бокъонах юхавалаp',
 'edithelp' => 'Хувцама куцтохкам',
-'helppage' => 'Help:Чулоацам',
 'mainpage' => 'Кертера оагӀув',
 'mainpage-description' => 'Кертера оагӀув',
 'policy-url' => 'Project:Бокъонаш',
@@ -396,7 +395,7 @@ $messages = array(
 'accmailtitle' => 'КъайладIоагӀа дӀадахьийтад',
 'newarticle' => '(Kерда)',
 'newarticletext' => 'Шо йоаца оагӀув тӀа Ӏинкаца дехьадаьннад.
-Из хьае, кӀалхагӀа доала корачу яздам очуязаде (кхета хала дале [[{{MediaWiki:Helppage}}|новкъостала оагӀув тӀа]] бӀаргтасса).
+Из хьае, кӀалхагӀа доала корачу яздам очуязаде (кхета хала дале [$1 новкъостала оагӀув тӀа] бӀаргтасса).
 Цаховш укхаза нийсадена дале, юхавала/яла яха тоӀобама тӀа пӀелга тоӀобе.',
 'noarticletext' => "ХIанз укх оагӀув тӀа яздам доацаш да.
 [[Special:Search/{{PAGENAME}}|цу тайпара цӀи дувцам кораде]] кхыдола йоазувашках йийша я шун, вешта
index 377ed96..523284e 100644 (file)
@@ -312,7 +312,6 @@ $messages = array(
 'disclaimers' => 'Legala averto',
 'disclaimerpage' => 'Project:Generala des-agnosko',
 'edithelp' => 'Helpo pri redaktado',
-'helppage' => 'Help:Helpo',
 'mainpage' => 'Frontispico',
 'mainpage-description' => 'Frontispico',
 'policy-url' => 'Project:Sistemo di agado',
@@ -517,7 +516,7 @@ La pasovorto por ica nova konto povas chanjesar che la ''[[Special:ChangePasswor
 'newarticle' => '(nova)',
 'newarticletext' => 'Vu sequis ligilo a pagino qua ne existas ankore.
 Por krear ica pagino, voluntez startar skribar en la infra buxo.
-(regardez la [[{{MediaWiki:Helppage}}|helpo]] por plusa informo).
+(regardez la [$1 helpo] por plusa informo).
 Se vu esas hike erore, kliktez sur la butono por retrovenar en vua navigilo.',
 'noarticletext' => 'Prezente, ne esas texto en ica pagino.
 Vu povas [[Special:Search/{{PAGENAME}}|serchar ica titulo]] en altra pagini,
index 895bd5d..e7fdd91 100644 (file)
@@ -479,7 +479,6 @@ $1',
 'disclaimers' => 'Fyrirvarar',
 'disclaimerpage' => 'Project:Almennur fyrirvari',
 'edithelp' => 'Breytingarhjálp',
-'helppage' => 'Help:Efnisyfirlit',
 'mainpage' => 'Forsíða',
 'mainpage-description' => 'Forsíða',
 'policy-url' => 'Project:Samþykktir',
@@ -928,7 +927,7 @@ Hægt er að breyta lykilorðinu fyrir aðganginn á ''[[Special:ChangePassword|
 'newarticle' => '(Ný)',
 'newarticletext' => "Þú hefur fylgt tengli á síðu sem ekki er til ennþá.
 Þú getur búið til síðu með þessu nafni með því að skrifa í formið fyrir neðan
-(meiri upplýsingar í [[{{MediaWiki:Helppage}}|hjálpinni]]).
+(meiri upplýsingar í [$1 hjálpinni]).
 Ef þú hefur óvart villst hingað geturðu notað '''til baka'''-hnappinn í vafranum þínum.",
 'anontalkpagetext' => "----''Þetta er spjallsíða fyrir óþekktan notanda sem hefur ekki búið til aðgang ennþá, eða notar hann ekki.
 Þar af leiðandi þurfum við að nota vistfang til að bera kennsli á hann/hana.
@@ -939,7 +938,7 @@ Ef þú ert óþekktur notandi og finnst að óviðkomandi athugasemdum hafa ver
 <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} leitað í tengdum skrám], eða [{{fullurl:{{FULLPAGENAME}}|action=edit}} breytt henni sjálfur]</span>.',
 'noarticletext-nopermission' => 'Það er enginn texti á þessari síðu eins og er.
 Þú getur [[Special:Search/{{PAGENAME}}|leitað að þessum titli]] í öðrum síðum, eða <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} leitað í tengdum skrám]</span>, en þú hefur ekki réttindi til þess að stofna þessa síðu.',
-'missing-revision' => 'Útgáfa #$1 síðunnar „{{PAGENAME}}" er ekki til.
+'missing-revision' => 'Útgáfa #$1 síðunnar „{{FULLPAGENAME}}" er ekki til.
 
 Þetta gerist oftast þegar úreld breytingarskrá tengir á síðu sem hefur verið eytt. Frekari upplýsingar eru í [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} eyðingarskránni].',
 'userpage-userdoesnotexist' => 'Notandaaðgangurinn „<nowiki>$1</nowiki>“ er ekki skráður.
@@ -1161,8 +1160,7 @@ Frekari upplýsingar eru í [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGE
 'revdelete-no-file' => 'Umbeðin skrá er ekki til.',
 'revdelete-show-file-confirm' => 'Ertu viss um að þú viljir sjá eydda breytingu af síðunni "<nowiki>$1</nowiki>" frá $2 $3?',
 'revdelete-show-file-submit' => 'Já',
-'revdelete-selected' => "'''{{PLURAL:$2|Valin breyting|Valdar breytingar}} fyrir [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Valin aðgerð|Valdar aðgerðir}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Valin aðgerð|Valdar aðgerðir}}:',
 'revdelete-confirm' => 'Vinsamlegast staðfestu að þú viljir gera þetta, að þú skiljir afleiðingarnar og að þú sért að gera þetta í samræmi við  [[{{MediaWiki:Policy-url}}]].',
 'revdelete-suppress-text' => "Bælingu á '''eingöngu''' að nota í eftirfarandi tilfellum:
 * Mögulegar ærumleiðandi upplýsingar
index e9778b7..3458030 100644 (file)
@@ -544,7 +544,6 @@ $1',
 'disclaimers' => 'Avvertenze',
 'disclaimerpage' => 'Project:Avvertenze generali',
 'edithelp' => 'Guida',
-'helppage' => 'Help:Indice',
 'mainpage' => 'Pagina principale',
 'mainpage-description' => 'Pagina principale',
 'policy-url' => 'Project:Policy',
@@ -1008,13 +1007,13 @@ Potrebbe essere stata spostata o eliminata mentre si stava visionando la pagina.
 'accmailtext' => "Una password generata casualmente per [[User talk:$1|$1]] è stata inviata a $2. Questa password può essere modificata nella pagina per ''[[Special:ChangePassword|cambiare la password]]'' subito dopo l'accesso.",
 'newarticle' => '(Nuovo)',
 'newarticletext' => "Il collegamento appena seguito corrisponde ad una pagina non ancora esistente.
-Se vuoi creare la pagina ora, basta cominciare a scrivere il testo nella casella qui sotto (vedi la [[{{MediaWiki:Helppage}}|pagina di aiuto]] per maggiori informazioni).
+Se vuoi creare la pagina ora, basta cominciare a scrivere il testo nella casella qui sotto (vedi la [$1 pagina di aiuto] per maggiori informazioni).
 Se il collegamento è stato aperto per errore, è sufficiente fare clic sul pulsante '''Indietro''' del proprio browser.",
 'anontalkpagetext' => "----
 ''Questa è la pagina di discussione di un utente anonimo, che non ha ancora creato un'utenza o comunque non la sta usando. Per identificarlo è quindi necessario usare il numero del suo indirizzo IP. Gli indirizzi IP possono però essere condivisi da più utenti. Se sei un utente anonimo e ritieni che i commenti presenti in questa pagina non si riferiscano a te, [[Special:UserLogin/signup|crea una nuova utenza]] o [[Special:UserLogin|entra con quella che già hai]] per evitare di essere confuso con altri utenti anonimi in futuro.''",
 'noarticletext' => 'In questo momento la pagina richiesta è vuota. È possibile [[Special:Search/{{PAGENAME}}|cercare questo titolo]] nelle altre pagine del sito, <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} cercare nei registri correlati] oppure [{{fullurl:{{FULLPAGENAME}}|action=edit}} modificare la pagina ora]</span>.',
 'noarticletext-nopermission' => 'In questo momento la pagina richiesta è vuota. È possibile [[Special:Search/{{PAGENAME}}|cercare questo titolo]] nelle altre pagine del sito o <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} cercare nei registri correlati]</span>, ma non hai i permessi per creare questa pagina.',
-'missing-revision' => 'La revisione #$1 della pagina "{{PAGENAME}}" non esiste.
+'missing-revision' => 'La revisione #$1 della pagina "{{FULLPAGENAME}}" non esiste.
 
 Questo si verifica solitamente seguendo un collegamento a una pagina cancellata, in una cronologia non aggiornata.
 I dettagli possono essere trovati nel [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro delle cancellazioni].',
@@ -1239,8 +1238,9 @@ In quanto amministratore puoi visualizzare questo confronto di versioni; potrebb
 'revdelete-no-file' => 'Il file specificato non esiste.',
 'revdelete-show-file-confirm' => 'Si desidera visualizzare la versione cancellata del file "<nowiki>$1</nowiki>" del $2 alle $3?',
 'revdelete-show-file-submit' => 'Sì',
-'revdelete-selected' => "'''{{PLURAL:$2|Versione selezionata|Versioni selezionate}} di [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Evento del registro selezionato|Eventi del registro selezionati}}:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Versione selezionata|Versioni selezionate}} di [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Versione selezionata|Versioni selezionate}} del file di [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|Evento del registro selezionato|Eventi del registro selezionati}}:',
 'revdelete-text-text' => 'Le versioni cancellate appariranno ancora nella cronologia della pagina, ma parti del loro contenuto sarà inaccessibile al pubblico.',
 'revdelete-text-file' => 'Le versioni di file cancellati appariranno ancora nella cronologia del file, ma parti del loro contenuto sarà inaccessibile al pubblico.',
 'logdelete-text' => 'Gli eventi cancellati appariranno ancora nei registri, ma parti del loro contenuto sarà inaccessibile al pubblico.',
@@ -2088,6 +2088,11 @@ Probabilmente vuoi modificare la descrizione presente nella [$2 pagina di descri
 # List redirects
 'listredirects' => 'Elenco di tutti i redirect',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Elenco dei file duplicati',
+'listduplicatedfiles-summary' => 'Questo è un elenco di file, dove la versione più recente di un file è un duplicato della versione più recente di un altro file. Sono considerati solo i file locali.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] ha [[$3|{{PLURAL:$2|un duplicato|$2 duplicati}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Template non utilizzati',
 'unusedtemplatestext' => 'In questa pagina vengono elencate le pagine del namespace {{ns:template}} che non sono incluse in nessuna pagina. Prima di cancellarli è opportuno verificare che i singoli template non abbiano altri collegamenti entranti.',
@@ -2535,7 +2540,8 @@ Vedi la [[Special:ProtectedPages|lista delle pagine protette]] per l'elenco dell
 Le impostazioni correnti per la pagina sono '''$1''':",
 'protect-locked-access' => "Non si dispone dei permessi necessari per modificare i livelli di protezione della pagina.
 Le impostazioni correnti per la pagina sono '''$1''':",
-'protect-cascadeon' => 'Al momento questa pagina è bloccata perché viene inclusa {{PLURAL:$1|nella pagina indicata di seguito, per la quale|nelle pagine indicate di seguito, per le quali}} è attiva la protezione ricorsiva. È possibile modificare il livello di protezione individuale della pagina, ma le impostazioni derivanti dalla protezione ricorsiva non saranno modificate.',
+'protect-cascadeon' => 'Al momento questa pagina è bloccata perché viene inclusa {{PLURAL:$1|nella pagina indicata di seguito, per la quale|nelle pagine indicate di seguito, per le quali}} è attiva la protezione ricorsiva.
+Le modifiche al livello di protezione individuale della pagina, non avranno effetto sulle impostazioni derivanti dalla protezione ricorsiva.',
 'protect-default' => 'Autorizza tutti gli utenti',
 'protect-fallback' => 'Consentito solo agli utenti con permesso "$1"',
 'protect-level-autoconfirmed' => 'Consentito solo agli utenti autoconvalidati',
index b7e4edd..8d6904e 100644 (file)
@@ -620,7 +620,6 @@ $1',
 'disclaimers' => '免責事項',
 'disclaimerpage' => 'Project:免責事項',
 'edithelp' => '編集の仕方',
-'helppage' => 'Help:目次',
 'mainpage' => 'メインページ',
 'mainpage-description' => 'メインページ',
 'policy-url' => 'Project:方針',
@@ -1113,7 +1112,7 @@ $1または他の[[{{MediaWiki:Grouppage-sysop}}|管理者]]にこのブロッ
 'accmailtext' => '[[User talk:$1|$1]]のために無作為に生成したパスワードを、$2に送信しました。パスワードは、ログインした際に<em>[[Special:ChangePassword|パスワード変更]]</em>ページで変更できます。',
 'newarticle' => '(新)',
 'newarticletext' => 'まだ存在しないページへのリンクをたどりました。
-このページを新規作成するには、ページの内容を以下のボックスに記入してください (詳しくは[[{{MediaWiki:Helppage}}|ヘルプページ]]を参照してください)。
+このページを新規作成するには、ページの内容を以下のボックスに記入してください (詳しくは[$1 ヘルプページ]を参照してください)。
 誤ってこのページにたどり着いた場合には、ブラウザーの<strong>戻る</strong>ボタンで前のページに戻ってください。',
 'anontalkpagetext' => '----
 <em>このページはアカウントをまだ作成していないか使用していない匿名利用者のための議論ページです。</em>
@@ -1125,7 +1124,7 @@ $1または他の[[{{MediaWiki:Grouppage-sysop}}|管理者]]にこのブロッ
 または[{{fullurl:{{FULLPAGENAME}}|action=edit}} このページを編集]</span>できます。',
 'noarticletext-nopermission' => '現在このページには内容がありません。
 他のページ内で[[Special:Search/{{PAGENAME}}|このページ名を検索]]、または<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 関連する記録を検索]</span>できますが、あなたにはこのページを作成する権限はありません。',
-'missing-revision' => '「{{PAGENAME}}」というページの版番号 $1 の版は存在しません。
+'missing-revision' => '「{{FULLPAGENAME}}」というページの版番号 $1 の版は存在しません。
 
 通常、削除されたページの版への古い差分表示や固定リンクをたどった際に、このようなことが起きます。 
 詳細は[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} 削除記録]を参照してください。',
@@ -1364,8 +1363,8 @@ $3 が示した理由: ''$2''",
 'revdelete-no-file' => '指定されたファイルは存在しません。',
 'revdelete-show-file-confirm' => 'ファイル「<nowiki>$1</nowiki>」の削除された$2$3の版を本当に閲覧しますか?',
 'revdelete-show-file-submit' => 'はい',
-'revdelete-selected' => '<strong>[[:$1]] の{{PLURAL:$2|選択された版}}:</strong>',
-'logdelete-selected' => '<strong>{{PLURAL:$1|選択された記録項目}}:</strong>',
+'revdelete-selected-text' => '[[:$2]] の{{PLURAL:$1|選択された版}}:',
+'logdelete-selected' => '{{PLURAL:$1|選択された記録項目}}:',
 'revdelete-text-others' => '追加の制限を設定しない限り、{{SITENAME}} の他の管理者は非表示コンテンツにまだアクセスでき、この同じインターフェースを通してそれを復元することができます。',
 'revdelete-confirm' => 'この操作を行おうとしていること、その結果を理解していること、[[{{MediaWiki:Policy-url}}|方針]]に従っていること、を確認してください。',
 'revdelete-suppress-text' => '秘匿は、<strong>以下の場合に限って</strong>使用すべきです:
@@ -2258,6 +2257,9 @@ contenttype/subtypeの形式で入力してください (例: <code>image/jpeg</
 # List redirects
 'listredirects' => '転送ページの一覧',
 
+# List duplicated files special page
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] には [[$3|{{PLURAL:$2|$2 件の重複ファイル}}]]があります。',
+
 # Unused templates
 'unusedtemplates' => '使われていないテンプレート',
 'unusedtemplatestext' => 'このページでは{{ns:template}}名前空間にあって他のページに読み込まれていないページを一覧にしています。
@@ -2721,7 +2723,7 @@ $2による直前の版へ変更されました。',
 'protect-locked-access' => 'アカウントに、ページの保護レベルを変更する権限がありません。
 ページ <strong>$1</strong> の現在の状態は以下の通りです:',
 'protect-cascadeon' => 'このページは現在、カスケード保護が有効になっている以下の{{PLURAL:$1|ページ|ページ群}}から読み込まれているため、保護されています。
\81\93ã\81®ã\83\9aã\83¼ã\82¸ã\81®ä¿\9dè­·ã\83¬ã\83\99ã\83«ã\82\92å¤\89æ\9b´ã\81§ã\81\8dã\81¾ã\81\99ã\81\8c、カスケード保護には影響しません。',
\81\93ã\81®ã\83\9aã\83¼ã\82¸ã\81®ä¿\9dè­·ã\83¬ã\83\99ã\83«ã\81®å¤\89æ\9b´ã\81¯、カスケード保護には影響しません。',
 'protect-default' => 'すべての利用者に許可',
 'protect-fallback' => '「$1」権限を持つ利用者のみに許可',
 'protect-level-autoconfirmed' => '自動承認された利用者のみに許可',
index 3f56622..37ccc0e 100644 (file)
@@ -244,7 +244,6 @@ $1',
 'disclaimers' => 'Diskliema',
 'disclaimerpage' => 'Project: Jinaral diskliema',
 'edithelp' => 'Editin elp',
-'helppage' => 'Help: Kantent',
 'mainpage' => 'Mien piej',
 'mainpage-description' => 'Mien piej',
 'policy-url' => 'Project:Palisi',
@@ -576,7 +575,7 @@ Imaita muuv ar diliit wails yu a vyuu di piej.',
 Di paaswod fi dis nyuu akount kiahn chienj a di ''[[Special:ChangePassword|chienj paaswod]]'' piej afta yu lag iin.",
 'newarticle' => '(Nyuu)',
 'newarticletext' => "Yu fala lingk tu piej we no egzis yet.
-Fi kriet di piej, taat taip ina di bax biluo (si di [[{{MediaWiki:Helppage}}|elp piej]] fi muo infamieshan).
+Fi kriet di piej, taat taip ina di bax biluo (si di [$1 elp piej] fi muo infamieshan).
 Ef yu de ya by mistiek, klik yu brouza '''bak''' botn.",
 'anontalkpagetext' => "----''Dis a di diskoshan piej fi ananimos yuuza uu no kriet no akount yet, ar uu no yuuzi.
 Wi dierfuor afi yuuz di nyuumerikal IP ajres fi aidentifai im/ar.
index f6bba6c..456c853 100644 (file)
@@ -300,7 +300,6 @@ $1',
 'disclaimers' => 'Pamaidonan',
 'disclaimerpage' => 'Project:Panyangkalan umum',
 'edithelp' => 'Pitulung panyuntingan',
-'helppage' => 'Help:Isi',
 'mainpage' => 'Kaca Utama',
 'mainpage-description' => 'Kaca Utama',
 'policy-url' => 'Project:Kabijakan',
@@ -741,7 +740,7 @@ Bagéan iki manawa wis dipindhah utawa dibusak nalika panjenengan buka.',
 Tembung sandi kanggo panganggo anyar iki isa diganti ing kaca ''[[Special:ChangePassword|ganti tembung sandi]]'' sawisé mlebu log.",
 'newarticle' => '(Anyar)',
 'newarticletext' => "Katonané panjenengan ngetutaké pranala artikel sing durung ana.
-Manawa kersa manulis artikel iki, manggaa. (Mangga mirsani [[{{MediaWiki:Helppage}}|Pitulung]] kanggo informasi sabanjuré).
+Manawa kersa manulis artikel iki, manggaa. (Mangga mirsani [$1 Pitulung] kanggo informasi sabanjuré).
 Yèn ora sengaja tekan kéné, bisa ngeklik pencètan '''back''' waé ing panjlajah wèb panjenengan.",
 'anontalkpagetext' => "---- ''Iki yaiku kaca dhiskusi sawijining panganggo anonim sing durung kagungan akun utawa ora nganggo akuné, dadi kita keeksa kudu nganggo alamat IP-né kanggo nepangi. Alamat IP kaya mengkéné iki bisa dienggo déning panganggo sing séjé-séjé. Yèn panjenengan pancèn panganggo anonim lan olèh komentar-komentar miring, mangga [[Special:UserLogin/signup|nggawé akun]] utawa [[Special:UserLogin|log mlebu]] supaya ora rancu karo panganggo anonim liyané ing mangsa ngarep.''",
 'noarticletext' => 'Saiki ora ana tèks ing kaca iki. Panjenengan bisa [[Special:Search/{{PAGENAME}}|nglakoni panggolèkan kanggo judhul iki kaca iki]] ing kaca-kaca liyané, <span class="plainlinks">[{{fullurl:{{#Special:Log}}|kaca={{urlencode:{{FULLPAGENAME}}}}}} nggolèki log kagandhèng],
@@ -749,7 +748,7 @@ utawa [{{fullurl:{{FULLPAGENAME}}|action=edit}} nyunting kaca iki]</span>.',
 'noarticletext-nopermission' => 'Saiki ora ana tèks ing kaca iki. 
 Sampéyan bisa [[Special:Search/{{PAGENAME}}|nggolèki judhul kaca iki]] nèng kaca liya, 
 utawa <span class="plainlinks">[{{fullurl:{{#Special:Log}}|kaca={{urlencode:{{FULLPAGENAME}}}}}} nggolèki log sing kaitan]</span>, nanging Sampéyan ora nduwèni idin nggawé kaca iki.',
-'missing-revision' => 'Benahan #$1 saka kaca ajeneng "{{PAGENAME}}" ora ana.
+'missing-revision' => 'Benahan #$1 saka kaca ajeneng "{{FULLPAGENAME}}" ora ana.
 
 Iki biasané kasebabaké pranala riwayat sing kedaluwarsa saka kaca kuwi wis dibusak.
 Rinciané bisa ditemokaké nèng [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log pambusakan].',
@@ -963,8 +962,7 @@ Sampéyan isih bisa ndelok prabédan iki; rincian bisa ditemokaké nèng [{{full
 'revdelete-no-file' => 'Berkas sing dituju ora ana.',
 'revdelete-show-file-confirm' => 'Apa panjenengan yakin arep mirsani révisi sing wis kabusak saka berkas "<nowiki>$1</nowiki>" ing $2, jam $3?',
 'revdelete-show-file-submit' => 'Ya',
-'revdelete-selected' => "'''{{PLURAL:$2|Revisi kapilih|Revisi kapilih}} dari '''$1''''''",
-'logdelete-selected' => "'''{{PLURAL:$1|Log kapilih|Log kapilih}} kanggo:'''",
+'logdelete-selected' => '{{PLURAL:$1|Log kapilih|Log kapilih}} kanggo:',
 'revdelete-confirm' => 'Mangga pesthèkaké yèn Sampéyan pancèn kudu nglakoni iki, yèn Sampéyan ngerti akibaté, lan yèn Sampéyan ngakoni iki cocok karo [[{{MediaWiki:Policy-url}}|kawicakan]].',
 'revdelete-suppress-text' => "Pandhelikan révisi '''mung''' bisa dipigunakaké kanggo kasus ing ngisor:
 * Informasi sing kagolong pitnah
index abfe923..095c8cb 100644 (file)
@@ -418,7 +418,6 @@ $1',
 'disclaimers' => 'პასუხისმგებლობის მოხსნა',
 'disclaimerpage' => 'Project:პასუხისმგებლობის უარყოფა',
 'edithelp' => 'დახმარება',
-'helppage' => 'Help:დახმარება',
 'mainpage' => 'მთავარი გვერდი',
 'mainpage-description' => 'მთავარი გვერდი',
 'policy-url' => 'Project:პოლიტიკა',
@@ -875,7 +874,7 @@ $2
 'newarticle' => '(ახალი)',
 'newarticletext' => 'ბმულის მეშვეობით თქვენ მოხვდით გვერდზე, რომელიც ჯერ არ არსებობს.
 გვერდის შესაქმნელად შეიყვანეთ ინფორმაცია ქვემო ფანჯარაში
-(იხ. [[{{MediaWiki:Helppage}}|დახმარების გვერდი]] დამატებითი ინფორმაციისთვის).
+(იხ. [$1 დახმარების გვერდი] დამატებითი ინფორმაციისთვის).
 თუ ამ გვერდზე შეცდომით მოხვდით, დაბრუნდით უკან თქვენი ბრაუზერის მეშვეობით.',
 'anontalkpagetext' => "----''ეს არის ანონიმური მომხმარებლის განხილვის გვერდი, რომელსაც ანგარიში ჯერ არ შეუქმნია ან არ იყენებს მას.
 
@@ -891,7 +890,7 @@ $2
 'noarticletext-nopermission' => 'ამ დროისთვის ეს გვერდი ცარიელია.
 თქვენ შეგიძლიათ [[Special:Search/{{PAGENAME}}|მოძებნოთ ეს სათაური]] სხვა გვერდებზე,
 ან <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} მოძებნოთ ჟურნალების შესაბამისი ჩანაწერები].</span> თქვენ არ გაქვთ ამ გვერდის შექმნის ნებართვა.',
-'missing-revision' => 'ვერსია $1 გვერდისათვის „{{PAGENAME}}“ არ არსებობს.
+'missing-revision' => 'ვერსია $1 გვერდისათვის „{{FULLPAGENAME}}“ არ არსებობს.
 
 ეს ჩვეულებრივ ხდება მაშინ, თუ მოძველებული ბმულით გადადიხართ გვერდზე, რომელიც წაიშალა.
 დეტალური ინფორმაცია შესაძლებელია იყოს [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} წაშლების ჟურნალში].',
@@ -1110,8 +1109,7 @@ $3 -ემ ამგვარი ახსნა : ''$2''",
 'revdelete-no-file' => 'მოთხოვნილი ფაილი არ არსებობს.',
 'revdelete-show-file-confirm' => 'დარწმუნებული ხართ, რომ გსურთ ამ ფაილის წაშლილი ვერსიის ნახვა, „<nowiki>$1</nowiki>“ $2, $3-დან ?',
 'revdelete-show-file-submit' => 'ჰო',
-'revdelete-selected' => "'''[[:$1]]-ის {{PLURAL:$2|მონიშნული ცვლილება|მონიშნული ცვლილებები}}:'''",
-'logdelete-selected' => "'''ჟურნალის {{PLURAL:$1|არჩეული ჩანაწერი|არჩეული ჩანაწერები}}:'''",
+'logdelete-selected' => 'ჟურნალის {{PLURAL:$1|არჩეული ჩანაწერი|არჩეული ჩანაწერები}}:',
 'revdelete-confirm' => 'გთხოვთ დაადასტუროთ, რომ გსურთ ქმედების განხორციელება. ასევე ვიმედოვნებთ, რომ ყველაფერს აკეთებთ  [[{{MediaWiki:Policy-url}}|წესებთან შესაბამისობაში]].',
 'revdelete-suppress-text' => "დამალვა შეიძლება განხორციელდეს '''მხოლოდ''' შემდეგ შემთხვევებში:
 * პოტენციურად ცილისმწამებლური ინფორმაცია
index 2824512..6b16942 100644 (file)
@@ -360,7 +360,6 @@ $messages = array(
 'disclaimers' => 'Juwapkershilikten bas tartıw',
 'disclaimerpage' => 'Project:Juwapkershilikten bas tartıw',
 'edithelp' => "O'zgertiw anıqlaması",
-'helppage' => 'Help:Mazmunı',
 'mainpage' => 'Bas bet',
 'mainpage-description' => 'Bas bet',
 'policy-url' => "Project:Qag'ıydalar",
@@ -642,7 +641,7 @@ Siz bul betti ko'rip atırg'an waqtın'ızda ol ko'shirilgen yamasa o'shirilgen
 Saytqa kirgenin'izden keyin, bul akkaunt parolin ''[[Special:ChangePassword|change password]]'' betinde o'zgertiwge boladı.",
 'newarticle' => '(Taza)',
 'newarticletext' => "Siz ele jaratılmag'an betke siltew arqalı o'ttin'iz.
-Betti jaratıw ushın to'mendegi aynada tekstin'izdi kiritin' (qosımsha mag'lıwmat ushın [[{{MediaWiki:Helppage}}|anıqlama betin]] qaran').
+Betti jaratıw ushın to'mendegi aynada tekstin'izdi kiritin' (qosımsha mag'lıwmat ushın [$1 anıqlama betin] qaran').
 Eger bul jerge aljasıp o'tken bolsan'ız, brauzerin'izdin' «Arqag'a» knopkasın basın'.",
 'noarticletext' => "Ha'zirgi waqıtta bul bette hesh qanday mag'lıwmat joq.
 Basqa betlerden usı bet atamasın [[Special:Search/{{PAGENAME}}|izlep ko'riwin'izge]],
@@ -729,7 +728,6 @@ Sha'rtli belgiler: (ha'z.) = ha'zirgi nusqasi menen parqı,
 'rev-deleted-user' => "(paydalanıwshı atı o'shirildi)",
 'rev-deleted-event' => "(jurnal ha'reketi o'shirildi)",
 'rev-delundel' => "ko'rsetiw/jasırıw",
-'revdelete-selected' => "'''[[:$1]] {{PLURAL:$2|saylang'an nusqası|saylang'an nusqaları}}:'''",
 'revdelete-legend' => "Ko'rinis sheklewlerin belgilew",
 'revdelete-hide-text' => 'Nusqa tekstin jasır',
 'revdelete-hide-image' => "Fayl mag'lıwmatın jasır",
index bd25e42..b82a0e2 100644 (file)
@@ -291,7 +291,6 @@ $1',
 'disclaimers' => 'Iɣtalen',
 'disclaimerpage' => 'Project:Iɣtalen',
 'edithelp' => 'Tallat deg ubeddel',
-'helppage' => 'Help:Agbur',
 'mainpage' => 'Asebter amenzawi',
 'mainpage-description' => 'Asebter amenzawi',
 'policy-url' => 'Project:Ilugan',
@@ -726,14 +725,14 @@ Yezmer ad yetbeddel ɣef usebtar [[Special:ChangePassword|Abeddel n awal uɛddi]
 'newarticle' => '(Amaynut)',
 'newarticletext' => 'Tḍefreḍ azday ɣer usebter mazal ur yettwaxleq ara.
 Akken ad txelqeḍ asebter-nni, aru deg tenkult i tella deg ukessar
-(ẓer [[{{MediaWiki:Helppage}}|asebter n tallat]] akken ad tessneḍ kter).
+(ẓer [$1 asebter n tallat] akken ad tessneḍ kter).
 Ma tɣelṭeḍ, wekki kan ɣef tqeffalt "Back/Précédent" n browser/explorateur inek.',
 'anontalkpagetext' => "---- ''Wagi d asebter n umyennan n useqdac adrig, mazal ur d-yesnufa ara amiḍan. I taɣẓint agi, ilaq an seqdec tansa IP ines iwakken at-id n sulu. Yiwet tansa IP tezmer at tettuseqdac sɣur aṭṭas n iseqdacen. Lukan ula d kečč aqla-k amseqdac adrig dɣa ur tebɣiḍ ara ad tettwabcreḍ izen am wigini, ihi [[Special:UserLogin/signup|snulfud amiḍan]] naɣ [[Special:UserLogin|qqened]] iwakken sya d asawen ur t-illint ara uguren n usulu.''",
 'noarticletext' => 'Ulac aḍris deg usebter-agi, tzemreḍ ad [[Special:Search/{{PAGENAME}}|tnadiḍ ɣef wezwel n usebter-agi]] deg isebtar wiyaḍ neɣ [{{fullurl:{{FULLPAGENAME}}|action=edit}} tettbeddileḍ asebter-agi].',
 'noarticletext-nopermission' => 'Imira ulac aḍris deg usebter agi.
 Tzemreḍ [[Special:Search/{{PAGENAME}}|ad nadiḍ ɣef azwel agi]] deg isebtaren nniḍen,
 naɣ <span class="plainlinks">[{{fullurl:{{#Special:Log}}|asebter={{FULLPAGENAMEE}}}} ad nadiḍ deg iɣmisen iqqenen]</span>.',
-'missing-revision' => 'Tacaggart #$1 n usebter s isem « {{PAGENAME}} » ulac-itt.
+'missing-revision' => 'Tacaggart #$1 n usebter s isem « {{FULLPAGENAME}} » ulac-itt.
 
 Acku azday n umezruy, ɣef wayen tsennedeḍ, d-aqbur. Asebter yemḥa.
 Tzemreḍ ad affeḍ tilɣa deg [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} uɣmis n isebtar yemḥan].',
@@ -957,8 +956,7 @@ Tzemreḍ att ẓṛeḍ ; tilɣa llant deg [{{fullurl:{{#Special:Log}}/delete|p
 'revdelete-no-file' => 'Afaylu id ssefruḍ ur yella ara.',
 'revdelete-show-file-confirm' => 'Tebɣriḍ ad mḥuḍ tacaggart n ufaylu « <nowiki>$1</nowiki> » n $2 af $3 ?',
 'revdelete-show-file-submit' => 'Ih',
-'revdelete-selected' => "'''{{PLURAL:$2|Tasiwelt tettwafren|Tisiwal ttwafernen}} n [[:$1]]'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Tamirt n uɣmis tettwafren|Isallen n uɣmis ttwafernen}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Tamirt n uɣmis tettwafren|Isallen n uɣmis ttwafernen}}:',
 'revdelete-confirm' => 'Sergeg ma tebɣiḍ ad xedmeḍ tigawt agi, fehmeḍ inalkamen, dɣa temtawiḍ s [[{{MediaWiki:Policy-url}}|ilugan]].',
 'revdelete-suppress-text' => "Ilaq tukksa att illi \"kan\" deg tijṛa agi :
 * Tilɣa ahat tinergamin
index 0ed5351..ee2c1b1 100644 (file)
@@ -285,7 +285,6 @@ $1',
 'disclaimers' => 'Жэуап Ӏыгъыныр зыщхьэщыхын',
 'disclaimerpage' => 'Project:Пщэрылъу къэмыштэн',
 'edithelp' => 'Гъэтэрэзыным и щӀэупщӀэ',
-'helppage' => 'Help:ДэӀэпыкъуэгъу',
 'mainpage' => 'НапэкӀуэцӀ нэхъыщхьэ',
 'mainpage-description' => 'НапэкӀуэцӀ нэхъыщхьэ',
 'policy-url' => 'Project:Хабзэхэр',
@@ -608,7 +607,7 @@ $2',
 Системэм регистрациэ быщӀа яуж ''[[Special:ChangePassword|паролыр зэпхъуэкӀыфыну]].''",
 'newarticle' => '(ЩIэуэ)',
 'newarticletext' => 'НапэкӀуэцӀ иджыри щымыӀэм утехуащ техьэпӀэмкэ.
-Ар быщӀын щхьэкӀэ, и щӀагъым щӀэт игъувапӀэм тхылъ итхэ (еплъ [[{{MediaWiki:Helppage}}|щӀэупщӀэгъуэхэм я напэкӀуэцӀ]]).
+Ар быщӀын щхьэкӀэ, и щӀагъым щӀэт игъувапӀэм тхылъ итхэ (еплъ [$1 щӀэупщӀэгъуэхэм я напэкӀуэцӀ]).
 ГъуэщэгъуэкӀэ мыбым утехуамэ, уи браузерым гъэзэжыгъуэ иӀэм текъузи зэфэкащ.',
 'anontalkpagetext' => "----''Мы напэкӀуэцӀ тепсэлъыхьыгъуэр аноним цӀыхухэтым ей, аккаунт зымыщӀам иэ къэзмыгъэсэбэпым.
 Абым щхьэкӀэ IP-адресымкӀэ идентификациэ иратыр.
@@ -821,8 +820,7 @@ $3 ар зтеухуауэ къитхыр: ''$2''",
 'revdelete-no-file' => 'Къэгъэлъэгъуа файлыр щыӀэкъым.',
 'revdelete-show-file-confirm' => 'Арэзыуэ ущыт уеплъыну файл ихам и версиэ «<nowiki>$1</nowiki>» $2, $3 ?',
 'revdelete-show-file-submit' => 'НытӀэ',
-'revdelete-selected' => "'''{{PLURAL:$2|Версиэ хэхар|Версиэ хэхахэр}} напэкӀуэцӀ [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Тхылъ хэхар|Тхылъ хэхахэр}} тхыгъэм:'''",
+'logdelete-selected' => '{{PLURAL:$1|Тхылъ хэхар|Тхылъ хэхахэр}} тхыгъэм:',
 'revdelete-confirm' => 'Арэзыгъуэ ет, быщӀэр зэр уи гугъэр, къыхэкӀынур къызэрыбгурыӀуэр, быщӀу хъуамкӀэ [[{{MediaWiki:Policy-url}}|хабзэм]] узэремыбакъуэр.',
 'revdelete-suppress-text' => "ГъэпшкӀугъэр щекӀуэкӀыфыну '''къуэдер''' мыбым хуэдэм:
 
index a1af2c8..0ea620c 100644 (file)
@@ -249,7 +249,6 @@ $1',
 'disclaimers' => 'اعلانات',
 'disclaimerpage' => 'Project:عام کھوار اعلان',
 'edithelp' => 'مدد براۓ ترمیم',
-'helppage' => 'Help:فھرست',
 'mainpage' => 'آویلو صفحہ',
 'mainpage-description' => 'سرورق',
 'policy-url' => 'Project:حکمتِ عملی',
@@ -517,7 +516,7 @@ $1 (صفحہ موجود نیکی)',
 'accmailtitle' => 'کلمہ شناخت(پاسورڈ) انځینو ھوی',
 'newarticle' => '(نوغ)',
 'newarticletext' => "↓تو ای ھس صفحو ربطو پیرویو کوری اسوس کہ ھسے ھنیسے موجود نیکی.
-ھیہ صفحہو تخلیق کوریکو بچے درج ذیل خانا متنو درج کورے (مزید معلوماتو بچے [[{{MediaWiki:Helppage}}|صفحۂ معاونت]] ملاحظہ کورے).
+ھیہ صفحہو تخلیق کوریکو بچے درج ذیل خانا متنو درج کورے (مزید معلوماتو بچے [$1 صفحۂ معاونت] ملاحظہ کورے).
 اگر تو ھیا غلطیو سورا کہ گیتی اسوس تھے اچھو صفحا آچی بیکو بچے تان کمپیوٹرا '''back''' بٹنو ٹک کورے.",
 'noarticletext' => ' ھیہ صفحہا فی الحال کیہ متن موجود نیکی.
 تو دیگر صفحاتا [[Special:Search/{{PAGENAME}}|ھیہ صفحہو عنوانو بچے تلاش کوریکو بوس]]، <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} متعلقہ نوشتہ جات تلاش کوریکو بوس],
index 5b18ce2..0ec8688 100644 (file)
@@ -285,7 +285,6 @@ $1',
 'disclaimers' => 'Diwanê mesulêti',
 'disclaimerpage' => 'Project:Diwanê mesuliyetê bıngey',
 'edithelp' => 'Phoştdariya vurnaişi',
-'helppage' => 'Help:Tedeestey',
 'mainpage' => 'Pela Seri',
 'mainpage-description' => 'Pela seri',
 'policy-url' => 'Project:Poliça',
@@ -539,7 +538,7 @@ Sırewo ke to qaytê pele kerdêne, beno ke no kırışiyo ya ki esteriyo.',
 'accmailtitle' => 'Parola rusniye.',
 'newarticle' => '(Newe)',
 'newarticletext' => "To jü girê teqna be jü pela ke hona çina.
-Serba afernaena pele qutiya metnê cêrêni bıgurêne. Serba melumati qaytê [[{{MediaWiki:Helppage}}|pela phoşti]] ke.
+Serba afernaena pele qutiya metnê cêrêni bıgurêne. Serba melumati qaytê [$1 pela phoşti] ke.
 Eke be ğeletêni ama ita, wa gozaga '''peyser'''i programê ho de bıteqne.",
 'noarticletext' => 'Na pele de hona thowa çino.
 Tı şikina zerrê pelunê binu de [[Special:Search/{{PAGENAME}}|serba sernamê na pele cı feteliye]],
@@ -650,7 +649,6 @@ Sıma be idarekerênia ho ra şikinê hona [$1 nê ferqi bıvênê], eke wazenê
 'revdelete-no-file' => 'Dosya diyarkerdiye çina.',
 'revdelete-show-file-confirm' => 'Sıma eminê ke wazenê çımraviarnaena esterıtiya na dosya "<nowiki>$1</nowiki>" $2 ra $3 de bıvênê?',
 'revdelete-show-file-submit' => 'Heya',
-'revdelete-selected' => "'''[[:$1]]: ra {{PLURAL:$2|Çımraviarnaiso weçinıte|Çımraviarnaisê weçinıtey}}'''",
 'revdelete-suppress-text' => "Wedardene gunê '''teyna''' nê halunê cêrênu de bıguriyo:
 * Melumatê kıfırio mıhtemel
 * Melumatê şexsio bêmınasıb
index be4303c..3d23656 100644 (file)
@@ -579,7 +579,6 @@ $messages = array(
 'disclaimers' => 'جاۋاپكەرشىلىكتەن باس تارتۋ',
 'disclaimerpage' => 'Project:جاۋاپكەرشىلىكتەن باس تارتۋ',
 'edithelp' => 'وندەۋ انىقتاماسى',
-'helppage' => 'Help:مازمۇنى',
 'mainpage' => 'باستى بەت',
 'mainpage-description' => 'باستى بەت',
 'policy-url' => 'Project:ەرەجەلەر',
@@ -863,7 +862,7 @@ IP مەكەنجايىڭىز بۇل بەتتىڭ تۇزەتۋ تارىيحىند
 'accmailtext' => '$2 جايىنا «$1» قۇپىييا ٴسوزى جونەلتىلدى.',
 'newarticle' => '(جاڭا)',
 'newarticletext' => 'سىلتەمەگە ەرىپ ٴالى باستالماعان بەتكە كەلىپسىز.
-بەتتى باستاۋ ٴۇشىن, تومەندەگى كىرىستىرۋ ورنىندا ٴماتىنىڭىزدى تەرىڭىز (كوبىرەك اقپارات ٴۇشىن [[{{MediaWiki:Helppage}}|انىقتاما بەتىن]] قاراڭىز).
+بەتتى باستاۋ ٴۇشىن, تومەندەگى كىرىستىرۋ ورنىندا ٴماتىنىڭىزدى تەرىڭىز (كوبىرەك اقپارات ٴۇشىن [$1 انىقتاما بەتىن] قاراڭىز).
 ەگەر جاڭىلعاننان وسىندا كەلگەن بولساڭىز, شولعىشىڭىز «ارتقا» دەگەن باتىرماسىن نۇقىڭىز.',
 'anontalkpagetext' => "----''بۇل تىركەلگىسىز (نەمەسە تىركەلگىسىن قولدانباعان) قاتىسۋشى تالقىلاۋ بەتى. وسى قاتىسۋشىنى ٴبىز تەك ساندىق IP مەكەنجايىمەن تەڭدەستىرەمىز.
 وسىنداي IP مەكەنجاي بىرنەشە قاتىسۋشىعا ورتاقتاستىرىلعان بولۋى مۇمكىن.
@@ -1009,8 +1008,7 @@ $3 كەلتىرىلگەن سەبەبى: ''$2''",
 'revdelete-nooldid-title' => 'نىسانا تۇزەتۋ جارامسىز',
 'revdelete-nooldid-text' => 'بۇل جەتەنى ورىنداۋ ٴۇشىن نىسانا تۇزەتۋىن/تۇزەتۋلەرىن كەلتىرىلمەپسىز,
 كەلتىرىلگەن تۇزەتۋ جوق, نە اعىمدىق تۇزەتۋدى جاسىرۋ ٴۇشىن ارەكەتتەنىپ كوردىڭىز.',
-'revdelete-selected' => "'''[[:$1]] دەگەننىڭ بولەكتەنگەن {{PLURAL:$2|تۇزەتۋى|تۇزەتۋلەرى}}:'''",
-'logdelete-selected' => "'''بولەكتەنگەن {{PLURAL:$1|جۋرنال وقىيعاسى|جۋرنال وقىيعالارى}}:'''",
+'logdelete-selected' => 'بولەكتەنگەن {{PLURAL:$1|جۋرنال وقىيعاسى|جۋرنال وقىيعالارى}}:',
 'revdelete-legend' => 'كورىنىس تىيىمدارىن قويۋ:',
 'revdelete-hide-text' => 'تۇزەتۋ ٴماتىنىن جاسىر',
 'revdelete-hide-image' => 'فايل ماعلۇماتىن جاسىر',
index 3485eff..9274841 100644 (file)
@@ -601,14 +601,13 @@ $1',
 # All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
 'aboutsite' => '{{SITENAME}} туралы',
 'aboutpage' => 'Project:Жоба туралы',
-'copyright' => 'Мәлімет $1 шартымен жетімді.',
+'copyright' => 'Мәлімет $1 лицензиясы аясында жетімді басқа жағдайда белгіленеді.',
 'copyrightpage' => '{{ns:project}}:Авторлық құқықтар',
 'currentevents' => 'Ағымдағы оқиғалар',
 'currentevents-url' => 'Project:Ағымдағы оқиғалар',
 'disclaimers' => 'Жауапкершіліктен бас тарту',
 'disclaimerpage' => 'Project:Жауапкершіліктен бас тарту',
 'edithelp' => 'Өндеу анықтамасы',
-'helppage' => 'Help:Мазмұны',
 'mainpage' => 'Басты бет',
 'mainpage-description' => 'Басты бет',
 'policy-url' => 'Project:Ережелер',
@@ -757,6 +756,7 @@ $2',
 'invalidtitle-unknownnamespace' => 'Нөмері $1 белгісіз есім кеңістік түрі және "$2" мәтіні жарамсыз',
 'exception-nologin' => 'Кірмегенсіз',
 'exception-nologin-text' => 'Бұл әрекетке немесе бетке қатынау үшін [[Special:Userlogin|кіріңіз]].',
+'exception-nologin-text-manual' => 'Бұл бетке қатынау немесе әрекетті орнындау үшін $1',
 
 # Virus scanner
 'virus-badscanner' => 'Дұрыс емес ішқұрылым. Белгісіз вирус сканері: $1',
@@ -764,10 +764,9 @@ $2',
 'virus-unknownscanner' => 'белгісіз антивирус:',
 
 # Login and logout pages
-'logouttext' => "'''Жүйеден шықтыңыз.'''
+'logouttext' => '<strong>Жүйеден шықтыңыз.</strong>
 
-Жүйеге кірмесеңіз де {{SITENAME}} жобасын пайдалана аласыз, немесе баяғы не өзге қатысушы ретінде жүйеге <span class='plainlinks'>[$1 қайта кіруіңізге]</span> болады.
-Аңғартпа: Кейбір беттер шолғышыңыздың кэшін тазартқанша әлі де жүйеге кіріп отырғаныңыздай көрінуі мүмкін.",
+Аңғартпа: Кейбір беттер шолғышыңыздың кэшін тазартқанша әлі де жүйеге кіріп отырғаныңыздай көрінуі мүмкін.',
 'welcomeuser' => 'Қош келдіңіз, $1!',
 'welcomecreation-msg' => 'Сіздің тіркеліміңіз жасалынды.
 [[Special:Preferences|{{SITENAME}} баптауларыңызды]] өзгертуді ұмытпаңыз.',
@@ -874,8 +873,8 @@ $2',
 'throttled-mailpassword' => 'Соңғы {{PLURAL:$1|сағатта|$1 сағатта}} құпия сөз ескерту хаты алдақашан жөнелтілді.
 Қиянатты қақпайлау үшін, {{PLURAL:$1|сағат|$1 сағат}} сайын тек бір ғана құпия сөз ескерту хаты жөнелтіледі.',
 'mailerror' => 'Хат жөнелту қатесі: $1',
-'acct_creation_throttle_hit' => 'Ғафу етіңіз, сіз алдақашан $1 рет тіркелгі жасапсыз. Онан артық жасай алмайсыз.
-Нәтижесінде, осы IP-мекенжаймен кірушілер дәл қазіргі уақытта бірнеше тіркелгі жасай алмайды.',
+'acct_creation_throttle_hit' => 'Сіздің IP-мекенжайыңызбен осы уикиге кірушілер соңғы күнде {{PLURAL:$1|1 тіркелгі|$1 тіркелгі}} жасапты. Одан артық бұл уақыт аралығында рұқсат етілмейді.
+Нәтижесінде осы IP-мекенжайды пайдаланып кірушілер дәл қазіргі уақытта бірнеше тіркелгі жасай алмайды.',
 'emailauthenticated' => 'Е-пошта мекен-жайыңыз расталған кезі: $3, $2.',
 'emailnotauthenticated' => 'Е-пошта мекен-жайыңыз әлі расталған жоқ.
 Келесі әрбір мүмкіндіктер үшін еш хат жөнелтілмейді.',
@@ -1024,21 +1023,21 @@ IP-мекенжайыңыз бұл беттің түзету тарихында
 Ағымдық IP мекенжайыңыз: $3, және бұғатау нөмірі: $5.
 Сұраным жасағанда осының екеуін де кірістіруіңізді сұраймыз.",
 'blockednoreason' => 'еш себебі келтірілмеген',
-'whitelistedittext' => 'Беттерді өңдеу үшін сізде $1 болуы керек.',
+'whitelistedittext' => 'Беттерді өңдеу үшін $1.',
 'confirmedittext' => 'Беттерді өңдеу үшін алдын ала Е-пошта мекенжайыңызды құптауыңыз жөн.
 Е-пошта мекенжайыңызды [[Special:Preferences|қатысушы бапталымдарыңыз]] арқылы қойыңыз да жарамдылығын тексеріп шығыңыз.',
 'nosuchsectiontitle' => 'Бұл бөлімді табу мүмкін емес',
 'nosuchsectiontext' => 'Сіз бұрын болмаған бөлімді өзгертпекшісіз.
 Мүмкін бұл бетті қарап жатқаныңызда ол бөлім жойылған немесе басқа орынға көшірілген.',
 'loginreqtitle' => 'Кіруіңіз керек',
-'loginreqlink' => 'кÑ\96Ñ\80Ñ\83',
-'loginreqpagetext' => 'Басқа беттерді көру үшін сіз $1 болуыңыз жөн.',
+'loginreqlink' => 'кÑ\96Ñ\80Ñ\96Ò£Ñ\96з',
+'loginreqpagetext' => 'Басқа беттерді көру үшін $1.',
 'accmailtitle' => 'Құпия сөз жөнелтілді.',
-'accmailtext' => "$2 жайына [[User talk:$1|$1]] үшін құпия сөзі жөнелтілді.
-Бұл жаңа қатысушы үшін құпия сөз ''[[Special:ChangePassword|құпия сөзді өзгерту]]'' бетінде кіру үстінде өзгертілген.",
+'accmailtext' => '$2 дегенге [[User talk:$1|$1]] үшін құпия сөзі жөнелтілді.
+Бұл жаңа қатысушы үшін құпия сөз <em> [[Special:ChangePassword|құпия сөзді өзгерту]]</em>  бетінде кіру үстінде өзгертілген.',
 'newarticle' => '(Жаңа)',
 'newarticletext' => 'Сілтемеге еріп әлі басталмаған бетке келіпсіз.
-Бетті бастау үшін, төменгі терезеде мәтініңізді теріңіз (көбірек ақпарат үшін [[{{MediaWiki:Helppage}}|анықтама бетін]] қараңыз).
+Бетті бастау үшін, төменгі терезеде мәтініңізді теріңіз (көбірек ақпарат үшін [$1 анықтама бетін] қараңыз).
 Егер жаңылғаннан осында келген болсаңыз, браузердің «артқа» деген батырмасын басыңыз.',
 'anontalkpagetext' => "----''Бұл тіркелгісіз (немесе тіркелгісін қолданбаған) қатысушы талқылау беті. Осы қатысушыны біз тек сандық IP мекенжайымен теңдестіреміз.
 Осындай IP мекенжай бірнеше қатысушыға ортақтастырылған болуы мүмкін.
@@ -1058,8 +1057,8 @@ IP-мекенжайыңыз бұл беттің түзету тарихында
 * '''Google Chrome:'''  ''Ctrl-Shift-R'' басыңыз (Mac — ''⌘-Shift-R'')
 *'''IE:''' ''Жаңарту'' батырмасын нұқығанда ''Ctrl'' тұтыңыз, не ''Ctrl-F5'' басыңыз;  не ''F5'' басыңыз; *'''Opera''' пайданушылары ''Құралдар→Бапталымдар'' дегенге барып бүркемесін толық тазарту жөн.",
 'usercssyoucanpreview' => "'''Кеңес:''' Жаңа CSS файлын сақтау алдында «Қарап шығу» батырмасын қолданып сынақтаңыз.",
-'userjsyoucanpreview' => "'''Ақыл-кеңес:''' Жаңа JS файлын сақтау алдында «Қарап шығу» батырмасын қолданып сынақтаңыз.",
-'usercsspreview' => "'''Мынау CSS мәтінін тек қарап шығу екенін ұмытпаңыз, ол әлі сақталған жоқ!'''",
+'userjsyoucanpreview' => '<strong>Ақыл-кеңес:</strong> Жаңа JavaScript файлыңызды сақтау алдында "{{int:showpreview}}" батырмасын қолданып сынақтаңыз.',
+'usercsspreview' => '</strong>Бұл тек қатысушы CSS файлыңызды қарап шығу екенін ұмытпаңыз, ол әлі сақталған жоқ!</strong>',
 'userjspreview' => "'''Мынау JavaScript қатысушы бағдарламасын тексеру/қарап шығу екенін ұмытпаңыз, ол әлі сақталған жоқ!'''",
 'sitecsspreview' => "'''Мынау CSS қатысушы бағдарламасын тексеру/қарап шығу екенін ұмытпаңыз, ол әлі сақталған жоқ!'''",
 'sitejspreview' => "'''Мынау JavaScript кодын тексеру/қарап шығу екенін ұмытпаңыз, ол әлі сақталған жоқ!'''",
@@ -1072,11 +1071,11 @@ IP-мекенжайыңыз бұл беттің түзету тарихында
 'previewconflict' => 'Бұл қарап шығу беті жоғарғы кірістіру орнындағы мәтінді қамтиды да және сақталғандағы өңді көрсетпек.',
 'session_fail_preview' => "'''Ғафу етіңіз! Сессия деректері жоғалуы салдарынан өңдемеңізді бітіре алмаймыз.
 Қайта байқап көріңіз. Егер бұл әлі істелмесе, шығуды және қайта кіруді байқап көріңіз.'''",
-'session_fail_preview_html' => "'''Ғафу етіңіз! Сессия деректері жоғалуы салдарынан өңдемеңізді бітіре алмаймыз.'''
+'session_fail_preview_html' => "<strong>Кешіріңіз! Сессия деректері жоғалуы салдарынан өңдемеңізді бітіре алмаймыз.</strong>
 
-''{{SITENAME}} жобасында қам HTML қосылған, JavaScript шабуылдардан қорғану үшін алдын ала қарап шығу жасырылған.''
+<em>{{SITENAME}} жобасында қам HTML қосылған, JavaScript шабуылдардан қорғану үшін алдын ала қарап шығу жасырылған.</em>
 
-'''Егер бұл өңдеме адал талап болса, қайта байқап көріңіз. Егер бұл әлі істемесе, шығуды және қайта кіруді байқап көріңіз.'''",
+<strong>Егер бұл өңдеме адал талап болса, қайта байқап көріңіз.</strong> Егер бұл әлі істемесе, [[Special:UserLogout|шығуды]] және қайта кіруді байқап көріңіз.'''",
 'token_suffix_mismatch' => "'''Өңдемеңіз тайдырылды, себебі тұтынғышыңыз өңдеме деректер бумасындағы тыныс белгілерін бүлдіртті.
 Бет мәтіні бүлінбеу үшін өңдемеңіз тайдырылады.
 Бұл кей уақытта қатесі толған веб-негізінде тіркелуі жоқ прокси-серверді пайдаланған болуы мүмкін.'''",
@@ -1114,7 +1113,7 @@ IP-мекенжайыңыз бұл беттің түзету тарихында
 Төменде бет журналының соңғы жазбасы көрсетілген:",
 'semiprotectedpagewarning' => "'''Аңғартпа:''' Бет жартылай қорғалған, сондықтан осыны тек тіркелген қатысушылар өңдей алады.
 Төменде бет журналының соңғы жазбасы көрсетілген:",
-'cascadeprotectedwarning' => "'''Ескету''': Бұл бет құлыпталған, енді тек әкімші құқықтары бар қатысушылар ғана бұны өңдей алады.Бұның себебі: бұл бет «баулы қорғауы» бар келесі {{PLURAL:$1|беттің|беттердің}} кірікбеті:",
+'cascadeprotectedwarning' => '<strong>Ескерту:</strong>  Бұл бет қорғалған, енді тек әкімші құқықтары бар қатысушылар ғана бұны өңдей алады, себебі бұл келесі «баулы қорғауы» бар {{PLURAL:$1|бетіне|беттеріне}} кірістілген бет:',
 'titleprotectedwarning' => "'''Ескерту: Бұл бет атауы бастаудан қорғалған, сондықтан [[Special:ListGroupRights|арнайы құқықтары]] бар қатысушылар бұндай атаумен бетті бастай алады.'''
 Төменде бет журналының соңғы жазбасы көрсетілген:",
 'templatesused' => 'Бұл бетте қолданылған {{PLURAL:$1|үлгі|үлгілер}}:',
@@ -1244,8 +1243,7 @@ $3 есімді қатысушының келтіріген себебі: <em>$2
 'revdelete-nooldid-text' => 'Бұл жетені орындау үшін нысана түзетуін/түзетулерін келтірілмепсіз,
 келтірілген түзету жоқ, не ағымдық түзетуді жасыру үшін әрекеттеніп көрдіңіз.',
 'revdelete-show-file-submit' => 'Иә',
-'revdelete-selected' => "'''[[:$1]] дегеннің бөлектенген {{PLURAL:$2|түзетуі|түзетулері}}:'''",
-'logdelete-selected' => "'''Бөлектенген {{PLURAL:$1|журнал оқиғасы|журнал оқиғалары}}:'''",
+'logdelete-selected' => 'Бөлектенген {{PLURAL:$1|журнал оқиғасы|журнал оқиғалары}}:',
 'revdelete-legend' => 'Көрініс тиымдарын қою:',
 'revdelete-hide-text' => 'Түзету мәтінін жасыр',
 'revdelete-hide-image' => 'Файл мағлұматын жасыр',
@@ -1275,7 +1273,7 @@ $1",
 # Suppression log
 'suppressionlog' => 'Шеттету журналы',
 'suppressionlogtext' => 'Төмендегі тізімде әкімшілерден жасырылған мағлұматқа қатысты жоюлар мен бұғаттаулар беріледі.
-Ағымда әрекеттегі тиым мен бұғаттау тізімі үшін [[Special:IPBlockList|IP бұғаттау тізімін]] қараңыз.',
+Қазіргі әрекет тиымдары және бұғаттау тізімі үшін [[Special:BlockList|бұғаттау тізімін]] қараңыз.',
 
 # History merging
 'mergehistory' => 'Беттер тарихын біріктіру',
@@ -1351,7 +1349,7 @@ $1",
 'searchprofile-project-tooltip' => '$1 іздеу',
 'searchprofile-images-tooltip' => 'Файлдарды іздеу',
 'searchprofile-everything-tooltip' => 'Барлық беттерден іздеу (талқылау беттерін қоса)',
-'searchprofile-advanced-tooltip' => 'Белгіленген есім кеңістігінен іздеу',
+'searchprofile-advanced-tooltip' => 'Әдепкі есім кеңістігінен іздеу',
 'search-result-size' => '$1 ({{PLURAL:$2|1 сөз|$2 сөз}})',
 'search-result-category-size' => '{{PLURAL:$1|1 мүше|$1 мүше}} ({{PLURAL:$2|1 санатша|$2 санатша}}, {{PLURAL:$3|1 файл|$3 файл}})',
 'search-result-score' => 'Арақатынастылығы: $1 %',
@@ -1362,7 +1360,7 @@ $1",
 'search-interwiki-default' => '$1 нәтиже:',
 'search-interwiki-more' => '(көбірек)',
 'search-relatedarticle' => 'Қатысты',
-'searcheverything-enable' => 'Ð\91елгÑ\96ленген есім кеңістігінен іздеу',
+'searcheverything-enable' => 'Ð\91аÑ\80лÑ\8bÒ\9b есім кеңістігінен іздеу',
 'searchrelated' => 'қатысты',
 'searchall' => 'барлық',
 'showingresults' => "Төменде нөмір '''$2''' орнынан бастап барынша '''$1''' нәтиже көрсетіледі.",
@@ -1371,7 +1369,7 @@ $1",
 'search-nonefound' => 'Сұрауға сәйкес нәтижелер табылмады.',
 'powersearch-legend' => 'Кеңейтілген іздеу',
 'powersearch-ns' => 'Атау кеңістіктері бойынша іздеу:',
-'powersearch-redir' => 'Ð\90йдаÑ\82уларды тізімдеу',
+'powersearch-redir' => 'Ð\91аÒ\93Ñ\8bÑ\82Ñ\82ауларды тізімдеу',
 'powersearch-togglelabel' => 'Белгілеу:',
 'powersearch-toggleall' => 'Барлығы',
 'powersearch-togglenone' => 'Ешқандай',
@@ -1522,7 +1520,7 @@ $1",
 # Groups
 'group' => 'Топ:',
 'group-user' => 'Қатысушылар',
-'group-autoconfirmed' => 'Өзқұпталған қатысушылар',
+'group-autoconfirmed' => 'Өздіктіқұпталған қатысушылар',
 'group-bot' => 'Боттар',
 'group-sysop' => 'Әкімшілер',
 'group-bureaucrat' => 'Бітікшілер',
@@ -1530,14 +1528,14 @@ $1",
 'group-all' => '(барлық)',
 
 'group-user-member' => '{{GENDER:$1|қатысушы}}',
-'group-autoconfirmed-member' => '{{GENDER:$1|өзқұпталған қатысушы}}',
+'group-autoconfirmed-member' => '{{GENDER:$1|өздіктіқұпталған қатысушы}}',
 'group-bot-member' => '{{GENDER:$1|бот}}',
 'group-sysop-member' => '{{GENDER:$1|әкімші}}',
 'group-bureaucrat-member' => '{{GENDER:$1|бітікші}}',
 'group-suppress-member' => '{{GENDER:$1|шеттетуші}}',
 
 'grouppage-user' => '{{ns:project}}:Қатысушылар',
-'grouppage-autoconfirmed' => '{{ns:project}}:Өзқұпталған қатысушылар',
+'grouppage-autoconfirmed' => '{{ns:project}}:Өздіктіқұпталған қатысушылар',
 'grouppage-bot' => '{{ns:project}}:Боттар',
 'grouppage-sysop' => '{{ns:project}}:Әкімшілер',
 'grouppage-bureaucrat' => '{{ns:project}}:Бітікшілер',
@@ -1669,15 +1667,15 @@ $1",
 'recentchanges-summary' => 'Бұл бетте осы уикидегі болған жуықтағы өзгерістер байқалады.',
 'recentchanges-noresult' => 'Бұл талап бойынша көрсетілген уақыттан бері өзгерістер болған жоқ.',
 'recentchanges-feed-description' => 'Бұл арнаменен уикидегі ең соңғы өзгерістер қадағаланады.',
-'recentchanges-label-newpage' => 'Ð\91ұл Ó©Ò£Ð´ÐµÐ¼Ðµ Ð°Ñ\80Ò\9bÑ\8bлÑ\8b Ð¶Ð°Ò£Ð° Ð±ÐµÑ\82 Ð±Ð°Ñ\81Ñ\82алдÑ\8b',
+'recentchanges-label-newpage' => 'Ð\96аңа Ð±ÐµÑ\82Ñ\82еÑ\80',
 'recentchanges-label-minor' => 'Бұл шағын өңдеме',
 'recentchanges-label-bot' => 'Бұл өңдемені бот жасады.',
 'recentchanges-label-unpatrolled' => 'Бұл өңдеме әлі тексеруден өтпеді.',
 'recentchanges-label-plusminus' => 'Байт бойынша беттің өзгеріс мөлшері',
 'recentchanges-legend-heading' => "'''Шартты белгілер:'''",
-'recentchanges-legend-newpage' => '(тағы қараңыз: [[Special:NewPages|жаңа беттер тізімі]])',
+'recentchanges-legend-newpage' => '(қ: [[Special:NewPages|бөлек бетте]])',
 'recentchanges-legend-plusminus' => "(''±123'')",
-'rcnotefrom' => 'Төменде <strong>$2</strong> кезінен бергі (<strong>$2</strong> жеткенше дейін) өзгерістер көрсетіледі.',
+'rcnotefrom' => 'Төменде <strong>$2</strong> кезінен бергі (<strong>$1</strong> өңдемеге дейін) өзгерістер көрсетіледі.',
 'rclistfrom' => '$1 кезінен бергі жаңа өзгерістерді көрсет.',
 'rcshowhideminor' => 'Шағын өңдемелерді $1',
 'rcshowhideminor-show' => 'көрсету',
@@ -1730,7 +1728,7 @@ $1",
 'reuploaddesc' => 'Жүктеу пішініне қайта келу.',
 'upload-tryagain' => 'Файл сипаттамасының өзгерістерін жөнелту',
 'uploadnologin' => 'Кірмегенсіз',
-'uploadnologintext' => 'Файлдарды $1 жүктеуіңіз керек.',
+'uploadnologintext' => 'Файлдарды жүктеу үшін $1.',
 'upload_directory_missing' => 'Жүктеу қалтасы ($1) жетіспейді және веб-сервер жарата алмайды.',
 'upload_directory_read_only' => 'Жүктеу қалтасына ($1) веб-сервер жаза алмайды.',
 'uploaderror' => 'Жүктеу қатесі',
@@ -1834,11 +1832,11 @@ The deletion and move log for this page are provided here for convenience:",
 'upload-proto-error-text' => 'Шеттен жүктеу үшін URL жайлары <code>http://</code> немесе <code>ftp://</code> дегендерден басталу жөн.',
 'upload-file-error' => 'Ішкі қате',
 'upload-file-error-text' => 'Серверде уақытша файл құрылуы ішкі қатесіне ұшырасты.
-Бұл жүйенің әкімшімен қатынасыңыз.',
+Бұл жүйенің [[Special:ListUsers/sysop|әкімшімен]] қатынасыңыз.',
 'upload-misc-error' => 'Жүктеу кезіндегі белгісіз қате',
 'upload-misc-error-text' => 'Жүктеу кезінде белгісіз қатеге ұшырасты.
 URL жарамды және қатынаулы екенін тексеріп шығыңыз да қайта байқап көріңіз.
-Егер бұл мәселе әлде де қалса, жүйе әкімшімен қатынасыңыз.',
+Егер бұл мәселе әлде де қалса, [[Special:ListUsers/sysop|жүйе әкімшімен]] қатынасыңыз.',
 'upload-too-many-redirects' => 'URL шектен тыс жылжытуларға ие',
 'upload-unknown-size' => 'Белгісіз өлшем',
 
@@ -2241,7 +2239,7 @@ URL дұрыс екендігін және торап істеп тұрғаны
 'mywatchlist' => 'Бақылау тізімі',
 'watchlistfor2' => '$1 ($2) бақылау тізімі',
 'nowatchlist' => 'Бақылау тізіміңізде еш дана жоқ',
-'watchlistanontext' => 'Бақылау тізіміңіздегі даналарды қарау, не өңдеу үшін $1 керек.',
+'watchlistanontext' => 'Бақылау тізіміңіздегі даналарды қарау не өңдеу үшін $1.',
 'watchnologin' => 'Кірмегенсіз',
 'watchnologintext' => 'Бақылау тізіміңізді өзгерту үшін [[Special:UserLogin|кіріңіз]].',
 'addwatch' => 'Бақылау тізіміңізге қосу',
@@ -2379,7 +2377,7 @@ $2 соңғы нұсқасына қайта өзгертті.',
 'protectlogpage' => 'Қорғау журналы',
 'protectlogtext' => 'Төменде беттердің қорғау/қорғамау тізімі берілген.
 Ағымдағы қорғау әректтер бар беттер үшін [[Special:ProtectedPages|қорғалған беттер тізімін]] қараңыз.',
-'protectedarticle' => '"[[$1]]" бетін қорғады',
+'protectedarticle' => '<<[[$1]]>> бетін қорғады',
 'modifiedarticleprotection' => '"[[$1]]" қорғалу деңгейін өзгертті',
 'unprotectedarticle' => '"[[$1]]" дегеннен қорғалуын жылжытты',
 'movedarticleprotection' => 'қорғалу баптауларын "[[$2]]" дегеннен "[[$1]]" дегенге жылжытты',
@@ -2402,8 +2400,8 @@ $2 соңғы нұсқасына қайта өзгертті.',
 Мына '''$1''' беттің ағымдық баптаулары:",
 'protect-locked-access' => "Тіркелгіңізге бет қорғау денгейлерін өзгертуіне рұқсат жоқ.
 Мына '''$1''' беттің ағымдық баптаулары:",
-'protect-cascadeon' => 'Бұл бет ағымда қорғалған, себебі осы бет «баулы қорғауы» бар келесі {{PLURAL:$1|беттің|беттердің}} кірікбеті.
\91ұл Ð±ÐµÑ\82Ñ\82Ñ\96Ò£ Ò\9bоÑ\80Ò\93аÑ\83 Ð´ÐµÒ£Ð³ÐµÐ¹Ñ\96н Ó©Ð·Ð³ÐµÑ\80Ñ\82е Ð°Ð»Ð°Ñ\81Ñ\8bз, Ð±Ñ\96Ñ\80аÒ\9b Ð±Ò±Ð» баулы қорғауға ықпал етпейді.',
+'protect-cascadeon' => '<strong>Бұл бет қазіргі уақытта өңдеуден қорғалған, себебі ол «баулы қорғауы» бар келесі {{PLURAL:$1|бетіне|беттеріне}} кірістірілген  кірікбеті.</strong>
\91ұл Ð±ÐµÑ\82Ñ\82Ñ\96Ò£ Ò\9bоÑ\80Ò\93аÑ\83 Ð´ÐµÒ£Ð³ÐµÐ¹Ñ\96н Ó©Ð·Ð³ÐµÑ\80Ñ\82кенде баулы қорғауға ықпал етпейді.',
 'protect-default' => 'Барлық қатысушыларға рұқсат ету',
 'protect-fallback' => 'Тек «$1» қатысушыларға рұқсат ету',
 'protect-level-autoconfirmed' => 'Тіркелгісіздерге тиым',
@@ -2448,8 +2446,8 @@ $2 соңғы нұсқасына қайта өзгертті.',
 'undeletepage' => 'Жойылған беттерді қарау және қалпына келтіру',
 'undeletepagetitle' => "'''Келесі тізім [[:$1|$1]] дегеннің жойылған түзетулерінен тұрады'''.",
 'viewdeletedpage' => 'Жойылған беттерді қарау',
-'undeletepagetext' => 'Келесі беттер жойылды деп белгіленген, бірақ мағлұматы мұрағатта бар
-жÓ\99не Ò\9bалпÑ\8bна ÐºÐµÐ»Ñ\82Ñ\96Ñ\80Ñ\83ге Ð¼Ò¯Ð¼ÐºÑ\96н. Ð\9cÒ±Ñ\80аÒ\93аÑ\82 Ð¼ÐµÑ\80зÑ\96м Ð±Ð¾Ð¹Ñ\8bнÑ\88а тазаланып тұруы мүмкін.',
+'undeletepagetext' => 'Келесі {{PLURAL:$1|бет жойылған бірақ|$1 бет жойылған бірақ}} мағлұматы мұрағатта бар
+жÓ\99не Ò\9bалпÑ\8bна ÐºÐµÐ»Ñ\82Ñ\96Ñ\80Ñ\83ге Ð±Ð¾Ð»Ð°Ð´Ñ\8b. Ð\9cÒ±Ñ\80аÒ\93аÑ\82 Ò±Ð´Ð°Ð¹Ñ\8b тазаланып тұруы мүмкін.',
 'undelete-fieldset-title' => 'Нұсқаларды қалпына келтіру',
 'undeleteextrahelp' => "Бүкіл бетті қалпына келтіру үшін, барлық құсбелгі көздерді босатып '''''{{int:Қалпына келтір!}}''''' батырмасын нұқыңыз.
 Бөлектеумен қалпына келтіру орындау үшін, келтіремін деген түзетулеріне сәйкес көздерге құсбелгі салыңыз да, және '''''{{int:Қалпына келтір!}}''''' түймесін нұқыңыз. '''''Қайта қой''''' түймесін нұқығанда мәндеме аумағы тазартады және барлық құсбелгі көздерін босатады.",
@@ -2556,9 +2554,9 @@ $1',
 'unblock' => 'Қатысушыны бұғаттамау',
 'blockip' => 'Қатысушыны бұғаттау',
 'blockip-legend' => 'Қатысушыны бұғаттау',
-'blockiptext' => 'ТөмендегÑ\96 Ð¿Ñ\96Ñ\88Ñ\96н Ò\9bаÑ\82Ñ\8bÑ\81Ñ\83Ñ\88Ñ\8bнÑ\8bÒ£ Ð¶Ð°Ð·Ñ\83 Ñ\80Ò±Ò\9bÑ\81аÑ\82Ñ\8bн Ð±ÐµÐ»Ð³Ñ\96лÑ\96 IP Ð¼ÐµÐºÐµÐ½Ð¶Ð°Ð¹Ñ\8bмен Ð½Ðµ Ð°Ñ\82Ñ\8bмен бұғаттау үшін қолданылады.
-Бұны тек бұзақылықты қақпайлау үшін және де [[{{Mediawiki:Policy-url}}|ережелер]] бойынша атқаруыңыз жөн.
-Төменде тиісті себебін толтырып көрсетіңіз (мысалы, дәйекке бұзақылықпен өзгерткен беттерді келтіріп).',
+'blockiptext' => 'ТөмендегÑ\96 Ð¿Ñ\96Ñ\88Ñ\96н Ò\9bаÑ\82Ñ\8bÑ\81Ñ\83Ñ\88Ñ\8bнÑ\8bÒ£ Ð¶Ð°Ð·Ñ\83 Ñ\80Ò±Ò\9bÑ\81аÑ\82Ñ\8bн Ð±ÐµÐ»Ð³Ñ\96лÑ\96 IP Ð¼ÐµÐºÐµÐ½Ð¶Ð°Ð¹Ñ\8bнан Ð½Ðµ Ò\9bаÑ\82Ñ\8bÑ\81Ñ\83Ñ\88Ñ\8b ÐµÑ\81Ñ\96мÑ\96нен бұғаттау үшін қолданылады.
+Бұны тек бұзақылықты қақпайлау үшін және де [[{{MediaWiki:Policy-url}}|ережелер]] бойынша атқаруыңыз жөн.
+Төменде тиісті себебін көрсетіңіз (мысалы, дәйекке бұзақылықпен өзгерткен беттерді келтіріп).',
 'ipadressorusername' => 'IP-мекенжайы немесе қатысушы аты:',
 'ipbexpiry' => 'Мерзімі бітпек:',
 'ipbreason' => 'Себебі:',
@@ -2627,9 +2625,13 @@ $1',
 'change-blocklink' => 'Бұғаттауын өзгерту',
 'contribslink' => 'үлесі',
 'emaillink' => 'хат жіберу',
-'autoblocker' => 'IP мекенжайыңызды жуықта "[[User:$1|$1]]" пайдаланған, сондықтан өзбұғатталған.
-$1 бұғаттауы үшін келтірілген себебі: «$2».',
+'autoblocker' => 'IP Ð¼ÐµÐºÐµÐ½Ð¶Ð°Ð¹Ñ\8bÒ£Ñ\8bздÑ\8b Ð¶Ñ\83Ñ\8bÒ\9bÑ\82а "[[User:$1|$1]]" Ð¿Ð°Ð¹Ð´Ð°Ð»Ð°Ð½Ò\93ан, Ñ\81ондÑ\8bÒ\9bÑ\82ан Ó©Ð·Ð´Ñ\96гÑ\96нен Ð±Ò±Ò\93аÑ\82Ñ\82алÒ\93ан.
+$1 бұғаттауы үшін келтірілген себебі: «\'\'$2\'\'».',
 'blocklogpage' => 'Бұғаттау журналы',
+'blocklog-showlog' => 'Бұл қатысушы ұдайы бұғатталып отырған.
+Дерек үшін төменде бұғатталу журналы берілген:',
+'blocklog-showsuppresslog' => 'Бұл қатысушы ұдайы жасырылып және бұғатталып отырған.
+Дерек үшін төменде жасыру журналы берілген:',
 'blocklogentry' => '[[$1]] дегенді $2 мерзімге бұғаттады $3',
 'blocklogtext' => 'Бұл қатысушыларды бұғаттау/бұғаттамау әрекеттерінің журналы.
 Өздіктік бұғатталған IP мекенжайлар осында тізімделгемеген.
@@ -2657,6 +2659,7 @@ $1 бұғаттауы үшін келтірілген себебі: «$2».',
 'sorbsreason' => 'IP мекенжайыңыз {{SITENAME}} торабында қолданылған DNSBL қара тізіміндегі ашық прокси-сервер деп табылады.',
 'sorbs_create_account_reason' => 'IP мекенжайыңыз {{SITENAME}} торабында қолданылған DNSBL қара тізіміндегі ашық прокси-сервер деп табылады.
 Жаңа тіркелгі жасай алмайсыз.',
+'ipbblocked' => 'Басқа қатысушыларды бұғаттай не бұғаттаудан шығара алмайсыз себебі сіз өзіңізді бұғаттағасызү',
 'ipbnounblockself' => 'Өзіңіздің бұғаттауыңызды алып тастау рұқсат етілмеген',
 
 # Developer tools
@@ -2674,7 +2677,7 @@ $1 бұғаттауы үшін келтірілген себебі: «$2».',
 'lockdbsuccesssub' => 'Дерекқор құлыптауы сәтті өтті',
 'unlockdbsuccesssub' => 'Дерекқор құлыптауы аласталды',
 'lockdbsuccesstext' => 'Дерекқор құлыпталды.<br />
\91апÑ\82аÑ\83 Ñ\82олÑ\8bÒ\9b Ó©Ñ\82кÑ\96зÑ\96лгеннен ÐºÐµÐ¹Ñ\96н [[{{#special:Unlockdb}}|Ò\9bұлÑ\8bпÑ\82аÑ\83Ñ\8bн Ð°Ð»Ð°Ñ\81Ñ\82аÑ\83Ò\93а]] ұмытпаңыз.',
¢ÐµÑ\85никалÑ\8bÒ\9b Ò\9bÑ\8bзмеÑ\82 ÐºÓ©Ñ\80Ñ\81еÑ\82Ñ\83Ñ\96Ò£Ñ\96здÑ\96 Ð±Ñ\96Ñ\82Ñ\96Ñ\80геннен ÐºÐµÐ¹Ñ\96н [[Special:UnlockDB|Ò\9bұлÑ\8bпÑ\82аÑ\83Ñ\8bн Ð°Ð»Ð°Ñ\81Ñ\82аÑ\83дÑ\8b]] ұмытпаңыз.',
 'unlockdbsuccesstext' => 'Құлыпталған дерекқор сәтті ашылды.',
 'lockfilenotwritable' => 'Дерекқор құлыптау файлы жазылмайды.
 Дерекқорды құлыптау не ашу үшін, веб-сервер файлға жазу рұқсаты болу керек.',
@@ -2714,6 +2717,9 @@ $1 бұғаттауы үшін келтірілген себебі: «$2».',
 'moveuserpage-warning' => '<strong>Ескерту:</strong> Сіз қатысушы бетін жылжытпақшысыз. Назар аударыңыз, қатысушы беті ғана жылжытылуы мүмкін және қатысушы аты <em>өзгертілмейді</em>.',
 'movenologintext' => 'Бетті жылжыту үшін тіркелген болуыңыз және [[{{#special:UserLogin}}|кіруіңіз]] жөн.',
 'movenotallowed' => '{{SITENAME}} жобасында беттерді жылжытуға рұқсатыңыз жоқ.',
+'movenotallowedfile' => 'Файлдарды жылжытуға рұқсатыңыз жоқ.',
+'cant-move-user-page' => 'Қатысушы беттерін жылжытуға рұқсатыңыз жоқ (төменгі беттерінен басқа).',
+'cant-move-to-user-page' => 'Бетті қатысушы бетіне жылжытуға рұқсатыңыз жоқ (төменгі беттерін қоспағанда).',
 'newtitle' => 'Жаңа бет атауы:',
 'move-watch' => 'Бұл бетті бақылау',
 'movepagebtn' => 'Бетті жылжыту',
@@ -2747,7 +2753,9 @@ $1 бұғаттауы үшін келтірілген себебі: «$2».',
 бет өзінің үстіне жылжытылмайды.',
 'immobile-source-namespace' => '"$1" есім кеңістігіндегі беттер жылжытылмайды',
 'immobile-target-namespace' => '"$1" есім кеңістігіне беттерді жылдытылмайды',
+'immobile-target-namespace-iw' => 'Бетті жылжытуы үшін интеруики сілтемесі жарамды нысана емес.',
 'immobile-source-page' => 'Бұл бет жылжытылмайды.',
+'immobile-target-page' => 'Бұл тағайындалған атауға жылжытылмайды',
 'imagenocrossnamespace' => 'Файл емес есім кеңістігіне файл жылжытылмайды',
 'nonfile-cannot-move-to-file' => 'Файл емес есім кеңістігінен файл есім кеңістігіне жылжытылмайды',
 'imagetypemismatch' => 'Файлдың жаңа кеңейтімі бұның түріне сәйкес емес',
@@ -2757,6 +2765,10 @@ $1 бұғаттауы үшін келтірілген себебі: «$2».',
 Төменде ең соңғы журнал жазбасы көрсетілген:',
 'semiprotectedpagemovewarning' => "'''Ескерту:''' Бұл бет жылжытудан қорғалған оны тек тіркелген қатысушылар ғана жылжытыта алады.
 Төменде ең соңғы журнал енгізілімі көрсетілген:",
+'move-over-sharedrepo' => '== Файл бар ==
+[[:$1]] файлы Ортаққорда бар. Бұл атауға файлды жылжытқанда Ортаққордағы файлдың үстінен жазылады.',
+'file-exists-sharedrepo' => 'Таңдалған файл атауы әлдеқашан ортаққорда пайдаланылады. 
+Басқа атау таңдаңыз.',
 
 # Export
 'export' => 'Беттерді сыртқа беру',
@@ -2823,6 +2835,7 @@ $2',
 'importstart' => 'Беттерді сырттан алуда…',
 'import-revision-count' => '$1 түзету',
 'importnopages' => 'Сырттан алынатын беттер жоқ.',
+'imported-log-entries' => '$1 импортталды {{PLURAL:$1|журнал жазбасы|журнал жазбасы}}.',
 'importfailed' => 'Сырттан алу сәтсіз бітті: <nowiki>$1</nowiki>',
 'importunknownsource' => 'Cырттан алынатын қайнар түрі белгісіз',
 'importcantopen' => 'Сырттан алынатын файл ашылмайды',
@@ -2840,6 +2853,8 @@ $2',
 'import-nonewrevisions' => 'Барлық түзетулері алдында сырттан алынған.',
 'xml-error-string' => '$1 нөмір $2 жолда, баған $3 (байт $4): $5',
 'import-upload' => 'XML деректерін жүктеу',
+'import-token-mismatch' => 'Сессия деректері жоғалған.
+Қайта байқап көріңіз.',
 'import-options-wrong' => 'Қате {{PLURAL:$2|параметр|параметр}}: <nowiki>$1</nowiki>',
 
 # Import log
@@ -2919,7 +2934,7 @@ $2',
 'tooltip-upload' => 'Жүктеуді бастау',
 'tooltip-rollback' => '"Шегіндіру" сілтемесін бір рет басу арқылы соңға редактордың барлық қатар өңдемелерін өшіру',
 'tooltip-preferences-save' => 'Бапталымдарыңызды сақтау',
-'tooltip-summary' => 'Ò\9aÑ\8bÑ\81Ò\9bаÑ\88а Ñ\81ипаÑ\82Ñ\82амаÑ\81Ñ\8bн Ð¶Ð°Ð·Ñ\8bÒ£Ñ\8bз',
+'tooltip-summary' => 'Ò\9aÑ\8bÑ\81Ò\9bаÑ\88а Ñ\82үйÑ\96ндемеÑ\81Ñ\96н ÐµÐ½Ð³Ñ\96зÑ\96Ò£Ñ\96з',
 
 # Stylesheets
 'common.css' => '/* Мында орналастырылған CSS барлық мәнерлерде қолданылады */',
@@ -2950,8 +2965,8 @@ $2',
 
 # Spam protection
 'spamprotectiontitle' => '«Спам»-нан қорғайтын сүзгі',
-'spamprotectiontext' => 'Ð\91ұл Ð±ÐµÑ\82Ñ\82Ñ\96Ò£ Ñ\81аÒ\9bÑ\82аÑ\83Ñ\8bн Â«Ñ\81пам» Ñ\81үзгÑ\96Ñ\81і бұғаттады.
-Бұның себебі шеттік торап сілтемесінен болуы мүмкін.',
+'spamprotectiontext' => 'СаÒ\9bÑ\82аÒ\93Ñ\8bÒ£Ñ\8bз ÐºÐµÐ»Ð³ÐµÐ½ Ð¼Ó\99Ñ\82Ñ\96ндÑ\96 Ñ\81пам Ñ\81үзгÑ\96Ñ\88і бұғаттады.
+Бұның себебі қаратізімге енген сыртқы сайт сілтемесінен болуы мүмкін.',
 'spamprotectionmatch' => 'Келесі «спам» мәтіні сүзгіленген: $1',
 'spambot_username' => 'MediaWiki spam cleanup',
 'spam_reverting' => '$1 дегенге сілтемелері жоқ соңғы нұсқасына қайтарылды',
@@ -3167,9 +3182,9 @@ $1',
 'exif-exposureprogram' => 'Ұсталым бағдарламасы',
 'exif-spectralsensitivity' => 'Спектр бойынша сезгіштігі',
 'exif-isospeedratings' => 'ISO жылдамдық жарнақтауы (жарық сезгіштігі)',
-'exif-shutterspeedvalue' => 'Жапқыш жылдамдылығы',
-'exif-aperturevalue' => 'Саңылаулық',
-'exif-brightnessvalue' => 'Жарықтылық',
+'exif-shutterspeedvalue' => 'APEX жапқыш жылдамдылығы',
+'exif-aperturevalue' => 'APEX саңылаулық',
+'exif-brightnessvalue' => 'APEX жарықтылық',
 'exif-exposurebiasvalue' => 'Ұсталым өтемі',
 'exif-maxaperturevalue' => 'Барынша саңылау ашуы',
 'exif-subjectdistance' => 'Нысана қашықтығы',
@@ -3262,6 +3277,9 @@ $1',
 'exif-label' => 'Деңгей',
 'exif-copyrighted' => 'Авторлық құқық күйі:',
 'exif-copyrightowner' => 'Авторлық құқықтар иесі',
+'exif-usageterms' => 'Қолдану шарттары',
+'exif-disclaimer' => 'Қабылдамау хабарламасы',
+'exif-contentwarning' => 'Мазмұн ескертуі',
 
 # Exif attributes
 'exif-compression-1' => 'Ұлғайтылған',
@@ -3484,7 +3502,8 @@ $5
 
 # Scary transclusion
 'scarytranscludedisabled' => '[Уики-аралық кірікбеттер өшірілген]',
-'scarytranscludefailed' => '[$1 үшін үлгі келтіруі сәтсіз бітті; ғафу етіңіз]',
+'scarytranscludefailed' => '[$1 үшін үлгі келтіруі сәтсіз болды]',
+'scarytranscludefailed-httpstatus' => '[$1: HTTP $2 үшін үлгі келтіруі сәтсіз болды]',
 'scarytranscludetoolong' => '[URL тым ұзын]',
 
 # Delete conflict
@@ -3537,7 +3556,7 @@ $5
 'autosumm-blank' => 'Беттің барлық мағлұматын аластады',
 'autosumm-replace' => 'Бетті "$1" дегенмен алмастырды',
 'autoredircomment' => '[[$1]] дегенге айдады',
-'autosumm-new' => 'Жаңа бетте: "$1"',
+'autosumm-new' => 'Жаңа бетте: $1',
 
 # Size units
 'size-bytes' => '$1 байт',
@@ -3646,9 +3665,15 @@ $5
 'version-hook-name' => 'Тұзақ атауы',
 'version-hook-subscribedby' => 'Тұзақ тартқыштары',
 'version-version' => '(Нұсқасы: $1)',
-'version-license' => 'Лицензиясы',
+'version-license' => 'MediaWiki Лицензиясы',
 'version-ext-license' => 'Лицензия',
+'version-ext-colheader-name' => 'Кеңейтілім',
+'version-ext-colheader-version' => 'Нұсқасы',
+'version-ext-colheader-license' => 'Лицензиясы',
+'version-ext-colheader-description' => 'Сипаттамасы',
 'version-ext-colheader-credits' => 'Автор(лары)',
+'version-license-title' => '$1 үшін лицензия',
+'version-license-not-found' => 'Бұл кеңейтілім үшін егжей-тегжейі жоқ лицензия мәліметі табылды.',
 'version-poweredby-others' => 'басқалар',
 'version-software' => 'Орнатылған бағдарламалық жасақтама',
 'version-software-product' => 'Өнім',
@@ -3661,6 +3686,7 @@ $5
 'redirect-lookup' => 'Іздеу:',
 'redirect-value' => 'Мән:',
 'redirect-user' => 'Қатысушы ID',
+'redirect-page' => 'Бет ID-і',
 'redirect-revision' => 'Бет түзетуі',
 'redirect-file' => 'Файл атауы',
 'redirect-not-exists' => 'Мән табылмады',
@@ -3678,7 +3704,7 @@ $5
 
 # Special:SpecialPages
 'specialpages' => 'Арнайы беттер',
-'specialpages-note' => '* Кәдімгі арнайы беттер.
+'specialpages-note' => '* Қалпты арнайы беттер.
 * <span class=="mw-specialpagerestricted">Шектелген арнайы беттер.</span>',
 'specialpages-group-maintenance' => 'Техникалық талқылау есептері',
 'specialpages-group-other' => 'Тағы басқа арнайы беттер',
@@ -3720,6 +3746,9 @@ $5
 'compare-rev1' => 'Нұсқа 1',
 'compare-rev2' => 'Нұсқа 2',
 'compare-submit' => 'Салыстыру',
+'compare-invalid-title' => 'Cіз көрсеткен атау жарамды емес.',
+'compare-title-not-exists' => 'Cіз көрсеткен атау жоқ.',
+'compare-revision-not-exists' => 'Cіз көрсеткен нұсқа жоқ.',
 
 # Database error messages
 'dberr-header' => 'Бұл уикиде мәселе бар',
@@ -3752,7 +3781,8 @@ $5
 'logentry-move-move_redir-noredirect' => '$1 $3 бетін $4 деген айдатқыш үстіне {{GENDER:$2|жылжытты}} (айдатқыш қалдырылмады)',
 'logentry-newusers-newusers' => '$1 жаңадан қатысушы тіркелгісін {{GENDER:$2|жасады}}',
 'logentry-newusers-create' => '$1 жаңадан аккаунт тіркеді',
-'logentry-newusers-create2' => '$1 $3 деген аккаунт тіркеді',
+'logentry-newusers-create2' => '$1 $3 деген аккаунт {{GENDER:$2|тіркеді}}',
+'logentry-newusers-byemail' => '$1 $3 деген аккаунт {{GENDER:$2|тіркеді}} және құпия сөзі е-пошта арқылы жіберілді',
 'logentry-newusers-autocreate' => '$1 қатысушы аккаунтын автоматты түрде {{GENDER:$2|тіркеді}}',
 'logentry-rights-rights' => '$1 $3 үшін топ мүшелігін $4 дегеннен $5 дегенге {{GENDER:$2|өзгерті}}',
 'logentry-rights-rights-legacy' => '$1 $3 үшін топ мүшелігін {{GENDER:$2|өзгерті}}',
index 6593320..4d35aea 100644 (file)
@@ -542,7 +542,6 @@ $messages = array(
 'disclaimers' => 'Jawapkerşilikten bas tartw',
 'disclaimerpage' => 'Project:Jawapkerşilikten bas tartw',
 'edithelp' => 'Öndew anıqtaması',
-'helppage' => 'Help:Mazmunı',
 'mainpage' => 'Bastı bet',
 'mainpage-description' => 'Bastı bet',
 'policy-url' => 'Project:Erejeler',
@@ -826,7 +825,7 @@ E-poşta mekenjaýıñızdı [[{{#special:Preferences}}|paýdalanwşılıq bapta
 'accmailtext' => '$2 jaýına «$1» qupïya sözi jöneltildi.',
 'newarticle' => '(Jaña)',
 'newarticletext' => 'Siltemege erip äli bastalmağan betke kelipsiz.
-Betti bastaw üşin, tömendegi kiristirw ornında mätiniñizdi teriñiz (köbirek aqparat üşin [[{{{{ns:mediawiki}}:helppage}}|anıqtama betin]] qarañız).
+Betti bastaw üşin, tömendegi kiristirw ornında mätiniñizdi teriñiz (köbirek aqparat üşin [[{{{{ns:mediawiki}}:helppage}}|anıqtama betin] qarañız).
 Eger jañılğannan osında kelgen bolsañız, şolğışıñız «Artqa» degen batırmasın nuqıñız.',
 'anontalkpagetext' => "----''Bul tirkelgisiz (nemese tirkelgisin qoldanbağan) qatıswşı talqılaw beti. Osı qatıswşını biz tek sandıq IP mekenjaýımen teñdestiremiz.
 Osındaý IP mekenjaý birneşe qatıswşığa ortaqtastırılğan bolwı mümkin.
@@ -972,8 +971,7 @@ Mında [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} joyw jwrnalı
 'revdelete-nooldid-title' => 'Nısana tüzetw jaramsız',
 'revdelete-nooldid-text' => 'Bul jeteni orındaw üşin nısana tüzetwin/tüzetwlerin keltirilmepsiz,
 keltirilgen tüzetw joq, ne ağımdıq tüzetwdi jasırw üşin ärekettenip kördiñiz.',
-'revdelete-selected' => "'''[[:$1]] degenniñ bölektengen {{PLURAL:$2|tüzetwi|tüzetwleri}}:'''",
-'logdelete-selected' => "'''Bölektengen {{PLURAL:$1|jwrnal oqïğası|jwrnal oqïğaları}}:'''",
+'logdelete-selected' => 'Bölektengen {{PLURAL:$1|jwrnal oqïğası|jwrnal oqïğaları}}:',
 'revdelete-legend' => 'Körinis tïımdarın qoyw:',
 'revdelete-hide-text' => 'Tüzetw mätinin jasır',
 'revdelete-hide-image' => 'Faýl mağlumatın jasır',
index 8f4f8dd..bef03f4 100644 (file)
@@ -509,7 +509,6 @@ $1',
 'disclaimers' => 'ការបដិសេធ',
 'disclaimerpage' => 'Project:ការបដិសេធ​ទូទៅ',
 'edithelp' => 'ជំនួយ​ក្នុងការកែប្រែ',
-'helppage' => 'Help:មាតិកា',
 'mainpage' => 'ទំព័រដើម',
 'mainpage-description' => 'ទំព័រដើម',
 'policy-url' => 'Project:គោលការណ៍',
@@ -995,7 +994,7 @@ $2
 'accmailtext' => "ពាក្យសម្ងាត់​ដែល​បាន​បង្កើត​ដោយ​ចៃដន្យ​សម្រាប់ [[User talk:$1|$1]] ត្រូវបានផ្ញើទៅ $2 ហើយ​។ អ្នកអាច​​ប្ដូរ​វាបាននៅ​​ទំព័រ ''[[Special:ChangePassword|ប្ដូរ​ពាក្យសម្ងាត់]]'' បន្ទាប់ពីកត់ឈ្មោះចូលហើយ​។",
 'newarticle' => '(ថ្មី)',
 'newarticletext' => "អ្នកបានតាម​តំណភ្ជាប់​ទៅ​ទំព័រដែលមិនទាន់មាននៅឡើយ។
-ដើម្បីបង្កើតទំព័រនេះ សូមចាប់ផ្ដើមវាយ​ក្នុងប្រអប់ខាងក្រោម (សូមមើល [[{{MediaWiki:Helppage}}|ទំព័រ​ជំនួយ]] សម្រាប់​ព័ត៌មានបន្ថែម)។
+ដើម្បីបង្កើតទំព័រនេះ សូមចាប់ផ្ដើមវាយ​ក្នុងប្រអប់ខាងក្រោម (សូមមើល [$1 ទំព័រ​ជំនួយ] សម្រាប់​ព័ត៌មានបន្ថែម)។
 បើ​អ្នក​មក​ទីនេះដោយអចេតនា សូមចុចប៊ូតុង '''ត្រឡប់ក្រោយ''' របស់ឧបករណ៍រាវរករបស់អ្នក។",
 'anontalkpagetext' => "----''ទំព័រពិភាក្សានេះគឺសម្រាប់តែអ្នកប្រើប្រាស់អនាមិកដែលមិនទាន់បានបង្កើតគណនីតែប៉ុណ្ណោះ។ ដូច្នេះអាសយដ្ឋានលេខIPរបស់កុំព្យូទ័ររបស់លោកអ្នក​នឹងត្រូវបានបង្ហាញ ដើមី្បសម្គាល់លោកអ្នក។
 
@@ -1225,8 +1224,7 @@ $2
 'revdelete-no-file' => 'មិនមានឯកសារ​ដែលអ្នកចង់រកទេ។',
 'revdelete-show-file-confirm' => 'តើ​អ្នក​ប្រាកដ​ហើយ​ថា​អ្នក​ចង់​មើល​កំណែ​ប្រែ​ដែល​បាន​លុប​នៃ​ឯកសារ​ "<nowiki>$1</nowiki>" ពី $2 នៅ $3 ?',
 'revdelete-show-file-submit' => 'បាទ/ចាស',
-'revdelete-selected' => "'''{{PLURAL:$2|កំណែប្រែ​ដែលបាន​ជ្រើសយក}}របស់​[[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|ព្រឹត្តិការណ៍​កំណត់​ហេតុ​ដែលបាន​ជ្រើសយក}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|ព្រឹត្តិការណ៍​កំណត់​ហេតុ​ដែលបាន​ជ្រើសយក}}:',
 'revdelete-suppress-text' => "ការ​ហាមឃាត់​គួរ​ត្រូវ​បាន​អនុវត្តិ​លើ​ករណី​ដូច​ខាង​ក្រោម​នេះ​ប៉ុណ្ណោះ​៖
 * ព័ត៌មានបង្ខូចកេរ្ដិ៍ឈ្មោះធ្ងន់ធ្ងរ
 * ព័ត៌មាន​ផ្ទាល់​ខ្លួន​មិន​សមរម្យ​
index 8488642..408848b 100644 (file)
@@ -309,7 +309,6 @@ $messages = array(
 'disclaimers' => 'ಅಬಾಧ್ಯತೆಗಳು',
 'disclaimerpage' => 'Project:ಸಾಮಾನ್ಯ ಅಬಾಧ್ಯತೆಗಳು',
 'edithelp' => 'ಸಂಪಾದನೆಗೆ ಸಹಾಯ',
-'helppage' => 'Help:ಪರಿವಿಡಿ',
 'mainpage' => 'ಮುಖ್ಯ ಪುಟ',
 'mainpage-description' => 'ಮುಖ್ಯ ಪುಟ',
 'policy-url' => 'Project:ನಿಯಮಾವಳಿಗಳು',
@@ -672,7 +671,7 @@ $2',
 'newarticle' => '(ಹೊಸತು)',
 'newarticletext' => "ಇನ್ನೂ ಅಸ್ಥಿತ್ವದಲ್ಲಿ ಇರದ ಪುಟದ ಲಿಂಕ್ ಅನ್ನು ನೀವು ಒತ್ತಿರುವಿರಿ.
 ಈ ಪುಟವನ್ನು ಸೃಷ್ಟಿಸಲು ಕೆಳಗಿನ ಚೌಕದಲ್ಲಿ ಬರೆಯಲು ಆರಂಭಿಸಿರಿ.
-(ಹೆಚ್ಚು ಮಾಹಿತಿಗೆ [[{{MediaWiki:Helppage}}|ಸಹಾಯ ಪುಟ]] ನೋಡಿ).
+(ಹೆಚ್ಚು ಮಾಹಿತಿಗೆ [$1 ಸಹಾಯ ಪುಟ] ನೋಡಿ).
 ಈ ಪುಟಕ್ಕೆ ನೀವು ತಪ್ಪಾಗಿ ಬಂದಿದ್ದಲ್ಲಿ ನಿಮ್ಮ ಬ್ರೌಸರ್‍ನ '''back''' ಬಟನ್ ಅನ್ನು ಒತ್ತಿ.",
 'anontalkpagetext' => "----''ಇದು ಖಾತೆಯೊಂದನ್ನು ಹೊಂದಿರದ ಅನಾಮಧೇಯ ಬಳಕೆದಾರರೊಬ್ಬರ ಚರ್ಚೆ ಪುಟ.
 ಖಾತೆಯಿಲ್ಲದಿರುವುದರಿಂದ ಅವರನ್ನು ಗುರುತಿಸಲು ಅವರ IP ವಿಳಾಸವನ್ನು ಉಪಯೋಗಿಸುತ್ತಿದ್ದೇವೆ.
@@ -811,7 +810,6 @@ $2',
 'rev-delundel' => 'ತೋರಿಸು/ಅಡಗಿಸು',
 'rev-showdeleted' => 'ತೋರಿಸು',
 'revdelete-show-file-submit' => 'ಹೌದು',
-'revdelete-selected' => "'''[[:$1]]ರ ಆಯ್ಕೆಯಾಗಿರುವ {{PLURAL:$2|ಆವೃತ್ತಿ|ಆವೃತ್ತಿಗಳು}}:'''",
 'revdelete-legend' => 'ಕಾಣಿಸುವಿಕೆಯ ನಿಬಂಧನೆಗಳನ್ನು ನಿಶ್ಚಯಿಸು',
 'revdelete-hide-text' => 'ಬದಲಾವಣೆಯ ಪಠ್ಯವನ್ನು ಅಡಗಿಸು',
 'revdelete-hide-image' => 'ಫೈಲಿನಲ್ಲಿರುವ ಮಾಹಿತಿಯನ್ನು ಅಡಗಿಸು',
index 3396154..17be9c2 100644 (file)
@@ -610,7 +610,6 @@ $1',
 'disclaimers' => '면책 조항',
 'disclaimerpage' => 'Project:면책 조항',
 'edithelp' => '편집 도움말',
-'helppage' => 'Help:목차',
 'mainpage' => '대문',
 'mainpage-description' => '대문',
 'policy-url' => 'Project:정책',
@@ -812,6 +811,7 @@ $2',
 'gotaccountlink' => '로그인하세요',
 'userlogin-resetlink' => '로그인 정보를 잊으셨나요?',
 'userlogin-resetpassword-link' => '비밀번호를 잊으셨나요?',
+'userlogin-helplink2' => '로그인에 대한 도움말',
 'userlogin-loggedin' => '이미 $1로 로그인되어 있습니다. 아래의 양식을 사용하여 다른 계정으로 로그인하세요.',
 'userlogin-createanother' => '다른 계정 만들기',
 'createacct-join' => '아래에 정보를 입력하세요.',
@@ -945,11 +945,14 @@ $1 뒤에 다시 시도하세요.',
 'resetpass-abort-generic' => '비밀번호 바꾸기가 확장 기능에 의해 중단되었습니다.',
 'resetpass-expired' => '비밀번호가 만료되었습니다. 로그인하려면 새로운 비밀번호를 설정해야 합니다.',
 'resetpass-expired-soft' => '비밀번호가 만료되어 재설정해야 합니다. 지금 새로운 비밀번호를 선택하거나, "{{int:resetpass-submit-cancel}}"를 클릭하고 나중에 재설정해주세요.',
+'resetpass-validity-soft' => '귀하의 비밀번호는 유효하지 않습니다: $1
+
+새로운 비밀번호를 지금 설정하거나, "{{int:resetpass-submit-cancel}}"을 눌러 나중에 재설정하세요.',
 
 # Special:PasswordReset
 'passwordreset' => '비밀번호 재설정',
-'passwordreset-text-one' => '비밀번호를 재설정하려면 이 양식을 작성해주세요.',
-'passwordreset-text-many' => '{{PLURAL:$1|이메일로 임시 비밀번호를 발급받으려면 필드 중 하나를 채우세요.}}',
+'passwordreset-text-one' => '이메일을 통해 임시 비밀번호를 받으려면 이 양식을 채우세요.',
+'passwordreset-text-many' => '{{PLURAL:$1|이메일을 통해 임시 비밀번호를 받으려면 필드 중 하나를 채우세요.}}',
 'passwordreset-legend' => '비밀번호 재설정',
 'passwordreset-disabled' => '이 위키에서는 비밀번호를 재설정할 수 없습니다.',
 'passwordreset-emaildisabled' => '이 위키에서 이메일 기능이 비활성화되어 있습니다.',
@@ -986,7 +989,7 @@ $2
 # Special:ChangeEmail
 'changeemail' => '이메일 주소 바꾸기',
 'changeemail-header' => '계정 메일 주소 바꾸기',
-'changeemail-text' => 'ì\9d´ë©\94ì\9d¼ ì£¼ì\86\8c를 ë°\94꾸려면 ì\9d´ ì\96\91ì\8b\9dì\9d\84 ì\9e\91ì\84±í\95´ì£¼ì\84¸ì\9a\94. 바뀜을 확인하기 위해 비밀번호를 입력해야 합니다.',
+'changeemail-text' => 'ì\9d´ë©\94ì\9d¼ ì£¼ì\86\8c를 ë°\94꾸려면 ì\9d´ ì\96\91ì\8b\9dì\9d\84 ì±\84ì\9a°ì\84¸ì\9a\94. ì\9d´ 바뀜을 확인하기 위해 비밀번호를 입력해야 합니다.',
 'changeemail-no-info' => '이 특수 문서에 직접 접근하려면 반드시 로그인해야 합니다.',
 'changeemail-oldemail' => '현재 이메일 주소 :',
 'changeemail-newemail' => '새 이메일 주소:',
@@ -1091,7 +1094,7 @@ $1 또는 [[{{MediaWiki:Grouppage-sysop}}|다른 관리자]]에게 차단에 대
 'accmailtext' => '[[User talk:$1|$1]] 사용자의 비밀번호를 임의로 만들어 $2(으)로 보냈습니다. 로그인하고 나서 [[Special:ChangePassword|비밀번호를 바꿀]] 수 있습니다.',
 'newarticle' => '(새 문서)',
 'newarticletext' => "아직 없는 문서의 링크를 따라왔습니다.
-새 문서를 만들려면 아래 상자에 내용을 입력하면 됩니다. (자세한 내용은 [[{{MediaWiki:Helppage}}|도움말 문서]]를 참고하세요)
+새 문서를 만들려면 아래 상자에 내용을 입력하면 됩니다. (자세한 내용은 [$1 도움말 문서]를 참고하세요)
 만약 잘못 찾아왔다면, 브라우저의 '''뒤로''' 버튼을 눌러 주세요.",
 'anontalkpagetext' => '----
 여기는 계정을 만들지 않았거나 사용하고 있지 않은 익명 사용자를 위한 토론 문서입니다.
@@ -1104,7 +1107,7 @@ IP 주소는 여러 사용자가 공유할 수 있습니다.
 문서를 직접 [{{fullurl:{{FULLPAGENAME}}|action=edit}} 편집]</span>할 수 있습니다.',
 'noarticletext-nopermission' => '이 문서가 현재 존재하지 않습니다.
 이 문서와 제목이 비슷한 문서가 있는지 [[Special:Search/{{PAGENAME}}|검색하거나]], 이 문서에 관련된 <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 기록]을 확인할 수 있습니다.</span> 그러나 이 문서를 만들 수 있는 권한은 없습니다.',
-'missing-revision' => '"{{PAGENAME}}"이라는 문서의 #$1판이 존재하지 않습니다.
+'missing-revision' => '"{{FULLPAGENAME}}"이라는 문서의 #$1판이 존재하지 않습니다.
 
 이 문제는 주로 삭제된 문서를 가리키는 오래된 문서 역사 링크로 인해 발생합니다.
 자세한 내용은 [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} 삭제 기록]에서 확인할 수 있습니다.',
@@ -1342,8 +1345,13 @@ $2개 보다 적게 {{PLURAL:$2|써야}} 하지만 {{PLURAL:$1|지금은 $1개
 'revdelete-no-file' => '해당 파일이 존재하지 않습니다.',
 'revdelete-show-file-confirm' => '정말 "<nowiki>$1</nowiki>" 파일의 삭제된 $2 $3 버전을 보시겠습니까?',
 'revdelete-show-file-submit' => '예',
-'revdelete-selected' => "'''[[:$1]]의 {{PLURAL:$2|선택한 판}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|선택한 기록}}:'''",
+'revdelete-selected-text' => '[[:$2]]의 {{PLURAL:$1|선택한 판}}:',
+'revdelete-selected-file' => '[[:$2]]의 {{PLURAL:$1|선택한 파일 판}}:',
+'logdelete-selected' => '{{PLURAL:$1|선택한 기록}}:',
+'revdelete-text-text' => '삭제된 판은 여전히 문서 역사에 남게 되지만, 그 내용의 일부는 다른 사람들이 접근할 수 없게 됩니다.',
+'revdelete-text-file' => '삭제된 파일 버전은 계속 파일 역사에 남게 되지만, 내용의 일부는 다른 사람들이 접근할 수 없게 됩니다.',
+'logdelete-text' => '삭제된 로그 내용은 로그에 보여지겠지만, 내용의 일부는 다른 사람들이 접근할 수 없게 됩니다.',
+'revdelete-text-others' => '{{SITENAME}}에 있는 다른 관리자는 여전히 숨겨진 내용에 접근할 수 있고 추가 제한이 설정되어 있지 않으면, 이 같은 인터페이스를 통해 다시 되살릴 수 있습니다.',
 'revdelete-confirm' => '이 작업을 수행하는 것의 결과를 알고 있으며, [[{{MediaWiki:Policy-url}}|정책]]에 맞는 행동인지 확인해주세요.',
 'revdelete-suppress-text' => "숨기기는 '''다음 경우에만''' 사용되어야 합니다:
 * 잠재적인 비방 정보
@@ -1461,8 +1469,7 @@ $1",
 'shown-title' => '쪽마다 {{PLURAL:$1|결과}} $1개씩 보기',
 'viewprevnext' => '($1 {{int:pipe-separator}} $2) ($3) 보기',
 'searchmenu-exists' => "'''이 위키에 \"[[:\$1]]\"의 이름을 가진 문서가 있습니다.'''",
-'searchmenu-new' => '<strong>이 위키에 "[[:$1]]" 문서를 만드세요!</strong>
-{{PLURAL:$2|0=|검색으로 찾은 문서들을 참조하세요.}}',
+'searchmenu-new' => '<strong>이 위키에 "[[:$1]]" 문서를 만드세요!</strong> {{PLURAL:$2|0=|검색으로 찾은 문서도 보세요.|찾은 검색 결과도 보세요.}}',
 'searchprofile-articles' => '본문',
 'searchprofile-project' => '도움말 및 프로젝트 문서',
 'searchprofile-images' => '멀티미디어',
@@ -2226,6 +2233,11 @@ URL이 맞고 해당 웹사이트가 작동하는지 확인해주세요.',
 # List redirects
 'listredirects' => '넘겨주기 문서 목록',
 
+# List duplicated files special page
+'listduplicatedfiles' => '중복된 파일의 목록',
+'listduplicatedfiles-summary' => '파일의 가장 최근 판은 어떤 다른 파일의 가장 최근 판과 중복되는 파일의 목록입니다. 로컬 파일만 고려됩니다.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] 파일은 [[$3|{{PLURAL:$2|중복|$2번 중복}}]]이 있습니다.',
+
 # Unused templates
 'unusedtemplates' => '사용하지 않는 틀 목록',
 'unusedtemplatestext' => '다른 문서에서 사용하지 않는 {{ns:template}} 이름공간 문서의 목록입니다.
@@ -2341,7 +2353,7 @@ URL이 맞고 해당 웹사이트가 작동하는지 확인해주세요.',
 'deadendpagestext' => '{{SITENAME}} 내의 다른 문서로 나가는 링크가 없는 문서의 목록입니다.',
 'protectedpages' => '보호된 문서 목록',
 'protectedpages-indef' => '오른쪽 조건에 맞는 보호만 보기',
-'protectedpages-summary' => '이 문서는 현재 보호된 기존 문서를 나열합니다. 만들기 보호된 문서 제목 목록을 보려면 [[{{#special:ProtectedTitles}}|{{int:protectedtitles}}]]를 참조하세요.',
+'protectedpages-summary' => '이 페이지는 현재 보호된 기존 문서를 나열합니다. 만들기 보호된 문서 제목 목록을 보려면 [[{{#special:ProtectedTitles}}|{{int:protectedtitles}}]]를 보세요.',
 'protectedpages-cascade' => '연쇄적 보호만 보기',
 'protectedpages-noredirect' => '넘겨주기를 숨기기',
 'protectedpagesempty' => '보호되어 있는 문서가 없습니다.',
@@ -2354,7 +2366,7 @@ URL이 맞고 해당 웹사이트가 작동하는지 확인해주세요.',
 'protectedpages-unknown-timestamp' => '알 수 없음',
 'protectedpages-unknown-performer' => '알 수 없는 사용자',
 'protectedtitles' => '만들기 보호된 표제어 목록',
-'protectedtitles-summary' => '이 문서는 현재 만들기 보호가 설정되어 있는 문서 제목을 나열합니다. 보호된 기존 문서들의 목록을 보려면 [[{{#special:ProtectedPages}}|{{int:protectedpages}}]]을 참조하세요.',
+'protectedtitles-summary' => '이 페이지는 현재 만들기 보호가 설정되어 있는 문서 제목을 나열합니다. 보호된 기존 문서들의 목록을 보려면 [[{{#special:ProtectedPages}}|{{int:protectedpages}}]]을 보세요.',
 'protectedtitlesempty' => '해당 조건에 맞는 만들기 금지 표제어가 없습니다.',
 'listusers' => '사용자 목록',
 'listusers-editsonly' => '기여가 있는 사용자만 보기',
@@ -2632,7 +2644,7 @@ $UNWATCHURL
 'delete-warning-toobig' => '이 문서에는 {{PLURAL:$1|편집 역사}}가 $1개 있습니다.
 편집 역사가 긴 문서를 삭제하면 {{SITENAME}} 데이터베이스 동작에 큰 영향을 줄 수 있습니다.
 주의해 주세요.',
-'deleting-backlinks-warning' => "'''경고:''' 삭제하려는 문서가 [[Special:WhatLinksHere/{{FULLPAGENAME}}다른 문서에 연결]]되거나 삽입되어 있습니다.",
+'deleting-backlinks-warning' => "'''경고:''' 삭제하려는 문서가 [[Special:WhatLinksHere/{{FULLPAGENAME}}|다른 문서에 연결]]되거나 삽입되어 있습니다.",
 
 # Rollback
 'rollback' => '편집 되돌리기',
@@ -2687,7 +2699,7 @@ $UNWATCHURL
 'protect-locked-access' => "문서 보호 수준을 바꿀 권한이 없습니다.
 '''$1''' 문서의 권한은 다음과 같습니다.",
 'protect-cascadeon' => '다음 {{PLURAL:$1|문서}}에 연쇄적 보호가 작동하고 있어 그 문서에 속한 이 문서도 현재 보호됩니다.
\82¬ì\9a©ì\9e\90ë\8a\94 ì\9d´ ë¬¸ì\84\9cì\9d\98 ë³´í\98¸ ì\84¤ì \95ì\9d\84 ë°\94꾸ì\8b¤ ì\88\98 ì\9e\88ì§\80ë§\8c 연쇄적 보호에는 영향을 주지 않습니다.',
\9d´ ë¬¸ì\84\9cì\9d\98 ë³´í\98¸ ì\84¤ì \95ì\9d\84 ë°\94꾸ë\8a\94 ê²\83ì\9d\80 연쇄적 보호에는 영향을 주지 않습니다.',
 'protect-default' => '모든 사용자에게 허용',
 'protect-fallback' => '"$1" 권한의 사용자만 허용',
 'protect-level-autoconfirmed' => '자동 인증된 사용자만 허용',
index c113156..7a021da 100644 (file)
@@ -358,7 +358,6 @@ $1',
 'disclaimers' => 'Джууаблылыкъны унамау',
 'disclaimerpage' => 'Project:Джууаблылыкъны унамау',
 'edithelp' => 'Тюрлендириуню юсюнден болушлукъ',
-'helppage' => 'Help:Болушлукъ',
 'mainpage' => 'Баш бет',
 'mainpage-description' => 'Баш бет',
 'policy-url' => 'Project:Джорукъла',
@@ -542,6 +541,7 @@ $2',
 'gotaccountlink' => 'Системагъа кир',
 'userlogin-resetlink' => 'Кирир ючюн билгилеригизни унутхан этгенмисиз?',
 'userlogin-resetpassword-link' => 'Паролну джибериу',
+'userlogin-helplink2' => 'Кириуде болушлукъ',
 'userlogin-createanother' => 'Башха аккаунт къурау',
 'createacct-join' => 'Билгилеринги тюбюрекде джаз.',
 'createacct-emailrequired' => 'Электрон почтаны адреси',
@@ -757,7 +757,7 @@ $2',
 Регистрацияны тындыргъындан сора,  ''[[Special:ChangePassword|паролну тюрлендирирге]]'' боллукъсуз.",
 'newarticle' => '(Джангы)',
 'newarticletext' => "Сиз джибериу бла алкъын къуралмагъан бетге кёчгенсиз.
-Аны къурар ючюн тюбюндеги терезеде статьяны текстин басмалагъыз (толуракъ [[{{MediaWiki:Helppage}}|ангылатыу бетде]] къарагъыз).
+Аны къурар ючюн тюбюндеги терезеде статьяны текстин басмалагъыз (толуракъ [$1 ангылатыу бетде] къарагъыз).
 Джангылыб кирген эсегиз а уа бери, браузеригизни '''артха''' тиегин басыгъызда къоюгъуз.",
 'anontalkpagetext' => "----''Бу сюзюу бет, тергеу джазыу (аккаунт) къурамагъан неда аны бла хайырланмагъан аноним къошулуучунукъуду.
 Аны ючюн идентификация этерге IP-адрес хайырланады.
@@ -982,8 +982,7 @@ $3 джанындан берилген сылтау: ''$2''",
 'revdelete-no-file' => 'Белгиленнген файл джокъду.',
 'revdelete-show-file-confirm' => '«<nowiki>$1</nowiki>» файлны $2 $3 датада кетерилген версиясына къараргъа излегенигизге ишексизмисиз?',
 'revdelete-show-file-submit' => 'Хоу',
-'revdelete-selected' => "'''[[:$1]] бетни {{PLURAL:$2|1=Сайланнган версия|сайланнган версиялары}}:'''",
-'logdelete-selected' => "'''Журналны {{PLURAL:$1|1=Сайланнган джазыу|сайланнган джазыулары}}:'''",
+'logdelete-selected' => 'Журналны {{PLURAL:$1|1=Сайланнган джазыу|сайланнган джазыулары}}:',
 'revdelete-confirm' => 'Тилейбиз, буну этерге излегенигизни, эсеблерин ангылагъаныгъызны, эм буну [[{{MediaWiki:Policy-url}}|джорукълагъа]] кёре этгенигизни билдиригиз.',
 'revdelete-suppress-text' => "Джашырыу '''джангыз''' бу турумлада этиледи:
 * Келишмеген энчи информация
@@ -1419,10 +1418,12 @@ $1 {{PLURAL:$1|1=символдан|символладан}} кеб болург
 'recentchanges-legend-newpage' => '(къарагъыз: [[Special:NewPages|джангы бетлени тизмеси]])',
 'rcnotefrom' => 'Тюбюрекде <strong>$2</strong> башлаб (<strong>$1</strong> дери) тюрлендириуле кёрюнедиле',
 'rclistfrom' => '$1 башлаб джангы тюрлениулени кёргюз',
-'rcshowhideminor' => 'гитче тюрлендириулени $1',
-'rcshowhidebots' => 'ботланы $1',
-'rcshowhideliu' => '$1 системагъа кирген къошулуучу',
-'rcshowhideanons' => 'анонимлени $1',
+'rcshowhideminor' => 'гитче тюрлениулени $1',
+'rcshowhideminor-show' => 'кёргюз',
+'rcshowhideminor-hide' => 'джашыр',
+'rcshowhidebots' => 'ботланыкъыланы $1',
+'rcshowhideliu' => 'системагъа киргенленикилени $1',
+'rcshowhideanons' => 'анонимленикилени $1',
 'rcshowhidepatr' => '$1 патруль этилиннген тюрлендириуле',
 'rcshowhidemine' => 'кесими тюрлендириулерими $1',
 'rclinks' => 'Ахыр $2 кюнню ичинде этилиннген $1 тюрлениуню кёргюз;<br /> $3',
index 48a1ab3..d1bcc16 100644 (file)
@@ -459,7 +459,6 @@ $1',
 'disclaimers' => 'Henwies',
 'disclaimerpage' => 'Project:Impressum',
 'edithelp' => 'Hölp för et Bearbeide',
-'helppage' => 'Help:Hölp',
 'mainpage' => 'Haupsigg',
 'mainpage-description' => 'Haupsigg',
 'policy-url' => 'Project:Rejelle',
@@ -1000,7 +999,7 @@ wann De wider enjelogg bes.',
 'newarticle' => '(Neu)',
 'newarticletext' => 'Ene Link op en Sigg, wo noch nix drop steiht, weil et se noch jar nit jitt, hät Dich noh heh jebraht.
 Öm die Sigg aanzeläje, schriev heh unge en dat Feld eren, un dun dat dann avspeichere.
-Luur op de [[{{MediaWiki:Helppage}}|Sigge met Hölp]] noh, wann De mieh dodrüvver wesse wells.
+Luur op de [$1 Sigge met Hölp] noh, wann De mieh dodrüvver wesse wells.
 Wann De jar nit heh hen kumme wollts, dann jangk zeröck op die Sigg, wo De herjekumme bes, Dinge Brauser hät ene Knopp doför.',
 'anontalkpagetext' => '----
 <i>Dat heh es de Klaaf Sigg för ene namenlose Metmaacher. Dä hät sich noch keine Metmaacher Name jejovve un
@@ -1014,7 +1013,7 @@ domet De dann donoh nit mieh met esu en Ömständ ze dun häs, wie de andere nam
 'noarticletext-nopermission' => 'Op dä Sigg es em Momang nix drop.
 Do kanns noh däm Tittel vun heh dä Sigg [[Special:Search/{{PAGENAME}}|em Tex op ander Sigge söhke]],
 udder en dä zopaß <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} Logbööscher nohloore]</span>.',
-'missing-revision' => 'En Version $1 vun dä Sigg „{{PAGENAME}}“ jidd_et nit.
+'missing-revision' => 'En Version $1 vun dä Sigg „{{FULLPAGENAME}}“ jidd_et nit.
 
 Esu jät kütt för jewöhnlesch, wam_mer enem övverhollte Lengk ob en Sigg follesch, di zweschedren fottjeschmeße woode es.
 Mieh doh drövver fengk mer em [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Logbooch vum Sigge Fottschmiiße].',
@@ -1276,8 +1275,7 @@ Als ene Wiki_Köbes kanns De de Ungerscheide ävver aankike wann De wells.",
 'revdelete-no-file' => 'De aanjejovve Dattei jidd_et nit.',
 'revdelete-show-file-confirm' => 'Beß De sescher, dat De de fottjeschmeße Version vun dä Dattei „<nowiki>$1</nowiki>“ vum $2 oö $3 Uhr aanloore wells?',
 'revdelete-show-file-submit' => 'Lohß Jonn!',
-'revdelete-selected' => "'''{{PLURAL:$2|Ein usjewählte Version|$2 usjewählte Versione|Kein Version usjewählt}} vun [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Dä ußjewählte Logboch-Endrach|De Ußjewählte Logboch-Endrähsch}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Dä ußjewählte Logboch-Endrach|De Ußjewählte Logboch-Endrähsch}}:',
 'revdelete-confirm' => 'Bes esu joot un doon dat beschtääteje, un donn domet ongerschriive, dat De dat donn wells, dat De weiß, wat dobei eruß kütt, un dat De dat och noh de [[{{MediaWiki:Policy-url}}|Rääjelle]] deihß.',
 'revdelete-suppress-text' => "Dat sullt '''blooß''' jedonn wäde för:
 * onjesäzlesche Aanjaabe
index 045f612..fef7064 100644 (file)
@@ -328,7 +328,6 @@ $messages = array(
 'disclaimers' => 'Ferexetname',
 'disclaimerpage' => 'Project:Ferexetname',
 'edithelp' => 'Alîkariya guherandinê',
-'helppage' => 'Help:Alîkarî',
 'mainpage' => 'Destpêk',
 'mainpage-description' => 'Destpêk',
 'policy-url' => 'Project:Rêgez',
@@ -643,7 +642,7 @@ Zanibe ku tu nikarî e-nameya bişînî heta tu di [[Special:Preferences|tercih
 'accmailtext' => "Şîfreya '$1' hat şandin ji $2 re.",
 'newarticle' => '(Nû)',
 'newarticletext' => "Ev rûpel hîn tune. Eger tu bixwazî vê rûpelê çêkî, dest bi nivîsandinê bike û piştre qeyd bike. '''Wêrek be''', biceribîne!<br />
-Ji bo alîkariyê binêre: [[{{MediaWiki:Helppage}}|Alîkarî]].<br />
+Ji bo alîkariyê binêre: [$1 Alîkarî].<br />
 Heke tu bi şaşîtî hatî, bizîvire rûpela berê.",
 'anontalkpagetext' => "----''Ev rûpela gotûbêjê ye ji bo bikarhênerên nediyarkirî ku hîn hesabekî xwe çênekirine an jî bikarnaînin. Ji ber vê yekê divê em wan bi navnîşana IP ya hejmarî nîşan bikin. Navnîşaneke IP dikare ji aliyê gelek kesan ve were bikaranîn. Heger tu bikarhênerekî nediyarkirî bî û bawerdikî ku nirxandinên bê peywend di der barê te de hatine kirin ji kerema xwe re [[Special:UserLogin/signup|hesabekî xwe veke an jî têkeve]] da ku tu xwe ji tevlîheviyên bi bikarhênerên din re biparêzî.''",
 'noarticletext' => 'Ev rûpel niha vala ye, tu dikarî [[Special:Search/{{PAGENAME}}|Di nav gotarên din de li "{{PAGENAME}}" bigerî]] an jî [{{fullurl:{{FULLPAGENAME}}|action=edit}} vê rûpelê biguherînî].',
index 14156c0..c86b2d9 100644 (file)
@@ -434,7 +434,6 @@ $1',
 'disclaimers' => 'Avisyansow',
 'disclaimerpage' => 'Project:Avisyans ollgemmyn',
 'edithelp' => 'Gweres gans chanjya',
-'helppage' => 'Help:Gweres',
 'mainpage' => 'Dynnargh',
 'mainpage-description' => 'Dynnargh',
 'policy-url' => 'Project:Polici',
@@ -690,7 +689,7 @@ Rekordys vydh agas trigva IP yn istori an folen-ma.",
 'accmailtitle' => 'Ger-tremena danvenys.',
 'newarticle' => '(Nowyth)',
 'newarticletext' => "Hwi re holyas kevren dhe folen nag yw gwruthys hwath.
-Rag gwruthyl an folen, dalethewgh jynnskrifa y'n gist a-woles (gwelewgh an [[{{MediaWiki:Helppage}}|folen weres]] rag moy kedhlow).
+Rag gwruthyl an folen, dalethewgh jynnskrifa y'n gist a-woles (gwelewgh an [$1 folen weres] rag moy kedhlow).
 Mar teuthowgh omma yn kamm, klyckyewgh boton '''war-dhelergh''' agas peurel.",
 'noarticletext' => 'Nyns eus tekst y\'n folen-ma a-lemmyn.
 Hwi a yll [[Special:Search/{{PAGENAME}}|hwilas titel an folen-ma]] yn folennow erel,
index e4e977c..626d51c 100644 (file)
@@ -273,7 +273,6 @@ $1',
 'disclaimers' => 'Жоопкерчиликтен баш тартуу',
 'disclaimerpage' => 'Project:Жоопкерчиликтен баш тартуу',
 'edithelp' => 'Оңдоп-түзөөгө жардам',
-'helppage' => 'Help:Мазмуну',
 'mainpage' => 'Баш барак',
 'mainpage-description' => 'Баш барак',
 'policy-url' => 'Project:Эрежелер',
@@ -575,7 +574,7 @@ IP дарегиңиз бул барактын оңдоо тарыхына жаз
 'accmailtext' => ' [[User talk:$1|$1]] үчүн сырсөз $2 ге жөнөтүлдү.',
 'newarticle' => '(Жаңы)',
 'newarticletext' => "Сиз ачыла элек баракка шилтемени бастыңыз.
-Бул баракты түзүү үчүн, ылдый жактагы терезеге жаза баштаңыз (кошумча маалымат алуу үчүн [[{{MediaWiki:Helppage}}|жардам барагын]] караңыз).
+Бул баракты түзүү үчүн, ылдый жактагы терезеге жаза баштаңыз (кошумча маалымат алуу үчүн [$1 жардам барагын] караңыз).
 Эгерде Сиз бул жерге жаңылыштык менен кирип калган болсоңуз, анда браузериңиздеги '''артка''' баскычын басыңыз.",
 'noarticletext' => "Азыр бул баракта текст жок.
 Сиз [[Special:Search/{{PAGENAME}}|ушул аталыш менен баракты изде]] башка барактарда 
index 8803261..8660188 100644 (file)
@@ -391,7 +391,6 @@ $messages = array(
 'disclaimers' => 'Repudiationes',
 'disclaimerpage' => 'Project:Repudiationes',
 'edithelp' => 'Opes recensendi',
-'helppage' => 'Help:Adiutatum',
 'mainpage' => 'Pagina prima',
 'mainpage-description' => 'Pagina prima',
 'policy-url' => 'Project:Consilium',
@@ -692,7 +691,7 @@ Fortasse aliquis hanc partem movit vel delevit.',
 'newarticle' => '(Nova)',
 'newarticletext' => "Per nexum progressus es ad paginam quae nondum exsistit.
 Novam paginam si vis creare, in capsam infra praebitam scribe.
-(Vide [[{{MediaWiki:Helppage}}|paginam auxilii]] si plura cognoscere vis.)
+(Vide [$1 paginam auxilii] si plura cognoscere vis.)
 Si hic es propter errorem, solum '''Retrorsum''' in navigatro tuo preme.",
 'anontalkpagetext' => "----''Haec est pagina disputationis usoris anonymi, solum a loco IP suo noti. Memento locos IP aliquando mutaturos, et a usoribus multis fortasse adhibitos. Si es usor ignotus, et tibi querulae sine causa datae sunt, conventum [[Special:UserLogin/signup|crea]] vel [[Special:UserLogin|aperi]] ad confusionem futuram evitendam.''",
 'noarticletext' => 'Hac in pagina non sunt litterae.
@@ -809,7 +808,6 @@ Titulus: '''({{int:cur}})''' = dissimilis ab emendatione novissima,
 'revisiondelete' => 'Emendationem delere',
 'revdelete-nooldid-title' => 'Emendatio-scopus invalida',
 'revdelete-show-file-submit' => 'Sic',
-'revdelete-selected' => "'''{{PLURAL:$2|Emendatio selecta|Emendationes selectae}} paginae [[:$1]]:'''",
 'revdelete-legend' => 'Modificare cohibitiones visibilitatis',
 'revdelete-hide-text' => 'Textus emendationis',
 'revdelete-hide-image' => 'Celare contentum fasciculi',
index ed1b127..886d6b4 100644 (file)
@@ -429,7 +429,6 @@ $1',
 'disclaimers' => 'Refuzo de responsabilitá',
 'disclaimerpage' => 'Project:Refuzo de responsabilitá jeneral',
 'edithelp' => '¿Cómo se la troca?',
-'helppage' => 'Help:Contènidos',
 'mainpage' => 'La Primera Hoja',
 'mainpage-description' => 'La Primera Hoja',
 'policy-url' => 'Project:Politikas',
@@ -698,7 +697,7 @@ Tu adresso de IP se va a enrejistrar en la istoria de trocamientos de la hoja.',
 'accmailtext' => "Se a embiado a $2 una kontrasenya jenerado por [[User talk:$1|$1]]. Se puede kambiar en la pajina ''[[Special:ChangePassword|cambiar kontrasenya]]'' al entrar.",
 'newarticle' => '(Muevo)',
 'newarticletext' => 'Arrivates a una hoja que daínda no egziste.
-Para crear esta hoja, empeça a escribir en la caxa de abaxo. Mira [[{{MediaWiki:Helppage}}|la hoja de ayudo]] para saber más.
+Para crear esta hoja, empeça a escribir en la caxa de abaxo. Mira [$1 la hoja de ayudo] para saber más.
 Si venites aquí por yerro, torna a la hoja de antes.',
 'noarticletext' => 'En este momento no ay teksto en esta hoja.
 Puedes [[Special:Search/{{PAGENAME}}|buxcar el títolo desta hoja]] en otras hojas,
index 2e65396..a2514bd 100644 (file)
@@ -433,7 +433,6 @@ $1",
 'disclaimers' => 'Impressum',
 'disclaimerpage' => 'Project:Impressum',
 'edithelp' => 'Hëllef beim Änneren',
-'helppage' => 'Help:Hëllef',
 'mainpage' => 'Haaptsäit',
 'mainpage-description' => 'Haaptsäit',
 'policy-url' => 'Project:Richtlinnen',
@@ -908,7 +907,7 @@ Et ka sinn datt e geännert oder geläscht gouf iwwerdeems wou Dir d'Säit gekuc
 
 Et kann op der ''[[Special:ChangePassword|Passwuert ännere]]'' Säit beim Alogge geännert ginn.",
 'newarticle' => '(Nei)',
-'newarticletext' => "Dir hutt op e Link vun enger Säit geklickt, déi et nach net gëtt. Fir déi Säit unzeleeën, gitt w.e.g. Ären Text an déi Këscht hei drënner an (kuckt d'[[{{MediaWiki:Helppage}}|Hëllef Säit]] fir méi Informatiounen). Wann Dir duerch een Iertum heihi komm sidd, da klickt einfach op de Knäppchen '''Zréck''' vun Ärem Browser.",
+'newarticletext' => "Dir hutt op e Link vun enger Säit geklickt, déi et nach net gëtt. Fir déi Säit unzeleeën, gitt w.e.g. Ären Text an déi Këscht hei drënner an (kuckt d'[$1 Hëllef Säit] fir méi Informatiounen). Wann Dir duerch een Iertum heihi komm sidd, da klickt einfach op de Knäppchen '''Zréck''' vun Ärem Browser.",
 'anontalkpagetext' => "---- ''Dëst ass d'Diskussiounssäit fir en anonyme Benotzer deen nach kee Kont opgemaach huet oder en net benotzt. Dowéinst musse mir d'IP Adress benotzen, fir de Benotzer z'identifizéieren.
 Sou eng IP Adress ka vun e puer Benotzer gedeelt ginn.
 Wann Dir en anonyme Benotzer sidd an Dir irrelevant Bemierkunge krut, [[Special:UserLogin/signup|maacht w.e.g. e Kont op]] oder [[Special:UserLogin|loggt Iech an]], fir weider Verwiesselunge mat aneren anonyme Benotzer ze verhënneren.''",
@@ -917,7 +916,7 @@ Dir kënnt op anere Säiten no [[Special:Search/{{PAGENAME}}|dësem Säitentitel
 <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} an den entspriechende Logbicher nokucken] oder [{{fullurl:{{FULLPAGENAME}}|action=edit}} sou eng Säit uleeën]</span>.',
 'noarticletext-nopermission' => 'Elo ass keen Text op dëser Säit.
 Dir kënnt op anere Säiten [[Special:Search/{{PAGENAME}}|no dësem Säitentitel sichen]], oder <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} an de Logbicher sichen]</span>, mä Dir hutt net déi néideg Rechter fir dës Säit unzeleeën.',
-'missing-revision' => 'D\'Versioun #$1 vun der Säit mam Numm "{{PAGENAME}}" gëtt et net.
+'missing-revision' => 'D\'Versioun #$1 vun der Säit mam Numm "{{FULLPAGENAME}}" gëtt et net.
 
 Dat geschitt normalerweis wann Dir op e vereelste Link vun enger Versioun vun enger Säit klickt déi geläscht ginn ass.
 Detailer fannt Dir am [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Logbuch vum Läschen].',
@@ -982,8 +981,8 @@ E 'workaround' gëtt agesat deen et erlaabt Säite sécher z'änneren: Net-ASCII
 Wann Dir net wëllt datt är Texter vun anere Mataarbechter verännert, geläscht a weiderverdeelt kënne ginn, da setzt näischt heihinner.<br />
 Dir verspriecht ausserdeem datt Dir dësen Text selwer verfaasst hutt, oder aus dem Domaine public oder ähnleche Ressource kopéiert hutt.
 '''DROT KEE COPYRECHTLECH GESCHÜTZTE CONTENU OUNI ERLAABNES AN!'''",
-'copyrightwarning2' => "W.e.g. notéiert datt all Kontributiounen op {{SITENAME}} vun anere Benotzer verännert oder geläscht kënne ginn. Wann dir dat net wëllt, da setzt näischt heihinner.<br />
-Dir verspriecht ausserdeem datt dir dësen Text selwer verfaasst hutt, oder aus dem Domaine public oder anere fräie Quelle kopéiert hutt. (cf. $1 fir méi Detailler). '''DROT KEE COPYRECHTLECH GESCHÜTZTE CONTENU AN!'''",
+'copyrightwarning2' => "W.e.g. notéiert datt all Kontributiounen op {{SITENAME}} vun anere Benotzer verännert oder geläscht kënne ginn. Wann Dir dat net wëllt, da setzt näischt heihinner.<br />
+Dir verspriecht ausserdeem datt Dir dësen Text selwer verfaasst hutt, oder aus dem Domaine public oder anere fräie Quelle kopéiert hutt. (cf. $1 fir méi Detailer). '''DROT KEE COPYRECHTLECH GESCHÜTZTE CONTENU AN!'''",
 'longpageerror' => "'''FEELER: Den Text, den Dir Versicht ze späicheren, huet {{PLURAL:$1|1 Kilobyte|$1 Kilobytes}}. Dëst ass méi wéi den erlaabte Maximum vun  {{PLURAL:$2|1 Kilobyte|$2 Kilobytes}}''' Dofir kann den Text net gespäichert ginn.",
 'readonlywarning' => "'''OPGEPASST: D'Datebank gouf wéinst Maintenanceaarbechte gespaart, dofir kënnt Dir Är Ännerungen den Ament net ofspäicheren.'''
 Dir kënnt den Text kopéieren an an een Textfichier drasetzen an deen ofspäicheren fir méi spéit.
@@ -1096,7 +1095,7 @@ De Grond den den \$3 uginn huet ass ''\$2''",
 
 # Revision feed
 'history-feed-title' => 'Historique vun de Versiounen',
-'history-feed-description' => 'Versiounshistorique fir dës Säit op {{SITENAME}}',
+'history-feed-description' => 'Versiounshistorique fir dës Säit op der Wiki',
 'history-feed-item-nocomment' => '$1 ëm $2',
 'history-feed-empty' => 'Déi ugefrote Säit gëtt et net.
 Vläicht gouf se geläscht oder geréckelt.
@@ -1136,12 +1135,11 @@ Dir kënnt dësen Ënnerscheed gesinn; Detailer fannt Dir am [{{fullurl:{{#Speci
 'rev-showdeleted' => 'Weisen',
 'revisiondelete' => 'Versioune läschen/restauréieren',
 'revdelete-nooldid-title' => 'Ongülteg Zilversioun',
-'revdelete-nooldid-text' => 'Dir hutt entweder keng Versioun uginn fir dës Funktioun ze benotzen, déi Versioun déi Dir uginn hutt gëtt et net, oder dir versicht déi aktuell Versioun ze verstoppen.',
+'revdelete-nooldid-text' => 'Dir hutt entweder keng Versioun ugi fir dës Funktioun ze benotzen, déi Versioun déi Dir uginn hutt gëtt et net, oder Dir versicht déi aktuell Versioun ze verstoppen.',
 'revdelete-no-file' => 'De Fichier deen ugi war gëtt et net.',
 'revdelete-show-file-confirm' => 'Sidd Dir sécher datt Dir déi geläschte Versioun vum Fichier "<nowiki>$1</nowiki>" vum $2 ëm $3 gesi wëllt?',
 'revdelete-show-file-submit' => 'Jo',
-'revdelete-selected' => "'''{{PLURAL:$2|Gewielt Versioun|Gewielt Versioune}} vu(n) [[:$1]] :'''",
-'logdelete-selected' => "'''Ausgewielten {{PLURAL:$1|Evenement|Evenementer}} aus dem Logbuch:'''",
+'logdelete-selected' => 'Ausgewielten {{PLURAL:$1|Evenement|Evenementer}} aus dem Logbuch:',
 'revdelete-text-others' => 'Aner Administrateuren op {{SITENAME}} kënnen nach ëmmer de verstoppten Inhalt gesinn an en iwwer deeselwechten Interface nees restauréieren, ausser wann zousätzlech Limitatiounen agestallt sinn.',
 'revdelete-confirm' => "Confirméiert w.e.g. datt Dir dat maache wëllt, datt Dir d'Konsequenze verstitt an datt Dir dëst an Aklang mat de [[{{MediaWiki:Policy-url}}|Richtlinne]] maacht.",
 'revdelete-suppress-text' => "Ënnerdréckung sollt '''nëmmen''' an dëse Fäll benotzt ginn:
@@ -1208,8 +1206,8 @@ Passt op, datt d'Versiounsgeschicht der Säit historesch korrekt ass.
 'mergehistory-into' => 'Zilsäit:',
 'mergehistory-list' => 'Versiounen, déi zesummegeluecht kënne ginn',
 'mergehistory-merge' => "Dës Versioune vun [[:$1]] kënnen matt [[:$2]] zesummegeluecht ginn.
-Benotzt d'Radio-Knäppecher fir nëmmen déi Versiunen ze fusonnéieren déi zu engem spezifischen Zäitpunkt oder virdrun ugeluecht goufen.
-Denkt w.e.g drunn datt d'Navigatiounslinken d'Wiel vun de Versiounen nees zrécksetzen.",
+Benotzt d'Radio-Knäppecher fir nëmmen déi Versiounen ze fusionéieren déi zu engem spezifeschen Zäitpunkt oder virdrun ugeluecht goufen.
+Denkt w.e.g drun datt d'Navigatiounslinken d'Wiel vun de Versiounen nees zrécksetzen.",
 'mergehistory-go' => 'Weis déi Versiounen, déi zesummegeluecht kënne ginn',
 'mergehistory-submit' => 'Versioune verschmelzen',
 'mergehistory-empty' => 'Et kënne keng Versioune zesummegeluecht ginn.',
@@ -1422,7 +1420,7 @@ Dës Informatioun ass ëffentlech.",
 
 # User rights
 'userrights' => 'Benotzerrechterverwaltung',
-'userrights-lookup-user' => 'Benotzergrupp verwalten',
+'userrights-lookup-user' => 'Benotzergruppe verwalten',
 'userrights-user-editname' => 'Benotzernumm uginn:',
 'editusergroup' => 'Benotzergruppen änneren',
 'editinguser' => "Ännere vun de Rechter vum Benotzer '''[[User:$1|$1]]''' $2",
@@ -1729,16 +1727,17 @@ Fir datt Äre Resumé do opdaucht musst Dir e manuell änneren.
 Wielt w.e.g. en aneren Numm.',
 'fileexists-thumbnail-yes' => "Beim Fichier schéngt et sech ëm e klengt Bild ''(Miniatur)'' ze handelen. [[$1|thumb]]
 Kuckt de Fichier <strong>[[:$1]]</strong> w.e.g. no.
-Wann et sech ëm d'Bild an der Originalgréisst handelt, da brauch kee separat Bild als Minitaur eropgelueden ze ginn.",
+Wann et sech ëm d'Bild an der Originalgréisst handelt, da brauch kee separat Bild als Miniatur eropgelueden ze ginn.",
 'file-thumbnail-no' => "Den Numm vum Fichier fänkt mat <strong>$1</strong> un.
 Da deit drop hin datt et eng Minitaur ''(thumbnail)'' ass.
-Wann Dir dat Bild a méi enger grousser Opléisung hutt, da luet dëst erop, soss ännert den Numm vum Fichier w.e.g.",
+Wann Dir dat Bild a méi enger grousser Opléisung hutt, da luet dëst erop, wann net dann ännert w.e.g. den Numm vum Fichier.",
 'fileexists-forbidden' => 'Et gëtt schonn e Fichier mat dësem Numm an dee kann net iwwerschriwwe ginn.
 Wann Dir de Fichier nach ëmmer eropluede wëllt, da gitt w.e.g. zréck a benotzt en neien Numm. [[File:$1|thumb|center|$1]]',
 'fileexists-shared-forbidden' => 'E Fichier mat dësem Numm gëtt et schonn an dem gedeelte Repertoire.
 Wann Dir dëse Fichier trotzdeem eropluede wëllt da gitt w.e.g. zréck a luet dëse Fichier ënner engem aneren Numm erop. [[File:$1|thumb|center|$1]]',
 'file-exists-duplicate' => 'Dëse Fichier schéngt een Doublon vun {{PLURAL:$1|dësem Fichier|dëse Fichieren}} ze sinn:',
-'file-deleted-duplicate' => 'En identesche Fichier ([[:$1]]) gouf virdru geläscht. Kuckt w.e.g. an der Lëscht vum Läschen no, Ier Dir en nach emol eropluet.',
+'file-deleted-duplicate' => 'En identesche Fichier ([[:$1]]) gouf virdru geläscht. Kuckt w.e.g. an der Lëscht vum Läschen no, ier Dir en nach emol eropluet.',
+'file-deleted-duplicate-notitle' => "En identesche Fichier gouf scho geläscht an den Titel gouf suppriméiert. Dir sollt e froen dee suppriméiert Date vu Fichiere kucken däerf fir d'Situatioun ze klären ier Dir de Fichier nach eng Kéier eroplued.",
 'uploadwarning' => 'Opgepasst',
 'uploadwarning-text' => "Ännert d'Beschreiwung hei ënnedrënner w.e.g. a versicht et nach eng Kéier.",
 'savefile' => 'Fichier späicheren',
@@ -1954,14 +1953,14 @@ Dir kënnt seng Beschreiwung op senger [$2 Beschreiwungssäit] änneren.',
 'filerevert-comment' => 'Bemierkung:',
 'filerevert-defaultcomment' => "zréckgesat op d'Versioun vum $1, $2 Auer",
 'filerevert-submit' => 'Zrécksetzen',
-'filerevert-success' => "'''[[Media:$1|$1]]''' gouf op d'[$4 Versioun vum $2, $3 Auer] zréckgesat.",
+'filerevert-success' => "<strong>[[Media:$1|$1]]</strong> gouf op d'[$4 Versioun vum $2, $3 Auer] zréckgesat.",
 'filerevert-badversion' => 'Et gëtt keng vireg lokal Versioun vun deem Fichier mat der Zäitinformatioun déi Dir uginn hutt.',
 
 # File deletion
 'filedelete' => 'Läsch "$1"',
 'filedelete-legend' => 'Fichier läschen',
 'filedelete-intro' => "Dir läscht de Fichier '''[[Media:$1|$1]]''' mat all senge Versiounen (Historique).",
-'filedelete-intro-old' => "Dir läscht  d'Versioun $4  vum $2, $3 Auer vum Fichier '''„[[Media:$1|$1]]“'''.",
+'filedelete-intro-old' => "Dir läscht d'Versioun $4 vum $2, $3 Auer vum Fichier <strong>[[Media:$1|$1]]</strong>.",
 'filedelete-comment' => 'Grond:',
 'filedelete-submit' => 'Läschen',
 'filedelete-success' => "'''$1''' gouf geläscht.",
@@ -2336,14 +2335,14 @@ E-Mail: $PAGEEDITOR_EMAIL
 Wiki: $PAGEEDITOR_WIKI
 
 Et gi soulaang keng weider Maile geschéckt, bis Dir d\'Säit nees emol besicht hutt wärend deem Dir ageloggt sidd.
-Op Ärer Iwwerwaachungslëscht kënnt Dir all Benoorichtigungsmarkeren zesummen zrécksetzen.
+Op Ärer Iwwerwaachungslëscht kënnt Dir all Noriichtemarkeren zesummen zrécksetzen.
 
 
-Äre frëndleche {{SITENAME}} Benoriichtigungssystem
+Äre frëndlechen {{SITENAME}} Noriichtessystem
 
 --
 
-Fir d\'Astellungen op Ären E-Mailbenoriichtigungen z\'änneren, besicht w.e.g.
+Fir d\'Astellungen op Ären E-Mailnoriichten z\'änneren, besicht w.e.g.
 {{canonicalurl:{{#special:Preferences}}}}
 
 
@@ -2376,7 +2375,7 @@ W.e.g. confirméiert, datt Dir dëst wierklech wëllt, datt Dir d'Konsequenze ve
 'actionfailed' => 'Aktioun huet net funktionéiert',
 'deletedtext' => '"$1" gouf geläscht. Kuckt $2 fir eng Lëscht vun de Säiten déi viru Kuerzem geläscht goufen.',
 'dellogpage' => 'Läschlëscht',
-'dellogpagetext' => 'Hei fannt dir eng Lëscht mat rezent geläschte Säiten. All Auerzäiten sinn déi vum Server.',
+'dellogpagetext' => 'Hei fannt dir eng Lëscht mat rezent geläschte Säiten. All Auerzäite sinn déi vum Server.',
 'deletionlog' => 'Läschlëscht',
 'reverted' => 'Op déi Versioun virdrun zréckgesat',
 'deletecomment' => 'Grond:',
@@ -2443,11 +2442,11 @@ Kuckt d'[[Special:ProtectedPages|Lëscht vun de gespaarte Säite]] fir eng Lësc
 'protect-text' => "Hei kënnt Dir de Protektiounsstatus fir d'Säit '''$1''' kucken an änneren.",
 'protect-locked-blocked' => "Dir kënnt den Niveau vun der Säiteprotektioun net änneren, well Äre Benotzerkont gespaart ass.
 Hei sinn déi aktuell Säiteprotektiounsastellunge fir d'Säit '''$1''':",
-'protect-locked-dblock' => "Den Niveau vun der Proectioun vun der Säit kann net geänenert ginn, well d'Datebank gespaart ass.
-Hei sinn déi aktuell Astellungen fir d'Säit '''$1''':",
+'protect-locked-dblock' => "Den Niveau vun der Proectioun vun der Säit kann net geännert ginn, well d'Datebank gespaart ass.
+Hei sinn déi aktuell Astellunge fir d'Säit '''$1''':",
 'protect-locked-access' => "Dir hutt net déi néideg Rechter fir de Protektiounsniveau vun dëser Säit z'änneren.
 Hei sinn déi aktuell Astellunge fir d'Säit '''$1''':",
-'protect-cascadeon' => "Dës Säit ass elo gespaart well si an déi folgend {{PLURAL:$1|Säit|Säiten}} agebonnen ass déi duerch eng Kaskadespär gespaart {{PLURAL:$1|ass|sinn}}. De Protektiounsniveau ka fir dës Säit geännert ginn, dat huet awer keen Afloss op d'Kaskadespär.",
+'protect-cascadeon' => "Dës Säit ass elo gespaart well si an déi folgend {{PLURAL:$1|Säit|Säiten}} agebonnen ass déi duerch eng Kaskadespär gespaart {{PLURAL:$1|ass|sinn}}. Ännerunge vum Protektiounsniveau fir dës Säit hu keen Afloss op d'Kaskadespär.",
 'protect-default' => 'All Benotzer erlaben',
 'protect-fallback' => 'Nëmme Benotzer mat enger "$1"-Autorisatioun erlaben.',
 'protect-level-autoconfirmed' => 'Nëmmen automatesch ugemellt Benotzer erlaben',
@@ -2618,7 +2617,7 @@ $1',
 'ipboptions' => '2 Stonnen:2 hours,1 Dag:1 day,3 Deeg:3 days,1 Woch:1 week,2 Wochen:2 weeks,1 Mount:1 month,3 Méint:3 months,6 Méint:6 months,1 Joer:1 year,onbegrenzt:infinite',
 'ipbhidename' => 'Benotzernumm op Lëschten a bei Ännerunge verstoppen',
 'ipbwatchuser' => 'Dësem Benotzer seng Benotzer- an Diskussiouns-Säit iwwerwaachen',
-'ipb-disableusertalk' => "Dëse Benotzer dorun hënnere fir seng eegen Diskussiounssäit z'ännere sou laang wéi et gespaart ass",
+'ipb-disableusertalk' => "Dëse Benotzer dorun hënnere fir seng eegen Diskussiounssäit z'ännere sou laang wéi e gespaart ass",
 'ipb-change-block' => 'De Benotzer mat dese Parameteren nees spären',
 'ipb-confirm' => 'Spär confirméieren',
 'badipaddress' => "D'IP-Adress huet dat falscht Format.",
@@ -2816,7 +2815,8 @@ Wëll Dir se läsche fir d\'Réckelen ze erméiglechen?',
 'imageinvalidfilename' => 'Den Numm vum Zil-Fichier ass ongëlteg',
 'fix-double-redirects' => 'All Viruleedungen déi op den Originaltitel weisen aktualiséieren',
 'move-leave-redirect' => 'Viruleedung uleeën',
-'protectedpagemovewarning' => "'''OPGEPASST:''' Dës Säit gouf gespaart sou datt nëmme Benotzer mat Administreursrechter se réckele kënnen. Déi lescht Zeil aus de Logbicher fannt Dir zu Ärer Informatioun hei ënnendrënner.",
+'protectedpagemovewarning' => '<strong>OPGEPASST:</strong> Dës Säit gouf gespaart sou datt nëmme Benotzer mat Administreursrechter se réckele kënnen.
+Déi lescht Zeil aus de Logbicher fannt Dir zu Ärer Informatioun hei ënnendrënner.',
 'semiprotectedpagemovewarning' => "'''OPGEPASST:''' Dës Säit gouf gespaart sou datt nëmme confirméiert Benotzer se réckele kënnen. Déi lescht Zeil aus de Logbicher fannt Dir zu Ärer Informatioun hei ënnendrënner.",
 'move-over-sharedrepo' => '== De Fichier gëtt et ==
 [[:$1]] gëtt et op engem gedeelte Repertoire. Wann dir e Fichier op dësen Titel réckelt dann ass dee gedeelte Fichier net méi accessibel.',
@@ -3614,7 +3614,7 @@ Déi aner sinn am Standard verstoppt.
 # Email address confirmation
 'confirmemail' => 'E-Mailadress confirméieren',
 'confirmemail_noemail' => 'Dir hutt keng gëlteg E-Mail-Adress an Äre [[Special:Preferences|Benotzerastellungen]] agedro.',
-'confirmemail_text' => "Ier Dir d'E-Mailfunktioune vun {{SITENAME}} benotze kënnt musst Dir als éischt Är E-Mail-Adress confirméieren. Dréckt w.e.g. de Knäppchen hei ënnendrënner fir eng Confirmatiouns-E-Mail op déi Adress ze schécken déi Dir uginn hutt. An där E-Mail steet e Link mat engem Code, deen dir dann an Ärem Browser opmaache musst fir sou ze bestätegen, datt Är Adress och wierklech existéiert a valabel ass.",
+'confirmemail_text' => "Ier Dir d'E-Mailfunktioune vun {{SITENAME}} benotze kënnt musst Dir als éischt Är E-Mail-Adress confirméieren. Dréckt w.e.g. de Knäppchen hei ënnendrënner fir eng Confirmatiouns-E-Mail op déi Adress ze schécken déi Dir uginn hutt. An där E-Mail steet e Link mat engem Code, deen Dir dann an Ärem Browser opmaache musst fir sou ze bestätegen, datt Är Adress och wierklech existéiert a valabel ass.",
 'confirmemail_pending' => 'Dir krut schonn e Confirmatiouns-Code per E-Mail geschéckt. Wenn Dir Äre Benotzerkont eréischt elo kuerz opgemaach hutt, da gedëllegt Iech nach e puer Minutten bis Är E-Mail ukomm ass, ier Dir een neie Code ufrot.',
 'confirmemail_send' => 'Confirmatiouns-E-Mail schécken',
 'confirmemail_sent' => 'Confirmatiouns-E-Mail gouf geschéckt.',
@@ -3625,7 +3625,7 @@ Iwwerpréift w.e.g. är E-Mailadress op ongëlteg Zeechen.
 
 Feelermeldung vum Mailserver: $1',
 'confirmemail_invalid' => "Ongëltege Confirmatiounscode. Eventuell ass d'Gëltegkeetsdauer vum Code ofgelaf.",
-'confirmemail_needlogin' => 'Dir musst iech $1, fir är E-Mail-Adress ze confirméieren.',
+'confirmemail_needlogin' => 'Dir musst Iech $1, fir Är E-Mail-Adress ze confirméieren.',
 'confirmemail_success' => 'Är E-Mailadress gouf confirméiert. Där kënnt iech elo aloggen an a vollem Ëmfang vun der Wiki profitéieren.',
 'confirmemail_loggedin' => 'Är E-Mail-Adress gouf elo confirméiert.',
 'confirmemail_subject' => 'Confirmatioun vun der E-Mail-Adress fir {{SITENAME}}',
index 845c41d..7a6599b 100644 (file)
@@ -19,6 +19,7 @@
  * @author Ole Yves
  * @author Reedy
  * @author Soul Train
+ * @author Умар
  */
 
 $fallback = 'ru';
@@ -267,7 +268,6 @@ $messages = array(
 'disclaimers' => 'Жавабдарвал хивяй акъудун',
 'disclaimerpage' => 'Project:Жавабдарвал хивяй акъудун',
 'edithelp' => 'Дуьзар хъувун патал куьмек',
-'helppage' => 'Help:Къене авайбур',
 'mainpage' => 'Кьилин ччин',
 'mainpage-description' => 'Кьилин ччин',
 'policy-url' => 'Project:Къайдаяр',
@@ -442,7 +442,7 @@ $messages = array(
 'accmailtitle' => 'Парол ракъурнава.',
 'newarticle' => '(ЦIийи)',
 'newarticletext' => 'Куьне гьеле авачир ччиниз элячlнава.  
-Ам туькlуьрун патал агъадихъ галай дакlарда текст гьадра. (гегьеншдиз [[{{MediaWiki:Helppage}}|куьмекдин ччина]] килигиз жеда).
+Ам туькlуьрун патал агъадихъ галай дакlарда текст гьадра. (гегьеншдиз [$1 куьмекдин ччина] килигиз жеда).
 Куьне инал гъалатlдин гъиляй элячlнаватlа, кьу браузердин "кьулухъ"" дуьгмедал илиса.',
 'noarticletext' => 'Исятда и  ччинда са текстни авач.
 Квевай [[Special:Search/{{PAGENAME}}| и тlвар алай ччин]] муькуь ччинра жугъуриз,
@@ -726,11 +726,21 @@ $messages = array(
 'rcnotefrom' => "Агъадихъ '''$2'''-ай эгечIна масакIавилер къалурнава ( '''$1''' кьван  къалурнава).",
 'rclistfrom' => '$1-й эгечIна цIийи масакIавилер къалурун',
 'rcshowhideminor' => '$1 гъвечlи дуьзар хъувунар',
+'rcshowhideminor-show' => 'Къалурун',
+'rcshowhideminor-hide' => 'Чуьнуьхун',
 'rcshowhidebots' => '$1 ботар',
-'rcshowhideliu' => '$1 чпин тlвар къалурнавай уртахар',
+'rcshowhidebots-show' => 'Къалурун',
+'rcshowhidebots-hide' => 'Чуьнуьхун',
+'rcshowhideliu' => '$1 чпин тӀвар къалурнавай уртахар',
+'rcshowhideliu-show' => 'Къалурун',
+'rcshowhideliu-hide' => 'Чуьнуьхун',
 'rcshowhideanons' => '$1 чуьнуьхай уртахар',
+'rcshowhideanons-show' => 'Къалурун',
+'rcshowhideanons-hide' => 'Чуьнуьхун',
 'rcshowhidepatr' => '$1 гуьзчивал авунвай дуьзар хъувунар',
 'rcshowhidemine' => '$1 зи  дуьзар хъувунар',
+'rcshowhidemine-show' => 'Къалурун',
+'rcshowhidemine-hide' => 'Чуьнуьхун',
 'rclinks' => 'Эхиримжи $2 йикъан къене $1 масакIавилер къалура <br />$3',
 'diff' => 'тафават',
 'hist' => 'тарих',
index 27e4dc2..bb81f47 100644 (file)
@@ -211,7 +211,6 @@ $messages = array(
 'disclaimers' => 'Negas de respondablia',
 'disclaimerpage' => 'Project:Nega jeneral de respondablia',
 'edithelp' => 'Aida con edita',
-'helppage' => 'Help:Contenis',
 'mainpage' => 'Paje Prima',
 'mainpage-description' => 'Paje Prima',
 'policy-url' => 'Project:Politica',
@@ -362,7 +361,7 @@ Per favore inclui tota esta detales en tu demandas.",
 'newarticle' => '(Nova)',
 'newarticletext' => "Tu ia segue un lia a un paje ce no esista ja.
 Per crea la paje, comensa scrive en la caxa a su
-(vide la [[{{MediaWiki:Helppage}}|paje de aida]] per plu).
+(vide la [$1 paje de aida] per plu).
 Si tu es asi par era, clica a la boton '''retro''' de tu surfador.",
 'noarticletext' => 'Es aora no testo a esta paje.
 Tu pote [[Special:Search/{{PAGENAME}}|xerca per la titulo de esta paje]] en otra pajes,
index 7f36196..313e213 100644 (file)
@@ -240,7 +240,6 @@ $1",
 'disclaimers' => "Okutangaaza ku kkomo ery'obuvunaaniro bwaffe obw'omu mateeka",
 'disclaimerpage' => "Project:Okutangaaza ku kkomo ery'obuvunaaniro bwaffe obw'omu mateeka",
 'edithelp' => 'Nyamba',
-'helppage' => 'Help:Endagiriro',
 'mainpage' => 'Olupapula Olusooka',
 'mainpage-description' => 'Olupapula Olusooka',
 'policy-url' => "Project:Amateeka n'enkola",
@@ -584,7 +583,7 @@ Okukyusa ekigambo kino memba, ng'ayingidde mu wiki, alage ku lupapula ''[[Specia
 'newarticle' => '(Lupapula lupya)',
 'newarticletext' => "Enyunzi gy'ogenzeko egguka ku lupapula olutannakolebwawo.<br />
 Oba gwe oyagala okulukolawo, wandika mu kabokisi akaddako wano.
-(okuyiga ebisingawo, genda ku [[{{MediaWiki:Helppage}}|lupapula olw'obuyambi]]).<br />
+(okuyiga ebisingawo, genda ku [$1 lupapula olw'obuyambi]).<br />
 Bw'obanga tewagenderedde kutuuka wano, nyigabunyizi eppeesa ery'omu kalambula-neti yo
 erya '''ddayo'''.",
 'anontalkpagetext' => "----''Olupapula olw'emboozi luno lukoledwawo at'eyanjula atakolera mu akawunti ya ku wiki eno.<br />
index 891b0cf..739d070 100644 (file)
@@ -387,7 +387,6 @@ $1',
 'disclaimers' => 'Aafwiezinge aansjprakelikheid',
 'disclaimerpage' => 'Project:Algemein aafwiezing aansjprakelikheid',
 'edithelp' => 'Hulp bie bewirke',
-'helppage' => 'Help:Help',
 'mainpage' => 'Veurblaad',
 'mainpage-description' => 'Veurblaad',
 'policy-url' => 'Project:Beleid',
@@ -755,7 +754,7 @@ Meugelikerwies is t'r verplaats of gewösj gewaore wiel se de paasj 'nt bekieke
 't Wachwaord veur deze nuje gebroeker kan gewiezig waere via de pagina ''[[Special:ChangePassword|Wachwaord wiezige]]'' nao 't aanmelje.",
 'newarticle' => '(Nuuj)',
 'newarticletext' => "De höbs 'ne link gevolg nao 'n pagina die nog neet besjteit.
-Type in de box hiejónger óm de pagina te beginne (zuug de [[{{MediaWiki:Helppage}}|helppagina]] veur mie infermasie).
+Type in de box hiejónger óm de pagina te beginne (zuug de [$1 helppagina] veur mie infermasie).
 Es te hie per óngelök terech bis gekómme, klik dan op de '''trök'''-knóp van diene browser.",
 'anontalkpagetext' => "----''Dit is de euverlèkpagina veur 'ne anonieme gebroeker dae nog gein account haet aangemaak of dae 't neet gebroek.
 Daoveur gebroeke v'r 't IP-adres óm de gebroeker te identificere.
@@ -969,8 +968,7 @@ achtergrönj zeen meugelik te vinjen in 't [{{fullurl:{{#Special:Log}}/suppress|
 'revdelete-no-file' => "'d Aangegaeve bestandj besteit neet.",
 'revdelete-show-file-confirm' => 'Wèt se zeker det se de gewösjdje versie ven \'t bestandj "<nowiki>$1</nowiki>" ven $2 óm $3 wils bekieke?',
 'revdelete-show-file-submit' => 'Jao',
-'revdelete-selected' => "'''Geselecteerde {{PLURAL:$2|bewerking|bewerkinge}} van '''[[:$1]]''':'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Geselecteerde log gebeurtenis|Geselecteerde log gebeurtenisse}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Geselecteerde log gebeurtenis|Geselecteerde log gebeurtenisse}}:',
 'revdelete-confirm' => "Bevestig des se dit wils doon, des se de consequenties begrieps en des se dit deis in euvereinstömming mit 't geljendj [[{{MediaWiki:Policy-url}}|beleid]].",
 'revdelete-suppress-text' => "Versies verbèrge deentj '''allein''' gebroek te waere in de volgende gevalle:
 * Ongepaste perseunlike informatie
index e34657a..ec058fb 100644 (file)
@@ -359,7 +359,6 @@ $1",
 'disclaimers' => 'Avertense',
 'disclaimerpage' => 'Project:Avertense generâli',
 'edithelp' => 'Agiùtto',
-'helppage' => 'Help:Contegnûi',
 'mainpage' => 'Pàgina prinçipâ',
 'mainpage-description' => 'Pagina prinçipâ',
 'policy-url' => 'Project:Lezzi',
@@ -645,7 +644,7 @@ Sta password a poeu ese cangiâ inta paggina pe ''[[Special:ChangePassword|cangi
 'newarticletext' => "Sto colegaménto o corisponde a 'na pàgina ch'a no l'existe ancon.
 
 Se se vêu creâ a pàgina òua, se pêu comensâ a scrive into spàçio chì sotta.
-(amia e [[{{MediaWiki:Helppage}}|paggine d'agiûtto]] pe ciû informaçioìn).
+(amia e [$1 paggine d'agiûtto] pe ciû informaçioìn).
 
 Se t'ê intròu chì pe sballio,  sciacca '''Inderê''' into navegatô.",
 'anontalkpagetext' => "----
index 87f8b1c..24aa059 100644 (file)
@@ -317,7 +317,6 @@ $1",
 'disclaimers' => 'Disclaimers',
 'disclaimerpage' => 'Project:Avertenz generaj',
 'edithelp' => 'Manual de spiegazión',
-'helppage' => 'Help:Contegnüü',
 'mainpage' => 'Pagina principala',
 'mainpage-description' => 'Pagina principala',
 'policy-url' => 'Project:Policy',
@@ -518,7 +517,7 @@ Fee el piasè d'inclüd tüt i detaj chì de sura in qualsessìa dumanda che a d
 'accmailtext' => 'La parola d\'urdin per "$1" l\'è stada mandada a $2.',
 'newarticle' => '(Növ)',
 'newarticletext' => 'Te seet andaa adree a un ligam a una pagina che la esista gnamò.
-Per creà la pagina, a l\'è assee che te tachet a scriv in del box desota (varda la [[{{MediaWiki:Helppage}}|pagina de vüt]] per savèn püssee).
+Per creà la pagina, a l\'è assee che te tachet a scriv in del box desota (varda la [$1 pagina de vüt] per savèn püssee).
 Se te seet chì per erur, schiscia "indree" in sül tò browser.',
 'anontalkpagetext' => "''Questa chí a l'é la pagina da ciciarada d'un druvadur che l'ha nonanmò registraa un cünt, o che 'l le dröva mia.
 Per 'sta reson chí, el pò vess identificaa dumà cunt el sò indirizz nümereg de IP.
index 2298a61..5fd91a8 100644 (file)
@@ -272,7 +272,6 @@ $messages = array(
 'disclaimers' => 'ຂໍ້ປະຕິເສດຄວາມຮັບຜິດຊອບ',
 'disclaimerpage' => 'Project:ຂໍ້ປະຕິເສດຄວາມຮັບຜິດຊອບ',
 'edithelp' => 'ວິທີດັດແກ້ໜ້າ',
-'helppage' => 'Help:ເນື້ອໃນ',
 'mainpage' => 'ໜ້າຫຼັກ',
 'mainpage-description' => 'ໜ້າຫຼັກ',
 'policy-url' => 'Project:ປະຕູສູ່ຊຸມຊົນ',
@@ -403,7 +402,7 @@ $messages = array(
 'accmailtitle' => 'ໄດ້ສົ່ງ ລະຫັດຜ່ານ ໄປແລ້ວ.',
 'accmailtext' => 'ລະຫັດຜ່ານ ຂອງ "$1" ໄດ້ຖືກສົ່ງໄປ  $2 ແລ້ວ.',
 'newarticle' => '(ໃໝ່)',
-'newarticletext' => "ທ່ານ ໄດ້ມາຮອດ ໜ້າທີ່ຍັງບໍ່ໄດ້ຖືກສ້າງຂຶ້ນເທື່ອ. ທ່ານ ສາມາດເລີ່ມ ສ້າງໜ້າ ໂດຍ ພິມໃສ່ ກັບ ຂ້າງລຸ່ມ.(ເບິ່ງລາຍລະອຽດຕື່ມ ທີ່ [[{{MediaWiki:Helppage}}|ໜ້າຊ່ວຍເຫຼືອ]]).
+'newarticletext' => "ທ່ານ ໄດ້ມາຮອດ ໜ້າທີ່ຍັງບໍ່ໄດ້ຖືກສ້າງຂຶ້ນເທື່ອ. ທ່ານ ສາມາດເລີ່ມ ສ້າງໜ້າ ໂດຍ ພິມໃສ່ ກັບ ຂ້າງລຸ່ມ.(ເບິ່ງລາຍລະອຽດຕື່ມ ທີ່ [$1 ໜ້າຊ່ວຍເຫຼືອ]).
 ຖ້າ ທ່ານ ມາຮອດນີ້ ໂດຍຄວາມຜິດພາດ, ກະລຸນາ ກົດ ປຸ່ມ '''ກັບຄືນ''', ຢູ່ ໂປຣແກຣມ ທ່ອງເວັບ ຂອງທ່ານ.",
 'noarticletext' => 'ຍັງບໍ່ມີເນື້ອໃນ ຢູ່ ໜ້ານີ້, ທ່ານສາມາດ [[Special:Search/{{PAGENAME}}|ຄົ້ນຫາໜ້າຫົວຂໍ້ນີ້]] ຫຼື [{{fullurl:{{FULLPAGENAME}}|action=edit}} ດັດແກ້ໜ້ານີ້].',
 'previewnote' => "'''ນີ້ ແມ່ນ ການລອງເບິ່ງຜົນເທົ່ານັ້ນ; ການດັດແກ້ຍັງບໍ່ທັນຖືກບັນທຶກ!'''",
index 324eb4f..dea3dac 100644 (file)
@@ -184,7 +184,6 @@ $messages = array(
 'disclaimers' => 'Dikulemi',
 'disclaimerpage' => 'Project:Dikulemi generali',
 'edithelp' => "Hloli ye ng'i",
-'helppage' => 'Help:Buinaneli di petulo',
 'mainpage' => 'Petulo yem efro',
 'mainpage-description' => 'Petulo yem efro',
 'policy-url' => 'Project:Busize',
@@ -360,7 +359,7 @@ A IP sa $3, e ID di bolok sa #$5. Bulelezi IP e ID kwa bukizisize.",
 'loginreqpagetext' => 'A sa $1 di kamukile xeti di petulo.',
 'newarticle' => '(Nca)',
 'newarticletext' => "Bye petulo ni sa, tiguki zwa ling'ki.
-Di hloli, seltisize kwa sisebelisoni (kamukile [[{{MediaWiki:Helppage}}|likitisize]]).
+Di hloli, seltisize kwa sisebelisoni (kamukile [$1 likitisize]).
 A sa nca di bufosi, tampi '''back'''.",
 'noarticletext' => 'Sa no selt kwa petulo, a sa [[Special:Search/{{PAGENAME}}|fatukile di petulonom]] kwa xete petulo/[{{fullurl:{{FULLPAGENAME}}|action=edit}} petulo kenki].',
 'updated' => '(sa updeti)',
index 63b9f04..faef643 100644 (file)
@@ -257,7 +257,6 @@ $messages = array(
 'disclaimers' => 'منكرون',
 'disclaimerpage' => 'پروجه:منكر بيئن كاروريا',
 'edithelp' => 'هومياری سی ويرايشت',
-'helppage' => 'هومياری:مینونه',
 'mainpage' => 'سرآسونه',
 'mainpage-description' => 'سرآسونه',
 'policy-url' => 'پروجه:خط و مش',
@@ -380,6 +379,8 @@ $1',
 'myprivateinfoprotected' => 'شما حق ناریت دونسمنیا خصوصی نه ویرایشت بکید',
 'mypreferencesprotected' => 'شما حق ناریت ویجگی یا هنی تونه ویرایشت بکید',
 'ns-specialprotected' => 'بلگیا ویجه نتونن ویرایشت بوئن',
+'invalidtitle-knownnamespace' => 'نوم نامعتور سی نوم جا "$2" و نیسه "$3"',
+'invalidtitle-unknownnamespace' => 'نوم نامعتور سی شماره نومجا ناشناس $1 و نیسه "$2"',
 'exception-nologin' => 'نبوئه وارد بوئيد',
 'exception-nologin-text-manual' => 'خواهشمنیدم که $1 تونسه بوئه د ای بلگه دسرسی داشتوه یا کاری انجوم بیئه.',
 
@@ -422,6 +423,9 @@ $1',
 'gotaccountlink' => 'اومائن',
 'userlogin-resetlink' => 'جزییات وامین اومائن تونه د ویر بردیته',
 'userlogin-resetpassword-link' => 'پاسورد د ویرتو رئته؟',
+'userlogin-helplink2' => 'هومیاری وا مین اومائن',
+'userlogin-loggedin' => 'شما ایسه د عنوان {{جنس:$1|$1}} اومایته وا مین.
+د فرم هاری سی وا مین اومائن وه عنوان کارور هنی استفاده بکیتو.',
 'userlogin-createanother' => 'يه گل حساوهنی راست بكيد',
 'createacct-join' => 'دونسمنيا دباره خوتونه د هار وارد بكيد',
 'createacct-another-join' => 'دونسمنیا یه گل حساو د هار وارد بکید',
@@ -485,13 +489,19 @@ $1',
 $1 لطفن سی تلاش هنی صبر بکید',
 'login-abort-generic' => 'اومائن وامین تو شکست حرد-شکست حرده',
 'loginlanguagelabel' => 'زون:$1',
+'pt-login' => 'وا مین اومائن',
+'pt-login-button' => 'وا مین اومائن',
+'pt-createaccount' => 'يه گل حساو راست بكيد',
+'pt-userlogout' => 'د سيستم دراومائن',
 
 # Email sending
 'php-mail-error-unknown' => "خطا ناشناس مئن تاوع  PHP's mail()",
 'user-mail-no-addy' => 'سی کل کردن ایمیل بی نشونه ایمیل صورت گرته',
+'user-mail-no-body' => 'سی کل کردن ایمیل وا مینونه حالی یا کؤچک بیئن سی دلیل غیر علقمنی تلاش بکید.',
 
 # Change password dialog
 'changepassword' => 'پاسورد نه آلشت بكيت',
+'resetpass_announce' => 'سی تموم کردن وا مین اومائن، شما باید یه گل پاسورد هنی وارد بکیتو.',
 'resetpass_header' => 'پاسورد حساوتونه آلشت بکید',
 'oldpassword' => 'پاسورد قدیمی:',
 'newpassword' => 'پاسورد تازه:',
@@ -583,7 +593,7 @@ $1 لطفن سی تلاش هنی صبر بکید',
 'accmailtitle' => 'پاسورد کل بی',
 'newarticle' => 'تازه',
 'newarticletext' => 'شما وادما هوم پیوندی هئیت که وجود ناره.
-سی راس کردن بلگه.شرو د نیسنن مئن جعوه هاری بکید(سیل[[{{MediaWiki:Helppage}}|]] سی دونسمنی بیشتر بکید).
+سی راس کردن بلگه.شرو د نیسنن مئن جعوه هاری بکید(سیل[$1 ] سی دونسمنی بیشتر بکید).
 ار شما سی اشتوا کردن هایئن ایچه، دگمه وادما رئتن مرورگر تونه بپورنیت.',
 'noarticletext' => 'د تازه یا د ای بلگه متن نی.
 شما تونید د[[Special:Search/{{PAGENAME}}|search for this page title]] بگردید د ای بلگه یا د بلگیا هنی یا<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}}   د هنی پی جوری بوئه  logs]</span>   
@@ -700,9 +710,11 @@ $2',
 'rev-delundel' => 'آلشت وضئيت ديئن',
 'rev-showdeleted' => 'نشو دائن',
 'revisiondelete' => 'پاک کردن/زنه کردن وانئریا',
+'revdelete-nooldid-title' => 'وانیری تمارزی بیه نامعتوره',
 'revdelete-no-file' => 'فایل مشقص بیه وجود ناره.',
 'revdelete-show-file-submit' => 'هری',
-'revdelete-selected' => "'''{{جمی:$2|وانیری انتخاو بیه|وانیریا انتخاو بیه}} د[[:$1]]:'''",
+'revdelete-selected-text' => '{{جمی:$1|وانیری گل گر بیه|وانیری گل گر بیه}} د [[:$2]]:',
+'revdelete-selected-file' => '{{جمی:$1|وانیری گل گر بیه|وانیری گل گر بیه}} د [[:$2]]:',
 'revdelete-hide-text' => 'متن دوواره دیئن',
 'revdelete-hide-image' => 'چی یا مئن فایل قام کو',
 'revdelete-hide-name' => 'آرمون و انجوم گر نه قام بکید',
@@ -806,6 +818,7 @@ $2',
 'powersearch-toggleall' => 'همه',
 'powersearch-togglenone' => 'هيش كوم',
 'search-external' => 'پی جوری د در',
+'search-error' => 'یه گل خطا سی اوسنی که پی جوری می کردیت اتفاق افتائه:$1',
 
 # Preferences page
 'preferences' => 'خصوصيات هنی',
@@ -855,6 +868,7 @@ $2',
 'prefs-namespaces' => 'نوم جایا',
 'default' => 'پيش فرض',
 'prefs-files' => 'فايلا',
+'prefs-common-css-js' => ' سی اس اس/جاوا اسکریپت بهر بیه سی همه پوسه یا:',
 'prefs-emailconfirm-label' => 'مئکم کردن ایمیل:',
 'youremail' => 'ايميل:',
 'username' => '{{جنس:$1|نوم کاروری}}:',
@@ -895,6 +909,7 @@ $2',
 'email-address-validity-invalid' => 'یه گل نشونی ایمیل خو وارد بکید',
 
 # User rights
+'userrights-lookup-user' => 'دسه یا کاروری نه دیوون داری بکیت',
 'userrights-user-editname' => 'نوم كاروری ته وارد كو',
 'editusergroup' => 'ویرایشت گرویا کاروری',
 'userrights-editusergroup' => 'ویرایشت گرویا کاروری',
@@ -928,6 +943,8 @@ $2',
 # Rights
 'right-read' => 'حنن بلگیا',
 'right-edit' => 'ویرایشت بلگیا',
+'right-createtalk' => 'بلگه یا چک چنه نه راس بکید',
+'right-createaccount' => 'یه گل حساو کاروری تازه راس بکیت',
 'right-move' => 'بلگه یا جا وه جا کو',
 'right-move-subpages' => 'بلگه یا و زیر بلگه یا شونه جا وه جا کو',
 'right-move-rootuserpages' => 'بلگه یا ریشه ای کارور نه جا وه جا کو',
@@ -1009,11 +1026,23 @@ $2',
 'rcnotefrom' => 'د هار آلشتیا د $2 هیئن(د بال د $1 نشون دئه بیه)',
 'rclistfrom' => 'آلشتیا تازه ایی که وا $1 شرو بیه نشونش بئه',
 'rcshowhideminor' => 'ويرايشتيا کؤچک $1',
+'rcshowhideminor-show' => 'نشو دئن',
+'rcshowhideminor-hide' => 'قام کردن',
 'rcshowhidebots' => '$1 رواتيا یا بوتيا',
+'rcshowhidebots-show' => 'نشو دئن',
+'rcshowhidebots-hide' => 'قام کردن',
 'rcshowhideliu' => '$1 کاروريا ثوت نام کرده',
+'rcshowhideliu-show' => 'نشو دئن',
+'rcshowhideliu-hide' => 'قام کردن',
 'rcshowhideanons' => '$1 کاروريا ناشناس',
+'rcshowhideanons-show' => 'نشو دئن',
+'rcshowhideanons-hide' => 'قام کردن',
 'rcshowhidepatr' => '$1 ویرایشتیا تیه پرس بیه',
+'rcshowhidepatr-show' => 'نشو دئن',
+'rcshowhidepatr-hide' => 'قام کردن',
 'rcshowhidemine' => 'ويرايشتيا مه$1',
+'rcshowhidemine-show' => 'نشو دئن',
+'rcshowhidemine-hide' => 'قام کردن',
 'rclinks' => 'آخرین آلشتیا $1 نشو بیه د اخرین روزیا $2',
 'diff' => 'فرخ',
 'hist' => 'ويرگار',
@@ -1056,6 +1085,7 @@ $2',
 'filereuploadsummary' => 'آلشتیا فایل:',
 'filesource' => 'سرچشمه:',
 'uploadedfiles' => 'جانیایا سواربیه',
+'ignorewarnings' => 'د هر زنهار تیه پوشی کو',
 'badfilename' => 'نوم جانیا د "$1" آلشت بیه.',
 'empty-file' => 'فایلی که دئی ته حالی بیه.',
 'file-too-large' => 'فایلی که دئی ته فره گپ بی.',
@@ -1112,6 +1142,7 @@ $2',
 'http-read-error' => 'خطا د حنن اچ تی تی پی.',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
+'upload-curl-error6' => 'نبوئه د یو آر ال برسیت',
 'upload-curl-error28' => 'تموم بیئن مئلت سی سوار کرد',
 
 'license' => 'ليانس دار بيئن',
@@ -1131,6 +1162,7 @@ $2',
 'listfiles_user' => 'كارور',
 'listfiles_size' => 'انازه',
 'listfiles_count' => 'نسقیا',
+'listfiles-show-all' => 'شومل نسقه یا نهاتری عسگیا',
 'listfiles-latestversion' => 'نسقه تازه',
 'listfiles-latestversion-yes' => 'هری',
 'listfiles-latestversion-no' => 'نه',
@@ -1209,6 +1241,7 @@ $2',
 'statistics-articles' => 'بلگه یا مینونه',
 'statistics-pages' => 'بلگیا',
 'statistics-files' => 'جانیا یا سوار بیه',
+'statistics-edits-average' => 'میانگین ویرایشت یا سی هر بلگه',
 'statistics-views-total' => 'همه نه بوینیت',
 'statistics-views-peredit' => 'هر ویرایشت نه بوینیت',
 'statistics-users' => 'ثوت نام بیه [[ویجه:نوم گه کاروریا|کاروریا]]',
@@ -1254,12 +1287,20 @@ $2',
 'prefixindex' => 'همه بلگيا وا پيشون',
 'shortpages' => 'بلگه یا کؤچک',
 'longpages' => 'بلگه یا گپ',
+'deadendpages' => 'بلگه یا نابود بیئنی',
 'protectedpages' => 'بلگه یا حفاظت بيه',
+'protectedpages-page' => 'بلگه',
+'protectedpages-expiry' => 'تموم بیه آ',
+'protectedpages-performer' => 'کارور حفاظت بیه',
+'protectedpages-reason' => 'دلیل',
+'protectedpages-unknown-timestamp' => 'ناشناس',
+'protectedpages-unknown-performer' => 'کارور ناشناس',
 'listusers' => 'نوم گه کارور',
 'listusers-editsonly' => 'فقط کاروریایی که ویرایشت می کن نشو بیه',
 'usercreated' => '{{جنسیت:$3|راس بیه}}د $1 at $2',
 'newpages' => 'بلگيا نو',
 'newpages-username' => 'نوم كاروری:',
+'ancientpages' => 'بلگه یا نهاتر',
 'move' => 'جاوه جا بوئيت',
 'movethispage' => 'ای بگله نه جا وه جا كو',
 'pager-newer-n' => '{{جمی:$1|وانها تر 1وانها تر $1}}',
@@ -1278,16 +1319,23 @@ $2',
 'allpages' => 'همه بلگيا',
 'alphaindexline' => '$1 د
 $2',
+'nextpage' => 'بلگه نهایی($1)',
+'prevpage' => 'بلگه دمایی($1)',
 'allarticles' => 'همه بلگيا',
 'allpagessubmit' => 'رو',
 'allpagesbadtitle' => 'عنوان بلگه حاسته بیه معتور نی،یا  یه گل مئن زونی یا مئن ویکی عنوان غلطه.
 یه شایت شومل یکی با یا بیشتر کاراکتریا نبوئه که سی ای موضوعیا استفاده بوئن',
 
+# SpecialCachedPage
+'cachedspecial-refresh-now' => 'دیئن آخری.',
+
 # Special:Categories
 'categories' => 'دسه يا',
 
 # Special:DeletedContributions
 'deletedcontributions' => 'هومیاریا پاک بیه کارور',
+'deletedcontributions-title' => 'هومیاریا پاک بیه کارور',
+'sp-deletedcontributions-contribs' => 'هومیاریا',
 
 # Special:LinkSearch
 'linksearch-ns' => 'نوم جا:',
@@ -1295,21 +1343,47 @@ $2',
 'linksearch-line' => '$1 داره د $2 هوم پیوند بوئه',
 
 # Special:ListUsers
+'listusers-submit' => 'نشو دئن',
 'listusers-noresult' => 'هیچ کاروری پیدا نبی',
+'listusers-blocked' => '(قلف بيه)',
 
 # Special:ActiveUsers
 'activeusers' => 'نوم گه کاروریا کارکو',
+'activeusers-hidebots' => 'بوتیا قام کو',
+'activeusers-hidesysops' => 'دیوون داریا نه قام کو',
 'activeusers-noresult' => 'هیچ کاروری پیدا نبی',
 
 # Special:ListGroupRights
+'listgrouprights-group' => 'دسه',
+'listgrouprights-rights' => 'حقوقیا',
 'listgrouprights-members' => '(نوم گه اندومیا)',
+'listgrouprights-addgroup-all' => 'همه گرویا نه اضاف کو',
+'listgrouprights-removegroup-all' => 'همه گرویا نه وردار',
+'listgrouprights-addgroup-self' => ' {{جمی:$2|گروه|گرویا}} نه د حساو: $1 اضاف کو',
 
 # Email user
+'mailnologin' => 'هیپچ نشونی یی کل نبیه',
 'emailuser' => 'ای كارور نه ايميل كو',
 'emailuser-title-target' => 'ایمیل سی ای {{جنس:$1|کارور}}',
+'emailuser-title-notarget' => 'ایمیل کارور',
 'emailpage' => 'ایمیل کارور',
 'defemailsubject' => '{{نوم سیل جا}} ایمیل د کارور "$1"',
+'usermaildisabled' => 'ایمیل کارور د کار افتائه',
+'noemailtitle' => 'هیچ نشونی ایمیلی نئ',
 'emailusername' => 'نوم كاروری:',
+'emailusernamesubmit' => 'دئن',
+'emailfrom' => 'د:',
+'emailto' => 'سی:',
+'emailsubject' => 'سرون:',
+'emailmessage' => 'پيغوم:',
+'emailsend' => 'كل بيه',
+'emailccme' => 'یه گل وردار د پیغوم مه نه سیم ایمیل کو.',
+'emailccsubject' => ' پیغومتو سی $1:$2 ورداشته بی',
+'emailsent' => 'ایمیل کل بیه',
+'emailsenttext' => 'پیغوم ایمیلی تو کل بیه.',
+
+# User Messenger
+'usermessage-editor' => 'پیغوم فرسن سیستم',
 
 # Watchlist
 'watchlist' => 'سیل برگ',
@@ -1318,7 +1392,9 @@ $2',
 'watchnologin' => 'وارد نبیه',
 'watchnologintext' => 'شما سی آلشت دئن سیل برگتو با [[ویجه:وامین اومائن کارور|وامین اومائه]]',
 'watch' => 'سيل كردن',
+'watchthispage' => 'ديئن ای بلگه',
 'unwatch' => 'ديه نبيه',
+'unwatchthispage' => 'واداشتن دیئن',
 'notanarticle' => 'مینونه هیچ بلگه ای نئ',
 'watchlist-details' => '{{جمی:$1|$1 بلگه|$1 بلگیا}} د سیل برگتو هیش بلگه قسه کردن نی .',
 'wlheader-enotif' => 'وارسیاری ایمیل فعال بیه.',
@@ -1326,18 +1402,37 @@ $2',
 'wlshowlast' => 'آخرین$1 ساعتیا $2و روزیا $3 نشو بیئه',
 'watchlist-options' => 'گزینیا سیل برگ',
 
+# Displayed when you click the "watch" button and it is in the process of watching
+'watching' => 'د حال دیئن...',
+'unwatching' => 'د حال ندیئن...',
+
 'enotif_mailer' => '{{نوم سیلجا}} وارسیاری ایمیل زننه',
 'enotif_reset' => 'همه بلگه یا دیئه بینه نشودار بکید',
 'enotif_impersonal_salutation' => '{{نوم سیلجا}} کارور',
 'enotif_lastvisited' => 'همه آلشتیا$1 د اوسه که شما د آخرین بار دیئته بوینیت.',
+'enotif_anon_editor' => 'کارو ناشناس$1',
 
 # Delete
+'deletepage' => 'پاک کردن بلگه',
+'confirm' => 'مئكم كردن',
 'excontent' => 'مینونه :"$1" بی',
 'exbeforeblank' => 'مینونه حالی دمایی:"$1" بی',
+'exblank' => 'بلگه حال بی',
+'delete-confirm' => 'پاک کردن"$1"',
+'delete-legend' => 'پاك كردن',
 'actioncomplete' => 'عملكرد كامل بيه',
 'actionfailed' => 'عملكرد شكست حرده',
 'dellogpage' => 'لاگ پاك كردن',
 'deletionlog' => 'پهرستنومه پاک بیئن',
+'deletecomment' => 'دليل:',
+'deleteotherreason' => 'دليليا هنی:',
+'deletereasonotherlist' => 'دلیل هنی',
+'deletereason-dropdown' => '* دلیلیا پاک کردن رسم بیه
+** اسپم
+** خراوکاری
+** رعایت نبین کپی رایت
+** درحاست نیسنه
+** نهاورگشت شکست حرده',
 
 # Rollback
 'rollbacklink' => 'ورگشتن',
@@ -1357,7 +1452,9 @@ $2',
 'restriction-type' => 'دسرسی:',
 
 # Restrictions (nouns)
+'restriction-edit' => 'ويرايشت',
 'restriction-move' => 'جاوه جا بوئيت',
+'restriction-create' => 'راس كردن',
 'restriction-upload' => 'سوار کرد',
 
 # Restriction levels
@@ -1366,10 +1463,12 @@ $2',
 # Undelete
 'undeletelink' => 'بوين/دوواره آماده با',
 'undeleteviewlink' => 'ديئن',
+'undeletecomment' => 'دليل:',
 'cannotundelete' => 'زنه کردن انجوم نبی:$1',
 'undelete-search-title' => 'بلگه یا پاک بیه نه پی جوری کو',
 'undelete-search-submit' => 'پی جوری',
 'undelete-error-short' => 'خطا پاک نبیئن جانیا:$1',
+'undelete-show-file-submit' => 'هری',
 
 # Namespace form on various pages
 'namespace' => 'نوم جا:',
@@ -1416,6 +1515,7 @@ $2',
 # Block/unblock
 'block' => 'منع کارور',
 'blockip' => 'منع کارور',
+'ipbreason' => 'دليل:',
 'ipbother' => 'وخت هنی:',
 'ipboptions' => '2 ساعتیا:2 ساعت,1 رو:1 رو,3 روزا:3 رو,1 هفته:1 هفته,2 هفته یا:2 هفته,1 ما:1 ما,3 ما:3 میا,6 ما:6 مایا,1 سال:1سال,بی حساو:بی حساو',
 'ipbhidename' => 'نوم کاروری نه سی ویرایشت یا و نوم گه یا قام کو',
index 9f26b5c..ab4c1ed 100644 (file)
@@ -433,7 +433,6 @@ $1',
 'disclaimers' => 'Atsakomybės apribojimas',
 'disclaimerpage' => 'Project:Atsakomybės apribojimas',
 'edithelp' => 'Kaip redaguoti',
-'helppage' => 'Help:Turinys',
 'mainpage' => 'Pagrindinis puslapis',
 'mainpage-description' => 'Pagrindinis puslapis',
 'policy-url' => 'Project:Politika',
@@ -867,7 +866,7 @@ Jis galėjo būti perkeltas arba ištrintas, kol peržiūrėjote puslapį.',
 'newarticle' => '(Naujas)',
 'newarticletext' => "Jūs patekote į dar neegzistuojantį puslapį.
 Norėdami sukurti puslapį, pradėkite rašyti žemiau esančiame įvedimo lauke
-(plačiau [[{{MediaWiki:Helppage}}|pagalbos puslapyje]]).
+(plačiau [$1 pagalbos puslapyje]).
 Jei patekote čia per klaidą, paprasčiausiai spustelkite  naršyklės mygtuką '''atgal'''.",
 'anontalkpagetext' => "----''Tai yra anoniminio naudotojo, nesusikūrusio arba nenaudojančio paskyros, aptarimų puslapis.
 Dėl to naudojamas IP adresas jo identifikavimui.
@@ -1086,8 +1085,7 @@ Kaip administratorius, jūs galite ją pamatyti; daugiau detalių gali būti [{{
 'revdelete-no-file' => 'Nurodytas failas neegzistuoja.',
 'revdelete-show-file-confirm' => 'Ar tikrai norite peržiūrėti ištrintą failo „<nowiki>$1</nowiki>“ $2 $3 versiją?',
 'revdelete-show-file-submit' => 'Taip',
-'revdelete-selected' => "'''{{PLURAL:$2|Pasirinkta [[:$1]] versija|Pasirinktos [[:$1]] versijos}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Pasirinktas istorijos įvykis|Pasirinkti istorijos įvykiai}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Pasirinktas istorijos įvykis|Pasirinkti istorijos įvykiai}}:',
 'revdelete-confirm' => 'Prašome patvirtinti, kad jūs tai ketinate padaryti, kad jūs suprantate padarinius, ir kad jūs tai darote pagal [[{{MediaWiki:Policy-url}}|politiką]].',
 'revdelete-suppress-text' => "Ištrynimas turėtų būti taikomas '''tik''' šiais atvejais:
 * Netinkama asmeninė informacija
index 9e2a931..f38f9ed 100644 (file)
@@ -189,7 +189,6 @@ $messages = array(
 'disclaimers' => 'Daīšmu nūstatejumi',
 'disclaimerpage' => 'Project:Dasaīšonu nūstateišona',
 'edithelp' => 'Paleigs',
-'helppage' => 'Help:Turīņs',
 'mainpage' => 'Suoku puslopa',
 'mainpage-description' => 'Suoku puslopa',
 'policy-url' => 'Project:Nūsacejumi',
@@ -305,7 +304,7 @@ Par to var ziņuot [[Special:ListUsers/sysop|kaidam administratoram]], nūruodū
 'summary-preview' => 'Apsavērt kūpsavylkumu',
 'newarticle' => '(Jauns roksts)',
 'newarticletext' => "Tu ite tyki caur saitis nu, pagaidam vēļ nauzraksteitys, lopys.
-Kab radeitu lopu, suoc raksteit teksta lūgā apaškā (par teksta formatiešonu i seikuokai informaceja verīs [[{{MediaWiki:Helppage}}|paleigu]]).
+Kab radeitu lopu, suoc raksteit teksta lūgā apaškā (par teksta formatiešonu i seikuokai informaceja verīs [$1 paleigu]).
 Ka Tu ite tyki deļ klaidys, vīnkuorši daspīd '''back''' pūgu puorlyukprogramā.",
 'noarticletext' => "Pošulaik itymā puslopā navā nikaida teksta.
 Jius varat [[Special:Search/{{PAGENAME}}|atrast ituos pasaukys pīmini]] cytuos puslopuos,
index 1e51344..87140f2 100644 (file)
@@ -246,7 +246,6 @@ $1',
 'disclaimers' => 'Intlawhkhalhna',
 'disclaimerpage' => 'Project: Intlawhkhalhna Dan',
 'edithelp' => 'Siamţhat zirna',
-'helppage' => 'Help: A chhunga thu awmte',
 'mainpage' => 'Phekpui',
 'mainpage-description' => 'Phekpui',
 'policy-url' => 'Project: Dàn',
@@ -557,7 +556,7 @@ A phêk i en chhungin sawn emaw nuaibo emaw a ni a ni ang.',
 'accmailtext' => '[[User talk:$1|$1]] tan a kahpaha siam thurûk $2 hnenah thawn a ni tawh.
 I siangchan thurûk hi [[Special:ChangePassword|thurûk tihdanglamna]]-ah i inziahluh hnuah i tidanglam thei ang.',
 'newarticle' => '(A thar)',
-'newarticletext' => "Phêk awm lo zawmna i rawn zui lut a ni. Phêk siam tùrin a hnuaia bawmah khuan chhu rawh (hriattirna dang [[{{MediaWiki:Helppage}}|ţanpuina phêk]]-ah a en theih).
+'newarticletext' => "Phêk awm lo zawmna i rawn zui lut a ni. Phêk siam tùrin a hnuaia bawmah khuan chhu rawh (hriattirna dang [$1 ţanpuina phêk]-ah a en theih).
 Tihsual palh thilthua heta lo lût i nih chuan i rangpuifanna-a '''letna''' fei zawnah hmet rawh.",
 'noarticletext' => 'He phêkah hian thu a la awm hrih lo.
 Phêk dangah [[Special:Search/{{PAGENAME}}| he phêk hming hi i zawng]] thei ang, a nih loh pawhin a laichin 
index bcdb383..e9dad9c 100644 (file)
@@ -300,7 +300,6 @@ $1',
 'disclaimers' => 'Saistību atrunas',
 'disclaimerpage' => 'Project:Saistību atrunas',
 'edithelp' => 'Rediģēšanas palīdzība',
-'helppage' => 'Help:Saturs',
 'mainpage' => 'Sākumlapa',
 'mainpage-description' => 'Sākumlapa',
 'policy-url' => 'Project:Politika',
@@ -472,8 +471,10 @@ Vari turpināt to izmantot anonīmi, vari <span class='plainlinks'>[$1 atgriezti
 'nologinlink' => 'Reģistrējies',
 'createaccount' => 'Izveidot jaunu lietotāju',
 'gotaccount' => "Tev jau ir lietotājvārds? '''$1'''!",
-'gotaccountlink' => 'Dodies iekšā',
+'gotaccountlink' => 'Pieslēgties',
 'userlogin-resetlink' => 'Esat aizmirsis savu pieslēgšanās informāciju?',
+'userlogin-loggedin' => 'Tu esi pieslēdzies ar lietotājvārdu {{GENDER:$1|$1}}.
+Lai pieslēgtos ar citu lietotājvārdu, aizpildi šo formu.',
 'userlogin-createanother' => 'Izveidot citu kontu',
 'createacct-join' => 'Ievadiet savu informāciju zemāk.',
 'createacct-another-join' => 'Ievadiet jaunā konta informāciju zemāk.',
@@ -490,7 +491,7 @@ Vari turpināt to izmantot anonīmi, vari <span class='plainlinks'>[$1 atgriezti
 'createacct-imgcaptcha-ph' => 'Ievadiet tekstu, kuru jūs redzat augstāk',
 'createacct-submit' => 'Izveidot savu kontu',
 'createacct-another-submit' => 'Izveidot citu lietotāja kontu',
-'createacct-benefit-heading' => '{{SITENAME}} darbojas ar tādu cilvēku kā jūs ieguldījumu.',
+'createacct-benefit-heading' => '{{SITENAME}} darbojas ar tādu cilvēku kā Tu ieguldījumu.',
 'createacct-benefit-body1' => '{{PLURAL:$1|labojums|labojumi}}',
 'createacct-benefit-body2' => '{{PLURAL:$1|lapa|lapas}}',
 'createacct-benefit-body3' => '{{PLURAL:$1|nesens dalībnieks|neseni dalībnieki}}',
@@ -682,7 +683,7 @@ Norādi un apstiprini e-pasta adresi savos [[Special:Preferences|lietotāja uzst
 'nosuchsectiontext' => 'Jūs mēģinājāt rediģēt sadaļu, kas neeksistē.
 Tā var būt pārvietota vai dzēsta, kamēr jūs apskatījāt lapu.',
 'loginreqtitle' => 'Nepieciešama ieiešana',
-'loginreqlink' => 'login',
+'loginreqlink' => 'pieslēgties',
 'loginreqpagetext' => 'Tev nepieciešams $1, lai apskatītu citas lapas.',
 'accmailtitle' => 'Parole nosūtīta.',
 'accmailtext' => "Nejauši ģenerēta parole lietotājam [[User talk:$1|$1]] tika nosūtīta uz $2.
@@ -690,7 +691,7 @@ Tā var būt pārvietota vai dzēsta, kamēr jūs apskatījāt lapu.',
 Šī konta paroli pēc ielogošanās varēs nomainīt ''[[Special:ChangePassword|šeit]]''.",
 'newarticle' => '(Jauns raksts)',
 'newarticletext' => "Tu šeit nonāci sekojot saitei uz, pagaidām vēl neuzrakstītu, lapu.
-Lai izveidotu lapu, sāc rakstīt teksta logā apakšā (par teksta formatēšanu un sīkākai informācija skatīt [[{{MediaWiki:Helppage}}|palīdzības lapu]]).
+Lai izveidotu lapu, sāc rakstīt teksta logā apakšā (par teksta formatēšanu un sīkākai informācija skatīt [$1 palīdzības lapu]).
 Ja tu šeit nonāci kļūdas pēc, vienkārši uzspied '''back''' pogu pārlūkprogrammā.",
 'anontalkpagetext' => "----''Šī ir diskusiju lapa anonīmam lietotājam, kurš vēl nav kļuvis par reģistrētu lietotāju vai arī neizmanto savu lietotājvārdu. Tādēļ mums ir jāizmanto skaitliskā IP adrese, lai viņu identificētu.
 Šāda IP adrese var būt vairākiem lietotājiem.
@@ -889,8 +890,7 @@ Sīkāku informāciju var atrast [{{fullurl:{{#Special:Log}}/delete|page={{FULLP
 'revdelete-nooldid-title' => 'Nederīga mērķa versija',
 'revdelete-no-file' => 'Norādītais fails neeksistē.',
 'revdelete-show-file-submit' => 'Jā',
-'revdelete-selected' => "'''[[:$1]] {{PLURAL:$2|izvēlētā versija|izvēlētās versijas}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Izvēlētais reģistra ieraksts|Izvēlētie reģistra ieraksti}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Izvēlētais reģistra ieraksts|Izvēlētie reģistra ieraksti}}:',
 'revdelete-confirm' => 'Lūdzu apstiprini, ka Tu zini, ko dari, Tu apzinies sekas, tāpat Tu to dari saskaņā ar vadlīnijām.',
 'revdelete-suppress-text' => "Paslēpšanu izmantot vienīgi šādos gadījumos:
 * potenciāli apmelojoša informācija
@@ -1719,8 +1719,8 @@ Katrā rindiņā ir saites uz pirmo un otro pāradresācijas lapu, kā arī pirm
 'notargettitle' => 'Bez mērķa',
 'nopagetitle' => 'Nav tādas mērķa lapas',
 'nopagetext' => 'Mērķa lapa, ko Jūs norādījāt, nepastāv.',
-'pager-newer-n' => '{{PLURAL:$1|1 jaunāku|$1 jaunākas}}',
-'pager-older-n' => '{{PLURAL:$1|1 vecāku|$1 vecākas}}',
+'pager-newer-n' => '{{PLURAL:$1|$1 jaunāku|$1 jaunākas}}',
+'pager-older-n' => '{{PLURAL:$1|$1 vecāku|$1 vecākas}}',
 'querypage-disabled' => 'Šī īpašā lapā ir atspējota veiktspējas iemeslu dēļ.',
 
 # Book sources
@@ -1941,7 +1941,7 @@ Papildinformācija:
 'delete-edit-reasonlist' => 'Izmainīt dzēšanas iemeslus',
 'delete-toobig' => 'Šai lapai ir liela izmaiņu hronoloģija, vairāk nekā $1 {{PLURAL:$1|versija|versijas}}.
 Šādu lapu dzēšana ir atslēgta, lai novērstu nejaušus traucējumus {{grammar:lokatīvs|{{SITENAME}}}}.',
-'deleting-backlinks-warning' => "'''Brīdinājums:''' uz lapu, ko grasies izdzēst, ved saites no citām lapām.",
+'deleting-backlinks-warning' => "'''Brīdinājums:''' uz lapu, ko grasies izdzēst, ved [[Special:WhatLinksHere/{{FULLPAGENAME}}|saites no citām lapām]].",
 
 # Rollback
 'rollback' => 'Novērst labojumus',
@@ -1984,7 +1984,7 @@ Lūdzu, spied \"''back''\" un atjaunini iepriekšējo lapu. Tad mēģini vēlrei
 'protect-text' => "Šeit var apskatīties un izmainīt lapas '''$1''' aizsardzības līmeni.",
 'protect-locked-access' => "Jūsu kontam nav atļaujas mainīt lapas aizsardzības pakāpi.
 Pašreizējie lapas '''$1''' iestatījumi ir:",
-'protect-cascadeon' => 'Šī lapa pašlaik ir aizsargāta, jo tā ir iekļauta {{PLURAL:$1|sekojošā lapā|sekojošās lapās}} (mainot šīs lapas aizsardzības līmeni aizsardzība netiks noņemta):',
+'protect-cascadeon' => 'Šī lapa pašlaik ir aizsargāta, jo tā ir iekļauta {{PLURAL:$1|šajā lapā|šajās lapās}} (mainot šīs lapas aizsardzības līmeni aizsardzība netiks noņemta):',
 'protect-default' => 'Atļaut visiem lietotājiem',
 'protect-fallback' => 'Atļaut tikai lietotājiem ar "$1" atļauju',
 'protect-level-autoconfirmed' => 'Atļaut tikai autoapstiprinātiem lietotājiem',
index 3265237..17c2657 100644 (file)
@@ -397,7 +397,6 @@ $1',
 'disclaimers' => '免責宣',
 'disclaimerpage' => 'Project:免責宣',
 'edithelp' => '助纂塾',
-'helppage' => 'Help:目錄',
 'mainpage' => '卷首',
 'mainpage-description' => '卷首',
 'policy-url' => 'Project:策',
@@ -734,7 +733,7 @@ $2',
 
 此符節可於登簿後改',
 'newarticle' => '撰',
-'newarticletext' => '此頁尚缺。欲補,撰於下,有惑見[[{{MediaWiki:Helppage}}|助]]。
+'newarticletext' => '此頁尚缺。欲補,撰於下,有惑見[$1 助]。
 誤入者,返前即可。',
 'anontalkpagetext' => "----''此匿論也,為未簿或不簿者設,IP俱錄以辨人焉。然IP不獨,恐生亂象,不喜惠[[Special:UserLogin/signup|增]][[Special:UserLogin|登簿]]遠之。",
 'noarticletext' => '查無此文。[[Special:Search/{{PAGENAME}}|尋題]],
@@ -916,8 +915,7 @@ $2',
 'revdelete-no-file' => '指之檔無存也。',
 'revdelete-show-file-confirm' => '爾察於$2 $3刪「$1」檔之審?',
 'revdelete-show-file-submit' => '善',
-'revdelete-selected' => "'''審[[:$1]]已擇$2:'''",
-'logdelete-selected' => "'''已擇誌$1:'''",
+'logdelete-selected' => '已擇誌$1:',
 'revdelete-confirm' => '爾確作之,解之果焉,合之[[{{MediaWiki:Policy-url}}|策]]矣。',
 'revdelete-suppress-text' => "'''限'''於此壓:
 * 無適之個訊
index dc2fc1f..4ca0803 100644 (file)
@@ -258,7 +258,6 @@ $1',
 'disclaimers' => 'अनाधिकार घोषणा',
 'disclaimerpage' => 'Project:अनाधिकार घोषणा',
 'edithelp' => 'संपादन सहयोग',
-'helppage' => 'Help: विषय सूची',
 'mainpage' => 'सम्मुख पन्ना',
 'mainpage-description' => 'सम्मुख पृष्ठ',
 'policy-url' => 'Project:नीति',
@@ -629,7 +628,7 @@ $2
 ऐ खाताक कूटशब्द बदलल जा सकैए ''[[Special:ChangePassword|कूटशब्द बदलू]]'' पन्नापर सम्प्रवेश केलाक बाद।",
 'newarticle' => '(नव)',
 'newarticletext' => 'अहाँ एहेन पन्नाक लिंकक अनुसरण कऽ आएल छी जे पन्ना अखन बनले नै अछि।
-पन्ना बनेबाक लेल नीचाँक बक्शामे टाइप केनाइ शुरू करू (देखू [[{{MediaWiki:Helppage}}| सहायता पन्ना]] विषेष जानकारी लेल)।',
+पन्ना बनेबाक लेल नीचाँक बक्शामे टाइप केनाइ शुरू करू (देखू [$1  सहायता पन्ना] विषेष जानकारी लेल)।',
 'anontalkpagetext' => "----'' ई एकटा अनाम प्रयोक्ताक लेल वार्ता पन्ना छी जे अखन धरि अपन खाता नै खोलने छथि, वा जे एकर प्रयोग नै करै छथि।
 हमरा सभकेँ तइ लेल अंकीय अनिकेतक प्रयोग हुनका देखार करबा लेल करऽ पड़ि रहल अछि।
 ऐ तरहक अनिकेत अनेक प्रयोक्ता द्वारा साझी कएल जा सकैत अछि।
@@ -840,8 +839,7 @@ $3 द्वारा देल कारण अछि ''$2''",
 'revdelete-no-file' => 'विषिष्ट संचिका अछिये नै।',
 'revdelete-show-file-confirm' => 'की अहाँ आश्वस्त छी जे अहाँ संचिकाक मेटाएल संशोधन देखऽ चाहै छी "<nowiki>$1</nowiki>" ऐ सँ $2 एतऽ $3?',
 'revdelete-show-file-submit' => 'हँ',
-'revdelete-selected' => "'''{{PLURAL:$2|चुनल संशोधन|चुनल संशोधन सभ}} एकर [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|चुनल वृत्तलेख घटना|चुनल वृत्तलेख घटना सभ}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|चुनल वृत्तलेख घटना|चुनल वृत्तलेख घटना सभ}}:',
 'revdelete-confirm' => 'कृपा कऽ आश्वस्त भऽ जाउ जे अहाँ ई करऽ चाहै छी, अहाँकेँ एकर परिणामक जनतब अछि, आ अहाँ एकरा [[{{MediaWiki:Policy-url}}|निअम]] क अनुसार कऽ रहल छी।',
 'revdelete-suppress-text' => "दबाबैबला काज '''मात्र''' ऐ सभ स्थितिमे प्रयोग करू:
 * मानहानिक सम्भावनाबला सूचना
index 8d5f8c3..08f9915 100644 (file)
@@ -263,7 +263,6 @@ $1',
 'disclaimers' => 'Pamaidonan',
 'disclaimerpage' => 'Project:Panyangkalan umum',
 'edithelp' => 'Pitulung panyuntingan',
-'helppage' => 'Help:Isi',
 'mainpage' => 'Kaca Utama',
 'mainpage-description' => 'Kaca Utama',
 'policy-url' => 'Project:Kabijakan',
@@ -674,7 +673,7 @@ Kiye ndeyan anu uwis dipindah utawa dibusek dong Rika lagi ndeleng kaca kiye.',
 Tembung sandhi kanggo akun anyar kiye teyeng diganti nang kaca ''[[Special:ChangePassword|ganti tembung sandhi]]'' seuwise mlebu log.",
 'newarticle' => '(Anyar)',
 'newarticletext' => "Rika ngetutna pranala maring kaca sing durung ana.
-Kanggo nggawe kaca kuwe,molai baen ngetik nang kotak nang ngisor kiye (deleng [[{{MediaWiki:Helppage}}|kaca pitulung]] kanggo informasi lewih detil).
+Kanggo nggawe kaca kuwe,molai baen ngetik nang kotak nang ngisor kiye (deleng [$1 kaca pitulung] kanggo informasi lewih detil).
 Angger Rika ora nguja gutul kene, klik baen tombol ''back'' nang panjlajah web Rika.",
 'noarticletext' => 'Sekiye ora ana teks nang kaca kiye.
 Rika teyeng [[Special:Search/{{PAGENAME}}|nggoleti judul kaca kiye]] nang kaca-kaca liyane,
@@ -828,8 +827,7 @@ Rinciane teyeng ditemokna nang [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAG
 'revdelete-no-file' => 'Berkas sing dituju ora ana.',
 'revdelete-show-file-confirm' => 'Apa rika wis mantep arep ndeleng revisi sing wis dibusek nggone berkas "<nowiki>$1</nowiki>" sekang tanggal $2 jam $3?',
 'revdelete-show-file-submit' => 'Ya',
-'revdelete-selected' => "'''{{PLURAL:$2|Revisi kepilih}} sekang [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Log kepilih|Log kepilih}} kanggo:'''",
+'logdelete-selected' => '{{PLURAL:$1|Log kepilih|Log kepilih}} kanggo:',
 'revdelete-legend' => 'Atur watesan',
 'revdelete-hide-text' => 'Tèks revisi',
 'revdelete-hide-image' => 'Umpetna isi berkas',
index d217830..38a4b4c 100644 (file)
@@ -371,7 +371,6 @@ $1',
 'disclaimers' => 'Видешинь корхтаматне',
 'disclaimerpage' => 'Project:Пря видешинь корхнема',
 'edithelp' => 'Петнемань лезкс',
-'helppage' => 'Help:Лопань потмоц',
 'mainpage' => 'Пря лопа',
 'mainpage-description' => 'Пря лопа',
 'policy-url' => 'Project:Политик',
@@ -714,7 +713,7 @@ $2',
 'newarticle' => '(Од)',
 'newarticletext' => "Тон сать лопас кона нинге изь тие.
 Сёрматк паксяв алу тя лопать тиеманкса
-(ванк [[{{MediaWiki:Helppage}}|лезкс лопа]] лездама информациенкса).
+(ванк [$1 лезкс лопа] лездама информациенкса).
 Саньдярять тяза эльбядезь, люпштак пунять '''меки''' тонь интернет полатксонь вальмасонза.",
 'anontalkpagetext' => "----''Тя корхтама лопать тизе лемфтома тиись кона нинге аф сёрматфтф эли кона эсь сёрматфтомас аф кунци. Тяса минь нолдамс сонь лувомтяшкснень IP адресонц тиить содафтоманкса.
 Тя IP адресть вельде ули кода сашендомс иля тиихненди.
@@ -879,8 +878,7 @@ $3 макссь туфталсь - ''$2''",
 'revdelete-nooldid-title' => 'Аф лац верзиень кочкама',
 'revdelete-nooldid-text' => 'Тон ашеть кочка верзие эли верзиет  конатнень мархта эряви тянь тиемс, илякс ня верзиетне ашет эли тонт тяряфнят кяшемс тяниень верзиеть.',
 'revdelete-show-file-submit' => 'Ина',
-'revdelete-selected' => "''''''$1:'''-нь {{PLURAL:$2|Кочкаф верзиец|Кочкаф верзиенза}}'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Кочкаф сёрматфтомась|кочкаф сёрматфтоматне}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Кочкаф сёрматфтомась|кочкаф сёрматфтоматне}}:',
 'revdelete-legend' => 'Арафтомс няемга оторхне',
 'revdelete-hide-text' => 'Кяшемс тя лопать верзиенц',
 'revdelete-hide-image' => 'Кяшемс файлхнень потмосна',
index 06c3113..1623701 100644 (file)
@@ -466,7 +466,6 @@ $1',
 'disclaimers' => 'Fampitandremana',
 'disclaimerpage' => 'Project:General disclaimer',
 'edithelp' => 'Fanoroana',
-'helppage' => 'Help:Fanoroana',
 'mainpage' => 'Fandraisana',
 'mainpage-description' => 'Fandraisana',
 'policy-url' => 'Project:Fepetra',
@@ -933,7 +932,7 @@ Mety efa nakisaka angamba izy, na voafafa tamin' ianareo namaky ity pejy ity far
 'accmailtitle' => 'Lasa ny tenimiafina.',
 'accmailtext' => "Nalefa tany amin'i $2 ny tenimiafina kisendra ho an'ny kaonty [[User talk:$1|$1]]! Azo ovaina eo amin'i ''[[Special:ChangePassword|Manova tenimiafina]]'' izany amin'ny alalan'ny fidirana.",
 'newarticle' => '(Vaovao)',
-'newarticletext' => "Mbola tsy misy ity takelaka ity koa azonao atao ny mamorona azy eto ambany. Jereo ny [[{{MediaWiki:Helppage}}|Fanoroana]] raha misy fanazavana ilainao.
+'newarticletext' => "Mbola tsy misy ity takelaka ity koa azonao atao ny mamorona azy eto ambany. Jereo ny [$1 Fanoroana] raha misy fanazavana ilainao.
 
 Raha toa moa ka tsy nieritreritra ny hamorona ity takelaka ity ianao dia miverena etsy amin'ny fandraisana.",
 'anontalkpagetext' => "----<i>Ity pejy ity dia pejin-dresak'olona tsy nanokatra na tsy nampiasa ny kaontiny.
@@ -944,7 +943,7 @@ Azonao atao ny [[Special:Search/{{PAGENAME}}|Tadiavo ny momba ny {{PAGENAME}}]].
 'noarticletext-nopermission' => "Mbola tsy misy lahatsoratra ao amin'io pejy io.
 
 Azonao atao ny [[Special:Search/{{PAGENAME}}|mikaroka ity lohateny ity]] eny amin'ny pejy hafa na <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} mitady ao amin'ny laogy misy fifandraisana]</span>, fa tsy azonao atao ny mamorona ity pejy ity.",
-'missing-revision' => 'Tsy misy ny santiôna #$1 ny pejy "{{PAGENAME}}".
+'missing-revision' => 'Tsy misy ny santiôna #$1 ny pejy "{{FULLPAGENAME}}".
 
 Mitranga izany rehefa manaraka rohin-tantara tola mankany amina pejy voafafa. Ahitana fampahalalana fanampiny ny  [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} laogim-pamafana].',
 'userpage-userdoesnotexist' => 'Mbola tsy nisoratra anarana ato i « <nowiki>$1</nowiki> ». Marino raha tena hamorona ity pejy ity ianao.',
@@ -1171,8 +1170,7 @@ tsy misy ilay izy, na ny santiôna ankehitriny no andramana asitrika.',
 'revdelete-no-file' => 'Tsy misy ilay rakitra hofafàna.',
 'revdelete-show-file-confirm' => "Tapa-kevitra hamafa ny ''revision''-n'i rakitra <nowiki>$1</nowiki> tamin'ny $2 tamin'ny $3 ve ianao ?",
 'revdelete-show-file-submit' => 'Eny',
-'revdelete-selected' => "'''{{PLURAL:$2|Votoatiny nosafidiana|Votoatiny nosafidiana}}n'i '''[[:$1]]''' :'''",
-'logdelete-selected' => "'''{{PLURAL:$1||}}Laogy voafidy :'''",
+'logdelete-selected' => '{{PLURAL:$1||}}Laogy voafidy :',
 'revdelete-confirm' => 'Amafiso eto ny hevitrao raha hanao io ianao, raha azonao sary an-tsaina ny mety ho vokany, ary raha araka ny [[{{MediaWiki:Policy-url}}|fepetra mihatra]] ny zavatra ataonao.',
 'revdelete-suppress-text' => "Ny famafàna pejy dia ampiasaina rehefa :
 * Fampahalalana mampiely lainga
index 98afe8d..4aacaeb 100644 (file)
@@ -282,7 +282,6 @@ $messages = array(
 'disclaimers' => 'Вуйшиймаш деч кораҥмаш',
 'disclaimerpage' => 'Project:Вуйшиймаш деч кораҥмаш',
 'edithelp' => 'Тӧрлатымаш полыш',
-'helppage' => 'Help:Полшык',
 'mainpage' => 'Тӱҥ лаштык',
 'mainpage-description' => 'Тӱҥ лаштык',
 'portal' => 'Тӱшка',
@@ -439,7 +438,7 @@ $messages = array(
 'accmailtitle' => 'Шолыпмут колтымо.',
 'newarticle' => '(У)',
 'newarticletext' => "Тыгай лӱман лаштык уке.
-Лаштыкым ышташлан ӱлнӧ возаш тӱҥал (сайынрак палашлан [[{{MediaWiki:Helppage}}|полшыкым]] ончал).
+Лаштыкым ышташлан ӱлнӧ возаш тӱҥал (сайынрак палашлан [$1 полшыкым] ончал).
 Тый тышке йонгылыш логалынат гын, браузерыште '''шенгек''' полдышым темдал.",
 'noarticletext' => 'Кызытсе жаплан тиде лаштыкыште нимом возымо огыл.
 Тый тиде лаштыкын лӱмжым вес лаштык-влакыште [[Special:Search/{{PAGENAME}}|кычалын]] кертат, але <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} журнал-влакыште кычалын] кертат, але [{{fullurl:{{FULLPAGENAME}}|action=edit}} тыгай лӱман лаштыкым ышташ] кертат</span>.',
index 7740be1..b5e9702 100644 (file)
@@ -409,7 +409,6 @@ $1',
 'disclaimers' => 'Sanggahan umum',
 'disclaimerpage' => 'Project:Sanggahan umum',
 'edithelp' => 'Bantuan suntiangan',
-'helppage' => 'Help:Isi',
 'mainpage' => 'Palanta',
 'mainpage-description' => 'Palanta',
 'policy-url' => 'Project:Kabijakan jo padoman',
@@ -827,7 +826,7 @@ Subbagian ko mungkin lah dipindahan atau dihapuih sangkek Sanak mambukaknyo.',
 Kato sandi untuak akun baharu iko dapek diubah di laman ''[[Special:ChangePassword|pangubahan kato sandi]]'' satalah masuak log.",
 'newarticle' => '(Baru)',
 'newarticletext' => "Laman nan Sanak cari alun ado.
-Untuak mambuek laman tu, mulailah jo manulih dalam kotak di bawah (caliak [[{{MediaWiki:Helppage}}|laman bantuan]] untuak informasi labiah lanjuik).
+Untuak mambuek laman tu, mulailah jo manulih dalam kotak di bawah (caliak [$1 laman bantuan] untuak informasi labiah lanjuik).
 Jikok Sanak indak sangajo sampai ka laman ko, klik tombol '''back''' pado paramban web Sanak.",
 'anontalkpagetext' => "----''Iko adolah laman rundiang saurang pangguno anonim nan alun mambuek akun atau indak manggunoannyo.
 Jadi, kami tapaso mamakai alamat IP nan takaik untuak mangenalinyo.
@@ -836,7 +835,7 @@ Jikok Sanak adolah pangguno anonim dan maraso mandapek komentar nan indak lamak
 Sanak dapek [[Special:Search/{{PAGENAME}}|malakuan pancarian untuak judul laman ko]] di laman-laman lain, <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} mancari log takaik], atau [{{fullurl:{{FULLPAGENAME}}|action=edit}} manyuntiang laman iko]</span>.',
 'noarticletext-nopermission' => 'Kini ko indak ado teks dalam laman ko.
 Sanak dapek [[Special:Search/{{PAGENAME}}|malakukan pancarian untuak judul laman ko]] di laman lain, atau <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} mancahari log takaik] </span>, tapi Sanak indak punyo izin untuak mambuek laman ko.',
-'missing-revision' => 'Revisi $1 di laman nan banamo "{{PAGENAME}}" ko indak ado.
+'missing-revision' => 'Revisi $1 di laman nan banamo "{{FULLPAGENAME}}" ko indak ado.
 
 Hal iko biasonyo disababkan dek pautan sijarah nan alah kadaluarsa ka laman nan alah diapuih.
 Rinciannyo dapek dicaliak di [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log pangapuihan].',
@@ -1060,8 +1059,7 @@ Sanak dapek malieknyo; rinciannyo mungkin ado di [{{fullurl:{{#Special:Log}}/del
 'revdelete-no-file' => 'Berkas nan dituju indak basobok.',
 'revdelete-show-file-confirm' => 'Apokah Sanak yakin nio mancaliak revisi nan alah dihapuih dari berkas "<nowiki>$1</nowiki>" per $3, $2?',
 'revdelete-show-file-submit' => 'Yo',
-'revdelete-selected' => "'''{{PLURAL:$2|Revisi piliahan}} dari [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Log piliahan}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Log piliahan}}:',
 'revdelete-confirm' => 'Tolong konfirmasi baso Sanak samemang bamakasuik malakuan iko, mamahami konsekuensinyo, dan baso Sanak malakuannyo sasuai jo [[{{MediaWiki:Policy-url}}|kabijakan]].',
 'revdelete-suppress-text' => "Panyambunyian revisi '''hanyo''' buliah digunoan untuak kasus-kasus barikuik:
 * Informasi paribadi nan indak patuik
index 1488561..5de1817 100644 (file)
@@ -601,7 +601,6 @@ $1',
 'disclaimers' => 'Услови на употреба',
 'disclaimerpage' => 'Project:Услови на употреба',
 'edithelp' => 'Помош за уредување',
-'helppage' => 'Help:Содржина',
 'mainpage' => 'Главна страница',
 'mainpage-description' => 'Главна страница',
 'policy-url' => 'Project:Начела',
@@ -717,7 +716,7 @@ $1',
 'cannotdelete-title' => 'Не можам да ја избришам страницата „$1“',
 'delete-hook-aborted' => 'Бришењето е прекинато со кука.
 Не е дадено никакво образложение.',
-'no-null-revision' => 'Не можев да направам нова ништовна ревизија на страницата „$1“',
+'no-null-revision' => 'Не можев да направам нова ништовна преработка на страницата „$1“',
 'badtitle' => 'Неисправен наслов',
 'badtitletext' => 'Бараниот наслов е грешен, празен или неисправно поврзан меѓујазичен или меѓувики наслов. 
 Може да содржи недопуштени знаци.',
@@ -1089,7 +1088,7 @@ $2
 'accmailtext' => "На $2 е спратена е случајно создадена лозинка за [[User talk:$1|$1]] е испратена. Истата може да се смени на страницата ''[[Special:ChangePassword|Менување на лозинка]]'' откако ќе се најавите.",
 'newarticle' => '(нова)',
 'newarticletext' => "Проследивте врска до страница која не постои.
-За да ја создадете страницата, напишете текст во полето подолу ([[{{MediaWiki:Helppage}}|помош]]). Ако сте овде по грешка, само систнете на копчето '''назад''' во вашиот прелистувач.",
+За да ја создадете страницата, напишете текст во полето подолу ([$1 помош]). Ако сте овде по грешка, само систнете на копчето '''назад''' во вашиот прелистувач.",
 'anontalkpagetext' => "----''Ова е страница за разговор со анонимен корисник кој сè уште не регистрирал корисничка сметка или не ја користи.
 Затоа мораме да ја користиме неговата бројчена IP-адреса за да го препознаеме.
 Една ваква IP-адреса може да ја делат повеќе корисници.
@@ -1100,7 +1099,7 @@ $2
 или да [{{fullurl:{{FULLPAGENAME}}|action=edit}} ја создадете]</span>.',
 'noarticletext-nopermission' => 'Таква страница сè уште не постои.
 Можете да проверите [[Special:Search/{{PAGENAME}}|дали насловот се споменува]] во други статии или пак да <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} пребарате поврзаните дневници]</span>, но немате дозвола да ја создадете страницата.',
-'missing-revision' => 'Не ја пронајдов ревизијата бр. $1 на страницата со наслов „{{PAGENAME}}“.
+'missing-revision' => 'Не ја пронајдов преработката бр. $1 на страницата со наслов „{{FULLPAGENAME}}“.
 
 Ова обично се должи на застарена врска за разлики што води кон избришана страница.
 Повеќе подробности ќе најдете во [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} дневникот на бришења].',
@@ -1154,7 +1153,7 @@ $2
 Ќе морате да ги внесете вашите промени со постоечкиот текст.
 '''Само''' текстот во горниот дел ќе биде зачуван кога ќе притиснете на „{{int:savearticle}}“.",
 'yourtext' => 'Вашиот текст',
-'storedversion' => 'Зачувана ревизија',
+'storedversion' => 'Зачувана преработка',
 'nonunicodebrowser' => "'''ПРЕДУПРЕДУВАЊЕ: Вашиот прелистувач не поддржува Уникод.
 Постои решение што овозможува безбедно да уредување страници: во полето за уредување не-ASCII знаците ќе се јавуваат како хексадецимални кодови.",
 'editingold' => "'''ПРЕДУПРЕДУВАЊЕ: Менувате застарена верзија на оваа страница.
@@ -1257,7 +1256,7 @@ $2
 'undo-norev' => 'Измената не можеше да биде вратена бидејќи не постои или била избришана.',
 'undo-nochange' => 'Се чини дека измената (уредувањето) е веќе вратена.',
 'undo-summary' => 'Откажано уредувањето $1 на уредникот [[Special:Contributions/$2|$2]] ([[User talk:$2|разговор]])',
-'undo-summary-username-hidden' => 'Поништи ја ревизијата $1 на скриен корисник',
+'undo-summary-username-hidden' => 'Поништи ја преработката $1 на скриен корисник',
 
 # Account creation failure
 'cantcreateaccounttitle' => 'Не може да се создаде корисничка сметка',
@@ -1271,20 +1270,20 @@ $3 ја наведе следнава причина: ''$2''",
 # History pages
 'viewpagelogs' => 'Преглед на дневници за оваа страница',
 'nohistory' => 'Страницата нема историја на уредување.',
-'currentrev' => 'Тековна ревизија',
-'currentrev-asof' => 'Последна ревизија од $1',
-'revisionasof' => 'РевизиÑ\98а од $1',
-'revision-info' => 'РевизиÑ\98а од $1; направена од $2',
-'previousrevision' => '← Претходна ревизија',
-'nextrevision' => 'Следна ревизија →',
-'currentrevisionlink' => 'Последна ревизија',
+'currentrev' => 'Тековна преработка',
+'currentrev-asof' => 'Последна преработка од $1',
+'revisionasof' => 'Ð\9fÑ\80еÑ\80абоÑ\82ка од $1',
+'revision-info' => 'Ð\9fÑ\80еÑ\80абоÑ\82ка од $1; направена од $2',
+'previousrevision' => '← Претходна преработка',
+'nextrevision' => 'Следна преработка →',
+'currentrevisionlink' => 'Последна преработка',
 'cur' => 'тек',
 'next' => 'след',
 'last' => 'посл',
 'page_first' => 'прв',
 'page_last' => 'последен',
-'histlegend' => "Разлика помеѓу ревизии: Означете ги ревизиите што сакате да ги споредите и притиснете на Enter или копчето на дното од страницата.<br />
-Легенда: '''({{int:cur}})''' = разлика со последна ревизија, '''({{int:last}})''' = разлика со претходна ревизија, '''{{int:minoreditletter}}''' = ситна промена.",
+'histlegend' => "Разлика помеѓу преработките: Означете ги преработките што сакате да ги споредите и притиснете на Enter или копчето на дното од страницата.<br />
+Легенда: '''({{int:cur}})''' = разлика со последна преработка, '''({{int:last}})''' = разлика со претходна преработка, '''{{int:minoreditletter}}''' = ситна промена.",
 'history-fieldset-title' => 'Прелистување на историја',
 'history-show-deleted' => 'Само избришани',
 'histfirst' => 'најстари',
@@ -1305,42 +1304,43 @@ $3 ја наведе следнава причина: ''$2''",
 'rev-deleted-user' => '(избришано корисничко име)',
 'rev-deleted-event' => '(избришан запис на дејство)',
 'rev-deleted-user-contribs' => '[отстрането е корисничкото име или IP-адресата - уредувањето нема да се прикаже на списокот на придонеси]',
-'rev-deleted-text-permission' => "Ревизија на оваа страницата била '''бришана'''.
-Можеби има подробности во [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} дневникот на бришења].",
-'rev-deleted-text-unhide' => "Оваа ревизија на страницата е '''избришана'''.
+'rev-deleted-text-permission' => 'Оваа преработка страницата е <strong>избришана</strong>.
+Можеби има подробности во [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} дневникот на бришења].',
+'rev-deleted-text-unhide' => "Оваа преработка на страницата е '''избришана'''.
 Повеќе подробности ќе најдете во [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} дневникот на бришења].
-Сепак можете [$1 да ја погледнете оваа ревизија] ако сакате да продолжите.",
-'rev-suppressed-text-unhide' => "Оваа ревизија на страница е '''притаена'''.
+Сепак можете [$1 да ја погледнете оваа преработка] ако сакате да продолжите.",
+'rev-suppressed-text-unhide' => "Оваа преработка на страница е '''притаена'''.
 Повеќе подробности ќе најдете во [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} дневникот на прикривања].
-Сепак можете да ја [$1 погледнете оваа ревизија] ако сакате да продолжите.",
-'rev-deleted-text-view' => "Оваа ревизија на страницата е '''избришана'''.
+Сепак можете да ја [$1 погледнете оваа преработка] ако сакате да продолжите.",
+'rev-deleted-text-view' => "Оваа преработка на страницата е '''избришана'''.
 Можете да ја погледнете; повеќе подробности ќе најдете во [{{fullurl:Special:Log/delete|page={{FULLPAGENAMEE}}}} дневникот на бришења].",
-'rev-suppressed-text-view' => "Оваа ревизија на страницата е '''притаена'''.
+'rev-suppressed-text-view' => "Оваа преработка на страницата е '''притаена'''.
 Можете да ја погледнете; повеќе подробности ќе најдете во [{{fullurl:Special:Log/suppress|page={{FULLPAGENAMEE}}}} дневникот на скривања].",
-'rev-deleted-no-diff' => "Не може да ја погледнете оваа разлика бидејќи една од ревизиите била '''избришана'''.
+'rev-deleted-no-diff' => "Не може да ја погледнете оваа разлика бидејќи една од преработките била '''избришана'''.
 Може да најдете повеќе подробности во [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} дневникот на бришења].",
-'rev-suppressed-no-diff' => "Не можете да ги видите разликите помеѓу овие ревизии бидејќи една од нив е '''избришана'''.",
-'rev-deleted-unhide-diff' => "Една од ревизиите на оваа разлика е '''избришана'''.
+'rev-suppressed-no-diff' => "Не можете да ги видите разликите помеѓу овие преработки бидејќи една од нив е '''избришана'''.",
+'rev-deleted-unhide-diff' => "Една од преработките на оваа разлика е '''избришана'''.
 Повеќе подробности ќе најдете во [{{fullurl:Special:Log/delete|page={{FULLPAGENAMEE}}}} дневникот на бришења].
 Сепак можете [$1 да ја видите оваа разлика] ако сакате да продолжите.",
-'rev-suppressed-unhide-diff' => "Една од ревизиите на оваа разлика е '''притаена'''.
+'rev-suppressed-unhide-diff' => "Една од преработките на оваа разлика е '''притаена'''.
 Повеќе подробности ќе најдете во [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} дневникот на скривања].
 Можете да [$1 ја видите оваа разлика] ако сакате да продолжите.",
-'rev-deleted-diff-view' => "Една од ревизиите на оваа разлика е '''избришана'''.
+'rev-deleted-diff-view' => "Една од преработките на оваа разлика е '''избришана'''.
 Можете да ја погледате оваа разлика; подробности ќе најдете во [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} дневникот на бришење].",
-'rev-suppressed-diff-view' => "Една од ревизиите на оваа разлика е '''притаена'''.
+'rev-suppressed-diff-view' => "Една од преработките на оваа разлика е '''притаена'''.
 Можете да ја погледате оваа разлика; подробности ќе најдете во [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} дневникот на скривања].",
 'rev-delundel' => 'прикажи/скриј',
 'rev-showdeleted' => 'прикажи',
-'revisiondelete' => 'Избриши/врати ревизии',
+'revisiondelete' => 'Избриши/врати преработки',
 'revdelete-nooldid-title' => 'Бараната измена не постои',
 'revdelete-nooldid-text' => 'Не сте посочиле измена (измени) за да се изврши оваа функција или посочената измена не постои или се обидувате да ја скриете моменталната измена.',
 'revdelete-no-file' => 'Наведената податотека не постои.',
-'revdelete-show-file-confirm' => 'Дали сакате да ја погледнете избришаната ревизија на податотеката „<nowiki>$1</nowiki>“ од $2 во $3?',
+'revdelete-show-file-confirm' => 'Дали сакате да ја погледнете избришаната преработка на податотеката „<nowiki>$1</nowiki>“ од $2 во $3?',
 'revdelete-show-file-submit' => 'Да',
-'revdelete-selected' => "'''{{PLURAL:$2|Избрана ревизија|Избрани ревизии}} од [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Одбран настан од дневник|Одбрани настани од дневник}}:'''",
-'revdelete-text-text' => 'Избришаните ревизии сепак се појавуваат во историјата, но делови од нивната содржина ќе бидат недостапни за јавноста.',
+'revdelete-selected-text' => '{{PLURAL:$1|Избрана преработка|Избрани преработки}} на [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Избрана податотечна верзија|Избрани податотечни верзии}} на [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|Одбран настан од дневник|Одбрани настани од дневник}}:',
+'revdelete-text-text' => 'Избришаните преработки сепак се појавуваат во историјата, но делови од нивната содржина ќе бидат недостапни за јавноста.',
 'revdelete-text-file' => 'Избришаните верзии на податотеките сепак се појавуваат во нејзината историја, но делови од нивната содржина ќе бидат недостапни за јавноста.',
 'logdelete-text' => 'Избришаните дневнички ставки сепак се појавуваат во дневниците, но делови од нивната содржина ќе бидат недостапни за јавноста.',
 'revdelete-text-others' => 'Другите администратори на {{SITENAME}} сепак ќе имаат пристап до скриените содржини и ќе можат да го повратат избришаното преку овој ист посредник, доколку не ставите дополнителни ограничувања.',
@@ -1350,7 +1350,7 @@ $3 ја наведе следнава причина: ''$2''",
 * Несоодветни лични информации
 *: ''домашни адреси и телефонски броеви, матични броеви и тн.''",
 'revdelete-legend' => 'Постави ограничувања за видливост',
-'revdelete-hide-text' => 'Текст на ревизијата',
+'revdelete-hide-text' => 'Текст на преработката',
 'revdelete-hide-image' => 'Скриј содржина на податотека',
 'revdelete-hide-name' => 'Скриј го дејството и неговата одредница',
 'revdelete-hide-comment' => 'Опис на уредувањето',
@@ -1360,11 +1360,11 @@ $3 ја наведе следнава причина: ''$2''",
 'revdelete-radio-set' => 'Скриена',
 'revdelete-radio-unset' => 'Видлива',
 'revdelete-suppress' => 'Притајувај податоци и од администраторите',
-'revdelete-unsuppress' => 'Отстрани ограничувања на обновени ревизии',
+'revdelete-unsuppress' => 'Отстрани ограничувања на обновени преработки',
 'revdelete-log' => 'Причина:',
-'revdelete-submit' => 'Ð\9fÑ\80имени Ð½Ð° Ð¾Ð´Ð±Ñ\80ани {{PLURAL:$1|Ñ\80евизиÑ\98а|Ñ\80евизии}}',
-'revdelete-success' => "'''Видливоста на ревизијата е успешно изменета.'''",
-'revdelete-failure' => "'''Видливоста на ревизијата не можеше да се измени:'''
+'revdelete-submit' => 'Ð\9fÑ\80имени Ð²Ñ\80з {{PLURAL:$1|одбÑ\80ана Ð¿Ñ\80еÑ\80абоÑ\82ка|одбÑ\80ани Ð¿Ñ\80еÑ\80абоÑ\82ки}}',
+'revdelete-success' => "'''Видливоста на преработката е успешно изменета.'''",
+'revdelete-failure' => "'''Видливоста на преработката не можеше да се измени:'''
 $1",
 'logdelete-success' => "'''Успешно нагодување на дневник на видливост.'''",
 'logdelete-failure' => "'''Дневникот на видливост не може да биде нагоден:'''
@@ -1372,7 +1372,7 @@ $1",
 'revdel-restore' => 'Промена на видливост',
 'pagehist' => 'Историја на страницата',
 'deletedhist' => 'Историја на бришења',
-'revdelete-hide-current' => 'Грешка при сокривање на ставката датирана на $2, $1: ова е актуелна ревизија.',
+'revdelete-hide-current' => 'Грешка при сокривањето на ставката од $2, $1: Ова е тековната преработка.',
 'revdelete-show-no-access' => 'Грешка при прикажување на ставката датирана на $2, $1: оваа ставка е означена како „ограничена“. Немате пристап до неа.',
 'revdelete-modify-no-access' => 'Грешка при промена на ставката датирана на $2, $1: оваа ставка била означена како „ограничена“. Немате пристап до неа.',
 'revdelete-modify-missing' => 'Грешка при промена на ставка со број $1: ја нема во базата на податоци!',
@@ -1387,7 +1387,7 @@ $1",
 'revdelete-otherreason' => 'Друга/дополнителна причина:',
 'revdelete-reasonotherlist' => 'Друга причина',
 'revdelete-edit-reasonlist' => 'Уреди причини за бришење',
-'revdelete-offender' => 'Автор на ревизија:',
+'revdelete-offender' => 'Автор на преработката:',
 
 # Suppression log
 'suppressionlog' => 'Дневник на сокривања',
@@ -1396,19 +1396,19 @@ $1",
 
 # History merging
 'mergehistory' => 'Спојување на истории на страница',
-'mergehistory-header' => 'Оваа страница овозможува спојување на ревизии на изворна страница во нова (друга) страница.
+'mergehistory-header' => 'Оваа страница овозможува спојување на преработки на изворна страница во нова (друга) страница.
 Претходно проверете дека таа промена ќе го сочува историскиот континуитетот на страницата.',
-'mergehistory-box' => 'Спојување на ревизии на две страници:',
+'mergehistory-box' => 'Спојување на преработки на две страници:',
 'mergehistory-from' => 'Изворна страница:',
 'mergehistory-into' => 'Целна страница:',
 'mergehistory-list' => 'Спојлива историја на уредување',
-'mergehistory-merge' => 'Следните ревизии на [[:$1]] можат да се спојат во [[:$2]].
-Изберете ги само оние ревизии кои се создадени пред назначеното време.
+'mergehistory-merge' => 'Следните преработки на [[:$1]] можат да се спојат во [[:$2]].
+Изберете ги само оние преработки кои се создадени пред назначеното време.
 Предупредуваме дека ако ги користите навигационите врски, изборот ќе се изгуби.',
 'mergehistory-go' => 'Приказ на уредувања кои можат да се спојат',
-'mergehistory-submit' => 'Спојување на ревизии',
-'mergehistory-empty' => 'Нема ревизии кои можат да се спојат.',
-'mergehistory-success' => '$3 {{PLURAL:$3|ревизија|ревизии}} на [[:$1]] успешно {{PLURAL:$3|е споена|се споени}} во [[:$2]].',
+'mergehistory-submit' => 'Спојување на преработки',
+'mergehistory-empty' => 'Нема преработки кои можат да се спојат.',
+'mergehistory-success' => '$3 {{PLURAL:$3|преработка |преработки}} на [[:$1]] успешно {{PLURAL:$3|е споена|се споени}} во [[:$2]].',
 'mergehistory-fail' => 'Не е возможно да се направи спојување на историјата, проверете ја страницата и временските параметри.',
 'mergehistory-no-source' => 'Изворната страница $1 не постои.',
 'mergehistory-no-destination' => 'Целната страница $1 не постои.',
@@ -1421,24 +1421,24 @@ $1",
 
 # Merge log
 'mergelog' => 'Дневник на спојувања на страници',
-'pagemerge-logentry' => 'споено [[$1]] во [[$2]] (ревизии до $3)',
+'pagemerge-logentry' => 'споено [[$1]] во [[$2]] (преработки до $3)',
 'revertmerge' => 'Одвојување',
 'mergelogpagetext' => 'Следи список на скорешни спојувања на истории на страници.',
 
 # Diffs
 'history-title' => '$1: Историја на измените',
-'difference-title' => '$1: Разлика помеѓу ревизиите',
+'difference-title' => 'Разлика помеѓу преработките на „$1“',
 'difference-title-multipage' => '$1 и $2: Разлика помеѓу страниците',
 'difference-multipage' => '(Разлики помеѓу страници)',
 'lineno' => 'Ред $1:',
-'compareselectedversions' => 'Спореди избрани ревизии',
-'showhideselectedversions' => 'Прикажи/скриј избрани ревизии',
+'compareselectedversions' => 'Спореди избрани преработки',
+'showhideselectedversions' => 'Прикажи/скриј избрани преработки',
 'editundo' => 'откажи',
 'diff-empty' => '(нема разлика)',
-'diff-multi-sameuser' => '({{PLURAL:$1|Не е прикажана една меѓувремена ревизија|Не се прикажани $1 меѓувремени ревизии}} од истиот корисник)',
-'diff-multi-otherusers' => '({{PLURAL:$1|Не е прикажана една меѓувремена ревизија|Не се прикажани $1 меѓувремени ревизии}} од {{PLURAL:$2|еден друг корисник|$2 корисници}})',
-'diff-multi-manyusers' => '({{PLURAL:$1|Не е прикажана една меѓувремена ревизија направена|Не се прикажани $1 меѓувремени ревизии направени}} од повеќе од $2 {{PLURAL:$2|корисник|корисници}})',
-'difference-missing-revision' => 'Не пронајдов {{PLURAL:$2|една ревизија|$2 ревизии}} од оваа разлика ($1).
+'diff-multi-sameuser' => '({{PLURAL:$1|Не е прикажана една меѓувремена преработка|Не се прикажани $1 меѓувремени преработки}} од истиот корисник)',
+'diff-multi-otherusers' => '({{PLURAL:$1|Не е прикажана една меѓувремена преработка|Не се прикажани $1 меѓувремени преработки}} од {{PLURAL:$2|еден друг корисник|$2 корисници}})',
+'diff-multi-manyusers' => '({{PLURAL:$1|Не е прикажана една меѓувремена преработка направена|Не се прикажани $1 меѓувремени преработки направени}} од повеќе од $2 {{PLURAL:$2|корисник|корисници}})',
+'difference-missing-revision' => 'Не пронајдов {{PLURAL:$2|една преработка|$2 преработки}} од оваа разлика ($1).
 
 Ова обично се должи на застарена врска за разлики што води кон избришана страница.
 Повеќе подробности ќе најдете во [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} дневникот на бришења].',
@@ -1695,12 +1695,12 @@ $1",
 'right-delete' => 'Бришење страници',
 'right-bigdelete' => 'Бришење страници со долга историја',
 'right-deletelogentry' => 'Бришење и враќање на конкретни ставки во дневник',
-'right-deleterevision' => 'Бришење и враќање на конкретни ревизии на страници',
+'right-deleterevision' => 'Бришење и враќање на конкретни преработки на страници',
 'right-deletedhistory' => 'Прегледување на записи во историја на бришења, без придружниот текст',
-'right-deletedtext' => 'Прегледување на избришан текст и промени помеѓу избришани ревизии',
+'right-deletedtext' => 'Прегледување на избришан текст и промени помеѓу избришани преработки',
 'right-browsearchive' => 'Пребарување на избришани страници',
 'right-undelete' => 'Обновување избришана страница',
-'right-suppressrevision' => 'Прегледување и враќање на ревизии скриени од администратори',
+'right-suppressrevision' => 'Прегледување и враќање на преработки скриени од администратори',
 'right-suppressionlog' => 'Гледање на лични дневници',
 'right-block' => 'Оневозможување на останати корисници да уредуваат',
 'right-blockemail' => 'Оневозможување корисници да праќаат е-пошта',
@@ -1768,7 +1768,7 @@ $1",
 'action-deletedhistory' => 'прегледај ја историјата на бришења за оваа страница',
 'action-browsearchive' => 'барање на избришани страници',
 'action-undelete' => 'обнови ја оваа страница',
-'action-suppressrevision' => 'прегледај ја и обнови ја оваа скриена ревизија',
+'action-suppressrevision' => 'прегледај ја и обнови ја оваа скриена преработка',
 'action-suppressionlog' => 'преглед на овој li;en дневник',
 'action-block' => 'оневозможи го овој корисник да уредува',
 'action-protect' => 'измени го степенот на заштита на оваа страница',
@@ -2219,6 +2219,11 @@ $1',
 # List redirects
 'listredirects' => 'Список на пренасочувања',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Список на податотеки со дупликати',
+'listduplicatedfiles-summary' => 'Ова е список на податотеки чија најнова верзија е дупликат на најнова верзија на некоја друга податотека. Се земаат предвид само локални податотеки.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] има [[$3|{{PLURAL:$2|дупликат|$2 дупликати}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Неискористени шаблони',
 'unusedtemplatestext' => 'Оваа страница ги прикажува сите страници во именскиот простор {{ns:template}} кои не се вклучени во друга страница.
@@ -2288,7 +2293,7 @@ $1',
 'withoutinterwiki-legend' => 'Претставка',
 'withoutinterwiki-submit' => 'Прикажи',
 
-'fewestrevisions' => 'Статии со најмалку ревизии',
+'fewestrevisions' => 'Статии со најмалку преработки',
 
 # Miscellaneous special pages
 'nbytes' => '$1 {{PLURAL:$1|бајт|бајти}}',
@@ -2527,7 +2532,7 @@ $1',
 'unwatch' => 'Престани со набљудување',
 'unwatchthispage' => 'Престани набљудување',
 'notanarticle' => 'Не е статија',
-'notvisiblerev' => 'РевизиÑ\98ата била избришана',
+'notvisiblerev' => 'Ð\9fÑ\80еÑ\80абоÑ\82ката била избришана',
 'watchlist-details' => '{{PLURAL:$1|$1 страница|$1 страници}} во вашиот список на набљудувања, не броејќи ги страниците за разговор.',
 'wlheader-enotif' => 'Известувањето по е-пошта е вклучено.',
 'wlheader-showupdated' => "Страниците што се изменети од вашата последна посета се прикажани со '''задебелени''' букви",
@@ -2553,10 +2558,10 @@ $1',
 'enotif_subject_restored' => 'Страницата $1 на {{SITENAME}} е повратена од {{gender:$2|$2}}',
 'enotif_subject_changed' => 'Страницата $1 на {{SITENAME}} е изменета од {{gender:$2|$2}}',
 'enotif_body_intro_deleted' => 'Страницата $1 на {{SITENAME}} е избришана на $PAGEEDITDATE од {{gender:$2|$2}}. Погл. $3.',
-'enotif_body_intro_created' => 'Страницата $1 на {{SITENAME}} е создадена на $PAGEEDITDATE од {{gender:$2|$2}}. Тековната ревизија ќе ја најдете на $3.',
-'enotif_body_intro_moved' => 'Страницата $1 на {{SITENAME}} е преместена на $PAGEEDITDATE од {{gender:$2|$2}}. Тековната ревизија ќе ја најдете на $3.',
-'enotif_body_intro_restored' => 'Страницата $1 на {{SITENAME}} е повратена на $PAGEEDITDATE од {{gender:$2|$2}}. Тековната ревизија ќе ја најдете на $3.',
-'enotif_body_intro_changed' => 'Страницата $1 на {{SITENAME}} е изменета на $PAGEEDITDATE од {{gender:$2|$2}}. Тековната ревизија ќе ја најдете на $3.',
+'enotif_body_intro_created' => 'Страницата $1 на {{SITENAME}} е создадена на $PAGEEDITDATE од {{gender:$2|$2}}. Тековната преработка ќе ја најдете на $3.',
+'enotif_body_intro_moved' => 'Страницата $1 на {{SITENAME}} е преместена на $PAGEEDITDATE од {{gender:$2|$2}}. Тековната преработка ќе ја најдете на $3.',
+'enotif_body_intro_restored' => 'Страницата $1 на {{SITENAME}} е повратена на $PAGEEDITDATE од {{gender:$2|$2}}. Тековната преработка ќе ја најдете на $3.',
+'enotif_body_intro_changed' => 'Страницата $1 на {{SITENAME}} е изменета на $PAGEEDITDATE од {{gender:$2|$2}}. Тековната преработка ќе ја најдете на $3.',
 'enotif_lastvisited' => 'Видете $1 за сите промени од вашата последна посета.',
 'enotif_lastdiff' => 'Видете $1 за да ја видите оваа промена.',
 'enotif_anon_editor' => 'анонимен корисник $1',
@@ -2601,7 +2606,7 @@ $UNWATCHURL
 'exblank' => 'страницата беше празна',
 'delete-confirm' => 'Избриши „$1“',
 'delete-legend' => 'Бришење',
-'historywarning' => "'''Предупредување:''' Страницата што сакате да ја избришете има историја со околу $1 {{PLURAL:$1|ревизија|ревизии}}:",
+'historywarning' => "'''Предупредување:''' Страницата што сакате да ја избришете има историја со околу $1 {{PLURAL:$1|преработка|преработки}}:",
 'confirmdeletetext' => 'На пат сте трајно да избришете страница заедно со нејзината историја.
 Потврдете дека имате намера да го направите ова, дека ги разбирате последиците од тоа и дека го правите во согласност со [[{{MediaWiki:Policy-url}}|правилата]].',
 'actioncomplete' => 'Дејството е извршено',
@@ -2610,7 +2615,7 @@ $UNWATCHURL
 'dellogpage' => 'Дневник на бришења',
 'dellogpagetext' => 'Подолу е наведен список на најновите бришења.',
 'deletionlog' => 'дневник на бришењата',
-'reverted' => 'Вратено на претходната ревизија',
+'reverted' => 'Вратено на претходната преработка',
 'deletecomment' => 'Причина:',
 'deleteotherreason' => 'Друга/дополнителна причина:',
 'deletereasonotherlist' => 'Друга причина',
@@ -2621,9 +2626,9 @@ $UNWATCHURL
 ** На барање на авторот
 ** Прекинато пренасочување',
 'delete-edit-reasonlist' => 'Уреди причини за бришење',
-'delete-toobig' => 'Оваа страница има долга историја на уредување, преку $1 {{PLURAL:$1|ревизија|ревизии}}.
+'delete-toobig' => 'Оваа страница има долга историја на уредување, преку $1 {{PLURAL:$1|преработка|преработки}}.
 Бришењето на ваквии страници е забрането со цел {{SITENAME}} да се заштити од оштетувања.',
-'delete-warning-toobig' => 'Оваа страница има долга историја на уредување, преку $1 {{PLURAL:$1|ревизија|ревизии}}.
+'delete-warning-toobig' => 'Оваа страница има долга историја на уредување, преку $1 {{PLURAL:$1|преработка|преработки}}.
 Бришењето може да предизвика проблеми при работењето на базата на податоци на {{SITENAME}};
 продолжете доколку сте сигруни дека треба тоа да го сторите.',
 'deleting-backlinks-warning' => "'''Предупредување:''' До страницата што сакате да ја избришете водат [[Special:WhatLinksHere/{{FULLPAGENAME}}|други страници]] или пак се превметнуваат во неа.",
@@ -2643,7 +2648,7 @@ $UNWATCHURL
 Последното уредување го изврши [[User:$3|$3]] ([[User talk:$3|разговор]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).',
 'editcomment' => "Коментарот на уредувањето беше: „''$1''“.",
 'revertpage' => 'Отстрането уредувањето на [[Special:Contributions/$2|$2]] ([[User talk:$2|разговор]]), вратено на последната верзија на [[User:$1|$1]]',
-'revertpage-nouser' => 'Вратени уредувања од скриен корисник на последната ревизија на {{GENDER:$1|[[User:$1|$1]]}}',
+'revertpage-nouser' => 'Вратени уредувања од скриен корисник на последната преработка на {{GENDER:$1|[[User:$1|$1]]}}',
 'rollback-success' => 'Откажани уредувањата на $1; вратено на последната верзија на $2.',
 
 # Edit tokens
@@ -2681,7 +2686,7 @@ $UNWATCHURL
 'protect-locked-access' => "Вашата корисничка сметка нема дозвола за менување на степенот на заштита.
 Овде се дадени тековните нагодувања за оваа страница '''$1''':",
 'protect-cascadeon' => 'Оваа страница е моментално заштитена бидејќи е вклучена во {{PLURAL:$1|следнава страница, за која е|следниве страници, за кои се}} под каскадна заштита.
\9cожеÑ\82е Ð´Ð° Ð³Ð¾ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ\82е Ñ\81Ñ\82епеноÑ\82 Ð½Ð° Ð·Ð°Ñ\88Ñ\82иÑ\82а, Ð½Ð¾ Ñ\82оа Ð½ÐµÐ¼Ð° Ð´Ð° Ð²Ð»Ð¸Ñ\98ае на каскадната заштита.',
\98змениÑ\82е Ð²Ð¾ Ñ\81Ñ\82епеноÑ\82 Ð½Ð° Ð·Ð°Ñ\88Ñ\82иÑ\82а Ð½Ð° Ñ\81Ñ\82Ñ\80аниÑ\86ава Ð½ÐµÐ¼Ð° Ð´Ð° Ð²Ð»Ð¸Ñ\98ааÑ\82 на каскадната заштита.',
 'protect-default' => 'Допуштено за сите корисници',
 'protect-fallback' => 'Допуштај само корисници со дозвола „$1“',
 'protect-level-autoconfirmed' => 'Допуштај само автопотврдени корисници',
@@ -2726,25 +2731,25 @@ $UNWATCHURL
 # Undelete
 'undelete' => 'Преглед на избришани страници',
 'undeletepage' => 'Погледај и врати избришани страници',
-'undeletepagetitle' => "'''Во продолжение следат избришани ревизии на [[:$1|$1]]'''.",
+'undeletepagetitle' => "'''Во продолжение следат избришани преработки на [[:$1|$1]]'''.",
 'viewdeletedpage' => 'Прегледај ги избришаните страници',
 'undeletepagetext' => '{{PLURAL:$1|Следната страница била избришана но сè уште е во архивот и може да биде вратена.|Следните $1 страници биле избришани но сè уште се во архивот и можат да бидат вратени.}}
 Архивот може периодично да се чисти.',
-'undelete-fieldset-title' => 'Врати ревизии',
+'undelete-fieldset-title' => 'Врати преработки',
 'undeleteextrahelp' => "За да вратите целосна историја на една страница, отштиклирајте ги сите полиња и притиснете на „'''{{int:undeletebtn}}'''“.
-За да извршите делумно враќање, штиклирајте ги соодветните ревизии за враќање и притиснете на „'''{{int:undeletebtn}}'''“.",
+За да извршите делумно враќање, штиклирајте ги соодветните преработки за враќање и притиснете на „'''{{int:undeletebtn}}'''“.",
 'undeleterevisions' => '{{PLURAL:$1|$1 измена е архивирана|$1 измени се архивирани}}',
 'undeletehistory' => 'Ако ја обновите страницата, сите поправки ќе бидат вратени во историјата.
 Ако нова страница со исто име е создадена по бришењето, обновените поправки ќе се појават во претходната историја.',
-'undeleterevdel' => 'Избришаното нема да биде вратено ако тоа значи дека со тоа најгорната страница или ревизијата на податотеката делумно ќе се избрише.
-Во такви случаи, морате да ја отштиклирате или откриете (ако е скриена) најновата избришана ревизија.',
+'undeleterevdel' => 'Избришаното нема да биде вратено ако тоа значи дека со тоа најгорната страница или преработката на податотеката делумно ќе се избрише.
+Во такви случаи, морате да ја отштиклирате или откриете (ако е скриена) најновата избришана преработка.',
 'undeletehistorynoadmin' => 'Оваа статија е избришана. Причината за бришењето е наведена подолу,
 заедно со информации за корисникот кој ја уредувал страницата пред бришењето. Целиот текст
 од избришаните верзии е достапен само за администраторите.',
-'undelete-revision' => 'Избришана ревизија на $1 (од $4, во $5) од уредникот $3:',
-'undeleterevision-missing' => 'Грешна или непостоечка ревизија.
-Можеби имате лоша врска, ревизијата била обновена или избришана од архивата.',
-'undelete-nodiff' => 'Не постои постара ревизија.',
+'undelete-revision' => 'Избришана преработка на $1 (од $4, во $5) од уредникот $3:',
+'undeleterevision-missing' => 'Грешна или непостоечка преработка.
+Можеби имате лоша врска, преработката била обновена или избришана од архивата.',
+'undelete-nodiff' => 'Не постои постара преработка.',
 'undeletebtn' => 'Врати',
 'undeletelink' => 'погледај/врати',
 'undeleteviewlink' => 'преглед',
@@ -2764,8 +2769,8 @@ $1',
 'undelete-search-prefix' => 'Прикажи страници кои почнуваат со:',
 'undelete-search-submit' => 'Барај',
 'undelete-no-results' => 'Не се пронајдени соодветни страници во дневникот на бришења.',
-'undelete-filename-mismatch' => 'Не може да се обнови бараната ревизија на податотеката од $1: името не соодветствува',
-'undelete-bad-store-key' => 'Не може да се обнови ревизија на податотека до $1: податотеката ја снемало пред да биде избришана.',
+'undelete-filename-mismatch' => 'Не може да се обнови бараната преработка на податотеката од $1: името не соодветствува',
+'undelete-bad-store-key' => 'Не може да се обнови преработка на податотека до $1: податотеката ја снемало пред да биде избришана.',
 'undelete-cleanup-error' => 'Грешка при бришење на некористената архивска податотека „$1“.',
 'undelete-missing-filearchive' => 'Не можеше да се врати ID $1 because од податочниот архив бидејќи тој не е во базата на податоци.
 Можеби веќе бил избришан.',
@@ -2774,7 +2779,7 @@ $1',
 'undelete-error-long' => 'Се појавија грешки при обновувањето на податотеката:
 
 $1',
-'undelete-show-file-confirm' => 'Дали навистина сакате да ја погледнете избришаната ревизија на податотеката „<nowiki>$1</nowiki>“ од $2 на $3?',
+'undelete-show-file-confirm' => 'Дали навистина сакате да ја погледнете избришаната преработка на податотеката „<nowiki>$1</nowiki>“ од $2 на $3?',
 'undelete-show-file-submit' => 'Да',
 
 # Namespace form on various pages
@@ -2810,7 +2815,7 @@ $1',
 'sp-contributions-search' => 'Пребарување на придонеси',
 'sp-contributions-suppresslog' => 'притаени придонеси на корисникот',
 'sp-contributions-username' => 'IP-адреса или корисничко име:',
-'sp-contributions-toponly' => 'Прикажувај само последни ревизии',
+'sp-contributions-toponly' => 'Прикажувај само последни преработки',
 'sp-contributions-newonly' => 'Прикажувај само новосоздадени страници',
 'sp-contributions-submit' => 'Пребарај',
 
@@ -3076,11 +3081,11 @@ $1',
 'exporttext' => 'Можете да го извезете текстот и историјата на уредување на избрана страница или група на страници во XML формат.
 Овие податоци може да бидат вчитани на некое друго вики кое се користи со МедијаВики преку [[Special:Import|увезување на страница]].
 
-За извезување на страници, внесете ги насловите во полето прикажано подолу, еден наслов на статија во ред, потоа изберете дали сакате да ја извезете само последната ревизија или и сите постари ревизии.
+За извезување на страници, внесете ги насловите во полето прикажано подолу, еден наслов на статија во ред, потоа изберете дали сакате да ја извезете само последната преработка или и сите постари преработки.
 
 Ако ја сакате само тековната верзија, би можеле да искористите врска од видот [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] за страницата „[[{{MediaWiki:Mainpage}}]]“.',
 'exportall' => 'Извези ги сите страници',
-'exportcuronly' => 'Вклучи ја само тековната ревизија, а не сета историја',
+'exportcuronly' => 'Вклучи ја само тековната преработка, а не сета историја',
 'exportnohistory' => "----
 '''Напомена:''' извезувањето на целата историја на страниците преку овој образец е оневозможено од перформансни причини.",
 'exportlistauthors' => 'Прикажувај полн список на придонеси во секоја страница',
@@ -3145,7 +3150,7 @@ $2',
 'importtext' => 'Извезете ја податотеката од изворното вики користејќи ја [[Special:Export|алатката за извоз]].
 Зачувајте ја на вашиот сметач и подигнете ја овде.',
 'importstart' => 'Увоз на страници...',
-'import-revision-count' => '$1 {{PLURAL:$1|ревизија|ревизии}}',
+'import-revision-count' => '$1 {{PLURAL:$1|преработка|преработки}}',
 'importnopages' => 'Нема страници за увоз.',
 'imported-log-entries' => '{{PLURAL:$1|Увезен е $1 дневнички запис|Увезени се $1 дневнички записи}}.',
 'importfailed' => 'Неуспешно внесување: $1',
@@ -3165,7 +3170,7 @@ $2',
 Проблеми со привремена папка за податотеки.',
 'import-parse-failure' => 'Грешка во расчленувањето при увозот на XML',
 'import-noarticle' => 'Нема страница за увоз!',
-'import-nonewrevisions' => 'Не увезов ниедна ревизија (сите се веќе присутни или изоставени поради грешки)',
+'import-nonewrevisions' => 'Не увезов ниедна преработка (сите се веќе присутни или изоставени поради грешки)',
 'xml-error-string' => '$1 во ред $2, колона $3 (бајт $4): $5',
 'import-upload' => 'Подигни XML податоци',
 'import-token-mismatch' => 'Губење на сесиските податоци. Обидете се повторно.',
@@ -3175,8 +3180,8 @@ $2',
 'import-error-interwiki' => 'Страницата „$1“ не е увезена бидејќи името е резервирано за надворешни врски (меѓувики).',
 'import-error-special' => 'Страницата „$1“ не е увезена бидејќи припаѓа на посебен именски простор што не дозволува страници.',
 'import-error-invalid' => 'Страницата „$1“ не е увезена бидејќи името ѝ е неважечко.',
-'import-error-unserialize' => 'РевизиÑ\98ата $2 на страницата „$1“ не може да се отсеријализира. Утврдено е дека користи содржинскиот модел $3 што е серијализиран како $4.',
-'import-error-bad-location' => 'РевизиÑ\98ата $2 што го користи содржинскиот модел $3 не може да се складира во „$1“ на ова вики бидејќи тој модел не е поддржан на таа страница.',
+'import-error-unserialize' => 'Ð\9fÑ\80еÑ\80абоÑ\82ката $2 на страницата „$1“ не може да се отсеријализира. Утврдено е дека користи содржинскиот модел $3 што е серијализиран како $4.',
+'import-error-bad-location' => 'Ð\9fÑ\80еÑ\80абоÑ\82ката $2 што го користи содржинскиот модел $3 не може да се складира во „$1“ на ова вики бидејќи тој модел не е поддржан на таа страница.',
 'import-options-wrong' => '{{PLURAL:$2|Погрешна можност|Погрешни можности}}: <nowiki>$1</nowiki>',
 'import-rootpage-invalid' => 'Укажаната основна страница е неважечки наслов.',
 'import-rootpage-nosubpage' => 'Именскиот простор „$1“ на основната страница не допушта потстраници.',
@@ -3185,9 +3190,9 @@ $2',
 'importlogpage' => 'Дневник на увезувања',
 'importlogpagetext' => 'Административно увезување на страници со историја на уредување од други викија.',
 'import-logentry-upload' => 'увезена [[$1]] со подигање на податотека',
-'import-logentry-upload-detail' => '$1 {{PLURAL:$1|ревизија|ревизии}}',
+'import-logentry-upload-detail' => '$1 {{PLURAL:$1|преработка|преработки}}',
 'import-logentry-interwiki' => 'трансвикифиран $1',
-'import-logentry-interwiki-detail' => '$1 {{PLURAL:$1|ревизија|ревизии}} од $2',
+'import-logentry-interwiki-detail' => '$1 {{PLURAL:$1|преработка|преработки}} од $2',
 
 # JavaScriptTest
 'javascripttest' => 'Проба на JavaScript',
@@ -3316,14 +3321,14 @@ $2',
 'spamprotectionmatch' => 'Следниот текст е она што го предизвика нашиот филтер за спам: $1',
 'spambot_username' => 'МедијаВики чистач на спам',
 'spam_reverting' => 'Враќам на последната верзија што не содржи врска до $1',
-'spam_blanking' => 'Сите ревизии содржеа врски до $1. Чистам',
-'spam_deleting' => 'Сите ревизии содржеа врски до $1. Бришам',
+'spam_blanking' => 'Сите преработки содржеа врски до $1. Чистам',
+'spam_deleting' => 'Сите преработки содржеа врски до $1. Бришам',
 'simpleantispam-label' => "Проверка против спам.
 '''НЕ''' пополнувајте го ова!",
 
 # Info page
 'pageinfo-title' => 'Информации за „$1“',
-'pageinfo-not-current' => 'Информациите може да се прикажат само за тековната ревизија.',
+'pageinfo-not-current' => 'Информациите може да се прикажат само за тековната преработка.',
 'pageinfo-header-basic' => 'Основни информации',
 'pageinfo-header-edits' => 'Историја на уредувања',
 'pageinfo-header-restrictions' => 'Заштита на страницата',
@@ -3379,7 +3384,7 @@ $2',
 'markaspatrolleddiff' => 'Означи како проверена верзија',
 'markaspatrolledtext' => 'Означи ја верзијата како проверена',
 'markedaspatrolled' => 'Означено како проверено',
-'markedaspatrolledtext' => 'Избраната ревизија на [[:$1]]  е означена како испатролирана.',
+'markedaspatrolledtext' => 'Избраната преработка на [[:$1]] е означена како испатролирана.',
 'rcpatroldisabled' => 'Оневозможено проверка на скорешни промени',
 'rcpatroldisabledtext' => 'Патролирањето на Скорешните промени е деактивирано.',
 'markedaspatrollederror' => 'Не можам да означам како проверена',
@@ -3390,17 +3395,17 @@ $2',
 
 # Patrol log
 'patrol-log-page' => 'Дневник на патролирања',
-'patrol-log-header' => 'Ова е дневник на патролирани ревизии.',
+'patrol-log-header' => 'Ова е дневник на патролирани преработки.',
 'log-show-hide-patrol' => '$1 дневник на патролирање',
 
 # Image deletion
-'deletedrevision' => 'Избришана стара ревизија $1.',
+'deletedrevision' => 'Избришана стара преработка $1.',
 'filedeleteerror-short' => 'Грешка при бришење на податотека: $1',
 'filedeleteerror-long' => 'Се појавија грешки при бришењето на податотеката:
 
 $1',
 'filedelete-missing' => 'Податотеката „$1“ не може да се избрише, бидејќи не постои.',
-'filedelete-old-unregistered' => 'Наведената ревизија на податотеката „$1“ не се наоѓа во базата на податоци.',
+'filedelete-old-unregistered' => 'Наведената преработка на податотеката „$1“ не се наоѓа во базата на податоци.',
 'filedelete-current-unregistered' => 'Наведената податотека „$1“ не се наоѓа во базата на податоци.',
 'filedelete-archive-read-only' => 'Во именикот за архивирање „$1“ семрежниот опслужувач не може да запишува.',
 
@@ -4229,7 +4234,7 @@ $5
 'version-hook-name' => 'Име на кука',
 'version-hook-subscribedby' => 'Претплатено од',
 'version-version' => '(Верзија $1)',
-'version-svn-revision' => '(рев. $2)',
+'version-svn-revision' => 'прер. $1',
 'version-license' => 'Лиценца на МедијаВики',
 'version-ext-license' => 'Лиценца',
 'version-ext-colheader-name' => 'Додаток',
@@ -4260,15 +4265,15 @@ $5
 'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath?uselang=mk Скрипта]',
 
 # Special:Redirect
-'redirect' => 'Пренасочување по податотеки, корисник или назнака на ревизија',
+'redirect' => 'Пренасочување по податотеки, корисник или назнака на преработка',
 'redirect-legend' => 'Пренасочување кон податотека или страница',
-'redirect-summary' => 'Оваа специјална страница пренасочува кон податотека (се задава името), страница (се задава назнаката на ревизијата или страницата) или корисничка странца (се задава бројчената назнака на корисникот). Употреба: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]] или [[{{#Special:Redirect}}/user/101]].',
+'redirect-summary' => 'Оваа специјална страница пренасочува кон податотека (се задава името), страница (се задава назнаката на преработката или страницата) или корисничка странца (се задава бројчената назнака на корисникот). Употреба: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]] или [[{{#Special:Redirect}}/user/101]].',
 'redirect-submit' => 'Оди',
 'redirect-lookup' => 'Пребарај:',
 'redirect-value' => 'Вредност:',
 'redirect-user' => 'Корисничка назнака',
 'redirect-page' => 'Назнака на страницата',
-'redirect-revision' => 'РевизиÑ\98а на страницата',
+'redirect-revision' => 'Ð\9fÑ\80еÑ\80абоÑ\82ка на страницата',
 'redirect-file' => 'Име на податотека',
 'redirect-not-exists' => 'Вредноста не е најдена',
 
@@ -4335,12 +4340,12 @@ $5
 'comparepages' => 'Спореди страници',
 'compare-page1' => 'Страница 1',
 'compare-page2' => 'Страница 2',
-'compare-rev1' => 'РевизиÑ\98а 1',
-'compare-rev2' => 'РевизиÑ\98а 2',
+'compare-rev1' => 'Ð\9fÑ\80еÑ\80абоÑ\82ка 1',
+'compare-rev2' => 'Ð\9fÑ\80еÑ\80абоÑ\82ка 2',
 'compare-submit' => 'Спореди',
 'compare-invalid-title' => 'Наведениот наслов е неважечки.',
 'compare-title-not-exists' => 'Наведениот наслов не постои.',
-'compare-revision-not-exists' => 'Наведената ревизија не постои.',
+'compare-revision-not-exists' => 'Наведената преработка не постои.',
 
 # Database error messages
 'dberr-header' => 'Ова вики не функционира како што треба',
@@ -4375,14 +4380,14 @@ $5
 'logentry-delete-delete' => '$1 {{GENDER:$2|ја избриша}} страницата $3',
 'logentry-delete-restore' => '$1 {{GENDER:$2|ја возобнови}} страницата $3',
 'logentry-delete-event' => '$1 {{GENDER:$2|ја измени}} видливоста на {{PLURAL:$5|настан во дневникот|$5 настани во дневникот}} на $3: $4',
-'logentry-delete-revision' => '$1 {{GENDER:$2|ја измени}} видливоста на {{PLURAL:$5|ревизија|$5 ревизии}} на страницата $3: $4',
+'logentry-delete-revision' => '$1 {{GENDER:$2|ја измени}} видливоста на {{PLURAL:$5|преработка|$5 преработки}} на страницата $3: $4',
 'logentry-delete-event-legacy' => '$1 {{GENDER:$2|ја измени}} видливоста на настаните во дневникот на $3',
-'logentry-delete-revision-legacy' => '$1 {{GENDER:$2|ја измени}} видливоста на ревизии на страницата $3',
+'logentry-delete-revision-legacy' => '$1 {{GENDER:$2|ја измени}} видливоста на преработки на страницата $3',
 'logentry-suppress-delete' => '$1 {{GENDER:$2|ја притаи}} страницата $3',
 'logentry-suppress-event' => '$1 потајно {{GENDER:$2|ја измени}} видливоста на {{PLURAL:$5|настан во дневникот|$5 настани во дневникот}} на $3: $4',
-'logentry-suppress-revision' => '$1 потајно {{GENDER:$2|ја измени}} видливоста на {{PLURAL:$5|ревизија|$5 ревизии}} на страницата $3: $4',
+'logentry-suppress-revision' => '$1 потајно {{GENDER:$2|ја измени}} видливоста на {{PLURAL:$5|преработка|$5 преработки}} на страницата $3: $4',
 'logentry-suppress-event-legacy' => '$1 потајно {{GENDER:$2|ја измени}} видливоста на настани во дневникот на $3',
-'logentry-suppress-revision-legacy' => '$1 потајно {{GENDER:$2|ја измени}} видливоста на ревизии на страницата $3',
+'logentry-suppress-revision-legacy' => '$1 потајно {{GENDER:$2|ја измени}} видливоста на преработки на страницата $3',
 'revdelete-content-hid' => 'содржината е скриена',
 'revdelete-summary-hid' => 'описот на уредувањето е скриен',
 'revdelete-uname-hid' => 'корисничкото име е скриено',
@@ -4395,8 +4400,8 @@ $5
 'logentry-move-move-noredirect' => '$1 {{GENDER:$2|ја премести}} страницата $3 на $4 без да остави пренасочување',
 'logentry-move-move_redir' => '$1 {{GENDER:$2|ја премести}} страницата $3 на $4 презапишувајќи врз пренасочување',
 'logentry-move-move_redir-noredirect' => '$1 {{GENDER:$2|ја премести}} страницата $3 на $4 презапишувајќи врз пренасочување без да остави пренасочување',
-'logentry-patrol-patrol' => '$1 {{GENDER:$2|ја означи}} ревизијата $4 на страницата $3 како испатролирана',
-'logentry-patrol-patrol-auto' => '$1 автоматски {{GENDER:$2|ја означи}} ревизијата $4 на страницата $3 како испатролирана',
+'logentry-patrol-patrol' => '$1 {{GENDER:$2|ја означи}} преработката $4 на страницата $3 како испатролирана',
+'logentry-patrol-patrol-auto' => '$1 автоматски {{GENDER:$2|ја означи}} преработката $4 на страницата $3 како испатролирана',
 'logentry-newusers-newusers' => '{{GENDER:$2|Направена}} корисничката сметка $1',
 'logentry-newusers-create' => '{{GENDER:$2|Направена}} корисничката сметка $1',
 'logentry-newusers-create2' => '{{GENDER:$2|Направена}} корисничката сметка $3 од $1',
index 9f485cd..2ce31c8 100644 (file)
@@ -602,7 +602,6 @@ $1',
 'disclaimers' => 'നിരാകരണങ്ങൾ',
 'disclaimerpage' => 'Project:പൊതുനിരാകരണം',
 'edithelp' => 'തിരുത്തൽ സഹായി',
-'helppage' => 'Help:ഉള്ളടക്കം',
 'mainpage' => 'പ്രധാന താൾ',
 'mainpage-description' => 'പ്രധാന താൾ',
 'policy-url' => 'Project:നയം',
@@ -1056,7 +1055,7 @@ $1 ആണ് ഈ തടയൽ നടത്തിയത്. ''$2'' എന്ന
 'accmailtitle' => 'രഹസ്യവാക്ക് അയച്ചിരിക്കുന്നു.',
 'accmailtext' => "[[User talk:$1|$1]] എന്ന ഉപയോക്താവിനുള്ള ക്രമരഹിതമായി നിർമ്മിച്ച രഹസ്യവാക്ക് $2 എന്ന വിലാസത്തിലേക്ക് അയച്ചിട്ടുണ്ട്. പ്രവേശിച്ചതിനു ശേഷം ഇത് ''[[Special:ChangePassword|രഹസ്യവാക്ക് മാറ്റുക]]'' എന്ന താളിൽ മാറ്റാവുന്നതാണ്.",
 'newarticle' => '(പുതിയത്)',
-'newarticletext' => 'ഇതുവരെ നിലവിലില്ലാത്ത ഒരു താൾ സൃഷ്ടിക്കാനുള്ള ശ്രമത്തിലാണ് താങ്കൾ. അതിനായി താഴെ ആവശ്യമുള്ള വിവരങ്ങൾ എഴുതിച്ചേർത്ത് സേവ് ചെയ്യുക (കൂടുതൽ വിവരങ്ങൾക്ക് [[{{MediaWiki:Helppage}}|സഹായം താൾ]] കാണുക). താങ്കളിവിടെ അബദ്ധത്തിൽ വന്നതാണെങ്കിൽ ബ്രൗസറിന്റെ ബാക്ക് ബട്ടൺ ഞെക്കിയാൽ തിരിച്ചുപോകാം.',
+'newarticletext' => 'ഇതുവരെ നിലവിലില്ലാത്ത ഒരു താൾ സൃഷ്ടിക്കാനുള്ള ശ്രമത്തിലാണ് താങ്കൾ. അതിനായി താഴെ ആവശ്യമുള്ള വിവരങ്ങൾ എഴുതിച്ചേർത്ത് സേവ് ചെയ്യുക (കൂടുതൽ വിവരങ്ങൾക്ക് [$1 സഹായം താൾ] കാണുക). താങ്കളിവിടെ അബദ്ധത്തിൽ വന്നതാണെങ്കിൽ ബ്രൗസറിന്റെ ബാക്ക് ബട്ടൺ ഞെക്കിയാൽ തിരിച്ചുപോകാം.',
 'anontalkpagetext' => "----
 {| class=\"messagebox standard-talk\" style=\"border: 1px solid #B3B300; background-color:#FFFFBF; text-align: left;\"
 |
@@ -1068,7 +1067,7 @@ $1 ആണ് ഈ തടയൽ നടത്തിയത്. ''$2'' എന്ന
 താങ്കൾക്ക് മറ്റുതാളുകളിൽ [[Special:Search/{{PAGENAME}}|ഇതേക്കുറിച്ച് അന്വേഷിക്കുകയോ]], <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} ബന്ധപ്പെട്ട രേഖകൾ പരിശോധിക്കുകയോ], [{{fullurl:{{FULLPAGENAME}}|action=edit}} ഈ താൾ തിരുത്തുകയോ ചെയ്യാവുന്നതാണ്]</span>.',
 'noarticletext-nopermission' => 'ഇപ്പോൾ ഈ താളിൽ എഴുത്തുകളൊന്നും ഇല്ല.
 താങ്കൾക്ക് മറ്റു താളുകളിൽ [[Special:Search/{{PAGENAME}}|ഈ താളിന്റെ തലക്കെട്ടിനായി തിരയാവുന്നതാണ്‌]], അല്ലെങ്കിൽ <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} ബന്ധപ്പെട്ട രേഖകൾ പരിശോധിക്കാവുന്നതാണ്‌]</span>. പക്ഷേ ഈ താൾ സൃഷ്ടിക്കാൻ താങ്കൾക്ക് അനുവാദമില്ല.',
-'missing-revision' => '"{{PAGENAME}}" എന്ന താളിന്റെ #$1 എന്ന നാൾപ്പതിപ്പ് നിലവിലില്ല.
+'missing-revision' => '"{{FULLPAGENAME}}" എന്ന താളിന്റെ #$1 എന്ന നാൾപ്പതിപ്പ് നിലവിലില്ല.
 
 മായ്ക്കപ്പെട്ട താളിന്റെ കാലഹരണപ്പെട്ട നാൾവഴി കണ്ണി ഉപയോഗിച്ചാലാണ് സാധാരണ ഇങ്ങനെ സംഭവിക്കുക.
 കൂടുതൽ വിവരങ്ങൾ [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} മായ്ക്കൽ രേഖയിൽ] കാണാവുന്നതാണ്.',
@@ -1294,8 +1293,9 @@ $3 നൽകിയിരിക്കുന്ന കാരണം ''$2'' എന
 'revdelete-no-file' => 'നിർദ്ദേശിച്ച പ്രമാണം നിലവിലില്ല.',
 'revdelete-show-file-confirm' => '"<nowiki>$1</nowiki>" പ്രമാണത്തിന്റെ $2 തീയതി $3 -യ്ക്കു നിലനിന്നിരുന്ന മായ്ക്കപ്പെട്ട പതിപ്പു  കാണണം എന്നു താങ്കൾക്ക് ഉറപ്പാണോ?',
 'revdelete-show-file-submit' => 'അതെ',
-'revdelete-selected' => "'''[[:$1]] എന്ന താളിന്റെ {{PLURAL:$2|തിരഞ്ഞെടുത്ത പതിപ്പ്|തിരഞ്ഞെടുത്ത പതിപ്പുകൾ}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|തിരഞ്ഞെടുത്ത രേഖയിലുള്ളത്|തിരഞ്ഞെടുത്ത രേഖയിലുള്ളവ}}:'''",
+'revdelete-selected-text' => '[[:$2]] എന്ന താളിന്റെ {{PLURAL:$1|തിരഞ്ഞെടുത്ത നാൾപ്പതിപ്പ്|തിരഞ്ഞെടുത്ത നാൾപ്പതിപ്പുകൾ}}:',
+'revdelete-selected-file' => '[[:$2]] എന്ന പ്രമാണത്തിന്റെ {{PLURAL:$1|തിരഞ്ഞെടുത്ത പതിപ്പ്|തിരഞ്ഞെടുത്ത പതിപ്പുകൾ}}:',
+'logdelete-selected' => '{{PLURAL:$1|തിരഞ്ഞെടുത്ത രേഖയിലുള്ളത്|തിരഞ്ഞെടുത്ത രേഖയിലുള്ളവ}}:',
 'revdelete-text-text' => 'മായ്ക്കപ്പെട്ട നാൾപ്പതിപ്പുകൾ താളിന്റെ നാൾവഴിയിൽ കാണാവുന്നതായിരിക്കുമെങ്കിലും, അവയുടെ ഉള്ളടക്കത്തിന്റെ ചില ഭാഗങ്ങൾ പൊതുജനങ്ങൾക്ക് ലഭ്യമായിരിക്കണമെന്നില്ല.',
 'revdelete-text-file' => 'പ്രമാണത്തിന്റെ മായ്ക്കപ്പെട്ട പതിപ്പുകൾ താളിന്റെ നാൾവഴിയിൽ കാണാവുന്നതായിരിക്കുമെങ്കിലും, അവയുടെ ഉള്ളടക്കത്തിന്റെ ചില ഭാഗങ്ങൾ പൊതുജനങ്ങൾക്ക് ലഭ്യമായിരിക്കണമെന്നില്ല.',
 'logdelete-text' => 'മായ്ക്കപ്പെട്ട പ്രവൃത്തികൾ പ്രവർത്തന രേഖകളിൽ കാണാവുന്നതായിരിക്കുമെങ്കിലും, അവയുടെ ഉള്ളടക്കത്തിന്റെ ചില ഭാഗങ്ങൾ പൊതുജനങ്ങൾക്ക് ലഭ്യമായിരിക്കണമെന്നില്ല.',
@@ -2153,6 +2153,11 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization കാണുക.',
 # List redirects
 'listredirects' => 'തിരിച്ചുവിടൽ താളുകളുടെ പട്ടിക കാണിക്കുക',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'പകർപ്പുകളുള്ള പ്രമാണങ്ങളുടെ പട്ടിക',
+'listduplicatedfiles-summary' => 'ഒരു പ്രമാണത്തിന്റെ ഏറ്റവും പുതിയ പതിപ്പ് മറ്റേതെങ്കിലും പ്രമാണത്തിന്റെ ഏറ്റവും പുതിയ പതിപ്പിന്റെ പകർപ്പ് ആണെങ്കിൽ, ഈ പട്ടികയിൽ കാണാവുന്നതാണ്. പ്രാദേശിക പ്രമാണങ്ങൾ മാത്രമാണ് കണക്കിലെടുത്തിരിക്കുന്നത്.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] എന്ന പ്രമാണത്തിന് [[$3|{{PLURAL:$2|ഒരു പകർപ്പ്|$2 പകർപ്പുകൾ}}]] ഉണ്ട്.',
+
 # Unused templates
 'unusedtemplates' => 'ഉപയോഗിക്കപ്പെടാത്ത ഫലകങ്ങൾ',
 'unusedtemplatestext' => '{{ns:template}} എന്ന നാമമേഖലയിൽ ഉള്ളതും ഒരു താളിലും ചേർത്തിട്ടുമില്ലാത്ത എല്ലാ ഫലകതാളുകളുടേയും പട്ടിക ഈ താളിൽ കാണാം. ഫലകങ്ങൾ മായ്ക്കുന്നതിനു മുൻപ് അതു മറ്റൊരു താളിലും ഉപയോഗിക്കുന്നില്ല എന്നുറപ്പാക്കുക.',
@@ -2602,7 +2607,7 @@ $UNWATCHURL
 '''$1''' എന്ന താളിന്റെ നിലവിലുള്ള ക്രമീകരണം ഇതാണ്‌:",
 'protect-locked-access' => "താളുകളുടെ സംരക്ഷണമാനത്തിൽ വ്യതിയാനം വരുത്തുവാനുള്ള അനുമതി താങ്കളുടെ അംഗത്വത്തിനില്ല.
 '''$1''' എന്ന താളിന്റെ നിലവിലുള്ള ക്രമീകരണങ്ങൾ ഇതാ:",
-'protect-cascadeon' => 'à´\88 à´¤à´¾àµ¾ à´¨à´¿àµ¼à´\9dരിതസà´\82à´°à´\95àµ\8dഷിതമായ (cascading protection) {{PLURAL:$1|à´\92à´°àµ\81 à´¤à´¾à´³à´¿àµ½|പല à´¤à´¾à´³àµ\81à´\95ളിൽ}} à´\89ൾപàµ\8dà´ªàµ\86à´\9fàµ\81à´¤àµ\8dതപàµ\8dà´ªàµ\86à´\9fàµ\81à´¤àµ\8dതപàµ\8dà´ªàµ\86à´\9fàµ\8dà´\9fà´¿à´°à´¿à´\95àµ\8dà´\95àµ\81à´¨àµ\8dനതിനാൽ à´\87à´¤àµ\8d à´¸à´\82à´°à´\95àµ\8dà´·à´¿à´¤ à´¤à´¾à´³à´¾à´£àµ\8d. à´\8eà´¨àµ\8dനാൽ à´¤à´¾à´\99àµ\8dà´\95ൾà´\95àµ\8dà´\95àµ\8d à´\88 à´¤à´¾à´³à´¿à´¨àµ\8dà´±àµ\86 à´¸à´\82à´°à´\95àµ\8dഷണമാനà´\82 à´®à´¾à´±àµ\8dà´±àµ\81വാൻ à´\95à´´à´¿à´¯àµ\81à´\82, à´\85à´\99àµ\8dà´\99à´¨àµ\86 à´\9aàµ\86à´¯àµ\8dതാൽ à´¨à´¿àµ¼à´\9dരിതസà´\82à´°à´\95àµ\8dഷണതàµ\8dതിനàµ\81 മാറ്റം വരികയില്ല.',
+'protect-cascadeon' => 'à´\88 à´¤à´¾àµ¾ à´¸à´\82à´°à´\95àµ\8dഷണപരമàµ\8dപരയിൽ à´\89ൾപàµ\8dà´ªàµ\86à´\9fàµ\8dà´\9f (cascading protection) {{PLURAL:$1| à´¤à´¾à´³à´¿àµ½| à´¤à´¾à´³àµ\81à´\95ളിൽ}} à´\89ൾപàµ\8dà´ªàµ\86à´\9fàµ\81à´¤àµ\8dതിയിരിà´\95àµ\8dà´\95àµ\81à´¨àµ\8dനതിനാൽ à´\87à´¤àµ\8d à´¸à´\82à´°à´\95àµ\8dà´·à´¿à´¤ à´¤à´¾à´³à´¾à´£àµ\8d. à´\8eà´¨àµ\8dനാൽ à´¤à´¾à´\99àµ\8dà´\95ൾà´\95àµ\8dà´\95àµ\8d à´\88 à´¤à´¾à´³à´¿à´¨àµ\8dà´±àµ\86 à´¸à´\82à´°à´\95àµ\8dഷണമാനà´\82 à´®à´¾à´±àµ\8dà´±àµ\81വാൻ à´\95à´´à´¿à´¯àµ\81à´\82, à´\85à´\99àµ\8dà´\99à´¨àµ\86 à´\9aàµ\86à´¯àµ\8dതാൽ à´¸à´\82à´°à´\95àµ\8dഷണപരമàµ\8dപരയിൽ മാറ്റം വരികയില്ല.',
 'protect-default' => 'എല്ലാ ഉപയോക്താക്കളെയും അനുവദിക്കുക',
 'protect-fallback' => '"$1" അനുവാദമുള്ള ഉപയോക്താക്കളെ മാത്രം അനുവദിക്കുന്നു',
 'protect-level-autoconfirmed' => 'സ്ഥിരീകരിക്കപ്പെട്ട ഉപയോക്താക്കളെ മാത്രം അനുവദിക്കുന്നു',
index 66582fe..faa0fd4 100644 (file)
@@ -296,7 +296,6 @@ $1',
 'disclaimers' => 'Татгалзал',
 'disclaimerpage' => 'Project:Ерөнхий татгалзал',
 'edithelp' => 'Засвар хийх тухай тусламж',
-'helppage' => 'Help:Агуулга',
 'mainpage' => 'Нүүр хуудас',
 'mainpage-description' => 'Нүүр хуудас',
 'policy-url' => 'Project:Бодлого баримтлал',
@@ -738,7 +737,7 @@ $2
 Нэвтэрч орсны дараа энэ шинэ бүртгэлийн нууц үгийг ''[[Special:ChangePassword|энэ хуудсаар]]'' солих боломжтой.",
 'newarticle' => '(Шинэ)',
 'newarticletext' => "Таны орохыг хүссэн хуудас байхгүй байна. Энэ хуудсыг шинээр үүсгэхийн тулд доорх талбарт мэдээллээ оруулна уу (дэлгэрэ
-нгүй мэдээллийг [[{{MediaWiki:Helppage}}|тусламжийн хуудсаас]] авч болно).
+нгүй мэдээллийг [$1 тусламжийн хуудсаас] авч болно).
 Хэрэв та энд санамсаргүйгээр орж ирсэн бол броузерийнхаа '''back''' товчийг дар.",
 'anontalkpagetext' => "----''Энэ нь хараахан бүртгүүлээгүй байгаа буюу хэрэглэгчийн нэр хэрэглэхгүй байгаа хэрэглэгчийн хэлэлцүүлгийн хуудас болно.
 Бид ийм хэрэглэгчдийг тогтоохын тулд IP хаягийг нь ашигладаг.
@@ -961,8 +960,7 @@ $3-н тодорхойлсон шалтгаан нь ''$2''",
 'revdelete-no-file' => 'Өгөгдсөн файл байхгүй байна.',
 'revdelete-show-file-confirm' => '$2-ий $3 дахь "<nowiki>$1</nowiki>" файлын устгагдсан засварыг үзмээр байгаадаа итгэлтэй байна уу?',
 'revdelete-show-file-submit' => 'Тийм',
-'revdelete-selected' => "'''[[:$1]]-н {{PLURAL:$2|сонгосон засвар|сонгосон засварууд}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Сонгосон логийн үйл явдал|Сонгосон логийн үйл явдлууд}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Сонгосон логийн үйл явдал|Сонгосон логийн үйл явдлууд}}:',
 'revdelete-confirm' => 'Та энэхүү үйлдлийг хийх гэж байгаа, үр дагаварыг ойлгож байгаа, [[{{MediaWiki:Policy-url}}|дүрмийн дагуу]] хийж байгаа гэдгээ батална уу.',
 'revdelete-suppress-text' => "'''Зөвхөн'' дараах тохиолдлуудад л далдалгааг хэрэглэнэ:
 *Гүтгэсэн, матсан байж болох мэдээлэл
@@ -2264,7 +2262,7 @@ $1',
 # Namespace form on various pages
 'namespace' => 'Нэрний зай:',
 'invert' => 'Зааснаас бусад',
-'namespace_association' => 'Заасан төрлөөс',
+'namespace_association' => 'Заасантай холбоотой',
 'blanknamespace' => '(Гол)',
 
 # Contributions
index daf1676..2a4c17d 100644 (file)
@@ -575,7 +575,6 @@ $1',
 'disclaimers' => 'उत्तरदायित्वास नकार',
 'disclaimerpage' => 'Project: सर्वसाधारण उत्तरदायकत्वास नकार',
 'edithelp' => 'संपादन साहाय्य',
-'helppage' => 'Help:आशय',
 'mainpage' => 'मुखपृष्ठ',
 'mainpage-description' => 'मुखपृष्ठ',
 'policy-url' => 'Project:नीती',
@@ -1015,7 +1014,7 @@ $2',
 
 या नवीन खात्यासाठीचा परवलीचा शब्द,सनोंद-प्रवेश घेतल्यावर [[Special:ChangePassword|परवलीचा शब्द बदला]] येथे बदलता येईल.',
 'newarticle' => '(नवीन लेख)',
-'newarticletext' => 'तुम्हाला अपेक्षित असलेला लेख अजून लिहिला गेलेला नाही. हा लेख लिहिण्यासाठी खालील पेटीत मजकूर लिहा. मदतीसाठी [[{{MediaWiki:Helppage}}|येथे]] टिचकी द्या.
+'newarticletext' => 'तुम्हाला अपेक्षित असलेला लेख अजून लिहिला गेलेला नाही. हा लेख लिहिण्यासाठी खालील पेटीत मजकूर लिहा. मदतीसाठी [$1 येथे] टिचकी द्या.
 
 जर येथे चुकून आला असाल तर ब्राउझरच्या बॅक (back) कळीवर टिचकी द्या.',
 'anontalkpagetext' => "---- ''हे चर्चापान अशा अज्ञात सदस्यासाठी आहे, ज्यांनी खाते तयार केलेले नाही किंवा त्याचा वापर करत नाहीत. त्यांच्या ओळखीसाठी आम्ही आंतरजाल अंकपत्ता वापरतो आहोत. असा अंकपत्ता बऱ्याच लोकांचा एकच असू शकतो. जर आपण अज्ञात सदस्य असाल आणि आपल्याला काही अप्रासंगिक संदेश मिळाला असेल तर कृपया [[Special:UserLogin| खाते तयार करा]] किंवा [[Special:UserLogin/signup|सनोंद-प्रवेश करा]] ज्यामुळे, पुढे असे गैरसमज होणार नाहीत.''",
@@ -1024,7 +1023,7 @@ $2',
 किंवा हा लेख [{{fullurl:{{FULLPAGENAME}}|action=edit}} लिहू शकता]</span>.',
 'noarticletext-nopermission' => 'सध्या या लेखात  काहीही मजकूर नाही.
 तुम्ही विकिपीडियावरील इतर लेखांमध्ये [[Special:Search/{{PAGENAME}}| या मथळ्याचा शोध घेऊ शकता]], <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAME}}}}आपण या लेखाच्या इतर नोंदी शोधा]</span>,परंतु, आपणास हा लेख लिहीण्याची परवानगी देण्यात येउ शकत नाही.',
-'missing-revision' => '"{{PAGENAME}}" या लेखाचे #$1 हे संस्करण अस्तित्वात नाही.वगळल्या गेलेल्या लेखपानाच्या जुन्या इतिहास-दुव्याचे अनुसरण केल्यामुळे असे होते.याबाबत विस्तृत माहिती  [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} वगळलेल्या नोंदी]येथे बघता येईल.',
+'missing-revision' => '"{{FULLPAGENAME}}" या लेखाचे #$1 हे संस्करण अस्तित्वात नाही.वगळल्या गेलेल्या लेखपानाच्या जुन्या इतिहास-दुव्याचे अनुसरण केल्यामुळे असे होते.याबाबत विस्तृत माहिती  [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} वगळलेल्या नोंदी]येथे बघता येईल.',
 'userpage-userdoesnotexist' => '"<nowiki>$1</nowiki>" सदस्य खात्याची नोंद नाही. कृपया हे पान तुम्ही संपादित किंवा नव्याने तयार करू इच्छिता काय याबद्दल विचार करा.',
 'userpage-userdoesnotexist-view' => 'सदस्यखाते "$1"  हे नोंदलेले नाही.',
 'blocked-notice-logextract' => 'हा सदस्य सध्या प्रतिबंधित आहे.
@@ -1238,8 +1237,7 @@ $3ने ''$2'' कारण दिले आहे.",
 'revdelete-no-file' => 'नमूद केलेली संचिका अस्तित्वात नाही.',
 'revdelete-show-file-confirm' => 'तुम्ही "<nowiki>$1</nowiki>" या संचिकेची  $2 ला $3 वेळी  वगळलेली आवृत्ती नक्की पहाणार आहात?',
 'revdelete-show-file-submit' => 'होय',
-'revdelete-selected' => "'''[[:$1]] {{PLURAL:$2|ची निवडलेली आवृत्ती|च्या निवडलेल्या आवृत्त्या}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|निवडलेली नोंदीकृत घटना|निवडलेल्या नोंदीकृत घटना}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|निवडलेली नोंदीकृत घटना|निवडलेल्या नोंदीकृत घटना}}:',
 'revdelete-confirm' => "कृपया '''याची खात्री करा''' की तुम्ही जे करीत आहात, त्याचे परिणाम आपण जाणत आहात आणि, ते काम [[{{MediaWiki:Policy-url}}|मीडियाविकीच्या नीती]]नुसार आहे.",
 'revdelete-suppress-text' => "लपवण्याचा वापर '''फक्त''' पुढील बाबतीत होतो:
 * उच्च दर्जाची बदनामीकारक माहिती
index d77acd1..70a98e3 100644 (file)
@@ -446,7 +446,6 @@ $1',
 'disclaimers' => 'Penolak tuntutan',
 'disclaimerpage' => 'Project:Penolak tuntutan umum',
 'edithelp' => 'Bantuan menyunting',
-'helppage' => 'Help:Kandungan',
 'mainpage' => 'Laman Utama',
 'mainpage-description' => 'Laman utama',
 'policy-url' => 'Project:Dasar',
@@ -891,7 +890,7 @@ Ia mungkin telah dialih atau dihapus semasa anda melihat laman ini.',
 'newarticle' => '(Baru)',
 'newarticletext' => "Anda telah mengikuti pautan ke laman yang belum wujud.
 Untuk mencipta laman ini, sila taip dalam kotak di bawah
-(lihat [[{{MediaWiki:Helppage}}|laman bantuan]] untuk maklumat lanjut).
+(lihat [$1 laman bantuan] untuk maklumat lanjut).
 Jika anda tiba di sini secara tak sengaja, hanya klik butang '''back''' pada pelayar anda.",
 'anontalkpagetext' => "----''Ini ialah laman perbincangan bagi pengguna tanpa nama yang belum membuka akaun atau tidak log masuk.
 Oleh itu kami terpaksa menggunakan alamat IP untuk mengenal pasti pengguna tersebut. Alamat IP ini boleh dikongsi oleh ramai pengguna.
@@ -900,7 +899,7 @@ Sekiranya anda adalah seorang pengguna tanpa nama dan berasa bahawa komen yang t
 'noarticletext-nopermission' => 'Tiada teks dalam laman ini ketika ini.
 Anda boleh [[Special:Search/{{PAGENAME}}|mencari tajuk laman ini]] dalam laman lain,
 atau <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} mencari log yang berkaitan]</span>.',
-'missing-revision' => 'Semakan #$1 pada halaman "{{PAGENAME}}" tidak wujud.
+'missing-revision' => 'Semakan #$1 pada halaman "{{FULLPAGENAME}}" tidak wujud.
 
 Hal ini biasanya disebabkan oleh pautan sejarah yang lapuk ke halaman yang sudah dihapuskan.
 Butirannya boleh didapati di [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log penghapusan].',
@@ -1129,8 +1128,7 @@ Anda boleh melihat perbezaan ini; butiran boleh didapati di [{{fullurl:{{#Specia
 'revdelete-no-file' => 'Fail yang dinyatakan tidak wujud.',
 'revdelete-show-file-confirm' => 'Anda pasti anda mahu paparkan semakan yang telah dihapuskan bagi fail "<nowiki>$1</nowiki>" dari $2 pada $3?',
 'revdelete-show-file-submit' => 'Ya',
-'revdelete-selected' => "'''{{PLURAL:$2|Versi|Versi-versi}} '''$1''' yang dipilih:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Peristiwa|Peristiwa-peristiwa}} log yang dipilih:'''",
+'logdelete-selected' => '{{PLURAL:$1|Peristiwa|Peristiwa-peristiwa}} log yang dipilih:',
 'revdelete-confirm' => 'Sila sahkan bahawa anda bertujuan melakukan ini, bahawa anda faham akibatnya, dan anda melakukannya menurut [[{{MediaWiki:Policy-url}}| polisi]].',
 'revdelete-suppress-text' => "Sekatan seharusnya digunakan '''hanya''' untuk kes-kes berikut:
 * maklumat yang mungkin berunsur fitnah
index a93249e..a75072f 100644 (file)
@@ -520,7 +520,6 @@ $1",
 'disclaimers' => 'Ċaħdiet',
 'disclaimerpage' => 'Project:Ċaħda ġenerali',
 'edithelp' => 'Gwida',
-'helppage' => 'Help:Kontenut',
 'mainpage' => 'Il-Paġna prinċipali',
 'mainpage-description' => 'Il-Paġna prinċipali',
 'policy-url' => 'Project:Politika',
@@ -915,7 +914,7 @@ Seta' ġara li din ġiet immexxiha jew imħassra waqt li kont qed tara l-paġna.
 Il-password għal dan il-kont il-ġdid tista' titbiddel fil-paġna għat-''[[Special:ChangePassword|tibdil tal-password]]''.",
 'newarticle' => '(Ġdid)',
 'newarticletext' => "Inti segwejt link għal paġna li għadha ma ġietx maħluqa.
-Sabiex toħloq il-paġna, ikteb fil-kaxxa li tinsab hawn taħt (ara [[{{MediaWiki:Helppage}}|paġna tal-għajnuna]] għal aktar informazzjoni).
+Sabiex toħloq il-paġna, ikteb fil-kaxxa li tinsab hawn taħt (ara [$1 paġna tal-għajnuna] għal aktar informazzjoni).
 Jekk wasalt hawn biż-żball, agħfas il-buttuna '''lura''' (''back'') fuq il-browser tiegħek.",
 'anontalkpagetext' => "----''Din hija l-paġna ta' diskussjoni ta' utent anonimu li għadu ma ħoloqx kont, jew inkella li ma jużahx.
 Għaldaqstant biex nidentifikawh ikollna nużaw l-indirizz tal-IP tiegħu/tagħha.
@@ -924,7 +923,7 @@ Jekk int utent anonimu u tħoss li qiegħed tirċievi kummenti irrelevanti jew l
 'noarticletext' => "Bħalissa m'hemm l-ebda test f'din il-paġna.
 Inti tista' [[Special:Search/{{PAGENAME}}|tfittex it-titlu ta' din il-paġna]] f'paġni oħra, jew <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} tfittex ir-reġistri relatati], jew [{{fullurl:{{FULLPAGENAME}}|action=edit}} timmodifika din il-paġna]</span>.",
 'noarticletext-nopermission' => "Bħalissa m'hemm l-ebda test f'din il-paġna. Inti tista' [[Special:Search/{{PAGENAME}}|tfittex għal dan it-titlu tal-paġna]] f'paġni oħra, jew <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} fittex ir-reġistri relatati]</span>.",
-'missing-revision' => 'Ir-reviżjoni #$1 tal-paġna bl-isem "{{PAGENAME}}" ma teżistix.
+'missing-revision' => 'Ir-reviżjoni #$1 tal-paġna bl-isem "{{FULLPAGENAME}}" ma teżistix.
 
 Dan ħafna drabi jiġri minħabba li tkun segwejt ħolqa lejn paġna mħassra, f\'kronoloġija li mhix aġġornata.
 Id-detallji tista\' ssibhom fir-[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} reġistru tat-tħassir].',
@@ -1133,8 +1132,7 @@ Bħala amministratur inti xorta waħda tista' tarah dan il-konfront; ikkonsulta
 'revdelete-no-file' => 'Il-fajl speċifikat ma jeżistix.',
 'revdelete-show-file-confirm' => 'Tinsab ċert li trid tara reviżjoni mħassra tal-fajl "<nowiki>$1</nowiki>" tal-$2 fil-$3?',
 'revdelete-show-file-submit' => 'Iva',
-'revdelete-selected' => "'''{{PLURAL:$2|Reviżjoni magħżula|Reviżjonijiet magħżula}} ta' [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Avveniment tar-reġistru magħżul|Avvenimenti tar-reġistri magħżula}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Avveniment tar-reġistru magħżul|Avvenimenti tar-reġistri magħżula}}:',
 'revdelete-confirm' => 'Jekk jogħġbok ikkonferma li dan hu dak li tixtieq tagħmel, li tifhem il-konsegwenzi, u li qed tagħmel dan skont il-[[{{MediaWiki:Policy-url}}|politika]].',
 'revdelete-suppress-text' => "It-trażżin għandu jintuża '''biss''' għall-każijiet segwenti:
 * Potenzjal ta' kontenut libelluż
index 4cd2a50..d1413a2 100644 (file)
@@ -267,7 +267,6 @@ $messages = array(
 'disclaimers' => 'Abiso de Cuntenido',
 'disclaimerpage' => 'Project:Abiso giral',
 'edithelp' => 'Ajuda de eidiçon',
-'helppage' => 'Help:Cuntenidos',
 'mainpage' => 'Páigina Percipal',
 'mainpage-description' => 'Páigina Percipal',
 'policy-url' => 'Project:Políticas',
@@ -460,7 +459,7 @@ La tue morada de IP atual ye $3 i l ID de l bloqueio ye $5. Por fabor, anclui un
 La palabra-chabe para esta nuoba cuonta puode ser demudada na páigina pa ''[[Special:ChangePassword|demudar palabra-chabe]]'' apuis de la outenticaçon.",
 'newarticle' => '(Nuoba)',
 'newarticletext' => "Tu bejiteste ua lhigaçon para ua páigina que inda nun eisiste.
-Para criar la páigina, ampeça a screbir an la caixa ambaixo (bei la [[{{MediaWiki:Helppage}}|páigina de ajuda]] pa mais detailhes).
+Para criar la páigina, ampeça a screbir an la caixa ambaixo (bei la [$1 páigina de ajuda] pa mais detailhes).
 Se stás eiqui por anganho, carrega ne l boton '''retornar''' de l tou nabegador de la Anternete.",
 'noarticletext' => 'Nun hai neste sfergante testo nesta páigina.
 Tu puodes [[Special:Search/{{PAGENAME}}|percurar pul títalo desta páigina]] noutras páiginas,
index f2d1008..cc96e05 100644 (file)
@@ -301,7 +301,6 @@ $1',
 'disclaimers' => 'သတိပြုစရာများ',
 'disclaimerpage' => 'Project: အထွေထွေ သတိပြုဖွယ်',
 'edithelp' => 'ပြင်​ဆင်​ရန် အ​ကူ​အ​ညီ​',
-'helppage' => 'Help: မာတိကာ',
 'mainpage' => 'ဗဟိုစာမျက်နှာ',
 'mainpage-description' => 'ဗ​ဟို​စာ​မျက်​နှာ​',
 'policy-url' => 'Project:မူ​ဝါ​ဒ',
@@ -512,7 +511,7 @@ $1',
 'accmailtitle' => 'စကားဝှက်ကို ပို့ပြီးပြီ',
 'newarticle' => '(အသစ်)',
 'newarticletext' => "သင်သည် မရှိသေးသော စာမျက်နှာလင့် ကို ရောက်လာခြင်းဖြစ်သည်။
-စာမျက်နှာအသစ်စတင်ရန် အောက်မှ သေတ္တာထဲတွင် စတင်ရိုက်ထည့်ပါ (နောက်ထပ် သတင်းအချက်အလက်များအတွက်[[{{MediaWiki:Helppage}}|အကူအညီ စာမျက်နှာ]]ကို ကြည့်ပါ)။
+စာမျက်နှာအသစ်စတင်ရန် အောက်မှ သေတ္တာထဲတွင် စတင်ရိုက်ထည့်ပါ (နောက်ထပ် သတင်းအချက်အလက်များအတွက်[$1 အကူအညီ စာမျက်နှာ]ကို ကြည့်ပါ)။
 မတော်တဆရောက်လာခြင်း ဖြစ်ပါက ဘရောက်ဆာ၏ နောက်ပြန်ပြန်သွားသော'''back''' ခလုတ်ကို နှိပ်ပါ။",
 'noarticletext' => 'ဤစာမျက်နှာတွင် ယခုလက်ရှိတွင် မည်သည့်စာသားမှ မရှိပါ။
 သင်သည် အခြားစာမျက်နှာများတွင် [[Special:Search/{{PAGENAME}}|ဤစာမျက်နှာ၏ ခေါင်းစဉ်ကို ရှာနိုင်သည်]]၊ <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} ဆက်စပ်ရာ Logs များကို ရှာနိုင်သည်]၊ သို့မဟုတ် [{{fullurl:{{FULLPAGENAME}}|action=edit}} ဤစာမျက်နှာကို တည်းဖြတ်နိုင်သည်]</span>။',
index 4d343ad..dfd2703 100644 (file)
@@ -428,7 +428,6 @@ $1',
 'disclaimers' => 'Видечинь кортамотне',
 'disclaimerpage' => 'Project:Видечинь прякс кортнема',
 'edithelp' => 'Витнемань-петнемань лезкс',
-'helppage' => 'Help:Лопась мезе кирди',
 'mainpage' => 'Прявтлопа',
 'mainpage-description' => 'Прявтлопа',
 'policy-url' => 'Project:Политика',
@@ -716,7 +715,7 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 Те од совамо таркас совамовалось полавтови ''[[Special:ChangePassword|совамовалонь полавтома]]'' лопас совамодо мейле.",
 'newarticle' => '(Од)',
 'newarticletext' => "Молить налтке мельга сёрмадовксос, конась апак тее.
-Ули мелеть теемс сёрмадовкс, сёрмадт валт ало паргос (вант [[{{MediaWiki:Helppage}}|help page]] тесэ лездамо информация).
+Ули мелеть теемс сёрмадовкс, сёрмадт валт ало паргос (вант [$1 help page] тесэ лездамо информация).
 Лисиндеряй тесэ ильведькс, лепштик браузерсэ '''back''' повнэнть.",
 'noarticletext' => 'Неень шкасто те лопасонть сёрмадовкс арась. Мусак [[Special:Search/{{PAGENAME}}|вешнемс  файлань те конякс]] лия сёрмадовкстнэстэ
 <span class="plainlinks">
@@ -815,7 +814,6 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'revisiondelete' => 'Нардамс/вельмевтемс лиякстомтоматнень',
 'revdelete-show-file-confirm' => 'Алкукс ули мелеть ваномс «<nowiki>$1</nowiki>» керьмазонть нардазь ревизиянзо, конась саезь $2-нть эйстэ ды ашти тесэ $3?',
 'revdelete-show-file-submit' => 'Ули',
-'revdelete-selected' => "'''[[:$1]]-нь {{PLURAL:$2|1=Кочкань лиякстомтомась|Кочкань лиякстомтоматне}}:'''",
 'revdelete-legend' => 'Аравтомс неявомачынь петне',
 'revdelete-hide-text' => 'Кекшемс лиякстомтомань текстэнть',
 'revdelete-hide-image' => 'Кекшемс мезе файлатнесэ',
index 37046bf..203cd79 100644 (file)
@@ -352,7 +352,6 @@ $2، $1',
 'disclaimers' => 'تکذیب‌نومه‌ئون',
 'disclaimerpage' => 'Project:تکذیب‌نومه',
 'edithelp' => 'دچی‌ین رانما',
-'helppage' => 'Help:راهنما',
 'mainpage' => 'گت صفحه',
 'mainpage-description' => 'گت صفحه',
 'policy-url' => 'Project:سیاستون',
@@ -620,8 +619,6 @@ $2، $1',
 
 # Revision deletion
 'rev-delundel' => 'دیار بیّن/فرو بوردن',
-'revdelete-text' => "'''نسخه‌ئون و حذف بئی موارد ره بشنه سیاهه جا و صفحه تاریخچه دله بدین، ولی اتی قسمت از وشونه محتواره بقیه کارورون نتوننه بوینن.'''
-{{SITENAME}} بقیه مدیرون بتوننه اینتا پنهون بئیه محتوا ره هارشن و وشونه حذف بئیون ره احیاء هاکنن، مگر اینکه اتی سری محدودیت ونه رو اعمال بئی باشه.",
 'revdel-restore' => 'دیاری تغییر هدائن',
 
 # History merging
index 623f20c..d515111 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-/** Nahuatl (Nāhuatl)
+/** Nāhuatl (Nāhuatl)
  *
  * See MessagesQqq.php for message documentation incl. usage of parameters
  * To improve a translation please visit http://translatewiki.net
@@ -283,7 +283,6 @@ $messages = array(
 'currentevents-url' => 'Project:Āxcāncāyōtl',
 'disclaimers' => 'Nahuatīllahtōl',
 'edithelp' => 'Tlapatlaliztechcopa tēpalēhuiliztli',
-'helppage' => 'Help:Tlapiyaliztli',
 'mainpage' => 'Achkàuhìxtlapalli',
 'mainpage-description' => 'Achkàuhìxtlapalli',
 'policy-url' => 'Project:Nahuatīltōn',
@@ -472,7 +471,7 @@ Occeppa xicalaqui niman ticmatīz.',
 'accmailtitle' => 'Tlahtōlichtacāyōtl ōmoihuah.',
 'accmailtext' => "Ōquiyōcox zāzochtacātlahtōlli in [[User talk:$1|$1]] auh ōmoquitītlan īhuīc $2. Tihueliti ticpatlaz īpan ''[[Special:ChangePassword|Ticpatlaz in ]]'' in ōticalaco achtopa.",
 'newarticle' => '(Yancuīc)',
-'newarticletext' => 'Ōtictocac cētiliztli cē zāzanilhuīc oc ahmo ia. Intlā quiēlēhuia quichīhua, xitlahcuiloa niman (nō xiquitta [[{{MediaWiki:Helppage}}|tēpalēhuiliztli zāzanilli]] huehca ōmpa tlapatlaliztli). Intlā ahmo, yāuh achtopa zāzanilli.',
+'newarticletext' => 'Ōtictocac cētiliztli cē zāzanilhuīc oc ahmo ia. Intlā quiēlēhuia quichīhua, xitlahcuiloa niman (nō xiquitta [$1 tēpalēhuiliztli zāzanilli] huehca ōmpa tlapatlaliztli). Intlā ahmo, yāuh achtopa zāzanilli.',
 'noarticletext' => 'In āxcān, ahmō onca tlahcuilōlli inīn zāzanilpan.
 Tihuelīti [[Special:Search/{{PAGENAME}}|tictēmoa inīn zāzaniltōcācopa]] occequīntīn zāzanilpan,
 <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} machiyōmacalpan], ahnozo [{{fullurl:{{FULLPAGENAME}}|action=edit}} ticpatla inīn zāzanilli]</span>.',
@@ -552,7 +551,6 @@ Hueliz ōmopolo huiqui nozo ōmozacac.
 'rev-delundel' => 'tiquittāz/tictlātīz',
 'revisiondelete' => 'Tiquimpolōz/ahtiquimpolōz tlachiyaliztli',
 'revdelete-show-file-submit' => 'Quēmah',
-'revdelete-selected' => "'''{{PLURAL:$2|Tlachiyaliztli ōmoēlēhui|Tlachiyaliztli ōmoēlēhuih}} [[:$1]] ītechcopa:'''",
 'revdelete-hide-text' => 'In tlahtlachiyaliztli ītlahcuilōl',
 'revdelete-hide-image' => 'Tictlātīz tlahcuilōlli ītlapiyaliz',
 'revdelete-radio-set' => 'Tlaīnāyalli',
index 85e0ad2..046d9d3 100644 (file)
@@ -257,7 +257,6 @@ $1',
 'disclaimers' => 'Bô-hū-chek seng-bêng',
 'disclaimerpage' => 'Project:It-poaⁿ ê seng-bêng',
 'edithelp' => 'Án-choáⁿ siu-kái',
-'helppage' => 'Help:Bo̍k-lio̍k',
 'mainpage' => 'Thâu-ia̍h',
 'mainpage-description' => 'Thâu-ia̍h',
 'policy-url' => 'Project:Chèng-chhek',
@@ -389,7 +388,7 @@ Chhiaⁿ chù-ì: ū-kóa ia̍h ū khó-lêng khoàⁿ-tio̍h bē-su lí iû-go
 'yourpassword' => 'Lí ê bi̍t-bé:',
 'userlogin-yourpassword' => 'Bi̍t-bé',
 'yourpasswordagain' => 'Têng phah bi̍t-bé:',
-'remembermypassword' => 'Kì tiâu góa ê bi̍t-bé (āu-chhiú teng-ji̍p iōng) (for a maximum of $1 {{PLURAL:$1|day|days}})',
+'remembermypassword' => 'Kì tiâu góa ê bi̍t-bé (āu-chhiú teng-ji̍p iōng) (siōng chē kì $1 {{PLURAL:$1|kang|kang}})',
 'login' => 'Teng-ji̍p',
 'nav-login-createaccount' => 'Teng-ji̍p / khui sin kháu-chō',
 'loginprompt' => 'Thiⁿ ē-kha ê chu-liāu thang khui sin hō·-thâu a̍h-sī teng-ji̍p {{SITENAME}}.',
@@ -398,7 +397,7 @@ Chhiaⁿ chù-ì: ū-kóa ia̍h ū khó-lêng khoàⁿ-tio̍h bē-su lí iû-go
 'logout' => 'Teng-chhut',
 'userlogout' => 'Teng-chhut',
 'notloggedin' => 'Bô teng-ji̍p',
-'nologin' => "Bô-thang teng-ji̍p? '''$1'''.",
+'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'''.",
@@ -417,7 +416,7 @@ Tùi khoàⁿ-māi,  lí phah--ê.',
 'nouserspecified' => 'Lí ài chí-tēng chi̍t ê iōng-chiá miâ.',
 'wrongpassword' => 'Lí su-ji̍p ê bi̍t-bé ū têng-tâⁿ. Chhiáⁿ têng chhì.',
 'wrongpasswordempty' => 'Bi̍t-bé keh-á khang-khang. Chhiáⁿ têng chhì.',
-'mailmypassword' => 'Kià sin bi̍t-bé hō· góa',
+'mailmypassword' => 'Têng siat bi̍t-bé',
 'passwordremindertitle' => '{{SITENAME}} the-chheN li e bit-be',
 'noemail' => 'Kì-lo̍k bô iōng-chiá "$1" ê e-mail chū-chí.',
 'passwordsent' => 'Ū kià sin bi̍t-bé khì "$1" chù-chheh ê e-mail chū-chí. Siu--tio̍h liáu-āu chhiáⁿ têng teng-ji̍p.',
@@ -494,7 +493,7 @@ Lîm-sî ê bi̍t-bé: $2',
 'accmailtitle' => 'Bi̍t-bé kià chhut khì ah.',
 'accmailtext' => '$1 ê bi̍t-bé í-keng kìa khì $2.',
 'newarticle' => '(Sin)',
-'newarticletext' => "Lí tòe 1 ê liân-kiat lâi kàu 1 bīn iáu-bōe chûn-chāi ê ia̍h. Beh khai-sí pian-chi̍p chit ia̍h, chhiáⁿ tī ē-kha ê bûn-jī keh-á lāi-té phah-jī. ([[{{MediaWiki:Helppage}}|Bo̍k-lio̍k]] kà lí án-choáⁿ chìn-hêng.) Ká-sú lí bô-tiuⁿ-tî lâi kàu chia, ē-sai chhi̍h liû-lám-khì ê '''téng-1-ia̍h''' tńg--khì.",
+'newarticletext' => "Lí tòe 1 ê liân-kiat lâi kàu 1 bīn iáu-bōe chûn-chāi ê ia̍h. Beh khai-sí pian-chi̍p chit ia̍h, chhiáⁿ tī ē-kha ê bûn-jī keh-á lāi-té phah-jī. ([$1 Bo̍k-lio̍k] kà lí án-choáⁿ chìn-hêng.) Ká-sú lí bô-tiuⁿ-tî lâi kàu chia, ē-sai chhi̍h liû-lám-khì ê '''téng-1-ia̍h''' tńg--khì.",
 'anontalkpagetext' => "----''Pún thó-lūn-ia̍h bô kò·-tēng ê kháu-chō/hō·-thâu, kan-na ū 1 ê IP chū-chí (chhin-chhiūⁿ 123.456.789.123). In-ūi bô kāng lâng tī bô kāng sî-chūn ū khó-lêng tú-hó kong-ke kāng-ê IP, lâu tī chia ê oē ū khó-lêng hō· bô kāng lâng ê! Beh pī-bián chit khoán būn-tê, ē-sái khì [[Special:UserLogin|khui 1 ê hō·-thâu a̍h-sī teng-ji̍p]].''",
 'noarticletext' => '這頁這馬無內容,你會使佇別頁[[Special:Search/{{PAGENAME}}|揣這頁標題]],
 <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 揣相關日誌],
@@ -525,7 +524,7 @@ Lí ê kái-piàn tī ē-kha ê bûn-jī-keh. Lí su-iàu chiōng lí chò ê k
 'yourdiff' => 'Chha-pia̍t',
 'readonlywarning' => "'''CHÙ-Ì: Chu-liāu-khò· taⁿ só tiâu leh thang pān î-siu khang-khòe, só·-í lí hiān-chú-sî bô thang pó-chûn jīn-hô phian-chi̍p hāng-bo̍k. Lí ē-sái kā siong-koan pō·-hūn tah--ji̍p-khì 1-ê bûn-jī tóng-àn pó-chûn, āu-chhiú chiah koh kè-sio̍k.'''",
 'protectedpagewarning' => "'''KÉNG-KÒ: Pún ia̍h só tiâu leh. Kan-taⁿ ū hêng-chèng te̍k-koân ê iōng-chiá (sysop) ē-sái siu-kái.'''",
-'templatesused' => 'Chit ia̍h iōng chia ê pang-bô·:',
+'templatesused' => 'Chit ia̍h iōng {{PLURAL:$1| ê pang-bô·| ê pang-bô·}} :',
 'templatesusedpreview' => 'Chit ê preview iōng chia ê pang-bô͘:',
 'templatesusedsection' => 'Chit ê section iōng chia ê pang-bô͘:',
 'template-protected' => '(pó-hō͘)',
@@ -725,7 +724,7 @@ Tī pat-lâng liân-lo̍k lí ê sî-chūn bē kā e-mail tsū-tsí siá chhut--
 'filehist-thumb' => '細張圖',
 'filehist-user' => 'Iōng-chiá',
 'imagelinks' => 'tóng-àn sù-iōng ê chōng-hòng',
-'linkstoimage' => 'Í-hā ê ia̍h liân kàu chit ê iáⁿ-siōng:',
+'linkstoimage' => 'ē-kha $1 ê ia̍h ū iōng tio̍h chit ê iáⁿ-siōng:',
 'nolinkstoimage' => 'Bô poàⁿ ia̍h liân kàu chit tiuⁿ iáⁿ-siōng.',
 
 # MIME search
@@ -764,7 +763,7 @@ Tī pat-lâng liân-lo̍k lí ê sî-chūn bē kā e-mail tsū-tsí siá chhut--
 'nbytes' => '$1 {{PLURAL:$1|jī-goân|jī-goân}}',
 'ncategories' => '$1 {{PLURAL:$1|ê lūi-pia̍t |ê lūi-pia̍t}}',
 'nlinks' => '$1 ê liân-kiat',
-'nmembers' => '$1 ê sêng-oân',
+'nmembers' => '$1{{PLURAL:$1|ê sêng-oân|ê sêng-oân}}',
 'nrevisions' => '$1 ê siu-tēng-pún',
 'lonelypages' => 'Ko·-ia̍h',
 'uncategorizedpages' => 'Bô lūi-pia̍t ê ia̍h',
@@ -846,7 +845,7 @@ Also see [[Special:WantedCategories|wanted categories]].',
 'emailsenttext' => 'Lí ê e-mail í-keng sàng chhut-khì ah.',
 
 # Watchlist
-'watchlist' => 'Kàm-sī-toaⁿ',
+'watchlist' => 'Góa ê kàm-sī-toaⁿ',
 'mywatchlist' => 'Góa ê kàm-sī-toaⁿ',
 'watchlistfor2' => '予$1 $2',
 'nowatchlist' => 'Lí ê kàm-sī-toaⁿ bô pòaⁿ hāng.',
@@ -912,7 +911,7 @@ Also see [[Special:WantedCategories|wanted categories]].',
 'blanknamespace' => '(Thâu-ia̍h)',
 
 # Contributions
-'contributions' => 'Iōng-chiá ê kòng-hiàn',
+'contributions' => '{{GENDER:$1|Iōng-chiá}} ê kòng-hiàn',
 'mycontris' => 'Góa ê kòng-hiàn',
 'nocontribs' => 'Chhōe bô tiâu-kiāⁿ ū-tùi ê hāng-bo̍k.',
 'uctop' => '(siōng téng ê)',
index d580427..886aefe 100644 (file)
@@ -252,7 +252,6 @@ $messages = array(
 'disclaimers' => 'Avvertimiènte',
 'disclaimerpage' => 'Project:Avvertimiènte generale',
 'edithelp' => 'Guida',
-'helppage' => 'Help:Ajùto',
 'mainpage' => 'Paggena prencepale',
 'mainpage-description' => 'Paggena prencepale',
 'policy-url' => 'Project:Policy',
index df09acd..d466415 100644 (file)
@@ -34,6 +34,7 @@
  * @author Nghtwlkr
  * @author Njardarlogar
  * @author Nsaa
+ * @author Pcoombe
  * @author Pladask
  * @author Purodha
  * @author Qaqqalik
@@ -566,7 +567,6 @@ $1',
 'disclaimers' => 'Forbehold',
 'disclaimerpage' => 'Project:Generelle forbehold',
 'edithelp' => 'Redigeringshjelp',
-'helppage' => 'Help:Innhold',
 'mainpage' => 'Forside',
 'mainpage-description' => 'Forside',
 'policy-url' => 'Project:Retningslinjer',
@@ -853,6 +853,8 @@ Vent $1 før du prøver på nytt.',
 'suspicious-userlogout' => 'Din forespørsel om å logge ut ble nektet fordi den så ut til å ha bli sendt av en ødelagt nettleser eller en mellomtjener.',
 'createacct-another-realname-tip' => 'Det er frivillig å oppgi ditt egentlige navn.
 Hvis du velger å oppgi det, vil det blir anvendt for å gi deg som bruker anerkjennelse',
+'pt-login' => 'Logg inn',
+'pt-createaccount' => 'Opprett konto',
 
 # Email sending
 'php-mail-error-unknown' => 'Ukjent feil i PHPs mail()-funksjon',
@@ -1031,7 +1033,7 @@ Det kan ha blitt flyttet eller slettet mens du så på siden.',
 'accmailtext' => 'Et tilfeldig passord for [[User talk:$1|$1]] har blitt sendt til $2. Det kan endres på [[Special:ChangePassword|passordendringssiden]] under innlogging.',
 'newarticle' => '(Ny)',
 'newarticletext' => "Du har fulgt en lenke til en side som ikke finnes ennå.
-For å opprette siden, begynn å skrive i boksen under (se [[{{MediaWiki:Helppage}}|hjelpesiden]] for mer informasjon).
+For å opprette siden, begynn å skrive i boksen under (se [$1 hjelpesiden] for mer informasjon).
 Om du havnet her ved en feil, trykk '''tilbake''' i nettleseren.",
 'anontalkpagetext' => "----
 ''Dette er en diskusjonsside for en uregistrert bruker som ikke har opprettet konto eller ikke er logget inn.
@@ -1044,7 +1046,7 @@ Du kan [[Special:Search/{{PAGENAME}}|søke etter denne sidetittelen]] på andre
 eller [{{fullurl:{{FULLPAGENAME}}|action=edit}} opprette siden]</span>.',
 'noarticletext-nopermission' => 'Det er for tiden ingen tekst på denne siden.
 Du kan [[Special:Search/{{PAGENAME}}|søke etter sidens tittel]] blant andre sider, eller <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} søke i relevante logger]</span>.',
-'missing-revision' => 'Revisjonen #$1 av siden med navnet "{{PAGENAME}}" eksisterer ikke.
+'missing-revision' => 'Revisjonen #$1 av siden med navnet "{{FULLPAGENAME}}" eksisterer ikke.
 
 Dette skyldes som regel at en gammel historikklenke er fulgt til en side som er slettet.
 Detaljer kan finnes i [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} sletteloggen].',
@@ -1273,8 +1275,7 @@ Du kan se denne diffen; det kan finnes detaljer i [{{fullurl:{{#Special:Log}}/su
 'revdelete-no-file' => 'Den spesifiserte filen finnes ikke.',
 'revdelete-show-file-confirm' => 'Er du sikker på at du ønsker å vise en slettet versjon av filen «<nowiki>$1</nowiki>» fra $2 kl. $3?',
 'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''{{PLURAL:$2|Valgt revisjon|Valgte revisjoner}} av [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Valgt loggoppføring|Valgte loggoppføringer}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Valgt loggoppføring|Valgte loggoppføringer}}:',
 'revdelete-confirm' => 'Bekreft at du ønsker å gjøre dette, at du forstår konsekvensene, og at du gjør det i samsvar med [[{{MediaWiki:Policy-url}}|retningslinjene]].',
 'revdelete-suppress-text' => "Skjuling bør '''kun''' brukes i følgende tilfeller:
 * Mulig injurierende utsagn
index 1c3edd8..a86718a 100644 (file)
@@ -446,7 +446,6 @@ $1",
 'disclaimers' => 'Impressum',
 'disclaimerpage' => 'Project:Impressum',
 'edithelp' => 'Bearbeidenshülp',
-'helppage' => 'Help:Hülp',
 'mainpage' => 'Hööftsiet',
 'mainpage-description' => 'Hööftsiet',
 'policy-url' => 'Project:Richtlienen',
@@ -772,7 +771,7 @@ Villicht is he verschaven oder rutnahmen worrn, wieldes du de Sied ankeken hest.
 Dat Passwoord för dit Brukerkonto kann na dat Anmellen ünner ''[[Special:ChangePassword|Passwoord ännern]]'' ännert warrn.",
 'newarticle' => '(Nee)',
 'newarticletext' => "Du büst op en Sied kamen, de dat noch nich gifft.
-Wenn du disse Sied opstellen wullt, schriev dien Text in dat Finster ünnen  (kiek op de [[{{MediaWiki:Helppage}}|Hülpsied]] för mehr Infos).
+Wenn du disse Sied opstellen wullt, schriev dien Text in dat Finster ünnen  (kiek op de [$1 Hülpsied] för mehr Infos).
 Wenn du de Sied gornich ännern wullst, denn klick op den '''Trügg'''-Knoop in dien Webkieker.",
 'anontalkpagetext' => "---- ''Dit is de Diskuschoonssiet vun en nich anmellt Bruker, de noch keen Brukerkonto anleggt hett oder dat jüst nich bruukt.
 Wi mööt hier de numerische IP-Adress verwennen, üm den Bruker to identifizeern.
@@ -959,8 +958,7 @@ As Administrater kannst du [$1 mit dissen Lenk] den Ünnerscheed ankieken.',
 'revdelete-no-file' => 'De angeven Datei gifft dat nich.',
 'revdelete-show-file-confirm' => 'Wullt du worraftig en wegsmeten Version vun de Datei „<nowiki>$1</nowiki>“ vun $2, $3 ankieken?',
 'revdelete-show-file-submit' => 'Jo',
-'revdelete-selected' => "'''{{PLURAL:$2|Wählte Version|Wählte Versionen}} vun [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Wählt Logbook-Indrag|Wählte Logbook-Indrääg}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Wählt Logbook-Indrag|Wählte Logbook-Indrääg}}:',
 'revdelete-suppress-text' => "Ünnerdrücken schull '''blot''' bi disse Fäll bruukt warrn:
 * Nich passliche persönliche Information
 *: ''Adressen, Telefonnummern, Sozialversekerungsnummern etc.''",
index 7251ab3..52e659f 100644 (file)
@@ -15,6 +15,7 @@
  * @author Kaganer
  * @author Purodha
  * @author Servien
+ * @author Sjoerddebruin
  * @author Slomox
  * @author Urhixidur
  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
@@ -571,7 +572,6 @@ $1",
 'disclaimers' => 'Veurbehold',
 'disclaimerpage' => 'Project:Veurbehoud',
 'edithelp' => 'Hulpe mit bewarken',
-'helppage' => 'Help:Inhoud',
 'mainpage' => 'Veurblad',
 'mainpage-description' => 'Veurblad',
 'policy-url' => 'Project:Beleid',
@@ -1022,7 +1022,7 @@ t Kan ween dat t herneumd is of dat t vortedaon is to jie t an t bekieken waren.
 'accmailtext' => "Der is n willekeurig wachtwoord veur [[User talk:$1|$1]] verstuurd naor $2. t Kan ewiezigd wörden op de zied ''[[Special:ChangePassword|wachtwoord wiezigen]]'' naoda'j an-emeld bin.",
 'newarticle' => '(Niej)',
 'newarticletext' => "Disse zied besteet nog niet.
-In t veld hieronder ku'j wat schrieven um disse zied an te maken (meer informasie vie'j op de [[{{MediaWiki:Helppage}}|hulpzied]]).
+In t veld hieronder ku'j wat schrieven um disse zied an te maken (meer informasie vie'j op de [$1 hulpzied]).
 A'j hier per ongelok terechtekeumen bin gebruuk dan de knoppe '''veurige''' um weerumme te gaon.",
 'anontalkpagetext' => "---- ''Disse overlegzied heurt bie n anonieme gebruker die nog gien gebrukersnaam hef, of t niet gebruukt. We gebruken daorumme t IP-adres um hum of heur te herkennen, mer t kan oek ween dat meerdere personen t zelfde IP-adres gebruken, en da'j hiermee berichten ontvangen die niet veur joe bedoeld bin. A'j dit veurkoemen willen, dan ku'j t best [[Special:UserLogin/signup|n gebrukersnaam anmaken]] of [[Special:UserLogin|anmelden]].''",
 'noarticletext' => 'Der steet noen gien tekste op disse zied.
@@ -1032,7 +1032,7 @@ of [{{fullurl:{{FULLPAGENAME}}|action=edit}} disse zied bewarken]</span>.',
 'noarticletext-nopermission' => 'Op disse zied steet gien tekste.
 Je kunnen [[Special:Search/{{PAGENAME}}|zeuken naor disse term]] in aandere ziejen of
 <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} de logboeken deurzeuken]</span>, mer je hebben gien rechten um disse zied an te maken.',
-'missing-revision' => 'De versie #$1 van de zied "{{PAGENAME}} besteet niet.
+'missing-revision' => 'De versie #$1 van de zied "{{FULLPAGENAME}} besteet niet.
 
 Dit kömp meestentieds deur t volgen van n verouwerde verwiezing naor n zied die vortedaon is.
 Waorschienlik ku\'j der meer gegevens over vienen in t [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} vortdologboek].',
@@ -1251,8 +1251,7 @@ Je kunnen disse verschillen bekieken. Misschien steet der over in t [{{fullurl:{
 'revdelete-no-file' => 't Op-egeven bestaand besteet niet.',
 'revdelete-show-file-confirm' => 'Bi\'j der wisse van da\'j de vortedaone versie van t bestaand "<nowiki>$1</nowiki>" van $2 um $3 bekieken willen?',
 'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''{{PLURAL:$2|Ekeuzen bewarking|Ekeuzen bewarkingen}} van '''[[:$1]]''':'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Ekeuzen logboekboekaksie|Ekeuzen logboekaksies}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Ekeuzen logboekboekaksie|Ekeuzen logboekaksies}}:',
 'revdelete-confirm' => "Bevestig da'j dit doon wollen, da'j de gevolgen dervan begriepen en da'j t doon in overeenstemming mit t geldende [[{{MediaWiki:Policy-url}}|beleid]].",
 'revdelete-suppress-text' => "Onderdrokken ma'j '''allinnig''' gebruken in de volgende gevallen:
 * Ongepassen persoonlike informasie
index 8a73ad0..99e017e 100644 (file)
@@ -303,7 +303,6 @@ $1',
 'disclaimers' => 'अस्विकारोक्तिहरु',
 'disclaimerpage' => 'Project:सामान्य अस्वीकारोक्ति',
 'edithelp' => 'सम्पादन सहायता',
-'helppage' => 'Help:विषयवस्तुहरू',
 'mainpage' => 'मुख्य पृष्ठ',
 'mainpage-description' => 'मुख्य पृष्ठ',
 'policy-url' => 'Project:निति',
@@ -739,7 +738,7 @@ $2
 यो नयाँ खाताको प्रवेशशब्द  ''[[Special:ChangePassword|change password]]'' मा प्रवेश गरेर परिवर्तन गर्न सकिन्छ ।",
 'newarticle' => '(नयाँ)',
 'newarticletext' => "तपाईँले अहिले सम्म नभएको पृष्ठको लिंङ्क पहिल्याउनु भएको छ।
-यो पृष्ठ निर्माण गर्न तलको कोष्ठमा टाइप गर्नुहोस्  ।(थप जानकारीको लागि [[{{MediaWiki:Helppage}}|help page]] हेर्नुहोस् )।
+यो पृष्ठ निर्माण गर्न तलको कोष्ठमा टाइप गर्नुहोस्  ।(थप जानकारीको लागि [$1 help page] हेर्नुहोस् )।
 यहाँ त्यत्तिकै आइपुग्नु भएको हो भने , ब्राउजरको  '''back''' बटन थिच्नुहोस ।",
 'anontalkpagetext' => "----''यो वार्तालाप पृष्ठ अज्ञात प्रयोगकर्ताको हो जसले अहिलेसम्म खाता बनाएकै छैन, अथवा जसले यस पृष्ठको उपयोग गर्दैन।
 यस कारण हामीले उसलाई उसको आइ पी (IP) ठेगानाले चिन्न सक्छौं। 
@@ -957,8 +956,7 @@ $2
 'revdelete-no-file' => 'खुलाइएको पृष्ठ अस्तित्वमा छैन',
 'revdelete-show-file-confirm' => 'तपाईँ $2 बाट $3 मा मेटिएको फाइल "<nowiki>$1</nowiki>" को पुनरावलोकन हेर्न चाहनुहुन्छ भन्ने कुरामा निश्चित हुनुहुन्छ ?',
 'revdelete-show-file-submit' => 'हो',
-'revdelete-selected' => "'''[[:$1]]को {{PLURAL:$2|छानिएको संस्करण|छानिएका संस्करणहरु}}  :'''",
-'logdelete-selected' => "'''{{PLURAL:$1|छानिएको लग घटना|छानिएका लग घटनाहरु}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|छानिएको लग घटना|छानिएका लग घटनाहरु}}:',
 'revdelete-legend' => 'दृष्टि बन्देज मिलाउने',
 'revdelete-hide-text' => 'पुनरावलोकन पाठ',
 'revdelete-hide-image' => 'फाइल कमेन्ट लुकाउने',
@@ -1075,7 +1073,7 @@ $1",
 'search-section' => '(खण्ड $1)',
 'search-suggest' => 'के तपाईको खोजाई : $1 हो?',
 'search-interwiki-caption' => 'भगिनी आयोजना',
-'search-interwiki-default' => '$1 नतिजाहरू:',
+'search-interwiki-default' => '$1देखिका नतिजाहरू:',
 'search-interwiki-more' => '(अझै)',
 'search-relatedarticle' => 'सम्बन्धित',
 'searcheverything-enable' => 'सबै नेमस्पेसेजहरुमा खोज्नुहोस्',
index a34ef80..df5c3d0 100644 (file)
@@ -627,7 +627,6 @@ $1',
 'disclaimers' => 'Voorbehoud',
 'disclaimerpage' => 'Project:Algemeen voorbehoud',
 'edithelp' => 'Hulp bij bewerken',
-'helppage' => 'Help:Inhoud',
 'mainpage' => 'Hoofdpagina',
 'mainpage-description' => 'Hoofdpagina',
 'policy-url' => 'Project:Beleid',
@@ -1115,9 +1114,9 @@ Wellicht is het verplaatst of verwijderd terwijl u de pagina aan het bekijken wa
 'accmailtitle' => 'Wachtwoord verzonden.',
 'accmailtext' => 'Een willekeurig gegenereerd wachtwoord voor [[User talk:$1|$1]] is verzonden naar $2. Het kan worden gewijzigd op de pagina "[[Special:ChangePassword|wachtwoord wijzigen]]" na het aanmelden.',
 'newarticle' => '(Nieuw)',
-'newarticletext' => "Deze pagina bestaat niet.
-Typ in het onderstaande veld om de pagina aan te maken (meer informatie staat op de [[{{MediaWiki:Helppage}}|hulppagina]]).
-Gebruik de knop '''vorige''' in uw browser als u hier per ongeluk terecht bent gekomen.",
+'newarticletext' => 'Deze pagina bestaat niet.
+Typ in het onderstaande veld om de pagina aan te maken (meer informatie staat op de [$1 hulppagina]).
+Gebruik de knop <strong>Terug</strong> in uw browser als u hier per ongeluk terecht bent gekomen.',
 'anontalkpagetext' => "----''Deze overlegpagina hoort bij een anonieme gebruiker die geen gebruikersnaam heeft of deze niet gebruikt.
 Daarom wordt het IP-adres ter identificatie gebruikt.
 Het is mogelijk dat meerdere personen hetzelfde IP-adres gebruiken.
@@ -1128,7 +1127,7 @@ U kunt [[Special:Search/{{PAGENAME}}|naar deze term zoeken]] in andere pagina\'s
 'noarticletext-nopermission' => 'Deze pagina bevat geen tekst.
 U kunt [[Special:Search/{{PAGENAME}}|naar deze term zoeken]] in andere pagina\'s of
 <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} de logboeken doorzoeken]</span>, maar u mag de pagina niet aanmaken.',
-'missing-revision' => 'De versie #$1 van de pagina "{{PAGENAME}} bestaat niet.
+'missing-revision' => 'De versie #$1 van de pagina "{{FULLPAGENAME}} bestaat niet.
 
 Dit wordt meestal veroorzaakt door het volgen van een verouderde koppeling naar een pagina die is verwijderd.
 Meer gegevens zijn mogelijk te vinden in het [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} verwijderingslogboek].',
@@ -1368,8 +1367,9 @@ U kunt deze verschillen bekijken. Er kunnen details te vinden zijn in het [{{ful
 'revdelete-no-file' => 'Het opgegeven bestand bestaat niet.',
 'revdelete-show-file-confirm' => 'Weet u zeker dat u de verwijderde versie van het bestand "<nowiki>$1</nowiki>" van $2 om $3 wilt bekijken?',
 'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''Geselecteerde {{PLURAL:$2|bewerking|bewerkingen}} van [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Geselecteerde logboekhandeling|Geselecteerde logboekhandelingen}}:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Geselecteerde versie|Geselecteerde versies}} van [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Geselecteerde bestandsversie|Geselecteerde bestandsversies}} van [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|Geselecteerde logboekregel|Geselecteerde logboekregels}}:',
 'revdelete-text-text' => 'Verwijderde versies zijn nog zichtbaar in de geschiedenis, maar delen van de inhoud zijn niet openbaar.',
 'revdelete-text-file' => 'Verwijderde versies zijn nog zichtbaar in de bestandsgeschiedenis, maar delen van de inhoud zijn niet openbaar.',
 'logdelete-text' => 'Verwijderde logboekregels zijn nog zichtbaar in de logboeken, maar delen van de inhoud zijn niet openbaar.',
@@ -2262,6 +2262,11 @@ Invoer: inhoudstype/subtype, bijvoorbeeld <code>image/jpeg</code>.',
 # List redirects
 'listredirects' => 'Doorverwijzingenlijst',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Lijst met bestanden met duplicaten',
+'listduplicatedfiles-summary' => 'Dit is een lijst met bestanden waarvan de laatste versie een duplicaat is van de meest recente versie van een ander bestand. Er wordt alleen gerapporteerd over lokale bestanden.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] heeft [[$3|{{PLURAL:$2|één duplicaat|$2 duplicaten}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Ongebruikte sjablonen',
 'unusedtemplatestext' => 'Deze pagina geeft alle pagina\'s weer in de naamruimte {{ns:template}} die op geen enkele pagina gebruikt worden.
@@ -2725,7 +2730,7 @@ Hier zijn de huidige instellingen voor de pagina '''$1''':",
 'protect-locked-access' => "U hebt geen rechten om het beveiligingsniveau te wijzigen.
 Dit zijn de huidige instellingen voor de pagina '''$1''':",
 'protect-cascadeon' => "Deze pagina is beveiligd, omdat die in de volgende {{PLURAL:$1|pagina|pagina's}} is opgenomen, die beveiligd {{PLURAL:$1|is|zijn}} met de cascade-optie.
-Het beveiligingsniveau wijzigen heeft geen enkel effect.",
+Wijzigingen aan beveiligingsniveau hebben geen invloed op de cascadebeveiliging.",
 'protect-default' => 'Toestaan voor alle gebruikers',
 'protect-fallback' => 'Alleen gebruikers met het recht "$1" toestaan',
 'protect-level-autoconfirmed' => 'Alleen automatisch bevestigde gebruikers toestaan',
index 8ffd6c0..9ecc40a 100644 (file)
@@ -28,6 +28,7 @@
  * @author Nghtwlkr
  * @author Njardarlogar
  * @author Olve Utne
+ * @author Pcoombe
  * @author Ranveig
  * @author Shauni
  * @author Urhixidur
@@ -567,7 +568,6 @@ $1',
 'disclaimers' => 'Atterhald',
 'disclaimerpage' => 'Project:Atterhald',
 'edithelp' => 'Endringshjelp',
-'helppage' => 'Help:Innhald',
 'mainpage' => 'Hovudside',
 'mainpage-description' => 'Hovudside',
 'policy-url' => 'Project:Retningsliner',
@@ -834,6 +834,8 @@ Du kan sjå bort frå denne meldinga dersom kontoen vart oppretta med eit uhell.
 'login-abort-generic' => 'Innlogginga er avbroten.',
 'loginlanguagelabel' => 'Språk: $1',
 'suspicious-userlogout' => 'Førespurnaden din om å logge ut vart nekta fordi han såg ut til å vere sendt av ein øydelagt nettlesar eller mellomtenar.',
+'pt-login' => 'Logg inn',
+'pt-createaccount' => 'Opprett konto',
 
 # Email sending
 'php-mail-error-unknown' => 'Ukjend feil i PHPs mail()-funksjon',
@@ -979,7 +981,7 @@ Han kan ha vorten flytta eller sletta medan du såg på sida.',
 Passordet for den nye kontoen kan verta endra på ''[[Special:ChangePassword|endra passord]]''-sida etter innlogging.",
 'newarticle' => '(Ny)',
 'newarticletext' => "Du har følgt ei lenkje til ei side som ikkje finst enno.
-For å opprette sida, kan du skrive i boksen under (sjå [[{{MediaWiki:Helppage}}|hjelpesida]] for meir informasjon).
+For å opprette sida, kan du skrive i boksen under (sjå [$1 hjelpesida] for meir informasjon).
 Hamna du her ved ein feil, klikk på '''attende'''-knappen i nettlesaren din.",
 'anontalkpagetext' => "----''Dette er ei diskusjonsside for ein anonym brukar som ikkje har oppretta konto eller ikkje har logga inn.
 Vi er difor nøydde til å bruke den numeriske IP-adressa til å identifisere brukaren. Same IP-adresse kan vere knytt til fleire brukarar. Om du er ein anonym brukar og meiner at du har fått irrelevante kommentarar på ei slik side, [[Special:UserLogin/signup|opprett ein brukarkonto]] eller [[Special:UserLogin|logg inn]] slik at vi unngår framtidige forvekslingar med andre anonyme brukarar.''",
@@ -989,7 +991,7 @@ eller [{{fullurl:{{FULLPAGENAME}}|action=edit}} endra denne sida]</span>.',
 'noarticletext-nopermission' => 'Der er nett no ikkje noko tekst på denne sida.
 Du kan [[Special:Search/{{PAGENAME}}|søkja etter sidetittelen]] i andre sider
 eller <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} søkja i dei relaterte loggane]</span>, men du har ikkje løyve til å oppretta denne sida.',
-'missing-revision' => 'Versjonen #$1 av sida med namnet «{{PAGENAME}}» finst ikkje.
+'missing-revision' => 'Versjonen #$1 av sida med namnet «{{FULLPAGENAME}}» finst ikkje.
 
 Dette skriv seg som oftast frå at ei forelda historikklenkje vart fylgd til ei side som er sletta.
 Detaljar kan ein finna i [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} sletteloggen].',
@@ -1204,8 +1206,7 @@ Du kan sjå skilnaden; detaljar finst i [{{fullurl:{{#Special:Log}}/suppcess|pag
 'revdelete-no-file' => 'Fila som vart synt til finst ikkje.',
 'revdelete-show-file-confirm' => 'Er du viss på at du ynskjer å sjå ein sletta versjon av fila "<nowiki>$1</nowiki>" frå $2 ved $3?',
 'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''{{PLURAL:$2|Vald versjon|Valde versjonar}} av [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Vald loggoppføring|Valde loggoppføringar}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Vald loggoppføring|Valde loggoppføringar}}:',
 'revdelete-confirm' => 'Stadfest at du ynskjer å gjera dette, at du skjønar konsekvensane, og at du gjer det i samsvar med [[{{MediaWiki:Policy-url}}|retningslinene]].',
 'revdelete-suppress-text' => "Løyning av sideversjonar bør '''berre''' nyttast i desse tilfella:
 * Mogeleg ærekrenkjande informasjon
@@ -1646,7 +1647,7 @@ Denne informasjonen vil vera offentleg.',
 'recentchanges-label-plusminus' => 'Storleiken til sida vart endra med så mange byte',
 'recentchanges-legend-heading' => "'''Tyding:'''",
 'recentchanges-legend-newpage' => '(sjå dessutan [[Special:NewPages|lista over nye sider]])',
-'rcnotefrom' => "Nedanfor vert opp til '''$1''' endringar sidan  ''' $2''' viste.",
+'rcnotefrom' => 'Nedanfor er endringane gjorde sidan <strong>$2</strong> viste (opp til <strong>$1</strong> stykke)',
 'rclistfrom' => 'Vis nye endringar sidan $1',
 'rcshowhideminor' => '$1 småplukk',
 'rcshowhidebots' => '$1 robotar',
index fb5c7be..3554b2e 100644 (file)
@@ -231,7 +231,6 @@ $messages = array(
 'disclaimers' => 'Hlapa-matsogo',
 'disclaimerpage' => 'Project:Hlapa-Matsogo',
 'edithelp' => 'Thušo ya go fetola',
-'helppage' => 'Help:Mateng',
 'mainpage' => 'Letlakala la Pele',
 'mainpage-description' => 'Letlakala la Pele',
 'policy-url' => 'Project:Melao',
@@ -438,7 +437,7 @@ Se, se ka hlolwa ke ge letlakala le phumulwa goba la hudušwa ge wena o sa le le
 'newarticle' => '(mpsha)',
 'newarticletext' => "O latetše hlomaganyo go letlakala leo le sego gona ka se sebaka.
 Go tlhola letlakala, thoma go ngwalo lepokising le letelago
-(lebelela [[{{MediaWiki:Helppage}}|letlakala la thušo]] go hwetša šedi).
+(lebelela [$1 letlakala la thušo] go hwetša šedi).
 Ga eba o le fa ka phošo, o ka boela morago ka go šumiša konopo ya '''back''' go ''browser'' ya gago.",
 'noarticletext' => 'Ga gona ditlhaka letlakaleng le, oka [[Special:Search/{{PAGENAME}}|fetleka leina la letlakala]] matlakaleng a mangwe, <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} fetleka "logs"], goba [{{fullurl:{{FULLPAGENAME}}|action=edit}} wa fetola letlakala le]</span>.',
 'noarticletext-nopermission' => 'Ga gona ditlhaka letlakaleng le, 
index 4108ce7..fae7c1d 100644 (file)
@@ -538,7 +538,6 @@ $1",
 'disclaimers' => 'Avertiments',
 'disclaimerpage' => 'Project:Avertiments generals',
 'edithelp' => 'Ajuda',
-'helppage' => 'Help:Acuèlh',
 'mainpage' => 'Acuèlh',
 'mainpage-description' => 'Acuèlh',
 'policy-url' => 'Project:Règlas',
@@ -733,6 +732,7 @@ Doblidetz pas de modificar [[Special:Preferences|vòstras preferéncias per {{SI
 '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}}.
 Utilizatz lo formulari çaijós per vos connectar amb un autre utilizaire.',
 'userlogin-createanother' => 'Crear un autre compte',
@@ -851,8 +851,10 @@ Esperatz $1 abans d’ensajar tornarmai.',
 'resetpass-submit-cancel' => 'Anullar',
 'resetpass-wrong-oldpass' => 'Senhal actual o temporari invalid.
 Benlèu ja avètz modificat vòstre senhal o demandat un senhal temporari novèl.',
+'resetpass-recycled' => 'Reïnicializatz vòstre senhal a quicòm mai que l’actual.',
 'resetpass-temp-password' => 'Senhal temporari :',
 'resetpass-abort-generic' => 'La modificacion del senhal es estada anulada per una extension.',
+'resetpass-expired' => 'Vòstre senhal a expirat. Provesissètz-ne un novèl per vos connectar.',
 
 # Special:PasswordReset
 'passwordreset' => 'Remesa a zèro del senhal',
@@ -894,6 +896,8 @@ Senhal temporari: $2',
 'changeemail-password' => 'Vòstre senhal sus {{SITENAME}} :',
 'changeemail-submit' => "Cambiar l'adreça electronica:",
 'changeemail-cancel' => 'Anullar',
+'changeemail-throttled' => 'Avètz fach tròp de temptativas de connexion.
+Esperatz $1 abans d’ensajar tornarmai.',
 
 # Special:ResetTokens
 'resettokens' => 'Reïnicializar los getons',
@@ -989,7 +993,7 @@ Benlèu qu'es estada desplaçada o suprimida dempuèi qu'avètz legida aquesta p
 Lo senhal per aqueste compte novèl pòt èsser cambiat sus la pagina ''[[Special:ChangePassword|Cambiament de senhal]]'' aprèp s'èsser connectat.",
 'newarticle' => '(Novèl)',
 'newarticletext' => "Avètz seguit un ligam cap a una pagina qu’existís pas encara o qu'es estada [{{fullurl:Special:Log|type=delete&page={{FULLPAGENAMEE}}}} escafada].
-Per crear aquesta pagina, picatz vòstre tèxte dins la bóstia çaijós (podètz consultar [[{{MediaWiki:Helppage}}|la pagina d’ajuda]] per mai d’entresenhas).
+Per crear aquesta pagina, picatz vòstre tèxte dins la bóstia çaijós (podètz consultar [$1 la pagina d’ajuda] per mai d’entresenhas).
 Se sètz arribat(ada) aicí per error, clicatz sul boton '''retorn''' de vòstre navigador.",
 'anontalkpagetext' => "---- ''Sètz sus la pagina de discussion d'un utilizaire anonim qu'a pas encara creat un compte o que n'utiliza pas.
 Per aquesta rason, devèm utilizar son adreça IP per l'identificar. Una adreça d'aqueste tipe pòt èsser partejada entre mantun utilizaire. Se sètz un utilizaire anonim e se constatatz que de comentaris que vos concernisson pas vos son estats adreçats, podètz [[Special:UserLogin/signup|crear un compte]] o [[Special:UserLogin|vos connectar]] per evitar tota confusion venenta amb d’autres contributors anonims.''",
@@ -1000,7 +1004,7 @@ o [{{fullurl:{{FULLPAGENAME}}|action=edit}} crear aquesta pagina]</span>.',
 'noarticletext-nopermission' => 'Actualament i a pas cap de tèxte dins aquesta pagina.
 Podètz [[Special:Search/{{PAGENAME}}|far una recèrca sul títol de la pagina]] dins las autras paginas,
 o <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} recercar dins los jornals associats]</span>.',
-'missing-revision' => "La revision n° $1 de la pagina intitulada « {{PAGENAME}} » existís pas.
+'missing-revision' => "La revision n° $1 de la pagina intitulada « {{FULLPAGENAME}} » existís pas.
 
 Aquò se produsís en general en seguent un ligam istoric obsolet cap a una pagina qu'es estada suprimida.
 Podètz trobar mai de detalhs dins lo [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} jornal de las supressions].",
@@ -1104,6 +1108,7 @@ Existís ja.',
 'editwarning-warning' => "Quitar aquesta pagina vos farà pèrdre totas las modificacions qu'avètz fachas.
 Se sètz connectat, podètz desactivar aqueste avertiment dins la seccion « {{int:prefs-editing}} » de vòstras preferéncias.",
 'editpage-notsupportedcontentformat-title' => 'Format de contengut pas pres en carga',
+'editpage-notsupportedcontentformat-text' => 'Lo format de contengut $1 es pas pres en carga pel modèl de contengut $2 .',
 
 # Content models
 'content-model-wikitext' => 'wikitèxte',
@@ -1136,6 +1141,7 @@ D'unas inclusions seràn pas efectuadas.",
 'undo-success' => "Aquesta modificacion va èsser desfacha. Confirmatz los cambiaments (visibles en bas d'aquesta pagina), puèi salvatz se sètz d’acòrdi. Mercés de motivar l’anullacion dins la bóstia de resumit.",
 'undo-failure' => 'Aquesta modificacion a pas pogut èsser desfacha a causa de conflictes amb de modificacions intermediàrias.',
 'undo-norev' => 'La modificacion a pas pogut èsser desfacha perque siá es inexistenta siá es estada suprimida.',
+'undo-nochange' => 'Sembla que la modificacion es ja estada anullada.',
 'undo-summary' => 'Anullacion de las modificacions $1 de [[Special:Contributions/$2|$2]] ([[User talk:$2|discutir]] | [[Special:Contributions/$2|{{MediaWiki:Contribslink}}]])',
 'undo-summary-username-hidden' => 'Anullar la revision $1 per un utilizaire amagat',
 
@@ -1218,8 +1224,7 @@ Podètz veire aquesta diff ; i pòt aver mai de detalhs dins lo [{{fullurl:{{#Sp
 'revdelete-no-file' => 'Lo fichièr especificat existís pas.',
 'revdelete-show-file-confirm' => 'Sètz segur(a) que volètz veire la revision suprimida del fichièr « <nowiki>$1</nowiki> » datant del $2 a $3?',
 'revdelete-show-file-submit' => 'Òc',
-'revdelete-selected' => "'''{{PLURAL:$2|Version seleccionada|Versions seleccionadas}} de [[:$1]] :'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Eveniment d'istoric seleccionat|Eveniments d'istoric seleccionats}} :'''",
+'logdelete-selected' => "{{PLURAL:$1|Eveniment d'istoric seleccionat|Eveniments d'istoric seleccionats}} :",
 'revdelete-confirm' => "Confirmatz que volètz efectuar aquesta accion, que ne comprenètz las consequéncias, e qu'o fasètz en acòrd amb [[{{MediaWiki:Policy-url}}|las règlas]].",
 'revdelete-suppress-text' => "La supression deu èsser utilizada '''sonque''' dins los cases seguents :
 * Informacions potencialament difamatòrias
@@ -1312,6 +1317,7 @@ Asseguratz-vos qu'aqueste cambiament pòsca conservar la continuitat de l'istori
 'showhideselectedversions' => 'Afichar/amagar las versions seleccionadas',
 'editundo' => 'desfar',
 'diff-empty' => '(Pas cap de diferéncia)',
+'diff-multi-sameuser' => '({{PLURAL:$1|Una revision intermediària pel meteis utilizaire pas afichada|$1 revisions intermediàrias pel meteis utilizaire pas afichadas}})',
 'diff-multi-manyusers' => '({{PLURAL:$1|Una revision intermediària amagada|$1 revisions intermediàrias amagadas}}) per ({{PLURAL:$2|un utilizaire pas afichada|$2 utilizaires pas afichadas}})',
 'difference-missing-revision' => "{{PLURAL:$2|Una revision|$2 revisions}} d'aquesta diferéncia ($1) {{PLURAL:$2|es pas estada trobada|son pas estadas trobadas}}.
 
@@ -2060,6 +2066,9 @@ Una [[Special:WhatLinksHere/$2|lista completa]] es disponibla.',
 # List redirects
 'listredirects' => 'Lista de las redireccions',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Lista de fichièrs en doble',
+
 # Unused templates
 'unusedtemplates' => 'Modèls inutilizats',
 'unusedtemplatestext' => "Aquesta pagina lista totas las paginas de l’espaci de noms {{ns:template}} que son pas enclusas dins cap d'autra pagina.
@@ -2245,6 +2254,7 @@ Podètz restrénher la vista en seleccionant un tipe de jornal, un nom d’utili
 'allpages-hide-redirects' => 'Amagar las redireccions',
 
 # SpecialCachedPage
+'cachedspecial-viewing-cached-ttl' => "Visualizatz una version d'aquesta pagina mesa en escondedor, que pòt èsser datada d’al mai $1.",
 'cachedspecial-refresh-now' => 'Veire lo mai recent.',
 
 # Special:Categories
@@ -2497,6 +2507,7 @@ Consultatz la [[Special:ProtectedPages|lista de las paginas protegidas]] per la
 'prot_1movedto2' => 'a renomenat [[$1]] en [[$2]]',
 'protect-badnamespace-title' => 'Espaci de noms pas protegible',
 'protect-badnamespace-text' => 'Las paginas dins aqueste espaci de noms pòdon pas èsser protegidas.',
+'protect-norestrictiontypes-text' => 'Aquesta pagina pòt pas èsser protegida perque i a pas de tipe de restriccion disponible.',
 'protect-norestrictiontypes-title' => 'Pagina pas protegibla',
 'protect-legend' => 'Confirmar la proteccion',
 'protectcomment' => 'Rason :',
@@ -2508,7 +2519,7 @@ Consultatz la [[Special:ProtectedPages|lista de las paginas protegidas]] per la
 'protect-locked-blocked' => "Podètz pas modificar lo nivèl de proteccion tant que sètz blocat. Vaquí los reglatges actuals de la pagina '''$1''' :",
 'protect-locked-dblock' => "Lo nivèl de proteccion pòt pas èsser modificat perque la banca de donadas es blocada. Vaquí los reglatges actuals de la pagina '''$1''' :",
 'protect-locked-access' => "Avètz pas los dreches necessaris per modificar la proteccion de la pagina. Vaquí los reglatges actuals de la pagina '''$1''' :",
-'protect-cascadeon' => "Aquesta pagina es actualament protegida perque es inclusa dins {{PLURAL:$1|la pagina seguenta|las paginas seguentas}}, {{PLURAL:$1|qu'es estada protegida|que son estadas protegidas}} amb l’opcion « proteccion en cascada » activada. Podètz cambiar lo nivèl de proteccion d'aquesta pagina sens qu'aquò afècte la proteccion en cascada.",
+'protect-cascadeon' => "Aquesta pagina es protegida perque es inclusa dins {{PLURAL:$1|la pagina seguenta qu'es estada protegida|las paginas seguentas que son estadas protegidas}}, amb l’opcion « proteccion en cascada » activada. Podètz cambiar lo nivèl de proteccion d'aquesta pagina sens qu'aquò afècte la proteccion en cascada.",
 'protect-default' => 'Autorizar totes los utilizaires',
 'protect-fallback' => 'Autorizar unicament los utilizaires amb lo drech « $1 »',
 'protect-level-autoconfirmed' => 'Autorizar unicament los utilizaires autoconfirmats',
@@ -2689,6 +2700,7 @@ Donatz çaijós un motiu precís (per exemple en citant las paginas que son esta
 'blockipsuccesssub' => 'Blocatge capitat',
 'blockipsuccesstext' => '[[Special:Contributions/$1|$1]] es esta{{GENDER:||t|(da)}} bloca{{GENDER:||t|(da)}}.<br />
 Podètz consultar la [[Special:BlockList|lista dels comptes e de las adreças IP blocats]].',
+'ipb-blockingself' => 'Sètz a mand de blocar vòstre pròpri compte ! Sètz segur{{GENDER:||a}} que volètz far aquò ?',
 'ipb-edit-dropdown' => 'Modificar los motius de blocatge per defaut',
 'ipb-unblock-addr' => 'Desblocar $1',
 'ipb-unblock' => "Desblocar un compte d'utilizaire o una adreça IP",
@@ -2756,6 +2768,7 @@ Consultatz la [[Special:BlockList|lista dels utilizaires blocats]] per veire los
 'ipb_already_blocked' => '« $1 » ja es blocat',
 'ipb-needreblock' => '$1 ja es blocat. Volètz modificar los paramètres ?',
 'ipb-otherblocks-header' => '{{PLURAL:$1|Autre blocatge|Autres blocatges}}',
+'unblock-hideuser' => 'Podètz pas desblocar aqueste utilizaire, perque son nom d’utilizaire es estat amagat.',
 'ipb_cant_unblock' => 'Error : Lo blocatge d’ID $1 existís pas. Es possible qu’un desblocatge ja siá estat efectuat.',
 'ipb_blocked_as_range' => "Error : L'adreça IP $1 es pas estada blocada dirèctament e doncas pòt pas èsser deblocada. Çaquelà, es estada blocada per la plaja $2 la quala pòt èsser deblocada.",
 'ip_range_invalid' => 'Plaja IP incorrècta.',
@@ -2962,6 +2975,7 @@ Salvatz-lo sus vòstre disc dur puèi importatz-lo aicí.",
 'import-error-invalid' => 'Pagina « $1 » es pas importada perque son nom es pas valid.',
 'import-options-wrong' => '{{PLURAL:$2|Marrida opcion|Marridas opcions}} : <nowiki>$1</nowiki>',
 'import-rootpage-invalid' => 'La pagina raiç provesida es un títol invalid.',
+'import-rootpage-nosubpage' => "L'espaci de noms « $1 » de la pagina raiç autoriza pas las sospaginas.",
 
 # Import log
 'importlogpage' => 'Istoric de las importacions de paginas',
@@ -3093,6 +3107,7 @@ Inscriviscatz '''PAS RES''' dedins !",
 
 # Info page
 'pageinfo-title' => 'Informacions per « $1 »',
+'pageinfo-not-current' => 'O planhèm, impossible de provesir aquesta informacion per las ancianas revisions.',
 'pageinfo-header-basic' => 'Informacions de basa',
 'pageinfo-header-edits' => 'Istoric de las modificacions',
 'pageinfo-header-restrictions' => 'Proteccion de la pagina',
@@ -3152,6 +3167,7 @@ Inscriviscatz '''PAS RES''' dedins !",
 'markedaspatrollederror' => 'Pòt pas èsser marcat coma pas vandalizat',
 'markedaspatrollederrortext' => 'Vos cal seleccionar una version per poder la marcar coma pas vandalizada.',
 'markedaspatrollederror-noautopatrol' => 'Avètz pas lo drech de marcar vòstras pròprias modificacions coma susvelhadas.',
+'markedaspatrollednotify' => 'Aquesta modificacion de $1 es estada marcada coma relegida.',
 'markedaspatrollederrornotify' => 'Fracàs del marcatge coma contrarotlat.',
 
 # Patrol log
@@ -3848,7 +3864,9 @@ Ensajatz la previsualizacion normala.',
 'version-ext-colheader-description' => 'Descripcion',
 'version-ext-colheader-credits' => 'Autors',
 'version-license-title' => 'Licéncia per $1',
+'version-license-not-found' => "Cap d'informacion detalhada de la licéncia es pas estada trobada per aquesta extension.",
 'version-credits-title' => 'Mercejaments per $1',
+'version-credits-not-found' => "Cap d'informacion detalhada dels mercejaments es pas estada trobada per aquesta extension.",
 'version-poweredby-credits' => "Aqueste wiki fonciona gràcias a '''[https://www.mediawiki.org/ MediaWiki]''', copyright © 2001-$1 $2.",
 'version-poweredby-others' => 'autres',
 'version-poweredby-translators' => 'traductors de translatewiki.net',
@@ -4037,6 +4055,7 @@ Ensajatz la previsualizacion normala.',
 'api-error-emptypage' => 'Creacion de paginas voidas pas autorizada.',
 'api-error-fetchfileerror' => "Error intèrna : Quicòm s'es mal passat al moment de la recuperacion del fichièr.",
 'api-error-fileexists-forbidden' => 'Un fichièr nomenat "$1" existís ja, e pòt pas èsser espotir.',
+'api-error-fileexists-shared-forbidden' => 'Un fichièr nomenat "$1" existís ja dins lo repertòri dels fichièrs partejats, e pòt pas èsser espotit.',
 'api-error-file-too-large' => "Lo fichièr qu'avètz somés èra tròp grand.",
 'api-error-filename-tooshort' => 'Lo nom del fichièr es tròp cort.',
 'api-error-filetype-banned' => 'Aqueste tipe de fichièr es interdich',
@@ -4052,6 +4071,7 @@ Ensajatz la previsualizacion normala.',
 'api-error-missingresult' => 'Error intèrna : Avèm pas pogut determinar se la còpia aviá capitat.',
 'api-error-mustbeloggedin' => 'Vos cal èsser connectat per telecargar de fichièrs.',
 'api-error-mustbeposted' => 'Error intèrna : aquesta requèsta necessita lo metòde HTTP POST.',
+'api-error-noimageinfo' => "Lo mandadís a capitat, mas lo servidor a pas donat cap d'informacions sul fichièr.",
 'api-error-nomodule' => 'Error intèrna : cap de modul de versament pas definit.',
 'api-error-ok-but-empty' => 'Error intèrna : Lo servidor a pas respondut.',
 'api-error-overwrite' => 'Espotir un fichièr existent es pas autorizat.',
index 340ec27..363029f 100644 (file)
@@ -504,7 +504,6 @@ $1',
 'disclaimers' => 'ଆମେ ଦାୟୀ ନୋହୁଁ',
 'disclaimerpage' => 'Project:ଆମେ ଦାୟୀ ନୋହୁଁ',
 'edithelp' => 'ଲେଖା ସାହାଯ୍ୟ',
-'helppage' => 'Help:ସୂଚୀ',
 'mainpage' => 'ପ୍ରଧାନ ପୃଷ୍ଠା',
 'mainpage-description' => 'ପ୍ରଧାନ ପୃଷ୍ଠା',
 'policy-url' => 'Project:ନୀତି',
@@ -942,7 +941,7 @@ $1 ଦ୍ଵାରା ପ୍ରତିରୋଧ କରାଯାଇଛି
 ଏହି ପାସୱାର୍ଡ଼ଟି ''[[Special:ChangePassword|ପାସୱାର୍ଡ଼ ବଦଳାଇବା]]'' ପୃଷ୍ଠାରେ ଲଗଇନ କରି କରାଯାଇପାରିବ ।",
 'newarticle' => '(ନୁଆ)',
 'newarticletext' => "ଆପଣ ଖୋଲିଥିବା ଲିଙ୍କଟିରେ ଏଯାଏଁ କିଛିବି ପୃଷ୍ଠା ନାହିଁ ।
-ଏହି ପୃଷ୍ଠାଟିକୁ ତିଆରି କରିବା ପାଇଁ ତଳ ବାକ୍ସରେ ଟାଇପ କରନ୍ତୁ (ଅଧିକ ଜାଣିବା ପାଇଁ [[{{MediaWiki:Helppage}}|ସାହାଯ୍ୟ ପୃଷ୍ଠା]] ଦେଖନ୍ତୁ) ।
+ଏହି ପୃଷ୍ଠାଟିକୁ ତିଆରି କରିବା ପାଇଁ ତଳ ବାକ୍ସରେ ଟାଇପ କରନ୍ତୁ (ଅଧିକ ଜାଣିବା ପାଇଁ [$1 ସାହାଯ୍ୟ ପୃଷ୍ଠା] ଦେଖନ୍ତୁ) ।
 ଯଦି ଆପଣ ଏଠାକୁ ଭୁଲରେ ଆସିଯାଇଥାନ୍ତି ତେବେ ଆପଣଙ୍କ ବ୍ରାଉଜରର '''Back''' ପତିଟି ଦବାନ୍ତୁ ।",
 'anontalkpagetext' => "----''ଏହା ଏକ ଖାତା ଖୋଲିନଥିବା ବା ଖାତା ବ୍ୟବହାର କରିନଥିବା ଜଣେ ବେନାମି ସଭ୍ୟଙ୍କର ଆଲୋଚନା ପୃଷ୍ଠା ।''
 ତେଣୁ ଆମ୍ଭେ ସଂଖ୍ୟା ଦେଇ ସୂଚୀତ IP ଠିକଣା ଦେଇ ତାଙ୍କୁ ଜାଣିବା ।
@@ -956,7 +955,7 @@ $1 ଦ୍ଵାରା ପ୍ରତିରୋଧ କରାଯାଇଛି
 ଆପଣ [[Special:Search/{{PAGENAME}}|ଏହି ଲେଖାଟିର ନାଆଁ]] ବାକି ପୃଷ୍ଠାମାନଙ୍କରେ ଖୋଜି ପାରନ୍ତି, କିମ୍ବା
 <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}}ରେ ଯୋଡ଼ାଯାଇଥିବା ବାକି ପୃଷ୍ଠାସବୁକୁ ଖୋଜି ପାରନ୍ତି]
 </span>, କିନ୍ତୁ ଏହି ପୃଷ୍ଠାଟିକୁ ଆପଣ ତିଆରି କରିପାରିବେ ନାହିଁ ।',
-'missing-revision' => '"{{PAGENAME}}" ନାମରେ ଥିବା ପୃଷ୍ଠାଟିର #$1 ପୁନରାବୃତ୍ତି ନାହିଁ ।
+'missing-revision' => '"{{FULLPAGENAME}}" ନାମରେ ଥିବା ପୃଷ୍ଠାଟିର #$1 ପୁନରାବୃତ୍ତି ନାହିଁ ।
 
 ପୁରୁଣା ହୋଇଯାଇଥିବା ଇତିହାସ ଲିଙ୍କ ଯାହା ଏକ ଲିଭାଯାଇଥିବା ପୃଷ୍ଠାକୁ ଦିଆଯାଇଥିବାରୁ ଏହା ସାଧାରଣତଃ ହୋଇଥାଏ ।
 ଅଧିକ ବିବରଣୀ [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log]ରେ ମିଳିପାରିବ ।',
@@ -1187,8 +1186,7 @@ $3ଙ୍କ ଦେଇ ଦିଆଯାଇଥିବା କାରଣ ହେଲା '
 'revdelete-no-file' => 'ଆପଣ ସୂଚିତ କରିଥିବା ଫାଇଲଟି ନାହିଁ ।',
 'revdelete-show-file-confirm' => '$2 ତାରିଖ $3 ବେଳେ "<nowiki>$1</nowiki>" ଫାଇଲର ଏକ ଲିଭାଯାଇଥିବା ସଙ୍କଳନକୁ ଦେଖିବାକୁ ଚାହାନ୍ତି ବୋଲି ଆପଣ ନିଶ୍ଚିତ କି ?',
 'revdelete-show-file-submit' => 'ହଁ',
-'revdelete-selected' => "'''[[:$1]]ର {{PLURAL:$2|ବଛା ସଙ୍କଳନ|ବଛା ସଙ୍କଳନ}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|ବଛା ଲଗ ଘଟଣା|ବଛା ଲଗ ଘଟଣାବଳୀ}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|ବଛା ଲଗ ଘଟଣା|ବଛା ଲଗ ଘଟଣାବଳୀ}}:',
 'revdelete-confirm' => 'ଦୟାକରି ଥୟ କରନ୍ତୁ ଯେ ଆପଣ ଏହା କରିବାକୁ ଚାହୁଁଛନ୍ତି, ଆପଣ ଏହାର ପରିଣାମ ଜାଣନ୍ତି ଓ ଆପଣ [[{{MediaWiki:Policy-url}}|ନୀତି]] ଅନୁସାରେ ଏହା କରୁଛନ୍ତି ।',
 'revdelete-suppress-text' => "ଦବାଇ ରଖିବା '''କେବଳ''' ଏହି ତଳଲିଖିତ କ୍ଷେତ୍ରରେ ବ୍ୟବହାର କରାଯିବ:
 * ସମ୍ଭାବିତ ଅପମାନଜଣକ ତଥ୍ୟ
index 08b9c51..6442077 100644 (file)
@@ -244,8 +244,8 @@ $messages = array(
 'friday' => 'майрæмбон',
 'saturday' => 'сабат',
 'sun' => 'Хцб',
-'mon' => 'Ð\9aÑ\80с',
-'tue' => 'Дцг',
+'mon' => 'Ð\9aÑ\8aс',
+'tue' => 'Дц',
 'wed' => 'Æрт',
 'thu' => 'Цпр',
 'fri' => 'Мрб',
@@ -418,7 +418,6 @@ $1',
 'disclaimers' => 'Бæрн',
 'disclaimerpage' => 'Project:Бæрн',
 'edithelp' => 'Ивынæн æххуыс',
-'helppage' => 'Help:Мидис',
 'mainpage' => 'Сæйраг фарс',
 'mainpage-description' => 'Сæйраг фарс',
 'policy-url' => 'Project:Фæтк',
@@ -847,7 +846,7 @@ $2
 Ацы ног аккаунты пароль гæнæн ис фæивын ''[[Special:ChangePassword|пароль ивæн варсыл]]'' бахизыны фæстæ.",
 'newarticle' => '(Ног)',
 'newarticletext' => 'Ды ныххæцыдтæ ахæм æрвитæныл, кæй фарс нырмæ нæй.
-Фарс бакæнынæн байдай фыссын дæлдæр цы къæртт ис, уым (кæс [[{{MediaWiki:Helppage}}|æххуысы фарс]] фылдæр базонынæн).',
+Фарс бакæнынæн байдай фыссын дæлдæр цы къæртт ис, уым (кæс [$1 æххуысы фарс] фылдæр базонынæн).',
 'anontalkpagetext' => "----''Ай у æнæном архайæджы ныхасы фарс. Ацы архайæг нырмæ нæ срегистраци кодта, кæнæ та йæ аккаунтæй нæ архайы.
 Уый тыххæй мах пайда кæнæм йæ IP адрисæй, цæмæй-иу æй бæрæг кæнæм.
 Ахæм IP адристæй гæнæн ис архайой цалдæр архайæджы.
@@ -858,7 +857,7 @@ $2
 кæнæ [{{fullurl:{{FULLPAGENAME}}|action=edit}} скæнын ацы фарс]</span>.',
 'noarticletext-nopermission' => 'Ацы фарсы нырмæ текст нæй.
 Дæ бон у [[Special:Search/{{PAGENAME}}|бацагурын ацы фарсы ном]] æндæр фæрсты, кæнæ <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} агурын йæ кой логты]</span>, фæлæ дын йæ саразыны бар нæй.',
-'missing-revision' => '"{{grammar:genitive|{{PAGENAME}}}}" фарсæн $1-æм фæлтæр нæй.
+'missing-revision' => '"{{grammar:genitive|{{FULLPAGENAME}}}}" фарсæн $1-æм фæлтæр нæй.
 
 Ай арæх æрцæуы, исчи хафт фарсы зæронд историйы æрвитæны фæдыл куы ацæуы.
 Фылдæр гæнæн ис базонын [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} хафыны логы].',
@@ -1183,7 +1182,7 @@ ASCII нысæнттæм чи нæ хауы, уыдон ивыны бынаты
 'recentchanges-feed-description' => 'Хъус дарын викийы фæстаг ивдтытæм ацы лæсæны уылты.',
 'recentchanges-label-newpage' => 'Ацы ивд нæуæг фарс бакодта',
 'recentchanges-label-minor' => 'Ай у чысыл ивд',
-'recentchanges-label-bot' => 'Ацы ивд бот сарызта',
+'recentchanges-label-bot' => 'Ацы ивд бот сарæзта',
 'recentchanges-label-unpatrolled' => 'Ацы ивд нырмæ нæу фидар гонд',
 'rcnotefrom' => "Бындæр сты æвдыст ивдтытæ '''$2'''-æй ('''{{grammar:genitive|$1}}''' йонг).",
 'rclistfrom' => 'Равдисын ивдтытæ амæй фæстæ: $1',
@@ -1761,6 +1760,7 @@ $3',
 
 # Special:SpecialPages
 'specialpages' => 'Сæрмагонд фæрстæ',
+'specialpages-note-top' => 'Легендæ',
 
 # External image whitelist
 'external_image_whitelist' => ' #Ныууадз ацы рæнхъ куыд у афтæ<pre>
index e0d4a64..cb90d3b 100644 (file)
@@ -436,7 +436,6 @@ $1',
 'disclaimers' => 'ਦਾਅਵੇ',
 'disclaimerpage' => 'Project:ਆਮ ਦਾਅਵੇ',
 'edithelp' => 'ਸੋਧ ਸਬੰਧੀ ਮਦਦ',
-'helppage' => 'Help:ਸਮੱਗਰੀ',
 'mainpage' => 'ਮੁੱਖ ਸਫ਼ਾ',
 'mainpage-description' => 'ਮੁੱਖ ਸਫ਼ਾ',
 'policy-url' => 'Project:ਨੀਤੀ',
@@ -845,7 +844,7 @@ sysop}}|administrator]] ਨਾਲ ਰਾਬਤਾ ਕਰ ਸਕਦੇ ਹੋ।
 ਇਸ ਨਵੇਂ ਖਾਤੇ ਲਈ ਲਾਗਇਨ ਕਰਨ ਤੋਂ ਬਾਅਦ ''[[Special:ChangePassword|ਪਾਸਵਰਡ ਬਦਲੋ]]'' ’ਤੇ ਜਾ ਕੇ ਪਾਸਵਰਡ ਬਦਲਿਆ ਜਾ ਸਕਦਾ ਹੈ।",
 'newarticle' => '(ਨਵਾਂ)',
 'newarticletext' => "ਤੁਸੀਂ ਕਿਸੇ ਅਜਿਹੇ ਸਫ਼ੇ ਦੇ ਕੜੀ ’ਤੇ ਹੋ ਜੋ ਹਾਲੇ ਬਣਾਇਆ ਨਹੀਂ ਗਿਆ।
-ਸਫ਼ਾ ਬਣਾਉਣ ਲਈ ਹੇਠ ਦਿੱਤੇ ਖਾਨੇ ਵਿਚ ਲਿਖਣਾ ਸ਼ੁਰੂ ਕਰੋ। (ਹੋਰ ਮਦਦ ਲਈ [[{{MediaWiki:Helppage}}|ਮਦਦ ਸਫ਼ਾ]] ਵੇਖੋ।)
+ਸਫ਼ਾ ਬਣਾਉਣ ਲਈ ਹੇਠ ਦਿੱਤੇ ਖਾਨੇ ਵਿਚ ਲਿਖਣਾ ਸ਼ੁਰੂ ਕਰੋ। (ਹੋਰ ਮਦਦ ਲਈ [$1 ਮਦਦ ਸਫ਼ਾ] ਵੇਖੋ।)
 ਜੇ ਤੁਸੀਂ ਗ਼ਲਤੀ ਨਾਲ ਇੱਥੇ ਆਏ ਹੋ ਤਾਂ ਆਪਣੇ ਬ੍ਰਾਊਜ਼ਰ ਦੇ '''ਪਿੱਛੇ''' ਬਟਨ ’ਤੇ ਕਲਿੱਕ ਕਰੋ।",
 'anontalkpagetext' => "----''ਇਹ ਇਕ ਗੁਮਨਾਮ ਮੈਂਬਰ ਲਈ ਇਕ ਚਰਚਾ ਸਫ਼ਾ ਹੈ ਜਿਸਨੇ ਹਾਲੇ ਖਾਤਾ ਨਹੀ ਬਣਾਇਆ ਜਾਂ ਉਸਨੂੰ ਵਰਤ ਨਹੀਂ ਰਿਹਾ।
 ਇਸ ਵਾਸਤੇ ਸਾਡੇ ਕੋਲ ਉਸਨੂੰ ਪਛਾਨਣ ਲਈ IP ਪਤਾ ਹੈ।
@@ -1020,7 +1019,6 @@ page={{FULLPAGENAMEE}}}} ਜ਼ਬਤੀ ਦੇ ਚਿੱਠੇ] ਵਿਚ ਵ
 'revdelete-no-file' => 'ਦਿੱਤੀ ਗਈ ਫਾਇਲ ਮੌਜੂਦ ਨਹੀਂ ਹੈ।',
 'revdelete-show-file-confirm' => 'ਤੁਹਾਨੂੰ ਯਕੀਨ ਹੈ ਤੁਸੀਂ $2 ਨੂੰ $3 ਦੀ ਫ਼ਾਈਲ "<nowiki>$1</nowiki>" ਦੀ ਮਿਟਾਈ ਗਈ ਰੀਵਿਜ਼ਨ ਵੇਖਣਾ ਚਾਹੁੰਦੇ ਹੋ?',
 'revdelete-show-file-submit' => 'ਹਾਂ',
-'revdelete-selected' => "'''[[:$1]] {{PLURAL:$2|ਦੀ ਚੁਣੀ ਹੋਈ ਰੀਵਿਜ਼ਨ|ਦੀਆਂ ਚੁਣੀਆਂ ਹੋਈਆਂ ਰੀਵਿਜ਼ਨਾਂ}}:'''",
 'revdelete-legend' => 'ਵੇਖਣ ਪਾਬੰਦੀਆਂ ਸੈੱਟ ਕਰੋ:',
 'revdelete-hide-text' => 'ਦੁਹਰਾਈ ਲਿਖਤ',
 'revdelete-hide-image' => 'ਫ਼ਾਈਲ ਸਮੱਗਰੀ ਓਹਲੇ',
index ff5585d..0ab6763 100644 (file)
@@ -225,7 +225,6 @@ $messages = array(
 'disclaimers' => 'Pamananggi',
 'disclaimerpage' => 'Project:Pangkabilugan a pamananggi',
 'edithelp' => 'Saup pamanalili',
-'helppage' => 'Help:Kalamnan',
 'mainpage' => 'Pun Bulung',
 'mainpage-description' => 'Pun Bulung',
 'policy-url' => 'Project:Tuntunan',
@@ -505,7 +504,7 @@ Pakisulat me at patutuan ing kekang e-mail address kapamilata'ning [[Special:Pre
 'accmailtext' => 'Ing password para keng "$1" miparala ya king $2.',
 'newarticle' => '(Bayu)',
 'newarticletext' => "Dela na ka ning suglung king bulung a e pa melalang.
-Ba meng lalangan ing bulung a iti, sumulat ka king kahun king lalam (lon me ing  [[{{MediaWiki:Helppage}}|help page]] para king karagdagang impormasiun).
+Ba meng lalangan ing bulung a iti, sumulat ka king kahun king lalam (lon me ing  [$1 help page] para king karagdagang impormasiun).
 Nung migkamali kang minta keni, i-click me mu ing '''back''' (mibalik) button ning kekang browser.",
 'anontalkpagetext' => "----''Ini ing bulung ning pamitalamitam (discussion page) para kareng gagamit a e pepakilala, e pa miglalang account, o e gagamit kaniti. Uli na nita, kaylangan ming gumamit IP address a nomiru ba yang makilala. Mapalyaring e ya mu metung ing gagamit kaniti. Nung metung kang gagamit a e pepakilala at king palage mu, mituran ka o meyatu king e dapat, pakisabi ming [[Special:UserLogin|maglalang kang account o mag-log in]] ba ra kang e pagkamalyan kareng aliwang gagamit.''",
 'noarticletext' => 'King salukuyan, alang sulat king bulung a ini.
@@ -652,8 +651,7 @@ mapaliaring maki detalle king [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPA
 'revisiondelete' => 'Ilako/e-ilako ing pamanalili',
 'revdelete-nooldid-title' => 'E ustung pamanaliling target',
 'revdelete-nooldid-text' => 'Mapaliaring ala kang binieng balak a pamanalili (target revision) ba meng daptan ing gamit (function) a iti, ala yu ing mebanggit a pamanaliling iti, o magtangka kang isalikut ya ing kasalungsungan a pamanalili.',
-'revdelete-selected' => "'''{{PLURAL:$2|Mepiling bersion|Mepiling bersion}} ning [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Mepiling miliari king tala/listaan|Mepiling miliari king tala/listaan}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Mepiling miliari king tala/listaan|Mepiling miliari king tala/listaan}}:',
 'revdelete-legend' => 'Mitakdang angganan/limitasiun kareng maliaring akit',
 'revdelete-hide-text' => 'Isalikut ya ing meyaliling kulitan',
 'revdelete-hide-image' => 'Isalikut ya ing laman ning simpan',
index 19d8430..ff3a309 100644 (file)
@@ -226,7 +226,6 @@ $messages = array(
 'disclaimers' => 'Démintis',
 'disclaimerpage' => 'Project:Déminti général',
 'edithelp' => 'Éditer el aiyude',
-'helppage' => 'Help:Étnus',
 'mainpage' => 'Moaite Pache',
 'mainpage-description' => 'Moaite Pache',
 'portal' => 'Portal del conmeunauté',
@@ -390,7 +389,7 @@ Vote adrèche IP, ale sro inrégistrée din l'historique éd chol pache.",
 'summary-preview' => 'Prévue dech résumè :',
 'newarticle' => '(nouvieu)',
 'newarticletext' => "Os avez sui un loïen vers eune pache qui n’essiste poin coère ou qu' o té [{{fullurl:Special:Log|type=delete&page={{FULLPAGENAMEE}}}} défacée].
-Pou créer chol pache, intrez vote teske din l'boéte édsou (vir [[{{MediaWiki:Helppage}}|l'pache d’aïude]] ). <br />
+Pou créer chol pache, intrez vote teske din l'boéte édsou (vir [$1 l'pache d’aïude] ). <br />
 Si vos ètes ichi par bérlure, bukez su l'bouton '''értour''' du navigateu.",
 'noarticletext' => 'Achteure i n’y o nu teske su l\'pache-lo.
 Os povez [[Special:Search/{{PAGENAME}}|foaire eune érchérche du tite del pache]] din chés eutes paches,
index f75e0f2..649a6b4 100644 (file)
@@ -228,7 +228,6 @@ $messages = array(
 'disclaimers' => 'Impressum',
 'disclaimerpage' => 'Project:Impressum',
 'edithelp' => 'Hilf zum Ennere',
-'helppage' => 'Help:Hilf',
 'mainpage' => 'Haaptblatt',
 'mainpage-description' => 'Haaptblatt',
 'portal' => 'Gmeeschafts-Portal',
index 95b2983..efb0211 100644 (file)
@@ -252,7 +252,6 @@ $1',
 'disclaimers' => 'Hafdungsausschluß',
 'disclaimerpage' => 'Project:Impressum',
 'edithelp' => 'Unaschdizung fas Beawaide',
-'helppage' => 'Help:Inhald',
 'mainpage' => 'Schdadsaid',
 'mainpage-description' => 'Schdadsaid',
 'policy-url' => 'Project:Grundsedz',
@@ -437,7 +436,7 @@ Nemmen onnare.',
 'accmailtitle' => 'Kennword gschiggd',
 'newarticle' => '(Naij)',
 'newarticletext' => "Du bischdm Lingg nochgõnge zu enna Said, wus ganedd hodd.
-Fa die Said õzleesche, konnschd do im Käschdl unne õfonge mid schraiwe (gugg [[{{MediaWiki:Helppage}}|Hilf]] fa mea Auskinfd).
+Fa die Said õzleesche, konnschd do im Käschdl unne õfonge mid schraiwe (gugg [$1 Hilf] fa mea Auskinfd).
 Wonn do nedd hoschd heakumme wolle, drigg uff Browser uff '''Zrigg'''.",
 'noarticletext' => 'Uffde Said hods noch kän Tegschd. Du konnschd uff õnnare Saide nochm [[Special:Search/{{PAGENAME}}|Oidrach gugge]], <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} Logbuchaidrach gugge, wu dezu kead],
 odda [{{fullurl:{{FULLPAGENAME}}|action=edit}} die Said beawaide]</span>.',
index 1e240c7..ae72d1a 100644 (file)
@@ -43,6 +43,7 @@
  * @author Odie2
  * @author Olgak85
  * @author Peter Bowman
+ * @author Pio387
  * @author Przemub
  * @author Reedy
  * @author Remedios44
@@ -565,7 +566,6 @@ $1',
 'disclaimers' => 'Informacje prawne',
 'disclaimerpage' => 'Project:Informacje prawne',
 'edithelp' => 'Pomoc w edycji',
-'helppage' => 'Help:Spis treści',
 'mainpage' => 'Strona główna',
 'mainpage-description' => 'Strona główna',
 'policy-url' => 'Project:Zasady',
@@ -764,6 +764,7 @@ Nie zapomnij dostosować [[Special:Preferences|preferencji]].',
 '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}}.
 Użyj poniższego formularza, aby zalogować się jako inny użytkownik.',
 'userlogin-createanother' => 'Załóż nowe konto',
@@ -896,6 +897,9 @@ Aby dokończyć logowanie, musisz ustawić nowe hasło tutaj:',
 'resetpass-abort-generic' => 'Zmiana hasła została przerwana przez rozszerzenie.',
 'resetpass-expired' => 'Twoje hasło wygasło. Proszę ustawić nowe hasło do logowania.',
 'resetpass-expired-soft' => 'Twoje hasło wygasło i musi zostać zresetowane. Proszę wybrać nowe hasło albo kliknąć na "{{int:resetpass-submit-cancel}}", aby zresetować je później.',
+'resetpass-validity-soft' => 'Twoje hasło jest niepoprawne: $1
+
+Wybierz teraz nowe hasło albo kliknij „{{int:resetpass-submit-cancel}}”, aby zresetować je później.',
 
 # Special:PasswordReset
 'passwordreset' => 'Wyczyść hasło',
@@ -1040,7 +1044,7 @@ Mogła zostać przeniesiona lub usunięta podczas przeglądania tej strony.',
 Hasło dla tego nowego konta po zalogowaniu można zmienić na stronie ''[[Special:ChangePassword|zmiana hasła]]''.",
 'newarticle' => '(Nowy)',
 'newarticletext' => "Brak strony o tym tytule.
-Jeśli chcesz ją utworzyć, wpisz treść strony w poniższym polu (więcej informacji odnajdziesz [[{{MediaWiki:Helppage}}|na stronie pomocy]]).
+Jeśli chcesz ją utworzyć, wpisz treść strony w poniższym polu (więcej informacji odnajdziesz [$1 na stronie pomocy]).
 Jeśli utworzenie nowej strony nie było Twoim zamiarem, wciśnij ''Wstecz'' w swojej przeglądarce.",
 'anontalkpagetext' => "---- ''To jest strona dyskusji anonimowego użytkownika – takiego, który nie ma jeszcze swojego konta lub nie chce go w tej chwili używać.
 By go identyfikować, używamy adresów IP.
@@ -1052,7 +1056,7 @@ Możesz [[Special:Search/{{PAGENAME}}|poszukać „{{PAGENAME}}” na innych str
 'noarticletext-nopermission' => 'Ta strona nie posiada jeszcze zawartości.
 Możesz [[Special:Search/{{PAGENAME}}|wyszukać ten tytuł]] w treści innych stron
 lub <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 "{{PAGENAME}}" nie istnieje.
+'missing-revision' => 'Wersja #$1 strony "{{FULLPAGENAME}}" nie istnieje.
 
 Zazwyczaj 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.
@@ -1274,9 +1278,9 @@ Jeśli chcesz, możesz [$1 obejrzeć porównanie wersji].",
 Szczegółowe informacje mogą znajdować się w [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} rejestrze ukrywania].
 Jeśli chcesz możesz [$1 obejrzeć porównanie wersji].",
 'rev-deleted-diff-view' => "Jedna z wersji użytych w porównaniu została '''usunięta'''.
-Jeśli chcesz możesz zobaczyć porównanie. Szczegóły mogą znajdować się w [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} rejestrze usunięć].",
+Jeśli chcesz, możesz zobaczyć porównanie. Szczegóły można znaleźć w [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} rejestrze usunięć].",
 'rev-suppressed-diff-view' => "Jedna z wersji użytych w porównaniu została '''utajniona'''.
-Jeśli chcesz możesz zobaczyć porównanie. Szczegóły mogą znajdować się w [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} rejestrze utajniania].",
+Jeśli chcesz możesz zobaczyć porównanie. Szczegóły można znaleźć w [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} rejestrze utajniania].",
 'rev-delundel' => 'pokaż/ukryj',
 'rev-showdeleted' => 'pokaż',
 'revisiondelete' => 'Usuń/odtwórz wersje',
@@ -1286,8 +1290,9 @@ wybrana wersja nie istnieje lub próbowano ukryć wersję bieżącą.',
 'revdelete-no-file' => 'Wybrany plik nie istnieje.',
 'revdelete-show-file-confirm' => 'Czy jesteś pewien, że chcesz zobaczyć usuniętą wersję pliku „<nowiki>$1</nowiki>” z $2 o $3?',
 'revdelete-show-file-submit' => 'Tak',
-'revdelete-selected' => "'''{{PLURAL:$2|Zaznaczona wersja|Zaznaczone wersje}} strony [[:$1]]:'''",
-'logdelete-selected' => "'''Zaznaczone {{PLURAL:$1|zdarzenie|zdarzenia}} z rejestru:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Wybrana wersja|Wybrane wersje}} [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Wybrana wersja pliku|Wybrane wersje pliku}} [[:$2]]:',
+'logdelete-selected' => 'Zaznaczone {{PLURAL:$1|zdarzenie|zdarzenia}} z rejestru:',
 'revdelete-text-text' => 'Usunięte wersje będą nadal widoczne w historii strony, ale niektóre fragmenty ich treści nie będą dostępne dla wszystkich.',
 'revdelete-text-file' => 'Usunięte wersje pliku będą nadal widoczne w historii pliku, ale niektóre fragmenty ich treści nie będą dostępne dla wszystkich.',
 'revdelete-confirm' => 'Potwierdź, że chcesz to zrobić zgodnie z [[{{MediaWiki:Policy-url}}|zasadami]] i że rozumiesz konsekwencje.',
@@ -1896,7 +1901,7 @@ Sprawdź historię usunięć tamtego pliku zanim prześlesz go ponownie.',
 'uploaddisabledtext' => 'Możliwość przesyłania plików została wyłączona.',
 'php-uploaddisabledtext' => 'Przesyłanie plików PHP zostało zablokowane. Sprawdź ustawienie „file_uploads”.',
 'uploadscripted' => 'Plik zawiera kod HTML lub skrypt, który może zostać błędnie zinterpretowany przez przeglądarkę internetową.',
-'uploadscriptednamespace' => "Ten plik SVG zawiera niepoprawną nazwę '$1'",
+'uploadscriptednamespace' => "Ten plik SVG zawiera niedozwoloną przestrzeń nazw '$1'",
 'uploadinvalidxml' => 'Nie udało się przeanalizować XML w załadowanym pliku.',
 'uploadvirus' => 'W pliku jest wirus! Szczegóły: $1',
 'uploadjava' => 'Ten plik zawiera deklarację klasy Java skompresowaną ZIP.
@@ -2156,6 +2161,10 @@ Użycie: typ_treści/podtyp, np. <code>image/jpeg</code>.',
 # List redirects
 'listredirects' => 'Lista przekierowań',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Lista plików mających duplikaty',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] ma [[$3|{{PLURAL:$2|jeden duplikat|$2 duplikaty|$2 duplikatów}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Nieużywane szablony',
 'unusedtemplatestext' => 'Poniżej znajduje się lista wszystkich stron znajdujących się w przestrzeni nazw {{ns:template}}, które nie są używane przez inne strony.
@@ -2270,7 +2279,7 @@ Każdy wiersz zawiera linki do pierwszego i drugiego przekierowania oraz link, d
 'deadendpagestext' => 'Poniższe strony nie posiadają odnośników do innych stron znajdujących się w {{GRAMMAR:MS.lp|{{SITENAME}}}}.',
 'protectedpages' => 'Strony zabezpieczone',
 'protectedpages-indef' => 'Tylko strony zabezpieczone na zawsze',
-'protectedpages-summary' => 'Ta strona zawiera istniejące strony które są chronione. Aby uzyskać listę tytułów których stworzenie jest zabronione, zobacz [[{{#special:ProtectedTitles}}|{{int:protectedtitles}}]].',
+'protectedpages-summary' => 'Ta strona zawiera listę stron, które są obecnie chronione. Aby uzyskać listę tytułów, których utworzenie jest zabronione, zobacz [[{{#special:ProtectedTitles}}|{{int:protectedtitles}}]].',
 'protectedpages-cascade' => 'Tylko strony zabezpieczone rekursywnie',
 'protectedpages-noredirect' => 'Ukryj przekierowania',
 'protectedpagesempty' => 'Żadna strona nie jest obecnie zabezpieczona z podanymi parametrami.',
@@ -2283,7 +2292,7 @@ Każdy wiersz zawiera linki do pierwszego i drugiego przekierowania oraz link, d
 'protectedpages-unknown-timestamp' => 'Nieznane',
 'protectedpages-unknown-performer' => 'Użytkownik nieznany',
 'protectedtitles' => 'Zabezpieczone nazwy stron',
-'protectedtitles-summary' => 'Ta strona zawiera tytuły, których tworzenie jest zabronione. Aby zobaczyć listę istniejących stron które są chronione, odwiedź tą stronę [[{{#special:ProtectedPages}}|{{int:protectedpages}}]]',
+'protectedtitles-summary' => 'Ta strona zawiera listę tytułów, których utworzenie jest obecnie zabronione. Aby zobaczyć listę istniejących stron, które są chronione, zobacz [[{{#special:ProtectedPages}}|{{int:protectedpages}}]].',
 'protectedtitlesempty' => 'Dla tych ustawień dopuszczalne jest utworzenie stron o dowolnej nazwie.',
 'listusers' => 'Lista użytkowników',
 'listusers-editsonly' => 'Pokaż tylko użytkowników z edycjami',
@@ -2606,7 +2615,7 @@ Wszystkie aktywne zabezpieczenia odnajdziesz na liście [[Special:ProtectedPages
 Obecne ustawienia dla strony '''$1''' to:",
 'protect-locked-dblock' => "Nie można zmienić poziomu zabezpieczenia z powodu działającej blokady bazy danych. Obecne ustawienia dla strony '''$1''' to:",
 'protect-locked-access' => "Nie masz uprawnień do zmiany poziomu zabezpieczenia strony. Obecne ustawienia dla strony '''$1''' to:",
-'protect-cascadeon' => 'Ta strona jest zabezpieczona przed edycją, ponieważ jest używana przez {{PLURAL:$1|następującą stronę, która została zabezpieczona|następujące strony, które zostały zabezpieczone}} z włączoną opcją dziedziczenia. Możesz zmienić stopień zabezpieczenia strony, ale nie wpłynie to na dziedziczenie zabezpieczenia.',
+'protect-cascadeon' => 'Ta strona jest zabezpieczona przed edycją, ponieważ jest używana przez {{PLURAL:$1|następującą stronę, która została zabezpieczona|następujące strony, które zostały zabezpieczone}} z włączoną opcją dziedziczenia. Zmiany stopnia zabezpieczenia tej strony nie wpłyną na dziedziczenie zabezpieczenia.',
 'protect-default' => 'Dostęp mają wszyscy użytkownicy',
 'protect-fallback' => 'Wymaga uprawnień „$1”',
 'protect-level-autoconfirmed' => 'Dozwolone tylko dla użytkowników automatycznie zatwierdzonych',
@@ -2733,7 +2742,7 @@ Poniżej znajduje się ostatni wpis w rejestrze blokowania.',
 'sp-contributions-search' => 'Szukaj wkładu',
 'sp-contributions-username' => 'Adres IP lub nazwa użytkownika',
 'sp-contributions-toponly' => 'Pokaż wyłącznie ostatnie wersje',
-'sp-contributions-newonly' => 'Pokazuj wyłącznie stworzenia stron',
+'sp-contributions-newonly' => 'Pokazuj tylko edycje tworzące nową stronę',
 'sp-contributions-submit' => 'Szukaj',
 
 # What links here
@@ -2817,7 +2826,7 @@ Przejdź do [[Special:BlockList|listy blokad]], by przejrzeć blokady.',
 'blocklist-timestamp' => 'Sygnatura czasowa',
 'blocklist-target' => 'Cel',
 'blocklist-expiry' => 'Upływa',
-'blocklist-by' => 'Zarządzanie blokowaniem',
+'blocklist-by' => 'Administrator blokujący',
 'blocklist-params' => 'Parametry blokad',
 'blocklist-reason' => 'Powód',
 'ipblocklist-submit' => 'Szukaj',
index 0d7fa7c..82a9c9b 100644 (file)
@@ -290,7 +290,6 @@ $1",
 'disclaimers' => 'Avertense',
 'disclaimerpage' => 'Project:Avertense generaj',
 'edithelp' => 'Agiut a la modìfica',
-'helppage' => 'Help:Contnù',
 'mainpage' => 'Intrada',
 'mainpage-description' => 'Intrada',
 'policy-url' => 'Project:Régole',
@@ -486,6 +485,7 @@ Che a dësmentia pa ëd cambié ij [[Special:Preferences|sò gust për {{SITENAM
 'gotaccountlink' => "Ch'a rintra ant ël sistema",
 'userlogin-resetlink' => "A l'ha dësmentià ij sò detaj për intré ant ël sistema?",
 'userlogin-resetpassword-link' => 'Ciav dësmentià?',
+'userlogin-helplink2' => 'Agiut a la conession',
 'userlogin-loggedin' => "A l'é già rintrà an ël sistema tanme {{GENDER:$1|$1}}.
 Ch'a deuvra ël formolari sì-sota për rintré coma n'àutr n'utent.",
 'userlogin-createanother' => "Creé n'àutr cont",
@@ -580,6 +580,7 @@ Për piasì, ch'a speta $1 prima ëd prové torna.",
 'createacct-another-realname-tip' => "Ël nòm ver a l'é opsional.
 S'a decid ëd butelo, a sarà dovrà për dé a l'utent ël mérit ëd sò travaj.",
 'pt-login' => 'Rintré ant ël sistema',
+'pt-login-button' => 'Intré ant ël sistema',
 'pt-createaccount' => 'Creé un cont',
 'pt-userlogout' => 'Seurte dal sistema',
 
@@ -613,6 +614,9 @@ Për finì ëd rintré ant ël sistema, a dev definì na neuva ciav ambelessì:"
 'resetpass-abort-generic' => "La modìfica ëd la ciav a l'é stàita anulà da n'estension.",
 'resetpass-expired' => "Soa ciav a l'é scadùa. Për piasì, ch'a definissa na ciav neuva për rintré ant ël sistema.",
 'resetpass-expired-soft' => "Soa ciav a l'é scadùa e a l'ha damanca d'esse arnovà. Për piasì, ch'a serna na neuva ciav adess o ch'a sgnaca su «{{int:resetpass-submit-cancel}}» për cangela pi tard.",
+'resetpass-validity-soft' => "Soa ciav a l'é nen bon-a: $1
+
+Për piasì, ch'a serna na neuva ciav adess, opura ch'a sgnaca su «{{int:resetpass-submit-cancel}}» për riampostela pi tard.",
 
 # Special:PasswordReset
 'passwordreset' => 'Ri-inissialisassion ëd la ciav',
@@ -754,7 +758,7 @@ A peul essa stàita tramudà o scancelà antramentre ch'a vëdìa la pàgina.",
 A peul esse modificà an sla pàgina ''[[Special:ChangePassword|modìfica dla ciav]]'' apress esse rintrà ant ël sistema.",
 'newarticle' => '(Neuv)',
 'newarticletext' => "A l'é andaje dapress a na liura a na pàgina che a esist ancor nen.
-Për creé la pàgina, ch'a ancamin-a a scrive ant lë spassi sì-sota (vëdde la [[{{MediaWiki:Helppage}}|pàgina d'agiut]] për savèjne ëd pì).
+Për creé la pàgina, ch'a ancamin-a a scrive ant lë spassi sì-sota (vëdde la [$1 pàgina d'agiut] për savèjne ëd pì).
 S'a l'é rivà sì për eror, ch'a sgnaca ël boton '''andaré''' ëd sò navigador.",
 'anontalkpagetext' => "----''Costa a l'é la pàgina ëd ciaciarade për n'utent anònim che a l'é ancó pa dorbusse un cont, ò pura che a lo deuvra nen. Alora i l'oma da dovré ël nùmer d'adrëssa IP për deje n'identificassion a chiel o chila.
 N'adrëssa IP përparèj a peul esse partagià da vàire utent.
@@ -765,7 +769,7 @@ o purament [{{fullurl:{{FULLPAGENAME}}|action=edit}} modìfiché sta pàgina]</s
 'noarticletext-nopermission' => "Al moment a-i é gnun test ansima a costa pàgina.
 A peul [[Special:Search/{{PAGENAME}}|sërché ës tìtol ëd pàgina]] an d'àutre pàgine,
 o <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} sërché ant j'argistr colegà]</span>, ma a l'ha pa ël përmess ëd creé costa pàgina.",
-'missing-revision' => "La revision nùmer $1 dla pàgina antitolà «{{PAGENAME}}» a esist pa.
+'missing-revision' => "La revision nùmer $1 dla pàgina antitolà «{{FULLPAGENAME}}» a esist pa.
 
 Sòn a l'é normalment causà da l'andèje dapress a na vej liura stòrica a na pàgina ch'a l'é stàita scancelà. Ij detaj a peulo esse trovà ant ël [registr ëd jë scancelament ëd {{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}}].",
 'userpage-userdoesnotexist' => "Lë stranòm «<nowiki>$1</nowiki>» a l'é pa registrà. Për piasì ch'a varda se da bon a veul creé o modifiché costa pàgina.",
@@ -995,8 +999,11 @@ Chiel a peul ancora s-ciairé costa diferensa; a peulo essje pì 'd detaj ant ë
 'revdelete-no-file' => "L'archivi sërcà a-i é pa.",
 'revdelete-show-file-confirm' => 'É-lo sigur ëd vorèj vëdde na vërsion scancelà dl\'archivi "<nowiki>$1</nowiki>" da $2 a $3?',
 'revdelete-show-file-submit' => 'Bò!',
-'revdelete-selected' => "'''{{PLURAL:$2|Revision|Revision}} selessionà për [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Event|Event}} dël registr selessionà:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Revision selessionnà}} ëd [[:$2]] :',
+'revdelete-selected-file' => "{{PLURAL:$1|Version d'archivi selessionà}} ëd [[:$2]]:",
+'logdelete-selected' => '{{PLURAL:$1|Event}} dël registr selessionà:',
+'revdelete-text-text' => 'Le revision ëscancelà a compariran ancora ant la stòria dla pàgina, ma na part ëd sò contnù a sarà inacessìbil al pùblich.',
+'revdelete-text-file' => "Le version d'archivi scancelà a compariran ancora ant la stòria dj'archivi, ma na part ëd sò contnù a sarà inacessìbil al pùblich.",
 'revdelete-confirm' => "Për piasì, ch'a confema ch'a veul fé sòn, ch'as rend cont dle conseguense, e ch'a lo fa an acòrd con [[{{MediaWiki:Policy-url}}|le régole]].",
 'revdelete-suppress-text' => "La scancelassion a dovrìa '''mach''' esse dovrà an costi cas:
 * Anformassion ch'a podrìo esse difamatòrie
@@ -2319,7 +2326,7 @@ Ch'a varda la [[Special:ProtectedPages|Lista dle pàgine protegiùe]] për la li
 Ambelessì a-i son le regolassion corente për la pàgina '''$1''':",
 'protect-locked-access' => "Sò cont a l'ha pa la qualìfica për podèj cambié ij livej ëd protession.
 Ambelessì a-i son j'ampostassion atuaj për la pàgina '''$1''':",
-'protect-cascadeon' => "Sta pàgina për adess a l'é blocà përchè a-i intra ant {{PLURAL:$1|la pàgina sì-sota, ch'a l'ha|le-pàgine sì sota, ch'a l'han}} na protession a sàut anvisca. A peul cambie-je sò livel ëd protession a sta pàgina-sì ma lòn a tochërà pa la protession a sàut.",
+'protect-cascadeon' => "Sta pàgina për adess a l'é blocà përchè a-i intra ant {{PLURAL:$1|la pàgina sì-sota, ch'a l'ha|le-pàgine sì sota, ch'a l'han}} na protession a sàut anvisca. Le modìfiche al livel ëd protession dë sta pàgina-sì a tochëran pa la protession a sàut.",
 'protect-default' => "Autorisé tùit j'utent",
 'protect-fallback' => "Përmëtt mach a j'utent con ël përmess «$1»",
 'protect-level-autoconfirmed' => "Përmëtte mach j'utent autoconfirmà",
index 6cd0239..78bd3e1 100644 (file)
@@ -250,7 +250,6 @@ $messages = array(
 'disclaimers' => 'منکرنا',
 'disclaimerpage' => 'Project:عام منکرنا',
 'edithelp' => 'لکھن وچ مدد',
-'helppage' => 'Help:لسٹ',
 'mainpage' => 'پہلا صفہ',
 'mainpage-description' => 'پہلا صفہ',
 'policy-url' => 'Project:پالیسی',
@@ -614,7 +613,7 @@ $2
 ایس نویں کھاتے دی کنجی بدلی جاسکدی  اے ''[[Special:ChangePassword|change password]]'' صفے تے لاگ ان ہون تے۔",
 'newarticle' => '(نواں)',
 'newarticletext' => 'تسی ایسے صفحے دے جوڑ توں ایتھے پہنچے او جیڑا ھلے تک نہیں بنیا۔<br />
-اس صفحہ بنانے آسطے تھلے دتے گۓ ڈبے وچ لکھنا شروع کر دیو(زیادہ رہنمائی آستے اے ویکھو [[{{MediaWiki:Helppage}}|<br />مدد دا صفحہ]])۔
+اس صفحہ بنانے آسطے تھلے دتے گۓ ڈبے وچ لکھنا شروع کر دیو(زیادہ رہنمائی آستے اے ویکھو [$1 <br />مدد دا صفحہ])۔
 اگر تسی ایتھے غلطی نال پہنچے او تے اپنے کھوجی توں "بیک" دا بٹن دبا دیو۔',
 'anontalkpagetext' => "----'' ایہ اک گمنام ورتن والے دا گل بات دا صفہ اے جینے ہلے کھاتہ نئیں کھولیا یا او اینون ورتدا نئیں۔
 سانوں فیر نمبراں والا آئی پی پتہ ورتنا پوے گا اونوں لئی. ایہو جیا آئی پی پتہ گئی ورتن والے ورت سکدے نیں۔ 
@@ -826,8 +825,7 @@ $3 نے ''$2'' وجہ دسی اے۔",
 'revdelete-no-file' => 'فائل جیہڑی کئی گئی اے ہے ای نئیں۔',
 'revdelete-show-file-confirm' => 'تساں نوں کیا پک اے جے تسیں فائل "<nowiki>$1</nowiki>" دی مٹائی ریوین  $2 توں $3 تک؟',
 'revdelete-show-file-submit' => 'ہاں',
-'revdelete-selected' => "'''{{PLURAL:$2|چنی ریوین|چنیاں ریویناں}} دی [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|چنیا لاگ واقعہ|چنے لاگ واقعے}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|چنیا لاگ واقعہ|چنے لاگ واقعے}}:',
 'revdelete-confirm' => 'اے پکا کرلو جے تسیں ایہ کرنا چاندے او، تے توانوں ایدے نتیجے دا پتہ اے، تے تسیں [[{{MediaWiki:Policy-url}}|پالیسی]] تے چل کے ک رۓ او۔',
 'revdelete-suppress-text' => "دبانا اودوں ای ٹھیک اے جدوں اے تھلے دتے کۓ مسلیاں لئی ہووے۔
 * غلط جانکاری
index 253e579..7eb6c47 100644 (file)
@@ -241,7 +241,6 @@ $messages = array(
 'disclaimers' => 'Ιμπρέσουμ',
 'disclaimerpage' => 'Project:Ιμπρέσουμ',
 'edithelp' => "Βοήθεια για τ' αλλαγμαν",
-'helppage' => 'Help:Περιεχόμενα',
 'mainpage' => 'Αρχικόν σελίδα',
 'mainpage-description' => 'Αρχικόν σελίδα',
 'policy-url' => 'Project:Πολιτική',
@@ -487,7 +486,7 @@ $messages = array(
 Το σημάδι για το καινούρεον την λογαρίαν επορείς να αλλάζεις ασα την σελίδαν ''[[Special:ChangePassword|άλλαξον λογαρίαν]]'' με τ' έμπαζμανεσουν.",
 'newarticle' => '(Καινούρεον)',
 'newarticletext' => "Έρθατεν ασ' έναν σύνδεσμον σ' έναν εύκαιρον σελίδαν.
-Για να εφτάτε τη σελίδαν, αρχινέστε γράψιμον σο χουτίν αφκά (δεαβάστεν τη [[{{MediaWiki:Helppage}}|σελίδαν βοήθειας]] και μαθέστεν κιάλλα).
+Για να εφτάτε τη σελίδαν, αρχινέστε γράψιμον σο χουτίν αφκά (δεαβάστεν τη [$1 σελίδαν βοήθειας] και μαθέστεν κιάλλα).
 Εάν 'κ θέλετε ν' εφτάτε αβούτεν τη σελίδαν, πατήστε το κουμπίν το λεει '''οπίς''' και δεβάτεν οπίς απ' όθεν έρθατεν.",
 'noarticletext' => "Αβούτεν η σελίδαν 'κ εχ' κείμενον απές ακόμαν.
 [[Special:Search/{{PAGENAME}}|Εύρον αβούτον τον τίτλον]] σ' αλλέα τοι σελίδας,
index 4a210e5..887a99c 100644 (file)
@@ -227,7 +227,6 @@ Pāusai en kategōrijai "$1"',
 'disclaimers' => 'Etrāwingiskwas arāikinsenei',
 'disclaimerpage' => 'Project:Etrāwingiskwas arāikinsenei',
 'edithelp' => 'Redigīsnas pagalba',
-'helppage' => 'Help:Ēnturs',
 'mainpage' => 'Galwas pāusan',
 'mainpage-description' => 'Galwas pāusan',
 'policy-url' => 'Project:Pōlitiki',
@@ -525,7 +524,7 @@ Padāis e-mail adressi be padrūktinais din en swajāmans [[Special:Preferences|
 'accmailtitle' => 'Kliptaswīrds tengīntan.',
 'newarticle' => '(Nāuns)',
 'newarticletext' => 'Tu assei autengīntan pra autengīnsenin en dabber niekzistīntin pāusan.
-Kāi teīklai šin pāusan, pagaūneis enpeisātun en zemmaišasmu lāukan (wīdais [[{{MediaWiki:Helppage}}|help page]] per tūls infōrmaciōnis).
+Kāi teīklai šin pāusan, pagaūneis enpeisātun en zemmaišasmu lāukan (wīdais [$1 help page] per tūls infōrmaciōnis).
 Ik tū ni kwaitīwuns(si) teīktun nāunan pāusan, gnetteis "Etwārtai" knuppan en twajjai lasātlin.',
 'anontalkpagetext' => "----''Sta ast anōnimas tērpautajas diskusiōnis pāusan - stawīdan, kawīds ni turri dabber swajjan rekkenan anga ni tērpaui din.
 Kāi identificīlai tennan, tērpawimai IP adressins.
@@ -679,8 +678,7 @@ Bandais [[Special:Search|laukītun]] sirzdau nāunans pāusans en wiki',
 'revdelete-nooldid-text' => 'Ni etrīnkā di wersiōnins, na kawīdans šis dīlasenis turīlai būtwei izpilnintan, etrīnkta wersiōni ni ekzistijja, anga bandāi di kliptintun bigāntin wersiōnin.',
 'revdelete-no-file' => 'Etrīnkts zūrbrukis ni ekzistijja.',
 'revdelete-show-file-submit' => 'Jā',
-'revdelete-selected' => "{{PLURAL:$2|Pazentlitā pāusas [[:$1]] wersiōni|Pazentlitas pāusas [[:$1]] wersiōnis}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Pazentlits registeres audāsenis|Pazentlitai redigisenes audāsenei}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Pazentlits registeres audāsenis|Pazentlitai redigisenes audāsenei}}:',
 'revdelete-suppress-text' => 'Klipsnan prawerru tērpautun tēr prei:
 * Persōniskas dātas etkesnā
 *: "buttiska adressi, telapōnas nummeri, sociāla nummeri be t.t."',
index bf98839..26062c1 100644 (file)
@@ -405,7 +405,6 @@ $1',
 'disclaimers' => 'ردادعاليکونه',
 'disclaimerpage' => 'Project:ټولگړی ردادعاليک',
 'edithelp' => 'د لارښود سمون',
-'helppage' => 'Help:نيوليک',
 'mainpage' => 'لومړی مخ',
 'mainpage-description' => 'لومړی مخ',
 'policy-url' => 'Project:تگلاره',
@@ -581,8 +580,10 @@ $1',
 'gotaccountlink' => 'ننوتل',
 'userlogin-resetlink' => 'د ننوتلو مالومات مو هېر شوي؟',
 'userlogin-resetpassword-link' => 'پټنوم مو هېر شوی؟',
+'userlogin-helplink2' => 'په ننوتلو کې مرسته',
 'userlogin-createanother' => 'بل گڼون جوړول',
 'createacct-join' => 'خپل مالومات مو لاندې ورکړئ.',
+'createacct-another-join' => 'د نوي گڼون مالومات مو لاندې ورکړئ.',
 'createacct-emailrequired' => 'برېښليک پته',
 'createacct-emailoptional' => 'برېښليک پته (اختياري)',
 'createacct-email-ph' => 'برېښليک پته مو وټاپۍ',
@@ -666,7 +667,10 @@ $1',
 لطفاً د بيا هڅې نه مخکې $1 شېبې تم شۍ.',
 'login-abort-generic' => 'غونډال کې مو ننوتل نابريالی شو - ناڅاپي بند شو',
 'loginlanguagelabel' => 'ژبه: $1',
+'pt-login' => 'ننوتل',
 'pt-login-button' => 'ننوتل',
+'pt-createaccount' => 'گڼون جوړول',
+'pt-userlogout' => 'وتل',
 
 # Email sending
 'user-mail-no-addy' => 'د يوې برېښليک پتې پرته د برېښليک لېږلو هڅه شوې.',
@@ -784,7 +788,7 @@ $1',
 'accmailtitle' => 'پټنوم ولېږل شو.',
 'newarticle' => '(نوی)',
 'newarticletext' => "تاسې د يوې داسې تړنې څارنه کړې چې لا تر اوسه پورې نه شته.
-که همدا مخ ليکل غواړۍ، نو په لانديني چوکاټ کې خپل متن وټاپۍ (د لا نورو مالوماتو لپاره د [[{{MediaWiki:Helppage}}|لارښود مخ]] وگورۍ).
+که همدا مخ ليکل غواړۍ، نو په لانديني چوکاټ کې خپل متن وټاپۍ (د لا نورو مالوماتو لپاره د [$1 لارښود مخ] وگورۍ).
 که چېرته تاسې دلته په تېروتنه راغلي ياست، نو يواځې د خپل د کتنمل '''مخ پر شا''' تڼۍ مو وټوکۍ.",
 'anontalkpagetext' => "----''دا د يوه ورکنومي کارن چې کارن-نوم نه لري او يا خپل کارن-نوم نه کاروي، د سکالو يوه پاڼه ده. نو د يوه کس د پېژندلو پخاطر موږ د هماغه کارن د انټرنېټ شمېره يا IP پته دلته ثبتوؤ. داسې يوه IP پته د ډېرو کارنانو لخوا هم کارېدلی شي. که تاسې يو ورکنومی کارن ياست او تاسې ته دا څرگندېږي چې تاسې ته نااړونده پېغامونه او تبصرې اشاره شوي، نو د نورو بې نومو کارنانو او ستاسې ترمېنځ د ټکنتوب د مخ نيونې لپاره لطفاً [[Special:UserLogin/signup|يو گڼون جوړ کړۍ]] او يا هم [[Special:UserLogin|غونډال ته ورننوځۍ]].''",
 'noarticletext' => 'دم مهال په دې مخ کې څه نشته.
@@ -925,7 +929,6 @@ $1',
 'revisiondelete' => 'د ړنگولو/ناړنگولو مخکتنې',
 'revdelete-no-file' => 'ځانگړې شوې دوتنه نشته.',
 'revdelete-show-file-submit' => 'هو',
-'revdelete-selected' => "'''د [[:$1]] {{PLURAL:$2|ټاکلې بڼه|ټاکلې بڼې}}:'''",
 'revdelete-legend' => 'د ښکارېدنې محدوديتونه ټاکل',
 'revdelete-hide-text' => 'د مخکتنې متن',
 'revdelete-hide-image' => 'د دوتنې مېنځپانگه پټول',
@@ -1128,7 +1131,7 @@ $1',
 'userrights-lookup-user' => 'کارن ډلې سمبالول',
 'userrights-user-editname' => 'يو کارن نوم ورکړئ:',
 'editusergroup' => 'کارن ډلې سمول',
-'editinguser' => "د '''[[کارن:$1|$1]]''' کارن رښتې بدلول $2",
+'editinguser' => 'د <strong>[[User:$1|$1]]</strong> کارن رښتې بدلول $2',
 'userrights-editusergroup' => 'کارن ډلې سمول',
 'saveusergroups' => 'کارن ډلې خوندي کول',
 'userrights-groupsmember' => 'غړی د:',
@@ -1234,6 +1237,9 @@ $1',
 'action-userrights-interwiki' => 'په نورو ويکي گانو د کارنانو رښتې سمول',
 'action-siteadmin' => 'توکبنسټ کولپول يا نه کولپول',
 'action-sendemail' => 'برېښليکونه لېږل',
+'action-editmywatchlist' => 'خپل کتنلړ سمول',
+'action-viewmywatchlist' => 'خپل کتنلړ کتل',
+'action-viewmyprivateinfo' => 'خپل شخصي مالومات کتل',
 'action-editmyprivateinfo' => 'خپل شخصي مالومات سمول',
 
 # Recent changes
@@ -1249,15 +1255,28 @@ $1',
 'recentchanges-label-bot' => 'دا سمون يو روباټ ترسره کړی',
 'recentchanges-label-unpatrolled' => 'دغه سمون تر اوسه پورې نه دی څارل شوی',
 'recentchanges-label-plusminus' => 'د بايټونو د شمېر له مخې د مخ د بدلون کچه',
+'recentchanges-legend-heading' => "'''لنډونونه:'''",
 'recentchanges-legend-newpage' => '([[Special:NewPages|د نويو مخونو لړليک]] هم وگورئ)',
 'rcnotefrom' => 'دلته لاندې د <strong>$2</strong> څخه راپدېخوا پېښ شوي بدلونونه راغلي (تر <strong>$1</strong> پورې ښکاري).',
 'rclistfrom' => 'هغه نوي بدلونونه ښکاره کول چې له $1 نه پيلېږي',
 'rcshowhideminor' => 'وړې سمونې $1',
+'rcshowhideminor-show' => 'ښکاره کول',
+'rcshowhideminor-hide' => 'پټول',
 'rcshowhidebots' => 'روباټ $1',
+'rcshowhidebots-show' => 'ښکاره کول',
+'rcshowhidebots-hide' => 'پټول',
 'rcshowhideliu' => 'ثبت شوي کارنان $1',
+'rcshowhideliu-show' => 'ښکاره کول',
+'rcshowhideliu-hide' => 'پټول',
 'rcshowhideanons' => 'بې نومه کارنان $1',
+'rcshowhideanons-show' => 'ښکاره کول',
+'rcshowhideanons-hide' => 'پټول',
 'rcshowhidepatr' => '$1 څارلې سمونې',
+'rcshowhidepatr-show' => 'ښکاره کول',
+'rcshowhidepatr-hide' => 'پټول',
 'rcshowhidemine' => 'زما سمونې $1',
+'rcshowhidemine-show' => 'ښکاره کول',
+'rcshowhidemine-hide' => 'پټول',
 'rclinks' => 'هغه وروستي $1 بدلونونه ښکاره کړی چې په $2 ورځو کې پېښ شوي<br />$3',
 'diff' => 'توپير',
 'hist' => 'پېښليک',
@@ -1557,6 +1576,11 @@ $1',
 'protectedpages' => 'ژغورلي مخونه',
 'protectedpages-indef' => 'يوازې بې پايه ژغورنې',
 'protectedpages-cascade' => 'يوازې ځوړاوبيزې ژغورنې',
+'protectedpages-timestamp' => 'وخت ټاپه',
+'protectedpages-page' => 'مخ',
+'protectedpages-expiry' => 'پای نېټه',
+'protectedpages-reason' => 'سبب',
+'protectedpages-unknown-timestamp' => 'ناجوت',
 'protectedtitles' => 'ژغورلي سرليکونه',
 'listusers' => 'کارن لړليک',
 'listusers-editsonly' => 'يوازې هغه کارنان چې سمونونه يې کړي ښکاره کول',
@@ -1790,9 +1814,11 @@ $UNWATCHURL  نه ليدنه وکړۍ
 'deleteotherreason' => 'بل/اضافه سبب:',
 'deletereasonotherlist' => 'بل سبب',
 'deletereason-dropdown' => '*د ړنگولو ټولگړی سبب
-** د ليکوال غوښتنه
+** چټيات
+** د پوهې سره دښمني
 ** د رښتو تېری
-** د پوهې سره دښمني',
+** د ليکوال غوښتنه
+** ناسمه مخ گرځېدنه',
 'delete-edit-reasonlist' => 'د ړنگولو سببونه سمول',
 
 # Rollback
@@ -2097,6 +2123,7 @@ $UNWATCHURL  نه ليدنه وکړۍ
 'allmessages-prefix' => 'د مختاړي پر بنسټ اړونده چاڼگر:',
 'allmessages-language' => 'ژبه:',
 'allmessages-filter-submit' => 'ورځه',
+'allmessages-filter-translate' => 'ژباړل',
 
 # Thumbnails
 'thumbnail-more' => 'لويول',
@@ -2654,9 +2681,15 @@ $5
 'version-hooks' => 'کونډۍ',
 'version-hook-name' => 'کونډۍ نوم',
 'version-version' => '(بڼه $1)',
-'version-license' => 'منښتليک',
+'version-license' => 'مېډياويکي منښتليک',
+'version-ext-license' => 'منښتليک',
+'version-ext-colheader-license' => 'منښتليک',
+'version-ext-colheader-description' => 'څرگندونه',
+'version-ext-colheader-credits' => 'ليکوالان',
+'version-license-title' => 'د $1 منښتليک',
 'version-poweredby-credits' => "دا ويکي د '''[https://www.mediawiki.org/ مېډياويکي]''' په سېک چلېږي، ټولې رښتې خوندي دي © 2001-$1 $2.",
 'version-poweredby-others' => 'نور',
+'version-poweredby-translators' => 'د translatewiki.net ژباړنان',
 'version-license-info' => 'مېډياويکي يو وړيا ساوتری دی؛ تاسې يې په ډاډه زړه د GNU د ټولگړو کارېدنو د منښتليک چې د وړيا ساوتريو د بنسټ له مخې خپور شوی، خپرولی او/يا بدلولی شی؛ د منښتليک ۲ بڼه او يا (ستاسې د خوښې) هر يوه وروستۍ بڼه.
 
 مېډياويکي د ښه کارېدنې په نيت خپور شوی، خو د ضمني سوداگريز او يا د کوم ځانگړي کار د ضمانت نه پرته. د نورو مالوماتو لپاره د GNU د ټولگړو کارېدنو منښتليک وگورۍ.
@@ -2665,6 +2698,7 @@ $5
 'version-software' => 'نصب شوی ساوتری',
 'version-software-product' => 'اېبره',
 'version-software-version' => 'بڼه',
+'version-entrypoints-header-url' => 'يو آر اېل',
 
 # Special:Redirect
 'redirect-submit' => 'ورځه',
index 89f190e..dc00b35 100644 (file)
@@ -571,7 +571,6 @@ $1',
 'disclaimers' => 'Exoneração de responsabilidade',
 'disclaimerpage' => 'Project:Aviso_geral',
 'edithelp' => 'Ajuda de edição',
-'helppage' => 'Help:Conteúdos',
 'mainpage' => 'Página principal',
 'mainpage-description' => 'Página principal',
 'policy-url' => 'Project:Políticas',
@@ -769,6 +768,7 @@ Não se esqueça de personalizar as suas [[Special:Preferences|preferências]].'
 'gotaccountlink' => 'Autentique-se',
 'userlogin-resetlink' => 'Esqueceu-se do seu nome de utilizador ou da palavra-chave?',
 'userlogin-resetpassword-link' => 'Esqueceu a sua palavra-chave?',
+'userlogin-helplink2' => 'Ajuda na autenticação',
 'userlogin-loggedin' => 'Já está {{GENDER:$1|autenticado|autenticada|autenticado}} com o nome $1.
 Use o formulário abaixo para iniciar uma sessão com outro nome.',
 'userlogin-createanother' => 'Criar outra conta',
@@ -899,6 +899,9 @@ Para completar a autenticação, tem de definir uma palavra-chave nova aqui:',
 'resetpass-abort-generic' => 'A alteração da palavra-chave foi cancelada por uma extensão.',
 'resetpass-expired' => 'A sua palavra-chave expirou. Para autenticar-se, defina uma nova.',
 'resetpass-expired-soft' => 'A sua palavra-chave expirou e tem de ser redefinida. Escolha uma nova agora ou clique "{{int:resetpass-submit-cancel}}" para redefini-la mais tarde.',
+'resetpass-validity-soft' => 'Sua palavra-chave não é válida: $1
+
+Por favor, escolha uma nova palavra-chave agora, ou clique em "{{int:resetpass-submit-cancel}}" para redefini-la mais tarde.',
 
 # Special:PasswordReset
 'passwordreset' => 'Redefinir palavra-chave',
@@ -1043,7 +1046,7 @@ Ela pode ter sido movida ou removida enquanto estava a ver a página.',
 Ela pode ser alterada na página [[Special:ChangePassword|de alteração da palavra-chave]] após autenticação.',
 'newarticle' => '(Nova)',
 'newarticletext' => "Seguiu um link para uma página que ainda não existe.
-Para criá-la, escreva o seu conteúdo na caixa abaixo (consulte a [[{{MediaWiki:Helppage}}|página de ajuda]] para mais detalhes).
+Para criá-la, escreva o seu conteúdo na caixa abaixo (consulte a [$1 página de ajuda] para mais detalhes).
 Se chegou aqui por engano, clique o botão '''voltar''' (ou ''back'') do seu browser.",
 'anontalkpagetext' => "----''Esta é a página de discussão de um utilizador anónimo que ainda não criou uma conta ou não a utiliza, pelo que temos de utilizar o endereço IP para identificá-lo(a).
 Um endereço IP pode ser partilhado por vários utilizadores.
@@ -1054,7 +1057,7 @@ Pode [[Special:Search/{{PAGENAME}}|pesquisar o título desta página]] noutras p
 ou [{{fullurl:{{FULLPAGENAME}}|action=edit}} editar esta página]</span>.',
 'noarticletext-nopermission' => 'Ainda não existe texto nesta página.
 Pode [[Special:Search/{{PAGENAME}}|pesquisar o título desta página]] noutras páginas, ou <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} procurar nos registos relacionados]</span>, mas não tem permissão para criar esta página.',
-'missing-revision' => 'A revisão #$1 da página denominada "{{PAGENAME}}" não existe.
+'missing-revision' => 'A revisão #$1 da página denominada "{{FULLPAGENAME}}" não existe.
 
 Isto é geralmente causado por seguir um link de histórico desatualizado para uma página que foi eliminada.
 Os detalhes podem ser encontrados no [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registo de eliminação].',
@@ -1295,10 +1298,10 @@ Pode ver a diferença entre revisões; encontrará detalhes no [{{fullurl:{{#Spe
 'revdelete-no-file' => 'O ficheiro especificado não existe.',
 'revdelete-show-file-confirm' => 'Tem a certeza de que quer ver uma revisão eliminada do ficheiro "<nowiki>$1</nowiki>" de $2 às $3?',
 'revdelete-show-file-submit' => 'Sim',
-'revdelete-selected' => "'''{{PLURAL:$2|Edição selecionada|Edições selecionadas}} de [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Evento do registo selecionado|Eventos do registo selecionados}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Evento do registo selecionado|Eventos do registo selecionados}}:',
 'revdelete-text-text' => 'Revisões eliminadas ainda aparecerão no histórico da página, mas parte do seu conteúdo estará inacessível para o público.',
 'revdelete-text-file' => 'Versões eliminadas do ficheiro ainda aparecerão no histórico da página, mas parte do seu conteúdo estará inacessível para o público.',
+'logdelete-text' => 'Os eventos eliminados ainda aparecerão no histórico da página, mas pare de seu conteúdo será inacessível ao público.',
 'revdelete-text-others' => 'Outros administradores em {{SITENAME}} podem aceder ao conteúdo oculto e torná-lo visível novamente através desta mesma interface, a menos que sejam definidas restrições adicionais.',
 'revdelete-confirm' => 'Por favor confirme que pretende executar esta operação, que compreende as suas consequências e que o faz em concordância com as [[{{MediaWiki:Policy-url}}|políticas e recomendações]].',
 'revdelete-suppress-text' => "A supressão '''só''' deverá ser usada nos seguintes casos:
@@ -2174,6 +2177,11 @@ Talvez queira editar a descrição na [$2 página original de descrição do fic
 # List redirects
 'listredirects' => 'Lista de redirecionamentos',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Lista de ficheiros com duplicatas',
+'listduplicatedfiles-summary' => 'Esta é uma lista de ficheiros cuja suas versões mais recentes são duplicatas da versão mais recente de outros ficheiros. Somente os ficheiros locais são considerados.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] possui [[$3|{{PLURAL:$2|uma duplicata|$2 duplicatas}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Predefinições não utilizadas',
 'unusedtemplatestext' => 'Esta página lista todas as páginas no espaço nominal {{ns:template}} que não são incluídas em nenhuma outra página. Lembre-se de verificar a existência de outros links para as predefinições, antes de eliminá-las.',
@@ -2288,7 +2296,7 @@ Agora redirecciona para [[$2]].',
 'deadendpagestext' => 'As seguintes páginas não contêm links para outras páginas na {{SITENAME}}.',
 'protectedpages' => 'Páginas protegidas',
 'protectedpages-indef' => 'Apenas proteções indefinidas',
-'protectedpages-summary' => 'Esta página lista as páginas protegidas. Para ver os títulos protegidos, cuja criação está impossibilitada, consulte [[{{#special:ProtectedTitles}}|{{int:protectedtitles}}]].',
+'protectedpages-summary' => 'Esta página lista páginas existentes que estão protegidas. Para ver os títulos cuja criação está impossibilitada, consulte [[{{#special:ProtectedTitles}}|{{int:protectedtitles}}]].',
 'protectedpages-cascade' => 'Apenas proteções em cascata',
 'protectedpages-noredirect' => 'Esconder redirecionamentos',
 'protectedpagesempty' => 'Neste momento, nenhuma das páginas está protegida com estes parâmetros.',
@@ -2301,7 +2309,7 @@ Agora redirecciona para [[$2]].',
 'protectedpages-unknown-timestamp' => 'Desconhecido',
 'protectedpages-unknown-performer' => 'Utilizador desconhecido',
 'protectedtitles' => 'Títulos protegidos',
-'protectedtitles-summary' => 'Esta página lista os títulos protegidos, cuja criação está impossibilitada. Para ver as páginas protegidas consulte [[{{#special:ProtectedPages}}|{{int:protectedpages}}]].',
+'protectedtitles-summary' => 'Esta página lista títulos cuja criação está impossibilitada. Para ver uma lista de páginas protegidas, consulte [[{{#special:ProtectedPages}}|{{int:protectedpages}}]].',
 'protectedtitlesempty' => 'Neste momento, nenhum dos títulos está protegido com estes parâmetros.',
 'listusers' => 'Utilizadores',
 'listusers-editsonly' => 'Mostrar apenas utilizadores com edições',
@@ -2630,8 +2638,8 @@ Esta é a configuração presente para a página '''$1''':",
 Esta é a configuração atual para a página '''$1''':",
 'protect-locked-access' => "A sua conta não tem permissões para alterar os níveis de proteção de uma página.
 Esta é a configuração atual da página '''$1''':",
-'protect-cascadeon' => 'Esta página está protegida porque se encontra incluída {{PLURAL:$1|na página listada a seguir, protegida|nas páginas listadas a seguir, protegidas}} com proteção em cascata.
-Pode alterar o nível de proteção desta página, mas isso não afetará a proteção em cascata.',
+'protect-cascadeon' => 'Esta página está atualmente protegida porque está incluída {{PLURAL:$1|na página listada a seguir, a qual|nas páginas listadas a seguir, as quais}} têm a proteção em cascata ativada.
+Alterações feitas ao nível de proteção desta página não afetarão a proteção em cascata.',
 'protect-default' => 'Permitir todos os utilizadores',
 'protect-fallback' => 'Permitir apenas utilizadores com o privilégio de "$1"',
 'protect-level-autoconfirmed' => 'Permitir apenas utilizadores auto-confirmados',
index a1c2341..efd123f 100644 (file)
@@ -9,6 +9,7 @@
  *
  * @author Alcali
  * @author Alchimista
+ * @author Amgauna
  * @author Anaclaudiaml
  * @author Bani
  * @author Brion
@@ -579,7 +580,6 @@ $1',
 'disclaimers' => 'Exoneração de responsabilidade',
 'disclaimerpage' => 'Project:Aviso_geral',
 'edithelp' => 'Ajuda de edição',
-'helppage' => 'Help:Conteúdos',
 'mainpage' => 'Página principal',
 'mainpage-description' => 'Página principal',
 'policy-url' => 'Project:Políticas',
@@ -783,7 +783,7 @@ Não se esqueça de personalizar as suas [[Special:Preferences|preferências no
 'userlogin-resetpassword-link' => 'Esqueceu sua senha?',
 'userlogin-loggedin' => 'Você já está conectado como {{GENDER:$1|$1}}.
 Use o formulário abaixo para iniciar sessão como outro usuário.',
-'userlogin-createanother' => 'Criar uma outra conta',
+'userlogin-createanother' => 'Crie uma outra conta',
 'createacct-join' => 'Insira suas informações abaixo.',
 'createacct-another-join' => 'Preeencha as informações para a nova conta',
 'createacct-emailrequired' => 'Endereço de e-mail',
@@ -858,7 +858,7 @@ Não lhe será enviado nenhum e-mail sobre nenhuma das seguintes funcionalidades
 'cannotchangeemail' => 'A conta de e-mail não pode ser alterada neste wiki.',
 'emaildisabled' => 'Este site não tem como enviar e-mails.',
 'accountcreated' => 'Conta criada',
-'accountcreatedtext' => 'A conta d eusuários para [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|talk]]) foi criada.',
+'accountcreatedtext' => 'A conta de usuário para [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|talk]]) foi criada.',
 'createaccount-title' => 'Criação de conta em {{SITENAME}}',
 'createaccount-text' => 'Alguém criou uma conta de nome $2 para o seu endereço de email no wiki {{SITENAME}} ($4), tendo como senha "$3".
 Você deve se autenticar e alterar sua senha.
@@ -873,8 +873,8 @@ Por favor aguarde $1 antes de tentar novamente.',
 'createacct-another-realname-tip' => 'O nome verdadeiro é opcional.
 Se você optar por fornecê-lo, este nome será utilizado para dar ao usuário a atribuição de seu trabalho.',
 'pt-login' => 'Entrar',
-'pt-login-button' => 'Entrar',
-'pt-createaccount' => 'Criar conta',
+'pt-login-button' => 'Logado',
+'pt-createaccount' => 'Crie uma conta',
 
 # Email sending
 'php-mail-error-unknown' => 'Erro desconhecido na função mail() do PHP',
@@ -1053,7 +1053,7 @@ Ela pode ter sido movida ou removido enquanto você estava vendo a página.',
 Ela pode ser alterada na página ''[[Special:ChangePassword|de troca de senha]]'', após o início de sessão.",
 'newarticle' => '(Nova)',
 'newarticletext' => "Você seguiu um link para uma página que ainda não existe.
-Para criá-la, comece escrevendo na caixa abaixo (veja [[{{MediaWiki:Helppage}}|a página de ajuda]] para mais informações).
+Para criá-la, comece escrevendo na caixa abaixo (veja [$1 na página de ajuda] para mais informações).
 Se você chegou aqui por engano, clique no botão '''voltar''' do seu navegador.",
 'anontalkpagetext' => "---- ''Esta é a página de discussão para um usuário anônimo que ainda não criou uma conta ou que não a usa, de forma que temos de utilizar o endereço de IP para identificá-lo(a). Tal endereço de IP pode ser compartilhado por vários usuários. Se você é um usuário anônimo e acha que comentários irrelevantes foram direcionados a você, por gentileza, [[Special:UserLogin/signup|crie uma conta]] ou [[Special:UserLogin|autentique-se]], a fim de evitar futuras confusões com outros usuários anônimos.''",
 'noarticletext' => 'No momento, não há conteúdo nesta página.
@@ -1062,7 +1062,7 @@ ou [{{fullurl:{{FULLPAGENAME}}|action=edit}} criar esta página]</span>.',
 'noarticletext-nopermission' => 'No momento, não há conteúdo nesta página
 Você pode [[Special:Search/{{PAGENAME}}|pesquisar pelo título desta página]] em outras páginas,
 ou <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} buscar por registros relacionados] </span>. Note que, no entanto, você não tem permissão para criar esta página.',
-'missing-revision' => 'A revisão #$1 da página denominada "{{PAGENAME}}" não existe.
+'missing-revision' => 'A revisão #$1 da página denominada "{{FULLPAGENAME}}" não existe.
 
 Isto é geralmente causado por seguir um link de histórico desatualizado para uma página que foi eliminada.
 Os detalhes podem ser encontrados no [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de eliminação].',
@@ -1295,12 +1295,11 @@ Você pode ver esta comparação; detalhes podem ser encontrados no [{{fullurl:{
 'revdelete-no-file' => 'O arquivo especificado não existe.',
 'revdelete-show-file-confirm' => 'Tem a certeza de que quer visualizar uma revisão eliminada do arquivo "<nowiki>$1</nowiki>" de $2 em $3?',
 'revdelete-show-file-submit' => 'Sim',
-'revdelete-selected' => "'''{{PLURAL:$2|Edição selecionada|Edições selecionadas}} de [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Evento de registro selecionado|Eventos de registro selecionados}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Evento de registro selecionado|Eventos de registro selecionados}}:',
 'revdelete-text-text' => 'Revisões apagadas continuarão a aparecer na página de histórico, mas parte de seus conteúdos estarão inacessíveis ao público.',
-'revdelete-text-file' => 'Versões dos arquivos apagados continuarão a aparecer no arquivo de histórico, mas parte de seus conteúdos estarão inacessíveis ao publico.',
+'revdelete-text-file' => 'Versões dos arquivos apagados continuarão a aparecer no arquivo de histórico, mas parte de seus conteúdos estarão inacessíveis ao público.',
 'logdelete-text' => 'Eventos de log apagados continuarão a aparecer nos logs, mas parte de seus conteúdos estarão inacessíveis ao público.',
-'revdelete-text-others' => 'Outros administrador na {{SITENAME}} continuarão capazes de acessar o conteúdo oculto e desocultá-lo pela mesma interface, a menos que restrições adicionais tenha sido feitas.',
+'revdelete-text-others' => 'Outros administradores do {{SITENAME}} continuarão sendo capazes de acessar o conteúdo oculto e desocultá-lo pela mesma interface, a menos que restrições adicionais tenham sido feitas.',
 'revdelete-confirm' => 'Por favor confirme que pretende executar esta ação, que compreende as suas consequências e que o faz em concordância com as [[{{MediaWiki:Policy-url}}|políticas e recomendações]].',
 'revdelete-suppress-text' => "A supressão deverá ser usada '''apenas''' para os seguintes casos:
 * Informação potencialmente difamatória
@@ -1761,7 +1760,7 @@ Caso decida fornecê-lo, este será utilizado para dar-lhe crédito pelo seu tra
 'recentchanges-legend-heading' => "'''Legenda''':",
 'recentchanges-legend-newpage' => '(veja também a [[Special:NewPages|lista de páginas novas]])',
 'recentchanges-legend-plusminus' => "(''±123'')",
-'rcnotefrom' => "Seguem as alterações desde as '''$4''' de '''$3''' (limitadas a '''$1''').",
+'rcnotefrom' => 'Abaixo estão mostradas as alterações de <strong>$2</strong> (até <strong>$1</strong>).',
 'rclistfrom' => 'Mostrar as novas alterações a partir das $1',
 'rcshowhideminor' => '$1 edições menores',
 'rcshowhideminor-show' => 'Exibir',
@@ -2486,7 +2485,7 @@ Futuras modificações em tal página e páginas de discussão relacionadas ser
 'watchmethod-list' => 'verificando páginas vigiadas para edições recentes',
 'watchlistcontains' => 'Sua lista de páginas vigiadas contém $1 {{PLURAL:$1|página|páginas}}.',
 'iteminvalidname' => "Problema com item '$1', nome inválido...",
-'wlnote2' => 'A seguir estão as mudanças nas últimas {{PLURAL:$1|hora|<strong>$1</strong> houras}}, a partir de $2, $3.',
+'wlnote2' => 'A seguir estão as mudanças nas últimas {{PLURAL:$1|hora|<strong>$1</strong> horas}}, a partir de $2, $3.',
 'wlshowlast' => 'Ver últimas $1 horas $2 dias $3',
 'watchlist-options' => 'Opções da lista de páginas vigiadas',
 
@@ -2576,7 +2575,7 @@ A eliminação de tais páginas foi restrita, a fim de se evitarem problemas aci
 'delete-warning-toobig' => 'Esta página possui um longo histórico de edições, com mais de $1 {{PLURAL:$1|edição|edições}}.
 Eliminá-la poderá causar problemas na base de dados de {{SITENAME}};
 prossiga com cuidado.',
-'deleting-backlinks-warning' => "'''Cuidado:'''[[Special:WhatLinksHere/{{FULLPAGENAME}}|Outras páginas]] se ligam ou redirecionam para a página que você está prestes a deletar.",
+'deleting-backlinks-warning' => "'''Cuidado:''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|Outras páginas]] se ligam ou redirecionam para a página que você está prestes a deletar.",
 
 # Rollback
 'rollback' => 'Reverter edições',
@@ -2749,10 +2748,10 @@ $1',
 'sp-contributions-blocked-notice-anon' => 'Este endereço IP encontra-se bloqueado.
 Segue, para referência, a entrada mais recente no registro de bloqueios:',
 'sp-contributions-search' => 'Navegar pelas contribuições',
-'sp-contributions-suppresslog' => 'Contribuições de usuário eliminadas',
+'sp-contributions-suppresslog' => 'Contribuições de usuário suprimidas',
 'sp-contributions-username' => 'Endereço de IP ou usuário:',
 'sp-contributions-toponly' => 'Mostrar somente as edições que sejam a última alteração',
-'sp-contributions-newonly' => 'Mostrar somente as edições que criaram uma nova página.',
+'sp-contributions-newonly' => 'Mostre somente as edições que criaram uma nova página.',
 'sp-contributions-submit' => 'Pesquisar',
 
 # What links here
@@ -4155,7 +4154,7 @@ Em conjunto com este programa deve ter recebido [{{SERVER}}{{SCRIPTPATH}}/COPYIN
 'logentry-move-move' => '$1 moveu a página $3 para $4',
 'logentry-move-move-noredirect' => '$1 moveu a página $3 para $4 sem deixar um redirecionamento',
 'logentry-move-move_redir' => '$1 moveu a página $3 para $4 através de um redirecionamento',
-'logentry-move-move_redir-noredirect' => '$1 moveu a página $3 para $4 sem um redirecionamento',
+'logentry-move-move_redir-noredirect' => '$1 {{GENDER:$2|moveu}} a página $3 para $4 sem um redirecionamento',
 'logentry-patrol-patrol' => '$1 {{GENDER:$2|marcou}} a revisão $4 da página $3 como patrulhada',
 'logentry-patrol-patrol-auto' => '$1 {{GENDER:$2|marcou}} automaticamente a revisão $4 da página $3 como patrulhada',
 'logentry-newusers-newusers' => 'A conta de usuário $1 foi {{GENDER:$2|criada}}',
index f3c762c..f8e7e2f 100644 (file)
@@ -78,6 +78,7 @@
  * @author Liuxinyu970226
  * @author Lloffiwr
  * @author MF-Warburg
+ * @author MIKHEIL
  * @author Malafaya
  * @author MarkvA
  * @author Matma Rex
@@ -362,13 +363,15 @@ One of the set: {{msg-mw|Jan}}, {{msg-mw|Feb}}, {{msg-mw|Mar}}, {{msg-mw|Apr}},
 'february-date' => 'A date in the Gregorian month of February. $1 is the numerical date, for example "23".',
 'march-date' => 'A date in the Gregorian month of March. $1 is the numerical date, for example "23".',
 'april-date' => 'A date in the Gregorian month of April. $1 is the numerical date, for example "23".',
-'may-date' => 'A date in the Gregorian month of May. $1 is the numerical date, for example "23". The month name is not abbreviated.',
+'may-date' => 'A date in the Gregorian month of May. $1 is the numerical date, for example "23". The month name is not abbreviated.
+{{Identical|May}}',
 'june-date' => 'A date in the Gregorian month of June. $1 is the numerical date, for example "23".',
 'july-date' => 'A date in the Gregorian month of July. $1 is the numerical date, for example "23".',
 'august-date' => 'A date in the Gregorian month of August. $1 is the numerical date, for example "23".',
 'september-date' => 'A date in the Gregorian month of September. $1 is the numerical date, for example "23".',
 'october-date' => 'A date in the Gregorian month of October. $1 is the numerical date, for example "23".',
-'november-date' => 'A date in the Gregorian month of November. $1 is the numerical date, for example "23".',
+'november-date' => 'A date in the Gregorian month of November. $1 is the numerical date, for example "23".
+{{Identical|November}}',
 'december-date' => 'A date in the Gregorian month of December. $1 is the numerical date, for example "23".',
 
 # Categories related messages
@@ -741,9 +744,6 @@ See also:
 'disclaimerpage' => '{{doc-important|Do not change the <code>Project:</code> part.}}
 Used as page for that contains the site disclaimer. Used at the bottom of every page on the wiki. Example: [[{{MediaWiki:Disclaimerpage}}|{{MediaWiki:Disclaimers}}]].',
 'edithelp' => 'This is the text that appears on the editing help link that is near the bottom of the editing page',
-'helppage' => '{{doc-important|Do not change the <code>Help:</code> part.}}
-The link destination used by default in the sidebar, and in {{msg-mw|Noarticletext}}.
-{{Identical|HelpContent}}',
 'mainpage' => 'Defines the link and display name of the main page of the wiki. Shown as the top link in the navigation part of the interface. Please do not change it too often, that could break things!
 
 See also:
@@ -1952,9 +1952,9 @@ Parameters:
 * $1 - username
 * $2 - email address",
 'newarticle' => '{{Identical|New}}',
-'newarticletext' => "Text displayed above the edit box in editor when trying to create a new page.
+'newarticletext' => 'Text displayed above the edit box in editor when trying to create a new page.
 Parameters:
-* $1 - The URL to the help page, defined in {{msg-mw|helppage}}",
+* $1 - The URL to the help page, defined in {{msg-mw|helppage}}',
 'anontalkpagetext' => 'Displayed at the bottom of talk pages of anonymous users.',
 'noarticletext' => 'This is the message that you get if you search for a term that has not yet got any entries on the wiki.
 
@@ -2482,18 +2482,13 @@ Parameters:
 'revdelete-show-file-submit' => 'Reply to {{msg-mw|Revdelete-show-file-confirm}}.
 
 {{Identical|Yes}}',
-'revdelete-selected' => '{{RevisionDelete}}
-Parameters:
-* $1 - page title
-* $2 - number of revisions
-See also:
-* {{msg-mw|Logdelete-selected}}
-[[File:RevDelete Special-RevisionDelete (r60428).png|frame|center|Screenshot of the interface]]',
+'revdelete-selected-text' => '{{Related|Revdelete-selected}}',
+'revdelete-selected-file' => '{{Related|Revdelete-selected}}',
 'logdelete-selected' => '{{RevisionDelete}}
 Parameters:
 * $1 - number of log events
-See also:
-* {{msg-mw|Revdelete-selected}}',
+* $2 - (Unused) localized name of Special:Log, maybe with type as subpage
+{{Related|Revdelete-selected}}',
 'revdelete-text-text' => '{{RevisionDelete}}
 This is the introduction explaining the feature.
 
@@ -2544,14 +2539,20 @@ See also:
 * {{msg-mw|Revdelete-otherreason|label for input box}}
 * {{msg-mw|Revdelete-submit|submit button}}',
 'revdelete-hide-text' => 'Option for oversight. This message is a part of the [[mw:RevisionDelete|RevisionDelete]] feature.
-[[File:RevDelete Special-RevisionDelete (r60428).png|frame|center|Screenshot of the interface]]',
-'revdelete-hide-image' => 'Option for <del>oversight</del> [[:mw:RevisionDelete|RevisionDelete]] feature.',
-'revdelete-hide-name' => 'Option for oversight',
+[[File:RevDelete Special-RevisionDelete (r60428).png|frame|center|Screenshot of the interface]]
+{{Related|Revdelete-hide}}',
+'revdelete-hide-image' => 'Option for <del>oversight</del> [[:mw:RevisionDelete|RevisionDelete]] feature.
+{{Related|Revdelete-hide}}',
+'revdelete-hide-name' => 'Option for oversight.
+{{Related|Revdelete-hide}}',
 'revdelete-hide-comment' => 'Option for oversight. {{RevisionDelete}}
-[[File:RevDelete Special-RevisionDelete (r60428).png|frame|center|Screenshot of the interface]]',
+[[File:RevDelete Special-RevisionDelete (r60428).png|frame|center|Screenshot of the interface]]
+{{Related|Revdelete-hide}}',
 'revdelete-hide-user' => 'Option for oversight. {{RevisionDelete}}
-[[File:RevDelete Special-RevisionDelete (r60428).png|frame|center|Screenshot of the interface]]',
-'revdelete-hide-restricted' => 'Option for oversight.',
+[[File:RevDelete Special-RevisionDelete (r60428).png|frame|center|Screenshot of the interface]]
+{{Related|Revdelete-hide}}',
+'revdelete-hide-restricted' => 'Option for oversight.
+{{Related|Revdelete-hide}}',
 'revdelete-radio-same' => 'This message is a part of the [[mw:RevisionDelete|RevisionDelete]] feature. The message is a caption for a column of radioboxes inside a box with {{msg-mw|Revdelete-legend}} as a title.
 [[File:RevDelete Special-RevisionDelete (r60428).png|frame|center|Screenshot of the interface]]
 There are three radio buttons in each row, and the captions above each column read:
@@ -4898,6 +4899,14 @@ See also:
 # List redirects
 'listredirects' => '{{doc-special|ListRedirects}}',
 
+# List duplicated files special page
+'listduplicatedfiles' => '{{doc-special|ListDuplicatedFiles}}',
+'listduplicatedfiles-summary' => 'Summary at top of Special:ListDuplicatedFiles',
+'listduplicatedfiles-entry' => 'A list item on [[Special:ListDuplicatedFiles]]. Parameters:
+* $1 - the file name (no namespace prefix)
+* $2 - the number of duplicates this file has
+* $3 - the name of the duplicate search page (aka "Special:FileDuplicateSearch/Foo.png" or "Spécial:Recherche_fichier_en_double/Firefox.png")',
+
 # Unused templates
 'unusedtemplates' => '{{doc-special|UnusedTemplates}}',
 'unusedtemplatestext' => 'Shown on top of [[Special:Unusedtemplates]]',
@@ -5229,6 +5238,7 @@ See also:
 * {{msg-mw|Booksources-text|text}}",
 'booksources-search-legend' => 'Box heading on [[Special:BookSources|book sources]] special page. The box is for searching for places where a particular book can be bought or viewed.',
 'booksources-isbn' => '{{optional}}
+This is a label that appears before a text input field on the Special:BookSources page.
 {{Identical|ISBN}}',
 'booksources-go' => 'Name of button in [[Special:BookSources]]
 
@@ -8295,7 +8305,7 @@ See example: [{{canonicalurl:Main page|action=info}} Main page?action=info]',
 * $3 - the number of subpages of the page that are not redirects',
 'pageinfo-firstuser' => 'The user who created the page.',
 'pageinfo-firsttime' => 'The date and time the page was created.',
-'pageinfo-lastuser' => 'The last user who edited the page.',
+'pageinfo-lastuser' => 'ბოლო მომხმარებელი, რომელმაც ეს გვერდი დაარედაქტირა.',
 'pageinfo-lasttime' => 'The date and time the page was last edited.',
 'pageinfo-edits' => 'Used as label in info page. See [{{canonicalurl:Support|action=info}} example].
 
@@ -9819,9 +9829,7 @@ Most languages use a space, but some Asian languages, such as Thai and Chinese,
 'percent' => '{{optional}}',
 'parentheses' => '{{optional}}',
 'brackets' => '{{Optional}}',
-'quotation-marks' => '{{optional}}
-
-Quotation marks, for quoting, sometimes titles etc., depending on the language.
+'quotation-marks' => 'Quotation marks, for quoting, sometimes titles etc., depending on the language.
 
 See: [[w:Non-English usage of quotation marks|Non-English usage of quotation marks on Wikipedia]].
 
@@ -10884,4 +10892,20 @@ test
 'expand_templates_generate_rawhtml' => 'Used as checkbox label.',
 'expand_templates_preview' => '{{Identical|Preview}}',
 
+# Tracking categories special page
+'trackingcategories' => 'Special:TrackingCategories page implementing list of Tracking categories [[mw:Help:Tracking categories|tracking category]]',
+'trackingcategories-summary' => 'Description for [[Special:TrackingCategories]] page [[mw:Help:Tracking categories|tracking category]]',
+'trackingcategories-msg' => 'Header for the message column of the table on [[Special:TrackingCategories]]. This column lists the mediawiki message that controls the tracking category in question.',
+'trackingcategories-name' => 'Header for the message column of the table on [[Special:TrackingCategories]]. This column lists the name of the tracking category in the content language.',
+'trackingcategories-desc' => 'Header for the message column of the table on [[Special:TrackingCategories]]. This column lists the inclusion criteria for the category.',
+'noindex-category-desc' => 'No-index category-description. Shown on [[Special:TrackingCategories]]',
+'index-category-desc' => 'Index category-description. Shown on [[Special:TrackingCategories]]',
+'post-expand-template-inclusion-category-desc' => 'Post expand template inclusion category description. Shown on [[Special:TrackingCategories]]',
+'post-expand-template-argument-category-desc' => 'Post expand template argument category description. Shown on [[Special:TrackingCategories]]',
+'expensive-parserfunction-category-desc' => 'Expensive parserfunction category description. Shown on [[Special:TrackingCategories]]',
+'broken-file-category-desc' => 'Broken file category description. Shown on [[Special:TrackingCategories]]',
+'hidden-category-category-desc' => 'Hidden-category category description. Shown on [[Special:TrackingCategories]]',
+'trackingcategories-nodesc' => 'Tracking category description not available message',
+'trackcategories-disabled' => 'Tracking category disabled message',
+
 );
index 16f9f65..5e7baa9 100644 (file)
@@ -511,7 +511,6 @@ $1",
 'disclaimers' => 'Chiqakunamanta rikuchiy',
 'disclaimerpage' => 'Project:Sapsilla saywachasqa paqtachiy',
 'edithelp' => "Llamk'ana yanapay",
-'helppage' => 'Help:Yanapana',
 'mainpage' => "Qhapaq p'anqa",
 'mainpage-description' => "Qhapaq p'anqa",
 'policy-url' => 'Project:Kawpay',
@@ -947,7 +946,7 @@ Astasqachá icha qullusqachá qhawachkaptiyki.',
 
 Yaykurqaspaqa ''[[Special:ChangePassword|yaykuna rima hukchana]]'' p'anqapi kay yaykuna rimata hukchaytam atinki.",
 'newarticle' => '(Musuq)',
-'newarticletext' => "Manaraq kachkaq p'anqatam llamk'apuchkanki. Musuq p'anqata kamariyta munaspaykiqa, qillqarillay. Astawan ñawiriyta munaspaykiqa, [[{{MediaWiki:Helppage}}|yanapana p'anqata]] qhaway. Mana munaspaykitaq, ñawpaq p'anqaman ripuy.",
+'newarticletext' => "Manaraq kachkaq p'anqatam llamk'apuchkanki. Musuq p'anqata kamariyta munaspaykiqa, qillqarillay. Astawan ñawiriyta munaspaykiqa, [$1 yanapana p'anqata] qhaway. Mana munaspaykitaq, ñawpaq p'anqaman ripuy.",
 'anontalkpagetext' => "---- ''Kayqa huk sutinnaq icha mana sutinta llamk'achiq ruraqpa rimanakuyninmi. IP huchhantam hallch'asunchik payta sutinchanapaq. Achka ruraqkunam huklla IP huchhanta llamk'achiyta atin. Sutinnaq ruraq kaspaykiqa, mana qampa rurasqaykimanta willamusqakunata rikuspaykiqa, ama hina kaspa [[Special:UserLogin/signup|rakiqunaykita kamariy]] icha [[Special:UserLogin|yaykuy]] huk sutinnaq ruraqkunawan ama pantasqa kanaykipaq.''",
 'noarticletext' => "Kunanqa kay p'anqa ch'usaqmi kachkan.
 Kaytam rurayta atinkiman: kay p'anqap sutinta [[Special:Search/{{PAGENAME}}|huk p'anqakunapi maskay]],
@@ -957,7 +956,7 @@ icha [{{fullurl:{{FULLPAGENAME}}|action=edit}} kay p'anqata llamk'apuy]</span>."
 Kaytam rurayta atinkiman: kay p'anqap sutinta [[Special:Search/{{PAGENAME}}|huk p'anqakunapi maskay]]
 icha payman kapuq <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} hallch'akunapi maskay]</span>,
 ichataq kay p'anqata kamariyta manam saqillasunkichu.",
-'missing-revision' => "\"{{PAGENAME}}\" nisqa p'anqapaq #\$1 musuqchasqaqa manam kanchu.
+'missing-revision' => "\"{{FULLPAGENAME}}\" nisqa p'anqapaq #\$1 musuqchasqaqa manam kanchu.
 
 Kayqa tukurqanman qullusqa p'anchaman t'inkimuq mawk'ayasqa wiñay kawsay t'inkiraykuchá.
 Imaymanata [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} qulluy hallch'apim] tariykiman.",
@@ -1174,8 +1173,7 @@ Kay wakin kayta qhawayta atinkim; astawanchá rikunkiman [{{fullurl:{{#Special:L
 'revdelete-no-file' => 'Sapaqchasqa willañiqiqa manam kanchu.',
 'revdelete-show-file-confirm' => 'Allinta yachankichu "<nowiki>$1</nowiki>" willañiqimanta qullusqa $2-manta $3-pi musuqchasqata qhawayta munaspayki?',
 'revdelete-show-file-submit' => 'Arí',
-'revdelete-selected' => "'''{{PLURAL:$2|Akllasqa llamk'apusqa|Akllasqa llamk'apusqakuna}} [[:$1]]-manta:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Akllasqa tukusqa|Akllasqa tukusqakuna}} hallch'api:'''",
+'logdelete-selected' => "{{PLURAL:$1|Akllasqa tukusqa|Akllasqa tukusqakuna}} hallch'api:",
 'revdelete-confirm' => 'Ama hina kaspa, takyachiy munayniykita, qatiqninkunata riqsiyniykita, [[{{MediaWiki:Policy-url}}|kawpaykama]] rurayniykitapas.',
 'revdelete-suppress-text' => "Pakay ruranata '''kaylla kaptin''' llamk'achiy:
 * K'amiqchá willakuna
index 453ff7d..36caecf 100644 (file)
@@ -253,7 +253,6 @@ $1',
 'disclaimers' => 'Kamachikmanta willaykuna',
 'disclaimerpage' => 'Project:Kamachikmanta kapak willaykuna',
 'edithelp' => 'Llankanapaa yanapa',
-'helppage' => 'Help:Yanapa',
 'mainpage' => 'Kapak Panka',
 'mainpage-description' => 'Kapak panka',
 'policy-url' => 'Project:Kamachiykuna',
@@ -393,7 +392,7 @@ Shina kakpika, shuk rurakka ña pankata pichankacha.',
 'showdiff' => 'Mushuk killkaykunata rikuchina',
 'anoneditwarning' => "'''Rikupay:''' kikinpa mana rurak shutiwan yaykurkapanki, shina kakpika kikinpa IP yupaykunaka kay pankapa wiñay kawsaypi tiyankami .",
 'newarticle' => '(Mushuk)',
-'newarticletext' => 'Shuk illak pankaman tinkita katirkapanki. Kay pankata kamankapak uraypi killkapay. Ashtawan yachakunkapak [[{{MediaWiki:Helppage}}|yanapana pankata]] rikupay. Mana chay pankata kamanata munakpika, ñawpa pankaman kutin ripay.',
+'newarticletext' => 'Shuk illak pankaman tinkita katirkapanki. Kay pankata kamankapak uraypi killkapay. Ashtawan yachakunkapak [$1 yanapana pankata] rikupay. Mana chay pankata kamanata munakpika, ñawpa pankaman kutin ripay.',
 'noarticletext' => 'Kunan pachapi, kay pankaka mana killkaykunata charin.
 Pakpak shutita [[Special:Search/{{PAGENAME}}|shuk pankakunapi maskanata]], <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} registroskunapi maskanata]pash ushankimi, kutin [{{fullurl:{{FULLPAGENAME}}|action=edit}} kay pankata kamarinata] ushankimi',
 'noarticletext-nopermission' => 'Kunan pachapi kay pankakapi killkaykuna illan. Paypak shutita [[Special:Search/{{PAGENAME}}|shuk pankakunapi maskanata]] ushapankimi, shinalla <span class="plainlinks">pankakunapa wiñay kawsay kamupi [{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} tinkishka killkaykunapi] maskanata ushapanki</span>. Shinapash, chay pankaka mana kamarinata ushapankichu.',
index b3afc3f..258a1a9 100644 (file)
@@ -275,7 +275,6 @@ $1',
 'disclaimers' => 'Impressum',
 'disclaimerpage' => 'Project:Impressum',
 'edithelp' => 'Agid per modifitgar',
-'helppage' => 'Help:Cuntegn',
 'mainpage' => 'Pagina principala',
 'mainpage-description' => 'Pagina principala',
 'policy-url' => 'Project:Directivas',
@@ -700,7 +699,7 @@ Ella è eventualmain vegnida spustada u stizzada durant che ti has contemplà la
 'accmailtitle' => 'Il pled-clav è vegnì tramess.',
 'accmailtext' => "In pled-clav casual per [[User talk:$1|$1]] è vegnì tramess a $2. El po vegnir midà sin la pagina ''[[Special:ChangePassword|midar pled-clav]]'' suenter che ti t'es annunzià.",
 'newarticle' => '(Nov)',
-'newarticletext' => "Ti has cliccà ina colliaziun ad ina pagina che n'exista anc betg. Per crear ina pagina, entschaiva a tippar en la stgaffa sutvart (guarda [[{{MediaWiki:Helppage}}|la pagina d'agid]] per t'infurmar).",
+'newarticletext' => "Ti has cliccà ina colliaziun ad ina pagina che n'exista anc betg. Per crear ina pagina, entschaiva a tippar en la stgaffa sutvart (guarda [$1 la pagina d'agid] per t'infurmar).",
 'anontalkpagetext' => "----''Quai è la pagina da discussiun per in utilisader anomim che n'ha anc betg creà in conto d'utilisader u che n'al utilisescha betg.
 Perquai avain nus d'utilisar l'adressa dad IP per l'identifitgar.
 Ina tala adressa dad IP po vegnir utilisada da differents utilisaders.
@@ -711,7 +710,7 @@ Ti pos [[Special:Search/{{PAGENAME}}|tschertgar il term]] sin in\'autra pagina,
 u [{{fullurl:{{FULLPAGENAME}}|action=edit}} crear questa pagina]</span>.',
 'noarticletext-nopermission' => 'Questa pagina na cuntegna actualmain nagin text.
 Ti pos [[Special:Search/{{PAGENAME}}|tschertgar quest titel]] en autras paginas u <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} tschertgar en ils protocols correspundents]</span>, ma ti n\'has betg ils dretgs da crear questa pagina.',
-'missing-revision' => 'La versiun #$1 da la pagina cun il num "{{PAGENAME}}" n\'exista betg.
+'missing-revision' => 'La versiun #$1 da la pagina cun il num "{{FULLPAGENAME}}" n\'exista betg.
 
 Quai capita savnes sche ti cliccas sin ina colliaziun antiquada en la cronologia per ina pagina ch\'è vegnida stizzada.
 Detagls pon vegnri chattads en il [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} protocol da stizzar].',
@@ -940,8 +939,7 @@ Ti pos vesair quest diff; detagls pon vegnir chattads en il [{{fullurl:{{#Specia
 'revdelete-no-file' => "La datoteca specifitgada n'exista betg.",
 'revdelete-show-file-confirm' => 'Es ti segir che ti vuls vesar ina versiun stizzada da la datoteca "<nowiki>$1</nowiki>" dals $2 las $3?',
 'revdelete-show-file-submit' => 'Gea',
-'revdelete-selected' => "'''{{PLURAL:$2|Versiun tschernida|Versiuns tschernidas}} da [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Element dal protocol tschernì|Elements dal protocol tschernids}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Element dal protocol tschernì|Elements dal protocol tschernids}}:',
 'revdelete-confirm' => 'Confermescha che ti vuls far quai, che ti chapeschas las consequenzas e che ti fas quai en accordanza cun [[{{MediaWiki:Policy-url}}|las directivas]].',
 'revdelete-suppress-text' => "Ti duessas '''be''' supprimer en quests cas: 
 * Infurmaziuns offendentas
index 30b12ad..b73990d 100644 (file)
@@ -545,7 +545,6 @@ $1',
 'disclaimers' => 'Termeni',
 'disclaimerpage' => 'Project:Termeni',
 'edithelp' => 'Ajutor pentru modificare',
-'helppage' => 'Help:Ajutor',
 'mainpage' => 'Pagina principală',
 'mainpage-description' => 'Pagina principală',
 'policy-url' => 'Project:Politică',
@@ -1014,7 +1013,7 @@ Aceasta fie a fost mutată, fie a fost ștearsă în timp ce vizualizați pagina
 'accmailtitle' => 'Parola a fost trimisă.',
 'accmailtext' => "O parolă generată aleator pentru [[User talk:$1|$1]] a fost trimisă la $2. Parola poate fi schimbată după autentificare din pagina ''[[Special:ChangePassword|schimbare parolă]]''.",
 'newarticle' => '(Nou)',
-'newarticletext' => 'Ați încercat să ajungeți la o pagină care nu există. Pentru a o crea, începeți să scrieți în caseta de mai jos (vedeți [[{{MediaWiki:Helppage}}|pagina de ajutor]] pentru mai multe informații). Dacă ați ajuns aici din greșeală, întoarceți-vă folosind controalele navigatorului dumneavoastră.',
+'newarticletext' => 'Ați încercat să ajungeți la o pagină care nu există. Pentru a o crea, începeți să scrieți în caseta de mai jos (vedeți [$1 pagina de ajutor] pentru mai multe informații). Dacă ați ajuns aici din greșeală, întoarceți-vă folosind controalele navigatorului dumneavoastră.',
 'anontalkpagetext' => "---- ''Aceasta este pagina de discuții pentru un utilizator care nu și-a creat un cont încă, sau care nu s-a autentificat.
 De aceea trebuie să folosim adresă IP pentru a identifica această persoană.
 O adresă IP poate fi folosită în comun de mai mulți utilizatori.
@@ -1025,7 +1024,7 @@ puteți <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAME
 sau puteți [{{fullurl:{{FULLPAGENAME}}|action=edit}} crea această pagină]</span>.',
 'noarticletext-nopermission' => 'Actualmente, această pagină este lipsită de conținut.
 Puteți [[Special:Search/{{PAGENAME}}|căuta acest titlu]] în alte pagini sau puteți <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} căuta înregistrări în jurnale]</span>; nu aveți însă permisiunea de a crea această pagină.',
-'missing-revision' => 'Versiunea nr. $1 a paginii „{{PAGENAME}}” nu există.
+'missing-revision' => 'Versiunea nr. $1 a paginii „{{FULLPAGENAME}}” nu există.
 
 Acest lucru se întâmplă de obicei atunci când se accesează o legătură expirată către istoricul unei pagini șterse.
 Detalii se pot găsi în [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} jurnalul ștergerilor].',
@@ -1263,8 +1262,9 @@ funcție, fie versiunea specificată nu există, ori sunteți pe cale să ascund
 'revdelete-no-file' => 'Fișierul specificat nu există.',
 'revdelete-show-file-confirm' => 'Sigur doriți să vedeți versiunea ștearsă a fișierului „<nowiki>$1</nowiki>” din $2 ora $3?',
 'revdelete-show-file-submit' => 'Da',
-'revdelete-selected' => "'''{{PLURAL:$2|Versiunea aleasă|Versiunile alese}} pentru [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Revizia aleasă|Reviziile alese}}:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Versiunea aleasă|Versiunile alese}} pentru [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Versiunea fișierului aleasă|Versiunile fișierului alese}} pentru [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|Revizia aleasă|Reviziile alese}}:',
 'revdelete-text-text' => 'Versiunile șterse vor continua să fie vizibile în istoricul paginii, însă anumite părți ale conținutului acestora vor fi inaccesibile publicului.',
 'revdelete-text-file' => 'Versiunile șterse ale fișierului vor continua să fie vizibile în istoricul fișierului, însă anumite părți ale conținutului acestora vor fi inaccesibile publicului.',
 'logdelete-text' => 'Evenimentele șterse ale jurnalului vor continua să fie vizibile în jurnale, însă anumite părți ale conținutului acestora vor fi inaccesibile publicului.',
@@ -2131,6 +2131,11 @@ Această pagină specială permite căutarea fișierelor în funcție de tipul M
 # List redirects
 'listredirects' => 'Lista de redirecționări',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Listă de fișiere cu duplicate',
+'listduplicatedfiles-summary' => 'Aceasta este o listă cu fișierele a căror cea mai recentă versiune este un duplicat al celei mai recente versiuni a altui fișier. Sunt examinate doar fișierele locale.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] are [[$3|{{PLURAL:$2|un duplicat|$2 duplicate|$2 de duplicate}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Formate neutilizate',
 'unusedtemplatestext' => 'Lista de mai jos cuprinde toate formatele care nu sînt incluse în nici o altă pagină.
@@ -2582,8 +2587,8 @@ Iată configurația curentă a paginii '''$1''':",
 Iată configurația curentă a paginii '''$1''':",
 'protect-locked-access' => "Contul dumneavoastră nu are permisiunea de a schimba nivelurile de protejare a paginii.
 Aici sunt setările curente pentru pagina '''$1''':",
-'protect-cascadeon' => 'Această pagină este protejată deoarece este inclusă în {{PLURAL:$1|următoarea pagină, ce are|următoarele pagini ce au}} activată protejarea la modificare în cascadă.
-Puteți schimba nivelul de protejare al acestei pagini, dar asta nu va afecta protecția în cascadă.',
+'protect-cascadeon' => 'Această pagină este protejată deoarece este inclusă în {{PLURAL:$1|următoarea pagină ce are|următoarele pagini ce au}} activată protejarea în cascadă.
+Schimbarea nivelului de protejare al acestei pagini nu va afecta protejarea în cascadă.',
 'protect-default' => 'Permis pentru toți utilizatorii',
 'protect-fallback' => 'Autorizat doar pentru utilizatorii cu permisiunea „$1”',
 'protect-level-autoconfirmed' => 'Autorizat doar pentru utilizatorii autoconfirmați',
index e7dd072..26cc646 100644 (file)
@@ -273,7 +273,6 @@ $1",
 'disclaimers' => 'No ne sacce ninde',
 'disclaimerpage' => 'Project:Scareca uarrile',
 'edithelp' => "Cangianne l'ajute",
-'helppage' => 'Help:Condenute',
 'mainpage' => 'Pàgene Prengepàle',
 'mainpage-description' => 'Pàgene Prengepàle',
 'policy-url' => 'Project:Reghele',
@@ -749,7 +748,7 @@ Pò essere ca ha state spustate o scangellate quanne tu ste vedive 'a pàgene.",
 'A passuord pe stu cunde utende pò essere cangiate sus a pàgene ''[[Special:ChangePassword|cange passuord]]'' 'na vote ca è trasute.",
 'newarticle' => '(Nuève)',
 'newarticletext' => "Tu ste segue 'nu collegamende a pàgene ca angore non g'esiste.
-Pe ccrejà 'a pàgene, accuminze a scrivere jndr'à 'u scatole de sotte (vide 'a [[{{MediaWiki:Helppage}}|pàggene d'ajute]] pe avè cchiù 'mbormaziune).
+Pe ccrejà 'a pàgene, accuminze a scrivere jndr'à 'u scatole de sotte (vide 'a [$1 pàggene d'ajute] pe avè cchiù 'mbormaziune).
 Ce tu te iacche aqquà e manghe tu 'u se purcè, allore cazze 'u buttone '''back''' d'u brauser.",
 'anontalkpagetext' => "----''Queste jè 'na pàgene de 'ngazzaminde pe 'n'utende anonime, ca non ge vò ccu ccreje angore 'nu cunde utende, o de ce non g'u use.
 Nuje auseme 'n'indirizze IP (ca jè numereche) pe identificarle.
@@ -760,7 +759,7 @@ Tu puè [[Special:Search/{{PAGENAME}}|cercà pe quiste titele]] jndr\'à otre p
 'noarticletext-nopermission' => "Pe mò non ge stè teste jndr'à sta pàgene.
 Tu puè [[Special:Search/{{PAGENAME}}|cercà pe stu titole]] jndr'à otre pàggene,
 o <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} cirche jndr'à l'archivije cullegate]</span>, ma non ge tìne le permesse pe ccrejà sta pàgene.",
-'missing-revision' => "'A revisione #\$1 d'a pàgene chiamate \"{{PAGENAME}}\" non g'esiste.
+'missing-revision' => "'A revisione #\$1 d'a pàgene chiamate \"{{FULLPAGENAME}}\" non g'esiste.
 
 Quiste succede normalmende purcé 'u cunde jè collegate a 'na pàgene ca ha state scangellate.
 Le dettaglie le puè acchià jndr'à l'[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} archivije de le scangellaziune].",
@@ -994,8 +993,7 @@ Tu puè vedè ste differenze; pò essere ca stonne cchiù 'mbormaziune jndr'à l
 'revdelete-no-file' => "'U file specificate non g'esiste.",
 'revdelete-show-file-confirm' => 'Si secure ca vuè ccu vide \'a revisione scangellate d\'u file "<nowiki>$1</nowiki>" \'u $2 a le $3?',
 'revdelete-show-file-submit' => 'Sìne',
-'revdelete-selected' => "'''{{PLURAL:$2|Revisiona selezionete|Revisiune selezionete}} de [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Fatte de l'archivije selezionete|Fatte de l'archivije selezionete}}:'''",
+'logdelete-selected' => "{{PLURAL:$1|Fatte de l'archivije selezionete|Fatte de l'archivije selezionete}}:",
 'revdelete-confirm' => 'Pe piacere conferme ca tu vuè ccu face sta cose, ce tu è capite le conseguenze e ce quidde ca ste face jè in accorde cu le [[{{MediaWiki:Policy-url}}|reghele]] de Uicchipèdie.',
 'revdelete-suppress-text' => "'A soppressione adda essere ausate '''sulamende''' jndr'à le case seguende:
 * 'Mbormaziune potenzialmende offenzive
index c5759b4..3642731 100644 (file)
@@ -690,7 +690,6 @@ $1',
 'disclaimers' => 'Отказ от ответственности',
 'disclaimerpage' => 'Project:Отказ от ответственности',
 'edithelp' => 'Справка по редактированию',
-'helppage' => 'Help:Содержание',
 'mainpage' => 'Заглавная страница',
 'mainpage-description' => 'Заглавная страница',
 'policy-url' => 'Project:Правила',
@@ -890,8 +889,8 @@ $2',
 'userlogin-resetlink' => 'Забыли данные для входа?',
 'userlogin-resetpassword-link' => 'Сбросить ваш пароль?',
 'userlogin-helplink2' => 'Помощь по входу',
-'userlogin-loggedin' => 'Ð\92Ñ\8b Ñ\83же Ð²Ð¾Ñ\88ли ÐºÐ°Ðº {{GENDER:$1|$1}}.
\98Ñ\81полÑ\8cзÑ\83йÑ\82е Ñ\84оÑ\80мÑ\83 Ð½Ð¸Ð¶Ðµ, Ñ\87Ñ\82обÑ\8b Ð²Ð¾Ð¹Ñ\82и Ð¿Ð¾Ð´ Ð´Ñ\80Ñ\83гой Ñ\83Ñ\87Ñ\91Ñ\82ной Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8cÑ\8e.',
+'userlogin-loggedin' => 'Сиз {{GENDER:$1|$1}} Ð°Ñ\82 Ð±Ð»Ð° Ñ\81иÑ\81Ñ\82емагÑ\8aа ÐºÐ¸Ñ\80ибÑ\81из.
\91аÑ\88Ñ\85а Ð°ÐºÐºÐ°Ñ\83нÑ\82 Ð±Ð»Ð° ÐºÐ¸Ñ\80иÑ\80 Ñ\8eÑ\87Ñ\8eн Ñ\82Ñ\8eбÑ\8eÑ\80екдеги Ñ\84оÑ\80манÑ\8b Ñ\85айÑ\8bÑ\80ландÑ\8bÑ\80Ñ\8bгÑ\8aÑ\8bз.',
 'userlogin-createanother' => 'Создать другую учётную запись',
 'createacct-join' => 'Введите свои данные ниже.',
 'createacct-another-join' => 'Введите данные новой учётной записи ниже.',
@@ -1170,7 +1169,7 @@ $2
 После авторизации можно будет сменить пароль для этой учётной записи на ''[[Special:ChangePassword|специальной странице смены пароля]]''.",
 'newarticle' => '(Новая)',
 'newarticletext' => "Вы перешли по ссылке на страницу, которой пока не существует.
-Чтобы её создать, наберите текст в окне, расположенном ниже (подробнее см. [[{{MediaWiki:Helppage}}|справочную страницу]]).
+Чтобы её создать, наберите текст в окне, расположенном ниже (подробнее см. [$1 справочную страницу]).
 Если вы оказались здесь по ошибке, просто нажмите кнопку '''назад''' своего браузера.",
 'anontalkpagetext' => "----''Эта страница обсуждения принадлежит анонимному участнику, который ещё не создал учётной записи, или не использует её.
 Поэтому для идентификации используется цифровой IP-адрес.
@@ -1183,7 +1182,7 @@ $2
 'noarticletext-nopermission' => 'В настоящее время на этой странице нет текста.
 Вы можете [[Special:Search/{{PAGENAME}}|найти упоминание данного названия]] на других страницах,
 или <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} найти соответствующие записи журналов].</span> У вас нет разрешения создать данную страницу.',
-'missing-revision' => 'Версия $1 страницы «{{PAGENAME}}» не существует.
+'missing-revision' => 'Версия $1 страницы «{{FULLPAGENAME}}» не существует.
 
 Это обычно бывает, если последовать по устаревшей ссылке на страницу, которая была удалена.
 Подробности могут быть в [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} журнале удалений].',
@@ -1368,7 +1367,7 @@ $3 {{GENDER:$3|указал|указала}} следующую причину:
 'histfirst' => 'старейшие',
 'histlast' => 'новейшие',
 'historysize' => '($1 {{PLURAL:$1|байт|байт|байта}})',
-'historyempty' => '(пÑ\83Ñ\81Ñ\82о)',
+'historyempty' => '(боÑ\88дÑ\83)',
 
 # Revision feed
 'history-feed-title' => 'История изменений',
@@ -1416,8 +1415,9 @@ $3 {{GENDER:$3|указал|указала}} следующую причину:
 'revdelete-no-file' => 'Указанный файл не существует.',
 'revdelete-show-file-confirm' => 'Вы уверены, что вы хотите просмотреть удалённую версию файла «<nowiki>$1</nowiki>» от $2, $3?',
 'revdelete-show-file-submit' => 'Да',
-'revdelete-selected' => "'''{{PLURAL:$2|1=Выбранная версия|Выбранные версии}} страницы [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|1=Выбранная запись|Выбранные записи}} журнала:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Выбранная версия|Выбранные версии}} [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Выбранная версия файла|Выбранные версии файла}} [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|1=Выбранная запись|Выбранные записи}} журнала:',
 'revdelete-text-text' => 'Удалённые версии будут по-прежнему видны в истории страницы, но части их содержимого будут недоступны для участников.',
 'revdelete-text-file' => 'Удалённые версии файла будут по-прежнему видны в истории страницы, но части их содержимого будут недоступны для участников.',
 'logdelete-text' => 'Удалённые события в журнале будут по-прежнему видны в журналах, но части их содержимого будут недоступны для участников.',
@@ -2282,6 +2282,11 @@ $1',
 # List redirects
 'listredirects' => 'Список перенаправлений',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Список файлов с дубликатами',
+'listduplicatedfiles-summary' => 'Это список файлов, где самая последняя версия файла считается дубликатом последней версии некоторых других файлов. Учитываются только локальные файлы.',
+'listduplicatedfiles-entry' => 'У файла [[:File:$1|$1]] — [[$3|{{PLURAL:$2|один дубликат|$2 дубликатов|$2 дубликата}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Неиспользуемые шаблоны',
 'unusedtemplatestext' => 'Здесь перечислены все страницы пространства имён «{{ns:template}}», не включённые ни в какие другие страницы.
@@ -2686,7 +2691,7 @@ $UNWATCHURL
 'delete-warning-toobig' => 'У этой страницы очень длинная история изменений, более $1 {{PLURAL:$1|версии|версий}}.
 Её удаление может привести к нарушению нормальной работы базы данных сайта «{{SITENAME}}»;
 действуйте с осторожностью.',
-'deleting-backlinks-warning' => "'''Предупреждение.''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|Другие страницы]] ссылаются на страницу, которую вы собираетесь удалить или содержат её.",
+'deleting-backlinks-warning' => "'''Предупреждение.''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|Другие страницы]] ссылаются на страницу, которую вы собираетесь удалить, или содержат её.",
 
 # Rollback
 'rollback' => 'Откатить изменения',
@@ -2738,7 +2743,7 @@ $UNWATCHURL
 'protect-locked-dblock' => "Уровень защиты не может быть изменён, так как основная база данных временно заблокирована.
 Текущие установки для страницы '''$1''':",
 'protect-locked-access' => "У вашей учётной записи недостаточно прав для изменения уровня защиты страницы. Текущие установки для страницы '''$1''':",
-'protect-cascadeon' => 'Эта страница защищена в связи с тем, что она включена {{PLURAL:$1|1=в указанную ниже страницу, для которой|в нижеследующие страницы, для которых}} установлена каскадная защита. Вы можете изменить уровень защиты этой страницы, но это не повлияет на каскадную защиту.',
+'protect-cascadeon' => 'Эта страница сейчас защищена в связи с тем, что она включена в {{PLURAL:$1|1=указанную ниже страницу, для которой|нижеследующие страницы, для которых}} установлена каскадная защита. Изменения уровня защиты этой страницы не повлияет на каскадную защиту.',
 'protect-default' => 'Без защиты',
 'protect-fallback' => 'Разрешено только участникам с правами «$1»',
 'protect-level-autoconfirmed' => 'Разрешено только автоподтверждённым участникам',
index 85f60a6..69393fa 100644 (file)
@@ -364,7 +364,6 @@ $1',
 'disclaimers' => 'Вылучіня одповідности',
 'disclaimerpage' => 'Project:Вылучіня одповідности',
 'edithelp' => 'Поміч едітованя',
-'helppage' => 'Help:Обсяг',
 'mainpage' => 'Головна сторінка',
 'mainpage-description' => 'Головна сторінка',
 'policy-url' => 'Project:Правила',
@@ -823,7 +822,7 @@ $2
 Оно може быти змінене на  [[Special:ChangePassword|сторінцї про зміну гесла]].',
 'newarticle' => '(Нова)',
 'newarticletext' => "Перешли сте на сторінку, котра іщі не екзістує.
-Нову сторінку створите так, же зачнете писати в окнї ниже (вид. [[{{MediaWiki:Helppage}}|сторінка помочі]], про вецей інформації).
+Нову сторінку створите так, же зачнете писати в окнї ниже (вид. [$1 сторінка помочі], про вецей інформації).
 Кідь сте ту помылково, просто кликните в переглядачу на '''назад'''",
 'anontalkpagetext' => "----''Тото є діскузна сторінка анонімного хоснователя, котрый іщі не має конто або го не хоснує. Про&nbsp;ёго ідентіфікацію прото мусиме хосновати IP адресу. Таку IP адресу може хосновати декілько хоснователїв. Покы сьте анонімный хоснователь і&nbsp;і уважуєте, же вам суть адресованы ірелевантны коментарї, просиме, [[Special:UserLogin/signup|створьте собі конто]] або [[Special:UserLogin|ся приголосте]], уникнете тым будучій замінї з&nbsp;іншыма анонімныма хоснователями.''",
 'noarticletext' => 'Теперь на тїй сторінцї не є текст.
@@ -832,7 +831,7 @@ $2
 або [{{fullurl:{{FULLPAGENAME}}|action=edit}} вытворити сторінку з таков назвов]</span>.',
 'noarticletext-nopermission' => 'Теперь на тій сторінцї тексту не є.
 Можете [[Special:Search/{{PAGENAME}}|глядати тоту назву]] в іншых сторінках, або <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} глядати в лоґах]</span>, но вы не мате права створити тоту сторінку.',
-'missing-revision' => 'Ревізія #$1 сторінкы з назвов „{{PAGENAME}}“ не є.
+'missing-revision' => 'Ревізія #$1 сторінкы з назвов „{{FULLPAGENAME}}“ не є.
 
 Гевсе звычайно запрічінене так, же наслїдовали сьте застарїлый історічный одказ на сторінку, котра была уж змазана.
 Детайлы можуть быти найджены в [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} книзї змазаных сторінок].',
@@ -1050,8 +1049,7 @@ $3 зазначів тоту причіну: ''$2''",
 'revdelete-no-file' => 'Зазначеный файл не єствує.',
 'revdelete-show-file-confirm' => 'На певно собі хочете посмотрити вылучену ревізію файлу „<nowiki>$1</nowiki>“ з $2, $3?',
 'revdelete-show-file-submit' => 'Гей',
-'revdelete-selected' => "'''{{PLURAL:$2|Выбрана ревізія|Выбраны ревізії}} з [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Выбрана протоколована подїя|Выбраны протоколованы подїї}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Выбрана протоколована подїя|Выбраны протоколованы подїї}}:',
 'revdelete-confirm' => 'Просиме Вас, потвердьте, же то хочете справды зробити, же собі усвідомлюєте резултат і же є то в згодї з  [[{{MediaWiki:Policy-url}}|правилами]].',
 'revdelete-suppress-text' => "Затаёваня бы ся мало хосновати  ''лем''' в такых припадах:
 * Потенціално огваряючі інформації
index 33fd6a5..f279461 100644 (file)
@@ -279,56 +279,56 @@ $digitGroupingPattern = "##,##,###";
 
 $messages = array(
 # User preference toggles
-'tog-underline' => 'समà¥\8dपरà¥\8dà¤\95तनà¥\8dतà¥\8bà¤\83 à¤\85धà¥\8bरेखाङ्कनम्:',
+'tog-underline' => 'परिसनà¥\8dधà¥\87à¤\83 à¤\85धà¥\8b रेखाङ्कनम्:',
 'tog-hideminor' => 'सद्योजातानां परिवर्तनानां लघूनि सम्पादनानि गोप्यन्ताम्',
 'tog-hidepatrolled' => 'सद्योजातानां परिवर्तनानां परिशीलितानि सम्पादनानि गोप्यन्ताम्',
-'tog-newpageshidepatrolled' => 'नूतनपृष्ठानाम् आवलीतः परिशीलितानि पृष्ठानि गोप्यन्त्ताम्',
-'tog-extendwatchlist' => 'अवेक्षणसूच्यां सर्वाणि परिवर्तनानि दर्श्यन्ताम्, न केवलं सद्योजातानि',
-'tog-usenewrc' => 'विस्तृतानि सद्योजातानि परिवर्तनानि उपयुज्यन्ताम् (जावालिपिः अपेक्ष्यते)',
-'tog-numberheadings' => 'शीर्षकान् स्वयमेव सक्रमांकीकरोतु।',
-'tog-showtoolbar' => 'सम्पादन-उपकरण-पट्टिका दर्श्यताम् (जावालिपिः अपेक्ष्यते)',
-'tog-editondblclick' => 'द्विक्लिक्कारेण पृष्ठानि सम्पाद्यन्ताम् (जावालिपिः अपेक्ष्यते)',
-'tog-editsectiononrightclick' => 'विभागशीर्षकाणामुपरि दक्षिणक्लिक्करणेन विभागसम्पादनं समर्थ्यताम् (जावालिपिः अपेक्ष्यते)।',
-'tog-rememberpassword' => 'अस्मिन् सङ्गणके मम प्रवेशः स्मर्यताम् (अधिकतमम् $1 {{PLURAL:$1|दिनम्|दिनानि}})',
-'tog-watchcreations' => 'मया रचितानि पृष्ठानि मम अवेक्षणसूच्यां योज्यन्ताम्।',
-'tog-watchdefault' => 'मया सम्पादितानि पृष्ठानि मम अवेक्षणसूच्यां योज्यन्ताम्।',
-'tog-watchmoves' => 'मया चालितानि पृष्ठानि मम अवेक्षणसूच्यां योज्यन्ताम्।',
-'tog-watchdeletion' => 'मया अपाकृतानि पृष्ठानि मम अवेक्षणसूच्यां योज्यन्ताम्।',
-'tog-minordefault' => '
-मम सर्वाणि सम्पादनानि लघुत्वेन वर्त्यन्ताम्।',
-'tog-previewontop' => 'सम्पादनात् पूर्वं प्राग्दृश्यं दर्श्यताम्।',
-'tog-previewonfirst' => 'प्रथमसम्पादनस्य प्राग्दृश्यं दर्श्यताम्।',
-'tog-enotifwatchlistpages' => 'मम अवेक्षणसूच्यां विद्यमाने पृष्ठे परिवर्तिते सति ईपत्रद्वारा ज्ञाप्यताम्।',
-'tog-enotifusertalkpages' => 'मम योजकसंभाषणपृष्ठे परिवर्तिते सति ईपत्रद्वारा ज्ञाप्यताम्',
-'tog-enotifminoredits' => 'लघुपरिवर्तनेषु सत्सु अपि ईपत्रद्वारा ज्ञाप्यताम्',
-'tog-enotifrevealaddr' => 'अधिसूचना-ईपत्रेषु मम ईपत्रसङ्केतः प्रदर्श्यताम्',
-'tog-shownumberswatching' => 'निरीक्षमाणानां योजकानां संख्या दर्श्यताम्',
-'tog-oldsig' => 'विद्यमानं हस्ताङ्कनम्:',
-'tog-fancysig' => 'हस्ताक्षराणि विकिपाठवत् सन्तु (स्वचालित-संबंधनेभ्यः रहितानि)।',
-'tog-uselivepreview' => 'संपादनेन सहैव प्राग्दृश्यं दर्शयतु (जावालिपिः अपेक्ष्यते) (प्रयोगात्मकम्)।',
-'tog-forceeditsummary' => 'सम्पादनसारांशः न ददामि चेत् तदा मां ज्ञापयतु।',
-'tog-watchlisthideown' => 'मम सम्पादनानि अवेक्षणसूच्याः गोप्यन्ताम्।',
-'tog-watchlisthidebots' => 'बोट्कृतानि सम्पादनानि अवेक्षणसूच्याः गोप्यन्ताम्।',
-'tog-watchlisthideminor' => 'मम अवेक्षणसूच्याः लघूनि सम्पादनानि गोप्यन्ताम्।',
-'tog-watchlisthideliu' => 'प्रविष्टैः योजकैः कृतानि सम्पादनानि अवेक्षणसूच्याः गोप्यन्ताम्।',
-'tog-watchlisthideanons' => 'अनामकैः योजकैः कृतानि सम्पादनानि अवेक्षणसूच्याः गोप्यन्ताम्।',
-'tog-watchlisthidepatrolled' => 'मम अवेक्षणसूच्याः दृष्टपूर्वाणि सम्पादनानि गोप्यन्ताम्।',
-'tog-ccmeonemails' => 'अन्येभ्यः प्रेषितानाम् ईपत्राणां प्रतिकृतिः मत्कृते प्रेष्यताम्',
-'tog-diffonly' => 'आवृत्तिसु अंतरं दर्शयन् पुरातनाः आवृत्तयः मा दर्शयतु।',
+'tog-newpageshidepatrolled' => 'नूतनपृष्ठानाम् आवलेः परिशीलितानि पृष्ठानि गोप्यन्त्ताम्',
+'tog-extendwatchlist' => 'न केवलं सद्योजातानि अपि तु अवेक्षणाऽऽवलेः सर्वाणि परिवर्तनानि दृश्यन्ताम्',
+'tog-usenewrc' => 'सद्यपरिवर्तनावल्यां, अवेक्षणाऽऽवल्यां च पृष्ठानि विभागानुसारं प्रदर्श्यन्ताम् (जावा-लिपिः अपेक्ष्यते)',
+'tog-numberheadings' => 'शीर्षकान् स्वयमेव सक्रमाङ्कीकरोतु।',
+'tog-showtoolbar' => 'उपकरण-पट्टिका दर्श्यताम्',
+'tog-editondblclick' => 'वारद्वयं क्लिक-करणेन पृष्ठानि सम्पाद्यन्ताम् (जावा-लिपिः अपेक्ष्यते)',
+'tog-editsectiononrightclick' => 'विभागशीर्षकाणामुपरि दक्षिणक्लिक्-करणेन विभागः सम्पाद्यताम् ।',
+'tog-rememberpassword' => 'अस्मिन् सङ्गणके मम प्रवेशः स्मर्यताम् (अधिकतमं $1 {{PLURAL:$1|दिनम्|दिनानि}})',
+'tog-watchcreations' => 'मया रचितानि पृष्ठानि मम अवेक्षणाऽऽवल्यां योज्यन्ताम् ।',
+'tog-watchdefault' => 'मया सम्पादितानि पृष्ठानि मम अवेक्षणाऽऽवल्यां योज्यन्ताम्।',
+'tog-watchmoves' => 'मया चालितानि पृष्ठानि मम अवेक्षणाऽऽवल्यां योज्यन्ताम्।',
+'tog-watchdeletion' => 'मया अपाकृतानि पृष्ठानि मम अवेक्षणाऽऽवल्यां योज्यन्ताम्।',
+'tog-minordefault' => 'मम सर्वाणि सम्पादनानि लघुत्वेन प्रदर्श्यन्ताम् ।',
+'tog-previewontop' => 'सम्पादनात् पूर्वं प्राग्दृश्यं दर्श्यताम् ।',
+'tog-previewonfirst' => 'प्रथमसम्पादनस्य प्राग्दृश्यं दर्श्यताम् ।',
+'tog-enotifwatchlistpages' => 'मम अवेक्षणाऽऽवल्यां विद्यमानां पृष्ठानां परिवर्तने सति ई-पत्रद्वारा सूचयताम',
+'tog-enotifusertalkpages' => 'मम योजकसम्भाषणपृष्ठस्य परिवर्तने सति ई-पत्रद्वारा सूचयताम्',
+'tog-enotifminoredits' => 'पृष्ठस्य सञ्चिकायाः वा लघुपरिवर्तनेषु सत्सु अपि ई-पत्रद्वारा सूच्यताम्',
+'tog-enotifrevealaddr' => 'सूचना-ईपत्रेषु मम ई-पत्रसङ्केतः प्रदर्श्यताम्',
+'tog-shownumberswatching' => 'निरीक्षमाणानां योजकानां सङ्ख्या दर्श्यताम्',
+'tog-oldsig' => 'वर्तमानहस्ताक्षरम्:',
+'tog-fancysig' => 'हस्ताक्षरं विकि-पाठवत् परिगण्यताम् (स्वचालित-परिसन्धिं विहाय)',
+'tog-uselivepreview' => 'सम्पादनेन सहैव प्राग्दृश्यं दर्शयतु (प्रयोगात्मकम्)।',
+'tog-forceeditsummary' => 'सम्पादनसारांशः न ददामि चेत् सूच्यताम्',
+'tog-watchlisthideown' => 'अवेक्षणाऽऽवल्याः मम सम्पादनानि गोप्यन्ताम ।',
+'tog-watchlisthidebots' => 'अवेक्षणाऽऽवल्याः बोट-द्वारा कृतानि सम्पादनानि गोप्यन्ताम्',
+'tog-watchlisthideminor' => 'मम अवेक्षणाऽऽवल्याः लघुसम्पादनानि गोप्यन्ताम्',
+'tog-watchlisthideliu' => 'प्रविष्टैः योजकैः कृतानि सम्पादनानि अवेक्षणाऽऽवल्याः गोप्यन्ताम्',
+'tog-watchlisthideanons' => 'अनामकैः योजकैः कृतानि सम्पादनानि अवेक्षणाऽऽवल्याः गोप्यन्ताम्',
+'tog-watchlisthidepatrolled' => 'मम अवेक्षणाऽऽवल्याः पूर्वदृष्टानि सम्पादनानि गोप्यन्ताम्',
+'tog-ccmeonemails' => 'अन्येभ्यः प्रेषितानाम् ई-पत्राणां प्रतिकृतिः मत्कृते प्रेष्यताम्',
+'tog-diffonly' => 'संस्करणेषु भेदं दर्शयितुं लेखः गोप्यताम्',
 'tog-showhiddencats' => 'निगूढाः वर्गाः दर्श्यन्ताम्',
-'tog-norollbackdiff' => 'पूर्णप्रतिगमने कृते मा दर्शयतु तद् अंतरम्।',
-'tog-useeditwarning' => 'सम्पादनानन्तरं रक्षणेन विना पृष्ठत्यागावसरे स्मार्यताम्',
+'tog-norollbackdiff' => '"प्रमुञ्चतु" इत्यस्य उपयोगानन्तरस्य भेदः गोप्यताम्',
+'tog-useeditwarning' => 'सम्पादनम् अरक्ष्य पृष्ठं त्यजामि चेत् सूच्यताम्',
+'tog-prefershttps' => 'प्रेवेशानन्तरं सर्वदा संरक्षितसम्पर्कः एव उपयुज्याम्',
 
 'underline-always' => 'सर्वदा',
 'underline-never' => 'कदापि न',
-'underline-default' => 'बà¥\8dराà¤\89सर à¤\85à¤\95थितपà¥\8dरà¤\95रणमà¥\8d।',
+'underline-default' => 'पà¥\82रà¥\8dवनिरà¥\8dधारिता à¤¤à¥\8dवà¤\9aा à¤\86वà¥\83तà¥\8dतिà¤\83 à¤µà¤¾',
 
 # Font style option in Special:Preferences
-'editfont-style' => 'समà¥\8dपादन-à¤\95à¥\8dषà¥\87तà¥\8dरसà¥\8dय à¤®à¥\81दà¥\8dराà¤\95à¥\8dषराणाà¤\82 शैली:',
-'editfont-default' => 'विà¤\9aरà¤\95सà¥\8dय à¤\85à¤\95थित-पà¥\8dरà¤\95रणानà¥\81सारमà¥\8d (बà¥\8dराà¤\89सरà¥\8d à¤¡à¤¿à¤«à¤¼à¥\89लà¥\8dà¤\9fà¥\8d)',
-'editfont-monospace' => 'à¤\8fà¤\95लानà¥\8dतरितानि à¤®à¥\81दà¥\8dराà¤\95à¥\8dषराणि',
-'editfont-sansserif' => 'à¤\95à¥\8bणविहà¥\80नानि à¤®à¥\81दà¥\8dराà¤\95à¥\8dषराणि',
-'editfont-serif' => 'सà¤\95à¥\8bणानि à¤®à¥\81दà¥\8dराà¤\95à¥\8dषराणि',
+'editfont-style' => 'समà¥\8dपादन-à¤\95à¥\8dषà¥\87तà¥\8dरसà¥\8dय à¤\85à¤\95à¥\8dषरशैली:',
+'editfont-default' => 'à¤\97वà¥\87à¤\95à¥\8dषणसà¥\8dय à¤®à¥\82लविनà¥\8dयासाधारà¥\87ण (Browser default)',
+'editfont-monospace' => 'à¤\8fà¤\95ावà¤\95ाशयà¥\81à¤\95à¥\8dतà¤\82 à¤µà¤°à¥\8dणमà¥\8d',
+'editfont-sansserif' => 'à¤\95à¥\8bणविहà¥\80नà¤\82 à¤µà¤°à¥\8dणमà¥\8d',
+'editfont-serif' => 'à¤\95à¥\8bणयà¥\81à¤\95à¥\8dतà¤\82 à¤µà¤°à¥\8dणमà¥\8d',
 
 # Dates
 'sunday' => 'रविवासरः',
@@ -381,64 +381,76 @@ $messages = array(
 'oct' => 'ओक्टो.',
 'nov' => 'नवे.',
 'dec' => 'डिस.',
+'january-date' => 'जनवरी $1',
+'february-date' => 'फरवरी $1',
+'march-date' => 'मार्च $1',
+'april-date' => 'अप्रैल $1',
+'may-date' => 'मई $1',
+'june-date' => 'जुन $1',
+'july-date' => 'जूलाई $1',
+'august-date' => 'अगस्त $1',
+'september-date' => 'March $1',
+'october-date' => 'अक्तूबर $1',
+'november-date' => 'नवम्बर $1',
+'december-date' => 'दिसम्बर $1',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|वर्गः|वर्गाः}}',
 'category_header' => '"$1" वर्गेऽस्मिन् विद्यमानानि पृष्ठानि',
 'subcategories' => 'उपवर्गाः',
 'category-media-header' => '"$1" वर्गेऽस्मिन् विद्यमानं माध्यमम्',
-'category-empty' => "''अस्मिन् वर्गे अधुना न कोऽपि पृष्ठं, माध्यमं वा विद्यते।''",
+'category-empty' => '<em>वर्गेऽस्मिन् न किमपि पृष्ठं माध्यमं वा विद्यते ।</em>',
 'hidden-categories' => '{{PLURAL:$1|निगूढः वर्गः|निगूढाः वर्गाः}}',
 'hidden-category-category' => 'निगूढाः वर्गाः',
-'category-subcat-count' => '{{PLURAL:$2|अस्मिन् वर्गे अधोलिखिताः उपवर्गाः विद्यन्ते|अस्मिन् वर्गे {{PLURAL:$1|अधोलिखितः उपवर्गः अस्ति|अधोलिखिताः $1 उपवर्गाः सन्ति}}, सर्वे उपवर्गाः $2 ।}}',
-'category-subcat-count-limited' => 'अस्मिन् वर्गे {{PLURAL:$1|अधोलिखितह् $1 वर्गः अस्ति|अधोलिखिताः $1 वर्गाः सन्ति}}।',
-'category-article-count' => '{{PLURAL:$2|अस्मिन् वर्गे केवलम् इदं पृष्ठं विद्यते ।|अस्मिन् वर्गे  {{PLURAL:$1|अधोलिखितं पृष्ठमस्ति|$1 अधोलिखितानि पृष्ठानि सन्ति}}, सर्वाणि पृष्ठानि $2 ।}}',
-'category-article-count-limited' => 'अधोलिखितं {{PLURAL:$1|पृष्ठम् अस्मिन् श्रेण्याम् अस्ति|$1 पृष्ठाणि अस्मिन् श्रेण्यां सन्ति}}।',
-'category-file-count' => '{{PLURAL:$2|अस्मिन् वर्गे केवलम् इदं पृष्ठं विद्यते ।|अस्मिन् वर्गे  {{PLURAL:$1|अधोलिखितं पृष्ठमस्ति|$1 अधोलिखितानि पृष्ठानि सन्ति}}, सर्वाणि पृष्ठानि $2 ।}}',
-'category-file-count-limited' => 'एतस्यां श्रेण्यां {{PLURAL:$1|संचिका|$1 संचिकाः}} अधस्तात् सूचिता{{PLURAL:$1||ः}} -
-The following {{PLURAL:$1|file is|$1 files are}} in the current category.',
-'listingcontinuesabbrev' => 'आगामि.',
-'index-category' => 'सूचकांकितानि पृष्ठानि',
-'noindex-category' => 'नावलितानि पृष्ठानि',
-'broken-file-category' => 'भग्नसम्बन्धैः युक्तानि पृष्ठाणि',
-
-'about' => 'इत्यस्मिन् विषये:',
+'category-subcat-count' => '$2 इत्येषु {{PLURAL:$2|वर्गेऽस्मिन् अधो लिखिताः उपवर्गाः विद्यन्ते |वर्गेऽस्मिन् {{PLURAL:$1|अधो लिखितः उपवर्गः अस्ति|अधो लिखिताः $1 उपवर्गाः सन्ति}}}}',
+'category-subcat-count-limited' => 'अस्मिन् वर्गे {{PLURAL:$1|अधो लिखितः $1 वर्गः अस्ति|अधो लिखिताः $1 वर्गाः सन्ति}}',
+'category-article-count' => '$2 इत्येषु {{PLURAL:$2|वर्गेऽस्मिन् अधो लिखितानि पृष्ठानि विद्यन्ते |वर्गेऽस्मिन् {{PLURAL:$1|अधो लिखितं पृष्ठम् अस्ति|अधो लिखितानि $1 पृष्ठानि सन्ति}}}}',
+'category-article-count-limited' => 'निम्नोल्लिखित{{PLURAL:$1|पृष्ठं|$1 पृष्ठानि}} वर्गेऽस्मिन् {{PLURAL:$1|अस्ति|$1 सन्ति}}',
+'category-file-count' => '$2 इत्येषु {{PLURAL:$2|वर्गेऽस्मिन् अधो उल्लिखिताः सञ्चिकाः विद्यन्ते |वर्गेऽस्मिन् {{PLURAL:$1|अधो उल्लिखिता सञ्चिका अस्ति|अधो उल्लिखिताः $1 सञ्चिकाः सन्ति}}}}',
+'category-file-count-limited' => 'निम्नोल्लिखित{{PLURAL:$1|सञ्चिका|$1 सञ्चिकाः}} वर्गेऽस्मिन् {{PLURAL:$1|अस्ति|$1 सन्ति}}',
+'listingcontinuesabbrev' => 'अनुवर्तते',
+'index-category' => 'अनुक्रमणिकापृष्ठानि',
+'noindex-category' => 'नानुक्रमणिकपृष्ठानि',
+'broken-file-category' => 'अविद्यानानां सञ्चिकानाम् आवलिः',
+
+'about' => 'विषये',
 'article' => 'लेखः',
 'newwindow' => '(इदं नवीने गवाक्षे उद्घाट्यते)',
 'cancel' => 'निरस्यताम्',
 'moredotdotdot' => 'अपि च...',
-'mypage' => 'मम पृष्ठम्',
+'morenotlisted' => 'एषाऽऽवलिः अपूर्णा अस्ति ।',
+'mypage' => 'पृष्ठम्',
 'mytalk' => 'सम्भाषणम्',
-'anontalk' => 'à¤\85सà¥\8dय à¤\86à¤\87.पà¥\80. à¤¸à¤\82à¤\95à¥\87तसà¥\8dय कृते सम्भाषणम्',
-'navigation' => 'सà¤\9eà¥\8dà¤\9aरणमà¥\8d',
+'anontalk' => 'à¤\85सà¥\8dय à¤\85नà¥\8dतरà¥\8dà¤\9cालसà¤\82विदà¤\83 (I P address) कृते सम्भाषणम्',
+'navigation' => 'सà¤\9eà¥\8dà¤\9aरणà¤\82',
 'and' => '&#32;तथा च',
 
 # Cologne Blue skin
 'qbfind' => 'अन्विष्यताम्',
-'qbbrowse' => 'बà¥\8dराà¤\89सà¥\8d à¤\87तà¥\8dयà¥\87ततà¥\8d à¤\95रà¥\8bतà¥\81।',
+'qbbrowse' => 'à¤\85नà¥\8dविषà¥\8dयतामà¥\8d',
 'qbedit' => 'सम्पाद्यताम्',
 'qbpageoptions' => 'इदं पृष्ठम्',
 'qbmyoptions' => 'मम पृष्ठानि',
 'faq' => 'सामान्यजिज्ञासाः (FAQ)',
-'faqpage' => 'Project:बहà¥\81धा à¤ªà¥\83à¤\9bà¥\8dयमानाà¤\83 à¤ªà¥\8dरशà¥\8dनाà¤\83',
+'faqpage' => 'Project:सामानà¥\8dयà¤\9cिà¤\9cà¥\8dà¤\9eासाà¤\83(FAQ)',
 
 # Vector skin
 'vector-action-addsection' => 'विषयः योज्यताम्',
-'vector-action-delete' => 'विलà¥\81पà¥\8dयताम्',
-'vector-action-move' => 'à¤\9aाल्यताम्',
+'vector-action-delete' => 'à¤\85पाà¤\95à¥\8dरियताम्',
+'vector-action-move' => 'शà¥\80रà¥\8dषà¤\95à¤\82 à¤ªà¤°à¤¿à¤µà¤°à¥\8dत्यताम्',
 'vector-action-protect' => 'संरक्ष्यताम्',
-'vector-action-undelete' => 'à¤\85पाà¤\95रणसà¥\8dय à¤¨à¤¿à¤°à¤¸à¤¨à¤®à¥\8d',
-'vector-action-unprotect' => 'सà¥\81रà¤\95à¥\8dषितà¥\80à¤\95रणसà¥\8dय à¤¨à¤¿à¤°à¤¸à¤¨à¤®à¥\8d',
+'vector-action-undelete' => 'नापाà¤\95à¥\83तà¤\82',
+'vector-action-unprotect' => 'सà¤\82रà¤\95à¥\8dषणà¤\82 à¤ªà¤°à¤¿à¤µà¤°à¥\8dतयतà¥\81',
 'vector-view-create' => 'सृज्यताम्',
 'vector-view-edit' => 'सम्पाद्यताम्',
-'vector-view-history' => 'à¤\87तिहासà¤\83 à¤¦à¤°à¥\8dश्यताम्',
+'vector-view-history' => 'à¤\87तिहासà¤\83 à¤¦à¥\83श्यताम्',
 'vector-view-view' => 'पठ्यताम्',
 'vector-view-viewsource' => 'स्रोतः दृश्यताम्',
 'actions' => 'क्रियाः',
-'namespaces' => 'नामाकाशः',
-'variants' => 'पाठभेदः',
+'namespaces' => 'नामाà¤\95ाशाà¤\83',
+'variants' => 'पाठभà¥\87दाà¤\83',
 
-'navigation-heading' => 'मारà¥\8dà¤\97णसà¥\82à¤\9aिः',
+'navigation-heading' => 'सà¤\9eà¥\8dà¤\9aरणावलिः',
 'errorpagetitle' => 'दोषः',
 'returnto' => '$1 प्रति निवर्त्यताम् ।',
 'tagline' => '{{SITENAME}} तः',
@@ -449,7 +461,7 @@ The following {{PLURAL:$1|file is|$1 files are}} in the current category.',
 'searcharticle' => 'गम्यताम्',
 'history' => 'पृष्ठस्य इतिहासः',
 'history_short' => 'इतिहासः',
-'updatedmarker' => 'मम à¤ªà¥\8cरà¥\8dविà¤\95-à¤\86à¤\97मन-पशà¥\8dà¤\9aातà¥\8d à¤ªà¤°à¤¿à¤µà¤°à¥\8dतितानि',
+'updatedmarker' => 'पà¥\82रà¥\8dवपà¥\8dरवà¥\87शाननà¥\8dतरसà¥\8dय à¤ªà¤°à¤¿à¤µà¤°à¥\8dतनानि',
 'printableversion' => 'मुद्रणयोग्यं संस्करणम्',
 'permalink' => 'स्थायिपरिसन्धिः',
 'print' => 'मुद्र्यताम्',
@@ -460,59 +472,58 @@ The following {{PLURAL:$1|file is|$1 files are}} in the current category.',
 'create-this-page' => 'इदं पृष्ठं सृज्यताम्',
 'delete' => 'अपाक्रियताम्',
 'deletethispage' => 'इदं पृष्ठम् अपाक्रियताम्',
-'undelete_short' => '{{PLURAL:$1|एकं सम्पादनं|$1 सम्पादनानि}} अनपाकरोतु',
-'viewdeleted_short' => 'दर्श्यताम् {{PLURAL:$1|एको विलुप्तं सम्पादनम्|$1 विलुप्तानि सम्पादनानि}}',
+'undeletethispage' => 'इदं पृष्ठं न अपाक्रियताम्',
+'undelete_short' => '{{PLURAL:$1|एकं सम्पादनं|$1 सम्पादनानि}} न अपाकरोतु',
+'viewdeleted_short' => '{{PLURAL:$1|एकम् अपाकृतं सम्पादनम्  |$1 अपाकृतानि सम्पादनानि}} दृश्यताम्',
 'protect' => 'संरक्ष्यताम्',
 'protect_change' => 'परिवर्त्यताम्',
 'protectthispage' => 'इदं पृष्ठं संरक्ष्यताम्',
 'unprotect' => 'संरक्षणं परिवर्तयतु',
-'unprotectthispage' => 'à¤\85सà¥\8dय à¤ªà¥\81à¤\9fस्य सुरक्षां परिवर्तयतु ।',
+'unprotectthispage' => 'à¤\85सà¥\8dय à¤ªà¥\83षà¥\8dठस्य सुरक्षां परिवर्तयतु ।',
 'newpage' => 'नवीनपृष्ठम्',
 'talkpage' => 'अस्य पृष्ठस्य विषये चर्चा क्रियताम्',
 'talkpagelinktext' => 'सम्भाषणम्',
 'specialpage' => 'विशेषपृष्ठम्',
-'personaltools' => 'वà¥\88यà¤\95à¥\8dतिà¤\95साधनानि',
+'personaltools' => 'वà¥\88यà¤\95à¥\8dतिà¤\95à¥\8bपà¤\95रणानि',
 'postcomment' => 'नवीनः विभागः',
 'articlepage' => 'लेखः दृश्यताम्',
 'talk' => 'सम्भाषणम्',
 'views' => 'मतानि',
-'toolbox' => 'साधनशलाà¤\95ा',
+'toolbox' => 'à¤\89पà¤\95रणानि',
 'userpage' => 'योजकपृष्ठं दृश्यताम्',
 'projectpage' => 'प्रकल्पपृष्ठं दृश्यताम्',
 'imagepage' => 'सञ्चिकापृष्ठं दृश्यताम्',
 'mediawikipage' => 'सन्देशपृष्ठं दृश्यताम्।',
 'templatepage' => 'फलकपृष्ठं दृश्यताम्',
-'viewhelppage' => 'सहायपृष्ठं दृश्यताम्',
+'viewhelppage' => 'साहायà¥\8dयपृष्ठं दृश्यताम्',
 'categorypage' => 'वर्गाणां पृष्ठं दृश्यताम्',
 'viewtalkpage' => 'चर्चा दृश्यताम्',
 'otherlanguages' => 'अन्यासु भाषासु',
 'redirectedfrom' => '($1 इत्यस्मात् पुनर्निर्दिष्टम्)',
-'redirectpagesub' => 'à¤\85नà¥\81पà¥\8dरà¥\87षण-पà¥\83षà¥\8dठम्',
+'redirectpagesub' => 'पà¥\83षà¥\8dठमà¥\8d à¤\85नà¥\81पà¥\8dरà¥\87षà¥\8dयताम्',
 'lastmodifiedat' => '$1 (तमे) दिनाङ्के अन्तिमसम्पादनं $2 समये अभवत्',
 'viewcount' => 'एतत्पृष्ठं {{PLURAL:$1|एक वारं|$1 वारं}} दृष्टम् अस्ति',
 'protectedpage' => 'संरक्षितपृष्ठम्',
 'jumpto' => 'अत्र गम्यताम् :',
 'jumptonavigation' => 'सञ्चरणं',
 'jumptosearch' => 'अन्वेषणम्',
-'view-pool-error' => 'भोः, अधुना वितारकः अतिभाराक्रान्तः ।
-बहवः योजकाः एतत् पृष्ठं द्रष्टुं प्रयतमानाः सन्ति ।
-कृपया, कञ्चित्कालं प्रतीक्षतां करोतु । 
-$1',
-'pool-timeout' => 'कालावधिः समाप्ता, यन्त्रणस्यार्थे प्रतीक्षते',
-'pool-queuefull' => 'कुण्डपंक्तिः (पूल् क्यू इत्येषा) पूर्णा अस्ति।',
-'pool-errorunknown' => 'अज्ञाता त्रुटिः',
+'view-pool-error' => 'क्षम्यताम् ! सद्यः वितरकस्य (server) उपरि बहु कार्यभारः अस्ति । 
+बहवः जनाः एतत् पृष्ठं पश्यन्तः सन्ति । 
+एतत् पृष्ठं पुनर्द्रष्टुं पतिक्षा क्रियताम् । $1',
+'pool-timeout' => 'संरक्षणार्थं कालावधिः समाप्ता',
+'pool-queuefull' => 'Pool इति पङ्कतिः पूर्णा अस्ति ।',
+'pool-errorunknown' => 'अज्ञातदोषः',
 
 # All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
 'aboutsite' => '{{SITENAME}} विषयकं',
 'aboutpage' => 'Project:विषयकम्',
-'copyright' => 'à¤\85सà¥\8dय à¤\98à¤\9fà¤\95ानि $1 à¤\87तà¥\8dयसà¥\8dयानà¥\8dतरà¥\8dà¤\97तानि à¤\89पलबà¥\8dधानि।',
+'copyright' => 'भिनà¥\8dनà¥\8bलà¥\8dलà¤\96à¤\83 à¤¨ à¤­à¤µà¤¤à¤¿ à¤¤à¤¾à¤µà¤¤à¥\8d $1 à¤\85तà¥\8dर à¤\89लà¥\8dलà¥\87à¤\96à¥\8b à¤­à¤µà¤¤à¤¿ ।',
 'copyrightpage' => '{{ns:project}}:प्रतिकृत्यधिकारः',
 'currentevents' => 'वर्तमानवार्ताः',
 'currentevents-url' => 'Project:वर्तमानवार्ताः',
 'disclaimers' => 'अस्वीकारः',
 'disclaimerpage' => 'Project:सामान्याऽस्वीकरणम्',
 'edithelp' => 'सम्पादनार्थं साहाय्यम्',
-'helppage' => 'Help:अन्तर्वस्तु',
 'mainpage' => 'मुख्यपृष्ठम्',
 'mainpage-description' => 'मुख्यपृष्ठम्',
 'policy-url' => 'Project:नीतिः',
@@ -521,22 +532,22 @@ $1',
 'privacy' => 'गोपनीयतानीतिः',
 'privacypage' => 'Project:गोपनीयतानीतिः',
 
-'badaccess' => 'à¤\85नà¥\81à¤\9cà¥\8dà¤\9eा-पà¥\8dरमादः',
-'badaccess-group0' => 'भवदरà¥\8dथमà¥\8d, à¤\85तà¥\8dर à¤ªà¥\8dरारà¥\8dथितà¤\95à¥\8dरियायाà¤\83 à¤ªà¥\8dरवरà¥\8dतनà¤\82 à¤¨ à¤\85नà¥\81मतमà¥\8d।',
-'badaccess-groups' => 'भवता à¤ªà¥\8dरारà¥\8dथिता à¤\95à¥\8dरिया à¤\95à¥\87वलà¥\87 {{PLURAL:$2|à¤\85सà¥\8dमिनà¥\8d à¤¸à¤®à¥\82हà¥\87|à¤\8fतà¥\87षà¥\81 à¤¸à¤®à¥\82हà¥\87षà¥\81}} à¤\85नà¥\81मता à¤\85सà¥\8dति: $1।',
+'badaccess' => 'à¤\85नà¥\81मतिदà¥\8bषः',
+'badaccess-group0' => 'यसà¥\8dयाà¤\83 à¤\95à¥\8dरियायाà¤\83 à¤\95à¥\83तà¥\87 à¤­à¤µà¤¾à¤¨à¥\8d/भवतà¥\80 à¤\89दà¥\8dयà¥\81à¤\95à¥\8dता, à¤¤à¤¸à¥\8dयà¥\88 à¤\95à¥\8dरियायà¥\88 à¤\85नà¥\81मति à¤¨à¤¾à¤¸à¥\8dति ।',
+'badaccess-groups' => 'यसà¥\8dयाà¤\83 à¤\95à¥\8dरियायाà¤\83 à¤\95à¥\83तà¥\87 à¤­à¤µà¤¾à¤¨à¥\8d/भवतà¥\80 à¤\89दà¥\8dयà¥\81à¤\95à¥\8dता, à¤¤à¤¸à¥\8dयà¥\88 à¤\95à¥\8dरियायà¥\88 $1 {{PLURAL:$2|à¤\85सà¥\8dमिनà¥\8d à¤¸à¤®à¥\82हà¥\87|à¤\8fतà¥\87षà¥\81 à¤¸à¤®à¥\82हà¥\87षà¥\81}} à¤\85नà¥\81मतिà¤\83 à¤¨à¤¾à¤¸à¥\8dति ।',
 
-'versionrequired' => 'मीडीयाविके: $1 संस्करणम् आवश्यकम् ।',
-'versionrequiredtext' => 'à¤\8fततà¥\8dपà¥\83षà¥\8dठà¤\82 à¤ªà¥\8dरयà¥\8bà¤\95à¥\8dतà¥\81à¤\82 à¤®à¥\80डियाविà¤\95ि à¤\87तà¥\8dयà¥\87तसà¥\8dय $1तमा à¤\86वà¥\83तà¥\8dतिà¤\83 à¤\86वशà¥\8dयà¤\95à¥\80। à¤ªà¤¶à¥\8dयतà¥\81 [[Special:Version|à¤\86वà¥\83तà¥\8dति-सà¥\82à¤\9aिà¤\95ा]]',
+'versionrequired' => 'मीडीयाविक इत्यस्य $1 संस्करणम् आवश्यकम् ।',
+'versionrequiredtext' => 'à¤\85सà¥\8dय à¤ªà¥\83षà¥\8dठसà¥\8dय à¤\89पयà¥\8bà¤\97ारà¥\8dथà¤\82 à¤®à¥\80डà¥\80याविà¤\95ि à¤\87तà¥\8dयसà¥\8dय $1 à¤¸à¤\82सà¥\8dà¤\95रणमà¥\8d à¤\86वशà¥\8dयà¤\95मà¥\8d à¥¤ à¤ªà¤¶à¥\8dयतà¥\81 [[Special:Version|version page]] à¥¤',
 
 'ok' => 'अस्तु',
 'pagetitle' => '$1 - {{SITENAME}}',
 'retrievedfrom' => '"$1" इत्यस्माद् पुनः प्राप्तिः',
-'youhavenewmessages' => 'भवदर्थम् $1 सन्ति। ($2).',
-'youhavenewmessagesfromusers' => 'भवदर्थम् {{PLURAL:$3|अन्यस्मात् सदस्यात्|$3 सदस्येभ्यः}} $1 अस्ति ($2)।',
-'youhavenewmessagesmanyusers' => 'नैकेभ्यः योजकेभ्यः ते $1 सन्ति $2 ।',
-'newmessageslinkplural' => '{{PLURAL:$1|नूतनः सन्देशः|नूतनसन्देशाः}}',
-'newmessagesdifflinkplural' => 'सद्यः {{PLURAL:$1|परिवर्तनम्|परिवर्तनानि}}',
-'youhavenewmessagesmulti' => 'भवतà¤\83 à¤\95à¥\83तà¥\87 $1 à¤®à¤§à¥\8dयà¥\87 à¤¨à¥\82तनà¤\83 à¤¸à¤¨à¥\8dदà¥\87शà¤\83 à¤µà¤¿à¤¦à¥\8dयतà¥\87',
+'youhavenewmessages' => '{{PLURAL:$3|भवतः/भवत्याः कृते}} $1 ($2).',
+'youhavenewmessagesfromusers' => '{{PLURAL:$4|भवतः/भवत्याः कृते}} $1  {{PLURAL:$3|अन्यस्मात् योजकात्|$3 अन्येभ्यः योजकेभ्यः}} अस्ति ($2)।',
+'youhavenewmessagesmanyusers' => 'नैकेभ्यः योजकेभ्यः ते $1 सन्ति ($2) ।',
+'newmessageslinkplural' => '{{PLURAL:$1|नà¥\82तनà¤\83 à¤¸à¤¨à¥\8dदà¥\87शà¤\83|नà¥\82तनाà¤\83 à¤¸à¤¨à¥\8dदà¥\87शाà¤\83}}',
+'newmessagesdifflinkplural' => 'सद्यः {{PLURAL:$1|परिवर्तनम्| परिवर्तनानि}}',
+'youhavenewmessagesmulti' => 'भवतà¥\87 à¤¨à¥\82तनसनà¥\8dदà¥\87शाà¤\83 à¤¸à¤¨à¥\8dति à¤\85तà¥\8dर $1',
 'editsection' => 'सम्पाद्यताम्',
 'editold' => 'सम्पाद्यताम्',
 'viewsourceold' => 'स्रोतः दृश्यताम्',
@@ -546,21 +557,21 @@ $1',
 'toc' => 'अन्तर्विषयाः',
 'showtoc' => 'दर्श्यताम्',
 'hidetoc' => 'गोप्यताम्',
-'collapsible-collapse' => 'सà¤\82à¤\95à¥\8bच्यताम्',
+'collapsible-collapse' => 'सà¤\99à¥\8dà¤\95à¥\81च्यताम्',
 'collapsible-expand' => 'विस्तीर्यताम्',
-'thisisdeleted' => '$1 à¤¦à¤°à¥\8dशयà¥\87तà¥\8d à¤µà¤¾ à¤ªà¥\8dरतà¥\8dयानयà¥\87तà¥\8d à¤µà¤¾?',
+'thisisdeleted' => '$1 à¤¦à¥\83शà¥\8dयताà¤\82 à¤ªà¥\82रà¥\8dवतनà¤\82 à¤\95à¥\8dरियताà¤\82 à¤µà¤¾ ?',
 'viewdeleted' => '$1 दृश्यताम् ?',
-'restorelink' => '{{PLURAL:$1|à¤\8fà¤\95मà¥\8d à¤\85पाà¤\95à¥\83तà¤\82 à¤¸à¤\82पादनमà¥\8d  |$1 à¤\85पाà¤\95à¥\83तानि à¤¸à¤\82पादनानि}}',
+'restorelink' => '{{PLURAL:$1|à¤\8fà¤\95मà¥\8d à¤\85पाà¤\95à¥\83तà¤\82 à¤¸à¤®à¥\8dपादनमà¥\8d|$1 à¤\85पाà¤\95à¥\83तानि à¤¸à¤®à¥\8dपादनानि}}',
 'feedlinks' => 'अनुबन्ध:',
-'feed-invalid' => 'à¤\85मानà¥\8dयà¤\82 à¤¸à¥\87वाà¤\97à¥\8dरहण-पà¥\82रण (सबà¥\8dसà¥\8dà¤\95à¥\8dरिपà¥\8dशन-फà¥\80डà¥\8d à¤\87ति) à¤ªà¥\8dरà¤\95ारà¤\83।',
-'feed-unavailable' => 'समवायसमà¥\8dपà¥\82रणà¤\82 à¤¨à¥\8bपलभते ।',
-'site-rss-feed' => '$1 आरएसएस पूरणम्',
+'feed-invalid' => 'सदसà¥\8dयतायाà¤\83 à¤\85मानà¥\8dयà¤\83 à¤\85नà¥\81बनà¥\8dध(feed)पà¥\8dरà¤\95ारà¤\83',
+'feed-unavailable' => 'समवायानà¥\81बनà¥\8dधाà¤\83 à¤¨à¥\8bपलभनà¥\8dते ।',
+'site-rss-feed' => '$1 RSS अनुबन्धः',
 'site-atom-feed' => '$1 अणुपूरणम्',
-'page-rss-feed' => '"$1" आरएसएस-पूरणम्',
+'page-rss-feed' => '"$1" RSS अनुबन्धः',
 'page-atom-feed' => '"$1" अणुपूरणम्',
 'red-link-title' => '$1 (पृष्ठं न विद्यते)',
-'sort-descending' => 'à¤\85वरà¥\8bहिà¤\95à¥\8dरमà¥\87ण à¤¸à¤\9cà¥\8dà¤\9cयतà¥\81',
-'sort-ascending' => 'à¤\86रà¥\8bहिà¤\95à¥\8dरमà¥\87ण à¤¸à¤\9cà¥\8dà¤\9cयतà¥\81',
+'sort-descending' => 'अवरोहक्रमेण सज्जयतु',
+'sort-ascending' => 'आरोहक्रमेण सज्जयतु',
 
 # Short words for each namespace, by default used in the namespace tab in monobook
 'nstab-main' => 'पृष्ठम्',
@@ -571,107 +582,119 @@ $1',
 'nstab-image' => 'सञ्चिका',
 'nstab-mediawiki' => 'सन्देशः',
 'nstab-template' => 'फलकम्',
-'nstab-help' => 'सहायपृष्ठम्',
+'nstab-help' => 'साहायà¥\8dयपृष्ठम्',
 'nstab-category' => 'वर्गः',
 
 # Main script and global functions
 'nosuchaction' => 'तादृशं कार्यं न विद्यते',
-'nosuchactiontext' => 'अनेन समरूप-संसाधन-अवस्थापकेन (URL इति) वर्णिता क्रिया अमान्याऽस्ति।
-भवता समरूप-संसाधन-अवस्थापकं अपटंकितं स्यात्, अथवा असुष्ठु संबंधनम् अनुसृतम् स्यात्।
-इदम् {{SITENAME}} इत्यनेन प्रयुक्ते क्रमादेशे त्रुटिर्वा स्यात्।',
-'nosuchspecialpage' => 'तादृशं विशेषपृष्टं न विद्यते',
-'nospecialpagetext' => '<strong>भवता एकम् अमान्यं विशिष्टपृष्ठं याचितम्। </strong>
-मान्यानां विशिष्टपृष्ठाणां सूचिका [[Special:SpecialPages|{{int:specialpages}}]] इत्यत्र प्राप्तुं शक्यते।',
+'nosuchactiontext' => 'अनेन सार्वसङ्केन (URL) दर्शिता क्रिया अयोग्या अस्ति । अयोग्यं त्रुटियुक्तं वा सार्वसङ्केतं भवता/भवत्या लिखितं स्यात् ।',
+'nosuchspecialpage' => 'तादृशं विशेषपृष्ठं न विद्यते',
+'nospecialpagetext' => '<strong>अयोग्यं विशिष्टपृष्ठं भवता/भवत्या ईप्सितम् ।</strong> विद्यमानानि विशिष्टपृष्ठानि [[Special:SpecialPages|{{int:specialpages}}]] अत्र प्राप्यन्ते ।',
 
 # General errors
 'error' => 'दोषः',
-'databaseerror' => 'दत्ताधारे दोषः',
-'laggedslavemode' => 'प्राक्प्रबोधनम्:अस्मिन् पृष्ठे सद्योजातानि परिशोधनानि न स्युः ।',
-'readonly' => 'दत्तधारः कीलितः',
-'enterlockreason' => 'तन्त्रितीकरणस्य कारणं ददातु, अपि च आकलितं ददातु यत् तन्त्रणं कदा उद्घाट्यिष्यते।',
-'readonlytext' => 'समंकाधारं वर्तमानकाले तन्त्रितमस्ति नूतनान् प्रविष्टीन् विरुध्य तथा च अन्यानि परिवर्तनानि विरुध्य। इदं नियमिततया समंकाधार परिचर्याऽर्थं तथा स्यात्। तत्पश्चादिदं सामान्यतां संप्राप्स्यति।
-तन्त्रितीकारकेन प्रबन्धकेन इदं कारणं प्रदत्तम्: $1',
+'databaseerror' => 'दत्तांशनिधौ (database) दोषः',
+'databaseerror-text' => 'दत्तांश-प्रश्नस्य (database query) दोषः प्राप्तः ।
+एषः दोषः तन्त्रांशस्य त्रुटिः स्यात् ।',
+'databaseerror-textcl' => 'दत्तांश-प्रश्नस्य (database query) दोषः प्राप्तः ।',
+'databaseerror-query' => 'प्रश्नः: $1',
+'databaseerror-function' => 'नियोज्यम्: $1',
+'databaseerror-error' => 'दोषः: $1',
+'laggedslavemode' => '<strong>पूर्वसूचना :</strong>
+सद्यः परिवर्तनानि अत्र न स्युः ।',
+'readonly' => 'दत्तांशनिधिः (database) कीलितः',
+'enterlockreason' => 'कीलनस्य कारणं ददातु, कीलनं कियान् कालः भविष्यति इति च लिखतु ।',
+'readonlytext' => 'नवीनदत्तांशनिवेशार्थं (database entry) सद्यः दत्तांशः स्थिगितः । नियमितव्यवस्थिकरणानन्तरं पुनः निवेशाय अवकाशः भवति । $1',
 'missing-article' => 'दत्तनिधौ (in database) $2 अन्तः कुत्रापि "$1" न प्राप्तम् ।
 
 प्रायः अपाकृतस्य पृष्ठस्य इतिहासदर्शनस्य चेष्टाकाले एवं भवति ।
 
-तादृशी स्थितिः यदि नास्ति, तर्हि तन्त्रांशे वद्यमाना त्रुटिः भवेत् । कृपया कमपि [[Special:ListUsers/sysop|प्रबन्धकम्]] अस्य पृष्ठस्य सार्वसङ्केतं (U.R.L.) सूच्यताम् ।',
-'missingarticle-rev' => '(à¤\86वà¥\83तà¥\8dतिà¤\83# :$1)',
-'missingarticle-diff' => '(वà¥\8dयतिरà¥\87à¤\95: $1, $2)',
-'readonly_lag' => 'मà¥\81à¤\96à¥\8dय-समà¤\82à¤\95ाधार-परिवà¥\87शà¤\95à¤\82 à¤\89पमà¥\81à¤\96à¥\8dय-समà¤\82à¤\95ाधार-परिवà¥\87शà¤\95सà¥\8dय à¤¸à¤\82पà¥\8dरापणातà¥\8d à¤ªà¥\82रà¥\8dवà¥\87 à¤\8fव à¤¸à¥\8dवतà¤\83 à¤¤à¤¨à¥\8dतà¥\8dरितमà¥\8d à¤\85सà¥\8dति।',
+तादà¥\83शà¥\80 à¤¸à¥\8dथितिà¤\83 à¤¯à¤¦à¤¿ à¤¨à¤¾à¤¸à¥\8dति, à¤¤à¤°à¥\8dहि à¤¤à¤¨à¥\8dतà¥\8dराà¤\82शà¥\87 à¤µà¤¿à¤¦à¥\8dयमाना à¤¤à¥\8dरà¥\81à¤\9fिà¤\83 à¤­à¤µà¥\87तà¥\8d à¥¤ à¤\95à¥\83पया à¤\95मपि [[Special:ListUsers/sysop|पà¥\8dरबनà¥\8dधà¤\95मà¥\8d]] à¤\85सà¥\8dय à¤ªà¥\83षà¥\8dठसà¥\8dय à¤¸à¤¾à¤°à¥\8dवसà¤\99à¥\8dà¤\95à¥\87तà¤\82 (U.R.L.) à¤¸à¥\82à¤\9aà¥\8dयतामà¥\8d à¥¤',
+'missingarticle-rev' => '(सà¤\82सà¥\8dà¤\95रणà¤\82# :$1)',
+'missingarticle-diff' => '(भà¥\87दà¤\83: $1, $2)',
+'readonly_lag' => 'सहायà¤\95तनà¥\8dतà¥\8dराà¤\82शà¤\83 (slave database) à¤¯à¤¾à¤µà¤¤à¥\8d à¤®à¥\81à¤\96à¥\8dयतनà¥\8dतà¥\8dराà¤\82शातà¥\8d à¤\95िमपि à¤¸à¥\8dवà¥\80à¤\95à¥\81रà¥\8dयातà¥\8d, à¤¤à¤¾à¤µà¤¤à¥\8d à¤®à¥\81à¤\96à¥\8dयतनà¥\8dतà¥\8dराà¤\82शà¤\83 à¤¤à¤¨à¥\8dतà¥\8dराà¤\82शमाधà¥\8dयमà¥\87न à¤¸à¥\8dवयमà¥\87व à¤\95à¥\80लितà¤\83 à¤\85भवतà¥\8d',
 'internalerror' => 'आन्तरिकः दोषः',
 'internalerror_info' => 'आन्तरिकः दोषः: $1',
-'fileappenderrorread' => 'संलग्नीकरणकाले $1 पठितुम् अशक्यम्।',
-'fileappenderror' => '$1 इत्यस्य पश्चात् $2 इति योजयितुं नाशक्नोत्।',
-'filecopyerror' => '$1 इत्येतस्याः संचिकायाः  $2 इति प्रतिलिपिं कर्तुं नाशक्नोत्।',
-'filerenameerror' => '$1 इति संचिकायाः $2 इति पुनर्नामकरणं कर्तुं नाशक्नोत्।',
-'filedeleteerror' => '$1 इति सञ्चिकाम् अपाकर्तुं नाशक्नोत्।',
-'directorycreateerror' => '$1 इति निर्देशिकां स्रष्टुं न अपारयत्',
-'filenotfound' => '"$1" इति सञ्चिका न लब्धा।',
-'fileexistserror' => '$1 इति संचिकायां लेखनम् अशक्यम् । सञ्चिका वर्तते  एव।',
-'unexpected' => 'अप्रतीक्षितमूल्यम् : "$1"="$2"।',
-'formerror' => 'त्रुटिः : प्रारूपं समर्पयितुं न अपारयत्',
-'badarticleerror' => 'अस्मिन् पृष्ठे एषा क्रिया कर्तुं न शक्या।',
-'cannotdelete' => '$1 इति पृष्ठं संचिका वा अपाकर्तुं नाशक्नोत्।
-इदं खलु केनचिदन्येन पूर्वे एव अपाकृतं स्यात्।',
-'cannotdelete-title' => ' "$1" पृष्ठं निर्मार्जयितुम् अशक्यम्',
-'delete-hook-aborted' => 'आलम्बेन अपमार्जनम् अपनीतम् । अनेन विवरणं न दत्तम् ।',
+'fileappenderrorread' => 'योजनकाले "$1" पठितुं न शक्यते ।',
+'fileappenderror' => '$1 इत्येनं $2 इत्येन सह योजयितुं न शक्यते ।',
+'filecopyerror' => 'Could not copy file "$1" to "$2".',
+'filerenameerror' => '$1 सञ्चिकायाः $2 इति पुनर्नामकरणं निष्फलम् ।',
+'filedeleteerror' => '$1 इति सञ्चिका अपाकर्तुं न शक्यते ।',
+'directorycreateerror' => "'''$1''' इति विभागः रचितुं न शक्यते ।",
+'filenotfound' => '\'"$1"\' सञ्चिका न लब्धा ।',
+'fileexistserror' => '$1 सञ्चिकायां नोल्लेखितं : सञ्चिका वर्तते इति ।',
+'unexpected' => 'अनपेक्षितं मूल्यम् : "$1"="$2"',
+'formerror' => 'दोषः : प्रपत्रं (form) न प्रेषितम्',
+'badarticleerror' => 'अस्मिन् पृष्ठे एषा क्रिया कर्तुं न शक्यते ।',
+'cannotdelete' => "''$1'' इति पृष्ठं सञ्चिका वा अपाकर्तुं न शक्यते ।
+अन्येन केनापि पूर्वमेव एषा सञ्चिका अपाकृता स्यात् ।",
+'cannotdelete-title' => '"$1" पृष्ठम् अपार्कर्तुं न शक्यते',
+'delete-hook-aborted' => 'hook द्वारा अपाकरणक्रिया मध्ये एव स्थगिता । स्थगनस्य कारणं न दत्तम् ।',
+'no-null-revision' => '"$1" एतस्मै पृष्ठाय नवीनं रिक्तं संस्करणं रचितुं न शक्यते',
 'badtitle' => 'अशुद्धं शिरोनाम',
-'badtitletext' => 'à¤\87पà¥\8dसितà¤\82 à¤¶à¥\80रà¥\8dषà¤\95मà¥\8d à¤\85मानà¥\8dयà¤\82, à¤°à¤¿à¤\95à¥\8dतमà¥\8d, à¤\85यà¥\8bà¤\97à¥\8dयà¤\82, à¤\85नà¥\8dयभाषà¥\80यà¤\82, à¤µà¤¿à¤\95ि-à¤\9cालविहाय च अस्ति । पृष्ठशीर्षकाय अयोग्यानि अक्षराणि चिह्नानि वा तस्मिन् भवेयुः ।',
-'perfcached' => 'à¤\85नà¥\81पदà¥\8bà¤\95à¥\8dतà¤\82 à¤²à¥\87à¤\96à¤\83 à¤\95à¥\88शà¥\8d à¤\87तà¥\8dयà¥\87तसà¥\8dमादà¥\8d à¤\85सà¥\8dति, à¤\85तà¤\83 à¤\85दà¥\8dयतनà¤\82 à¤¨ à¤¸à¥\8dयातà¥\8d।  {{PLURAL:$1|one result is|$1 results are}}',
-'perfcachedts' => 'अधोनिदेशितलेखः सञ्चितः । पूर्वपदोन्नतिः $1 । $4 {{PLURAL:}} अधिकाधिकपरिणामः सञ्चये उपलब्धः ।',
-'querypage-no-updates' => 'अस्य पृष्ठस्य परिशोधनं विफलीकृतमस्ति । 
-सद्यः अत्रत्यः विषयः न नवीक्रियते ।',
+'badtitletext' => 'à¤\88पà¥\8dसितà¤\82 à¤¶à¥\80रà¥\8dषà¤\95मà¥\8d à¤\85मानà¥\8dयà¤\82, à¤°à¤¿à¤\95à¥\8dतमà¥\8d, à¤\85यà¥\8bà¤\97à¥\8dयमà¥\8d, à¤\85नà¥\8dयभाषà¥\80यà¤\82, à¤­à¤¾à¤·à¤¾à¤¨à¥\8dतरातà¥\8d à¤µà¤¿à¤\95ि-à¤\9cालसà¥\8dथलातà¥\8d च अस्ति । पृष्ठशीर्षकाय अयोग्यानि अक्षराणि चिह्नानि वा तस्मिन् भवेयुः ।',
+'perfcached' => 'à¤\85धà¥\8b à¤\89लà¥\8dलिà¤\96िताà¤\83 à¤¸à¥\82à¤\9aनाà¤\83 à¤ªà¥\81रातनायाà¤\83 à¤\89पसà¥\8dमà¥\83तà¥\8dयाà¤\83 (cached) à¤\97à¥\83हà¥\8dणिताà¤\83, à¤\85तà¤\83 à¤¤à¤¤à¥\8dर à¤¦à¥\8bषाà¤\83 à¤­à¤µà¥\87यà¥\81à¤\83 à¥¤  à¤\85धिà¤\95ाधिà¤\95{{PLURAL:$1|परिणाम|$1परिणामाà¤\83}} à¤\85तà¥\8dर à¤¸à¤¨à¥\8dति à¥¤',
+'perfcachedts' => 'अधो उल्लिखिताः सूचनाः पुरातनायाः उपस्मृत्याः (cached) गृह्णिताः । तस्यां उपस्मृत्यां $1 समये परिर्वतनम् अभूत् ।
+अधिकाधिक{{PLURAL:$1|परिणाम|$1परिणामाः}} अत्र सन्ति ।',
+'querypage-no-updates' => 'अस्मिन् पृष्ठे परिवर्तनं अधुना प्रतिबन्धितमस्ति । अत्रस्थां पुरातनसूचनां नवीनसूचनया सह अधुना परिर्वतयितुं न शक्यते ।',
 'viewsource' => 'स्रोतः दृश्यताम्',
-'viewsource-title' => '$1 इत्येतस्य स्रोतः दृश्यताम् ।',
-'actionthrottled' => 'कार्यम् अवरुद्धम् अस्ति',
-'actionthrottledtext' => "'स्प्याम्'इत्येतस्य अवरोधाय अल्पे काले अत्यधिकवारम् अस्य कार्यकरणम् अवरुद्धम् अस्ति । 
-कृपया किञ्चित्कालानन्तरं पुनः प्रयत्नः क्रियताम् ।",
-'protectedpagetext' => 'सम्पादनस्य अवरोधाय इदं पृष्ठं सुरक्षितमस्ति ।',
-'viewsourcetext' => 'भवान् एतस्य पृष्ठस्य स्रोतः द्रष्टुं तस्य प्रतिलिपिं कर्तुम् अर्हति।',
-'viewyourtext' => "भवान् अस्य पृष्ठस्य स्रोतसि '''भवतः सम्पादनानि''' द्रष्टुं प्रतिलिपिं कर्तुं च अर्हति ।",
-'protectedinterface' => 'इदं पृष्ठं तंत्रांशाय अन्तराफलकं ददाति, तथा च दुरुपयोगात् वारणाय सुरक्षितमस्ति ।',
-'editinginterface' => "'''अवधीयताम्'''  तन्त्रांशस्य विन्यासं यत् पृष्ठं रचयति तद् भवान् अधुना सम्पादयति । अत्र कृतानि परिवर्तनानि अन्येषाम् उपयोक्तॄणां पृष्ठविन्यासमपि परिवर्तयन्ति ।  अनुवादार्थम्   [//translatewiki.net/wiki/Main_Page?setlang=sa translatewiki.net] स्थानीयतानयनपरियोजनायाः उपयोगः क्रियताम्  ।",
-'cascadeprotected' => 'इदं पृष्ठं संपादनात् सुरक्षितमस्ति, यतः इदं अधोलिखितानां {{PLURAL:$1| पृष्ठस्य|पृष्ठाणां}} सुरक्षा-सोपाने समाहितं वर्तते।
-$2',
-'namespaceprotected' => 'भवान् "$1" इति नामाकाशे विद्यमानान् पृष्ठान् परिवर्तितुं अनुमतिं न धारयति।',
-'customcssprotected' => 'भवान् इदं पृष्ठं सम्पादयितुम् अनुमतः नास्ति, यतो हि अस्मिन् अन्यस्य प्रयोक्तुः वैयक्तिकचयनानि सन्ति।',
-'customjsprotected' => 'भवान् इदं जावालिपियुक्तं पृष्ठं सम्पादयितुम् अनुमतः नास्ति, यतो हि अस्मिन् अन्यस्य प्रयोक्तुः वैयक्तिकचयनानि सन्ति।',
-'ns-specialprotected' => 'विशिष्टानि पृष्ठानि परिवर्तयितुं न शक्यन्ते।',
-'titleprotected' => 'सदस्य [[User:$1|$1]] इत्यनेन एतत्-शीर्षकीयं पृष्ठं सृजनात् वारितमस्ति।
-एतदर्थं प्रदत्तं कारणम् "$2"।',
-'filereadonlyerror' => '"$1"  सञ्चिकापरिवर्तनं न शक्यते यतः "$2" शब्दकोशः केवलं पठनयोग्यः । प्रशासकेन पिहितं यः विवरणमिच्छति "$3".',
-'invalidtitle-knownnamespace' => ' "$2" नमावकाशेन "$3" पाठ्येन च युक्तम् अनर्हशीर्षम् ।',
-'invalidtitle-unknownnamespace' => 'अज्ञातनामवाकाशयुता  सङ्ख्या $1 पाठ्यः "$2" अपुष्टशीर्षिका ।',
-'exception-nologin' => 'न नामाभिलितम्',
-'exception-nologin-text' => 'एतस्मि पुटि प्रक्रियां वा ते प्रवेशः आवश्यकः ।',
+'viewsource-title' => '$1 इत्येतस्य स्रोतः दृश्यताम्',
+'actionthrottled' => 'अकाले कार्यमेतत् अवरुद्धम् अभवत्',
+'actionthrottledtext' => 'फल्गु(spam)-नियन्त्रणार्थम् एषा क्रिया मर्यादितवारं कर्तुं शक्यते । भवतः/भवत्याः सा मर्यादा समाप्ता । कृपया किञ्चित् कालानन्तरं प्रयत्नं करोतु ।',
+'protectedpagetext' => 'सम्पादनं, अन्यक्रियां च अवरोधयितुम् इदं पृष्ठं संरक्षितमस्ति ।',
+'viewsourcetext' => 'भवान्/भवती एतस्य पृष्ठस्य स्रोतः द्रष्टुं, मुद्रणं (print) कर्तुं च अर्हति ।',
+'viewyourtext' => "भवान्/भवती एतस्मिन् पृष्ठे '''स्वस्य सम्पादनानि'' द्रष्टुं  अर्हति, तेषां प्रतिलिपिम् (copy) अपि कर्तुं अर्हति ।",
+'protectedinterface' => 'एतत् पृष्ठं तन्त्रांशाय मध्यस्थपाठं (interface text) प्रयच्छति । इदञ्च पृष्ठम् अयोग्यसम्पादनात् संरक्षितमस्ति ।  
+विकि इत्यस्य सर्वेषु बन्धुप्रकल्पेषु अनुवादमिदं योजयितुं कृपया [//translatewiki.net/ translatewiki.net] इत्यस्य मिडीयाविकि-स्थानीयकरणस्य उपयोगं करोतु ।',
+'editinginterface' => '<strong>पूर्वसूचना :</strong> तन्त्रांशाय मध्यस्थपाठं (interface text) प्रयच्छति तादृशस्य पृष्ठस्य भवता/भवत्या सम्पादनं क्रियमाणमस्ति । अस्य विकि-प्रकल्पस्य अन्ययोजकेभ्यः अपि अत्र कृतानि परिवर्तनानि भविष्यन्ति । 
+
+विकि इत्यस्य सर्वेषु बन्धुप्रकल्पेषु अनुवादमिदं योजयितुं कृपया [//translatewiki.net/ translatewiki.net] इत्यस्य मिडीयाविकि-स्थानीयकरणस्य उपयोगं करोतु ।',
+'cascadeprotected' => 'इदं पृष्ठं सम्पादनात् संरक्षितमस्ति । कारणम् एतत् पृष्ठं {{PLURAL:$1|तादृशे पृष्ठे|तादृशेषु पृष्ठेषु}} अन्तर्भवति, यादृशेषु पृष्ठेषु सोपानवत् सुरक्षा अस्ति : $2',
+'namespaceprotected' => "भवान्/भवती '''$1''' नामाकाशे अन्तर्भूतेषु पृष्ठेषु परिवर्तनं कर्तुं न शक्नोति ।",
+'customcssprotected' => 'भवान्/भवती इदं CSS पृष्ठं सम्पादयितुं न शक्नोति । कारणं अन्यस्य योजकस्य वैयक्तिकव्यवस्थापनानि (settings) अत्र सन्ति ।',
+'customjsprotected' => 'भवान्/भवती इदं JavaScript पृष्ठं सम्पादयितुं न शक्नोति । कारणं अन्यस्य योजकस्य वैयक्तिकव्यवस्थापनानि (settings) अत्र सन्ति ।',
+'mycustomcssprotected' => 'भवान्/भवती इदं CSS पृष्ठं सम्पादयितुं न शक्नोति ।',
+'mycustomjsprotected' => 'भवान्/भवती इदं JavaScript पृष्ठं सम्पादयितुं न शक्नोति ।',
+'myprivateinfoprotected' => 'भवान्/भवती अत्र वैयक्तिकसूचनाः सम्पादयितुं न शक्नोति ।',
+'mypreferencesprotected' => 'भवान्/भवती स्वस्य इष्टतमानि सम्पादयितुं न शक्नोति ।',
+'ns-specialprotected' => 'विशिष्टानि पृष्ठानि सम्पादयितुं न शक्यन्ते ।',
+'titleprotected' => '"\'\'$2\'\'" इति कारणत्वात् एतत् शीर्षकं (विषयः) [[User:$1|$1]] इत्यस्मै संरक्षितमस्ति ।',
+'filereadonlyerror' => '"$1" सञ्चिकापरिवर्तितुं न शक्यते । "$2" कोषः अधुना  केवलं पठनयोग्यः (read only) अस्ति । येन प्रबन्धकेन एवं कृतं, तेन निम्नकारणं प्रदत्तम् "$3"',
+'invalidtitle-knownnamespace' => '"$2" नमावकाशेन "$3" पाठेन च युक्तम् अयोग्यं शीर्षकम्',
+'invalidtitle-unknownnamespace' => 'अयोग्येन नामवाकाशयुतेन, $1 सङ्ख्यया, "$2" पाठेन  युक्तम् अयोग्यं शीर्षकम्',
+'exception-nologin' => 'प्रवेशः न कृतः',
+'exception-nologin-text' => 'एतत् पृष्ठं सम्पादयितुं क्रियां कर्तुं वा [[Special:Userlogin|प्रविश्यताम्]] ।',
+'exception-nologin-text-manual' => 'एतत् पृष्ठं सम्पादयितुं क्रियां कर्तुं वा कृपया $1',
 
 # Virus scanner
-'virus-badscanner' => "à¤\85सà¥\81षà¥\8dठà¥\81 à¤\85भिविनà¥\8dयासà¤\83 : à¤\85à¤\9cà¥\8dà¤\9eातà¤\82 à¤µà¤¿à¤·à¤¾à¤£à¥\81-निरà¥\80à¤\95à¥\8dषितà¥\8dरमà¥\8d: ''$1''",
-'virus-scanfailed' => 'परà¥\80à¤\95à¥\8dषणà¤\82 à¤µà¤¿à¤«à¤²à¥\80भà¥\82तमà¥\8d (à¤\95à¥\82à¤\9fमà¥\8d $1)',
+'virus-badscanner' => "à¤\85यà¥\8bà¤\97à¥\8dयà¤\82 à¤µà¥\8dयवसà¥\8dथापनमà¥\8d : à¤\85à¤\9cà¥\8dà¤\9eातà¤\82 à¤µà¤¿à¤·à¤¾à¤£à¥\81à¤\82 (VIRUS) à¤¨à¤¿à¤°à¥\80à¤\95à¥\8dषà¤\95à¤\83: ''$1''",
+'virus-scanfailed' => 'निरà¥\80à¤\95à¥\8dषणà¤\82 à¤µà¤¿à¤«à¤²à¤¿à¤¤à¤®à¥\8d (विधà¥\8dयादà¥\87शà¤\83 (code) $1)',
 'virus-unknownscanner' => 'अज्ञातं विषाणुप्रतिकारकम्:',
 
 # Login and logout pages
-'logouttext' => "'''भवान् अधुना बहिरागतः ।'''
-
-भवान् {{SITENAME}} इत्येतत् अनामतया प्रयोक्तुं शक्नोति, अथवा भवान् तेनैव प्रयोक्तृनाम्ना, भिन्नप्रयोक्तृनाम्ना वा  <span class='plainlinks'>[$1 पुनः प्रवेष्टुं शक्नोति]</span>।
-इदानीमपि कानिचन पृष्ठानि पूर्ववदेव दृश्येरन् । अस्य वारणाय विचरकस्य स्मृतिसञ्चयः रिक्तीक्रियताम् ।",
-'welcomeuser' => 'स्वागतं, हे $1!',
-'welcomecreation-msg' => 'भवतः लेखा रचिताऽस्ति।
-स्वकीयानां [[Special:Preferences|{{SITENAME}} इष्टतमानां]]. निगदनं मा विस्मर्यताम्।',
+'logouttext' => "'''भवान्/भवती अधुना बहिः अस्ति ।'''
+भवान्/भवती {{SITENAME}} इत्येतत् अनामतया प्रयोक्तुं शक्नोति । अथवा तेनैव प्रयोक्तृनाम्ना, भिन्नप्रयोक्तृनाम्ना वा पुनः प्रवेष्टुं शक्नोति ।
+इदानीमपि कानिचन पृष्ठानि पूर्ववदेव दृश्येरन् । तत् वारयितुं गवाक्षस्य (browser) इतिहासः रिक्तीक्रियताम् ।",
+'welcomeuser' => 'स्वागतम्, $1!',
+'welcomecreation-msg' => 'भवता/भवत्या सदस्यता प्राप्ता ।
+स्वस्य [[Special:Preferences|{{SITENAME}} इष्टतमानि]] परिवर्तयितुं मा विस्मरतु ।',
 'yourname' => 'योजकनाम:',
-'userlogin-yourname' => 'प्रयोक्तुः नाम',
-'userlogin-yourname-ph' => 'स्वकीयं प्रयोक्तृनाम दीयताम्',
-'yourpassword' => 'कूटशब्दः',
-'userlogin-yourpassword-ph' => 'स्वकीयं कूटशब्दं दीयताम्',
-'createacct-yourpassword-ph' => 'कूटशब्दः प्रविश्यताम्',
-'yourpasswordagain' => 'कूटशब्दः पुनः लिख्यताम् ।',
-'createacct-yourpasswordagain-ph' => 'कूटशब्दः पुनः प्रविश्यताम्',
+'userlogin-yourname' => 'प्रयोक्तृनाम',
+'userlogin-yourname-ph' => 'स्वस्य प्रयोक्तृनाम दीयताम्',
+'createacct-another-username-ph' => 'प्रयोक्तृनाम दीयताम्',
+'yourpassword' => 'कूटशब्दः :',
+'userlogin-yourpassword' => 'कूटशब्दः',
+'userlogin-yourpassword-ph' => 'स्वस्य कूटशब्दः दीयताम्',
+'createacct-yourpassword-ph' => 'कूटशब्दः दीयताम्',
+'yourpasswordagain' => 'कूटशब्दः पुनः लिख्यताम् :',
+'createacct-yourpasswordagain' => 'कूटशब्दस्य पुष्टिं करोतु ।',
+'createacct-yourpasswordagain-ph' => 'कूटशब्दः पुनः दीयताम्',
 'remembermypassword' => 'अस्मिन् सङ्गणके मम प्रवेशः स्मर्यताम् (अधिकतमम् $1 {{PLURAL:$1|दिनम्|दिनानि}})',
 'userlogin-remembermypassword' => 'अहं प्रविष्टमेव तिष्ठेयम्',
-'yourdomainname' => 'भवतः प्रक्षेत्रम्:',
-'password-change-forbidden' => 'अस्यां विक्यां निकुञ्चं परिवर्तयितुं न शक्नोति ।',
-'externaldberror' => 'तत्र प्रमाणीकरण समंकाधारे त्रुटिर्जाता, अथवा भवान् स्वकीयां बाह्य-लेखां अद्यतनीकर्तुं अनुमतिं न धारयति।',
+'userlogin-signwithsecure' => 'संरक्षितः सम्पर्कः (https) उपयुज्यताम्',
+'yourdomainname' => 'भवतः प्रदेशः (domain) :',
+'password-change-forbidden' => 'अस्मिन् विकि-जालस्थाने भवान्/भवती कूटशब्दान् परिर्वतयितुं न शक्नोति ।',
+'externaldberror' => 'दत्तांशे प्रामाणिकताविषयकः (authentication database) दोषः  स्यात् । अथवा स्वस्य बाह्यसदस्यतायां  (external account) परिवर्तनं कर्तुम् अनुमतिः न भवेत् ।',
 'login' => 'प्रविश्यताम्',
 'nav-login-createaccount' => 'प्रविश्यताम् / सदस्यता प्राप्यताम्',
 'loginprompt' => '{{SITENAME}} इत्यत्र प्रवेष्टुं ज्ञापकानि (cookies)  समर्थीकरणीयानि ।',
@@ -680,58 +703,84 @@ $2',
 'logout' => 'निर्गमनम्',
 'userlogout' => 'निर्गमनम्',
 'notloggedin' => 'नैव प्रविष्टः',
-'userlogin-noaccount' => 'सदस्यता नास्ति किम्?',
+'userlogin-noaccount' => 'सदस्यता नास्ति किम् ?',
+'userlogin-joinproject' => '{{SITENAME}} सह योजनम्',
 'nologin' => 'सदस्यता नास्ति किम् ? $1',
 'nologinlink' => 'सदस्यता प्राप्यताम्',
 'createaccount' => 'सदस्यता प्राप्यताम्',
-'gotaccount' => 'पूर्वमेव योजकः अस्ति किम् ? $1',
+'gotaccount' => 'पूर्वमेव योजकः अस्ति किम् ? $1',
 'gotaccountlink' => 'प्रविश्यताम्',
-'userlogin-resetlink' => 'प्रवेशविवरणानि विस्मृतानि किम् ?',
-'createacct-join' => 'स्वकीया सूचना अधस्तात् प्रवेश्यताम्।',
-'createaccountmail' => 'ईपत्रद्वारा',
-'createaccountreason' => 'कारणम्',
+'userlogin-resetlink' => 'स्वस्य प्रवेशविवरणानि विस्मृतानि किम् ?',
+'userlogin-resetpassword-link' => 'स्वस्य कूटशब्दः विस्मृतः किम् ?',
+'userlogin-helplink2' => 'प्रवेशविषयकं साहाय्यम्',
+'userlogin-loggedin' => 'भवाता/भवत्या पूर्वस्मादेव {{GENDER:$1|$1}} योजकत्वेन प्रवेशः प्राप्तः अस्ति । भिन्नयोजकत्वेन प्रवेष्टुं निम्नप्रपत्रं पूरयतु ।',
+'userlogin-createanother' => 'अन्यसदस्यता प्राप्यताम्',
+'createacct-join' => 'स्वविषये अधः लिख्यताम् ।',
+'createacct-another-join' => 'नवीनसदस्यतायाः विषये अधः लिख्यताम् ।',
+'createacct-emailrequired' => 'ई-पत्रसङ्केतः',
+'createacct-emailoptional' => 'ई-पत्रसङ्केतः (ऐच्छिकः)',
+'createacct-email-ph' => 'स्वस्य ई-पत्रसङ्केतं लिखतु',
+'createacct-another-email-ph' => 'ई-पत्रसङ्केतः लिख्यताम्',
+'createaccountmail' => 'अस्थायिनम् अशृङ्खलितं कूटशब्दम् उपयुज्य योग्याय ई-पत्रसङ्केताय प्रेश्यताम् ।',
+'createacct-realname' => 'वास्तविकं नाम (ऐच्छिकम्)',
+'createaccountreason' => 'कारणम् :',
 'createacct-reason' => 'कारणम्',
-'createacct-reason-ph' => 'भवान् अन्यां लेखां किमर्थं रचितुमिच्छसि?',
-'badretype' => 'भवता प्रदत्ते कूटशब्दे न खलु समाने स्तः। कृपया पुनः लिखतु।',
-'userexists' => 'भवतः प्रदत्तः प्रयोक्तृनाम अन्येन प्रयुज्यमानम् अस्ति। कृपया अन्यदेकं प्रयोक्तृनाम चिनोतु।',
-'loginerror' => 'प्रवेशने प्रमादः',
-'createaccounterror' => '$1 इति लेखां स्रष्टुं न अपारयत्',
-'nocookiesnew' => 'भवतः लेखा सृष्टाऽस्ति, परन्तु भवान् प्रविष्टो नासि।
-{{SITENAME}} इत्यनेन प्रवेशं कर्तुं कुकि इत्येते प्रयुज्यन्ते।
-भवतः पक्षे कुकि इत्येते असमर्थीकृतानि सन्ति।
-कृपया तानि समर्थानि करोतु, तथा स्वकीयेन सदस्यनाम्ना कूटशब्देन च प्रविशतु।',
-'nocookieslogin' => '{{SITENAME}} इत्यत्र प्रयोक्तृणां प्रवेशार्थं कुकि इत्येतेषां प्रयोगः क्रियते।
-भवता कुकि इत्येते असमर्थीकृतानि सन्ति।
-कृपया तानि समर्थीकरोतु पुनश्च प्रयततु।',
+'createacct-reason-ph' => 'भवतः/भवत्याः अन्यसदस्यतां प्राप्तुं किं प्रयोजनमस्ति ?',
+'createacct-captcha' => 'सुरक्षानिरीक्षणम्',
+'createacct-imgcaptcha-ph' => 'उपरि लिखिताः वर्णाः लिख्यताम्',
+'createacct-submit' => 'स्वसदस्यता प्राप्यताम्',
+'createacct-another-submit' => 'अन्यसदस्यता प्राप्यताम्',
+'createacct-benefit-heading' => '{{SITENAME}} इति भवत्सदृशैः जनैः रचितमस्ति ।',
+'createacct-benefit-body1' => '{{PLURAL:$1|सम्पादनम्|सम्पादनानि}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|पृष्ठम्|पृष्ठानि}}',
+'createacct-benefit-body3' => 'नवीन{{PLURAL:$1|योजकः|योजकाः}}',
+'badretype' => 'भवता/भवत्या लिखितौ कूटशब्दौ समानौ न स्तः ।',
+'userexists' => 'भवता/भवत्या ईप्सितं प्रयोक्तृनाम पूर्वस्मादेव विद्यते । 
+कृपया अपरं प्रयोक्तृनाम चिनोतु ।',
+'loginerror' => 'प्रवेशे दोषः',
+'createacct-error' => 'सदस्यताप्राप्तिकाले दोषः',
+'createaccounterror' => '$1 सदस्यता न प्राप्ता :',
+'nocookiesnew' => 'भवता/भवत्या सदस्यता प्राप्ता, परन्तु प्रवेशः न कृतः । {{SITENAME}} इत्यस्य कृते योजकज्ञापकम् (uses cookies) अनिवार्यम् अस्ति । 
+भवता/भवत्या ज्ञापकव्यवस्था असमर्थिता अस्ति ।
+कृपया सा समर्थ्यताम्, ततश्च नवीनसदस्यतायाः प्रयोक्तृनाम्ना प्रविश्यताम् ।',
+'nocookieslogin' => '{{SITENAME}} इत्यत्र ज्ञापकेन (cookies) विना प्रवेशः न शक्यः । 
+भवता/भवत्या ज्ञापकव्यवस्था असमर्थिता अस्ति ।
+कृपया सा समर्थ्यताम्, ततश्च पुनः प्रयासः क्रियताम् ।',
 'nocookiesfornew' => 'योजकसदस्यता न सिद्धा यतः स्रोतः प्रमाणीकृतं न जातम् । 
 भवता कुक्कीस् इत्येतत् समर्थीकृतानि किम् इति परिशील्य इदं पृष्ठं पुनरारोप्य प्रयतताम् ।',
-'noname' => 'भवता एकं मान्यं प्रयोक्तृ-नाम न प्रदत्तम्।',
-'loginsuccesstitle' => 'स्वागतम्‌। प्रवेशः सिद्धः।',
-'loginsuccess' => 'भवान् अधुना {{SITENAME}} इत्यत्र "$1" रूपेण प्रविष्टोऽस्ति।',
-'nosuchuser' => 'तत्र $1 इति नाम्ना न कोऽपि प्रयोक्ता विद्यते।
-प्रयोक्तृनाम्नि आंग्ललिपेः लघुभिः दीर्घैश्च अक्षरैः भिन्नता गण्यते।
-स्वकीयां वर्तनीं पुनरीक्षतां, अथवा [[Special:UserLogin/signup|नूतनसदस्यता प्राप्यताम्]]।',
-'nosuchusershort' => '"$1" इति नाम्ना न कोऽपि प्रयोक्ता विद्यते।
-स्वकीयां वर्तनीं पुनरीक्षताम्।',
-'nouserspecified' => 'भवता एकं प्रयोक्तृनाम अवश्यमेव दातव्यम्।',
-'login-userblocked' => 'एषः प्रयोक्ता प्रतिबन्धितः अस्ति। सत्रारम्भाय अनुमतिः नास्ति।',
-'wrongpassword' => 'भवता प्रदत्तः कूटशब्दः त्रुटिपूर्णः अस्ति। 
-कृपया पुनः लिख्यताम्।',
-'wrongpasswordempty' => 'लिखितः कूटशब्दः रिक्तः विद्यते।
-कृपया पुनः लिख्यताम्।',
-'passwordtooshort' => 'कूटशब्दः न्यूनातिन्यूनं {{PLURAL:$1| 1 अक्षरात्मकः|$1 अक्षरात्मकमः}} अवश्यमेव भवेत्।',
-'password-name-match' => 'भवतः कूटशब्दः भवतः प्रयोक्तृनामतः अवश्यम् भिन्नं  भवेत् ।',
-'password-login-forbidden' => 'अस्य प्रयोक्तृनाम्नः कूटशब्दस्य च प्रयोगः वर्जितोऽस्ति।',
+'noname' => 'भवता/भवत्या योग्यं प्रयोक्तृनाम न प्रदत्तम् ।',
+'loginsuccesstitle' => 'स्वागतं ! प्रवेशः सिद्धः ।',
+'loginsuccess' => 'भवता/भवत्या {{SITENAME}} इत्यत्र "$1"-योजकत्वेन प्रवेशः प्राप्तः ।',
+'nosuchuser' => "'''$1''' नाम्नः न कोऽपि योजकः विद्यते ।
+
+प्रयोक्तृनामानि पक्षानुगुणं (case sensitive) भवन्ति ।
+
+यत् टङ्कितं, तत् पश्यतु अथवा [[Special:UserLogin/signup|नूतनसदस्यता प्राप्यताम्]] ।",
+'nosuchusershort' => "'''$1''' नाम्नः न कोऽपि योजकः विद्यते ।
+
+यत् टङ्कितं, तत् पश्यतु ।",
+'nouserspecified' => 'भवता/भवत्या एकं योग्यं प्रयोक्तृनाम अवश्यमेव दातव्यम् ।',
+'login-userblocked' => 'एषः योजकः प्रतिबन्धितः । प्रविष्टुम् अनुमतिः नास्ति ।',
+'wrongpassword' => 'भवता/भवत्या लिखितः कूटशब्दः त्रुटियुक्तः । 
+कृपया पुनः लिख्यताम् ।',
+'wrongpasswordempty' => 'कूटशब्दपेटिकायां कूटशब्दः न लिखितः ।
+
+कृपया पुनः प्रयासः क्रियताम् ।',
+'passwordtooshort' => 'न्यूनातिन्यूनं {{PLURAL:$1| 1 अक्षरात्मकः|$1 अक्षरात्मकः}} कूटशब्दः भवेदेव ।',
+'password-name-match' => 'भवतः/भवत्याः प्रयोक्तृनाम, कूटशब्दः च समानः न भवेत् ।',
+'password-login-forbidden' => 'अस्य प्रयोक्तृनाम्नः कूटशब्दस्य च प्रयोगः वर्जितोऽस्ति ।',
 'mailmypassword' => 'कूटशब्दः परिवर्त्यताम्',
-'passwordremindertitle' => '{{SITENAME}} à¤\87तà¥\8dयà¥\87तदरà¥\8dथà¥\87 à¤¨à¥\82तनà¥\8d à¤\85सà¥\8dथायि à¤\95à¥\82à¤\9fशबà¥\8dदमà¥\8d।',
+'passwordremindertitle' => '{{SITENAME}} à¤\87तà¥\8dयसà¥\8dमà¥\88 à¤¨à¥\82तनà¤\83 à¤\85सà¥\8dथायà¥\80 à¤\95à¥\82à¤\9fशबà¥\8dदà¤\83 ।',
 'passwordremindertext' => 'कश्चित्  (भवान् अपि स्यात्,  $1 ऐ. पि. सङ्केतात् ) {{SITENAME}} ($4) इत्यस्य कृते नूतनं कूटशब्दं प्रार्थितवान् । तात्कालिकः कूटशब्दः "$2" इति उपयोक्तुः कृते निर्मितः "$3" कृते प्रेषितश्च । यदि अयं भवतः  आशयः, भवान् प्रविश्य नूतनं कूटशब्दम् इदानीं चिनोतु । भवतः तात्कालिकः कूटशब्दः  {{PLURAL:$5|दिनम्|$5 दिनानि}} यावत् सक्रियः भवति । 
 
 अन्यः कश्चित् एतां प्रार्थनां कृतवान्, अथवा भवानेव पूर्वतनं कृटशब्दं स्मृतवान्, इदानीं तस्य परिवर्तनं न् इच्छति चेत् एतां सूचनाम् अनङ्गीकृत्य पूर्वतनस्य कूटशब्दस्य एव उपयोगं करोतु ।',
-'noemail' => '"$1" इति प्रयोक्तुः कृते न कोऽपि विद्युत्सन्देशसंकेतः पञ्जीकृतोऽस्ति।',
-'noemailcreate' => 'भवता एकः मान्यः विद्युत्सन्देशसंकेतः दातव्यः।',
-'passwordsent' => '"$1" इत्येतस्य कृते पञ्जीकृते विद्युत्सन्देशसंकेते एकः नूतनः कूटशब्दः प्रेषितोऽस्ति।
-कृपया तस्य सम्प्राप्तिपश्चात् पुनः प्रविशतु।',
-'blocked-mailpassword' => 'भवतः आइपी-संकेतः सम्पादनात् प्रतिबन्धितः अस्ति, अतश्च कूटशब्द-पुनरवाप्ति-सुविधायाः प्रयोगादपि वर्जितः, येन हि दुष्प्रयोगः न स्यात्।',
+'noemail' => '"$1" प्रयोक्तुः न कोऽपि ई-पत्रसङ्केतः पञ्जीकृतः अभवत् ।',
+'noemailcreate' => 'भवता/भवत्या मान्यः ई-पत्रसङ्केतः दातव्यः ।',
+'passwordsent' => '"$1" इत्यस्य पञ्जीकृताय ई-पत्रसङ्केताय नवीनः कूटशब्दः प्रेषितः अस्ति । 
+
+कृपया तस्य कूटशब्दस्य उपयोगेन पुनः प्रविश्यताम् ।',
+'blocked-mailpassword' => 'भवतः/भवत्याः अन्तर्जालसंविद् (IP) प्रतिबन्धितः अस्ति । 
+सम्पादनाय अनुमतिः नास्ति, अतः कूटशब्दस्य पुनःप्राप्तिः भवितुं नार्हति ।',
 'eauthentsent' => 'भवता प्रदत्ते विद्युत्पत्र-संकेते एकः परिपुष्टिरूपः विद्युत्सन्देशः प्रेषितोऽस्ति।
 अन्यः कश्चिद् विद्युत्सन्देशः प्रेषितो भवेत् इत्येतदर्थं भवता तत्सन्देशे प्रदत्ताः निर्देशाः पालितव्याः, येन हि सा विद्युत्सन्देशलेखा भवदीया एव इति सत्यापितो भवेत्।',
 'throttled-mailpassword' => 'पूर्वतनायां {{PLURAL:$1|होरस्य|$1 होराणां}} अवधौ भवदर्थं एकः कूटशब्द-पुनःस्मारकम् प्रेषितोऽस्ति।
@@ -750,7 +799,7 @@ $2',
 'emaildisabled' => 'स्थानमेतत् विद्युन्मनपत्रं न प्रेषयति ।',
 'accountcreated' => 'सदस्यता प्राप्ता',
 'accountcreatedtext' => '$1 इत्येतस्य सदस्यता प्राप्ता अस्ति।',
-'createaccount-title' => '{{SITENAME}} à¤\87तà¥\8dयà¥\87तदरà¥\8dथà¤\82 à¤²à¥\87à¤\96ासà¥\83à¤\9cनम्',
+'createaccount-title' => '{{SITENAME}} à¤\87तà¥\8dयतà¥\8dर à¤¸à¤¦à¤¸à¥\8dयता à¤ªà¥\8dरापà¥\8dयताम्',
 'createaccount-text' => 'भवतः विद्युत्संदेशसंकेतार्थं केनचित् $2 इति जनेन {{SITENAME}} ($4) इत्यत्र  $3 इति कूटशब्दं दत्वा लेखा सृष्टाऽस्ति।
 भवता अधुना प्रवेशं कृत्वा कूटशब्दः परिवर्तितव्यः।
 
@@ -767,7 +816,10 @@ You may ignore this message, if this account was created in error.',
 'login-abort-generic' => 'भवतः प्रवेशप्रयासः विफलीभूतः - परित्यक्तः',
 'loginlanguagelabel' => 'भाषा : $1',
 'suspicious-userlogout' => 'भवतः सत्राद् बहिर्गमनस्य अनुरोधः अस्वीकृतोऽस्ति, यस्मादेतत् भग्नादेकस्मात् ब्राउज़र्तः अथवा स्वल्पसञ्चयि-प्रॉक्सितः प्रेषित आसीत्।',
+'pt-login' => 'प्रविश्यताम्',
 'pt-login-button' => 'प्रविश्यताम्',
+'pt-createaccount' => 'सदस्यता प्राप्यताम्',
+'pt-userlogout' => 'निर्गमनम्',
 
 # Email sending
 'php-mail-error-unknown' => 'पीएच्पी इत्येतस्य mail() फलने अज्ञाता काऽपि त्रुटिर्जाता।',
@@ -847,13 +899,13 @@ $2
 'image_tip' => 'अन्तर्निहिता सञ्चिका',
 'media_sample' => 'उदाहरणम्.ogg',
 'media_tip' => 'सञ्चिकासम्बन्धः',
-'sig_tip' => 'समयà¥\8bलà¥\8dलà¥\87न à¤¸à¤¹ à¤­à¤µà¤¤à¤\83/भवतà¥\8dयाà¤\83 à¤¹à¤¸à¥\8dताà¤\95à¥\8dषरà¤\83',
+'sig_tip' => 'समयà¥\8bलà¥\8dलà¥\87à¤\96à¥\87न à¤¸à¤¹ à¤­à¤µà¤¤à¤\83/भवतà¥\8dयाà¤\83 à¤¹à¤¸à¥\8dताà¤\95à¥\8dषरमà¥\8d',
 'hr_tip' => 'क्षैतिज-रेखा (न्यूनतया प्रयोक्तव्या)',
 
 # Edit pages
 'summary' => 'सारांशः:',
 'subject' => 'विषयः/शीर्षकम् :',
-'minoredit' => 'à¤\87दà¤\82 à¤²à¤\98à¥\81 à¤ªà¤°à¤¿à¤µà¤°à¥\8dतनम्',
+'minoredit' => 'à¤\87दà¤\82 à¤²à¤\98à¥\81 à¤¸à¤®à¥\8dपादनम्',
 'watchthis' => 'इदं पृष्ठं निरीक्षताम्',
 'savearticle' => 'पृष्ठं रक्ष्यताम्',
 'preview' => 'प्राग्दृश्यम्',
@@ -910,9 +962,8 @@ $2
 सत्रारम्भपश्चात् नूतनायाः अस्याः लेखायाः कूटशब्दः  '''[[Special:ChangePassword|कूटशब्दं परिवर्तताम्]]'' इति पृष्ठे परिवर्तितुं शक्यते।",
 'newarticle' => '(नूतनम्)',
 'newarticletext' => 'भवान्/भवती अनिर्मिते पृष्ठे अस्ति । 
-
-पृष्ठं स्रष्टुम् अधःप्रदत्तायां पेटिकायां टङ्कनं प्रारभतु (साहाय्यार्थं [[{{MediaWiki:Helppage}}|अत्र]] नुदतु ।
-भवान्/भवती यदि क्षतिकारणात् एतत् पृष्ठं प्रति आगच्छत्, तर्हि अस्य गवेषकस्य (browser) "बैक्" इति नुदतु ।',
+पृष्ठं स्रष्टुम् अधः प्रदत्तायां पेटिकायां टङ्कनं प्रारभतु (साहाय्यार्थं [$1 अत्र]) नुदतु ।
+भवान्/भवती यदि क्षतिकारणात् एतत् पृष्ठं प्रति आगच्छत्, तर्हि अस्य गवेषकस्य (browser) Back नुदतु ।',
 'anontalkpagetext' => 'तस्य अनामकयोजकस्य, अथवा अनुपयोजकस्य च परिचर्चापुटम् येन एतावति काले स्वस्थनं  न निर्मितम् । 
 अतः तस्य अभिज्ञानार्थं ऐ.पि.सङ्गेतसङ्ख्या प्रयोजनीया । 
 सा समाना सङ्ख्याः अन्ययोजकैः अपि विभक्ता । यदि भवान् अनामकयोजकः, भवता असम्बद्धटीकाः श्रुताः, कृपया स्वस्थनं निर्मीय नामाभिलेखं करोतु ।  [[Special:UserLogin/signup|create an account]], [[Special:UserLogin|log in]] अन्यानामकयोजकैः सह सम्भूयमनभ्रमैः विमुक्तः भवतु ।',
@@ -922,7 +973,7 @@ $2
 'noarticletext-nopermission' => 'अस्मिन् पृष्ठे अधुना किमपि न विद्यते । [[Special:Search/{{PAGENAME}}|एषः शब्दः]] येषु पृष्ठेषु अन्तर्भवति, तानि पृष्ठानि अन्वेष्टुं शक्यन्ते । 
 <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}}  सम्बद्धेषु पृष्ठेषु अन्वेषणं]
 [{{fullurl:{{FULLPAGENAME}}|action=edit}} अस्य पृष्ठस्य सम्पादनं] वा  शक्यम्</span>.',
-'missing-revision' => '{{PAGENAME}} इति नामाङ्कितपुटस्य #$1 इति पुनरावृत्तिः अत्र नाश्ति । 
+'missing-revision' => '{{FULLPAGENAME}} इति नामाङ्कितपुटस्य #$1 इति पुनरावृत्तिः अत्र नाश्ति । 
 पुटेन सह कालातीतानुबन्धकारणेन एतत् अभवत् ।
 विवरणम् अत्र दृश्यते ।[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].',
 'userpage-userdoesnotexist' => '"$1" इति प्रयोक्तृलेखा पञ्जीकृता नास्ति।
@@ -949,8 +1000,8 @@ $2
 मनसि धारयतु यत् स्वेच्छया परिवर्तिताः .css, .js चेति पृष्ठाः लघूनक्षरान् प्रयोजयन्ति, यथा  {{ns:user}}:Foo/Vector.css इत्येतस्य स्थाने  {{ns:user}}:Foo/vector.css इत्येतत्।",
 'updated' => '(अद्यतनीकृतः)',
 'note' => "'''सूचना:'''",
-'previewnote' => "'''सà¥\8dमरणà¥\80यà¤\82 à¤¯à¤¦à¥\87ततà¥\8d à¤\95à¥\87वलà¤\82 à¤ªà¥\8dराà¤\97à¥\8dदà¥\83शà¥\8dयमसà¥\8dति।'''
- ते परिवर्तनानि इदानीं यावत् न रक्षितानि ।",
+'previewnote' => "'''à¤\8fततà¥\8d à¤\95à¥\87वलà¤\82 à¤ªà¥\8dराà¤\97à¥\8dदà¥\83शà¥\8dयà¤\82 à¤µà¤°à¥\8dततà¥\87 à¤\87ति à¤¸à¥\8dमरतà¥\81'''
+भवता/भवत्या कृतानि परिवर्तनानि एतवता न रक्षितानि ।",
 'continue-editing' => 'सम्पादनम् अनुवर्तताम्',
 'previewconflict' => 'अस्मिन् प्राग्दृश्ये दर्शितमस्ति यत् उपरिवर्ति पाठ क्षेत्रस्य पाठः रक्षणपश्चात् कीदृशः दृष्टिगोचरः भविष्यति।',
 'session_fail_preview' => "'''क्षम्यताम्! अस्माभिः भवतः सम्पादनस्य संसाधनं न कर्तुं शक्तम् यस्माद्धि सत्रस्य सूचनाः लुप्ताः।'''
@@ -997,17 +1048,18 @@ $2
 'templatesusedsection' => '{{PLURAL:$1|Template|Templates}} अस्मिन् विभागे उपयुक्तम् ।',
 'template-protected' => '(संरक्षितम्)',
 'template-semiprotected' => 'अर्धसंरक्षितम्',
-'hiddencategories' => 'à¤\87दà¤\82 à¤ªà¥\83षà¥\8dठà¤\82 {{PLURAL:$1|1 à¤¨à¤¿à¤\97à¥\82ढà¥\87 à¤µà¤°à¥\8dà¤\97à¥\87 |$1 à¤¨à¤¿à¤\97à¥\82ढà¥\87षà¥\81 à¤µà¤°à¥\8dà¤\97à¥\87षà¥\81}} à¤\85नà¥\8dयतमà¤\82 à¤µà¤¿à¤¦à¥\8dयतà¥\87 :',
+'hiddencategories' => 'à¤\87दà¤\82 à¤ªà¥\83षà¥\8dठà¤\82 {{PLURAL:$1|1 à¤¨à¤¿à¤\97à¥\82ढà¥\87 à¤µà¤°à¥\8dà¤\97à¥\87 |$1 à¤¨à¤¿à¤\97à¥\82ढà¥\87षà¥\81 à¤µà¤°à¥\8dà¤\97à¥\87षà¥\81}} à¤\85नà¥\8dतरà¥\8dभवति :',
 'nocreatetext' => '{{SITENAME}} नूतनपुटनिर्माणस्य क्षमता नियता । वर्तमानापुटानां सम्पादनार्थं निर्गच्छतु । अथवा [[Special:UserLogin|log in or create an account]].',
 'nocreate-loggedin' => 'नूतनपुटनिर्मार्थम् अनुमतिः नास्ति ।',
 'sectioneditnotsupported-title' => 'विभागसम्पादनं न पोषितम् ।',
 'sectioneditnotsupported-text' => 'अस्मिन् पुटे विभागसम्पादनण् न पोषितम् ।',
 'permissionserrors' => 'अनुज्ञा-विभ्रमाः',
 'permissionserrorstext' => 'भवान् तत् कर्तुं अनुज्ञां न धारयति {{PLURAL:$1|अधोऽङ्कितात् कारणात् |अधोऽङ्कितेभ्यः कारणेभ्यः:}}',
-'permissionserrorstext-withaction' => 'भवान् $2 इत्येतदर्थम् अनुमतः नास्ति, यतः {{PLURAL:$1|कारणम्|कारणानि}}:',
-'recreate-moveddeleted-warn' => "'''प्रबोधः: पूर्वम् अपाकृतं पृष्टं भवता रच्यमानम् अस्ति ।'''
-अस्य पृष्ठस्य सम्पादनं किं युक्तम् इति पुनः विचार्यताम् ।
-एतस्य पृष्ठस्य अपाकरणस्य चालनस्य च विवरणं भवतः उपयोगाय अत्र दीयन्ते :",
+'permissionserrorstext-withaction' => '$1 निम्नकारणत्वात्  $2 सम्पादनस्य अनुमतिः नास्ति ।
+{{PLURAL:$1|कारणम्|कारणानि}}:',
+'recreate-moveddeleted-warn' => "'''पूर्वसूचना: पूर्वम् अपाकृतं पृष्टं भवता रच्यमानम् अस्ति ।'''
+अस्य पृष्ठस्य सम्पादनं करणात् प्राक् गभीरतया चिन्तनं करोतु ।
+अस्य पृष्ठस्य निर्माणं न्यायसङ्गतम् इति भवतः/भवत्याः मतमस्ति चेत् अत्र परिवर्तनं करोतु । सौकर्यार्थं पृष्ठ-अपाकरणस्य प्राक्तनसम्पादनस्य आवलिः अत्र वर्तते ।",
 'moveddeleted-notice' => 'इदं पृष्ठम् अपाकृतम् अस्ति।
 अस्य अपाकरणस्य, स्थानान्तरणस्य च विवरणम् अधः प्रदत्तम् ।',
 'log-fulllog' => 'पूर्ण प्रवर्तनरेख पश्यतु',
@@ -1037,8 +1089,8 @@ $2
 अत्र $2 संख्यातः  {{PLURAL:$2|न्यूनं आह्वानं|न्यूनानि आह्वानानि}} भवितव्यानि, सद्यः तत्र {{PLURAL:$1 $1 आह्वानं विद्यते|$1 आह्वानानि विद्यन्ते}}।",
 'expensive-parserfunction-category' => 'प्रभूतेभ्यः जटिलेभ्यः पार्सर्-फंक्शन्-आह्वानेभ्यः युक्तानि पृष्ठाणि।',
 'post-expand-template-inclusion-warning' => "'''पूर्वसूचना:''' फलकस्य आकारः बृहत् वर्तते । कानिचन फलकानि नान्तर्भविष्यन्ति ।",
-'post-expand-template-inclusion-category' => 'माहितà¥\80फलकस्य अपेक्षया पृष्ठं बृहत् वर्तते ।',
-'post-expand-template-argument-warning' => "'''पà¥\82रà¥\8dवसà¥\82à¤\9aना''' à¤\85सà¥\8dमिनà¥\8d à¤ªà¥\83षà¥\8dठà¥\87 à¤¸à¥\8dथितसà¥\8dय à¤«à¤²à¤\95सà¥\8dय à¤\8fà¤\95à¤\83 à¤µà¤¿à¤\95लà¥\8dपà¤\83 à¤¬à¤¹à¥\81 à¤¬à¥\83हतà¥\8d à¤­à¤µà¥\87तà¥\8d । तस्य विकल्पस्य अंशाः अपाकृताः ।",
+'post-expand-template-inclusion-category' => 'सà¥\82à¤\9aनाफलकस्य अपेक्षया पृष्ठं बृहत् वर्तते ।',
+'post-expand-template-argument-warning' => "'''पà¥\82रà¥\8dवसà¥\82à¤\9aना''' à¤\85सà¥\8dमिनà¥\8d à¤ªà¥\83षà¥\8dठà¥\87 à¤¸à¥\8dथितसà¥\8dय à¤«à¤²à¤\95सà¥\8dय à¤\8fà¤\95à¤\83 à¤µà¤¿à¤\95लà¥\8dपà¤\83 à¤¬à¤¹à¥\81 à¤¬à¥\83हतà¥\8d à¤µà¤°à¥\8dततà¥\87 । तस्य विकल्पस्य अंशाः अपाकृताः ।",
 'post-expand-template-argument-category' => 'येषु पृष्ठेषु फलके स्थिताः विकल्पाः न पूरिताः तेषां पृष्ठानाम् आवलिः',
 'parser-template-loop-warning' => 'बिम्बधर-पाशः प्राप्तः: [[$1]]',
 'parser-template-recursion-depth-warning' => 'बिम्बधर-पुनरावर्तनार्थं गहनतायाः सीमा अतिक्रान्ताऽस्ति ($1)',
@@ -1069,20 +1121,20 @@ $2
 'currentrev' => 'सद्यःकालीना आवृत्तिः',
 'currentrev-asof' => '$1 समयस्य संस्करणम्',
 'revisionasof' => '$1 इत्यस्य संस्करणं',
-'revision-info' => '$1इति समयस्य आवृत्तिः $2 इत्यनेन',
-'previousrevision' => 'â\86\90 à¤ªà¥\81रातनानि à¤¸à¤\82सà¥\8dà¤\95रणानि',
+'revision-info' => '$1 पर्यन्तं $2 द्वारा जातानां परिवर्तनानाम् आवलिः',
+'previousrevision' => 'â\86\90 à¤ªà¥\81रातनà¤\82 à¤¸à¤\82सà¥\8dà¤\95रणमà¥\8d',
 'nextrevision' => 'नूतनतरा आवृत्तिः →',
-'currentrevisionlink' => 'सदà¥\8dयà¤\83à¤\95ालà¥\80ना आवृत्तिः',
+'currentrevisionlink' => 'नà¥\82तनतमा आवृत्तिः',
 'cur' => 'वर्तमानः',
 'next' => 'आगामि',
 'last' => 'पूर्वतनम्',
 'page_first' => 'प्रथमम्',
 'page_last' => 'अन्तिमम्',
 'histlegend' => 'भेदस्य चयनम्: आवृत्तिभेदस्य दर्शनाय अग्रे प्रदत्ता रेडियोमञ्जूषा नुद्यताम्, एण्टर्-कुड्मलं नुद्यताम्, अधः दत्तं कुड्मलं वा नुद्यताम् । <br />
-à¤\87तिहासà¤\83: (सदà¥\8dयà¥\8bà¤\9cातमà¥\8d) = नूतनासु आवृत्तिषु भेदः, 
-(पà¥\82रà¥\8dवतनमà¥\8d) = à¤ªà¥\82रà¥\8dवतनासà¥\81 à¤\86वà¥\83तà¥\8dतिषà¥\81 à¤­à¥\87दà¤\83, (लà¤\98à¥\81) = à¤²à¤\98à¥\81 à¤ªà¤°à¤¿à¤µà¤°à¥\8dतनम्',
-'history-fieldset-title' => 'à¤\97वà¥\87षणसà¥\8dय (browser) इतिहासः',
-'history-show-deleted' => 'मातà¥\8dरम् अपाकृतम्',
+नà¥\82तनसà¤\82सà¥\8dà¤\95रणमà¥\8d = नूतनासु आवृत्तिषु भेदः, 
+(पà¥\82रà¥\8dवतनमà¥\8d) = à¤ªà¥\82रà¥\8dवतनासà¥\81 à¤\86वà¥\83तà¥\8dतिषà¥\81 à¤­à¥\87दà¤\83, (लà¤\98à¥\81) = à¤²à¤\98à¥\81 à¤¸à¤®à¥\8dपादनम्',
+'history-fieldset-title' => 'à¤\85नà¥\8dवà¥\87षणसà¥\8dय (browse) इतिहासः',
+'history-show-deleted' => 'à¤\95à¥\87वलम् अपाकृतम्',
 'histfirst' => 'पुरातनतमम्',
 'histlast' => 'नूतनतमम्',
 'historysize' => '({{PLURAL:$1|1 बैटम्|$1 बैटानि}})',
@@ -1091,7 +1143,7 @@ $2
 # Revision feed
 'history-feed-title' => 'आवर्तनेतिहासः',
 'history-feed-description' => 'विक्याम् अस्य पृष्ठस्य आवर्तनेतिहासः',
-'history-feed-item-nocomment' => '$2 मध्ये $1',
+'history-feed-item-nocomment' => '$1 द्वारा $3 दिनाङ्के $4 समये',
 'history-feed-empty' => 'याचितं पृष्ठं न विद्यते।
 इदं विकितः अपाकृतम् अथवा पुनर्नामितं स्यात्।
 सम्बन्धितानि नूतनानि पृष्ठाणि सम्प्राप्तुं [[Special:Search|विक्याम् अन्वेषणं]] करोतु।',
@@ -1124,8 +1176,7 @@ You can still [$1 view this revision]",
 'revdelete-no-file' => 'निर्दिष्टा सञ्चिका न विद्यते ।',
 'revdelete-show-file-confirm' => '$2 तः $3 मध्ये "<nowiki>$1</nowiki>" इति सञ्चिकायाः निरस्तं परिष्करणं भवान् नूनं द्रष्टुम् इच्छति ?',
 'revdelete-show-file-submit' => 'आम्',
-'revdelete-selected' => "'''{{PLURAL:$2|Selected revision|Selected revisions}} of [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Selected log event|Selected log events}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Selected log event|Selected log events}}:',
 'revdelete-confirm' => 'भवान् एतत् कार्यं करोति इति दढयतु । भवान् अस्य परिणामं जानाति । [[{{MediaWiki:Policy-url}}|the policy]] भवान् एतदनुसारं करोति ।',
 'revdelete-suppress-text' => 'अधोनिदेशितपरिस्थितिषु केवलं निग्रहः कार्यः । 
 * अवमाननीयाः विषयाः ।
@@ -1203,12 +1254,12 @@ You can still [$1 view this revision]",
 'mergelogpagetext' => 'अतिनूतनविलीनस्य आवली अधो दत्ता यस्य इतिहासः अन्यस्मिन् अस्ति ।',
 
 # Diffs
-'history-title' => '"$1" इत्यस्य आवर्तनेतिहासः :',
+'history-title' => '"$1" इत्यस्य आवर्तनेतिहासः',
 'difference-title' => '"$1" इत्यस्य अवतरणमध्ये व्यत्यासः ।',
 'difference-title-multipage' => '"$1" तथा "$2" पुटयोः मध्ये व्यत्यासः ।',
 'difference-multipage' => 'पुटेषु व्यत्यासः ।',
 'lineno' => 'पङ्क्तिः $1:',
-'compareselectedversions' => 'à¤\9aितानामà¥\8d à¤\86वà¥\83तà¥\8dतà¥\80नाà¤\82 à¤¤à¥\8bलनà¤\82 क्रियताम्',
+'compareselectedversions' => 'à¤\9aितानामà¥\8d à¤\86वà¥\83तà¥\8dतà¥\80नाà¤\82 à¤¤à¥\81लना क्रियताम्',
 'showhideselectedversions' => 'चितावतरणानि दर्शयतु/गोपयतु ।',
 'editundo' => 'पूर्ववत्',
 'diff-multi-manyusers' => '({{PLURAL:$2|योजकेन|$2 योजकैः}} कृता {{PLURAL:$1|मध्यमा आवृत्तिः|$1 मध्यमा आवृत्तयः}} न दर्शिताः ।)',
@@ -1222,28 +1273,28 @@ You can still [$1 view this revision]",
 'titlematches' => 'पुटशीर्षिकामेलाः ।',
 'textmatches' => 'पुटपाठस्य मेलाः',
 'notextmatches' => 'न कस्यापि पृष्ठस्य पाठः अस्य सममस्ति',
-'prevn' => 'पà¥\81रसà¥\8dतात् {{PLURAL:$1|$1}}',
-'nextn' => 'परसà¥\8dतात् {{PLURAL:$1|$1}}',
-'prevn-title' => 'पà¥\81रसà¥\8dतातà¥\8d {{PLURAL:$1|परिणामः|परिणामाः}}',
-'nextn-title' => 'परसà¥\8dतातà¥\8d {{PLURAL:$1|परिणामः|परिणामाः}}',
+'prevn' => 'पà¥\82रà¥\8dवतनम् {{PLURAL:$1|$1}}',
+'nextn' => 'à¤\85à¤\97à¥\8dरिमम् {{PLURAL:$1|$1}}',
+'prevn-title' => 'पà¥\82रà¥\8dवतन{{PLURAL:$1|परिणामः|परिणामाः}}',
+'nextn-title' => 'à¤\85à¤\97à¥\8dरिम{{PLURAL:$1|परिणामः|परिणामाः}}',
 'shown-title' => 'प्रत्येकस्मिन् पृष्ठे $1 {{PLURAL:$1|फलितम्|फलितानि}} दर्श्यताम्',
-'viewprevnext' => 'दरà¥\8dश्यताम् ($1 {{int:pipe-separator}} $2) ($3)',
-'searchmenu-exists' => "'''विकि-जालस्थानेऽस्मिन्  \"[[:\$1]]\" नामकं पृष्ठं विद्यते ।'''",
+'viewprevnext' => 'दà¥\83श्यताम् ($1 {{int:pipe-separator}} $2) ($3)',
+'searchmenu-exists' => '<strong>अस्मिन् विकि-जालस्थाने "[[:$1]]" नामकं पृष्ठं विद्यते ।</strong> {{PLURAL:$2|0=|अन्यपरिणामाः दृश्यन्ताम्}}',
 'searchmenu-new' => '<strong> अस्मिन् विकिजालस्थाने "[[:$1]]" इदं पृष्ठं सृज्यताम् ।
 </strong>
-{{PLURAL:$2|0=|तव अन्वेषणस्य परिणामोपि दृश्यताम् ।|तव अन्वेषणस्य परिणामाः अपि दृश्यन्ताम्}}',
-'searchprofile-articles' => 'à¤\86नà¥\8dतरà¥\8dविषà¤\95à¤\82 à¤ªà¥\83षà¥\8dठà¤\82',
+{{PLURAL:$2|0=|तव à¤\85नà¥\8dवà¥\87षणसà¥\8dय à¤ªà¤°à¤¿à¤£à¤¾à¤®à¥\8bऽपि à¤¦à¥\83शà¥\8dयतामà¥\8d à¥¤|तव à¤\85नà¥\8dवà¥\87षणसà¥\8dय à¤ªà¤°à¤¿à¤£à¤¾à¤®à¤¾à¤\83 à¤\85पि à¤¦à¥\83शà¥\8dयनà¥\8dतामà¥\8d}}',
+'searchprofile-articles' => 'विषयसहितानि à¤ªà¥\83षà¥\8dठानि',
 'searchprofile-project' => 'साहाय्यं, प्रकल्पपृष्ठानि च',
 'searchprofile-images' => 'माध्यमसमुच्चयः',
 'searchprofile-everything' => 'सर्वम्',
 'searchprofile-advanced' => 'प्रगतम्',
 'searchprofile-articles-tooltip' => '$1 स्थले अन्विष्यताम्',
 'searchprofile-project-tooltip' => '$1 स्थले अन्विष्यताम्',
-'searchprofile-images-tooltip' => 'सञ्चिका अन्विष्यताम्',
-'searchprofile-everything-tooltip' => '(चर्चापृष्ठानि अविहाय) सर्वत्र अन्विष्यताम्',
+'searchprofile-images-tooltip' => 'सञ्चिकाः अन्विष्यन्ताम्',
+'searchprofile-everything-tooltip' => 'सर्वत्र अन्विष्यताम् (चर्चापृष्ठानि अपि)',
 'searchprofile-advanced-tooltip' => 'नामाकाशेषु अन्विष्यताम्',
 'search-result-size' => '$1 ({{PLURAL:$2|1 शब्दः|$2 शब्दाः}})',
-'search-result-category-size' => '{{PLURAL:$1|1 à¤¸à¤¦à¤¸à¥\8dयà¤\83|$1 à¤¸à¤¦à¤¸à¥\8dयाà¤\83}} ({{PLURAL:$2|1 à¤\89पवरà¥\8dà¤\97à¤\83|$2 à¤\89पर्गाः}}, {{PLURAL:$3|1 सञ्चिका|$3 सञ्चिकाः}})',
+'search-result-category-size' => '{{PLURAL:$1|1 à¤¯à¥\8bà¤\9cà¤\95à¤\83|$1 à¤¯à¥\8bà¤\9cà¤\95ाà¤\83}} ({{PLURAL:$2|1 à¤\89पवरà¥\8dà¤\97à¤\83|$2 à¤\89पवर्गाः}}, {{PLURAL:$3|1 सञ्चिका|$3 सञ्चिकाः}})',
 'search-result-score' => 'सम्बन्धः $1% ।',
 'search-redirect' => '($1 तः अनुप्रेषितम्)',
 'search-section' => '(विभागः $1)',
@@ -1278,7 +1329,7 @@ You can still [$1 view this revision]",
 'skin-preview' => 'प्राग्दृश्यम्',
 'datedefault' => 'वरीयांसि नास्ति',
 'prefs-beta' => 'आवर्णलक्षणानि ।',
-'prefs-datetime' => 'दिनाà¤\82à¤\95 à¤¤à¤¥à¤¾ à¤¸à¤®à¤¯',
+'prefs-datetime' => 'दिनाà¤\99à¥\8dà¤\95à¤\83, à¤¸à¤®à¤¯à¤\83 à¤\9a',
 'prefs-labs' => 'प्रयोगशालालक्षणानि ।',
 'prefs-user-pages' => 'योजकपुटानि ।',
 'prefs-personal' => 'योजकः व्यक्तिरेखा',
@@ -1325,7 +1376,7 @@ You can still [$1 view this revision]",
 'timezoneregion-indian' => 'हिंद महासागर',
 'timezoneregion-pacific' => 'प्रशांत महासागर',
 'allowemail' => 'अन्योपयोजकानां विद्युन्मानसङ्केतं निष्कियं करोतु ।',
-'prefs-searchoptions' => 'अन्वेषणविकल्पाः ।',
+'prefs-searchoptions' => 'अन्वेषणविकल्पाः',
 'prefs-namespaces' => 'नामाकाशः :',
 'defaultns' => 'अन्यथा एतेषु नामाकाशेषु अन्विषतु ।',
 'default' => 'यदभावे',
@@ -1335,12 +1386,12 @@ You can still [$1 view this revision]",
 'prefs-common-css-js' => 'सर्वावरणानां कृते विभक्त सि.एस्.एस्./ जावालिपिः ।',
 'prefs-reset-intro' => 'आद्यतानां पुनर्निदेशार्थम् एतत्पुटम् उपयोक्तुं शकोति । एतत् अकृतं न भवति ।',
 'prefs-emailconfirm-label' => 'विद्युन्मानसङ्केतस्य दृढीकरणम् ।',
-'youremail' => 'ईपत्रसङ्केतः',
+'youremail' => 'ई-पत्रसङ्केतः',
 'username' => 'योजकनामन्:',
 'uid' => 'प्रयोक्तृ-क्रमांकः :',
 'prefs-memberingroups' => '{{PLURAL:$1|समूहस्य|समूहानां}}  सदस्यः:',
 'prefs-registration' => 'पंजीकरण कालः:',
-'yourrealname' => 'वासà¥\8dतविà¤\95à¤\82 à¤¨à¤¾à¤®:',
+'yourrealname' => 'वास्तविकनाम:',
 'yourlanguage' => 'भाषा:',
 'yourvariant' => 'भाषासामग्रीणां संस्करणम् ।',
 'prefs-help-variant' => ' विक्यां प्रदर्शितुं भवति ।',
@@ -1358,9 +1409,9 @@ You can still [$1 view this revision]",
 'email' => 'विद्युत्पत्रव्यवस्था',
 'prefs-help-realname' => 'निजनामधेयस्य उल्लेखः आवश्यकः नास्ति । 
 यदि ददाति तर्हि अस्य प्रयोगः भवतः योगदानार्थं भवते श्रेयं दातुम् उपयुक्तः भवति ।',
-'prefs-help-email' => 'ईपत्रसङ्केतः अनिवार्यः नास्ति । किन्तु कूटशब्दः विस्मर्यते चेत् तस्य परिवर्तनाय अवश्यकः भवति ।',
-'prefs-help-email-others' => 'à¤\85नà¥\8dयà¥\87 à¤¯à¥\8bà¤\9cà¤\95ाà¤\83 à¤\88पतà¥\8dरमाधà¥\8dयमà¥\87न à¤­à¤µà¤¤à¤\83 à¤¸à¤®à¥\8dपरà¥\8dà¤\95à¤\82 à¤¯à¤¥à¤¾ à¤\95à¥\81रà¥\8dयà¥\81à¤\83 à¤¤à¤¥à¤¾ à¤­à¤µà¤¦à¥\80यà¥\87 à¤¯à¥\8bà¤\9cà¤\95पà¥\83षà¥\8dठà¥\87 à¤¸à¤®à¥\8dभाषणपà¥\83षà¥\8dठà¥\87 à¤µà¤¾ à¤¸à¤®à¥\8dपरà¥\8dà¤\95तनà¥\8dतà¥\81à¤\83 à¤¯à¥\8bà¤\9cयितà¥\81à¤\82 à¤¶à¤\95à¥\8dयः ।
-भवतà¤\83 à¤¸à¤®à¥\8dपरà¥\8dà¤\95à¤\82 à¤\95à¥\83तवदà¥\8dभिà¤\83 à¤¯à¥\8bà¤\9cà¤\95à¥\88à¤\83 à¤­à¤µà¤¦à¥\80यà¤\83 à¤\88पतà¥\8dरसà¤\99à¥\8dà¤\95à¥\87तà¤\83 à¤\85भिà¤\9cà¥\8dà¤\9eातà¤\83 à¤¨ à¤­à¤µति ।',
+'prefs-help-email' => 'ई-पत्रसङ्केतः अनिवार्यः नास्ति । किन्तु कूटशब्दः विस्मर्यते चेत् तस्य परिवर्तनाय आवश्यकः भवति ।',
+'prefs-help-email-others' => 'यà¥\8bà¤\9cà¤\95पà¥\83षà¥\8dठ-समà¥\8dभाषणपà¥\83षà¥\8dठयà¥\8bà¤\83 à¤®à¤¾à¤§à¥\8dयमà¥\87न,  à¤\88-पतà¥\8dरमाधà¥\8dयमà¥\87न à¤µà¤¾ à¤\85नà¥\8dयà¥\87 à¤¯à¥\8bà¤\9cà¤\95ाà¤\83 à¤­à¤µà¤¤à¤\83/भवतà¥\8dयाà¤\83 à¤¸à¤®à¥\8dपरà¥\8dà¤\95à¤\82 à¤\95रà¥\8dतà¥\81à¤\82 à¤¶à¤\95à¥\8dनà¥\81यà¥\81ः ।
+समà¥\8dपरà¥\8dà¤\95à¥\87ऽसà¥\8dमिनà¥\8d à¤­à¤µà¤¤à¤\83/भवतà¥\8dयाà¤\83 à¤\88-पतà¥\8dरसà¤\99à¥\8dà¤\95à¥\87तमà¥\8d à¤\85नà¥\8dययà¥\8bà¤\9cà¤\95ाà¤\83 à¤\9cà¥\8dà¤\9eातà¥\81à¤\82 à¤¨ à¤ªà¥\8dरभवतनà¥\8dति ।',
 'prefs-help-email-required' => 'विद्युन्मानपत्रसङ्केतः आवश्यकः ।',
 'prefs-info' => 'मूलसूचनाः ।',
 'prefs-i18n' => 'अन्ताराष्ट्रिकरणम् ।',
@@ -1536,15 +1587,15 @@ You can still [$1 view this revision]",
 
 # Recent changes
 'nchanges' => '$1 {{PLURAL:$1|परिवर्तनम्|परिवर्तनानि}}',
-'recentchanges' => 'सदà¥\8dयपरिवर्तनानि',
-'recentchanges-legend' => 'सद्योजातानां परिवर्तनानां विकल्पाः',
-'recentchanges-summary' => 'अस्मिन् विकियोजनायां सद्योजातानि परिवर्तनानि दर्श्यन्ताम्',
-'recentchanges-feed-description' => 'अस्मिन् विकि-प्रकल्पे सद्योजातानि परिवर्तनानि दर्श्यन्ताम्',
+'recentchanges' => 'नà¥\82तनपरिवर्तनानि',
+'recentchanges-legend' => 'सद्यो जातानां परिवर्तनानां विकल्पाः',
+'recentchanges-summary' => 'अस्मिन् विकि-प्रकल्पे सद्यो जातानि परिवर्तनानि दृश्यन्ताम् ।',
+'recentchanges-feed-description' => 'अस्मिन् विकि-प्रकल्पे सद्यो जातानि परिवर्तनानि दर्श्यन्ताम्',
 'recentchanges-label-newpage' => 'अनेन सम्पादनेन नूतनपृष्ठस्य रचना अभूत् ।',
-'recentchanges-label-minor' => 'à¤\87दà¤\82 à¤²à¤\98à¥\81 à¤ªà¤°à¤¿à¤µà¤°à¥\8dतनम्',
+'recentchanges-label-minor' => 'à¤\87दà¤\82 à¤²à¤\98à¥\81 à¤¸à¤®à¥\8dपादनम्',
 'recentchanges-label-bot' => 'बोट्-द्वारा कृतं सम्पादनमेतत्',
 'recentchanges-label-unpatrolled' => 'एतावता अस्य सम्पादनस्य परिशीलिनं नाभूत् ।',
-'rcnotefrom' => "अधः '''$2''' तः  ('''$1''' पर्यन्तं) परिवर्तनानि दर्शितानि सन्ति ।",
+'rcnotefrom' => '<strong>$2</strong> तः आरभ्य (<strong>$1</strong> पर्यन्तं) जातानि परिवर्तनानि अधः प्रदर्शितानि ।',
 'rclistfrom' => '$1 पश्चात् जातानि नूतनानि परिवर्तनानि दृश्यन्ताम्',
 'rcshowhideminor' => '$1 लघुसम्पादनानि',
 'rcshowhidebots' => '$1 बोट् इत्येतानि',
@@ -1552,7 +1603,7 @@ You can still [$1 view this revision]",
 'rcshowhideanons' => 'अनामकाः योजकाः $1',
 'rcshowhidepatr' => '$1 ईक्षितसम्पादनानि',
 'rcshowhidemine' => '$1 मम सम्पादनानि',
-'rclinks' => 'अन्तिमेषु $2 दिनेषु जातानि अन्तिमानि $1 परिवर्तनानि दृश्यताम् <br />$3',
+'rclinks' => 'à¤\85नà¥\8dतिमà¥\87षà¥\81 $2 à¤¦à¤¿à¤¨à¥\87षà¥\81 à¤\9cातानि à¤\85नà¥\8dतिमानि $1 à¤ªà¤°à¤¿à¤µà¤°à¥\8dतनानि à¤¦à¥\83शà¥\8dयनà¥\8dतामà¥\8d <br />$3',
 'diff' => 'भेदः',
 'hist' => 'इतिहासः',
 'hide' => 'गोप्यताम्',
@@ -1574,11 +1625,11 @@ You can still [$1 view this revision]",
 'recentchangeslinked-feed' => 'पृष्ठ-सम्बन्धितानि परिवर्तनानि',
 'recentchangeslinked-toolbox' => 'पृष्ठसम्बद्धानि परिवर्तनानि',
 'recentchangeslinked-title' => '"$1" इत्यस्मिन् जातानि परिवर्तनानि',
-'recentchangeslinked-summary' => "विशेषपृष्ठेषु वर्गान्तर्गतपृष्ठेषु वा सद्योजातानां परिवर्तनानाम् एषा आवलिः ।
+'recentchangeslinked-summary' => "विशेषपृष्ठेषु वर्गान्तर्गतपृष्ठेषु वा सद्यो जातानां परिवर्तनानाम् एषा आवलिः ।
 
-[[Special:Watchlist|भवतà¤\83/भवतà¥\8dयाà¤\83 à¤\85वà¥\87à¤\95à¥\8dषणावलिà¤\83]] à¤\85तà¥\8dर à¤µà¤¿à¤¦à¥\8dयमानानि à¤ªà¥\83षà¥\8dठानि '''स्थूलाक्षरैः''' दर्शितानि।",
+[[Special:Watchlist|भवतà¤\83/भवतà¥\8dयाà¤\83 à¤\85वà¥\87à¤\95à¥\8dषणावलà¥\8dयाà¤\82]] à¤µà¤¿à¤¦à¥\8dयमानानि à¤ªà¥\83षà¥\8dठानि à¤\85तà¥\8dर '''स्थूलाक्षरैः''' दर्शितानि।",
 'recentchangeslinked-page' => 'पृष्ठनाम:',
-'recentchangeslinked-to' => 'à¤\85सà¥\8dमिनà¥\8d à¤¸à¥\8dथानà¥\87 à¤\85सà¥\8dय à¤ªà¥\83षà¥\8dठसà¥\8dय à¤¸à¤\82बद्धानां पृष्ठानां परिवर्तनानि दर्श्यन्ताम्',
+'recentchangeslinked-to' => 'à¤\85सà¥\8dमिनà¥\8d à¤¸à¥\8dथानà¥\87 à¤\85सà¥\8dय à¤ªà¥\83षà¥\8dठसà¥\8dय à¤¸à¤®à¥\8dबद्धानां पृष्ठानां परिवर्तनानि दर्श्यन्ताम्',
 
 # Upload
 'upload' => 'सञ्चिका आरोप्यताम्',
@@ -1602,7 +1653,7 @@ To include a file in a page, use a link in one of the following forms:
 'upload-preferred' => 'अनुमतसञ्चिकाभेदाः $1.',
 'upload-prohibited' => 'अनुमतसञ्चिकाभेदाः $1.',
 'uploadlog' => 'उत्तरणस्य सूची ।',
-'uploadlogpage' => 'à¤\86रà¥\8bपितानाà¤\82 à¤¸à¥\82à¤\9aà¥\80',
+'uploadlogpage' => 'à¤\89पारà¥\8bहिताऽऽवलिà¤\83 (Upload log)',
 'uploadlogpagetext' => 'अधः सद्यः काले उत्तारितसञ्चिकानाम् आवली अस्ति ।
 अधिकदृश्यविवरणार्थम् एतत् पश्यतु [[Special:NewFiles|gallery of new files]]',
 'filename' => 'सञ्चिकानाम',
@@ -1669,7 +1720,7 @@ To include a file in a page, use a link in one of the following forms:
 'uploadwarning' => 'उत्तारणस्य पूर्वसूचना ।',
 'uploadwarning-text' => 'अधो दत्तं सञ्चिकाविवरणं संस्कृत्य पुनः यतताम् ।',
 'savefile' => 'सञ्चिकां संरक्षतु ।',
-'uploadedimage' => '"[[$1]]" à¤\87तà¥\8dयà¥\87तदà¥\8d à¤\86रà¥\8bपितमसà¥\8dति',
+'uploadedimage' => '"[[$1]]" à¤\89पारà¥\8bहितानि (uploaded)',
 'overwroteimage' => '"[[$1]]" इत्यस्य नूतनावतरणम् उत्तारयतु ।',
 'uploaddisabled' => 'सक्रियम् उत्तारयतु ।',
 'copyuploaddisabled' => 'निष्क्रियतः यु.आर्.एल् तः उत्तारयतु  ।',
@@ -1838,7 +1889,7 @@ See https://www.mediawiki.org/wiki/Manual:Image_Authorization.',
 'filehist-help' => 'सञ्चिका तत्समये कीदृशी आसीदिति द्रष्टुं दिनाङ्कः/समयः नुद्यताम् ।',
 'filehist-deleteall' => 'सर्वान् परिमर्जतु ।',
 'filehist-deleteone' => 'विलोप',
-'filehist-revert' => 'पà¥\8dरतिनिवरà¥\8dतà¥\8dयताम्',
+'filehist-revert' => 'पà¥\8dरतà¥\8dयावरà¥\8dतनम्',
 'filehist-current' => 'वर्तमानः',
 'filehist-datetime' => 'दिनाङ्कः/समयः',
 'filehist-thumb' => 'लघ्वाकृतिः',
@@ -1850,7 +1901,7 @@ See https://www.mediawiki.org/wiki/Manual:Image_Authorization.',
 'filehist-comment' => 'टिप्पणी',
 'filehist-missing' => 'सञ्चिका विनष्टा ।',
 'imagelinks' => 'सञ्चिकायाः उपयोगः',
-'linkstoimage' => '{{PLURAL:$1|अधो निर्दिष्टपृष्ठस्य परिसन्धयः|$1 अधो निर्दिष्टपृष्ठानां परिसन्धिः} अत्र {{PLURAL:$1|सल्लग्नाः सन्ति|सल्लग्ना अस्ति}}:',
+'linkstoimage' => '{{PLURAL:$1|अधो निर्दिष्टपृष्ठस्य परिसन्धयः संलग्नाः सन्ति|$1 अधो निर्दिष्टपृष्ठानां परिसन्धिः संलग्ना अस्ति}}:',
 'linkstoimage-more' => '{{PLURAL:$1|$1}} तः अधिकपुटानि अस्यां सञ्चिकायां योज्यन्ते । 
 अधोनिदेशितसूची सञ्चिकाभिः योजनीयपुटानि पश्यति ।{{PLURAL:$1|$1 पृष्ठ|$1 पृष्ठ}} 
 [[Special:WhatLinksHere/$2|पूर्णसूची]] अपि लभ्यते ।',
@@ -1932,7 +1983,7 @@ See https://www.mediawiki.org/wiki/Manual:Image_Authorization.',
 'randomredirect-nopages' => '$1नामस्थाने चालनानि न सन्ति ।',
 
 # Statistics
-'statistics' => 'सà¥\8dथितिà¤\97णितमà¥\8d',
+'statistics' => 'साà¤\99à¥\8dà¤\96à¥\8dयिà¤\95à¥\80',
 'statistics-header-pages' => 'पुटसाङ्ख्यिकाः ।',
 'statistics-header-edits' => 'सङ्ख्यिकाः सम्पादयतु ।',
 'statistics-header-views' => 'साङ्ख्यिकाः अवलोकयतु ।',
@@ -2030,7 +2081,7 @@ See https://www.mediawiki.org/wiki/Manual:Image_Authorization.',
 'newpages' => 'नवीनपृष्ठानि',
 'newpages-username' => 'योजकनामन्:',
 'ancientpages' => 'प्राचीनतमानि पृष्ठानि',
-'move' => 'à¤\9aाल्यताम्',
+'move' => 'शà¥\80रà¥\8dषà¤\95à¤\82 à¤ªà¤°à¤¿à¤µà¤°à¥\8dत्यताम्',
 'movethispage' => 'इदं पृष्ठं चाल्यताम्',
 'unusedimagestext' => 'अधो दत्तसञ्चिकाः सन्ति किन्तु कस्मिंश्चिदपि पुटे न न्यस्ताः ।',
 'unusedcategoriestext' => 'निम्नलिखितवर्गाः सन्ति तथापि अन्यपुटं वर्गः वा न उपयुङ्क्ते ।',
@@ -2130,7 +2181,7 @@ See https://www.mediawiki.org/wiki/Manual:Image_Authorization.',
 'listgrouprights-group' => 'वर्ग',
 'listgrouprights-rights' => 'अधिकाराः ।',
 'listgrouprights-helppage' => 'Help: समूहाधिकाराः ।',
-'listgrouprights-members' => '(सदसà¥\8dयानाà¤\82 à¤¸à¥\82à¤\9aà¥\80)',
+'listgrouprights-members' => '(यà¥\8bà¤\9cà¤\95ानामà¥\8d à¤\86वलिà¤\83)',
 'listgrouprights-addgroup' => '{{PLURAL:$2|समूहः}} योज्यताम् $1',
 'listgrouprights-removegroup' => 'समूहः{{PLURAL:$2|विलोपयतु}}: $1',
 'listgrouprights-addgroup-all' => 'सर्वसमूहान् योजयतु ।',
@@ -2143,7 +2194,7 @@ See https://www.mediawiki.org/wiki/Manual:Image_Authorization.',
 # Email user
 'mailnologin' => 'सम्प्रेषणस्य सङ्केतः नास्ति ।',
 'mailnologintext' => 'अस्य योजकेभ्यः विद्युन्मानपत्रप्रेषणार्थम् [[Special:UserLogin|नामाभिलेखनम्]] आवश्यकम् [[Special:Preferences|आद्यता]]यां प्रेषयितुं विद्युन्मानपत्रसङ्केतः आवश्यकः ।',
-'emailuser' => 'एतस्मै योजकाय ईपत्रं प्रेष्यताम्',
+'emailuser' => 'एतस्मै योजकाय ई-पत्रं प्रेष्यताम्',
 'emailuser-title-target' => 'ईपत्र प्रेष्यताम् {{GENDER:$1|योजकः}}',
 'emailuser-title-notarget' => 'ईपत्र योजकः',
 'emailpage' => 'ई-मेल योजक',
@@ -2180,7 +2231,7 @@ See https://www.mediawiki.org/wiki/Manual:Image_Authorization.',
 # Watchlist
 'watchlist' => 'अवेक्षणावलिः',
 'mywatchlist' => 'अवेक्षणावलिः',
-'watchlistfor2' => 'हि $1 $2',
+'watchlistfor2' => '$1 $2 कृते',
 'nowatchlist' => 'अवलोकनावल्यां पदार्थः नास्ति ।',
 'watchlistanontext' => 'अवलोकनपट्टिकायां पुटं दृष्टुं सम्पादयितुं वा  $1  करोतु ।',
 'watchnologin' => 'न नामाभिलितम्',
@@ -2196,15 +2247,15 @@ See https://www.mediawiki.org/wiki/Manual:Image_Authorization.',
 'unwatchthispage' => 'अवलोकनेन अलम् ।',
 'notanarticle' => 'न आधेयं पुटम् ।',
 'notvisiblerev' => 'अन्ययोजकेन कृतम् अवतरणम् अपमर्जितम् ।',
-'watchlist-details' => '{{PLURAL:$1|$1 पृष्ठं|$1 पृष्ठानि}} भवतः अवेक्षणसूच्यां सन्ति, सम्भाषणपृष्ठानि नात्र गणितानि।',
+'watchlist-details' => 'सम्भाषणपृष्ठानि विहाय {{PLURAL:$1|$1 पृष्ठं|$1 पृष्ठानि}} भवतः/भवत्याः अवेक्षणाऽऽवलिः ।',
 'wlheader-enotif' => 'विद्युन्मानपत्रस्य सूचनाः सक्रियाः ।',
 'wlheader-showupdated' => 'भवतः सन्दर्शनस्य पश्चात् परिवर्तितानि पुटानि स्थूलाक्षरैः निर्दिष्टानि ।',
 'watchmethod-recent' => 'अवलोकितपुटानां सद्यः सम्पादनस्य परीक्षणम् ।',
 'watchmethod-list' => 'सद्यः सम्पादनार्थम् अवलोकितपुटानां परीक्षणम् ।',
 'watchlistcontains' => 'भवतः अवलोकनावली $1 युक्तास्ति ।{{PLURAL:$1|page|pages}}.',
 'iteminvalidname' => "समस्या  '$1' इत्यनेन अस्ति । अमान्यं नाम ।",
-'wlshowlast' => 'à¤\85नà¥\8dतिमानि ($1 à¤¹à¥\8bराà¤\83 $2 à¤¦à¤¿à¤¨à¤¾à¤¨à¤¿) $3 à¤\87ति à¤¦à¤°à¥\8dश्यन्ताम्',
-'watchlist-options' => 'à¤\85वà¥\87à¤\95à¥\8dषणसà¥\82à¤\9aà¥\8dयाः विकल्पाः',
+'wlshowlast' => 'à¤\85नà¥\8dतिमाà¤\83 $1 à¤¹à¥\8bराà¤\83, à¤\85नà¥\8dतिमानि $2 à¤¦à¤¿à¤¨à¤¾à¤¨à¤¿ $3 à¤¦à¥\83श्यन्ताम्',
+'watchlist-options' => 'à¤\85वà¥\87à¤\95à¥\8dषणाऽऽवलà¥\87ः विकल्पाः',
 
 # Displayed when you click the "watch" button and it is in the process of watching
 'watching' => 'निरीक्षते...',
@@ -2268,7 +2319,7 @@ Feedback and further assistance:
 'historywarning' => "' पूर्वसूचना ''' भवता अपमर्जनसिद्धपुटे बहुशः  $1 इतिहासयुक्तः अस्ति ।{{PLURAL:$1|revision|revisions}}:",
 'confirmdeletetext' => 'भवान् एकं पृष्ठं तस्य अखिलेन इतिहासेन सहितं अपाकर्तुं प्रवृत्तोऽस्ति। कृपया सुपुष्टीकरोतु यत् भवतः एतदेव आशयः, यद् भवता अस्य परिणामाः सुविज्ञाताः सन्ति तथा च भवता क्रियैषा [[{{MediaWiki:Policy-url}}| यथानीति]] सम्पाद्यते।',
 'actioncomplete' => 'कार्यं सम्पन्नम्',
-'actionfailed' => 'à¤\95ारà¥\8dयà¤\82 à¤°à¤¿à¤·à¥\8dà¤\9fà¤\82 (failed)',
+'actionfailed' => 'à¤\95ारà¥\8dयà¤\82 à¤°à¤¿à¤·à¥\8dà¤\9fमà¥\8d (failed)',
 'deletedtext' => '"$1" इत्येतद् अपाकृतमस्ति।
 सद्यःकृतानां अपाकरणानाम् अभिलेखः $2 इत्यस्मिन् पश्यतु।',
 'dellogpage' => 'अपाकरणानाम् आवलिः',
@@ -2314,7 +2365,7 @@ $2 द्वारा सम्पादितां अन्तिमावृ
 'protectlogpage' => 'सुरक्षाऽऽवलिः',
 'protectlogtext' => 'अधो दत्ता सुरक्षार्थं कृतपरिवर्ननानां सूचिका अस्ति । 
 वरतमानस्य सुरक्षितपुटानां सूचिकार्थम् अत्र [[Special:ProtectedPages|सुरक्षितपुटानां सूचिका]] पश्यतु ।',
-'protectedarticle' => '"[[$1]]" à¤\87तà¥\8dयà¥\87तदà¥\8d à¤¸à¤\82रà¤\95à¥\8dषितमसà¥\8dति',
+'protectedarticle' => '"[[$1]]" संरक्षितमस्ति',
 'modifiedarticleprotection' => '"[[$1]]" इत्येतदर्थं सुरक्षा-स्तरः परिवर्तित: :',
 'unprotectedarticle' => '"[[$1]]"तः सुरक्षा अपमर्जिता ।',
 'movedarticleprotection' => 'सुरक्षणस्य स्तरः  "[[$2]]" तः परिवर्त्य   "[[$1]]" कृतः अस्ति ।',
@@ -2430,19 +2481,19 @@ $2 द्वारा सम्पादितां अन्तिमावृ
 'tooltip-invert' => 'चितनामस्थाने परिवर्तनं गोपयितुं मञ्जूषाम् अर्गलयतु ।',
 'namespace_association' => 'सम्बद्धं नामस्थानम् ।',
 'tooltip-namespace_association' => 'चितनामस्थानेन सह सम्बद्धं विषयनामस्थानम् अथवा सम्भाषणम् अपि उपादातुम् इमां मञ्जूषाम् अर्गलयतु ।',
-'blanknamespace' => '(मà¥\81à¤\96à¥\8dयà¤\83)',
+'blanknamespace' => '(मà¥\81à¤\96à¥\8dयमà¥\8d)',
 
 # Contributions
 'contributions' => '{{GENDER:$1|प्रयोक्तॄणां}} योगदानानि',
-'contributions-title' => '$1 à¤\95à¥\83तà¥\87 à¤¯à¥\8bà¤\97दानà¤\82',
+'contributions-title' => '$1 à¤\95à¥\83तà¥\87 à¤¯à¥\8bà¤\9cà¤\95सà¥\8dय à¤¯à¥\8bà¤\97दानानि',
 'mycontris' => 'योगदानानि',
-'contribsub2' => '$1 इत्येतदर्थम् ($2)',
+'contribsub2' => '($2) कृते {{GENDER:$3|$1}}',
 'nocontribs' => 'एतादृशयोग्यताभिः समं परिवर्तनानि न दृष्टानि ।',
 'uctop' => 'वर्तमानः',
 'month' => 'अस्मात् मासात् (प्राक्तनानि च):',
 'year' => 'अस्मात् वर्षात् (प्राक्तनानि च):',
 
-'sp-contributions-newbies' => 'नà¥\82तनयà¥\8bà¤\9cà¤\95ानाà¤\82 à¤\95à¥\87वलà¤\82 à¤¯à¥\8bà¤\97दानानि à¤¦à¤°à¥\8dश्यन्ताम्',
+'sp-contributions-newbies' => 'à¤\95à¥\87वलà¤\82 à¤¨à¥\82तनयà¥\8bà¤\9cà¤\95ानाà¤\82 à¤¯à¥\8bà¤\97दानानि à¤¦à¥\83श्यन्ताम्',
 'sp-contributions-newbies-sub' => 'नूतनलेखार्थम् ।',
 'sp-contributions-newbies-title' => 'नूतनलेखार्थं योजकयोगदानम् ।',
 'sp-contributions-blocklog' => 'अवरोधाऽऽवलिः',
@@ -2456,27 +2507,27 @@ $2 द्वारा सम्पादितां अन्तिमावृ
 'sp-contributions-blocked-notice-anon' => 'अयं प्रयोक्ता सम्प्रति अवरुद्धः वर्तते।
 नूतनतमा अवरोधाभिलेख-प्रविष्टिः सन्दर्भार्थम् अधस्तात् प्रदत्ताऽस्ति:',
 'sp-contributions-search' => 'योगदानानि अन्विष्यन्ताम्',
-'sp-contributions-username' => 'à¤\86à¤\87.पà¥\80.सà¤\99à¥\8dà¤\95à¥\87तà¤\83 à¤\85थवा à¤¯à¥\8bà¤\9cà¤\95नाम :',
-'sp-contributions-toponly' => 'समà¥\8dपादनानाà¤\82 à¤¨à¥\82तनावà¥\83तà¥\8dतिमातà¥\8dरà¤\82 à¤¦à¤°à¥\8dश्यताम्',
+'sp-contributions-username' => 'à¤\85नà¥\8dतरà¥\8dà¤\9cालसà¤\82विदà¥\8d (I P address) à¤¯à¥\8bà¤\9cà¤\95नाम à¤µà¤¾ :',
+'sp-contributions-toponly' => 'समà¥\8dपादनानाà¤\82 à¤¨à¥\82तनतमा à¤\86वलिà¤\83 à¤¦à¥\83श्यताम्',
 'sp-contributions-submit' => 'अन्विष्यताम्',
 
 # What links here
 'whatlinkshere' => 'अनेन सह सम्बद्धाः',
 'whatlinkshere-title' => '"$1" सम्बद्धानि पृष्ठानि',
 'whatlinkshere-page' => 'पृष्ठम्:',
-'linkshere' => "'''[[:$1]]''' इत्यनेन सह अधोलिखितानां पृष्ठानां परिसन्धिं करोतु:",
-'nolinkshere' => "'''[[:$1]]'''इत्येतेन न किञ्चित् पृष्ठं संयुक्तम्",
+'linkshere' => "'''[[:$1]]''' इत्यनेन सह अधो लिखितानां पृष्ठानां परिसन्धिं करोतु:",
+'nolinkshere' => "'''[[:$1]]''' इत्यनेन सह न किमपि पृष्ठं परिसन्धितम्",
 'nolinkshere-ns' => "चितनामस्थानात्  '''[[:$1]]''' इत्येनं योजनयोग्यं पुटं नास्ति  ।",
 'isredirect' => 'अनुप्रेषण-पृष्ठम्',
 'istemplate' => 'अन्यलेखभागः (transclusion)',
 'isimage' => 'सञ्चिकासम्बन्धः',
 'whatlinkshere-prev' => '{{PLURAL:$1|पुरस्तात् (previous) $1}}',
-'whatlinkshere-next' => '{{PLURAL:$1|परसà¥\8dतात् $1}}',
+'whatlinkshere-next' => '{{PLURAL:$1|à¤\85à¤\97à¥\8dरिमम् $1}}',
 'whatlinkshere-links' => '← परिसन्धयः',
-'whatlinkshere-hideredirs' => '$1 पुनर्निर्दिष्टानि',
-'whatlinkshere-hidetrans' => '$1 अन्यलेखभागः (transclusions)',
-'whatlinkshere-hidelinks' => '$1 à¤ªà¤°à¤¿à¤¸à¤¨à¥\8dधिः',
-'whatlinkshere-hideimages' => '$1 à¤\9aितà¥\8dरसमà¥\8dपरà¥\8dà¤\95तनà¥\8dतà¥\81ः',
+'whatlinkshere-hideredirs' => '$1 पुनर्निर्दिष्टानि पृष्ठानि',
+'whatlinkshere-hidetrans' => '$1 à¤\85नà¥\8dयलà¥\87à¤\96भाà¤\97ाà¤\83 (transclusions)',
+'whatlinkshere-hidelinks' => '$1 à¤ªà¤°à¤¿à¤¸à¤¨à¥\8dधयः',
+'whatlinkshere-hideimages' => '$1 à¤\9aितà¥\8dरपरिसनà¥\8dधिः',
 'whatlinkshere-filters' => 'शोधनी',
 
 # Block/unblock
@@ -2556,16 +2607,16 @@ $2 द्वारा सम्पादितां अन्तिमावृ
 'blocklink' => 'अवरुद्ध्यताम्',
 'unblocklink' => 'अवरोधः निरस्त्यताम्',
 'change-blocklink' => 'अवरोधः परिवर्त्यताम्',
-'contribslink' => 'यà¥\8bà¤\97दानमà¥\8d',
+'contribslink' => 'यà¥\8bà¤\97दानानि',
 'emaillink' => 'विद्युन्मानपत्रं प्रेषयतु ।',
 'autoblocker' => 'भवतः ऐपि सङ्केतः स्वयम् अवरुद्धः यः सद्यः काले एव [[User:$1|$1]]" इत्यनेन उपयुक्तः । 
 $1 इत्यस्य अवरोधस्य कारणं तु "$2" अस्ति ।',
-'blocklogpage' => 'à¤\85वरà¥\8bधानाà¤\82 à¤¸à¥\82à¤\9aà¥\80',
+'blocklogpage' => 'à¤\85वरà¥\8bधाऽऽवलिà¤\83',
 'blocklog-showlog' => 'अयम् एपि सङ्केतः पूर्वमेव अवरुद्धः । 
 अवरोधसूची आधाराय अधः दत्तः अस्ति :',
 'blocklog-showsuppresslog' => 'अयं योजकः पूर्वमेव अवरुद्धः सङ्गुप्तः च  ।
 निग्रहकरणं तु अधः उल्लिखितम् ।',
-'blocklogentry' => '[[$1]] इत्येतद् अवरुद्धम्, $2 $3 इति अवसान-समयेन सह',
+'blocklogentry' => '$2 $3 समयपर्यन्तं [[$1]] एतत् प्रतिबन्धितं वर्तते',
 'reblock-logentry' => '[[$1]] इत्यस्य अवरोधस्य विन्यासः परिवर्तितः अयं $2 $3 समये विनश्येत् ।',
 'blocklogtext' => 'इयम् अवरुद्धानवरुद्धप्रक्रियायाः अवलोकनस्य सूचिका । 
 स्वयम् अवरुद्धानाम् ऐपिसङ्केतानाम् आवली न कृता ।
@@ -2834,56 +2885,56 @@ $2 इति प्रकारस्य अवरोधं कर्तुं 
 'tooltip-pt-anontalk' => 'एतस्मात् ऐपिसङ्केतात् सम्पादनस्य परिचर्चा ।',
 'tooltip-pt-preferences' => 'भवतः/भवत्याः इष्टतमानि',
 'tooltip-pt-watchlist' => 'भवतः/भवत्याः निरीक्षासूच्यां विद्यमानानां पृष्ठानाम् आवलिः',
-'tooltip-pt-mycontris' => 'भवतà¤\83/भवतà¥\8dयाà¤\83 à¤¯à¥\8bà¤\97दानसà¥\8dय आवलिः',
+'tooltip-pt-mycontris' => 'भवतà¤\83/भवतà¥\8dयाà¤\83 à¤¯à¥\8bà¤\97दानानामà¥\8d आवलिः',
 'tooltip-pt-login' => 'सम्प्रवेशाय प्रोत्सहामहे । परन्तु सम्प्रवेशः ऐच्छिकः ।',
 'tooltip-pt-logout' => 'निर्गमनम्',
-'tooltip-ca-talk' => 'पà¥\83षà¥\8dठाऽनà¥\8dतरà¥\8dà¤\97ताय à¤µà¤¿à¤·à¤¯à¤¾à¤¯ चर्चा',
+'tooltip-ca-talk' => 'विषयसहितानाà¤\82 à¤ªà¥\83षà¥\8dठानाà¤\82 चर्चा',
 'tooltip-ca-edit' => 'इदं पृष्ठं सम्पादयितुं शक्यते । रक्षणात्पूर्वं कृपया प्राग्दृश्यं दृश्यताम् ।',
 'tooltip-ca-addsection' => 'नूतनविभागः आरभ्यताम्',
-'tooltip-ca-viewsource' => 'à¤\87दà¤\82 à¤ªà¥\83षà¥\8dठà¤\82 à¤¸à¤\82रà¤\95à¥\8dषितà¤\82 à¤µà¤¿à¤¦à¥\8dयतà¥\87 à¥¤ à¤\85सà¥\8dय à¤¸à¥\8dरà¥\8bतà¤\82 द्रष्टुं शक्यते ।',
+'tooltip-ca-viewsource' => 'à¤\87दà¤\82 à¤ªà¥\83षà¥\8dठà¤\82 à¤¸à¤\82रà¤\95à¥\8dषितà¤\82 à¤µà¤¿à¤¦à¥\8dयतà¥\87 à¥¤ à¤\85सà¥\8dय à¤¸à¥\8dरà¥\8bतà¤\83 द्रष्टुं शक्यते ।',
 'tooltip-ca-history' => 'अस्य पृष्ठस्य पुरातनाऽऽवृत्तिः',
 'tooltip-ca-protect' => 'इदं पृष्ठं संरक्ष्यताम्',
 'tooltip-ca-unprotect' => 'अस्य पुटास्य सुरक्षां परिवर्तयतु ।',
 'tooltip-ca-delete' => 'इदं पृष्ठम् अपाक्रियताम्',
 'tooltip-ca-undelete' => 'अस्य पुटस्य अपमर्जनात् पूर्वम् अस्य सम्पादनानि पुनस्थापयतु ।',
-'tooltip-ca-move' => 'à¤\85सà¥\8dय à¤ªà¥\83षà¥\8dठसà¥\8dय à¤¨à¤¾à¤® परिवर्त्यताम्',
+'tooltip-ca-move' => 'à¤\85सà¥\8dय à¤ªà¥\83षà¥\8dठसà¥\8dय à¤¶à¥\80रà¥\8dषà¤\95à¤\82 परिवर्त्यताम्',
 'tooltip-ca-watch' => 'इदं पृष्ठं भवतः/भवत्याः अवेक्षणावल्यां योज्यताम्',
 'tooltip-ca-unwatch' => 'भवतः/भवत्याः अवेक्षणसूच्याः इदं पृष्ठं निष्कास्यताम्',
 'tooltip-search' => '{{SITENAME}} अन्विष्यताम्',
 'tooltip-search-go' => 'समानशिरोनामयुक्तं पृष्ठं विद्यते चेत् तत्र गम्यताम्',
-'tooltip-search-fulltext' => 'à¤\8fनà¤\82 à¤µà¤¾à¤\95à¥\8dयाà¤\82शà¤\82 à¤ªà¥\83षà¥\8dठà¥\87षà¥\81 अन्विष्यताम्',
+'tooltip-search-fulltext' => 'पà¥\83षà¥\8dठà¥\87षà¥\81 à¤\8fषà¤\83 à¤µà¤¾à¤\95à¥\8dयाà¤\82शà¤\83 अन्विष्यताम्',
 'tooltip-p-logo' => 'मुख्यपृष्ठं गम्यताम्',
 'tooltip-n-mainpage' => 'मुख्यपृष्ठं गम्यताम्',
 'tooltip-n-mainpage-description' => 'मुख्यपृष्ठं गम्यताम्',
-'tooltip-n-portal' => 'तà¥\8dवया à¤ªà¥\8dरà¤\95लà¥\8dपविषयà¥\87 à¤\95िà¤\82 à¤\95रà¥\8dतà¥\81à¤\82 à¤¶à¤\95à¥\8dयतà¥\87, à¤\95à¥\81तà¤\83 साहाय्यं प्राप्तव्यम्',
+'tooltip-n-portal' => 'तà¥\8dवया à¤ªà¥\8dरà¤\95लà¥\8dपविषयà¥\87 à¤\95िà¤\82 à¤\95रà¥\8dतà¥\81à¤\82 à¤¶à¤\95à¥\8dयतà¥\87, à¤\95à¥\81थà¤\82 साहाय्यं प्राप्तव्यम्',
 'tooltip-n-currentevents' => 'वर्तमानप्रसङ्गानां पृष्ठभूमिका प्राप्यताम्',
-'tooltip-n-recentchanges' => 'सदà¥\8dयपरिवर्तनानाम् आवलिः',
+'tooltip-n-recentchanges' => 'नवà¥\80नपरिवर्तनानाम् आवलिः',
 'tooltip-n-randompage' => 'अशृङ्खलं (random) पृष्ठं गम्यताम्',
-'tooltip-n-help' => 'à¤\85नà¥\8dवà¥\87षणसà¥\8dथानम्',
+'tooltip-n-help' => 'à¤\85नà¥\8dवà¥\87षणसà¥\8dथलम्',
 'tooltip-t-whatlinkshere' => 'अत्र सम्बद्धानां परिसन्धितानां विकि-पृष्ठानाम् आवलिः',
-'tooltip-t-recentchangeslinked' => 'à¤\8fततà¥\8dपà¥\83षà¥\8dठसमà¥\8dबदà¥\8dधà¥\87षà¥\81 à¤ªà¥\83षà¥\8dठà¥\87षà¥\81 à¤¸à¤¦à¥\8dयà¤\9cातानि परिवर्तनानि',
+'tooltip-t-recentchangeslinked' => 'à¤\8fततà¥\8dपà¥\83षà¥\8dठसमà¥\8dबदà¥\8dधà¥\87षà¥\81 à¤ªà¥\83षà¥\8dठà¥\87षà¥\81 à¤\9cातानि à¤¨à¤µà¥\80नपरिवर्तनानि',
 'tooltip-feed-rss' => 'अस्मै पृष्ठाय आर-एस-एस-पूरणम्',
 'tooltip-feed-atom' => 'अस्मै पृष्ठाय अणुपूरणम्',
 'tooltip-t-contributions' => 'अस्य योजकस्य योगदानानाम् आवलिः',
-'tooltip-t-emailuser' => 'एतस्मै योजकाय ईपत्रं प्रेष्यताम्',
+'tooltip-t-emailuser' => 'एतस्मै योजकाय ई-पत्रं प्रेष्यताम्',
 'tooltip-t-upload' => 'सञ्चिकाः आरोप्यन्ताम्',
 'tooltip-t-specialpages' => 'सर्वेषां विशिष्टपृष्ठानाम् आवलिः',
 'tooltip-t-print' => 'अस्य पृष्ठस्य मुद्रणयोग्या आवृत्तिः',
 'tooltip-t-permalink' => 'पृष्ठस्यास्य स्थायिपरिसन्धिः',
-'tooltip-ca-nstab-main' => 'à¤\86नà¥\8dतरà¥\8dविषयà¤\95ं पृष्ठं पश्यतु',
+'tooltip-ca-nstab-main' => 'विषययà¥\81à¤\95à¥\8dतं पृष्ठं पश्यतु',
 'tooltip-ca-nstab-user' => 'योजकपृष्ठं दृश्यताम्',
 'tooltip-ca-nstab-media' => 'माध्यमपुटम् अवलोकयतु ।',
-'tooltip-ca-nstab-special' => 'à¤\87दमà¥\87à¤\95à¤\82 à¤µà¤¿à¤¶à¤¿à¤·à¥\8dà¤\9fà¤\82 à¤ªà¥\83षà¥\8dठमà¥\8d, भवान्/भवती इदं पृष्ठं सम्पादयितुं नार्हति ।',
+'tooltip-ca-nstab-special' => 'à¤\87दमà¥\87à¤\95à¤\82 à¤µà¤¿à¤¶à¤¿à¤·à¥\8dà¤\9fà¤\82 à¤ªà¥\83षà¥\8dठà¤\82, भवान्/भवती इदं पृष्ठं सम्पादयितुं नार्हति ।',
 'tooltip-ca-nstab-project' => 'प्रकल्पपृष्ठं दृश्यताम्',
 'tooltip-ca-nstab-image' => 'सञ्चिकापृष्ठं दृश्यताम्',
 'tooltip-ca-nstab-mediawiki' => 'तन्त्रसन्देशान् अवलोकयतु ।',
 'tooltip-ca-nstab-template' => 'फलकं दृश्यताम्',
 'tooltip-ca-nstab-help' => 'साहाय्यपुटम् अवलोकयतु ।',
 'tooltip-ca-nstab-category' => 'वर्गाणां पृष्ठं दृश्यताम्',
-'tooltip-minoredit' => 'लà¤\98à¥\81परिवरà¥\8dतनतà¥\8dवà¥\87न à¤\87दà¤\82 à¤ªà¤°à¤¿à¤µà¤°à¥\8dतनम् अङ्क्यताम्',
+'tooltip-minoredit' => 'लà¤\98à¥\81समà¥\8dपादनतà¥\8dवà¥\87न à¤\87दà¤\82 à¤¸à¤®à¥\8dपादनम् अङ्क्यताम्',
 'tooltip-save' => 'परिवर्तनानि रक्ष्यन्ताम्',
 'tooltip-preview' => 'भवता/भवत्या कृतानां परिवर्तनानां प्राग्दृश्यं दृश्यताम्, रक्षणात्पूर्वं कृपया इदम् उपयुज्यताम्।',
-'tooltip-diff' => 'भवता/भवतà¥\8dया à¤\85तà¥\8dर à¤\95à¥\83तानि à¤ªà¤°à¤¿à¤µà¤°à¥\8dतनानि द्रष्टुं शक्यते',
+'tooltip-diff' => 'भवता/भवतà¥\8dया à¤\95à¥\83तानि à¤ªà¤°à¤¿à¤µà¤°à¥\8dतनानि à¤\85तà¥\8dर द्रष्टुं शक्यते',
 'tooltip-compareselectedversions' => 'पृष्ठस्य द्वयोः चितयोः आवृत्त्योः भेदः दृश्यताम्',
 'tooltip-watch' => 'इदं पृष्ठं भवतः/भवत्याः अवेक्षणावल्यां योज्यताम्',
 'tooltip-watchlistedit-normal-submit' => 'शीर्षकानि अपनयतु ।',
@@ -2891,9 +2942,9 @@ $2 इति प्रकारस्य अवरोधं कर्तुं 
 'tooltip-recreate' => 'एतत्पुटं पूर्वमेव अपमर्जितः अतः पुन सृजतु ।',
 'tooltip-upload' => 'उत्तारणम् आरभताम्',
 'tooltip-rollback' => '"प्रत्याहरणम् (roll back)" इत्येतत् अन्तिमसम्पादकस्य अन्तिमयोगदानं निराकरोति ।',
-'tooltip-undo' => '"पूर्ववत्" इति अन्तिमसम्पादनम् अपाकरोति, सम्पादनप्रारूपं प्राग्दृश्यरूपेण उद्घाटयति, नवीनसम्पादनान्तरं सम्पादनपृष्ठं प्राग्दृश्यत्वेन प्रदर्शयति च । 
+'tooltip-undo' => '\'"पूर्ववत्"\' इति अन्तिमसम्पादनम् अपाकरोति, सम्पादनप्रारूपं प्राग्दृश्यरूपेण उद्घाटयति, नवीनसम्पादनानन्तरं सम्पादनपृष्ठं प्राग्दृश्यत्वेन प्रदर्शयति च । 
 
-à¤\85सà¥\8dय à¤¸à¤¾à¤°à¤¾à¤\82शà¥\87 à¤\85पाà¤\95रणसà¥\8dय à¤\95ारणमपि à¤²à¥\87खितुं शक्यते ।',
+à¤\85सà¥\8dय à¤¸à¤¾à¤°à¤¾à¤\82शà¥\87 à¤\85पाà¤\95रणसà¥\8dय à¤\95ारणमपि à¤²à¤¿खितुं शक्यते ।',
 'tooltip-preferences-save' => 'आद्यताः रक्षतु ।',
 'tooltip-summary' => 'सङ्क्षिप्तसारांशः योज्यताम्',
 
@@ -3051,13 +3102,13 @@ $2 इति प्रकारस्य अवरोधं कर्तुं 
 # Bad image list
 'bad_image_list' => 'अत्र प्रारूपं एवं भवेत् -
 
-à¤\95à¥\87वलमà¥\8d à¤\86वलà¥\8dयनà¥\8dतरà¥\8dà¤\97ताà¤\83 à¤µà¤¿à¤·à¤¯à¤¾à¤\83 (* à¤\87ति à¤\9aिनà¥\8dहात् आरभमाणाः पङ्क्तयः) आकलिताः ।
+à¤\95à¥\87वलमà¥\8d à¤\86वलà¥\8dयनà¥\8dतरà¥\8dà¤\97ताà¤\83 à¤µà¤¿à¤·à¤¯à¤¾à¤\83 (* à¤\87ति à¤\9aिहà¥\8dनात् आरभमाणाः पङ्क्तयः) आकलिताः ।
 
 पङ्क्त्यां विद्यमाना प्रथमा परिसन्धिः (link) दोषपूर्णया सञ्चिकया सह परिसन्धिता (linked) स्यादेव । तस्यामेव पङ्क्तौ उत्तरोत्तरं विद्यमानाः परिसन्धयः अपवादिताः ज्ञेयाः, अर्थात् अत्र तेषां पृष्ठानाम् आवलिरेव भविष्यति, येषु एषा सञ्चिका विद्यते ।',
 
 # Metadata
 'metadata' => 'प्रदत्तांशः (दत्तांशविषयकदत्तांशः अयम्)',
-'metadata-help' => 'à¤\85नà¥\87न à¤¸à¤¹ à¤µà¤¿à¤¸à¥\8dतà¥\83तमाहितà¥\80 सल्लग्ना अस्ति, प्रतिबिम्बग्राहकेन (scanner) अङ्कीयछायाचित्रग्राहकेन (digital camera ) वा अस्याः सञ्चिकायाः रचना जाता स्यात् । 
+'metadata-help' => 'à¤\85नà¥\87न à¤¸à¤¹ à¤µà¤¿à¤¸à¥\8dतà¥\83तसà¥\82à¤\9aना सल्लग्ना अस्ति, प्रतिबिम्बग्राहकेन (scanner) अङ्कीयछायाचित्रग्राहकेन (digital camera ) वा अस्याः सञ्चिकायाः रचना जाता स्यात् । 
 
 एषा सञ्चिका यदि मूलावस्थात् परिवर्त्यते, तर्हि अत्रस्थानि कानिचित् विवरणानि परिवर्तितसञ्चिकायां पूर्णतया न दृश्यन्ते ।',
 'metadata-expand' => 'विस्तारितानि विवरणानि दर्शयतु',
@@ -3613,16 +3664,16 @@ $5
 'watchlistedit-raw-removed' => '{{PLURAL:$1|1शीर्षकम्|$1 शीर्षकानि}} अपनीतानि ।',
 
 # Watchlist editing tools
-'watchlisttools-view' => 'à¤\89à¤\9aितानि परिवर्तनानि दृश्यन्ताम्',
-'watchlisttools-edit' => 'à¤\85वà¥\87à¤\95à¥\8dषणसà¥\82à¤\9aà¥\80 à¤¦à¥\83शà¥\8dयताà¤\82 सम्पाद्यतां च',
-'watchlisttools-raw' => 'à¤\85परिषà¥\8dà¤\95à¥\83ता à¤\85वà¥\87à¤\95à¥\8dषणसà¥\82à¤\9aà¥\80 सम्पाद्यताम्',
+'watchlisttools-view' => 'यà¥\8bà¤\97à¥\8dयपरिवर्तनानि दृश्यन्ताम्',
+'watchlisttools-edit' => 'à¤\85वà¥\87à¤\95à¥\8dषणाऽऽवलिà¤\83 à¤¦à¥\83शà¥\8dयताà¤\82, सम्पाद्यतां च',
+'watchlisttools-raw' => 'विवरणरहिता à¤\85वलà¥\8bà¤\95नावलिà¤\83 सम्पाद्यताम्',
 
 # Signatures
 'signature' => '[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|अम्भाषणम्]])',
 
 # Core parser functions
 'unknown_extension_tag' => 'अज्ञातं वर्तमानसूत्रम् $1',
-'duplicate-defaultsort' => '\'\'\'पà¥\8dरबà¥\8bधà¤\83\'\'\' à¤ªà¥\81रानà¥\80 à¤®à¥\82ल à¤\95à¥\8dरमाà¤\82à¤\95न à¤\95à¥\81à¤\82à¤\9cà¥\80 "$1" à¤\95à¥\87 à¤¬à¤\9cाय à¤\85ब à¤®à¥\82ल à¤\95à¥\8dरमाà¤\82à¤\95न à¤\95à¥\81à¤\82à¤\9cà¥\80 "$2" à¤¹à¥\8bà¤\97à¥\80।',
+'duplicate-defaultsort' => '\'\'\'पà¥\82रà¥\8dवसà¥\82à¤\9aना\'\'\' "$1" à¤\87ति à¤ªà¥\81रातनà¤\82 à¤®à¥\82लà¤\95à¥\8dरमाà¤\99à¥\8dà¤\95नà¤\95à¥\81डà¥\8dमलà¤\82 à¤µà¤¿à¤¹à¤¾à¤¯  "$2" à¤\87ति à¤¨à¤µà¥\80नà¤\82 à¤®à¥\82लà¤\95à¥\8dरमाà¤\99à¥\8dà¤\95नà¤\95à¥\81णà¥\8dडलतà¥\8dवà¥\87न à¤¸à¥\8dवयमà¥\87व à¤¨à¤¯à¤¤à¤¿ à¤\8fततà¥\8d ।',
 
 # Special:Version
 'version' => 'आवृत्तिः',
@@ -3689,14 +3740,13 @@ $5
 'intentionallyblankpage' => 'इदं पृष्ठं बुद्ध्या एव रिक्तं रक्षितमस्ति ।',
 
 # External image whitelist
-'external_image_whitelist' => '  #इयं पङ्क्तिः यथावद् भवतु<pre>
-#नीचे मानक अभिव्यक्ति के अंश डालें (केवल वही अंश जो // के बीच आएगा)
-#इनका मेल बाहरी छवियों की कड़ियों से करने की कोशिक की जाएगी
-#जिनका मेल हो जाएगा वे छवि की तरह दिखाई जाएँगे, वरना केवल उस छवि की कड़ी दिखाई जाएगी
-#जो पंक्तियाँ # से शुरू होती हैं उन्हें टिप्पणी माना जाएगा
-#यह लघु-दीर्घ अक्षर संवेदी नहीं है
-
-#सभी मानक अभिव्यक्ति अंश इस पंक्ति के ऊपर डालें। इस पक्ति को जस का तस छोड़ दें</pre>',
+'external_image_whitelist' => '# एषा पङ्क्तिः न परिवर्त्यताम् <pre>
+# अत्र केवलं सामान्यचिह्नानाम् उपयोगः क्रियताम् (यथा // इत्यनयोः मध्ये स्थापनीयः भागः)
+# बहिस्तात् आगतानां चित्राणां सार्वसङ्केतैः (U R L) सह एतेषां तुलना भवति
+# यत् चित्रम् अनुकूलं भवति तत् योज्यते, अन्यथा तस्य चित्रस्य परिसन्धिः योज्यते । 
+# याः पङ्क्तयः # इत्यस्मात् आरभन्ते, ताः सूचनाः
+# अत्र सर्वं पक्षविगुणं (case-insensitive) वर्तते 
+# सर्वान् regex भागान् अस्याः पङ्क्तेः उपरि स्थापयतु । एतां पङ्क्तिम् एवमेव स्थापयतु </pre>',
 
 # Special:Tags
 'tags' => 'तर्कसिद्धानि परिवर्तनाङ्कनानि',
index d103001..0ee9bd5 100644 (file)
@@ -292,7 +292,6 @@ $1',
 'disclaimers' => 'Бүк охсунуу',
 'disclaimerpage' => 'Project:Бүк охсунуу',
 'edithelp' => 'Уларытааччыларга көмө',
-'helppage' => 'Help:Көмө',
 'mainpage' => 'Сүрүн сирэй',
 'mainpage-description' => 'Сүрүн сирэй',
 'policy-url' => 'Project:Сиэрэ',
@@ -740,7 +739,7 @@ IP-аадырыһыҥ $3, бобуу нүөмэрэ — #$5.
 'newarticle' => '(Саҥа ыстатыйа)',
 'newarticletext' => 'Эн суох сирэйгэ киирэ сатаатыҥ.
 Маннык ааттаах саҥа ыстатыйаны оҥорор буоллаххына, аллара баар түннүккэ суруй
-(сиһ. [[{{MediaWiki:Helppage}}|көмөнү]] көрүөххүн сөп).
+(сиһ. [$1 көмөнү] көрүөххүн сөп).
 Өскө манна сыыһа киирбит буоллаххына интэриниэтиҥ бырагыраамматын "төнүн" диэххин сөп.',
 'anontalkpagetext' => "----''Бу аатын эппэтэх кыттааччы ырытар сирэйэ.
 IP-аадырыһа эрэ көстөр.
@@ -752,7 +751,7 @@ IP-аадырыһа эрэ көстөр.
 'noarticletext-nopermission' => 'Билигин бу сирэй кураанах.
 Бу [[Special:Search/{{PAGENAME}}|ааты атын сирэйдэргэ көрдөөн көрүөххүн]] сөп,
 эбэтэр <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} сурунаалларга манна сыһыаннаах суруктары булуоххун сөп].</span> Бу сирэйи айар кыаҕыҥ суох.',
-'missing-revision' => '«{{PAGENAME}}» сирэй $1 барыла суох.
+'missing-revision' => '«{{FULLPAGENAME}}» сирэй $1 барыла суох.
 
 Маннык үксүн хайыы-үйэ сотуллубут билэҕэ эргэрбит сигэнэн бардахха буолааччы.
 Сиһилии баҕар [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} сотуу сурунаалыгар] баара буолуо.',
@@ -978,8 +977,7 @@ IP-аадырыһа эрэ көстөр.
 'revdelete-no-file' => 'Ыйыллыбыт билэ суох.',
 'revdelete-show-file-confirm' => '"<nowiki>$1</nowiki>" билэ баччаҕа $2, $3 сотуллубут барылын көрүөххүн баҕараҕын дуо?',
 'revdelete-show-file-submit' => 'Сөп',
-'revdelete-selected' => "'''[[:$1]] сирэй {{PLURAL:$2|талыллыбыт торума|талыллыбыт торумнара}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Сирэй талыллыбыт историята|Сирэй талыллыбыт историялара}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Сирэй талыллыбыт историята|Сирэй талыллыбыт историялара}}:',
 'revdelete-confirm' => 'Бука диэн кырдьык бу дьайыыны онороргун, содула туох буоларын өйдүүргүн уонна [[{{MediaWiki:Policy-url}}|сиэри]] тутуһаргын бигэргэт.',
 'revdelete-suppress-text' => "Кистээһин маннык түбэлтэлэргэ '''эрэ''' оҥоһуллар:
 
index 89616cf..52c2e07 100644 (file)
@@ -250,7 +250,6 @@ $1',
 'disclaimers' => 'Dạbi bạnuḱko',
 'disclaimerpage' => 'Project: Sadharon ḍiskleimarko(General disclaimer)',
 'edithelp' => 'Tońge goṛo',
-'helppage' => 'Help: Bhitri renaḱ',
 'mainpage' => 'Mukhiạ Sakam',
 'mainpage-description' => 'Mukhiạ sakam',
 'policy-url' => 'Project:Ritiniti',
@@ -538,7 +537,7 @@ Amaḱ IP ṭhikana do noa sakam sompadon jạṛre rekorḍoḱa.",
 Bhitri bolo kateḱ noa nãwã ekaunṭ lạgit uku nambar "[[Special:ChangePassword Change password]]" sakam khonem bodol daṛyakya.',
 'newarticle' => '(Nãwa)',
 'newarticletext' => "Am do oka mitṭen joṛaoem pańja akada, onaṭak do bạnuḱa.
-Ona sakam tear lạgit́te, latar reaḱ baksore ol ehoṕmẽ (arhõ jạsti baḍae lạgit́te [[{{mediaWiki:Helppage}}help page]] pańjaemẽ).
+Ona sakam tear lạgit́te, latar reaḱ baksore ol ehoṕmẽ (arhõ jạsti baḍae lạgit́te [[{{mediaWiki:Helppage}}help page] pańjaemẽ).
 Am do judi nonḍe vulkatem heć akan khan, tobe amaḱ sendrakore '''back''' baṭon linmẽ.",
 'noarticletext' => 'Nitoḱ noa sakamre do ol bạnuḱa.
 
index fe06b83..d68ef2c 100644 (file)
@@ -274,7 +274,6 @@ $messages = array(
 'disclaimers' => 'Abbertimentos',
 'disclaimerpage' => 'Project:Abbertimentos generales',
 'edithelp' => "Agiudu pro s'acontzu o sa scritura",
-'helppage' => 'Help:Agiudu',
 'mainpage' => 'Pàgina Base',
 'mainpage-description' => 'Pàgina Base',
 'policy-url' => 'Project:Polìticas',
@@ -502,7 +501,7 @@ Pro praxere spetzìfica totu is particulares in antis in carche siat pregunta de
 'accmailtitle' => 'Password ispedia.',
 'newarticle' => '(Nou)',
 'newarticletext' => "Custa pàgina no esistit galu.
-Pro creare sa pàgina, scrie in su box inoghe in bàsciu (abbàida sa [[{{MediaWiki:Helppage}}|pàgina de agiudu]] pro àteras informatziones).
+Pro creare sa pàgina, scrie in su box inoghe in bàsciu (abbàida sa [$1 pàgina de agiudu] pro àteras informatziones).
 Si ses intradu inoghe pro sbàlliu, carca in su browser tuo su butone '''back/indietro'''.",
 'anontalkpagetext' => "----''Custa est sa pàgina de cuntierra de unu usuàriu anònimu ki no at creadu unu account galu, o ki non dd'usat. Pro custu impreamus su nùmeru de indiritzos IP pro ddu identificare. Is indiritzos IP podent però èsser cundivìdidos dae unos cantos usuàrios. Si ses unu usuàriu anònimu e ritenes ki custos cummentos non sunt diretos a tue, pro praxere [[Special:UserLogin/signup|crea unu account]] o [[Special:UserLogin|identifica·ti (log in)]] pro evitare cunfusione cun àteros usuàrios anònimos.''",
 'noarticletext' => 'In custu momentu sa pàgina est bùida.
index 87856bb..212dd11 100644 (file)
@@ -398,7 +398,6 @@ $1",
 'disclaimers' => 'Avvirtenzi',
 'disclaimerpage' => 'Project:Avvirtenzi ginirali',
 'edithelp' => 'Guida',
-'helppage' => 'Help:Cuntinuti',
 'mainpage' => 'Pàggina principali',
 'mainpage-description' => 'Pàggina principali',
 'policy-url' => 'Project:Policy',
@@ -747,7 +746,7 @@ Forsi ca fu spustata o cancillata na mentri ca stàvutu taliannu la pàggina.',
 La password pi stu novu account pò essiri canciata â accessu nâ pàggina pi [[Special:ChangePassword|canciari password]].',
 'newarticle' => '(Novu)',
 'newarticletext' => "Sta pàggina ancora nun esisti.
-Pi criari na pàggina cu stu tìtulu, accumenza a scrìviri ccassutta (talìa la [[{{MediaWiki:Helppage}}|pàggina d'aiutu]] pi aviri maiuri nfurmazzioni).
+Pi criari na pàggina cu stu tìtulu, accumenza a scrìviri ccassutta (talìa la [$1 pàggina d'aiutu] pi aviri maiuri nfurmazzioni).
 Si agghicasti ccà pi sbagghiu, clicca lu buttuni ''''n arreri (back)''' dû tò browser.",
 'anontalkpagetext' => "----''Chista è la pàggina di discussioni di n’utenti anònimu, ca nun criau ancora n’accessu o ca nun l’usa.
 P’idintificàrilu è pirciò nicissariu usari lu nùmmiru di lu sò nnirizzu IP.
@@ -915,8 +914,7 @@ All'amministratura è ancora possibili [$1 talìari lu confrontu] si nicissariu.
 'revdelete-no-file' => 'Lu file spicificatu nun esisti.',
 'revdelete-show-file-confirm' => 'Si desidira talìari la virsioni cancillata dô file "<nowiki>$1</nowiki>" dô $2 ê $3?',
 'revdelete-show-file-submit' => 'Sì',
-'revdelete-selected' => "'''{{PLURAL:$2|Virsioni silizziunata|Virsioni silizziunati}} di [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Eventu dû riggistru silizziunatu|Eventi dû riggistru silizziunati}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Eventu dû riggistru silizziunatu|Eventi dû riggistru silizziunati}}:',
 'revdelete-suppress-text' => "La rimozzioni havi a essiri utilizzata '''sulu''' ni sti casi:
 * Dati pirsonali inoppurtuni
 *: ''ndirizzi, nnummara di telefunu, codici fiscali, ecc.''",
index e49c4e8..383ac11 100644 (file)
@@ -37,9 +37,9 @@ $messages = array(
 'tog-editondblclick' => 'Eidit pages oan dooble-clap (JavaScript)',
 'tog-editsectiononrightclick' => 'Enable section editin bi richt-clapin on section teitles',
 'tog-rememberpassword' => 'Mynd ma password oan this browser (fer ae maximum o $1 {{PLURAL:$1|day|days}})',
-'tog-watchcreations' => 'Add pages that Ah cræft n files that Ah uplaid til ma watchleet',
-'tog-watchdefault' => 'Add pages n files that Ah eedit til ma watchleet',
-'tog-watchmoves' => 'Add pages n files that Ah muiv til ma watchleet',
+'tog-watchcreations' => 'Eik pages that Ah cræft n files that Ah uplaid til ma watchleet',
+'tog-watchdefault' => 'Eik pages n files that Ah eedit til ma watchleet',
+'tog-watchmoves' => 'Eik pages n files that Ah muiv til ma watchleet',
 'tog-watchdeletion' => 'Eik pages n files that Ah get rid o til ma watchleet',
 'tog-minordefault' => 'Mairk aa edits "smaa" bi defaut',
 'tog-previewontop' => 'Shaw owerview afore eedit kist n naw efter it',
@@ -181,7 +181,7 @@ $messages = array(
 'faqpage' => 'Project:ASQ',
 
 # Vector skin
-'vector-action-addsection' => 'Add topic',
+'vector-action-addsection' => 'Eik topic',
 'vector-action-delete' => 'Delyte',
 'vector-action-move' => 'Muiv',
 'vector-action-protect' => 'Fend',
@@ -272,7 +272,6 @@ $1',
 'disclaimers' => 'Disclamation',
 'disclaimerpage' => 'Project:General_disclamation',
 'edithelp' => 'Editin help',
-'helppage' => 'Help:Contents',
 'mainpage' => 'Main Page',
 'mainpage-description' => 'Main Page',
 'policy-url' => 'Project:Policy',
@@ -360,10 +359,10 @@ likelie fer routine database maintenance; efter that it'll be back til normal.
 The admeenstration that lockit it gied this explanation: $1",
 'missing-article' => 'The database didna fynd the tex o ae page that it shid hae foond, cawed "$1" $2.
 
-Maistlie this is caused bi follaein aen ootdated diff or histerie link til ae page that haes been delytit.
+Maistlie this is caused bi follaein aen ootdated diff or histerie airtin til ae page that\'s been delytit.
 
 Gif this isna the case, ye micht hae foond ae bug in the saffware.
-Please lat aen [[Special:ListUsers/sysop|admeenistrater]] ken aneat this, makin note o the URL.',
+Please lat aen [[Special:ListUsers/sysop|admeenistrater]] ken aneat this, makin ae myndin o the URL.',
 'missingarticle-rev' => '(reveesion#: $1)',
 'missingarticle-diff' => '(Diff: $1, $2)',
 'readonly_lag' => 'The database haes been autaematically lockit while the sclave database servers catch up tae the maister',
@@ -399,10 +398,10 @@ It gae nae explanâtion.',
 'viewsourcetext' => 'Ye can leuk at n copie the soorce o this page:',
 'viewyourtext' => 'Ye can see n copie the soorce o <strong>yer eedits</strong> til this page:',
 'protectedinterface' => 'This page provides interface tex fer the saffware oan this wiki, n is protected fer tae hinder abuise.
-Tae add or chynge owersets fer aw wikis, please uise [//translatewiki.net/ translatewiki.net], the MediaWiki localisation waurk.',
-'editinginterface' => "<strong>Warnishment:</strong> Ye'r eiditing ae page that is uised tae provide interface tex fer the saffware.
-Chynges til this page will affect the appearance o the uiser interface fer ither uisers oan this wiki.
-Tae add or chynge owersets fer aw wikis, please uise [//translatewiki.net/ translatewiki.net], the MediaWiki localisation project.",
+Tae eik or chynge owersets fer aw wikis, please uise [//translatewiki.net/ translatewiki.net], the MediaWiki localisation waurk.',
+'editinginterface' => "<strong>Warnishment:</strong> Ye'r eeditin ae page that is uised tae provide interface tex fer the saffware.
+Chynges til this page will affect the kithin o the uiser interface fer ither uisers oan this wiki.
+Tae eik or chynge owersets fer aw wikis, please uise [//translatewiki.net/ translatewiki.net], the MediaWiki localisation waurk.",
 'cascadeprotected' => 'This page haes been protectit fae eiditin, cause it is inclædit in the follaein {{PLURAL:$1|page|pages}}, that ar protectit wi the "cascadin" optie turnit oan:
 $2',
 'namespaceprotected' => "Ye dinna hae permeession tae edit pages in the '''$1''' namespace.",
@@ -737,7 +736,7 @@ It micht hae been muived or delytit while ye were luikin at the page.',
 'accmailtitle' => 'Passwaird sent.',
 'accmailtext' => 'Ae randomly generated passwaird fer [[User talk:$1|$1]] haes been sent til $2. It can be chynged oan the <em>[[Special:ChangePassword|chynge passwaird]]</em> page upo loggin in.',
 'newarticle' => '(New)',
-'newarticletext' => "Ye'v follaed ae link til ae page that disna exeest yet. Tae cræft the page, stairt typin in the kist ablo (see the [[{{MediaWiki:Helppage}}|heelp page]] fer mair info). Gif ye'r here bi mistak, jist clap yer brouser's <strong>back</strong> button.",
+'newarticletext' => "Ye'v follaed aen airtin til ae page that disna exeest yet. Tae cræft the page, stairt typin in the kist ablo (see the [$1 heelp page] fer mair info). Gif ye'r here bi mistak, jist clap yer brouser's <strong>back</strong> button.",
 'anontalkpagetext' => "----
 <em>This is the discussion page fer aen anonymoos uiser that's naw cræftit aen accoont yet, or that disna uise it.</em>
 We maun therefore uise the numerical IP address tae identifie him/her.
@@ -749,7 +748,7 @@ Ye can [[Special:Search/{{PAGENAME}}|rake fer this page teitle]] in ither pages,
  or [{{fullurl:{{FULLPAGENAME}}|action=edit}} eidit this page].</span>',
 'noarticletext-nopermission' => 'There isna oni tex in this page the nou.
 Ye can [[Special:Search/{{PAGENAME}}|rake fer this page title]] in ither pages, or <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} rake the relatit logs]</span>, but ye dina hae permeession tae mak this page.',
-'missing-revision' => 'The reveesion #$1 o the page named "{{PAGENAME}}" disna exeest.
+'missing-revision' => 'The reveesion #$1 o the page named "{{FULLPAGENAME}}" disna exeest.
 
 This is uissuallie caused bi follaein aen ootdated histerie link til ae page that haes been delytit.
 Details can be foond in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} delytion log].',
@@ -976,8 +975,9 @@ Ye can view this diff; details can be foond in the [{{fullurl:{{#Special:Log}}/s
 'revdelete-no-file' => 'The file speceefied disna exeest.',
 'revdelete-show-file-confirm' => 'Ar ye sair ye wish tae see ae delytit reveesion o the file "<nowiki>$1</nowiki>" fae $2 at $3?',
 'revdelete-show-file-submit' => 'Ai',
-'revdelete-selected' => '<strong>{{PLURAL:$2|Selected reveesion|Selected reveesions}} o [[:$1]]:</strong>',
-'logdelete-selected' => "'''{{PLURAL:$1|Selectit log event|Selectit log events}}:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Selectit luikower|Selectit luikowers}} o [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Selectit file version|Selectit file versions}} o [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|Selectit log event|Selectit log events}}:',
 'revdelete-text-text' => 'Delytit reveesions will still kith in the page histerie, bit pairts o thair content will be onaccessible til the publeec.',
 'revdelete-text-file' => 'Delytit file versions will still kith in the file histerie, bit pairts o thair content will be onaccessible til the publeec.',
 'logdelete-text' => 'Delytit log events will still kith in the logs, bit pairts o thair content will be onaccessible til the publeec.',
@@ -1046,7 +1046,7 @@ Mak sair that this chynge will maintain historical page conteenuitie.',
 'mergehistory-list' => 'Mergeable eidit histerie',
 'mergehistory-merge' => 'The follaein reveesions o [[:$1]] can be merged intil [[:$2]].
 Uise the radio button column tae merge in yinlie the reveesions cræftit at n afore the speceefied time.
-Mynd that uisin the naveegation links will reset this column.',
+Mynd that uisin the naveegation airtins will reset this column.',
 'mergehistory-go' => 'Shaw mergeable eidits',
 'mergehistory-submit' => 'Merge reveesions',
 'mergehistory-empty' => 'Naw reveesions can be merged.',
@@ -1080,10 +1080,10 @@ Mynd that uisin the naveegation links will reset this column.',
 'diff-multi-sameuser' => '({{PLURAL:$1|yin intermeediate reveesion|$1 intermeediate reveesions}} bi the same uiser naw shawn)',
 'diff-multi-otherusers' => '({{PLURAL:$1|yin intermeediate reveesion|$1 intermeediate reveesions}} bi {{PLURAL:$2|yin ither uiser|$2 uisers}} no shawn)',
 'diff-multi-manyusers' => '({{PLURAL:$1|Yin intermeediate reveesion|$1 intermeediate reveesions}} bi mair than $2 {{PLURAL:$2|uiser|uisers}} no shawn)',
-'difference-missing-revision' => '{{PLURAL:$2|Yin reveesion|$2 reveesions}} o this difference ($1) {{PLURAL:$2|was|were}} no fond.
+'difference-missing-revision' => "{{PLURAL:$2|Yin reveesion|$2 reveesions}} o this difference ($1) {{PLURAL:$2|wis|were}} na foond.
 
-This is usually caused bi follaein aen ootdated diff link til ae page that haes been delytit.
-Details can be foond in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} delytion log].',
+This is usuallie caused bi follaein aen ootdated diff airtin til ae page that's been delytit.
+Details can be foond in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} delytion log].",
 
 # Search results
 'searchresults' => 'Rake results',
@@ -1170,7 +1170,7 @@ Details can be foond in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENA
 'prefs-editing' => 'Editin',
 'rows' => 'Raws:',
 'searchresultshead' => 'Rake result settins',
-'stub-threshold' => 'Threeshaud fer <a href="#" class="stub">stub link</a> formattin (bytes):',
+'stub-threshold' => 'Threeshaud fer <a href="#" class="stub">stub airtin</a> formattin (bytes):',
 'stub-threshold-disabled' => 'Tuckie',
 'recentchangesdays' => 'Days tae shaw in recynt chynges:',
 'recentchangesdays-max' => 'Mucklest $1 {{PLURAL:$1|day|days}}',
@@ -1262,13 +1262,13 @@ Yer wab-mail address isna revealed whan ither uisers contact ye.',
 'userrights-groupsmember-auto' => 'Impleecit memmer o:',
 'userrights-groups-help' => "Ye can alter the groops this uiser is in:
 * Ae checkit kist means that the uiser is in that groop.
-* Aen oncheckit kist means that the uiser's no in that groop.
-* Ae * indicates that ye cannae remuiv the groop yince ye'v added it, or vice versa.",
+* Aen oncheckit kist means that the uiser's na in that groop.
+* Ae * indeecates that ye canna remuiv the groop yince ye'v eikit it, or vice versa.",
 'userrights-reason' => 'Raison:',
 'userrights-no-interwiki' => 'Ye dinna hae permission tae eedit uiser richts oan ither wikis.',
 'userrights-nodatabase' => 'Database $1 disna exeest or isna local.',
 'userrights-nologin' => 'Ye maun [[Special:UserLogin|log in]] wi aen admeenistrater accoont tae assign uiser richts.',
-'userrights-notallowed' => 'Ye dinna hae permission tae add or remuiv uiser richts.',
+'userrights-notallowed' => 'Ye dinna hae permeession tae eik or remuiv uiser richts.',
 'userrights-changeable-col' => 'Groops that ye can chynge',
 'userrights-unchangeable-col' => 'Groops ye canna chynge',
 'userrights-conflict' => 'Conflict o uiser richts chynges! Please luikower n confirm yer chynges.',
@@ -1342,7 +1342,7 @@ Yer wab-mail address isna revealed whan ither uisers contact ye.',
 'right-editmyusercss' => 'Eidit yer ain uiser CSS files',
 'right-editmyuserjs' => 'Eedit yer ain uiser JavaScript files',
 'right-viewmywatchlist' => 'See yer ain watchleet',
-'right-editmywatchlist' => 'Eedit yer ain watchleet. Myd that some actions will still add pages even wioot this richt.',
+'right-editmywatchlist' => 'Eedit yer ain watchleet. Mynd that some actions will still eik pages even wioot this richt.',
 'right-viewmyprivateinfo' => 'See yer ain preevate data (e.g. wab-mail address, real name)',
 'right-editmyprivateinfo' => 'Eedit yer ain preevate data (e.g. wab-mail address, real name)',
 'right-editmyoptions' => 'Eedit yer ain preeferences',
@@ -1486,9 +1486,9 @@ Pages oan [[Special:Watchlist|yer watchleet]] ar <strong>baud</strong.',
 
 The delytion n muiv log fer this page ar gien here fer conveeneeance:",
 'uploadtext' => 'Uise the form ablo tae uplaid files.
-Tae see or rake preeveeooslie uplaided files gang til the [[Special:FileList|leet o uplaided files]], (re)uplaids ar loggit in the [[Special:Log/upload|uplaid log]] ava, delytions in the [[Special:Log/delete|delytion log]].
+Tae see or rake preeveeislie uplaided files gang til the [[Special:FileList|leet o uplaided files]], (re)uplaids ar loggit in the [[Special:Log/upload|uplaid log]] ava, delytions in the [[Special:Log/delete|delytion log]].
 
-Tae incluid ae file in ae page, uise ae link in yin o the follaein forms:
+Tae incluid ae file in ae page, uise aen airtin in yin o the follaein forms:
 * <strong><code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></code></strong> tae uise the ful version o the file
 * <strong><code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.png|200px|thumb|left|alt tex]]</nowiki></code></strong> tae uise ae 200 pixel wide rendeetion in ae kist in the cair margin wi "alt tex" aes descreeption
 * <strong><code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki></code></strong> fer linkin directlie til the file wioot displeyin the file.',
@@ -1753,10 +1753,10 @@ Ye micht want tae try at ae less busie time.',
 'filehist-missing' => 'File missin',
 'imagelinks' => 'File uisage',
 'linkstoimage' => 'The follaein {{PLURAL:$1|page airts|$1 pages airt}} tae this file:',
-'linkstoimage-more' => 'Mair than $1 {{PLURAL:$1|page links|pages link}} til this file.
-The follaein leet shaws the {{PLURAL:$1|first page link|first $1 page links}} til this file yinlie.
+'linkstoimage-more' => 'Mair than $1 {{PLURAL:$1|page airts|pages airt}} til this file.
+The follaein leet shaws the {{PLURAL:$1|first page airtin|first $1 page airtins}} til this file yinlie.
 Ae [[Special:WhatLinksHere/$2|ful leet]] is available.',
-'nolinkstoimage' => "Thaur's nae pages that link til this eemage.",
+'nolinkstoimage' => "Thaur's nae pages that airt til this eemage.",
 'morelinkstoimage' => 'See [[Special:WhatLinksHere/$1|mair links]] til this file.',
 'linkstoimage-redirect' => '$1 (file reguidal) $2',
 'duplicatesoffile' => 'The follaein {{PLURAL:$1|file is ae dupleecate|$1 files ar dupleecates}} o this file ([[Special:FileDuplicateSearch/$2|mair details]]):',
@@ -1819,10 +1819,15 @@ Input: contenttype/subtype, e.g. <code>image/jpeg</code>.',
 # List redirects
 'listredirects' => 'Leet o reguidals',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Leet o files wi dupleecates',
+'listduplicatedfiles-summary' => 'This is ae leet o files whaur the maist recynt version o the file is ae duplicate o the maist recynt version o some ither file. Yinlie local files ar conseederit.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] haes [[$3|{{PLURAL:$2|ae dupleecate|$2 dupleecates}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Templates that arena uised',
-'unusedtemplatestext' => "This page leets aw pages in the {{ns:template}} namespace that's naw incuidit in anither page. Mynd n check fer ither links til the templates afore delytin thaim.",
-'unusedtemplateswlh' => 'ither links',
+'unusedtemplatestext' => "This page leets aw pages in the {{ns:template}} namespace that's naw incuidit in anither page. Mynd n check fer ither airtins til the templates afore delytin thaim.",
+'unusedtemplateswlh' => 'ither airtins',
 
 # Random page
 'randompage' => 'Wale page allevolie',
@@ -1869,7 +1874,7 @@ Input: contenttype/subtype, e.g. <code>image/jpeg</code>.',
 
 'doubleredirects' => 'Dooble reguidals',
 'doubleredirectstext' => 'This page leets pages that reguide til ither reguidal pages.
-Ilka raw contains links til the first n seicont reguidals, n the tairget o the seicont reguidal ava, this is uisuallie the "real" tairget page whaur the first reguidal shid poynt.
+Ilka raw contains airtins til the first n seicont reguidals, n the tairget o the seicont reguidal ava, this is uisuallie the "real" tairget page whaur the first reguidal shid poynt.
 <del>Crossed oot</del> entries hae been solved.',
 'double-redirect-fixed-move' => '[[$1]] haes been muived.
 It nou reguides til [[$2]].',
@@ -1881,7 +1886,7 @@ It nou reguides til [[$2]].',
 'brokenredirects-edit' => 'eedit',
 'brokenredirects-delete' => 'delyte',
 
-'withoutinterwiki' => 'Pages athoot leid links',
+'withoutinterwiki' => 'Pages wioot leid airtins',
 'withoutinterwiki-summary' => 'The follaein pages dinan link til ither leid versions.',
 'withoutinterwiki-legend' => 'Prefix',
 'withoutinterwiki-submit' => 'Shaw',
@@ -1891,7 +1896,7 @@ It nou reguides til [[$2]].',
 # Miscellaneous special pages
 'nbytes' => '$1 {{PLURAL:$1|byte|bytes}}',
 'ncategories' => '$1 {{PLURAL:$1|category|categories}}',
-'nlinks' => '$1 {{PLURAL:$1|link|links}}',
+'nlinks' => '$1 {{PLURAL:$1|airtin|airtins}}',
 'nmembers' => '$1 {{PLURAL:$1|membir|membirs}}',
 'nmemberschanged' => '$1 → $2 {{PLURAL:$2|memmer|memmers}}',
 'nrevisions' => '$1 {{PLURAL:$1|reveesion|reveesions}}',
@@ -1971,7 +1976,7 @@ Please mynd that ither wab sites micht link til ae file wi ae direct URL, n sae
 'booksources' => 'Beuk sources',
 'booksources-search-legend' => 'Rake fer buik soorces',
 'booksources-go' => 'Gang',
-'booksources-text' => "Ablo is ae leet o links til ither sites that sell new n uised buiks, n mmicht hae further information aneat buiks that ye'r seekin ava:",
+'booksources-text' => "Ablo is ae leet o airtins til ither steids that sell new n uised buiks, n micht hae further information aneat buiks that ye'r seekin ava:",
 'booksources-invalid-isbn' => 'The gien ISBN disna seem tae be valid; check fer mistaks copiein fae the oreeginal soorce.',
 
 # Special:Log
@@ -2020,7 +2025,7 @@ See [[Special:WantedCategories|wanted categeries]] ava.',
 'sp-deletedcontributions-contribs' => 'contreebutions',
 
 # Special:LinkSearch
-'linksearch' => 'External links rake',
+'linksearch' => 'Ootby airtins rake',
 'linksearch-pat' => 'Rake pattern:',
 'linksearch-ns' => 'Namespace:',
 'linksearch-ok' => 'Rake',
@@ -2056,13 +2061,13 @@ There micht be [[{{MediaWiki:Listgrouprights-helppage}}|addeetional information]
 'listgrouprights-rights' => 'Richts',
 'listgrouprights-helppage' => 'Help:Groop richts',
 'listgrouprights-members' => '(leet o members)',
-'listgrouprights-addgroup' => 'Add {{PLURAL:$2|groop|groops}}: $1',
+'listgrouprights-addgroup' => 'Eik {{PLURAL:$2|groop|groops}}: $1',
 'listgrouprights-removegroup' => 'Remuiv {{PLURAL:$2|grop|groops}}: $1',
-'listgrouprights-addgroup-all' => 'Add aw groops',
+'listgrouprights-addgroup-all' => 'Eik aw groops',
 'listgrouprights-removegroup-all' => 'Remui aw groops',
-'listgrouprights-addgroup-self' => 'Add {{PLURAL:$2|groop|groops}} til yer accoont: $1',
+'listgrouprights-addgroup-self' => 'Eik {{PLURAL:$2|groop|groops}} til yer accoont: $1',
 'listgrouprights-removegroup-self' => 'Remuiv {{PLURAL:$2|groop|groops}} fae yer accoont: $1',
-'listgrouprights-addgroup-self-all' => 'Add aw groops til yer accoont',
+'listgrouprights-addgroup-self-all' => 'Eik aw groops til yer accoont',
 'listgrouprights-removegroup-self-all' => 'Remuiv aw groops fae yer accoont',
 
 # Email user
@@ -2109,7 +2114,7 @@ The wab-mail address that ye entered in [[Special:Preferences|yer uiser preefera
 'watchlistanontext' => 'Please $1 tae see or eedit eetems oan yer watchlet.',
 'watchnologin' => 'Nae loggit in',
 'watchnologintext' => 'Ye maun be [[Special:UserLogin|loggit in]] tae modify yer watchleet.',
-'addwatch' => 'Add til watchleet',
+'addwatch' => 'Eik til watchleet',
 'addedwatchtext' => 'The page "[[:$1]]" haes been added til yer [[Special:Watchlist|watchleet]].
 Futur chynges til this page n its associated tauk page will be leeted thaur.',
 'removewatch' => 'Remuiv fae watchleet',
@@ -2215,7 +2220,7 @@ Delytion o sic pages haes been restrictit tae stap accidental disruption o {{SIT
 'delete-warning-toobig' => 'This page haes ae muckle eedit histerie, ower $1 {{PLURAL:$1|reveesion|reveesions}}.
 Delytin it micht disrupt database operations o {{SITENAME}};
 proceed wi caution.',
-'deleting-backlinks-warning' => "'''Warnishment:''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|Ither pages]] link til or transcluide the page ye'r aboot tae delyte.",
+'deleting-backlinks-warning' => "'''Warnishment:''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|Ither pages]] airt til or transcluide the page ye'r aboot tae delyte.",
 
 # Rollback
 'rollback' => 'Row back edits',
@@ -2266,7 +2271,7 @@ Here ar the settins fer the page <strong>$1</strong> nou:',
 'protect-locked-access' => 'Yer accont disna hae permeession tae chynge page protection levels.
 Here ar the settins fer the page <strong>$1</strong> the nou:',
 'protect-cascadeon' => "This page is nou protected cause it is incluided in the follaein {{PLURAL:$1|page, this haes|pages, thir hae}} cascadin protection turned oan.
-Ye can chynge this page's protection level, but it will na affect the cascadin protection.",
+Chynges til this page's protection level will na affect the cascadin protection.",
 'protect-default' => 'Allow aw uisers',
 'protect-fallback' => 'permit yinlie uisers wi "$1" permission',
 'protect-level-autoconfirmed' => 'Allou yinly autæconfirmed uisers',
@@ -2393,7 +2398,7 @@ The latest block log entrie is gien ablo fer referance:',
 'sp-contributions-submit' => 'Rake',
 
 # What links here
-'whatlinkshere' => 'Whit links here',
+'whatlinkshere' => 'Whit airts here',
 'whatlinkshere-title' => 'Pages that link til "$1"',
 'whatlinkshere-page' => 'Page:',
 'linkshere' => 'The follaein pages link til <strong>[[:$1]]</strong>:',
@@ -2401,13 +2406,13 @@ The latest block log entrie is gien ablo fer referance:',
 'nolinkshere-ns' => 'No pages aiet til <strong>[[:$1]]</strong> in the choosen namespace.',
 'isredirect' => 'reguidal page',
 'istemplate' => 'transclusion',
-'isimage' => 'file link',
+'isimage' => 'file airtin',
 'whatlinkshere-prev' => '{{PLURAL:$1|previous|previous $1}}',
 'whatlinkshere-next' => '{{PLURAL:$1|next|next $1}}',
-'whatlinkshere-links' => '← links',
+'whatlinkshere-links' => '← airtins',
 'whatlinkshere-hideredirs' => '$1 redirects',
 'whatlinkshere-hidetrans' => '$1 transclusions',
-'whatlinkshere-hidelinks' => '$1 links',
+'whatlinkshere-hidelinks' => '$1 airtins',
 'whatlinkshere-hideimages' => '$1 file airtins',
 'whatlinkshere-filters' => 'Filters',
 
@@ -2424,7 +2429,7 @@ The latest block log entrie is gien ablo fer referance:',
 'ipbreason-dropdown' => '*Commyn block raisons
 ** Insertin false information
 ** Remuivin content fae pages
-** Spammin links til external sites
+** Spammin airtins til ootby steids
 ** Insertin nonsense/gibberish intil pages
 ** Inteemidatin behavier/harassment
 ** Abuisin multiple accoonts
@@ -2552,7 +2557,7 @@ Tae lock or lowse the database, this needs tae be writable bi the wab server.',
 The auld title will become ae reguidal page til the new title.
 Ye can update reguidals that poynt til the oreeginal title autæmateeclie.
 Gif ye chuise na tae, be sair tae check fer [[Special:DoubleRedirects|dooble]] or [[Special:BrokenRedirects|broken reguidals]].
-Ye'r responsible fer makin sair that links continue tae poynt til whaur thay'r supposed to gae.
+Ye'r responsible fer makin sair that airtins continue tae poynt til whaur thay'r supposed to gae.
 
 Mynd that the page will <strong>na</strong> be muived gif thaur is awreadie ae page at the new title, onless the latter is ae reguidal n haes nae past eedit histerie.
 This means that ye can rename ae page back til whaur it wis renamed fae gif ye mak ae mistak, n ye canna owerwrite aen exeestin page.
@@ -2635,19 +2640,19 @@ Please chuise anither name.',
 
 # Export
 'export' => 'Export pages',
-'exporttext' => 'Ye can export the tex n eeditin histerie o ae parteecular page or set o pages wrapped in some XML.
+'exporttext' => 'Ye can export the tex n eeditin histerie o ae parteecular page or set o pages wrapt in some XML.
 This can be imported intil anither wiki uisin MediaWiki bi waa o the [[Special:Import|import page]].
 
-Tae export pages, enter the titles in the tex kist ablo, yin title per line, n select whether ye want the Nou reveesion  aw auld reveesions ava, wi the page histerie lines, or the Nou reveesion wi the info aneat the laist eedit.
+Tae export pages, enter the titles in the tex kist ablo, yin title per line, n select whather ye want the Nou reveesion  aw auld reveesions ava, wi the page histerie lines, or the Nou reveesion wi the info aneat the laist eedit.
 
-In the latter case ye can uise ae link ava, fer example [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] fer the page "[[{{MediaWiki:Mainpage}}]]".',
+In the latter case ye can uise aen airtin ava, fer example [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] fer the page "[[{{MediaWiki:Mainpage}}]]".',
 'exportall' => 'Export aw pages',
 'exportcuronly' => 'Inclæde juist the nou reveesion, naw the ful histerie',
 'exportnohistory' => '----
 <strong>Mynd:</strong> Exportin the ful histerie o pages throogh this form haes been disabled cause o performance raisons.',
 'exportlistauthors' => 'Incluid ae ful leet o contreebuters fer ilka page',
-'export-addcattext' => 'Add pages fae categerie:',
-'export-addnstext' => 'Add pages fae namespace:',
+'export-addcattext' => 'Eik pages fae categerie:',
+'export-addnstext' => 'Eik pages fae namespace:',
 'export-download' => 'Hain aes file',
 'export-templates' => 'Incluid templates',
 'export-pagelinks' => 'Incluid linkt pages til ae depth o:',
@@ -2767,7 +2772,7 @@ Ye can view its soorce',
 'tooltip-ca-delete' => 'Delyte this page',
 'tooltip-ca-undelete' => 'Restore the eedits dun oan this page afore it wis delytit',
 'tooltip-ca-move' => 'Muiv this page',
-'tooltip-ca-watch' => 'Add this page til yer watchleet',
+'tooltip-ca-watch' => 'Eik this page til yer watchleet',
 'tooltip-ca-unwatch' => 'Remove this page frum yer watchleet',
 'tooltip-search' => 'Rake {{SITENAME}}',
 'tooltip-search-go' => 'Gang til ae page wi this exact name gif exeests',
@@ -2805,7 +2810,7 @@ Ye can view its soorce',
 'tooltip-preview' => 'Luikower yer chynges, please uise this afore hainin!',
 'tooltip-diff' => 'Shaw the chynges that ye makit til the tex.',
 'tooltip-compareselectedversions' => 'See the differs atween the twa selectit versions o this page.',
-'tooltip-watch' => 'Add this page tae yer watchleet',
+'tooltip-watch' => 'Eik this page til yer watchleet',
 'tooltip-watchlistedit-normal-submit' => 'Remuiv titles',
 'tooltip-watchlistedit-raw-submit' => 'Update watchleet',
 'tooltip-recreate' => "Recræft the page even thoogh it's been delytit",
@@ -2958,12 +2963,12 @@ Bi executin it, yer system micht be compromised.',
 # Bad image list
 'bad_image_list' => 'The format is aes follaes:
 
-Ainlie leet items (lines stairtin wi *) ar considered. The foremaist link oan ae line maun be ae link til aen ill file. Oni subsequent links oan the same line ar considered tae be exceptions, i,e., pages whaur the eimage can occur inline.',
+Ainlie leet eetems (lines stairtin wi *) ar considered. The foremaist airtin oan ae line maun be aen airtin til aen ill file. Onie subsequent airtins oan the same line ar considered tae be exceptions, i,e., pages whaur the eemage can occur inline.',
 
 # Metadata
 'metadata' => 'Metadata',
-'metadata-help' => 'This file contains addeetional speirins, likelie added fae the deegital camera or scanner uised tae cræft or deegitize it. 
-Gif the file haes bin modified fae its oreeginal state, some details micht naw fullie reflect the modified file.',
+'metadata-help' => 'This file contains addeetional information, likelie eikit fae the deegital camera or scanner uised tae cræft or deegitise it. 
+Gif the file haes bin modeefied fae its oreeginal state, some details micht na fullie reflect the modeefied file.',
 'metadata-expand' => 'Shaw extendit details',
 'metadata-collapse' => 'Skauk extendit details',
 'metadata-fields' => "Eemage metadata fields leetit in this message will be incluidit oan eemage page displey whan the metadata buird is collaps't. Ithers will be skaukt bi defaut. 
@@ -3371,7 +3376,7 @@ Please confirm that ye reallie want tae recræft this page.',
 'confirm-purge-bottom' => 'Purgin ae page clears the cache n forces the maist recynt reveesion tae appear.',
 
 # action=watch/unwatch
-'confirm-watch-top' => 'Add this page til yer watchleet?',
+'confirm-watch-top' => 'Eik this page til yer watchleet?',
 'confirm-unwatch-top' => 'Remuiv this page fae yer watchleet?',
 
 # Multipage image navigation
@@ -3516,9 +3521,9 @@ Ye shid hae receeved [{{SERVER}}{{SCRIPTPATH}}/COPIEIN ae copie o the GNU Genera
 
 # External image whitelist
 'external_image_whitelist' => ' #Lea this line exactlie aes it is<pre>
-#Put regulair expression fragments (juist the pairt that gaes atween the //) ablo
-#Thir will be matched wi the URLs o external (hotlinked) eimages
-#Thae that match will be displeyed aes eimages, itherwise yinlie ae link til the eimage will be shawn
+#Put regulair expression fragments (jist the pairt that gaes atween the //) ablo
+#Thir will be matched wi the URLs o ootby (hotairtit) eemages
+#Thae that match will be displeyed aes eemages, itherwise yinlie aen airtin til the eemage will be shawn
 #Lines beginnin wi # ar treated aes comments
 #This is case-onsensiteeve
 
@@ -3609,8 +3614,8 @@ Ye shid hae receeved [{{SERVER}}{{SCRIPTPATH}}/COPIEIN ae copie o the GNU Genera
 'rightsnone' => '(nane)',
 
 # Feedback
-'feedback-bugornote' => 'Gif yer readie tae describe ae techneecal problem in detail please [$1 report ae bug].
-Itherwise, ye can uiss the easie form ablo. Yer comment will be added til the page "[$3 $2]", alang wi yer uisername.',
+'feedback-bugornote' => 'Gif yer readie tae describe ae techneecal proablem in detail please [$1 report ae bug].
+Itherwise, ye can uiss the easie form ablo. Yer comment will be eikit til the page "[$3 $2]", alang wi yer uisername.',
 'feedback-adding' => 'Addin feedback til page...',
 'feedback-error1' => 'Mistak: Onrecognised ootcome fae API',
 'feedback-error2' => 'Mistak: Eedit failed',
index 26ef7d2..5dfbb35 100644 (file)
@@ -318,7 +318,6 @@ $messages = array(
 'disclaimers' => 'Avvirthènzi',
 'disclaimerpage' => 'Project:Avvirthènzi ginarari',
 'edithelp' => 'Ghia',
-'helppage' => 'Help:Indizi',
 'mainpage' => 'Pàgina prinzipari',
 'mainpage-description' => 'Pàgina prinzipari',
 'policy-url' => 'Project:Policy',
@@ -589,7 +588,7 @@ La paràura d'órdhini pa chistha noba registhrazioni pò assé mudifiggadda a l
 'newarticle' => '(Nóbu)',
 'newarticletext' => "Lu cullegamentu sighiddu curripondi a'na pàgina nò ancora esisthenti.
 
-Si vói crià la pàgina abà, pói sùbidu ischribì in giossu (abbaidda li [[{{MediaWiki:Helppage}}|pàgini d'aggiuddu]] pà maggiori infuimmazioni).
+Si vói crià la pàgina abà, pói sùbidu ischribì in giossu (abbaidda li [$1 pàgini d'aggiuddu] pà maggiori infuimmazioni).
 
 S'ài sighiddu lu cullegamentu pa un'errori, è suffizenti incalchà lu buttoni '''Indareddu''' i' lu propriu nabiggadori.",
 'anontalkpagetext' => "----''Chistha è la pàgina di dischussioni di un'utenti anònimu, chi no ha ancora criaddu una registhrazioni o, in dugna modu, no la usa. Pa identifiggallu è dunca nezzessàriu usà lu sóiu nùmaru di l'indirizzu IP. L'indirizzi IP, parò, poni assé cundibisi da più utenti. Si sei un'utenti anònimu e vói chi li cummenti prisenti in chistha pàgina no si rifèrini a te, [[Special:UserLogin|crea una noba registhrazion o intra]] cu' chidda ch'hai già pa evità d'assé confusu cu' althri utenti anònimi in futuru.''",
@@ -713,8 +712,7 @@ Cunsulthà lu [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} rigi
 'revdelete-nooldid-title' => 'Versioni nò ippizzificadda',
 'revdelete-nooldid-text' => "No ài ippizzificaddu la o li versioni di la pàgina i' li quari eseguì chistha funzioni; pò assé chi nò esisthini.",
 'revdelete-show-file-submit' => 'Si',
-'revdelete-selected' => "'''{{PLURAL:$2|Versioni sciubaradda|Versioni sciubaraddi}} di [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Eventu di lu rigisthru sciubaraddu|Eventi di lu rigisthru sciubaraddi}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Eventu di lu rigisthru sciubaraddu|Eventi di lu rigisthru sciubaraddi}}:',
 'revdelete-legend' => "Impustha li sighenti limitazioni i'li versioni canzilladdi:",
 'revdelete-hide-text' => 'Cua lu testhu di la versioni',
 'revdelete-hide-image' => 'Cua li cuntinuddi di lu file',
index 2dff34c..8fcade9 100644 (file)
@@ -325,7 +325,6 @@ $messages = array(
 'disclaimers' => 'Friijavuohta vástideamis',
 'disclaimerpage' => 'Project:Friijavuohta vástideamis',
 'edithelp' => 'Rievdadanrávvagat',
-'helppage' => 'Help:Sisdoallu',
 'mainpage' => 'Váldosiidu',
 'mainpage-description' => 'Váldosiidu',
 'portal' => 'Gáffestohpu',
@@ -564,11 +563,7 @@ Don fertet dahkat du rievdadusaid dálá tekstii.
 'rev-delundel' => 'čájet dahje čiega',
 'revisiondelete' => 'Sihko dahje máhcat veršuvnnaid',
 'revdelete-nooldid-title' => 'Ii veršuvdna',
-'revdelete-selected' => "'''{{PLURAL:$2|Válljejuvvon veršuvdna|Válljejuvvon veršuvnnat}} siiddus [[:$1]]'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Válljejuvvon logmearkkastat|Válljejuvvon logmearkkastagat}}:'''",
-'revdelete-text' => "'''Sihkojuvvon veršuvnnat oidnojit siiddu siidohistorjjás, muhto daid sisdoallu ii leat álmmolaš.'''
-
-Eará bajasdoallit sáhtet lohkat čihkojuvvon sisdoalu ja máhcahit dan.",
+'logdelete-selected' => '{{PLURAL:$1|Válljejuvvon logmearkkastat|Válljejuvvon logmearkkastagat}}:',
 'revdelete-legend' => 'Veršuvnna rádjehusat',
 'revdelete-hide-text' => 'Čiega veršuvnna sisdoalu',
 'revdelete-hide-image' => 'Čiega fiilla sisdoalu',
index a289b87..502c23e 100644 (file)
@@ -192,7 +192,6 @@ $messages = array(
 'disclaimers' => 'Isój cacóomx',
 'disclaimerpage' => 'Project:Isoj cacóomx geniiraloj',
 'edithelp' => 'Help ticpatlöx',
-'helppage' => 'Help:Caálixötöj',
 'mainpage' => 'Caálixötöj',
 'mainpage-description' => 'Caálixötöj',
 'policy-url' => 'Project:Cáyun',
@@ -436,7 +435,7 @@ Me IDde block coccebj $5. Includam 1 jöx 2 pac querinám iti.",
 'newarticle' => '(Quiih)',
 'newarticletext' => 'Meclickom linkamde páhina tazo necoccebj zo.
 Huants createnom jan páhina, startom type mii box !-cmaa iti
-([[{{MediaWiki:Helppage}}|páhinade helpom]] zo viside plus informacion).
+([$1 páhinade helpom] zo viside plus informacion).
 Me coccebj römjasi poop, clickom meback-buttonde browser coccebj perfectua.',
 'anontalkpagetext' => "----''Jan coccebj czaxö zode caitomde IDde adressade IP. Isój necoccebj caápo. Jan coccebj rae'de usadadde adressade IP numerical identificacion 'prenisój. Plusöxde caitom pos-coccebj jan adressade IP. Me pos-coccebj anonimo ö commentua irrevelantua coccebj directomde me poop, [[Special:UserLogin|caápo-jande]] exitom confucion diijömde IP-caitóm mii.''",
 'noarticletext' => 'Jan páhina necoccebj textua zo, me pos-coccebj [[Special:Search/{{PAGENAME}}|yahöx jan páhina]] diijömde páhinám iti jöx [{{fullurl:{{FULLPAGENAME}}|action=edit}} ticpatlöx jan páhina].',
@@ -529,7 +528,6 @@ Informacion: (curt) = quiíxde vercion currentua,
 'rev-delundel' => 'cohuatlöx/cíiitám',
 'revisiondelete' => 'Delatom/diidelatom revición',
 'revdelete-nooldid-title' => 'Necoccebj aimde revicion',
-'revdelete-selected' => "'''{{PLURAL:$2|Revicion selectonde|Revición selectónde}} $1:'''",
 'revdelete-legend' => 'Xuniim restricción',
 'revdelete-hide-text' => 'Camaát textuade revicion',
 'revdelete-hide-image' => 'Cohuatlöx contentua ciúchan',
index 8a03222..98e5e43 100644 (file)
@@ -283,7 +283,6 @@ $1',
 'disclaimers' => 'Atsakuomībės aprėbuojims',
 'disclaimerpage' => 'Project:Atsakuomībės aprėbuojims',
 'edithelp' => 'Kāp redagoutė',
-'helppage' => 'Help:Torėnīs',
 'mainpage' => 'Pėrms poslapis',
 'mainpage-description' => 'Pėrms poslapis',
 'policy-url' => 'Project:Puolitėka',
@@ -536,7 +535,7 @@ Prašuom nuruodītė šėtūs doumenis visūmet, kumet kreipiatės diel bluokav
 'newarticle' => '(Naus)',
 'newarticletext' => "Tamsta pakliovuot i nūnā neesoti poslapi.
 Nuoriedamė sokortė poslapi, pradiekėt rašītė žemiau esontiamė ivedima pluotė
-(platiau [[{{MediaWiki:Helppage}}|pagelbas poslapī]]).
+(platiau [$1 pagelbas poslapī]).
 Jēgo pakliovuot čė netīčiuom, paprastiausē paspauskėt naršīklės mīgtoka '''atgal'''.",
 'anontalkpagetext' => "----''Tas īr anonimėnė nauduotuojė, katros nier sosėkūrės aba nenauduo paskīruos, aptarėmu poslapis.
 Dielē tuo nauduojams IP adresos anuo atpažėnėmō.
@@ -667,7 +666,7 @@ Pamiegīkėt [[Special:Search|ėiškoutė pruojektė]] sosėjosiu naujū poslapi
 # Revision deletion
 'rev-delundel' => 'ruodītė/kavuotė',
 'revisiondelete' => 'Trintė/atkortė versėjės',
-'logdelete-selected' => "{{PLURAL:$2|Pasėrinkts|Pasėrinktė|Pasėrinktė}} '''$1''' istuorėjės {{PLURAL:$2|atėtėkims|atsėtėkimā|atsėtėkimā}}:",
+'logdelete-selected' => '{{PLURAL:$2|Pasėrinkts|Pasėrinktė|Pasėrinktė}} $1 istuorėjės {{PLURAL:$2|atėtėkims|atsėtėkimā|atsėtėkimā}}:',
 'revdelete-unsuppress' => 'Šalėntė apribuojėmos atkortuos versėjės',
 'revdel-restore' => 'Keistė veizėmuma',
 'revdelete-edit-reasonlist' => 'Keistė trīnėma prīžastis',
index aba797a..a569480 100644 (file)
@@ -454,7 +454,6 @@ $1',
 'disclaimers' => 'Odricanje odgovornosti',
 'disclaimerpage' => 'Project:Uslovi korištenja, pravne napomene i odricanje odgovornosti',
 'edithelp' => 'Pomoć pri uređivanju',
-'helppage' => 'Help:Sadržaj',
 'mainpage' => 'Glavna stranica / Главна страница',
 'mainpage-description' => 'Glavna stranica / Главна страница',
 'policy-url' => 'Project:Pravila',
@@ -738,6 +737,7 @@ Molimo Vas da sačekate prije nego što pokušate ponovo.',
 'login-abort-generic' => 'Vaša prijava nije bila uspješna – Prekinuto',
 'loginlanguagelabel' => 'Jezik: $1',
 'suspicious-userlogout' => 'Vaš zahtjev za odjavu je odbijen jer je poslan preko pokvarenog preglednika ili keširanog proksija.',
+'pt-userlogout' => 'Odjavi se / Одјави се',
 
 # Email sending
 'php-mail-error-unknown' => 'Nepoznata greška u PHP funkciji mail()',
@@ -900,7 +900,7 @@ Možda je premještena ili obrisana dok ste pregledavali stranicu.',
 Шифра за налог '$1' је послата на адресу $2.",
 'newarticle' => '(Novi)',
 'newarticletext' => "Preko linka ste došli na stranicu koja još uvijek ne postoji.
-* Ako želite stvoriti stranicu, počnite tipkati u okviru dolje (v. [[{{MediaWiki:Helppage}}|stranicu za pomoć]] za više informacija).
+* Ako želite stvoriti stranicu, počnite tipkati u okviru dolje (v. [$1 stranicu za pomoć] za više informacija).
 * Ukoliko ste došli greškom, pritisnike dugme '''Nazad''' ('''back''') na vašem pregledniku.",
 'anontalkpagetext' => "----''Ovo je stranica za razgovor za anonimnog korisnika koji još nije napravio račun ili ga ne koristi.
 Zbog toga moramo da koristimo brojčanu IP adresu kako bismo identifikovali njega ili nju.
@@ -912,7 +912,7 @@ Možete [[Special:Search/{{PAGENAME}}|tražiti naslov ove stranice]] u drugim st
 ili [{{fullurl:{{FULLPAGENAME}}|action=edit}} urediti ovu stranicu]</span>.',
 'noarticletext-nopermission' => 'Trenutno nema teksta na ovoj stranici.
 Možete [[Special:Search/{{PAGENAME}}|tražiti ovaj naslov stranice]] na drugim stranicama ili <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} pretražiti povezane registre]</span>. alio nemate dozvolu za stvaranje ove stranice.',
-'missing-revision' => 'Ne mogu da pronađem izmenu br. $1 na stranici pod nazivom „{{PAGENAME}}“.
+'missing-revision' => 'Ne mogu da pronađem izmenu br. $1 na stranici pod nazivom „{{FULLPAGENAME}}“.
 
 Ovo se obično dešava kada pratite zastarjelu vezu do stranice koja je obrisana.
 Više informacija možete pronaći u [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} evidenciji brisanja].',
@@ -1146,8 +1146,7 @@ ili ta revizija ne postoji, ili pokušavate sakriti trenutnu reviziju.',
 'revdelete-no-file' => 'Navedena datoteka ne postoji.',
 'revdelete-show-file-confirm' => 'Da li ste sigurni da želite pogledati obrisanu reviziju datoteke "<nowiki>$1</nowiki>" od $2 u $3?',
 'revdelete-show-file-submit' => 'Da',
-'revdelete-selected' => "'''{{PLURAL:$2|Odabrana revizija|Odabrane revizije}} od [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Označena stavka registra|Označene stavke registra}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Označena stavka registra|Označene stavke registra}}:',
 'revdelete-confirm' => 'Molimo potvrdite da namjeravate ovo učiniti, da razumijete posljedice i da to činite u skladu s [[{{MediaWiki:Policy-url}}|pravilima]].',
 'revdelete-suppress-text' => "Ograničenja bi trebala biti korištena '''samo''' u sljedećim slučajevima:
 * Osjetljive korisničke informacije
@@ -2375,7 +2374,7 @@ Posljednja izmjena je bila od korisnika [[User:$3|$3]] ([[User talk:$3|razgovor]
 'editcomment' => "Sažetak izmjene je bio: \"''\$1''\".",
 'revertpage' => 'Vraćene izmjene [[Special:Contributions/$2|$2]] ([[User talk:$2|razgovor]]) na posljednju izmjenu korisnika [[User:$1|$1]]',
 'revertpage-nouser' => 'Vraćene izmjene skrivenog korisnika na posljednju reviziju koju je načinio [[User:$1|$1]]',
-'rollback-success' => 'Poništene izmjene korisnika $1;
+'rollback-success' => 'Vraćene su izmjene korisnika $1;
 vraćeno na posljednju verziju koju je snimio $2.',
 
 # Edit tokens
index 87f6958..0ba9402 100644 (file)
@@ -240,7 +240,6 @@ $1',
 'disclaimers' => 'Ur darssuq',
 'disclaimerpage' => 'Project: Ur illa maddar illa ssuq',
 'edithelp' => 'Aws ɣ tirra',
-'helppage' => 'Help:Mayllan',
 'mainpage' => 'Tasana tamzwarut',
 'mainpage-description' => 'Tasna tamzwarut',
 'policy-url' => 'Project:Tasrtit',
@@ -454,7 +453,7 @@ Kcm zwar tft tansan nk tbratin ɣ [[Special:Preferences|Timssusmin n umqdac]].',
 'accmailtitle' => 'awal ihdan hatin yuznak nnit',
 'newarticle' => '(Amaynu)',
 'newarticletext' => "Tfrt yan uzday s yat tasna lli ur ta jju illan [{{fullurl:Special:Log|type=delete&page={{FULLPAGENAMEE}}}} ttuykkas].
-Iɣ rast daɣ tskrt skcm atṛiṣ nk ɣ tanaka  yad (Tẓḍaṛt an taggt γi [[{{MediaWiki:Helppage}}|tasna u usaws]] iɣ trit inɣmisn yaḍn).
+Iɣ rast daɣ tskrt skcm atṛiṣ nk ɣ tanaka  yad (Tẓḍaṛt an taggt γi [$1 tasna u usaws] iɣ trit inɣmisn yaḍn).
 Ivd tlkmt {{GENDER:||e|(e)}} ɣis bla trit, klikki f tajrrayt n '''urrir''' n iminig nk (navigateur).",
 'noarticletext' => 'ɣilad ur illa walu may ityuran  f tasnatad ad, tzdart at [[Special:Search/{{PAGENAME}}|search for this page title]] in other pages,
 <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} search the related logs],
index 7432006..137bd75 100644 (file)
@@ -433,14 +433,13 @@ $1",
 # All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
 'aboutsite' => '{{SITENAME}} පිළිබඳ',
 'aboutpage' => 'Project:පිළිබඳ',
-'copyright' => ' $1 යටතේ අන්තර්ගතය දැක ගත හැක.',
+'copyright' => ' අන්ලෙසකින් සඳහන්කර නැති සෑම විටෙකම අන්තර්ගතය $1 යටතේ ඇත.',
 'copyrightpage' => '{{ns:project}}:කර්තෘ-හිමිකම්',
 'currentevents' => 'කාලීන සිදුවීම්',
 'currentevents-url' => 'Project:කාලීන සිදුවීම්',
 'disclaimers' => 'වියාචනයන්',
 'disclaimerpage' => 'Project:පොදු වියාචන',
 'edithelp' => 'සංස්කරණ උදවු',
-'helppage' => 'Help:අන්තර්ගතයන්',
 'mainpage' => 'මුල් පිටුව',
 'mainpage-description' => 'මුල් පිටුව',
 'policy-url' => 'Project:ප්‍රතිපත්තිය',
@@ -899,7 +898,7 @@ $2
 මෙම නව ගිණුම සඳහා මුරපදය, ප්‍රවිෂ්ට වීමෙන් අනතුරුව, ''[[Special:ChangePassword|මුර පදය වෙනස් කරන්න]]''  පිටුව තුලදී වෙනස් කල හැක.",
 'newarticle' => '(නව)',
 'newarticletext' => "බැඳියක් ඔස්සේ පැමිණ ඔබ පිවිස ඇත්තේ දැනට නොපවතින පිටුවකටයි.
-මෙම ලිපිය තැනීමට අවශ්‍ය නම්, පහත ඇති කොටුව තුල අකුරු ලිවීම අරඹන්න (වැඩිදුර තොරතුරු සඳහා [[{{MediaWiki:Helppage}}|උදවු පිටුව]] බලන්න).
+මෙම ලිපිය තැනීමට අවශ්‍ය නම්, පහත ඇති කොටුව තුල අකුරු ලිවීම අරඹන්න (වැඩිදුර තොරතුරු සඳහා [$1 උදවු පිටුව] බලන්න).
 ඔබ මෙහි පිවිස ඇත්තේ අත්වැරැද්දකින් නම්, ඔබගේ ගවේෂකයෙහි '''ආපසු''' බොත්තම ඔබන්න.",
 'anontalkpagetext' => "----''මෙම සංවාද පිටුව අයත් වන්නේ තවමත් ගිණුමක් තනා නැති හෝ එසේ කොට එනමුදු එය භාවිතා නොකරන හෝ නිර්නාමික පරිශීලකයෙකුටය.
 එබැවින්, ඔහු/ඇය හැඳින්වීමට සංඛ්‍යාත්මක IP ලිපිනය භාවිතා කිරීමට අප හට සිදුවේ.
@@ -1129,8 +1128,7 @@ $3 විසින් සපයා ඇති හේතුව ''$2'' වේ",
 'revdelete-no-file' => 'නිවේශිත ගොනුව නොපවතියි.',
 'revdelete-show-file-confirm' => '$2 දින $3 වේලාවේදී මකාදැමුනු "<nowiki>$1</nowiki>" ගොනුවෙහි සංශෝධනයක් නැරඹීමට ඔබ හට සහතික වශයෙන් ඇවැසිද?',
 'revdelete-show-file-submit' => 'ඔව්',
-'revdelete-selected' => "'''[[:$1]] හි {{PLURAL:$2|තෝරාගත් සංශෝධනය|තෝරාගත් සංශෝධනයන්}} :'''",
-'logdelete-selected' => "'''{{PLURAL:$1|තෝරාගත් ලඝු-සිදුවීම|තෝරාගත් ලඝු-සිදුවීම්}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|තෝරාගත් ලඝු-සිදුවීම|තෝරාගත් ලඝු-සිදුවීම්}}:',
 'revdelete-confirm' => 'කරුණාකර ඔබ මෙය කිරීමට අදහස් කරන බවත්,එහි ප්‍රතිඵලය අවබෝධ කර ගන්නා බවත්,මෙය සිදු කරනුයේ [[{{MediaWiki:Policy-url}}| ප්‍රතිපත්තියට]] අනුකූලව බවත් තහවුරු කරන්න.',
 'revdelete-suppress-text' => "යටපත්කිරීම පහත අවස්ථාවන්හිදී  '''පමණක්''' භාවිතා කල යුතුය:
 * නුසුදුසු පෞද්ගලික තොරතුරු
@@ -1360,7 +1358,7 @@ $1",
 HTML ටැගයන් පිරික්සන්න.',
 'badsiglength' => 'ඔබගේ විද්‍යුත් අත්සන පමණට වඩා දිගු වැඩිය.
 එය  {{PLURAL:$1|එක් අක්ෂරයකට|අක්ෂරයන් $1 කට}} වඩා කෙටි විය යුතුය.',
-'yourgender' => 'à·\83à·\8aතà·\8aâ\80\8dරà·\93/පà·\94රà·\94à·\82 à¶·à·\8fà·\80ය:',
+'yourgender' => 'à\94බà¶\9cà·\9a à·\83à·\8aතà·\8aâ\80\8dරà·\93/පà·\94රà·\94à·\82 à·\83මà·\8fජභà·\8fà·\80ය à·\83ඳà·\84නà·\8aà¶\9aà·\92රà·\93මට à¶\94බ à·\80ඩà·\8fතà·\8aම à¶\9aà·\90මතà·\92 à¶\9aà·\99à·\83à·\9aද ?',
 'gender-unknown' => 'හෙළි නොකරයි',
 'gender-male' => 'පුරුෂ',
 'gender-female' => 'ස්ත්‍රී',
@@ -1459,7 +1457,7 @@ HTML ටැගයන් පිරික්සන්න.',
 'right-reupload' => 'පවතින ගොනු අධිලිවීමකට ලක්කරන්න (overwrite)',
 'right-reupload-own' => 'යමෙකු විසින්ම උඩුගත කෙරුනු පවතින ගොනුවක් අධිලිවීමකට ලක්කරන්න',
 'right-reupload-shared' => 'හවුල් මාධ්‍ය සුරක්‍ෂිතාගාරයෙහි ගොනු සීමිත අබිබැවීමකට ලක් කරන්න',
-'right-upload_by_url' => 'URL à¶½à·\92පà·\92නයà¶\9aà·\92නà·\8a (à¶\9aලà·\8fප à¶½à·\92පà·\92නයà¶\9aà·\92නà·\8aගොනුවක් උඩුගත කරන්න',
+'right-upload_by_url' => 'URL à¶½à·\92පà·\92නයà¶\9aà·\8a à·\80à·\99තà·\92නà·\8aගොනුවක් උඩුගත කරන්න',
 'right-purge' => 'තහවුරුකිරීමකින් තොරව, පිටුවක් සඳහා අඩවි පූර්වාපේක්‍ෂි සංචිතය (කෑෂය) විමෝචනය කරන්න',
 'right-autoconfirmed' => 'අර්ධ-ආරක්‍ෂිත පිටු සංස්කරණය කරන්න',
 'right-bot' => 'ස්වයංක්‍රීය ක්‍රියාවලියක් ලෙස සැළකෙන්න',
@@ -1608,7 +1606,7 @@ HTML ටැගයන් පිරික්සන්න.',
 'recentchangeslinked-to' => 'ඒ වෙනුවට දී ඇති පිටුවට සබැඳෙන පිටුවල වෙනස්වීම්  පෙන්වන්න',
 
 # Upload
-'upload' => 'ගොනුවක් උඩුගත කරන්න',
+'upload' => 'ගොනුවක් උඩුගතකරන්න',
 'uploadbtn' => 'ගොනුව උඩුගත කරන්න',
 'reuploaddesc' => 'උඩුගත කිරීම අත්හැරදමා උඩුගත කිරීම් ආකෘති පත්‍රය වෙත යන්න',
 'upload-tryagain' => 'වෙනස් කරන ලද ගොනු විස්තරය ඉදිරිපත් කරන්න',
index 6bb2b1b..1ad27c8 100644 (file)
@@ -531,7 +531,6 @@ $1',
 'disclaimers' => 'Vylúčenie zodpovednosti',
 'disclaimerpage' => 'Project:Vylúčenie zodpovednosti',
 'edithelp' => 'Ako upravovať stránku',
-'helppage' => 'Help:Obsah',
 'mainpage' => 'Hlavná stránka',
 'mainpage-description' => 'Hlavná stránka',
 'policy-url' => 'Project:Zásady a smernice',
@@ -997,7 +996,7 @@ Možno bola presunutá alebo zmazaná odkedy ste si stránku zobrazili.',
 'newarticle' => '(Nový)',
 'newarticletext' => "Sledovali ste odkaz na stránku, ktorá zatiaľ neexistuje.
 Stránku vytvoríte tak, že začnete písať do dolného poľa a potom stlačíte tlačidlo „Uložiť stránku“.
-(Viac informácií nájdete na stránkach [[{{MediaWiki:Helppage}}|Pomocníka]]).
+(Viac informácií nájdete na stránkach [$1 Pomocníka]).
 Ak ste sa sem dostali nechtiac, iba kliknite na tlačidlo '''späť''' vo svojom prehliadači.",
 'anontalkpagetext' => "----''Toto je diskusná stránka anonymného používateľa, ktorý nemá vytvorené svoje konto alebo ho nepoužíva.
 Preto musíme na jeho identifikáciu použiť numerickú IP adresu. Je možné, že takúto IP adresu používajú viacerí používatelia.
@@ -1008,7 +1007,7 @@ Môžete [[Special:Search/{{PAGENAME}}|vyhľadávať názov tejto stránky]] v o
 'noarticletext-nopermission' => 'Táto stránka momentálne neobsahuje žiadny text.
 Môžete [[Special:Search/{{PAGENAME}}|hľadať názov tejto stránky]] v texte iných stránok
 alebo <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ť.',
-'missing-revision' => 'Revízia #$1 stránky s názvom „{{PAGENAME}}“ neexistuje.
+'missing-revision' => 'Revízia #$1 stránky s názvom „{{FULLPAGENAME}}“ neexistuje.
 
 Pravdepodobne ste nasledovali zastaraný odkaz na historickú verziu stránky, ktorá bola medzičasom odstránená.
 Podrobnosti nájdete v [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} zázname zmazaní].',
@@ -1233,8 +1232,7 @@ Ako správca si môžete tento rozdiel zobraziť; podrobnosti môžete nájsť v
 'revdelete-no-file' => 'Uvedený súbor neexistuje.',
 'revdelete-show-file-confirm' => 'Ste si istý, že chcete zobraziť zmazanú revíziu súboru „<nowiki>$1</nowiki>“ z $2 $3?',
 'revdelete-show-file-submit' => 'Áno',
-'revdelete-selected' => "'''{{PLURAL:$2|Vybraná jedna revízia|Vybrané $2 revízie|Vybraných $2 revízií}} z [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Vybraná udalosť záznamu|Vybrané udalosti záznamu}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Vybraná udalosť záznamu|Vybrané udalosti záznamu}}:',
 'revdelete-confirm' => 'Prosím, potvrďte, že to naozaj chcete vykonať, rozumiete následkom a že to robíte v súlade s [[{{MediaWiki:Policy-url}}|politikou]].',
 'revdelete-suppress-text' => "Zatajenie by sa malo používať '''výlučne''' v nasledovných prípadoch:
 * Potenciálne hanlivé informácie
index e0a0be4..b137f46 100644 (file)
@@ -434,7 +434,6 @@ $1',
 'disclaimers' => 'Zanikanja odgovornosti',
 'disclaimerpage' => 'Project:Splošno zanikanje odgovornosti',
 'edithelp' => 'Pomoč pri urejanju',
-'helppage' => 'Help:Vsebina',
 'mainpage' => 'Glavna stran',
 'mainpage-description' => 'Glavna stran',
 'policy-url' => 'Project:Pravila',
@@ -922,13 +921,13 @@ Morda je bil premaknjen ali izbrisan, medtem ko ste gledali stran.',
 'newarticle' => '(Nov)',
 'newarticletext' => "Sledili ste povezavi na stran, ki še ne obstaja.
 Da bi stran ustvarili, vnesite v spodnji obrazec besedilo
-(za več informacij glej [[{{MediaWiki:Helppage}}|pomoč]]).
+(za več informacij glej [$1 pomoč]).
 Če ste sem prišli po pomoti, v svojem brskalniku kliknite gumb ''Nazaj''.",
 'anontalkpagetext' => "---- ''To je pogovorna stran brezimnega uporabnika, ki si še ni ustvaril računa ali pa ga ne uporablja. Zaradi tega moramo uporabiti IP-naslov za njegovo/njeno ugotavljanje istovetnosti. Takšen IP-naslov si lahko deli več uporabnikov. Če ste brezimni uporabnik in menite, da so nepomembne pripombe namenjene vam, prosimo [[Special:UserLogin|ustvarite račun]] ali pa se [[Special:UserLogin/signup|vpišite]], da preprečite zmedo z drugimi nepodpisanimi uporabniki.''",
 'noarticletext' => 'Na tej strani ni trenutno nobenega besedila. Naslov strani lahko poskusite [[Special:Search/{{PAGENAME}}|poiskati]] na drugih straneh, <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} v dnevniških zapisih] ali pa [{{fullurl:{{FULLPAGENAME}}|action=edit}} stran uredite]</span>.',
 'noarticletext-nopermission' => 'Na strani trenutno ni nobenega besedila.
 Lahko poskusite [[Special:Search/{{PAGENAME}}|poiskati naslov strani]] na drugih straneh ali <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} v povezanih dnevniških zapisih]</span>, vendar za ustvarjanje strani nimate zadostnih dovoljenj.',
-'missing-revision' => 'Redakcija št. $1 strani »{{PAGENAME}}« ne obstaja.
+'missing-revision' => 'Redakcija št. $1 strani »{{FULLPAGENAME}}« ne obstaja.
 
 Po navadi se to zgodi, ko sledite zastareli povezavi na zgodovino strani, ki jo je nekdo izbrisal.
 Podrobnosti lahko najdete v [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} dnevniku brisanja].',
@@ -1161,8 +1160,9 @@ To redakcijo si lahko ogledate; podrobnosti lahko najdete v [{{fullurl:{{#Specia
 'revdelete-no-file' => 'Navedena datoteka ne obstaja.',
 'revdelete-show-file-confirm' => 'Ali ste prepričani da si želite ogledati izbrisano verzijo datoteke "<nowiki>$1</nowiki>" od $2 ob $3?',
 'revdelete-show-file-submit' => 'Da',
-'revdelete-selected' => "'''{{PLURAL:$2|Izbrana redakcija|Izbrani redakciji|Izbrane redakcije}} strani [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Izbran dnevniški dogodek|Izbrana dnevniška dogodka|Izbrani dnevniški dogodki}}:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Izbrana redakcija|Izbrani redakciji|Izbrane redakcije}} [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Izbrana redakcija|Izbrani redakciji|Izbrane redakcije}} datoteke [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|Izbran dnevniški dogodek|Izbrana dnevniška dogodka|Izbrani dnevniški dogodki}}:',
 'revdelete-text-text' => 'Izbrisane redakcije bodo še vedno prikazane v zgodovini strani, vendar bodo deli njihovih vsebin nedostopni javnosti.',
 'revdelete-text-file' => 'Izbrisane različice datoteke bodo še vedno prikazane v zgodovini datoteke, vendar bodo deli njihovih vsebin nedostopni javnosti.',
 'logdelete-text' => 'Izbrisani dnevniški vnosi bodo še vedno prikazani v dnevnikih, vendar bodo deli njihovih vsebin nedostopni javnosti.',
@@ -2043,6 +2043,11 @@ Vnesite: vrstavsebine/podvrsta, npr. <code>image/jpeg</code>.',
 # List redirects
 'listredirects' => 'Seznam preusmeritev',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Seznam datotek z dvojniki',
+'listduplicatedfiles-summary' => 'Seznam datotek, kjer je najnovejša različica datoteke dvojnik najnovejše različice neke druge datoteke. Upoštevamo samo lokalne datoteke.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] ima [[$3|{{PLURAL:$2|dvojnik|$2 dvojnika|$2 dvojnike|$2 dvojnikov}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Osirotele predloge',
 'unusedtemplatestext' => 'Naslednji seznam navaja vse strani v imenskem prostoru {{ns:template}}, ki niso vključene v nobeno stran.
@@ -2498,8 +2503,8 @@ To so trenutne nastavitve za stran '''$1''':",
 To so trenutne nastavitve za stran '''$1''':",
 'protect-locked-access' => "Vaš uporabniški račun nima dovoljenja za spreminjanje stopnje zaščite strani.
 Trenutne nastavitve za stran '''$1''' so:",
-'protect-cascadeon' => 'Ta stran je trenutno uaščitena, ker je vključena v {{PLURAL:$1|naslednjo stran, ki ima|naslednji strani, ki imata|naslednje strani, ki imajo|naslednjih strani, ki imajo}} vključeno kaskadno zaščito.
-Stopnjo zaščite te strani lahko spremenite, vendar to ne bo vplivalo na kaskadno zaščito.',
+'protect-cascadeon' => 'Ta stran je trenutno zaščitena, ker je vključena v {{PLURAL:$1|naslednjo stran, ki ima|naslednji strani, ki imata|naslednje strani, ki imajo|naslednjih strani, ki imajo}} vključeno kaskadno zaščito.
+Spremembe stopnje zaščite strani ne bodo vplivale na kaskadno zaščito.',
 'protect-default' => 'Dovoli vsem uporabnikom',
 'protect-fallback' => 'Dovoli samo uporabnikom s pravico »$1«',
 'protect-level-autoconfirmed' => 'Dovoli samo samodejno potrjenim uporabnikom',
index c63529c..56d1d3e 100644 (file)
@@ -237,7 +237,6 @@ $1",
 'disclaimers' => 'Impressum',
 'disclaimerpage' => 'Project:Impressum',
 'edithelp' => 'Bearbeitungshilfe',
-'helppage' => 'Help:Hilfe',
 'mainpage' => 'Hauptseite',
 'mainpage-description' => 'Hauptseite',
 'policy-url' => 'Project:Leitlinien',
@@ -506,7 +505,7 @@ Vermutlich wurde ar verschuba oder geläscht, nachdem du de Seite uffgeruffa hos
 'accmailtitle' => 'Passwurt wourde verschickt',
 'newarticle' => '(Neu)',
 'newarticletext' => "Du best an'm Link zu anner Seite gefulgt, de nee vorhanden ies.
-Im de Seite oazulega, trage denn Text ei de undastehende Box a (siehe de [[{{MediaWiki:Helppage}}|Hilfeseite]] fier meh Informationen).
+Im de Seite oazulega, trage denn Text ei de undastehende Box a (siehe de [$1 Hilfeseite] fier meh Informationen).
 Best du fälschlicherweise hier, klicke de '''Zerricke'''-Schaltfläche dennes Browsers.",
 'anontalkpagetext' => "----''Diese Seite dient dazu, a'm nee oagemeldeta Benutzer Noachrichta zu hinterlassa. 'S werd senne IP-Atresse zur Identifizierung verwendet. IP-Atressen kinna vu mehrera Nutzern gemeensam verwendet waan. Wenn du miet dann Kommentarn uff dieser Seite nischt oafanga koast, richta se siech vermutlich oa an'n friehera Inhaber denner IP-Atresse und du koast se ignorieren. Du koast dir au a [[Special:UserLogin/signup|Nutzerkonto erstalla]] oder dich [[Special:UserLogin|oamelda]], im kinftig Verwechslunga miet andern anonyma Nutzern zu vermeida.''",
 'noarticletext' => 'Diese Seite enthält momentan noo kenn Text.
@@ -660,8 +659,7 @@ Administratorn kinna se eensahn; Details stiehn eim [{{fullurl:{{#Special:Log}}/
 'revdelete-nooldid-text' => 'Du host entweder kenne Version oagegahn, uff de diese Aksjonn ausgefiehrt waan sull, de gewählte Version ies ne vorhanden oder du versichst, de aktuelle Version zu entferna.',
 'revdelete-no-file' => 'De oagegeahne Datei existiert ne.',
 'revdelete-show-file-submit' => 'Ju',
-'revdelete-selected' => "'''{{PLURAL:$2|Ausgewählte Version|Ausgewählte Versionen}} vu [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Ausgewählter Logbucheintrag|Ausgewählte Logbucheinträge}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Ausgewählter Logbucheintrag|Ausgewählte Logbucheinträge}}:',
 'revdelete-legend' => 'Setza der Sichtbarkeits-Einschränkunga',
 'revdelete-hide-text' => 'Text dar Version verstecka',
 'revdelete-hide-image' => 'Bildinhalt verstecka',
index 45c94c7..689a1b0 100644 (file)
@@ -245,7 +245,6 @@ $1',
 'disclaimers' => "Masuul la'aan",
 'disclaimerpage' => "Project:Masuul la'aan guud",
 'edithelp' => 'Caawinaada wax ka bedelka',
-'helppage' => 'Help:Caawinaad',
 'mainpage' => 'Bogga Hore',
 'mainpage-description' => 'Bogga Hore',
 'policy-url' => 'Project: Xeerka',
@@ -607,7 +606,7 @@ Waxaa laga yaabaa in la wareejiyay ama la tirtiray adiga oo fiirinaayo bogga.',
 Akoonkaan cusub eraysirkiisa waxaa ku badali kartaa  bogga ''[[Special:ChangePassword|bedel eraysirka]]'' si aad u soo gashid.",
 'newarticle' => '(Cusub)',
 'newarticletext' => "Waxaa soo raacday link kula soo xiriiriyay bog oo hadda wali jirin.
-Hadii aad rabto in aad sameyso bogga, hoos ka bilaaw qoraalkaada (fiiri [[{{MediaWiki:Helppage}}|bogga caawinaada]] wax war ah oo kale).
+Hadii aad rabto in aad sameyso bogga, hoos ka bilaaw qoraalkaada (fiiri [$1 bogga caawinaada] wax war ah oo kale).
 hadii aad meeshaan ku soo qaldantay, riix batoonka barowsahaaga  '''gadaal uuga noqo''' .",
 'anontalkpagetext' => "----''Meeshaan waa bogga wadahadalka isticmaalayaasha la aqoon oo aanan weli sameysanin akoon, ama  wali isticmaalin. 
 Sidaas darteed, waa in aan isticmaalnaa lambar cinwaaneedka IP:ga si aan u ogaano asiga/ayada. Cinwaanka IP:ga waxaa suurto gal ah in ay qeybsadaan isticmaaleyaal badan.
index 6cca3fd..95735f2 100644 (file)
@@ -464,7 +464,6 @@ $1",
 'disclaimers' => 'Shfajësimet',
 'disclaimerpage' => 'Project:Shfajësimet e përgjithshme',
 'edithelp' => 'Ndihmë për redaktim',
-'helppage' => 'Help:Përmbajtje',
 'mainpage' => 'Faqja kryesore',
 'mainpage-description' => 'Faqja kryesore',
 'policy-url' => 'Project:Politika e rregullave',
@@ -863,7 +862,7 @@ Mund të jetë zhvendosur ose fshirë ndërkohë që ju ishit duke parë këtë
 Fjalëkalimi për këtë llogari mund të ndryshohet në faqen ''[[Special:ChangePassword|ndrysho fjalëkalimin]]'' pasi të jeni identifikuar.",
 'newarticle' => '(I ri)',
 'newarticletext' => "Ju keni ndjekur nje lidhje drejt një faqeje që nuk ekziston.
-Për ta krijuar këtë faqe ju mund të shkruani në kutinë e mëposhtme (shih [[{{MediaWiki:Helppage}}|faqen e ndihmës]] për më shumë informacion).
+Për ta krijuar këtë faqe ju mund të shkruani në kutinë e mëposhtme (shih [$1 faqen e ndihmës] për më shumë informacion).
 Nëse ju keni mbërritur këtu gabimisht, atëherë klikoni butonin '''pas''' të shfletuesit tuaj.",
 'anontalkpagetext' => "----'' Kjo është një faqe diskutimi për një përdorues anonim i cili nuk ka krijuar akoma një llogari, ose qe nuk e përdor atë. 
  Prandaj, ne duhet të përdorim adresën IP numerike për identifikimin e tij. 
@@ -875,7 +874,7 @@ Ju mund [[Special:Search/{{PAGENAME}}|ta kërkoni këtë titull]] në faqe tjera
 ose [{{fullurl:{{FULLPAGENAME}}|action=edit}} të redaktoni këtë faqe]</span>.',
 'noarticletext-nopermission' => 'Për momentin faqja e kërkuar është bosh.
 Ju mund të [[Special:Search/{{PAGENAME}}|kërkoni këtë titiull]] në faqet e tjera, ose të <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} këtkoni regjistrat e ngjashëm]</span>, por ju nuk mundeni ta krijoni këtë faqe.',
-'missing-revision' => 'Inspektimi #$1 i faqes me emrin "{{PAGENAME}}" nuk ekziston.
+'missing-revision' => 'Inspektimi #$1 i faqes me emrin "{{FULLPAGENAME}}" nuk ekziston.
 
 Kjo zakonisht shkaktuar duke ndjekur një lidhje të vjetër tek një faqe që është fshirë. Hollësitë mund të gjenden në [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} regjistrin e fshirjeve].',
 'userpage-userdoesnotexist' => 'Llogaria e përdoruesit "<nowiki>$1</nowiki>" nuk është e regjistruar. 
@@ -1085,8 +1084,7 @@ Ju mund ta shikoni këtë ndryshim; detajet mund të gjenden te [{{fullurl:{{#Sp
 'revdelete-no-file' => 'Skeda e dhënë nuk ekziston.',
 'revdelete-show-file-confirm' => 'Jeni i/e sigurt se dëshironi të shikoni një version të grisur të skedës "<nowiki>$1</nowiki>" nga $2 tek $3?',
 'revdelete-show-file-submit' => 'Po',
-'revdelete-selected' => "'''{{PLURAL:$2|Versioni i zgjedhur i|Versionet e zgjedhura të}} [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Veprimi i zgjedhur në regjistër|Veprimet e zgjedhura në regjistër}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Veprimi i zgjedhur në regjistër|Veprimet e zgjedhura në regjistër}}:',
 'revdelete-confirm' => 'Ju lutem konfirmoni që keni ndër mënd ta bëni këtë, që i kuptoni pasojat, dhe që ju po veproni në përputhje me [[{{MediaWiki:Policy-url}}|politiken]].',
 'revdelete-suppress-text' => "Shuarje duhet'''vetëm'''të përdoret për rastet e mëposhtme: 
  * Potencialisht e informacionit shpifës 
index 5ee0933..b52fa8a 100644 (file)
@@ -642,7 +642,6 @@ $1',
 'disclaimers' => 'Одрицање одговорности',
 'disclaimerpage' => 'Project:Одрицање одговорности',
 'edithelp' => 'Помоћ при уређивању',
-'helppage' => 'Help:Садржај',
 'mainpage' => 'Главна страна',
 'mainpage-description' => 'Главна страна',
 'policy-url' => 'Project:Правила',
@@ -843,6 +842,7 @@ $2',
 'gotaccountlink' => 'Пријава',
 'userlogin-resetlink' => 'Заборавили сте податке за пријаву?',
 'userlogin-resetpassword-link' => 'Заборавили сте лозинку?',
+'userlogin-helplink2' => 'Помоћ при пријављивању',
 'userlogin-loggedin' => 'Већ сте пријављени као {{GENDER:$1|$1}}.
 Користите доњи образац да бисте се пријавили као други корисник.',
 'userlogin-createanother' => 'Отвори још један налог',
@@ -1017,6 +1017,9 @@ $2
 'changeemail-submit' => 'Промени',
 'changeemail-cancel' => 'Откажи',
 
+# Special:ResetTokens
+'resettokens-token-label' => '$1 (тренутна вредност: $2)',
+
 # Edit page toolbar
 'bold_sample' => 'Подебљан текст',
 'bold_tip' => 'Подебљан текст',
@@ -1100,7 +1103,7 @@ $2
 'accmailtext' => 'Лозинка за {{GENDER:$1|корисника|корисницу}} [[User talk:$1|$1]] је послата на $2. Након пријаве, лозинка се може променити [[Special:ChangePassword|овде]].',
 'newarticle' => '(нови)',
 'newarticletext' => 'Дошли сте на страницу која још не постоји.
-Да бисте је направили, почните куцати у прозор испод овог текста (погледајте [[{{MediaWiki:Helppage}}|страницу за помоћ]]).
+Да бисте је направили, почните куцати у прозор испод овог текста (погледајте [$1 страницу за помоћ]).
 Ако сте овде дошли грешком, вратите се на претходну страницу.',
 'anontalkpagetext' => '---- Ово је страница за разговор с анонимним корисником који још нема налог или га не користи.
 Због тога морамо да користимо бројчану ИП адресу како бисмо га препознали.
@@ -1111,7 +1114,7 @@ $2
 <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} претражити сродне извештаје] или [{{fullurl:{{FULLPAGENAME}}|action=edit}} уредити страницу]</span>.',
 'noarticletext-nopermission' => 'На овој страници тренутно нема садржаја.
 Можете [[Special:Search/{{PAGENAME}}|потражити овај наслов]] на другим страницама или <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} претражити сродне дневнике]</span>, али немате дозволу да направите ову страницу.',
-'missing-revision' => 'Не могу да пронађем измену бр. $1 на страници под називом „{{PAGENAME}}“.
+'missing-revision' => 'Не могу да пронађем измену бр. $1 на страници под називом „{{FULLPAGENAME}}“.
 
 Ово се обично дешава када пратите застарелу везу до странице која је обрисана.
 Више информација можете пронаћи у [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} дневнику брисања].',
@@ -1345,8 +1348,9 @@ $2
 'revdelete-no-file' => 'Тражена датотека не постоји.',
 'revdelete-show-file-confirm' => 'Желите ли да видите обрисану измену датотеке „<nowiki>$1</nowiki>“ од $2; $3?',
 'revdelete-show-file-submit' => 'Да',
-'revdelete-selected' => "'''{{PLURAL:$2|Изабрана измена|Изабране измене}} странице [[:$1]]'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Изабрана ставка у историји|Изабране ставке у историји}}:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Изабрана измена|Изабране измене}} [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Изабрана верзија датотеке|Изабране верзије датотеке}} [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|Изабрана ставка у историји|Изабране ставке у историји}}:',
 'revdelete-confirm' => 'Потврдите да намеравате ово урадити, да разумете последице и да то чините у складу с [[{{MediaWiki:Policy-url}}|правилима]].',
 'revdelete-suppress-text' => "Сакривање измена би требало користити '''само''' у следећим случајевима:
 * Злонамерни или погрдни подаци
@@ -1802,7 +1806,7 @@ $1",
 'rcshowhidebots' => '$1 ботове',
 'rcshowhidebots-show' => 'Прикажи',
 'rcshowhidebots-hide' => 'Сакриј',
-'rcshowhideliu' => '$1 пријављене кориснике',
+'rcshowhideliu' => '$1 регистроване кориснике',
 'rcshowhideliu-show' => 'Прикажи',
 'rcshowhideliu-hide' => 'Сакриј',
 'rcshowhideanons' => '$1 анонимне кориснике',
@@ -2335,9 +2339,9 @@ $1',
 'protectedtitles-summary' => 'На овој страници се налази списак тренутно заштићених наслова. За списак тренутно заштићених страница види [[{{#special:ProtectedPages}}|{{int:protectedpages}}]].',
 'protectedtitlesempty' => 'Нема заштићених наслова с овим параметрима.',
 'listusers' => 'Списак корисника',
-'listusers-editsonly' => 'прикажи само кориснике који су уређивали',
-'listusers-creationsort' => 'поређај по датуму стварања',
-'listusers-desc' => 'сортирај у опадајућем редоследу',
+'listusers-editsonly' => 'Ð\9fрикажи само кориснике који су уређивали',
+'listusers-creationsort' => 'Ð\9fоређај по датуму стварања',
+'listusers-desc' => 'Сортирај у опадајућем редоследу',
 'usereditcount' => '$1 {{PLURAL:$1|измена|измене|измена}}',
 'usercreated' => '{{GENDER:$3|је направио|је направила|је направио}} дана $1 у $2',
 'newpages' => 'Нове странице',
@@ -4225,13 +4229,14 @@ $5
 'version-hook-subscribedby' => 'Пријављено од',
 'version-version' => '(издање $1)',
 'version-svn-revision' => '(изм. $2)',
-'version-license' => 'Ð\9bиценца',
+'version-license' => 'Ð\9cедиÑ\98авики Ð»иценца',
 'version-ext-license' => 'Лиценца',
 'version-ext-colheader-name' => 'Екстензија',
 'version-ext-colheader-version' => 'Верзија',
 'version-ext-colheader-license' => 'Лиценца',
 'version-ext-colheader-description' => 'Опис',
 'version-ext-colheader-credits' => 'Аутори',
+'version-license-title' => 'Лиценца за $1',
 'version-poweredby-credits' => "Овај вики покреће '''[https://www.mediawiki.org/ Медијавики]''', ауторска права © 2001-$1 $2.",
 'version-poweredby-others' => 'остали',
 'version-poweredby-translators' => 'translatewiki.net преводиоци',
@@ -4252,6 +4257,7 @@ $5
 'redirect-legend' => 'Преусмери на датотеку или страницу',
 'redirect-submit' => 'Иди',
 'redirect-value' => 'Вредност:',
+'redirect-user' => 'Кориснички ID:',
 'redirect-page' => 'ID странице',
 'redirect-file' => 'Назив датотеке',
 'redirect-not-exists' => 'Вредност није пронађена',
@@ -4468,9 +4474,10 @@ $5
 'rotate-comment' => 'Слика је ротирана у смеру казаљке на сату за {{PLURAL:$1|степени}}',
 
 # Limit report
+'limitreport-cputime-value' => '$1 {{PLURAL:$1|секунда|секунд|секунди}}',
 'limitreport-walltime-value' => '$1 {{PLURAL:$1|секунда|секунди}}',
-'limitreport-postexpandincludesize-value' => '$1/$2 бајтова',
-'limitreport-templateargumentsize-value' => '$1/$2 бајтова',
+'limitreport-postexpandincludesize-value' => '$1/$2 {{PLURAL:$2|бајт|бајта|бајтова}}',
+'limitreport-templateargumentsize-value' => '$1/$2 {{PLURAL:$2|бајт|бајта|бајтова}}',
 
 # Special:ExpandTemplates
 'expandtemplates' => 'Замена шаблона',
index a0e3cdf..ee8bc83 100644 (file)
@@ -551,7 +551,6 @@ $1',
 'disclaimers' => 'Odricanje odgovornosti',
 'disclaimerpage' => 'Project:Odricanje odgovornosti',
 'edithelp' => 'Pomoć pri uređivanju',
-'helppage' => 'Help:Sadržaj',
 'mainpage' => 'Glavna strana',
 'mainpage-description' => 'Glavna strana',
 'policy-url' => 'Project:Pravila',
@@ -980,7 +979,7 @@ Možda je premešten ili obrisan dok ste pregledali stranicu.',
 'accmailtext' => 'Lozika za {{GENDER:$1|korisnika|korisnicu}} [[User talk:$1|$1]] je poslata na $2. Nakon prijave, lozinka se može promeniti [[Special:ChangePassword|ovde]].',
 'newarticle' => '(novi)',
 'newarticletext' => 'Došli ste na stranicu koja još ne postoji.
-Da biste je napravili, počnite kucati u prozor ispod ovog teksta (pogledajte [[{{MediaWiki:Helppage}}|stranicu za pomoć]]).
+Da biste je napravili, počnite kucati u prozor ispod ovog teksta (pogledajte [$1 stranicu za pomoć]).
 Ako ste ovde došli greškom, vratite se na prethodnu stranicu.',
 'anontalkpagetext' => '---- Ovo je stranica za razgovor s anonimnim korisnikom koji još nema nalog ili ga ne koristi.
 Zbog toga moramo da koristimo brojčanu IP adresu kako bismo ga prepoznali.
@@ -991,7 +990,7 @@ Možete [[Special:Search/{{PAGENAME}}|potražiti ovaj naslov]] na drugim stranic
 <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} pretražiti srodne izveštaje] ili [{{fullurl:{{FULLPAGENAME}}|action=edit}} urediti stranicu]</span>.',
 'noarticletext-nopermission' => 'Na ovoj stranici trenutno nema sadržaja.
 Možete [[Special:Search/{{PAGENAME}}|potražiti ovaj naslov]] na drugim stranicama ili <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} pretražiti srodne dnevnike]</span>, ali nemate dozvolu da napravite ovu stranicu.',
-'missing-revision' => 'Ne mogu da pronađem izmenu br. $1 na stranici pod nazivom „{{PAGENAME}}“.
+'missing-revision' => 'Ne mogu da pronađem izmenu br. $1 na stranici pod nazivom „{{FULLPAGENAME}}“.
 
 Ovo se obično dešava kada pratite zastarelu vezu do stranice koja je obrisana.
 Više informacija možete pronaći u [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} dnevniku brisanja].',
@@ -1224,8 +1223,7 @@ Ipak možete da vidite ovu razliku; više detalja možete naći u [{{fullurl:{{#
 'revdelete-no-file' => 'Tražena datoteka ne postoji.',
 'revdelete-show-file-confirm' => 'Želite li da vidite obrisanu izmenu datoteke „<nowiki>$1</nowiki>“ od $2; $3?',
 'revdelete-show-file-submit' => 'Da',
-'revdelete-selected' => "'''{{PLURAL:$2|Izabrana izmena|Izabrane izmene}} stranice [[:$1]]'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Izabrana stavka u istoriji|Izabrane stavke u istoriji}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Izabrana stavka u istoriji|Izabrane stavke u istoriji}}:',
 'revdelete-confirm' => 'Potvrdite da nameravate ovo uraditi, da razumete posledice i da to činite u skladu s [[{{MediaWiki:Policy-url}}|pravilima]].',
 'revdelete-suppress-text' => "Sakrivanje izmena bi trebalo koristiti '''samo''' u sledećim slučajevima:
 * Zlonamerni ili pogrdni podaci
@@ -1671,7 +1669,7 @@ Ako izaberete da ga unesete, ono će biti korišćeno za pripisivanje vašeg rad
 'rcshowhidebots' => '$1 botove',
 'rcshowhidebots-show' => 'Prikaži',
 'rcshowhidebots-hide' => 'Sakrij',
-'rcshowhideliu' => '$1 prijavljene korisnike',
+'rcshowhideliu' => '$1 registrovane korisnike',
 'rcshowhideliu-show' => 'Prikaži',
 'rcshowhideliu-hide' => 'Sakrij',
 'rcshowhideanons' => '$1 anonimne korisnike',
@@ -2193,9 +2191,9 @@ Sada je preusmerenje na [[$2]].',
 'protectedtitles' => 'Zaštićeni naslovi',
 'protectedtitlesempty' => 'Nema zaštićenih naslova s ovim parametrima.',
 'listusers' => 'Spisak korisnika',
-'listusers-editsonly' => 'prikaži samo korisnike koji su uređivali',
-'listusers-creationsort' => 'poređaj po datumu stvaranja',
-'listusers-desc' => 'sortiraj u opadajućem redosledu',
+'listusers-editsonly' => 'Prikaži samo korisnike koji su uređivali',
+'listusers-creationsort' => 'Poređaj po datumu stvaranja',
+'listusers-desc' => 'Sortiraj u opadajućem redosledu',
 'usereditcount' => '$1 {{PLURAL:$1|izmena|izmene|izmena}}',
 'usercreated' => '{{GENDER:$3|je napravio|je napravila|je napravio}} dana $1 u $2',
 'newpages' => 'Nove stranice',
index a7cde7e..8b65866 100644 (file)
@@ -338,7 +338,6 @@ $messages = array(
 'disclaimers' => 'Disclaimers',
 'disclaimerpage' => 'Project:Disclaimer gi ala',
 'edithelp' => 'Yepi nanga kenki',
-'helppage' => 'Help:San de',
 'mainpage' => 'Fesipapira',
 'mainpage-description' => 'Fesipapira',
 'policy-url' => 'Project:Polisi',
@@ -545,7 +544,7 @@ Yu IP now na $3 en a tapu pasi ID na #$5. Gi wan, noso ala tu, ini yu brifi te y
 'accmailtitle' => 'Waktiwortu ben stir.',
 'accmailtext' => 'A waktiwortu fu "$1" ben stir na $2.',
 'newarticle' => '(Nyun)',
-'newarticletext' => "Yu e pruberi fu opo wan papira di no de ete. Fu meki a papira, bigin skrifi ini a boksu dyaso na ondrosey (luku ini [[{{MediaWiki:Helppage}}|yepipapira]] gi yepi).
+'newarticletext' => "Yu e pruberi fu opo wan papira di no de ete. Fu meki a papira, bigin skrifi ini a boksu dyaso na ondrosey (luku ini [$1 yepipapira] gi yepi).
 Kebroiki a '''back''' knopo ini yu browser, efu yu no ben wan opo a papira disi.",
 'noarticletext' => 'A papira disi leigi.
 Yu kan [[Special:Search/{{PAGENAME}}|suku a papira nen disi]] ini tra papira noso <span class="plainlinks">[{{fullurl:{{FULLPAGENAME}}|action=edit}} kenki a papira disi]</span>.',
index 222dae8..1a857a5 100644 (file)
@@ -275,7 +275,6 @@ $1',
 'disclaimers' => 'Begriepskläärenge',
 'disclaimerpage' => 'Project:Siede tou Begriepskläärenge',
 'edithelp' => 'Beoarbaidengshälpe',
-'helppage' => 'Help:Hälpe',
 'mainpage' => 'Haudsiede',
 'mainpage-description' => 'Haudsiede',
 'policy-url' => 'Project:Laitlienjen',
@@ -621,7 +620,7 @@ Dät Paaswoud foar dit näie Benutserkonto kon ap ju Spezioalsiede
 „[[Special:ChangePassword|Paaswoud annerje]]“ annerd wäide.',
 'newarticle' => '(Näi)',
 'newarticletext' => "Du hääst n Link foulged ätter ne Siede, ju dät noch nit rakt.
-Uum ju Siede tou moakjen, dien Text fon dän näie Artikkel iendreege in ju unnerstoundene Box (sjuch ju [[{{MediaWiki:Helppage}}|Hälpesiede]] foar moor Informatione).
+Uum ju Siede tou moakjen, dien Text fon dän näie Artikkel iendreege in ju unnerstoundene Box (sjuch ju [$1 Hälpesiede] foar moor Informatione).
 Bäst du hier bie Fersjoon, klik ju '''Tourääch'''-Skaltfläche fon din Browser.",
 'anontalkpagetext' => "----''Dit is ju Diskussionssiede fon n uunbekoanden Benutser, die sik nit anmälded häd.
 Wail naan Noome deer is, wäd ju nuumeriske IP-Adrässe tou Identifizierenge ferwoand.
@@ -830,8 +829,7 @@ Du koast dissen Versionsunnerskeed bekiekje, wan du wolt. Details fiende sik in
 'revdelete-no-file' => 'Ju anroate Doatäi bestoant nit.',
 'revdelete-show-file-confirm' => 'Bäst du sicher, dät du ju läskede Version fon ju Doatäi „<nowiki>$1</nowiki>“ fon dän $2 uum $3 Uure bekiekje wolt?',
 'revdelete-show-file-submit' => 'Jee',
-'revdelete-selected' => "'''{{PLURAL:$2|Uutwäälde Version|Uutwäälde Versione}} fon [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Uutwäälden Logboukiendraach|Uutwäälde Logboukiendraage}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Uutwäälden Logboukiendraach|Uutwäälde Logboukiendraage}}:',
 'revdelete-confirm' => 'Bestäätigje, dät du dit wuddelk dwo wolt, dät du do Konsequenze ferstoanst un dät in Uureenstimmenge mäd do [[{{MediaWiki:Policy-url}}|Gjuchtlienjen]] dääst.',
 'revdelete-suppress-text' => "Unnerdrukkengen skuulen '''bloot''' in do foulgjende Fälle foarnuumen waide:
 * Uunpaasende persöönelke Informatione
index d44340f..6a81b74 100644 (file)
@@ -359,7 +359,6 @@ $1',
 'disclaimers' => 'Bantahan',
 'disclaimerpage' => 'Project:Bantahan_umum',
 'edithelp' => 'Pitulung ngédit',
-'helppage' => 'Help:Pitulung',
 'mainpage' => 'Tepas',
 'mainpage-description' => 'Tepas',
 'policy-url' => 'Project:Kawijakan',
@@ -718,7 +717,7 @@ Sandi pikeun rekening anyar ieu bisa diganti dina kaca ''[[Special:ChangePasswor
 'newarticle' => '(anyar)',
 'newarticletext' => "Anjeun geus nuturkeun tutumbu ka kaca nu can aya.
 Pikeun nyieun kaca, mimitian ku ngetik jeroeun kotak di handap
-(tempo [[{{MediaWiki:Helppage}}|kaca pitulung]] pikeun leuwih écés).
+(tempo [$1 kaca pitulung] pikeun leuwih écés).
 Mun anjeun ka dieu teu ngahaja, klik baé tombol '''back''' na panyungsi anjeun.",
 'anontalkpagetext' => "----''Ieu mangrupa kaca sawala pikeun pamaké anonim nu can (henteu) nyieun rekening, kusabab kitu alamat IP dipaké dina hal ieu pikeun nyirikeun anjeunna. Alamat IP ieu bisa dipaké ku sababaraha urang. Mun anjeun salasahiji pamaké anonim sarta ngarasa aya koméntar nu teu pakait geus ditujukeun ka anjeun, leuwih hadé [[Special:UserLogin|nyieun rekening atawa asup log]] sangkan teu pahili jeung pamaké anonim séjén.''",
 'noarticletext' => 'Kiwari can aya téks dina ieu kaca.
@@ -901,8 +900,7 @@ Salaku kuncen, mun perlu, anjeun bisa kénéh [$1 nempo bédana].",
 'revdelete-no-file' => 'Berkas anu ditujul teu kapanggih.',
 'revdelete-show-file-confirm' => 'Anjeun yakin rék nempo révisi anu geus dihapus dina koropak "<nowiki>$1</nowiki>" ti $2 nepi ka $3?',
 'revdelete-show-file-submit' => 'Enya',
-'revdelete-selected' => "'''{{PLURAL:$2|Révisi pilihan|Révisi pilihan}} pikeun '''$1''''''",
-'logdelete-selected' => "'''{{PLURAL:$1|pilihan keur log|pilihan keur log}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|pilihan keur log|pilihan keur log}}:',
 'revdelete-confirm' => 'Mangga geura konfirmasi yen Anjeun gaduh maksad pikeun ngalakukeun hal ieu, paham kana konsekwensina, tur nu dilakukeun ieu teh luyu sareng [[{{MediaWiki:Policy-url}}|kawijakanana]]',
 'revdelete-suppress-text' => "Nyumputkeun revisi '''ukur''' bisa digunakeun keur kasus-kasus di handap ieu:
 * Informasi nu boga potensi mitenah
index 7f08e89..3b4c6ef 100644 (file)
@@ -573,7 +573,6 @@ $1',
 'disclaimers' => 'Förbehåll',
 'disclaimerpage' => 'Project:Allmänt förbehåll',
 'edithelp' => 'Redigeringshjälp',
-'helppage' => 'Help:Innehåll',
 'mainpage' => 'Huvudsida',
 'mainpage-description' => 'Huvudsida',
 'policy-url' => 'Project:Riktlinjer',
@@ -772,6 +771,7 @@ Glöm inte att justera dina [[Special:Preferences|{{SITENAME}}-inställningar]].
 '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}}.
 Använd formuläret nedan för att logga in som en annan användare.',
 'userlogin-createanother' => 'Skapa ett annat konto',
@@ -896,6 +896,9 @@ För att slutföra inloggningen måste du välja ett nytt lösenord här:',
 'resetpass-abort-generic' => 'Lösenordsändring av har avbrutits av ett tillägg.',
 'resetpass-expired' => 'Ditt lösenord har gått ut. Var god välj ett nytt lösenord för att logga in.',
 'resetpass-expired-soft' => 'Ditt lösenord har gått ut och behöver återställas. Var god välj ett nytt lösenord nu eller klicka på "{{int:resetpass-submit-cancel}}" för att återställa det senare.',
+'resetpass-validity-soft' => 'Ditt lösenord är ogiltigt: $1
+
+Var god välj ett nytt lösenord nu eller klicka på "{{int:resetpass-submit-cancel}}" för att återställa det senare.',
 
 # Special:PasswordReset
 'passwordreset' => 'Återställ lösenord',
@@ -1036,7 +1039,7 @@ Det kan ha flyttats eller raderats medan du tittade på sidan.',
 'accmailtitle' => 'Lösenord skickat.',
 'accmailtext' => "Ett slumpgenererat lösenord för [[User talk:$1|$1]] har skickats till $2. Det kan ändras på sidan ''[[Special:ChangePassword|ändra lösenord]]'' när du loggar in.",
 'newarticle' => '(Ny)',
-'newarticletext' => 'Du har klickat på en länk till en sida som inte finns ännu. För att skapa sidan, börja att skriva i fältet nedan (du kan läsa mer på [[{{MediaWiki:Helppage}}|hjälpsidan]]). Om du kom hit av misstag kan du bara trycka på <strong>tillbaka</strong>-knappen i din webbläsare.',
+'newarticletext' => 'Du har klickat på en länk till en sida som inte finns ännu. För att skapa sidan, börja att skriva i fältet nedan (du kan läsa mer på [$1 hjälpsidan]). Om du kom hit av misstag kan du bara trycka på <strong>tillbaka</strong>-knappen i din webbläsare.',
 'anontalkpagetext' => "----''Detta är diskussionssidan för en anonym användare som inte ännu skapat ett konto, eller som inte använder det.
 Därför måste vi använda den numeriska IP-adressen för att identifiera honom/henne.
 En sådan IP-adress kan delas av flera användare.
@@ -1046,7 +1049,7 @@ Du kan [[Special:Search/{{PAGENAME}}|söka efter denna sidtitel]] på andra sido
 'noarticletext-nopermission' => 'Det finns för tillfället ingen text på denna sida.
 Du kan [[Special:Search/{{PAGENAME}}|söka efter denna sidas titel]] på andra sidor,
 eller <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} söka i relaterade loggar]</span> men du har inte behörighet att skapa sidan.',
-'missing-revision' => 'Revisionen #$1 av sidan med namnet "{{PAGENAME}}" finns inte.
+'missing-revision' => 'Revisionen #$1 av sidan med namnet "{{FULLPAGENAME}}" finns inte.
 
 Detta orsakas vanligen av efter en gammal historiklänk till en sida som har raderats.
 Detaljer kan hittas i [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} raderingsloggen].',
@@ -1282,8 +1285,9 @@ eller så försöker du gömma den senaste versionen av sidan.',
 'revdelete-no-file' => 'Den specificerade filen finns inte.',
 'revdelete-show-file-confirm' => 'Är du säker på att du vill visa en raderad version av filen "<nowiki>$1</nowiki>" från den $2 klockan $3?',
 'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''{{PLURAL:$2|Vald version|Valda versioner}} av [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Vald loggåtgärd|Valda loggåtgärder}}:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Vald version|Valda versioner}} av [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Vald filversion|Valda filversioner}} av [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|Vald loggåtgärd|Valda loggåtgärder}}:',
 'revdelete-text-text' => 'Raderade sidversioner kommer fortfarande synas i sidans historik, men delar av innehållet kommer inte att bli tillgängligt offentligt.',
 'revdelete-text-file' => 'Raderade filversioner kommer fortfarande synas i filens historik, men delar av innehållet kommer inte att bli tillgängligt offentligt.',
 'logdelete-text' => 'Raderade logghändelser kommer fortfarande synas i loggarna, men delar av innehållet kommer inte att bli tillgängligt offentligt.',
@@ -2152,6 +2156,11 @@ Kanske vill du redigera beskrivningen på dess [$2 filbeskrivningssida] där.',
 # List redirects
 'listredirects' => 'Lista över omdirigeringar',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Lista över filer med dubbletter',
+'listduplicatedfiles-summary' => 'Detta är en lista över filer där den senaste versionen av filen är en dubblett av den senaste versionen av någon annan fil. Endast lokala filer behandlas.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] har [[$3|{{PLURAL:$2|en dubblett|$2 dubbletter}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Oanvända mallar',
 'unusedtemplatestext' => 'Denna sida listar alla sidor i {{ns:template}}-namnrymden som inte inkluderas på någon annan sida.
@@ -2604,7 +2613,7 @@ Nuvarande skrivskyddsinställning för sidan '''$1''' är:",
 'protect-locked-access' => "Ditt konto har inte behörighet att ändra skrivskydd på sidor.
 Nuvarande skrivskyddsinställning för sidan '''$1''' är:",
 'protect-cascadeon' => 'Den här sidan är skrivskyddad eftersom den inkluderas på följande {{PLURAL:$1|sida|sidor}} som har ett kaskaderande skydd.
-Du kan ändra skyddet av den här sidan, men det påverkar inte det kaskaderande skyddet.',
+Ändringar i skyddet för den här sidan kommer inte påverka det kaskaderande skyddet.',
 'protect-default' => 'Tillåt alla användare',
 'protect-fallback' => 'Kräv "$1"-behörighet',
 'protect-level-autoconfirmed' => 'Blockera nya och oregistrerade användare',
index 1c6d68a..d2b4b6c 100644 (file)
@@ -368,7 +368,6 @@ $1',
 'disclaimers' => 'Kanusho',
 'disclaimerpage' => 'Project:Kanusho kwa jumla',
 'edithelp' => 'Usaidizi kwa uhariri',
-'helppage' => 'Help:Yaliyomo',
 'mainpage' => 'Mwanzo',
 'mainpage-description' => 'Mwanzo',
 'policy-url' => 'Project:Sera',
@@ -771,7 +770,7 @@ Labda ilihamishwa au ilifutwa endapo unatazama ukurasa.',
 
 Unaweza kubadilisha neno la siri hili kwenye ukurasa wa ''[[Special:ChangePassword|kubadilisha neno la siri]]'' baada ya kuingia kwenye wiki.",
 'newarticle' => '(Mpya)',
-'newarticletext' => "Ukurasa unaotaka haujaandikwa bado. Ukipenda unaweza kuuandika wewe mwenyewe kwa kutumia sanduku la hapa chini (tazama [[{{MediaWiki:Helppage}}|Mwongozo]] kwa maelezo zaidi). Ukifika hapa kwa makosa, bofya kibonyezi '''back''' (nyuma) cha programu yako.",
+'newarticletext' => "Ukurasa unaotaka haujaandikwa bado. Ukipenda unaweza kuuandika wewe mwenyewe kwa kutumia sanduku la hapa chini (tazama [$1 Mwongozo] kwa maelezo zaidi). Ukifika hapa kwa makosa, bofya kibonyezi '''back''' (nyuma) cha programu yako.",
 'anontalkpagetext' => "----''Huu ni ukurasa wa majadiliano wa mtumiaji ambaye hana jina na bado hajaumba akaunti bado, au hajawahi kutumia kabisa.
 Kwa hiyo tunatumia namba za anwani ya IP yake kumtambulisha.
 Anwani ya IP kama hiyo inaweza kutumika na watumiaji kadhaa.
@@ -975,8 +974,7 @@ Unaweza masasisho; maelezo mengine yapo kwenye [{{fullurl:{{#Special:Log}}/delet
 'revdelete-no-file' => 'Faili ulilotaja halipatikani.',
 'revdelete-show-file-confirm' => 'Ni kweli kwamba unataka kulitazama pitio lililofutwa la faili linaloitwa "<nowiki>$1</nowiki>" la tarehe $2 na saa $3?',
 'revdelete-show-file-submit' => 'Ndiyo',
-'revdelete-selected' => "'''{{PLURAL:$2|Pitio lililoteuliwa|Mapitio yaliyoteuliwa}} ya [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Tukio la kumbukumbu lililoteuliwa|Matukio ya kumbukumbu yaliyoteuliwa}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Tukio la kumbukumbu lililoteuliwa|Matukio ya kumbukumbu yaliyoteuliwa}}:',
 'revdelete-confirm' => 'Tafadhali uthibitishe kwamba unataka kufanya hivyo, pamoja na kwamba unaelewa matokeo yake, na unafanya hivyo kutokana na [[{{MediaWiki:Policy-url}}|sera yetu]].',
 'revdelete-suppress-text' => "Kuficha kunaruhisiwa '''tu''' wakati hizo:
 * Taarifa zinazowezekana kwamba ni za kukashifu
index 20ba16f..4e08463 100644 (file)
@@ -309,7 +309,6 @@ $1',
 'disclaimers' => 'Prawne informacyje',
 'disclaimerpage' => 'Project:Prawne informacyje',
 'edithelp' => 'Půmoc we půmjyńańy',
-'helppage' => 'Help:Treść',
 'mainpage' => 'Przodńo zajta',
 'mainpage-description' => 'Przodńo zajta',
 'policy-url' => 'Project:Prawidła',
@@ -710,7 +709,7 @@ Możesz to zrobić we [[Special:Preferences|swojich sztalowańach]].',
 'accmailtitle' => 'Hasło posłane.',
 'accmailtext' => "Cufalńe hasło lo [[User talk:$1|$1]] uostoło posłane do $2. Hasło lo tygo nowygo kůnta po zalogowańu je mogebność pomjyńić na zajće ''[[Special:ChangePassword|pomjyńańe hasła]]''.",
 'newarticle' => '(Nowy)',
-'newarticletext' => 'Ńy mo sam jeszcze artikla uo takijj titli. Eli chcesz go sprowjać, naszkryflej niżyj jego tekst (wjyncy informacyj nojdźesz [[{{MediaWiki:Helppage}}|na zajće půmocy]]). Eli żeś chćoł zrobić cośik inksze, naćiś ino knefel "Nazod".',
+'newarticletext' => 'Ńy mo sam jeszcze artikla uo takijj titli. Eli chcesz go sprowjać, naszkryflej niżyj jego tekst (wjyncy informacyj nojdźesz [$1 na zajće půmocy]). Eli żeś chćoł zrobić cośik inksze, naćiś ino knefel "Nazod".',
 'anontalkpagetext' => "---- ''To je zajta godki lo anůnimowych używoczy  - takich, kerzi ńy majům jeszcze swojigo kůnta abo ńy chcům go terozki używać.
 By jejich idyntyfikować, używomy numerůw IP.
 Eli jeżeś anůnimowym używoczym a wydowo Ći śe, aże zamjyszczůne sam kůmyntorze ńy sům skjyrowane do Ćebje, [[Special:UserLogin/signup|utwůrz kůnto]] abo [[Special:UserLogin|zaloguj śe]] - beztůż uńikńesz potym podobnych ńyporozumjyń.''",
@@ -881,8 +880,7 @@ Powody wyćepańo idźe znejść we [{{fullurl:{{#Special:Log}}/suppress|page={{
 'revdelete-no-file' => 'Ńy mo tygo plika.',
 'revdelete-show-file-confirm' => 'Jeżeś echt pewny co chcesz uobejzdrzeć wyćepano wersyjo plika „<nowiki>$1</nowiki>” s $2 $3?',
 'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''{{PLURAL:$2|Wybrano wersyjo|Wybrane wersyje}} zajty [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Wybrane zdarzyńy ze rejeru|Wybrane zdarzyńa ze rejeru}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Wybrane zdarzyńy ze rejeru|Wybrane zdarzyńa ze rejeru}}:',
 'revdelete-legend' => 'Naštaluj uograńičyńo lo wersyji:',
 'revdelete-hide-text' => 'Schrůń tekst wersyji',
 'revdelete-hide-image' => 'Schrůń zawartość plika',
index fa2c3c2..adf762e 100644 (file)
@@ -336,7 +336,6 @@ $1',
 'disclaimers' => 'பொறுப்புத் துறப்புகள்',
 'disclaimerpage' => 'Project:பொதுவான பொறுப்புத் துறப்புகள்',
 'edithelp' => 'தொகுத்தலுக்கான உதவி',
-'helppage' => 'Help:உதவி',
 'mainpage' => 'முதற் பக்கம்',
 'mainpage-description' => 'முதற் பக்கம்',
 'policy-url' => 'Project:கொள்கை',
@@ -750,14 +749,14 @@ $1 எனும் பயனரையோ வேறு [[{{MediaWiki:Grouppage-sy
 'accmailtitle' => 'கடவுச்சொல் அனுப்பப்பட்டுள்ளது.',
 'accmailtext' => "தானியக்கமாக [[User talk:$1|$1]]-க்கு ஒரு கடவுச்சொலை உறுவாக்கி $2-க்கு அனுப்பி வைக்கப்பட்டுள்ளது. இதனை புகுபதிகை செய்தவுடன் ''[[Special:ChangePassword|கடவுச்சொல்லை மாற்று]]'' பக்கத்தில் மாற்றிக்கொள்ளளாம்.",
 'newarticle' => '(புதிது)',
-'newarticletext' => 'ஒரு இணைப்பினூடாக நீங்கள் வந்துள்ள இப்பக்கம் இன்னும் உருவாக்கப்படவில்லை. பக்கத்தை உருவாக்குவதற்குக் கீழேயுள்ள கட்டத்துள் தட்டச்சிடத் தொடங்குங்கள். (மேலதிக விபரங்களுக்கு [[{{MediaWiki:Helppage}}|உதவிப் பக்கத்தைப்]] பார்க்கவும்). நீங்கள் தவறுதலாக இங்கே வந்திருந்தால், உங்கள் உலாவியின் பின் செல்வதற்கான பொத்தானைச் சொடுக்கவும்.',
+'newarticletext' => 'ஒரு இணைப்பினூடாக நீங்கள் வந்துள்ள இப்பக்கம் இன்னும் உருவாக்கப்படவில்லை. பக்கத்தை உருவாக்குவதற்குக் கீழேயுள்ள கட்டத்துள் தட்டச்சிடத் தொடங்குங்கள். (மேலதிக விபரங்களுக்கு [$1 உதவிப் பக்கத்தைப்] பார்க்கவும்). நீங்கள் தவறுதலாக இங்கே வந்திருந்தால், உங்கள் உலாவியின் பின் செல்வதற்கான பொத்தானைச் சொடுக்கவும்.',
 'anontalkpagetext' => "----''இது இன்னும் கணக்கொன்று ஏற்படுத்தாத அல்லது வழமையாக பயனர் கணக்கை பயன்படுத்தாத பயனர்களுக்குரிய கலந்துரையாடல் பக்கமாகும். அதனால் நாங்கள் இவரை அடையாளம் காண்பதற்கு எண்சார்ந்த ஐபி முகவரியைப் பயன்படுத்த வேண்டியதாய் இருக்கின்றது. இவ்வாறான ஐபி முகவரிகள் பல பயனர்களினால் பகிர்ந்துகொள்ளப்படலாம்.
 நீங்கள் ஒரு முகவரியற்ற பயனராயிருந்து, தொடர்பற்ற கருத்துக்கள் உங்களைக் குறித்துச் சொல்லப்பட்டிருப்பதாக நீங்கள் உணர்ந்தால், முகவரியற்ற ஏனைய பயனர்களுடனான குழப்பங்களை எதிர்காலத்தில் தவிர்ப்பதற்கு, தயவுசெய்து [[Special:UserLogin/signup|புதிய கணக்கொன்றை ஏற்படுத்துங்கள்]] அல்லது [[Special:UserLogin|புகுபதிகை]] செய்யுங்கள்.''",
 'noarticletext' => 'இப் பக்கத்தில் தற்பொழுது உள்ளடக்கம் எதுவுமில்லை. நீங்கள் இப்பக்க [[Special:Search/{{PAGENAME}}|தலைப்பை வேறு பக்கங்களில் தேடவோ]] அல்லது [{{fullurl:{{FULLPAGENAME}}|action=edit}} இப்பக்கத்தை தொகுக்கவோ] முடியும்.',
 'noarticletext-nopermission' => 'தற்பொழுது இப்பக்கத்தில் உரை எதுவும் இல்லை.
 நீங்கள் [[Special:Search/{{PAGENAME}}|பக்கத் தலைப்பை வைத்து]] அல்லது மற்ற பக்கங்களில்,
 அல்லது <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} அல்லது தேடுதல் தொடர்பான பதிவுகளில் தேடலாம்.]</span>, ஆனால் இந்தப் பக்கத்தை உருவாக்க அனுமதியில்லை.',
-'missing-revision' => "இந்த பரிசீலனை # $1  '' {{PAGENAME}}' பெயருள்ள பக்கத்தின் இல்லை.!N வேடிக்கையானN!இது தான் வழக்கமாக ஏற்பட்டிருக்கலாம் நீக்கப்பட்டுள்ளது பக்கத்திற்கு outdated வரலாறு இணைப்பை தொடர்ந்து.
+'missing-revision' => "இந்த பரிசீலனை # $1  '' {{FULLPAGENAME}}' பெயருள்ள பக்கத்தின் இல்லை.!N வேடிக்கையானN!இது தான் வழக்கமாக ஏற்பட்டிருக்கலாம் நீக்கப்பட்டுள்ளது பக்கத்திற்கு outdated வரலாறு இணைப்பை தொடர்ந்து.
 விவரங்கள் முடியும் கண்டறிய, [{{fullurl: {{# சிறப்பு: குறிப்பேடு}} / delete|page = {{FULLPAGENAMEE}}}} நீக்குதல் குறிப்பேடு].",
 'userpage-userdoesnotexist' => '"<nowiki>$1</nowiki>" என்றக் கணக்கு இன்னமும் பதிவுச் செய்யப்படவில்லை. இதை உருவாக்க/தொகுக்க வேண்டுமா என்பதை உறுதிப்படுத்தவும்.',
 'userpage-userdoesnotexist-view' => 'பயனர் கணக்கு "$1" பதியப்படவில்லை',
@@ -972,8 +971,7 @@ $1 எனும் பயனரையோ வேறு [[{{MediaWiki:Grouppage-sy
 'revdelete-no-file' => 'தாங்கள் குறிப்பிட்ட கோப்புக்கள் இங்கில்லை.',
 'revdelete-show-file-confirm' => '"<nowiki>$1</nowiki>" கோப்பின் $2-தேதி,  $3-நேரத்தில் நீக்கப்பட்ட திருத்தத்தை தாங்கள் காணவேண்டுமா ?',
 'revdelete-show-file-submit' => 'ஆம்',
-'revdelete-selected' => "'''[[:$1]] பக்கத்தின் தெரிவுச் செய்யப்பட்ட {{PLURAL:$2|திருத்தம்|திருத்தங்கள்}}:'''",
-'logdelete-selected' => "'''தெரிவு செய்யப்பட்ட பதிகை {{PLURAL:$1|நிகழ்வு|நிகழ்வுகள்}}:'''",
+'logdelete-selected' => 'தெரிவு செய்யப்பட்ட பதிகை {{PLURAL:$1|நிகழ்வு|நிகழ்வுகள்}}:',
 'revdelete-confirm' => 'நீங்கள் கண்டிப்பாக இதைச் செய்ய விரும்புகிறீர்கள் என்பதையும்,  இதன் விளைவுகளை புரிந்துகொண்டிருக்கின்றீர்கள் என்பதையும், மேலும் நீங்கள் [[{{MediaWiki:Policy-url}}|செயல் திட்டம்]] படி செய்கிறீர்கள் என்பதையும் உறுதிசெயுங்கள்.',
 'revdelete-suppress-text' => "ஒடுக்கப்படுவது கீழ்காணும் '''காரணங்களுக்காக''' மட்டுமே செய்யப்படும்.
 *அவதூறான தீங்கு விளைவிக்கக்கூடிய தகவல்
index 6027b74..f098128 100644 (file)
@@ -235,7 +235,6 @@ $messages = array(
 'disclaimers' => 'ಅಬಾಧ್ಯತೆಲು',
 'disclaimerpage' => 'Project:ಸಾಮಾನ್ಯ ಅಬಾಧ್ಯತೆಲು',
 'edithelp' => 'ಸಂಪಾದನೆ(ಎಡಿಟ್) ಮಲ್ಪೆರೆ ಸಹಾಯ',
-'helppage' => 'Help:ಪರಿವಿಡಿ',
 'mainpage' => 'ಮುಖ್ಯ ಪುಟ',
 'mainpage-description' => 'ಮುಖ್ಯ ಪುಟ',
 'policy-url' => 'Project:ನಿಯಮಾವಳಿ',
@@ -465,7 +464,7 @@ $messages = array(
 'newarticle' => '(ಪೊಸತ್)',
 'newarticletext' => "ನನಲ ಅಸ್ಥಿತ್ವಡ್ ಉಪ್ಪಂದಿನ ಪುಟೊಗು ಈರ್ ಬೈದರ್.
 ಈ ಪುಟೊನು ಸೃಷ್ಟಿ ಮಲ್ಪೆರೆ ತಿರ್ತ್’ದ ಚೌಕೊಡು ಬರೆಯೆರೆ ಸುರು ಮಲ್ಪುಲೆ.
-(ಜಾಸ್ತಿ ಮಾಹಿತಿಗ್ [[{{MediaWiki:Helppage}}|ಸಹಾಯ ಪುಟೊನು]] ತೂಲೆ).
+(ಜಾಸ್ತಿ ಮಾಹಿತಿಗ್ [$1 ಸಹಾಯ ಪುಟೊನು] ತೂಲೆ).
 ಈ ಪುಟೊಕು ಈರ್ ತಪ್ಪಾದ್ ಬತ್ತಿತ್ತ್’ನ್ಡ ಇರೆನ ಬ್ರೌಸರ್’ದ '''back''' ಬಟನ್’ನ್ ಒತ್ತ್’ಲೆ.",
 'noarticletext' => 'ಈ ಪುಟೊಟು ಸದ್ಯಗ್ ಓ ಬರಹಲಾ ಇಜ್ಜಿ, ಈರ್ ಬೇತೆ ಪೂಟೊಲೆಡ್ [[Special:Search/{{PAGENAME}}|ಈ ಲೇಖನೊನು ನಾಡೊಲಿ]] ಅತ್ತ್’ನ್ಡ [{{fullurl:{{FULLPAGENAME}}|action=edit}} ಈ ಪುಟೊನು ಸಂಪಾದನೆ ಮಲ್ಪೊಲಿ].',
 'userpage-userdoesnotexist' => 'ಬಳಕೆದಾರ ಖಾತೆ "<nowiki>$1</nowiki>" ದಾಖಲಾತ್‘ಜ್ಜಿ. ಈರ್ ಉಂದುವೇ ಪುಟನ್ ಸಂಪಾದನೆ ಮಲ್ಪರ ಉಂಡಾಂದ್ ಖಾತ್ರಿ ಮಲ್ತೊನಿ.',
index 98bea0e..cff81d5 100644 (file)
@@ -391,7 +391,6 @@ $1',
 'disclaimers' => 'అస్వీకారములు',
 'disclaimerpage' => 'Project:సాధారణ నిష్పూచీ',
 'edithelp' => 'దిద్దుబాటు సహాయం',
-'helppage' => 'Help:సూచిక',
 'mainpage' => 'మొదటి పేజీ',
 'mainpage-description' => 'మొదటి పేజీ',
 'policy-url' => 'Project:విధానం',
@@ -595,6 +594,7 @@ $2',
 'gotaccountlink' => 'లాగినవండి',
 'userlogin-resetlink' => 'మీ లాగిన్ వివరాలను మరచిపోయారా?',
 'userlogin-resetpassword-link' => 'మీ సంకేతపదాన్ని మర్చిపోయారా?',
+'userlogin-helplink2' => 'లాగినవడంలో సహాయం',
 'userlogin-loggedin' => 'మీరు ఈసరికే {{GENDER:$1|$1}} గా లాగిన్ అయి ఉన్నారు.
 వేరే వాడుకరిగా లాగినయేందుకు కింది ఫారమును వాడండి.',
 'userlogin-createanother' => 'మరొక ఖాతాను సృష్టించండి',
@@ -689,7 +689,7 @@ $2',
 మీరు దాన్ని ఇస్తే, వాడుకరి పనుల శ్రేయస్సు ఆ పేరుకు ఆపాదించబడుతుంది.',
 'pt-login' => 'లాగినవండి',
 'pt-login-button' => 'లాగినవండి',
-'pt-createaccount' => 'ఖాతా సృష్టించు',
+'pt-createaccount' => 'ఖాతా సృష్టించుకోండి',
 'pt-userlogout' => 'లాగౌటవండి',
 
 # Email sending
@@ -862,7 +862,7 @@ $2
 'accmailtext' => "[[User talk:$1|$1]] కొరకు ఒక యాదృచ్ఛిక సంకేతపదాన్ని $2కి పంపించాం. లాగినయ్యాక, ''[[Special:ChangePassword|సంకేతపదాన్ని మార్చుకోండి]]'' అనే పేజీలో ఈ సంకేతపదాన్ని మార్చుకోవచ్చు.",
 'newarticle' => '(కొత్తది)',
 'newarticletext' => 'ఈ లింకుకు సంబంధించిన పేజీ లేనే లేదు.
-కింది పెట్టెలో మీ రచనను టైపు చేసి ఆ పేజీని సృష్టించండి (దీనిపై సమాచారం కొరకు [[{{MediaWiki:Helppage}}|సహాయం పేజీ]] చూడండి). మీరిక్కడికి పొరపాటున వచ్చి ఉంటే, మీ బ్రౌజరు <strong>back</strong> మీట నొక్కండి.',
+కింది పెట్టెలో మీ రచనను టైపు చేసి ఆ పేజీని సృష్టించండి (దీనిపై సమాచారం కొరకు [$1 సహాయం పేజీ] చూడండి). మీరిక్కడికి పొరపాటున వచ్చి ఉంటే, మీ బ్రౌజరు <strong>back</strong> మీట నొక్కండి.',
 'anontalkpagetext' => "----
 <em>ఇది ఒక అజ్ఞాత వాడుకరి చర్చా పేజీ. ఆ వాడుకరి ఇంకా తనకై ఖాతాను సృష్టించుకోలేదు, లేదా ఖాతా ఉన్నా దానిని ఉపయోగించడం లేదు.</em>
 అంచేత, అతణ్ణి/ఆమెను గుర్తించడానికి ఐ.పీ. చిరునామాను వాడాల్సి వచ్చింది. 
@@ -874,7 +874,7 @@ $2
 లేదా [{{fullurl:{{FULLPAGENAME}}|action=edit}} ఈ పేజీని మార్చవచ్చు]</span>.',
 'noarticletext-nopermission' => 'ప్రస్తుతం ఈ పేజీలో పాఠ్యమేమీ లేదు.
 మీరు ఇతర పేజీలలో [[Special:Search/{{PAGENAME}}|ఈ పేజీ శీర్షిక కోసం వెతకవచ్చు]], లేదా <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} సంబంధిత చిట్టాలలో వెతకవచ్చు]</span>, కానీ ఈ పేజీని సృష్టించడానికి మీకు అనుమతి లేదు.',
-'missing-revision' => '"{{PAGENAME}}" అనే పేజీ యొక్క కూర్పు #$1 ఉనికిలో లేదు. సాధారణంగా ఏదైనా తొలగించబడిన పేజీ యొక్క కాలం చెల్లిన చరితం లింకును నొక్కినపుడు ఇది జరుగుతుంది. వివరాలు [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} తొలగింపు లాగ్] లో దొరుకుతాయి.',
+'missing-revision' => '"{{FULLPAGENAME}}" అనే పేజీ యొక్క కూర్పు #$1 ఉనికిలో లేదు. సాధారణంగా ఏదైనా తొలగించబడిన పేజీ యొక్క కాలం చెల్లిన చరితం లింకును నొక్కినపుడు ఇది జరుగుతుంది. వివరాలు [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} తొలగింపు లాగ్] లో దొరుకుతాయి.',
 'userpage-userdoesnotexist' => '"$1" అనే వాడుకరి ఖాతా నమోదయిలేదు. మీరు ఈ పేజీని సృష్టించాలని/సరిదిద్దాలని అనుకుంటున్నారేమో చూడండి.',
 'userpage-userdoesnotexist-view' => 'వాడుకరి ఖాతా "$1" నమోదుకాలేదు.',
 'blocked-notice-logextract' => 'ప్రస్తుతం ఈ వాడుకరిని నిరోధించారు.
@@ -1098,8 +1098,13 @@ $3 ఇచ్చిన కారణం: ''$2''",
 'revdelete-no-file' => 'పేర్కొన్న ఫైలు ఉనికిలో లేదు.',
 'revdelete-show-file-confirm' => 'మీరు నిజంగానే "<nowiki>$1</nowiki>"  ఫైలు యొక్క $2 $3 నాటి తొలగించిన కూర్పుని చూడాలనుకుంటున్నారా?',
 'revdelete-show-file-submit' => 'అవును',
-'revdelete-selected' => '<strong>[[:$1]] యొక్క {{PLURAL:$2|ఎంచుకున్న కూర్పు|ఎంచుకున్న కూర్పులు}}:</strong>',
-'logdelete-selected' => '<strong>{{PLURAL:$1|ఎంచుకున్న చిట్టా ఘటన|ఎంచుకున్న చిట్టా ఘటనలు}}:</strong>',
+'revdelete-selected-text' => '[[:$2]] లో {{PLURAL:$1|ఎంచుకున్న కూర్పు|ఎంచుకున్న కూర్పులు}}:',
+'revdelete-selected-file' => '[[:$2]] లో {{PLURAL:$1|ఎంచుకున్న ఫైలు కూర్పు|ఎంచుకున్న ఫైలు కూర్పులు}}:',
+'logdelete-selected' => '{{PLURAL:$1|ఎంచుకున్న చిట్టా ఘటన|ఎంచుకున్న చిట్టా ఘటనలు}}:',
+'revdelete-text-text' => 'తొలగించిన కూర్పులు పేజీ చరిత్రలో కనిపిస్తూనే ఉంటాయి. కానీ వాటి విషయసంగ్రహంలోని భాగాలు అందరికీ కనిపించవు.',
+'revdelete-text-file' => 'తొలగించిన ఫైలు కూర్పులు పేజీ చరిత్రలో కనిపిస్తూనే ఉంటాయి. కానీ వాటి విషయసంగ్రహంలోని భాగాలు అందరికీ కనిపించవు.',
+'logdelete-text' => 'తొలగించిన ఘటనలు లాగ్‍లో కనిపిస్తూనే ఉంటాయి. కానీ వాటి విషయసంగ్రహంలోని భాగాలు అందరికీ కనిపించవు.',
+'revdelete-text-others' => '{{SITENAME}} లోని ఇతర నిర్వాహకులు దాచిన విషయాన్ని చూడగలరు. వేరే నిబంధనలేమీ విధించకపోతే, ఇదే ఇంటరుఫేసు ద్వారా వారు ఈ తొలగింపును రద్దు చేయనూ గలరు.',
 'revdelete-confirm' => 'మీరు దీన్ని చేయగోరుతున్నారనీ, దీని పర్యవసానాలు మీకు తెలుసుననీ, దీన్ని సంబంధిత [[{{MediaWiki:Policy-url}}|విధానం]] ప్రకారమే చేస్తున్నారనీ నిర్ధారించండి.',
 'revdelete-suppress-text' => 'అణచివేతను కింది సందర్భాలలో <strong>మాత్రమే</strong> వాడాలి:
 * బురదజల్లే ధోరణిలో ఉన్న సమాచారం
@@ -1945,6 +1950,10 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization చూడండి.',
 # List redirects
 'listredirects' => 'దారిమార్పుల జాబితా',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'నకళ్ళు కలిగిన ఫైళ్ళ జాబితా',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] కు [[$3|{{PLURAL:$2|ఓ నకలు ఉంది|$2 నకళ్ళున్నాయి}}]].',
+
 # Unused templates
 'unusedtemplates' => 'వాడని మూసలు',
 'unusedtemplatestext' => 'వేరే ఇతర పేజీలలో చేర్చని {{ns:template}} పేరుబరిలోని పేజీలన్నింటినీ ఈ పేజీ చూపిస్తుంది.
index 4ad46ab..2999a74 100644 (file)
@@ -236,7 +236,6 @@ $messages = array(
 'disclaimers' => 'Avisu legál',
 'disclaimerpage' => 'Project:Avisu legál',
 'edithelp' => 'Ajuda kona-ba edita',
-'helppage' => 'Help:Konteúdu',
 'mainpage' => 'Pájina Mahuluk',
 'mainpage-description' => 'Pájina Mahuluk',
 'portal' => 'Portál komunidade nian',
index 0b4c1a4..b6cb81d 100644 (file)
@@ -314,7 +314,6 @@ $1',
 'disclaimers' => 'Такзибнома',
 'disclaimerpage' => 'Project:Такзибномаи умумӣ',
 'edithelp' => 'Роҳнамои вироиш',
-'helppage' => 'Help:Мундариҷа',
 'mainpage' => 'Саҳифаи Аслӣ',
 'mainpage-description' => 'Саҳифаи Аслӣ',
 'policy-url' => 'Project:Сиёсатҳо',
@@ -619,7 +618,7 @@ $1',
 'accmailtext' => 'Калимаи убур барои "$1" ба $2 фиристода шуд.',
 'newarticle' => '(Нав)',
 'newarticletext' => "Шумо пайвандеро интихоб кардед, ки саҳифа дар он арзи вуҷуд надорад.
-Барои сохтани саҳифа, ба қуттии зерин нависед ([[{{MediaWiki:Helppage}}|саҳифаи роҳнаморо]] барои маълумоти бештар нигаред).
+Барои сохтани саҳифа, ба қуттии зерин нависед ([$1 саҳифаи роҳнаморо] барои маълумоти бештар нигаред).
 Агар аз сабаби хатогӣ ва ё иштибоҳ омадед, тугмаи '''Ба оқиб'''-ро дар браузери худ пахш кунед.",
 'anontalkpagetext' => "----''Ин саҳифае баҳсе барои корбари гумном (аноним) аст, ки ҳануз ҳисоби ҷадид эчод накардааст ва ё аз он истифода намекунад. Бинобар ин барои шиносоиаш маҷбурем аз нишонаи IP истифода кунем. Чунин нишонаи IP мумкин аст аз тарафи чандин корбарон ба шакли муштарак истифода шавад. Агар шумо корбари гумном ҳастед ва ҳис мекунед, изҳори назари номарбуте ба шумо сурат гирифтааст, лутфан барои пешгири аз иштибоҳ гирифта шудан бо корбарони гумноми дигар дар оянда [[Special:UserLogin|ҳисобе эҷод кунед ё вориди систем шавед]].''",
 'noarticletext' => 'Дар ин саҳифа то кунун матне вуҷуд надорад.
@@ -755,8 +754,7 @@ $1',
 'revisiondelete' => 'Нусхаҳои ҳазф/эҳёӣ',
 'revdelete-nooldid-title' => 'Нусхаи мақсади номӯътабар',
 'revdelete-nooldid-text' => 'Шумо ин ё он нусхаи(ҳои) мақсадро барои иҷрои ин амал мушаххас накардаед, нусхаи мушаххасшуда вуҷуд надорад, ё  шумо дар ҳоли кӯшиши пинҳон кардани нусхаи кунуниаш ҳастед.',
-'revdelete-selected' => "'''{{PLURAL:$2|Нусхаи интихобшуда|Нусхаҳои интихобшуда}} аз [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Гузориши маврид интихобшуда|Гузориши мавориди интихобшуда}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Гузориши маврид интихобшуда|Гузориши мавориди интихобшуда}}:',
 'revdelete-legend' => 'Танзими маҳдудиятҳои падидорӣ',
 'revdelete-hide-text' => 'Пинҳон кардани нусхаи матн',
 'revdelete-hide-image' => 'Пинҳон кардани мӯҳтавиёти парванда',
index de5f959..58bcc6c 100644 (file)
@@ -238,7 +238,6 @@ $1",
 'disclaimers' => 'Takzibnoma',
 'disclaimerpage' => 'Project:Takzibnomai umumī',
 'edithelp' => 'Rohnamoi viroiş',
-'helppage' => 'Help:Mundariça',
 'mainpage' => 'Sahifai Aslī',
 'mainpage-description' => 'Sahifai Aslī',
 'policy-url' => 'Project:Sijosatho',
@@ -498,7 +497,7 @@ Lutfan in jo onro va jo hardui onro dar darxosthoi xud zikr kuned.",
 'accmailtitle' => 'Kalimai ubur firistoda şud.',
 'newarticle' => '(Nav)',
 'newarticletext' => "Şumo pajvandero intixob karded, ki sahifa dar on arzi vuçud nadorad.
-Baroi soxtani sahifa, ba quttiji zerin navised ([[{{MediaWiki:Helppage}}|sahifai rohnamoro]] baroi ma'lumoti beştar nigared).
+Baroi soxtani sahifa, ba quttiji zerin navised ([$1 sahifai rohnamoro] baroi ma'lumoti beştar nigared).
 Agar az sababi xatogī va jo iştiboh omaded, tugmai '''Ba oqib'''-ro dar brauzeri xud paxş kuned.",
 'noarticletext' => 'Dar in sahifa to kunun matne vuçud nadorad.
 Şumo metavoned dar digar sahifaho [[Special:Search/{{PAGENAME}}|unvoni in sahifaro çustuçū kuned]],
@@ -611,8 +610,7 @@ Sahifahoi çadidī aloqamandro metavoned [[Special:Search|dar viki]] çustuçū
 'revisiondelete' => 'Nusxahoi hazf/ehjoī',
 'revdelete-nooldid-title' => "Nusxai maqsadi nomū'tabar",
 'revdelete-nooldid-text' => 'Şumo in jo on nusxai(hoi) maqsadro baroi içroi in amal muşaxxas nakardaed, nusxai muşaxxasşuda vuçud nadorad, jo  şumo dar holi kūşişi pinhon kardani nusxai kununiaş hasted.',
-'revdelete-selected' => "'''{{PLURAL:$2|Nusxai intixobşuda|Nusxahoi intixobşuda}} az [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Guzorişi mavrid intixobşuda|Guzorişi mavoridi intixobşuda}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Guzorişi mavrid intixobşuda|Guzorişi mavoridi intixobşuda}}:',
 'revdelete-legend' => 'Tanzimi mahdudijathoi padidorī',
 'revdelete-hide-text' => 'Pinhon kardani nusxai matn',
 'revdelete-hide-image' => 'Pinhon kardani mūhtavijoti parvanda',
index 8c81845..6644f51 100644 (file)
@@ -236,8 +236,8 @@ $messages = array(
 'tog-useeditwarning' => 'เตือนฉัน เมื่อฉันกำลังจะออกจากหน้าแก้ไขโดยมีข้อมูลที่ยังไม่ได้บันทึก',
 'tog-prefershttps' => 'ใช้การเชื่อมต่อปลอดภัยทุกครั้งเมื่อล็อกอิน',
 
-'underline-always' => 'à¹\80สมอ',
-'underline-never' => 'ไม่เคย',
+'underline-always' => 'à¸\97ุà¸\81à¸\84รัà¹\89à¸\87',
+'underline-never' => 'ไม่',
 'underline-default' => 'ค่าโดยปริยายของหน้าตาหรือเบราว์เซอร์',
 
 # Font style option in Special:Preferences
@@ -443,7 +443,6 @@ $1',
 'disclaimers' => 'ข้อปฏิเสธความรับผิดชอบ',
 'disclaimerpage' => 'Project:ข้อปฏิเสธความรับผิดชอบทั่วไป',
 'edithelp' => 'วิธีแก้ไขหน้า',
-'helppage' => 'Help:สารบัญ',
 'mainpage' => 'หน้าหลัก',
 'mainpage-description' => 'หน้าหลัก',
 'policy-url' => 'Project:นโยบาย',
@@ -638,6 +637,7 @@ $1',
 'gotaccountlink' => 'ล็อกอิน',
 'userlogin-resetlink' => 'ลืมรายละเอียดล็อกอินของคุณหรือ',
 'userlogin-resetpassword-link' => 'ลืมรหัสผ่านหรือ',
+'userlogin-helplink2' => 'วิธีใช้เรื่องการล็อกอิน',
 'userlogin-loggedin' => 'คุณล็อกอินในชื่อ {{GENDER:$1|$1}} แล้ว
 ใช้แบบด้านล่างเพื่อล็อกอินเป็นอีกผู้ใช้หนึ่ง',
 'userlogin-createanother' => 'สร้างอีกบัญชี',
@@ -723,6 +723,7 @@ $1',
 'createacct-another-realname-tip' => 'ไม่จำเป็นต้องใส่ชื่อจริง
 หากคุณเลือกใส่ชื่อจริง จะใช้เพื่อแสดงที่มาสำหรับงานของตน',
 'pt-login' => 'ล็อกอิน',
+'pt-login-button' => 'ล็อกอิน',
 'pt-createaccount' => 'สร้างบัญชี',
 'pt-userlogout' => 'ล็อกเอาต์',
 
@@ -756,6 +757,9 @@ $1',
 'resetpass-abort-generic' => 'การเปลี่ยนรหัสผ่านถูกส่วนขยายยกเลิก',
 'resetpass-expired' => 'รหัสผ่านของคุณหมดอายุแล้ว โปรดตั้งรหัสผ่านใหม่เพื่อล็อกอิน',
 'resetpass-expired-soft' => 'รหัสผ่านของคุณหมดอายุแล้วและจำเป็นต้องตั้งใหม่ โปรดเลือกรหัสผ่านใหม่ขณะนี้ หรือคลิก "{{int:resetpass-submit-cancel}}" เพื่อตั้งใหม่ทีหลัง',
+'resetpass-validity-soft' => 'รหัสผ่านของคุณไม่สมเหตุสมผล: $1
+
+โปรดเลือดรหัสผ่านใหม่ในขณะนี้ หรือคลิก "{{int:resetpass-submit-cancel}}" เพื่อตั้งใหม่ทีหลัง',
 
 # Special:PasswordReset
 'passwordreset' => 'ตั้งรหัสผ่านใหม่',
@@ -891,7 +895,7 @@ $2
 'accmailtext' => "รหัสผ่านแบบสุ่มของ [[User talk:$1|$1]] ถูกส่งไปยัง $2 แล้ว สามารถเปลี่ยนรหัสผ่านในหน้า''[[Special:ChangePassword|เปลี่ยนรหัสผ่าน]]'' หลังล็อกอิน",
 'newarticle' => '(ใหม่)',
 'newarticletext' => "คุณตามลิงก์ไปยังหน้าที่ยังไม่มีในขณะนี้
-ในการสร้างหน้า เริ่มพิมพ์ในกล่องด้านล่าง (ดูข้อมูลเพิ่มเติมใน[[{{MediaWiki:Helppage}}|หน้าคำอธิบาย]])
+ในการสร้างหน้า เริ่มพิมพ์ในกล่องด้านล่าง (ดูข้อมูลเพิ่มเติมใน[$1 หน้าคำอธิบาย])
 ถ้าคุณเข้ามาหน้านี้โดยผิดพลาด ให้กดปุ่ม'''ถอยหลัง''' (back) ของเบราว์เซอร์",
 'anontalkpagetext' => "----''หน้านี้เป็นหน้าคุยกับผู้ใช้สำหรับผู้ใช้นิรนามซึ่งยังไม่ได้สร้างบัญชีหรือไม่ได้ล็อกอิน
 ดังนั้นเราจึงระบุตัวตนโดยใช้เลขที่อยู่ไอพีแทน
@@ -901,7 +905,7 @@ $2
 คุณสามารถ[[Special:Search/{{PAGENAME}}|ค้นหาชื่อหน้านี้]]ในหน้าอื่น หรือ<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} ค้นหาปูมที่เกี่ยวข้อง] หรือ[{{fullurl:{{FULLPAGENAME}}|action=edit}} แก้ไขหน้านี้]</span>',
 'noarticletext-nopermission' => 'ปัจจุบันไม่มีเนื้อหาในหน้านี้
 คุณสามารถ[[Special:Search/{{PAGENAME}}|ค้นหาชื่อหน้านี้]]ในหน้าอื่น หรือ<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} ค้นหาปูมที่เกี่ยวข้อง]</span> แต่คุณไม่มีสิทธิสร้างหน้านี้',
-'missing-revision' => 'ไม่มีรุ่น #$1 ของหน้าชื่อ "{{PAGENAME}}" 
+'missing-revision' => 'ไม่มีรุ่น #$1 ของหน้าชื่อ "{{FULLPAGENAME}}" 
 
 โดยปกติเกิดจากการเข้าลิงก์ประวัติเก่าของหน้าที่ถูกลบไปแล้ว
 ดูรายละเอียดได้ที่[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} ปูมการลบ]',
@@ -1069,7 +1073,7 @@ $2
 'page_first' => 'แรกสุด',
 'page_last' => 'ท้ายสุด',
 'histlegend' => 'วิธีเปรียบเทียบ: เลือกปุ่มของรุ่นสองรุ่นที่ต้องการเปรียบเทียบ และกดปุ่มเริ่มเปรียบเทียบด้านล่าง<br />
-คำอธิบาย: (ป) = เทียบกับรุ่นปัจจุบัน, (ก) = เทียบกับรุ่นก่อนหน้า, ล = การแก้ไขเล็กน้อย',
+คำอธิบาย: <strong>({{int:cur}})</strong> = เทียบกับรุ่นปัจจุบัน, <strong>({{int:last}})</strong> = เทียบกับรุ่นก่อนหน้า, <strong>{{int:minoreditletter}}</strong> = การแก้ไขเล็กน้อย',
 'history-fieldset-title' => 'ค้นหาประวัติ',
 'history-show-deleted' => 'เฉพาะที่ถูกลบ',
 'histfirst' => 'แรกสุด',
@@ -1123,8 +1127,11 @@ $2
 'revdelete-no-file' => 'ไม่มีไฟล์ที่ระบุ',
 'revdelete-show-file-confirm' => 'คุณแน่ใจที่จะดูรุ่นที่ถูกลบของไฟล์ "<nowiki>$1</nowiki>" เมื่อวันที่ $2 เวลา $3 หรือไม่',
 'revdelete-show-file-submit' => 'ใช่',
-'revdelete-selected' => "'''{{PLURAL:$2|รุ่นการปรับปรุงที่ถูกเลือก|รุ่นการปรับปรุงที่ถูกเลือก}}ของ [[:$1]] :'''",
-'logdelete-selected' => "'''{{PLURAL:$1|เหตุการณ์ปูมที่เลือก|เหตุการณ์ปูมที่เลือก}} :'''",
+'logdelete-selected' => '{{PLURAL:$1|เหตุการณ์ปูมที่เลือก|เหตุการณ์ปูมที่เลือก}} :',
+'revdelete-text-text' => 'รุ่นที่ถูกลบจะยังปรากฏในประวัติหน้า แต่สาธารณะจะไม่สามารถเข้าถึงเนื้อหาบางส่วนได้',
+'revdelete-text-file' => 'รุ่นที่ถูกลบจะยังปรากฏในประวัติไฟล์ แต่สาธารณะจะไม่สามารถเข้าถึงเนื้อหาบางส่วนได้',
+'logdelete-text' => 'รายการปูมที่ถูกลบจะยังปรากฏในปูม แต่สาธารณะจะไม่สามารถเข้าถึงเนื้อหาบางส่วนได้',
+'revdelete-text-others' => 'ผู้ดูแลระบบคนอื่นบน {{SITENAME}} จะยังสามารถเข้าถึงเนื้อหาที่ถูกซ่อน และสามารถกู้คืนได้อีกผ่านอินเตอร์เฟซเดียวกันนี้ ยกเว้นตั้งข้อจำกัดเพิ่มเติม',
 'revdelete-confirm' => 'กรุณายืนยันว่าคุณมีเจตนาลบจริง และเข้าใจผลลัพธ์ และกระทำภายใต้[[{{MediaWiki:Policy-url}}|นโยบาย]]',
 'revdelete-suppress-text' => "การระงับควรใช้'''เฉพาะ'''กรณีต่อไปนี้:
 * ข้อมูลที่อาจหมิ่นประมาท
@@ -1239,7 +1246,8 @@ $1",
 'nextn-title' => '$1 ผลลัพธ์ถัดไป',
 'shown-title' => 'แสดง $1 ผลลัพธ์ต่อหน้า',
 'viewprevnext' => 'ดู ($1 {{int:pipe-separator}} $2) ($3)',
-'searchmenu-exists' => "'''มีหน้าชื่อ \"[[:\$1]]\" บนวิกินี้'''",
+'searchmenu-exists' => '<strong>มีหน้าชื่อ "[[:$1]]" บนวิกินี้</strong>
+{{PLURAL:$2|0=|ดูผลการค้นหาอื่นที่พบเพิ่มเติม}}',
 'searchmenu-new' => '<strong>สร้างหน้า "[[:$1]]" บนวิกินี้!</strong> {{PLURAL:$2|0=|ดูหน้าที่พบด้วยการค้นหาของคุณ|ดูผลการค้นหาที่พบเพิ่มเติม}}',
 'searchprofile-articles' => 'หน้าเนื้อหา',
 'searchprofile-project' => 'คำอธิบายและหน้าโครงการ',
@@ -1259,7 +1267,7 @@ $1",
 'search-file-match' => '(จับคู่เนื้อหาไฟล์)',
 'search-suggest' => 'คุณอาจหมายถึง: $1',
 'search-interwiki-caption' => 'โครงการพี่น้อง',
-'search-interwiki-default' => '$1 ผลลัพธ์:',
+'search-interwiki-default' => 'ผลลัพธ์จาก $1 :',
 'search-interwiki-more' => '(เพิ่มเติม)',
 'search-relatedarticle' => 'สัมพันธ์',
 'searcheverything-enable' => 'ค้นหาในทุกเนมสเปซ',
@@ -1625,7 +1633,7 @@ $1",
 'recentchangeslinked-title' => 'การปรับปรุงที่โยงมายัง "$1"',
 'recentchangeslinked-summary' => "หน้านี้เป็นรายการปรับปรุงล่าสุดของหน้าที่ถูกโยงไป (หรือไปยังหน้าต่าง ๆ ของหมวดหมู่ที่กำหนด) โดยหน้าที่อยู่ใน[[Special:Watchlist|รายการเฝ้าดู]]แสดงเป็น'''ตัวหนา'''",
 'recentchangeslinked-page' => 'ชื่อหน้า:',
-'recentchangeslinked-to' => 'à¹\81สà¸\94à¸\87à¸\81ารà¹\80à¸\9bลีà¹\88ยà¸\99à¹\81à¸\9bลà¸\87à¸\97ีà¹\88à¹\80à¸\8aืà¹\88อมà¹\82ยà¸\87มายัà¸\87หà¸\99à¹\89าà¸\99ีà¹\89แทน',
+'recentchangeslinked-to' => 'à¹\81สà¸\94à¸\87à¸\81ารà¹\80à¸\9bลีà¹\88ยà¸\99à¹\81à¸\9bลà¸\87à¹\84à¸\9bยัà¸\87หà¸\99à¹\89าà¸\97ีà¹\88à¹\80à¸\8aืà¹\88อมà¹\82ยà¸\87มายัà¸\87หà¸\99à¹\89าà¸\97ีà¹\88ระà¸\9aุแทน',
 
 # Upload
 'upload' => 'อัปโหลดไฟล์',
@@ -1655,7 +1663,7 @@ $1",
 'uploadlogpagetext' => 'ด้านล่างเป็นรายการการอัปโหลดไฟล์ล่าสุด
 ดูภาพรวมที่ [[Special:NewFiles|แกลอรีไฟล์ใหม่]]',
 'filename' => 'ชื่อไฟล์',
-'filedesc' => 'รายละà¹\80อียà¸\94à¹\84à¸\9fลà¹\8c',
+'filedesc' => 'à¸\84วามยà¹\88อ',
 'fileuploadsummary' => 'รายละเอียดไฟล์:',
 'filereuploadsummary' => 'เปลี่ยนแปลงไฟล์:',
 'filestatus' => 'สถานะลิขสิทธิ์:',
@@ -2383,7 +2391,7 @@ $UNWATCHURL
 'protect-locked-dblock' => "ไม่สามารถเปลี่ยนระดับการล็อกได้เนื่องจากฐานข้อมูลถูกล็อก การตั้งค่าปัจจุบันของหน้า '''$1''' คือ:",
 'protect-locked-access' => "บัญชีของคุณไม่ได้รับอนุญาตให้เปลี่ยนแปลงระดับการล็อกหน้า การตั้งค่าปัจจุบันของหน้า '''$1''' คือ:",
 'protect-cascadeon' => 'หน้านี้ถูกล็อกเนื่องจากเป็นส่วนหนึ่งของ{{PLURAL:$1|หน้า|หน้า}}ที่เปิดการล็อกแบบสืบทอด
-à¸\84ุà¸\93สามารà¸\96à¹\80à¸\9bลีà¹\88ยà¸\99ระà¸\94ัà¸\9aà¸\81ารลà¹\87อà¸\81à¹\84à¸\94à¹\89 à¹\81à¸\95à¹\88จะไม่มีผลต่อการล็อกแบบสืบทอด',
+à¸\81ารà¹\80à¸\9bลีà¹\88ยà¸\99ระà¸\94ัà¸\9aà¸\81ารลà¹\87อà¸\81à¸\82อà¸\87หà¸\99à¹\89าà¸\99ีà¹\89จะไม่มีผลต่อการล็อกแบบสืบทอด',
 'protect-default' => 'อนุญาตผู้ใช้ทั้งหมด',
 'protect-fallback' => 'อนุญาตเฉพาะผู้ใช้ที่มีสิทธิ "$1"',
 'protect-level-autoconfirmed' => 'อนุญาตเฉพาะผู้ใช้ยืนยันอัตโนมัติ',
@@ -2486,14 +2494,14 @@ $1',
 'blanknamespace' => '(หลัก)',
 
 # Contributions
-'contributions' => 'เรื่องที่ผู้ใช้รายนี้เขียน',
+'contributions' => 'เรื่องที่{{GENDER:$1|ผู้ใช้}}รายนี้เขียน',
 'contributions-title' => 'เรื่องที่เขียนโดย $1',
 'mycontris' => 'เรื่องที่เขียน',
 'contribsub2' => 'สำหรับ {{GENDER:$3|$1}} ($2)',
 'nocontribs' => 'ไม่พบการเปลี่ยนแปลงตรงกับเงื่อนไขเหล่านี้',
 'uctop' => '(ปัจจุบัน)',
-'month' => 'à¸\88าà¸\81เดือน (และก่อนหน้า):',
-'year' => 'à¸\88าà¸\81ปี (และก่อนหน้า):',
+'month' => 'à¸\95ัà¹\89à¸\87à¹\81à¸\95à¹\88เดือน (และก่อนหน้า):',
+'year' => 'à¸\95ัà¹\89à¸\87à¹\81à¸\95à¹\88ปี (และก่อนหน้า):',
 
 'sp-contributions-newbies' => 'แสดงการแก้ไขของบัญชีใหม่เท่านั้น',
 'sp-contributions-newbies-sub' => 'สำหรับบัญชีใหม่',
@@ -2924,7 +2932,7 @@ $1',
 'tooltip-ca-nstab-template' => 'ดูหน้าแม่แบบ',
 'tooltip-ca-nstab-help' => 'ดูหน้าคำอธิบาย',
 'tooltip-ca-nstab-category' => 'ดูหน้าหมวดหมู่',
-'tooltip-minoredit' => 'à¸\81ำหà¸\99à¸\94เป็นการแก้ไขเล็กน้อย',
+'tooltip-minoredit' => 'à¸\97ำà¹\80à¸\84รืà¹\88อà¸\87หมายเป็นการแก้ไขเล็กน้อย',
 'tooltip-save' => 'บันทึกการแก้ไข',
 'tooltip-preview' => 'แสดงตัวอย่างการเปลี่ยนแปลงของคุณ กรุณาใช้คำสั่งนี้ก่อนบันทึก!',
 'tooltip-diff' => 'แสดงการเปลี่ยนการต่อข้อความ',
@@ -3418,8 +3426,8 @@ $1',
 'exif-gpsmeasuremode-3' => 'การวัดสามมิติ',
 
 # Pseudotags used for GPSSpeedRef
-'exif-gpsspeed-k' => 'กิโลเมตรต่อชั่วโมง',
-'exif-gpsspeed-m' => 'ไมล์ต่อชั่วโมง',
+'exif-gpsspeed-k' => 'กิโลเมตร/ชั่วโมง',
+'exif-gpsspeed-m' => 'ไมล์/ชั่วโมง',
 'exif-gpsspeed-n' => 'นอตส์',
 
 # Pseudotags used for GPSDestDistanceRef
index 67b3ed4..f9d0e03 100644 (file)
@@ -269,7 +269,6 @@ $1',
 'disclaimers' => 'Jogapkärçilikden boýun gaçyrmak',
 'disclaimerpage' => 'Project:Umumy jogapkärçilikden boýun gaçyrmak',
 'edithelp' => 'Nähili redaktirlenýär?',
-'helppage' => 'Help:Mazmuny',
 'mainpage' => 'Baş Sahypa',
 'mainpage-description' => 'Baş sahypa',
 'policy-url' => 'Project:Ýörelge',
@@ -599,7 +598,7 @@ Sahypany görýän mahalayňyz onuň ady üýtgedilen ýa-da öçürilen bolmagy
 
 Bu paroly sessiýa açanyňyzdan soňra ''[[Special:ChangePassword|paroly üýtget]]'' sahypasynda üýtgedip bilersiňiz.",
 'newarticle' => '(Täze)',
-'newarticletext' => "Häzirlikçe ýazylmadyk bir sahypa goýlan çykgyda tykladyňyz. Bu sahypany döretmek üçin aşakdaky tekst gutusyndan peýdalanyň. Maglumat üçin [[{{MediaWiki:Helppage}}|ýardam sahypasyna]] serediň. Bu ýere ýalňyşlyk bilen gelen bolsaňyz, programmanyň '''Yza''' düwmesine tyklaň.",
+'newarticletext' => "Häzirlikçe ýazylmadyk bir sahypa goýlan çykgyda tykladyňyz. Bu sahypany döretmek üçin aşakdaky tekst gutusyndan peýdalanyň. Maglumat üçin [$1 ýardam sahypasyna] serediň. Bu ýere ýalňyşlyk bilen gelen bolsaňyz, programmanyň '''Yza''' düwmesine tyklaň.",
 'anontalkpagetext' => "----''Bu sahypa heniz ulanyjy hasaby edinmedik ýa-da hasabyny ulanmaýan bir anonim ulanyjynyň pikir alyşma sahypasydyr.
 Şonuň üçinem biz ony görkezmek üçin sanlaýyn IP adresini ulanmaly bolýarys.
 Şunuň ýaly IP adresinden ençeme ulanyjy peýdalanýan bolmagy ahmal.
@@ -818,8 +817,7 @@ Administrator hökmünde bu aratapawudy görüp bilersiňiz; [{{fullurl:{{#Speci
 'revdelete-no-file' => 'Görkezilen faýl ýok.',
 'revdelete-show-file-confirm' => '"<nowiki>$1</nowiki>" faýlynyň $3, $2 seneli öçürilen wersiýasyny görmek isleýäniňiz çynyňyzmy?',
 'revdelete-show-file-submit' => 'Hawa',
-'revdelete-selected' => "'''[[:$1]] sahypasynyň {{PLURAL:$2|saýlanylan wersiýasy|saýlanylan wersiýalary}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Saýlanylan gündelik wakasy|Saýlanylan gündelik wakalary}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Saýlanylan gündelik wakasy|Saýlanylan gündelik wakalary}}:',
 'revdelete-confirm' => 'Şu işi anyk isleýändigiňizi, ýagny onuň netijelerine düşünýändiňizi we [[{{MediaWiki:Policy-url}}|kadalar boýunça]] amala aşyrýandygyňyzy tassyklamagyňyzy haýyş edýäris.',
 'revdelete-suppress-text' => "Gizlemeklik '''diňe''' aşakdaky ýagdaýlarda ulanylmalydyr:
 * Potensial taýdan töhmetçilikli maglumat
index c75b29d..6993183 100644 (file)
@@ -397,7 +397,6 @@ $1',
 'disclaimers' => 'Mga pagtatanggi',
 'disclaimerpage' => 'Project:Pangkalahatang pagtatanggi',
 'edithelp' => 'Tulong sa pagbabago',
-'helppage' => 'Help:Mga nilalaman',
 'mainpage' => 'Unang Pahina',
 'mainpage-description' => 'Unang Pahina',
 'policy-url' => 'Project:Patakaran',
@@ -479,6 +478,8 @@ Matatagpuan ang isang tala ng mga tamang natatanging pahina sa [[Special:Special
 'databaseerror' => 'Kamalian sa kalipunan ng datos',
 'databaseerror-text' => 'Mayroong kamalian sa pagtanong o pag-query sa database.
 Maaring ipinapahiwatig nito ang depekto o bug sa software.',
+'databaseerror-textcl' => 'May nangyaring depekto sa pag-query ng database.',
+'databaseerror-error' => 'Depekto: $1',
 'laggedslavemode' => "'''Babala:''' Maaaring hindi naglalaman ang pahina ng mga huling dagdag.",
 'readonly' => 'Nakakandado ang kalipunan ng datos',
 'enterlockreason' => 'Maglagay ng dahilan sa pagkakandado, kasama ang taya kung kailan magtatapos ang pagkakandado',
@@ -512,6 +513,7 @@ Maaaring ibinura na ito ng iba.',
 'cannotdelete-title' => 'Hindi maibura ang pahinang "$1"',
 'delete-hook-aborted' => 'Pinigil ng sungkit ang pagbura.
 Walang ibinigay na paliwanag.',
+'no-null-revision' => 'Hindi makalikha ng bagong "null" para sa pahina na "$1"',
 'badtitle' => 'Hindi kanais-nais na pamagat',
 'badtitletext' => 'Ang hiniling na pamagat ng pahina ay hindi katanggap-tanggap, wala, o isang may-maling kawing na pamagat na pangugnayang-wika (interwika) o pangugnayang wiki (interwiki).
 Maaaring naglalaman ito ng isa o higit pang mga panitik (karakter) na hindi maaaring gamitin para sa mga pamagat.',
@@ -524,10 +526,11 @@ Ang mga dato dito ay hindi pa masasariwa sa kasalukuyan.',
 'actionthrottled' => 'Hinadlangan ang gawain',
 'actionthrottledtext' => "Bilang paraang panglaban sa ''spam'', pinigalan kang magawa ang galaw na ito nang maraming ulit sa loob ng maikling panahon, at lumabis ka na sa limitasyong ito.
 Pakisubok na lang ulit pagkaraan ng kaunting mga minuto.",
-'protectedpagetext' => 'Kinandado ang pahinang ito upang mahadlangang ang pagbago.',
+'protectedpagetext' => 'Kinandado ang pahinang ito upang mahadlangang ang pagbago o ibang aksyon.',
 'viewsourcetext' => 'Maaari mong tingnan at kopyahin ang pinagmulan ng pahinang ito:',
 'viewyourtext' => "Matitingnan at makukopya mo ang pinagmulan ng '''mga pagbabago''' papunta sa pahinang ito:",
-'protectedinterface' => "Nagbibigay ang pahinang ito ng tekstong panghangganan (''interface'') para sa sopwer, at ikinandado para maiwasan ang pangaabuso.",
+'protectedinterface' => 'Nagbibigay ang pahinang ito ng tekstong interface para sa software, at ikinandado para maiwasan ang pangaabuso.
+Upang dagdagan o baguhin ang mga salin para sa lahat ng mga wiki, pakigamit ang [//translatewiki.net/ translatewiki.net], ang proyekto para sa lokalisasyon ng MediaWiki.',
 'editinginterface' => "'''Babala:''' Binabago mo ang isang pahinang ginagamit sa pagbibigay ng tekstong panghangganan para sa sopwer.
 Makaaapekto ang mga pagbago sa pahinang ito sa anyo ng hangganang (''interface'') pantagagamit na para sa ibang mga tagagamit sa wiking ito.
 Upang magdagag o magbago ng mga salinwika, isaaalang-alang na lang po ang paggamit ng [//translatewiki.net/wiki/Main_Page?setlang=en translatewiki.net], ang proyekto para sa lokalisasyon ng MediaWiki.",
@@ -538,6 +541,8 @@ $2',
 'customjsprotected' => 'Wala kang pahintulot na baguhin ang pahina ng JavaScript na ito, dahil naglalaman ito ng mga katakdaang pansarili ng ibang tagagamit.',
 'mycustomcssprotected' => 'Wala kang pahintulot na baguhin itong pahinang CSS.',
 'mycustomjsprotected' => 'Wala kang pahintulot na baguhin itong pahinang JavaScript.',
+'myprivateinfoprotected' => 'Wala kang pahintulot na baguhin ang iyong pribadong impormasyon.',
+'mypreferencesprotected' => 'Wala kang pahintulot na baguhin ang iyong mga kagustuhan.',
 'ns-specialprotected' => 'Hindi pwedeng baguhin ang mga natatanging pahina.',
 'titleprotected' => "Nakasanggalang ang pamagat na ito mula sa paglikha ni [[User:$1|$1]].
 Ang ibinigay na dahilan ay ''$2''.",
@@ -547,7 +552,8 @@ Ang tagapangasiwang nagkandado nito ay nag-alok ng ganitong paliwanag: "$3".',
 'invalidtitle-knownnamespace' => 'Hindi katanggap-tanggap na pamagat na may puwang na pampangalang "$2" at tekstong "$3"',
 'invalidtitle-unknownnamespace' => 'Hindi katanggap-tanggap na pamagat na mayroong hindi nalalamang bilang na pampuwang ng pangalan na $1 at tekstong "$2"',
 'exception-nologin' => 'Hindi nakalagda',
-'exception-nologin-text' => 'Ang pahina o kilos na ito ay nangangailangan ng paglagda mo sa wiking ito.',
+'exception-nologin-text' => '[[Natatangi:Paglagda_ng_tagagamit|Mag-login]] upang ma-access ang aksyon o pahinang ito.',
+'exception-nologin-text-manual' => '$1 upang ma-access ang pahina o aksyong ito.',
 
 # Virus scanner
 'virus-badscanner' => "Masamang kompigurasyon: hindi kilalang tagahagilap (iskaner) ng birus: ''$1''",
@@ -555,29 +561,28 @@ Ang tagapangasiwang nagkandado nito ay nag-alok ng ganitong paliwanag: "$3".',
 'virus-unknownscanner' => 'hindi kilalang panlaban sa birus:',
 
 # Login and logout pages
-'logouttext' => "'''Nakaalis ka na sa pagkakalagda.'''
+'logouttext' => '<strong>Nakaalis ka na sa pagkaka-login.</strong>
 
-Maaari kang tumuloy sa paggamit ng {{SITENAME}} nang hindi nakikilala (anonimo), o maaaring kang <span class='plainlinks'>[$1 lumagda/tumala muli]</span> bilang kapareho o ibang tagagamit.
-Tandaan na may ilang pahinang maaaring magpatuloy na nagpapakitang parang nakalagda ka pa rin, hanggang sa linisin mo ang iyong baunang pambasa-basa (''browser cache'').",
+Tandaan na may ilang mga pahina na patuloy na nagpapakita na parang hindi ka naka-login, hanggang alisin mo ang iyong <i>browser cache</i>.',
 'welcomeuser' => 'Mabuhay, $1!',
 'welcomecreation-msg' => 'Nilikha na ang iyong kuwenta.
 Huwag kalimutang baguhin ang iyong [[Special:Preferences|mga kagustuhan sa {{SITENAME}}]].',
 'yourname' => 'Bansag:',
-'userlogin-yourname' => 'Pangngalan',
-'userlogin-yourname-ph' => 'Ilagay ang iyong Pangalan',
+'userlogin-yourname' => 'Pangalan',
+'userlogin-yourname-ph' => 'Ilagay ang iyong pangalan',
 'createacct-another-username-ph' => 'Ilagay ang Pangalan',
-'yourpassword' => 'Hudyat:',
-'userlogin-yourpassword' => 'Hudyat',
-'userlogin-yourpassword-ph' => 'Ipasok ang iyong hudyat',
+'yourpassword' => 'Password:',
+'userlogin-yourpassword' => 'Password',
+'userlogin-yourpassword-ph' => 'Ipasok ang iyong password',
 'createacct-yourpassword-ph' => 'Ilagay ang hudyat (password)',
-'yourpasswordagain' => 'Hudyat mo uli:',
+'yourpasswordagain' => 'Password mo uli:',
 'createacct-yourpasswordagain' => 'Tiyakin ang hudyat',
 'createacct-yourpasswordagain-ph' => 'Muling ilagay ang hudyat (password)',
 'remembermypassword' => 'Tandaan ang paglagda ko sa kompyuter na ito (pinakamarami na ang $1 {{PLURAL:$1|araw|mga araw}})',
-'userlogin-remembermypassword' => 'Panatilihin akong nakalagda',
+'userlogin-remembermypassword' => 'Panatilihin akong naka-login',
 'userlogin-signwithsecure' => 'Gumamit ng ligtas na koneksyon',
 'yourdomainname' => 'Dominyo mo:',
-'password-change-forbidden' => 'Hindi mo maaaring palitan ang mga hudyat sa wiking ito.',
+'password-change-forbidden' => 'Hindi mo maaaring palitan ang mga password sa wiking ito.',
 'externaldberror' => 'Maaaring may kamalian sa pagpapatotoo ng kalipunan ng mga dato o kaya hindi ka pinahintulutang isapanahon ng iyong panlabas na kuwenta o patnugutan.',
 'login' => 'Lumagda',
 'nav-login-createaccount' => 'Lumagda / lumikha ng kuwenta',
@@ -587,27 +592,38 @@ Huwag kalimutang baguhin ang iyong [[Special:Preferences|mga kagustuhan sa {{SIT
 'logout' => 'Umalis sa pagkakalagda',
 'userlogout' => 'Umalis sa pagkakalagda',
 'notloggedin' => 'Hindi nakalagda',
-'userlogin-noaccount' => 'Wala ka pa bang kuwenta?',
+'userlogin-noaccount' => 'Wala ka pa bang akawnt?',
 'userlogin-joinproject' => 'Sumali sa {{SITENAME}}',
 'nologin' => 'Wala ka pang kuwenta? $1.',
 'nologinlink' => 'Lumikha ng kuwenta',
 'createaccount' => 'Lumikha ng akawnt',
 'gotaccount' => 'May kuwenta ka na ba? $1.',
 'gotaccountlink' => 'Lumagda',
-'userlogin-resetlink' => 'Nakalimutan mo ang iyong mga detalyeng panglagda?',
-'userlogin-resetpassword-link' => 'Nakalimutan ba ang iyong hudyat (password)?',
+'userlogin-resetlink' => 'Nakalimutan mo ang iyong mga detalyeng pang-login?',
+'userlogin-resetpassword-link' => 'Nakalimutan ba ang iyong password?',
+'userlogin-helplink2' => 'Tulong sa pag-login',
+'userlogin-loggedin' => 'Naka-login ka na bilang {{GENDER:$1|$1}}. Gamitin ang form sa ibaba upang maka-login bilang ibang tagagamit o user.',
 'userlogin-createanother' => 'Lumikha ng iba pang akawnt',
 'createacct-join' => 'Ilagay ang iyong impormasyon sa ibaba.',
 'createacct-another-join' => 'Ilagay ang impormasyon ng bagong akawnt sa ibaba.',
 'createacct-emailrequired' => 'Direksiyong e-liham:',
-'createaccountmail' => 'Gumamit ng pansamantalang walang-piling hudyat at ipadala ito sa direksiyong e-liham na nakasaad sa ibaba',
+'createacct-emailoptional' => 'Email (hindi kailangan)',
+'createacct-email-ph' => 'Ipasok ang iyong email address',
+'createacct-another-email-ph' => 'Ipasok ang email address',
+'createaccountmail' => 'Gumamit ng pansamantalang random na password at ipadala ito sa email na nakasaad sa ibaba',
 'createacct-realname' => 'Tunay na pangalan (maaaring wala)',
 'createaccountreason' => 'Dahilan:',
 'createacct-reason' => 'Dahilan',
 'createacct-reason-ph' => 'Bakit ka gagawa ng isa pang akawnt?',
+'createacct-captcha' => 'Siyasatin ang seguridad',
 'createacct-imgcaptcha-ph' => 'Ilagay ang tekstong makikita sa itaas.',
+'createacct-submit' => 'Likhain ang iyong akawnt',
+'createacct-another-submit' => 'Lumikha ng ibang akawnt',
 'createacct-benefit-heading' => '{{SITENAME}} ay nilikha ng mga taong iyong katulad.',
-'badretype' => 'Hindi magkatugma ang ipinasok mong mga hudyat.',
+'createacct-benefit-body1' => '{{PLURAL:$1|pagbabago|mga pagbabago}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|pahina|mga pahina}}',
+'createacct-benefit-body3' => 'kamakailang {{PLURAL:$1|nag-ambag|mga nag-ambag}}',
+'badretype' => 'Hindi magkatugma ang ipinasok mong mga password.',
 'userexists' => 'May gumagamit na ng ipinasok na bansag.
 Pumili po ng ibang pangalan.',
 'loginerror' => 'Kamalian sa paglagda',
@@ -633,39 +649,39 @@ Suriin ang iyong pagbabaybay, o [[Special:UserLogin/signup|lumikha ng bagong kuw
 Pakitingnan ang iyong pagbabaybay.',
 'nouserspecified' => 'Kailangang tukuyin mo ang isang pangalang pantagagamit.',
 'login-userblocked' => 'Hinarang ang tagagamit na ito.  Hindi pinahihintulutan ang paglalagda.',
-'wrongpassword' => 'Mali ang ipinasok na hudyat.
+'wrongpassword' => 'Mali ang ipinasok na password.
 Pakisubok muli.',
-'wrongpasswordempty' => 'Walang laman ang ipinasok na hudyat.
+'wrongpasswordempty' => 'Walang laman ang ipinasok na password.
 Pakisubok muli.',
-'passwordtooshort' => 'Ang mga hudyat ay dapat mayroong {{PLURAL:$1|1 panitik|$1 panitik}} (karakter).',
-'password-name-match' => 'Dapat magkaiba ang hudyat mo sa bansag mo.',
-'password-login-forbidden' => 'Ipinagbabawal ang paggamit ng ganitong pangalan ng tagagamit at hudyat.',
-'mailmypassword' => 'Baguhin ang hudyat',
-'passwordremindertitle' => 'Bagong pansamantalang hudyat para sa {{SITENAME}}',
+'passwordtooshort' => 'Ang mga password ay dapat mayroong {{PLURAL:$1|1 panitik|$1 panitik}} (karakter).',
+'password-name-match' => 'Dapat magkaiba ang password mo sa bansag o username mo.',
+'password-login-forbidden' => 'Ipinagbabawal ang paggamit ng ganitong pangalan ng tagagamit at password.',
+'mailmypassword' => 'Baguhin ang password',
+'passwordremindertitle' => 'Bagong pansamantalang password para sa {{SITENAME}}',
 'passwordremindertext' => 'Mayroong (na maaaring ikaw, mula sa adres ng IP na $1) humiling ng isang bagong
-hudyat para sa {{SITENAME}} ($4). Isang pansamantalang hudyat ang nilikha
+password para sa {{SITENAME}} ($4). Isang pansamantalang password ang nilikha
 para sa tagagamit na "$2" at itinakda sa "$3".  Kung ito ang iyong pakay,
-kailangan mo na ngayong lumagda/tumala at pumili ng isang bagong hudyat.
-Mawawala/magtatapos ang bisa ang pansamantala mong hudyat sa loob ng {{PLURAL:$5|isang araw|$5 araw}}.
+kailangan mo na ngayong mag-login at pumili ng isang bagong password.
+Mawawala/magtatapos ang bisa ang pansamantala mong password sa loob ng {{PLURAL:$5|isang araw|$5 araw}}.
 
-Kung ibang tao ang humiling nito, o kung naalala mo na ang iyong hudyat,
+Kung ibang tao ang humiling nito, o kung naalala mo na ang iyong password,
 at hindi mo na ibig pang baguhin ito, maaari mong huwag pansinin ang mensaheng ito at
-magpatuloy sa paggamit ng iyong lumang hudyat.',
+magpatuloy sa paggamit ng iyong lumang password.',
 'noemail' => 'Walang nakatalang adres ng e-liham para sa tagagamit na "$1".',
 'noemailcreate' => 'Kailangan mong magbigay ng may-bisang direksiyong e-liham',
 'passwordsent' => 'Isang bagong hudyat ang ipinadala sa adres ng e-liham na nakatala para kay "$1".
 Lumagda/Tumala lang po muli pagkaraan mong matanggap ito.',
 'blocked-mailpassword' => 'Hinarangan sa paggawa ng mga pagbabago ang iyong adres ng IP, at kaya hindi rin pinapahintulutang gumamit ng tungkuling makabawi ng hudyat para maiwasan ang pangaabuso.',
-'eauthentsent' => 'Nagpadala ng isang e-liham na pangkompirmasyon doon sa iniharap na direksiyong e-liham.
-Bago magpadala ng iba pang e-liham sa kuwenta, kailangan mong sundin ang mga tagubiling nasa loob ng e-liham, para mapatunayang iyo talaga ang kuwenta.',
-'throttled-mailpassword' => 'Nagpadala na ng isang paalalang panghudyat, nitong huling {{PLURAL:$1|oras|$1 oras}}.
-Para maiwasin ang pangaabuso, isang paalalang panghudyat lang ang ipapadala bawat {{PLURAL:$1|oras|$1 oras}}.',
+'eauthentsent' => 'Nagpadala ng isang email na pangkompirmasyon doon sa tinukoy na email address.
+Bago magpadala ng iba email sa akawnt, kailangan mong sundin ang mga tagubiling nasa loob ng email, para mapatunayang iyo talaga ang akawnt.',
+'throttled-mailpassword' => 'Nagpadala na ng isang paalalang pang-password, nitong huling {{PLURAL:$1|oras|$1 oras}}.
+Para maiwasin ang pangaabuso, isang paalalang pang-password lamang ang ipapadala bawat {{PLURAL:$1|oras|$1 oras}}.',
 'mailerror' => 'Kamalian sa pagpapadala ng liham: $1',
 'acct_creation_throttle_hit' => 'Ang mga panauhin sa wiking ito na gumagamit ng direksiyong IP mo ay nakalikha na ng {{PLURAL:$1|1 kuwenta|$1 kuwenta}} sa loob ng huling araw, na siyang pinakamataas na pinapahintulutan sa loob ng sakop ng panahong ito.
 Bilang kinalabasan, ang mga panauhing gumagamit ng ganitong direksiyong IP ay hindi na muna makakalikha ng anumang karagdagang kuwenta sa ngayon.',
-'emailauthenticated' => 'Napatunayan na ang iyong direksiyong e-liham sa $2 noong $3.',
-'emailnotauthenticated' => 'Hindi pa napapatunayan ang iyong direksiyong e-liham.
-Walang e-liham na ipapadala para sa anumang sumusunod na tampok na kasangkapang-katangian.',
+'emailauthenticated' => 'Napatunayan na ang iyong email address sa $2 noong $3.',
+'emailnotauthenticated' => 'Hindi pa napapatunayan ang iyong email address.
+Walang email na ipapadala para sa anumang sumusunod na mga tampok o features.',
 'noemailprefs' => 'Tumukoy ng isang direksiyong e-liham sa loob ng mga nais mo upang gumana ang mga kasangkapang-katangiang ito.',
 'emailconfirmlink' => 'Pakikompirma ang iyong direksiyong e-liham.',
 'invalidemailaddress' => 'Hindi matatanggap ang direksiyong e-liham na ito dahil tila mayroon itong maling anyo.
@@ -680,56 +696,71 @@ Dapat kang tumala at baguhin ang hudyat mo ngayon.
 
 Maaari mong huwag pansinin ang mensaheng ito, kung mali ang paglikha ng kuwentang ito.',
 'usernamehasherror' => 'Hindi maaaring maglaman ng mga panitik na pantadtad ang pangalan ng tagagamit',
-'login-throttled' => 'Masyadong marami ang ginawa mong kamakailan lang na mga pagsubok sa paglagdang papasok.
-Maghintay po muna bago subukan uli.',
+'login-throttled' => 'Masyadong madami ang kamakailan lamang mong pagsubok sa pag-login.
+Maghintay po muna ng $1 bago subukan uli.',
 'login-abort-generic' => 'Bigo ang paglagda mo - Pinigil',
 'loginlanguagelabel' => 'Wika: $1',
 'suspicious-userlogout' => "Tinanggihan ang inyong kahilingang umalis sa pagkalagda dahil tila ito ay ipinadala ng sirang pambasa-basa o apoderadong pambaon (''caching proxy'')",
+'createacct-another-realname-tip' => 'Hindi kinakailangan ang tunay na pangalan.
+Kung nais mo na ibigay ito, gagamitin ito para sa pagbibigay ng atribusyon para sa kanilang gawa.',
+'pt-login' => 'Mag-login',
+'pt-login-button' => 'Mag-login',
 'pt-createaccount' => 'Lumikha ng akawnt',
 'pt-userlogout' => 'Umalis sa pagkakatala',
 
 # Email sending
 'php-mail-error-unknown' => 'Hindi malamang kamalian sa tungkulin ng liham ng PHP ()',
 'user-mail-no-addy' => 'Sinubukang magpadala ng e-liham na walang tirahan na para sa e-liham.',
+'user-mail-no-body' => 'Sinubukan na magpadala ng email na walang laman o maikling laman.',
 
 # Change password dialog
-'changepassword' => 'Baguhin ang hudyat',
+'changepassword' => 'Baguhin ang password',
 'resetpass_announce' => 'Para sa ganap na pagtala, magtalaga ng panibagong password.',
 'resetpass_text' => '<!-- Magdagdag ng teksto rito -->',
-'resetpass_header' => 'Baguhin ang hudyat ng kuwenta',
-'oldpassword' => 'Lumang hudyat:',
-'newpassword' => 'Bagong hudyat:',
-'retypenew' => 'Ipasok muli ang bagong hudyat:',
-'resetpass_submit' => 'Itakda ang hudyat at lumagda',
-'changepassword-success' => 'Matagumpay na nabago ang iyong hudyat!  Inilalagda ka na ngayon...',
-'resetpass_forbidden' => 'Hindi mababago ang mga hudyat',
+'resetpass_header' => 'Baguhin ang password ng akawnt',
+'oldpassword' => 'Lumang password:',
+'newpassword' => 'Bagong password:',
+'retypenew' => 'Ipasok muli ang bagong password:',
+'resetpass_submit' => 'Itakda ang password at mag-login',
+'changepassword-success' => 'Matagumpay na nabago ang iyong password!',
+'changepassword-throttled' => 'Masyadong madami ang kamakailan lamang mong pagsubok sa pag-login.
+Maghintay po muna ng $1 bago subukan uli.',
+'resetpass_forbidden' => 'Hindi mababago ang mga password',
 'resetpass-no-info' => 'Nakalagda ka dapat para tuwirang mapuntahan ang pahina ito.',
-'resetpass-submit-loggedin' => 'Baguhin ang hudyat',
+'resetpass-submit-loggedin' => 'Baguhin ang password',
 'resetpass-submit-cancel' => 'Kanselahin',
-'resetpass-wrong-oldpass' => 'Hindi tanggap na pansamantala o pangkasalukuyang hudyat.
-Maaaring matagumpay mo nang nabago ang iyong hudyat o nakahiling na ng isang bagong pansamantalang hudyat.',
+'resetpass-wrong-oldpass' => 'Hindi balido na pansamantala o pangkasalukuyang password.
+Maaaring matagumpay mo nang nabago ang iyong password o nakahiling na ng isang bagong pansamantalang password.',
 'resetpass-recycled' => 'Ireset ang iyong password sa pamamagitan ng paggamit ng iba pa maliban sa iyong ginagamit sa kasalukuyan.',
 'resetpass-temp-emailed' => 'Nakapagtala sa pamamagitan ng pansamantalang email code.
 Para sa ganap na pagtatala, magtakda ng panibagong password dito:',
-'resetpass-temp-password' => 'Pansamantalang hudyat:',
-'resetpass-expired-soft' => 'Napaso na ang iyong password at kailangan ireset. Pumili ng bagong password o iklik ang cancel upang i-reset sa ibang pagkakataon.',
+'resetpass-temp-password' => 'Pansamantalang password:',
+'resetpass-abort-generic' => 'Inuurong sa pamamagitan ng isan extensyon ang pagpalit ng password.',
+'resetpass-expired' => 'Paso na ang iyong password. Pakipalit ng bagong password upang maka-login.',
+'resetpass-expired-soft' => 'Napaso na ang iyong password at kailangan i-reset. Pumili ng bagong password o i-klik ang "{{int:resetpass-submit-cancel}}" upang i-reset sa ibang pagkakataon.',
+'resetpass-validity-soft' => 'Hindi matanggap ang iyong password: $1
+
+Pumili ng bagong password ngayon, o i-klik ang "{{int:resetpass-submit-cancel}}" para i-reset ito sa ibang pagkakataon.',
 
 # Special:PasswordReset
-'passwordreset' => 'Muling pagtatakda ng hudyat',
-'passwordreset-legend' => 'Itakdang muli ang hudyat',
-'passwordreset-disabled' => 'Hindi pinagagana sa wiking ito ang muling mga pagtatakda ng hudyat.',
+'passwordreset' => 'Muling pagtatakda ng password',
+'passwordreset-text-one' => 'Ikumpleto ang form na ito upang makatanggap ng pansamantalang password sa pamamagitan ng email.',
+'passwordreset-text-many' => '{{PLURAL:$1|Ipasok sa isa sa mga field upang makatanggap ng isang pansamantalang password sa pamamagitan ng email.}}',
+'passwordreset-legend' => 'Itakdang muli ang password',
+'passwordreset-disabled' => 'Hindi pinagagana sa wiking ito ang muling mga pagtatakda ng password.',
+'passwordreset-emaildisabled' => 'Hindi pinagana ang email features sa wiking ito.',
 'passwordreset-username' => 'Pangalan ng tagagamit:',
 'passwordreset-domain' => 'Nasasakupan:',
 'passwordreset-capture' => 'Tingnan ang lumabas na e-liham?',
 'passwordreset-capture-help' => 'Kapag tsetsekan mo ang kahong ito, ang e-liham (may pansamantalang hudyat) ay ipapakita sa iyo at ipapadala rin sa tagagamit.',
 'passwordreset-email' => 'Direksiyong e-liham:',
 'passwordreset-emailtitle' => 'Mga detalye ng kuwenta sa {{SITENAME}}',
-'passwordreset-emailtext-ip' => 'Isang tao (marahil ay ikaw, mula sa direksiyong IP na $1) ang humiling ng isang paalala sa iyong mga detalye ng kuwenta para sa {{SITENAME}} ($4). Ang sumusunod na {{PLURAL:$3|kuwenta ng tagagamit ay|mga kuwenta ng tagagamit ay}} may kaugnayan sa direksiyong e-liham na ito:
+'passwordreset-emailtext-ip' => 'Isang tao (marahil ay ikaw, mula sa IP address na $1) ang humiling ng isang paalala sa iyong mga detalye ng kuwenta para sa {{SITENAME}} ($4). Ang sumusunod na {{PLURAL:$3|akawant ng tagagamit ay|mga akawnt ng tagagamit ay}} may kaugnayan sa email address na ito:
 
 $2
 
-{{PLURAL:$3|Ang pansamantalang hudyat na ito|Ang mga pansamantalang hudyat na ito}} ay mawawalan ng bisa sa loob ng {{PLURAL:$5|isang araw|$5 mga araw}}.
-Dapat kang lumagda at pumili ng isang bagong hudyat ngayon. Kung ibang tao ang gumawa ng kahilingang ito, o kung naalala mo na ang orihinal mong hudyat, at hindi mo na nais palitan ito, maaari mong huwag nang pansinin ang mensaheng ito at magpatuloy sa paggamit ng luma mong hudyat.',
+{{PLURAL:$3|Ang pansamantalang hudyat na ito|Ang mga pansamantalang hudyat na ito}} ay mawawalan ng bisa sa loob ng {{PLURAL:$5|isang araw|$5 araw}}.
+Dapat kang mag-login at pumili ng isang bagong password ngayon. Kung ibang tao ang gumawa ng kahilingang ito, o kung naalala mo na ang orihinal mong password, at hindi mo na nais palitan ito, maaari mong huwag nang pansinin ang mensaheng ito at magpatuloy sa paggamit ng luma mong password.',
 'passwordreset-emailtext-user' => 'Ang tagagamit na si $1 sa {{SITENAME}} ay humiling ng isang paalala ng iyong mga akawnt ng detalye para sa {{SITENAME}}
 ($4). Ang sumusunod na pangtagagamit na {{PLURAL:$3|akawnt ay|mga akawnt ay}} may kaugnayan sa tirahang ito ng e-liham:
 
@@ -738,7 +769,7 @@ $2
 {{PLURAL:$3|Ang pansamantalang hudyat na ito|Ang pansamantalang mga hudyat na ito}} mawawalan ng bias sa loob ng {{PLURAL:$5|isang araw|$5 mga araw}}.
 Dapat kang lumagda at pumili ng isang hudyat ngayon. Kung ibang tao ang gumawa ng kahilingang ito, o kung naalala mo na ang iyong orihinal na hudyat, at hindi mo na nais palitan pa ito, maaari mong huwag nang pansinin ang mensaheng ito at magpatuloy sa paggamit ng iyong lumang hudyat.',
 'passwordreset-emailelement' => 'Pangalan ng tagagamit: $1
-Pansamantalang hudyat: $2',
+Pansamantalang password: $2',
 'passwordreset-emailsent' => 'Naipadala na ang isang e-liham na pampaalala.',
 'passwordreset-emailsent-capture' => 'Naipadala na ang isang e-liham na paalala, na ipinapakita sa ibaba.',
 'passwordreset-emailerror-capture' => 'Nalikha na ang isang e-liham na paalala, na ipinapakita sa ibaba, subalit nabigo ang pagpapadala sa tagagamit: $1',
@@ -751,8 +782,14 @@ Pansamantalang hudyat: $2',
 'changeemail-oldemail' => 'Kasalukuyang direksiyong e-liham:',
 'changeemail-newemail' => 'Bagong direksiyong e-liham:',
 'changeemail-none' => '(wala)',
+'changeemail-password' => 'Ang iyong {{SITENAME}} password:',
 'changeemail-submit' => 'Baguhin ang e-liham',
 'changeemail-cancel' => 'Kanselahin',
+'changeemail-throttled' => 'Masyadong madami ang kamakailan lamang mong pagsubok sa pag-login.
+Maghintay po muna ng $1 bago subukan uli.',
+
+# Special:ResetTokens
+'resettokens' => 'I-reset ang mga token o susi',
 
 # Edit page toolbar
 'bold_sample' => 'Makapal na panitik',
@@ -833,11 +870,11 @@ Maaaring inilipat o ibinura ito habang tinitingnan mo ang pahina.',
 'loginreqtitle' => 'Paglagda/Pagtala Kailangan',
 'loginreqlink' => 'lumagda/tumala',
 'loginreqpagetext' => 'Kailangan mong $1 para matanaw ang ibang mga pahina.',
-'accmailtitle' => 'Ipinadala na ang hudyat.',
+'accmailtitle' => 'Ipinadala na ang password.',
 'accmailtext' => "Ipinadala na sa $2 ang isang hudyat na nilikha ng pagkakataon para kay [[User talk:$1|$1]].  Maaari itong baguhin sa pahinang ''[[Special:ChangePassword|palitan ng hudyat]]'' kapag lumagdang papasok.",
 'newarticle' => '(Bago)',
 'newarticletext' => "Sinundan mo ang isang kawing para sa isang pahinang hindi pa umiiral.
-Para likhain ang pahina, magsimulang magmakinilya sa loob ng kahong nasa ibaba (tingnan ang [[{{MediaWiki:Helppage}}|pahina ng tulong]] para sa mas maraming kabatiran).
+Para likhain ang pahina, magsimulang magmakinilya sa loob ng kahong nasa ibaba (tingnan ang [$1 pahina ng tulong] para sa mas maraming kabatiran).
 Kung napunta ka rito dahil sa pagkakamali, pakipindot ang pinduntang '''balik''' ('''''back''''') ng iyong pantingin-tingin (''browser'').",
 'anontalkpagetext' => "Ito ang pahinang usapan para sa isang hindi nakikilalang tagagamit na hindi pa lumilikha ng kuwenta, o kaya hindi ito ginagamit.
 Kaya't kinailangan naming gamitin ang may bilang na direksiyonng IP para makilala siya.
@@ -850,7 +887,7 @@ o [{{fullurl:{{FULLPAGENAME}}|action=edit}} baguhin ang pahinang ito]</span>.',
 'noarticletext-nopermission' => 'Kasalukuyang walang teksto sa pahinang ito.
 Maaari mong [[Special:Search/{{PAGENAME}}|hanapin ang pamagat ng pahinang ito]] sa ibang mga pahina,
 o <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} maghanap sa kaugnay na mga talaan]</span>.',
-'missing-revision' => 'Hindi umiiral ang rebisyong #$1 ng pahinang napangalanang "{{PAGENAME}}".
+'missing-revision' => 'Hindi umiiral ang rebisyong #$1 ng pahinang napangalanang "{{FULLPAGENAME}}".
 
 Karaniwang itong dulot ng pagsunod sa isang wala na sa panahong kawing ng kasaysayan na papunta sa isang pahinang nabura na.
 Matatagpuan ang mga detalye sa loob ng [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} talaan ng pagbura].',
@@ -962,6 +999,7 @@ Walang ibinigay na paliwanag.',
 Tila binura na ito.',
 'edit-conflict' => 'Alitan sa pagbabago.',
 'edit-no-change' => 'Binalewala ang pagbabago mo, dahil walang pagbabagong ginawa sa teksto.',
+'postedit-confirmation' => 'Naitala na ang iyong pagbabago.',
 'edit-already-exists' => 'Hindi makalikha ng isang bagong pahina.
 Umiiral na ito.',
 'defaultmessagetext' => 'Nakatakdang teksto ng mensahe',
@@ -1076,7 +1114,6 @@ Makikita mo ang pagkakaibang ito; matatagpuan ang mga detalye sa [{{fullurl:{{#S
 'revdelete-no-file' => 'Hindi umiiral ang tinutukoy na talaksan.',
 'revdelete-show-file-confirm' => 'Nakatitiyak ka bang nais mong tanawin ang isang binurang pagbabago ng talaksang "<nowiki>$1</nowiki>" mula $2 noong $3?',
 'revdelete-show-file-submit' => 'Oo',
-'revdelete-selected' => "{{PLURAL:$2|Piniling|Mga piniling}} pagbabago ng '''$1:'''",
 'logdelete-selected' => '{{PLURAL:$1|Piniling tala ng pangyayari|Piniling tala ng mga pangyayari}}:',
 'revdelete-confirm' => 'Pakitiyak po na nais mo itong gawin, na nauunawaan mo ang mga kahihinatnan, at na ginagawa mo ito alinsunod sa [[{{MediaWiki:Policy-url}}|patakaran]].',
 'revdelete-suppress-text' => "Ang paglilingid ay dapat na gamitin '''lamang''' para sa sumusunod na mga pagkakataon:
@@ -1247,7 +1284,7 @@ Matatagpuan ang mga detalye sa loob ng [{{fullurl:{{#Special:Log}}/delete|page={
 'prefs-watchlist-edits-max' => 'Pinakamataas na bilang: 1000',
 'prefs-watchlist-token' => 'Balap ng talaan ng mga binabantayan:',
 'prefs-misc' => 'Bala-balaki',
-'prefs-resetpass' => 'Baguhin ang hudyat',
+'prefs-resetpass' => 'Baguhin ang password',
 'prefs-changeemail' => 'Baguhin ang direksiyong e-liham',
 'prefs-setemail' => 'Magtakda ng direksiyong e-liham',
 'prefs-email' => 'Mga pagpipilian para sa e-liham',
@@ -1320,7 +1357,7 @@ Isasapubliko ang impormasyong ito.',
 'email' => 'E-liham',
 'prefs-help-realname' => "Opsyonal ('di-talaga kailangan) ang tunay na pangalan.
 Kung pipiliin mong ibigay ito, gagamitin ito para mabigyan ka ng pagkilala para iyong mga ginawa.",
-'prefs-help-email' => 'Hindi talaga kailangang may tirahan ng e-liham, subalit kailangan para sa muling pagtatakda ng hudyat, kung makalimutan mo ang hudyat mo.',
+'prefs-help-email' => 'Hindi kailangang may email address, subalit kailangan ito para sa muling pagtatakda ng password, kung makalimutan mo ang password mo.',
 'prefs-help-email-others' => 'Mapipili mo rin na makipag-ugnayan sa iyo ang iba sa pamamagitan ng iyong pahina ng tagagamit o usapan na hindi kailangang ilantad ang katauhan mo.',
 'prefs-help-email-required' => 'Kailangan ang direksiyong e-liham.',
 'prefs-info' => 'Saligang kabatiran',
@@ -1329,6 +1366,7 @@ Kung pipiliin mong ibigay ito, gagamitin ito para mabigyan ka ng pagkilala para
 'prefs-dateformat' => 'Anyo ng petsa',
 'prefs-timeoffset' => 'Pagtatama ng oras',
 'prefs-advancedediting' => 'Masulong na mga mapagpipilian',
+'prefs-preview' => 'Paunang tingin',
 'prefs-advancedrc' => 'Masulong na mga mapagpipilian',
 'prefs-advancedrendering' => 'Masulong na mga mapagpipilian',
 'prefs-advancedsearchoptions' => 'Masulong na mga mapagpipilian',
@@ -1336,6 +1374,7 @@ Kung pipiliin mong ibigay ito, gagamitin ito para mabigyan ka ng pagkilala para
 'prefs-displayrc' => 'Ipakita ang mga pagpipilian',
 'prefs-displaysearchoptions' => 'Ipakita ang mga pagpipilian',
 'prefs-displaywatchlist' => 'Ipakita ang mga pagpipilian',
+'prefs-tokenwatchlist' => 'Token o susi',
 'prefs-diffs' => 'Mga pagkakaiba',
 
 # User preference: email validation using jQuery
@@ -1449,7 +1488,7 @@ Kung pipiliin mong ibigay ito, gagamitin ito para mabigyan ka ng pagkilala para
 'right-siteadmin' => 'Ikandado at alisin ang pagkakakandado ng kalipunan ng dato',
 'right-override-export-depth' => 'Iluwas ang mga pahina na kabilang ang mga pahinang nakakawing magpahanggang sa isang lalim na 5',
 'right-sendemail' => 'Magpadala ng e-liham sa ibang mga tagagamit',
-'right-passwordreset' => 'Tingnan ang mga e-liham ng muling pagtatakda ng hudyat',
+'right-passwordreset' => 'Tingnan ang mga email ng muling pagtatakda ng password',
 
 # Special:Log/newusers
 'newuserlogpage' => 'Talaan ng paglikha ng tagagamit',
@@ -1510,11 +1549,23 @@ Kung pipiliin mong ibigay ito, gagamitin ito para mabigyan ka ng pagkilala para
 'rcnotefrom' => "Nasa ibaba ang mga pagbabago mula pa noong '''$2''' (ipinapakita ang magpahanggang sa '''$1''').",
 'rclistfrom' => 'Ipakita ang bagong mga pagbabago simula sa $1',
 'rcshowhideminor' => '$1 maliliit na mga pagbabago',
+'rcshowhideminor-show' => 'Ipakita',
+'rcshowhideminor-hide' => 'Itago',
 'rcshowhidebots' => "$1 mga ''bot''",
-'rcshowhideliu' => '$1 nakalagdang mga tagagamit',
+'rcshowhidebots-show' => 'Ipakita',
+'rcshowhidebots-hide' => 'Itago',
+'rcshowhideliu' => '$1 nakatalang mga tagagamit',
+'rcshowhideliu-show' => 'Ipakita',
+'rcshowhideliu-hide' => 'Itago',
 'rcshowhideanons' => '$1 hindi kilalang mga tagagamit',
+'rcshowhideanons-show' => 'Ipakita',
+'rcshowhideanons-hide' => 'Itago',
 'rcshowhidepatr' => '$1 napatrolyang mga pagbabago',
+'rcshowhidepatr-show' => 'Ipakita',
+'rcshowhidepatr-hide' => 'Itago',
 'rcshowhidemine' => '$1 mga pagbabago ko',
+'rcshowhidemine-show' => 'Ipakita',
+'rcshowhidemine-hide' => 'Itago',
 'rclinks' => 'Ipakita ang huling $1 mga pagbabago sa loob ng huling $2 mga araw<br />$3',
 'diff' => 'pagkakaiba',
 'hist' => 'kasaysayan',
@@ -1530,7 +1581,7 @@ Kung pipiliin mong ibigay ito, gagamitin ito para mabigyan ka ng pagkilala para
 'rc-change-size' => '$1',
 'rc-change-size-new' => '$1 {{PLURAL:$1|byte|mga byte}} pagkaraan ng pagbabago',
 'newsectionsummary' => '/* $1 */ bagong seksyon',
-'rc-enhanced-expand' => 'Ipakita ang mga detalye (kailangan ng JavaScript)',
+'rc-enhanced-expand' => 'Ipakita ang mga detalye',
 'rc-enhanced-hide' => 'Itago ang mga detalye',
 'rc-old-title' => 'dating nalikha bilang "$1"',
 
@@ -1549,8 +1600,7 @@ Kung pipiliin mong ibigay ito, gagamitin ito para mabigyan ka ng pagkilala para
 'reuploaddesc' => 'Kanselahin/Iurong ang pagkarga at magbalik sa pormularyo ng pagkakarga',
 'upload-tryagain' => 'Ipasa ang binagong paglalarawan ng talaksan',
 'uploadnologin' => 'Hindi nakalagda',
-'uploadnologintext' => 'Dapat ikaw ay [[Special:UserLogin|nakalagda]]
-upang makapagkarga ng talaksan.',
+'uploadnologintext' => '$1 upang makapag-upload ng files.',
 'upload_directory_missing' => 'Nawawala ang direktoryo ng pagkarga ($1) at hindi na mailikha ng webserver.',
 'upload_directory_read_only' => 'Ang direktoryo ng pagkarga ($1) ay hindi maisulat ng webserver.',
 'uploaderror' => 'Kamalian sa pagkarga',
@@ -1807,6 +1857,8 @@ Kapag sinala ng tagagamit, tanging mga talaksan lang kung saan nagkarga ang taga
 'listfiles_size' => 'Sukat',
 'listfiles_description' => 'Paglalarawan',
 'listfiles_count' => 'Mga bersiyon',
+'listfiles-latestversion-yes' => 'Oo',
+'listfiles-latestversion-no' => 'Hindi',
 
 # File description page
 'file-anchor-link' => 'Talaksan',
@@ -1903,6 +1955,9 @@ Marahil ay naisa mong baguhin ang paglalarawan doon sa [$2 pahina ng paglalarawa
 'randompage' => 'Pahinang walang-pili',
 'randompage-nopages' => 'Walang mga pahina sa sumusunod na {{PLURAL:$2|ngalan-espasyo|mga ngalan-espasyo}}: $1.',
 
+# Random page in category
+'randomincategory-selectcategory-submit' => 'Gawin',
+
 # Random redirect
 'randomredirect' => 'Pagkargang walang-pili',
 'randomredirect-nopages' => 'Walang mga pagkarga sa ngalan-espasyong "$1".',
@@ -1991,6 +2046,10 @@ Nasugpo na ang mga ipinasok na <del>inekisan</del>.',
 'protectedpages-indef' => 'Mga walang katiyakang proteksyon lamang',
 'protectedpages-cascade' => 'Baita-baitang na mga panananggalang lamang',
 'protectedpagesempty' => 'Sa kasalukuyan, walang mga pahinang nakasanggalang na may ganitong mga parametro.',
+'protectedpages-page' => 'Pahina',
+'protectedpages-reason' => 'Dahilan',
+'protectedpages-unknown-timestamp' => 'Hindi alam',
+'protectedpages-unknown-performer' => 'Hindi alam na tagagamit o user',
 'protectedtitles' => 'Nakasanggalang na mga pamagat',
 'protectedtitlesempty' => 'Walang pamagat ang kasalukuyang nakaprotekta sa binigay na parametro.',
 'listusers' => 'Tala ng tagagamit',
@@ -2153,7 +2212,7 @@ Ang ipinasok mong direksiyong e-liham sa [[Special:Preferences|iyong mga kagustu
 'usermessage-template' => 'MediaWiki:UserMessage',
 
 # Watchlist
-'watchlist' => 'Mga binabantayan ko',
+'watchlist' => 'Talaan ng mga binabantayan',
 'mywatchlist' => 'Bantayan',
 'watchlistfor2' => 'Para sa $1 $2',
 'nowatchlist' => 'Wala kang pahinang binabantayan.',
@@ -3865,7 +3924,7 @@ Dapat na nakatanggap ka ng [{{SERVER}}{{SCRIPTPATH}}/COPYING isang sipi ng Pangk
 * <span class="mw-specialpagerestricted">Pinaghihigpitang natatanging mga pahina.</span>',
 'specialpages-group-maintenance' => 'Mga pagpapanatiling ulat',
 'specialpages-group-other' => 'Iba pang natatanging mga pahina',
-'specialpages-group-login' => 'Lumagda / lumikha ng kuwenta',
+'specialpages-group-login' => 'Mag-login / lumikha ng akawnt',
 'specialpages-group-changes' => 'Mga huling binago at mga tala',
 'specialpages-group-media' => 'Mga ulat ng midya at mga pagkarga',
 'specialpages-group-users' => 'Mga tagagamit at mga karapatan',
index 0088bad..3dbe1c0 100644 (file)
@@ -346,7 +346,6 @@ $messages = array(
 'disclaimers' => 'Çe məsuliyyətiku imtino.',
 'disclaimerpage' => 'Project:Дејни бә гиј ныгәтеј',
 'edithelp' => 'Арајиш бо редактә кардеј',
-'helppage' => 'Help:Мындәриҹот',
 'mainpage' => 'Əsosə səhifə',
 'mainpage-description' => 'Әсосә сәһифә',
 'policy-url' => 'Project:Ғајдон',
@@ -487,7 +486,7 @@ $messages = array(
 'loginreqlink' => 'ыштәни едаштеј',
 'newarticle' => '(Нујә)',
 'newarticletext' => 'Шымә давардијон де сәбони бә сәһифә, әмма жыго сәһифә ни.
-Бо сәһифә офәјеј мәтн бынывыштән жиннә пенҹәдә (мыффәссәл дијә быкән [[{{MediaWiki:Helppage}}|араијшә сәһифә]]).
+Бо сәһифә офәјеј мәтн бынывыштән жиннә пенҹәдә (мыффәссәл дијә быкән [$1 араијшә сәһифә]).
 Гирәм шымә ијо де сәһви бешијон, һиччекәни ыштә браузери "думо" егәтән.',
 'noarticletext' => "Есәт бы сәһифәдә мәтн ни.
 Шымә бәзынешон [[Special:Search/{{PAGENAME}}|пәјдо кардеј конҹо ым ном һесте]] бә ҹо мәғолонәдә,
index 01b04a6..b1d0a36 100644 (file)
@@ -349,7 +349,7 @@ Kapau naʻe kole ia ʻe he tokotaha kehe, pea ʻosi hoʻo manatuʻi ʻo e leatap
 'accmailtitle' => 'ʻOsi ʻave ʻa e leatapu',
 'accmailtext' => "ʻOsi ʻave ʻa e leatapu maʻa [[User talk:$1|$1]] ki he $2. Te ke lava liliu ia ʻi he ''[[Special:ChangePassword|peesi liliu leatapu]]''.",
 'newarticle' => '(Foʻou)',
-'newarticletext' => "Naʻa ke muimui ha fehokotaki ki he peesi ʻoku teʻeki fakatupu. Kapau te ke fiefakatupi he pēsí ni, kamata hoʻo tohi ʻi he puha ʻi lalo. (Vakai ki he [[{{MediaWiki:Helppage}}|tokoni]] mo hano ongoongo lahi ange.) Kapau ʻoku hala pē heni, lomiʻi pē he meʻa-lolomi 'ki mui' ʻo ho palausa.",
+'newarticletext' => "Naʻa ke muimui ha fehokotaki ki he peesi ʻoku teʻeki fakatupu. Kapau te ke fiefakatupi he pēsí ni, kamata hoʻo tohi ʻi he puha ʻi lalo. (Vakai ki he [$1 tokoni] mo hano ongoongo lahi ange.) Kapau ʻoku hala pē heni, lomiʻi pē he meʻa-lolomi 'ki mui' ʻo ho palausa.",
 'anontalkpagetext' => "----''Ko e peesi ʻeni ko e peesi alea ia maʻa e ʻetita taʻehingoa teʻeki ʻene fakatupu ʻo e tohi kau-ki-ai pe ʻoku ʻikai ngāueʻaki mo ia. Ko ia ai ʻoku fakapapauʻi ia ʻe he tuʻasila IP fakafika pē. Ka ʻe lava ʻoku vahevahe ʻa e tuʻasila IP pehē ʻe he kau ʻetita tokolahi. Kapau ko koe ko e ʻetita taʻehingoa, ʻoku ke tui ko e ngaahi fakamatala ʻi heni ʻoku ʻikai maʻau, mahalo pē ʻoku sai ange ke ke [[Special:UserLogin|fai ha tohi kau-ki-ai, pe kau-ki-ai]] he taimí ni pea fakaʻehiʻehi ha ngaahi meʻafihi ē ʻi he kahaʻu.''",
 'noarticletext' => 'Ko e pēsi ni, ʻoku ʻikai haʻane tohi ʻi ai he taimi ni. ʻE lava koe ʻo [[Special:Search/{{PAGENAME}}|kumi ki heʻene hingoa]] ʻi ha ngaahi peesi ʻe taha, pe [{{fullurl:{{FULLPAGENAME}}|action=edit}} ʻetita ʻi ai.]',
 'clearyourcache' => "'''Tokanga''', ʻosi he haofaki e peesi, mahalo pē ʻoku pau te ke fakaʻatā ʻa e fafaʻo ʻo ho palausa, naʻa ʻikai te ke sio ʻa e paaki foʻou.",
index cf184ee..e99826a 100644 (file)
@@ -50,6 +50,7 @@
  * @author Rhinestorm
  * @author Runningfridgesrule
  * @author Sadrettin
+ * @author SiLveRLeaD
  * @author Srhat
  * @author Stultiwikia
  * @author Suelnur
@@ -605,7 +606,6 @@ $1',
 'disclaimers' => 'Sorumluluk reddi',
 'disclaimerpage' => 'Project:Genel sorumluluk reddi',
 'edithelp' => 'Nasıl değiştirilir?',
-'helppage' => 'Help:İçindekiler',
 'mainpage' => 'Ana Sayfa',
 'mainpage-description' => 'Ana sayfa',
 'policy-url' => 'Project:İlkeler',
@@ -802,6 +802,7 @@ Tarayıcınızın önbelleğini temizleyinceye kadar bazı sayfalarda, oturumunu
 '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.
 Başka bir kullanıcı olarak oturum açmak için aşağıdaki formu kullanın.',
 'userlogin-createanother' => 'Başka bir hesap oluşturun',
@@ -892,6 +893,7 @@ Devam etmeden önce $1 bekleyin.',
 'createacct-another-realname-tip' => 'Gerçek adınız isteğe bağlıdır.
 Eğer gerçek adınızı belirtirseniz, çalışmalarınıza atıfta bulunulması için de kullanılacaktır.',
 'pt-login' => 'Giriş yap',
+'pt-login-button' => 'Oturum aç',
 'pt-createaccount' => 'Hesap oluştur',
 'pt-userlogout' => 'Oturumu kapat',
 
@@ -1066,7 +1068,7 @@ Siz sayfayı görüntülerken taşınmış veya silinmiş olabilir.',
 Bu yeni hesap için parola, giriş yapıldıktan sonra ''[[Special:ChangePassword|parolayı değiştir]]'' bölümünde değiştirilebilir.",
 'newarticle' => '(Yeni)',
 'newarticletext' => "Henüz varolmayan bir sayfaya konulmuş bir bağlantıya tıkladınız.
-Sayfayı oluşturmak için aşağıdaki metin kutusunu kullanın. ([[{{MediaWiki:Helppage}}|yardım sayfasına]] bakınız).
+Sayfayı oluşturmak için aşağıdaki metin kutusunu kullanın. ([$1 yardım sayfasına] bakınız).
 Buraya yanlışlıkla geldiyseniz tarayıcınızın '''geri''' tuşuna tıklayın.",
 'anontalkpagetext' => "----''Bu sayfa henüz bir kullanıcı hesabı oluşturmamış veya hesabını kullanmayan bir anonim kullanıcının mesaj sayfasıdır. Bu nedenle bu kişiyi belirtmek için rakamsal IP adresini kullanmak zorundayız. Bu gibi IP adresleri birçok kullanıcı tarafından paylaşılabilir. Eğer siz de bir anonim kullanıcıysanız ve size sizin ilginiz olmayan iletiler geliyorsa, lütfen diğer anonim kullanıcılarla olabilecek olan karmaşayı önlemek için [[Special:UserLogin/signup|bir hesap edinin]] veya [[Special:UserLogin|oturum açın]].''",
 'noarticletext' => 'Bu sayfa şu anda boştur.
@@ -1075,7 +1077,7 @@ Bu başlığı [[Special:Search/{{PAGENAME}}|diğer sayfalarda arayabilir]],
 ya da bu sayfayı [{{fullurl:{{FULLPAGENAME}}|action=edit}} değiştirebilirsiniz]</span>.',
 'noarticletext-nopermission' => 'Bu sayfa şu anda boştur. 
 Bu başlığı [[Special:Search/{{PAGENAME}}|diğer sayfalarda arayabilir]] ya da <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} ilgili kayıtları tarayabilirsiniz].</span>',
-'missing-revision' => '"{{PAGENAME}}" sayfasının #$1 sürümü yok.
+'missing-revision' => '"{{FULLPAGENAME}}" sayfasının #$1 sürümü yok.
 
 Bu duruma genellikle silinmiş bir sayfaya eski tarihli bir bağlantının takip edilmesi neden olur.
 
@@ -1303,8 +1305,7 @@ Bir hizmetli olarak bu değişikliği görebilirsiniz; [{{fullurl:{{#Special:Log
 'revdelete-no-file' => 'Belirtilen dosya mevcut değil.',
 'revdelete-show-file-confirm' => '"<nowiki>$1</nowiki>" dosyasının $2 $3 tarihli silinmiş bir revizyonunu görmek istediğinize emin misiniz?',
 'revdelete-show-file-submit' => 'Evet',
-'revdelete-selected' => "'''[[:$1]] sayfasının {{PLURAL:$2|seçili değişikliği|seçili değişiklikleri}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Seçili kayıt olayı|Seçili kayıt olayları}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Seçili kayıt olayı|Seçili kayıt olayları}}:',
 'revdelete-confirm' => 'Lütfen, bunu yapmak istediğinizi , sonuçlarını anladığınızı, ve bunu [[{{MediaWiki:Policy-url}}|ilkelere]] göre yapıyor olduğunuzu onaylayın.',
 'revdelete-suppress-text' => "Saklama '''sadece''' aşağıdaki durumlarda kullanılmalıdır:
 * Muhtemel iftira niteliğindeki bilgi
@@ -2164,6 +2165,9 @@ Dosyanın açıklama sayfasında değişiklik yapmak için ilgili sayfaya [$2 bu
 # List redirects
 'listredirects' => 'Yönlendirmeleri listele',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Kopyası bulunan dosyalar listesi',
+
 # Unused templates
 'unusedtemplates' => 'Kullanılmayan şablonlar',
 'unusedtemplatestext' => 'Bu sayfa, {{ns:template}} alan adında bulunan ve diğer sayfalara eklenmemiş olan sayfaları listeler. Şablonlara olan diğer bağlantıları da kontrol etmeden silmeyiniz.',
index bd6f6a4..d717911 100644 (file)
@@ -167,7 +167,6 @@ $messages = array(
 'disclaimers' => 'Disclaimers',
 'disclaimerpage' => 'Project: Disclaimer gawonoyo',
 'edithelp' => 'Editing help',
-'helppage' => 'Help: Ḥbişoṭo',
 'mainpage' => 'Faṭo rişoyto',
 'mainpage-description' => 'Faṭo rişoyto',
 'portal' => 'Portal diJama³a',
@@ -301,7 +300,7 @@ uIP-Adresayḍux gmikṭaw buMaktabzabno diFaṭaṭe. Kul Noşo kibe ḥozele u
 'loginreqpagetext' => 'Glozım $1 qanna dqudrat ḥozat Faṭoṭe ḥrene.',
 'newarticle' => '(Ḥaṭo)',
 'newarticletext' => "You have followed a link to a page that does not exist yet.
-To create the page, start typing in the box below (see the [[{{MediaWiki:Helppage}}|help page]] for more info).
+To create the page, start typing in the box below (see the [$1 help page] for more info).
 If you are here by mistake, click your browser's '''back''' button.",
 'noarticletext' => 'There is currently no text in this page.
 You can [[Special:Search/{{PAGENAME}}|search for this page title]] in other pages,
index 38f405f..6cd56c4 100644 (file)
@@ -220,7 +220,6 @@ $messages = array(
 'disclaimers' => 'Swi alanandzu',
 'disclaimerpage' => 'Project:Swithsuxa nadzu hikuangara',
 'edithelp' => 'Mpfuno hi ta mindzulamiso',
-'helppage' => 'Help:Leswinga ndzeni',
 'mainpage' => 'Tlukankulu',
 'mainpage-description' => 'Tluka-Nkulu',
 'policy-url' => 'Project:Policy',
@@ -403,7 +402,7 @@ Tsundzuka leswaku matluka man'wana mangaha komba onge upfule unghena eka wiki, l
 Adirese ya khompuyuta ya wena ya IP yita tsariwa eka matimu ya ku lulamisiwa ka tluka leri.",
 'newarticle' => '(yintswa)',
 'newarticletext' => "Ulandzele xikhwekerisi lexi kombaka tluka leringasi tsariwaka.
-Leswaku u tumbuluxa tluka leri, tsala eka bokisi leringa e hansi (Nkambe unga ye eka [[{{MediaWiki:Helppage}}|tluka ra mpfuno]] kukuma vuxokoxoko lebyi engetelekeke).
+Leswaku u tumbuluxa tluka leri, tsala eka bokisi leringa e hansi (Nkambe unga ye eka [$1 tluka ra mpfuno] kukuma vuxokoxoko lebyi engetelekeke).
 Loko ufike eka tluka leri hixihoxo, thlava bhatheni leyinge '''thlelela'''.",
 'noarticletext' => 'Kuhava matsalwa eka tluka leri.
 Unga [[Special:Search/{{PAGENAME}}|lavalava nhlokomhaka ya tluka leri]] eka matluka man\'wana,
index 7fa59dd..fbc547d 100644 (file)
@@ -459,7 +459,6 @@ $1',
 'disclaimers' => 'Җаваплылыктан баш тарту',
 'disclaimerpage' => 'Project:Җаваплылыктан баш тарту',
 'edithelp' => 'Үзгәртү буенча ярдәм',
-'helppage' => 'Help:Эчтәлек',
 'mainpage' => 'Баш бит',
 'mainpage-description' => 'Баш бит',
 'policy-url' => 'Project:Кагыйдәләр',
@@ -849,7 +848,7 @@ $2
 Сайтка кергәч сез ''[[Special:ChangePassword|серсүзегезне үзгәртә аласыз]]''.",
 'newarticle' => '(Яңа)',
 'newarticletext' => "Сез әлегә язылмаган биткә кердегез.
-Яңа бит ясау өчен астагы тәрәзәдә мәкалә текстын җыегыз ([[{{MediaWiki:Helppage}}|ярдәм битен]] карый аласыз).
+Яңа бит ясау өчен астагы тәрәзәдә мәкалә текстын җыегыз ([$1 ярдәм битен] карый аласыз).
 Әгәр сез бу биткә ялгышлык белән эләккән булсагыз, браузерыгызның '''артка''' төймәсенә басыгыз.",
 'anontalkpagetext' => "----''Бу бәхәс бите системада теркәлмәгән яисә үз исеме белән кермәгән кулланучыныкы.
 Аны тану өчен IP адресы файдаланыла.
@@ -1065,8 +1064,7 @@ $3 күрсәткән сәбәп: ''$2''",
 'revdelete-no-file' => 'Бу файл юк.',
 'revdelete-show-file-confirm' => 'Сез чыннан да «<nowiki>$1</nowiki>» файлының бетерелгән  $2, $3 версиясен карарга телисезме??',
 'revdelete-show-file-submit' => 'Әйе',
-'revdelete-selected' => "'''[[:$1]] битенең {{PLURAL:$2|1=Сайланган юрама|сайланган юрамалары}}:'''",
-'logdelete-selected' => "'''Журналның {{PLURAL:$1|1=Сайланган язма|сайланган язмалары}} :'''",
+'logdelete-selected' => 'Журналның {{PLURAL:$1|1=Сайланган язма|сайланган язмалары}} :',
 'revdelete-legend' => 'Чикләүләр урнаштыр:',
 'revdelete-hide-text' => 'Битнең бу юрамасы текстын яшер',
 'revdelete-hide-image' => 'Файл эчендәгеләрне качыр',
@@ -1356,7 +1354,7 @@ $1",
 'rcshowhidebots' => 'ботларны $1',
 'rcshowhidebots-show' => 'күрсәт',
 'rcshowhidebots-hide' => 'яшер',
-'rcshowhideliu' => 'Теркәлгән кулланучыларны $1',
+'rcshowhideliu' => 'теркәлгән кулланучыларны $1',
 'rcshowhideliu-show' => 'күрсәт',
 'rcshowhideliu-hide' => 'яшер',
 'rcshowhideanons' => 'кермәгән кулланучыларны $1',
index ca11cb9..3a2bbf5 100644 (file)
@@ -320,7 +320,6 @@ $1',
 'disclaimers' => 'Cawaplılıqtan baş tartu',
 'disclaimerpage' => 'Project:Cawaplılıqtan baş tartu',
 'edithelp' => 'Üzgärtü buyınça yärdäm',
-'helppage' => 'Help:Eçtälek',
 'mainpage' => 'Baş bit',
 'mainpage-description' => 'Baş bit',
 'policy-url' => 'Project:Qäğidälär',
@@ -620,7 +619,7 @@ Sez bu säxifäne qarağanda ul beterelä aldı.',
 Saytqa kergäç sez ''[[Special:ChangePassword|sersüzegezne üzgärtä alasız]]''.",
 'newarticle' => '(Yaña)',
 'newarticletext' => "Sez älegä yazılmağan bitkä kerdegez.
-Yaña bit yasaw öçen astağı täräzädä mäqälä tekstın cıyığız ([[{{MediaWiki:Helppage}}|yärdäm biten]] qarıy alasız).
+Yaña bit yasaw öçen astağı täräzädä mäqälä tekstın cıyığız ([$1 yärdäm biten] qarıy alasız).
 Ägär sez bu bitkä yalğışlıq belän eläkkän bulsağız, brauzerığıznıñ '''artqa''' töymäsenä basığız.",
 'anontalkpagetext' => "----''Bu bäxäs bite sistemada terkälmägän yäisä üz iseme belän kermägän qullanuçınıqı.
 Anı tanu öçen IP adresı faydalanıla.
index 4038be4..5174ca1 100644 (file)
@@ -302,7 +302,6 @@ $messages = array(
 'disclaimers' => 'Ажыглаар харысаалгазын чөрчүүрү (ойталаары)',
 'disclaimerpage' => 'Project:Ажыглаар харысаалгазын ойталаары',
 'edithelp' => 'Эдеринге дуза',
-'helppage' => 'Help:Допчузу',
 'mainpage' => 'Кол Арын',
 'mainpage-description' => 'Кол Арын',
 'policy-url' => 'Project:Чурум',
@@ -490,7 +489,7 @@ $messages = array(
 The password for this new account can be changed on the ''[[Special:ChangePassword|change password]]'' page upon logging in.",
 'newarticle' => '(Чаа)',
 'newarticletext' => 'Амдыызында чаяатынмаан арынче шөлүглеп шилчий бердиңер.
-Ону чаяарда адакы көзенекке сөзүглелден таналап киириңер ([[{{MediaWiki:Helppage}}|тайылбыр арынын]] тода көрүңер).. 
+Ону чаяарда адакы көзенекке сөзүглелден таналап киириңер ([$1 тайылбыр арынын] тода көрүңер).. 
 Маңаа алдаг аайы-биле шилчий берген болзуңарза, браузериңерниң "дедир"  деп таназын базыптыңар.',
 'noarticletext' => "Амдыызында ук арында сөзүглел чок.
 Ол дилеп турар [[Special:Search/{{PAGENAME}}|арыныңар дугайында өске чүүлдерге бижээнин тып аап]] болур силер,
index 2f0b195..60cc324 100644 (file)
@@ -297,7 +297,6 @@ $1',
 'disclaimers' => 'ئاگاھلاندۇرۇشلار',
 'disclaimerpage' => 'Project:ئومۇمىي ئاگاھلاندۇرۇش',
 'edithelp' => 'تەھرىرلەش ياردىمى',
-'helppage' => 'Help:مەزمۇنلار',
 'mainpage' => 'باش بەت',
 'mainpage-description' => 'باش بەت',
 'policy-url' => 'Project:تاكتىكا',
@@ -796,7 +795,7 @@ $1 ساقلاپ، ئاندىن قايتا سىناڭ.',
 يېڭى ھېساباتقا قۇرغان ئىمنى تىزىمغا كىرىپ''[[Special:ChangePassword|ئىم ئۆزگەرت]]'' بېتىدىن ئۆزگەرتەلەيسىز.",
 'newarticle' => '(يېڭى)',
 'newarticletext' => 'سىز تېخى قۇرۇلمىغان بەتكە كىردىڭىز.
- بۇ بەتنى قۇرسىڭىز، تۆۋەندىكى تەھرىرلەش رامكىسىغا مەزمۇن كىرگۈزۈڭ(تەپسىلاتىنى  [[{{MediaWiki:Helppage}}|ياردەم بېتى]]دىن كۆرۈڭ)',
+ بۇ بەتنى قۇرسىڭىز، تۆۋەندىكى تەھرىرلەش رامكىسىغا مەزمۇن كىرگۈزۈڭ(تەپسىلاتىنى  [$1 ياردەم بېتى]دىن كۆرۈڭ)',
 'anontalkpagetext' => "----''بۇ تېخى ھېسابات قۇرمىغان ئاتسىز ئىشلەتكۈچىنىڭ مۇنازىرە بېتى ياكى ئۇنى ئىشلەتمەڭ..
 بىز ئۇنىڭ بىلەن پەقەت IP ئادرېسى بىلەنلا ئالاقە قىلالايمىز..
 بۇ خىل IP ئادرېسنى بىر قانچە ئىشلەتكۈچى ئىشلىتىشى ئورتاق ئىشلىتىشى مۇمكىن.
@@ -807,7 +806,7 @@ $1 ساقلاپ، ئاندىن قايتا سىناڭ.',
 [{{fullurl:{{FULLPAGENAME}}|action=edit}} بۇ بەتنى تەھرىرلىيەلەيسىز]</span>',
 'noarticletext-nopermission' => 'بۇ بەتتە ھازىرچە مەزمۇن يوق.
  سىز باشقا بەتتە [[Special:Search/{{PAGENAME}}|بۇ بەتنىڭ ماۋزۇسىنى ئىزدىيەلەيسىز]] ياكى <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}}] مۇناسىۋەتلىك خاتىرىسىنى ئىزدىيەلەيسىز،</span>لىكىن سزنىڭ بەت قۇرۇش ھوقوقىڭز يوق.',
-'missing-revision' => '"{{PAGENAME}}" ئاتلىق بەتنىڭ تۈزىتىلگەن نەشرى #$1 مەۋجۇت ئەمەس.
+'missing-revision' => '"{{FULLPAGENAME}}" ئاتلىق بەتنىڭ تۈزىتىلگەن نەشرى #$1 مەۋجۇت ئەمەس.
 
 ئادەتتە بۇ ئۆچۈرۈلگەن بىر بەتنىڭ ئۇلانمىسىغا كىرگەنلىك سەۋەبىدىن بولىدۇ.
 تەپسىلىي ئۇچۇرنى [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} ئۆچۈرۈش خاتىرىسى] دىن تاپقىلى بولىدۇ.',
@@ -1044,8 +1043,7 @@ $3 تەمىنلىگەن چەكلەش سەۋەبى ''$2''",
 'revdelete-no-file' => 'ھۆججەت بەلگىلىمىسى مەۋجۇد ئەمەس.',
 'revdelete-show-file-confirm' => '$2 $3 دىكى "<nowiki>$1</nowiki>" نىڭ ئۆچۈرۈلگەن تۈزىتىلگەن نەشرىنى راستىنلا كۆرەمسىز؟',
 'revdelete-show-file-submit' => 'ھەئە',
-'revdelete-selected' => "'''[[:$1]] نىڭ {{PLURAL:$2|تاللانغان تۈزىتىش نەشرى|تاللانغان تۈزىتىش نەشرى}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|تاللانغان خاتىرە تۈرى|تاللانغان خاتىرە تۈرى}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|تاللانغان خاتىرە تۈرى|تاللانغان خاتىرە تۈرى}}:',
 'revdelete-confirm' => 'بۇ مەشغۇلاتنى ئىجرا قىلسىڭىز ئاقىۋىتىنى چۈشىنىدىغانلىقىڭىزنى ھەمدە بۇ پروگراممىنىڭ [[{{MediaWiki:Policy-url}}|سىياسەت]]كە ئۇيغۇن كېلىدىغانلىقىنى جەزملەڭ.',
 'revdelete-suppress-text' => "'''پەقەت''' تۆۋەندىكى ئەھۋاللار يۈز بەرگەندىلا زىيارەت چەكلىنىدۇ:
 * نامۇۋاپىق شەخسىي ئۇچۇر
index 5e7dd03..f1df973 100644 (file)
@@ -44,6 +44,7 @@
  * @author Sodmy
  * @author Ua2004
  * @author Urhixidur
+ * @author Vittalio
  * @author VolodymyrF
  * @author Vox
  * @author Yuriy Apostol
@@ -616,7 +617,6 @@ $1',
 'disclaimers' => 'Відмова від відповідальності',
 'disclaimerpage' => 'Project:Відмова від відповідальності',
 'edithelp' => 'Довідка про редагування',
-'helppage' => 'Help:Довідка',
 'mainpage' => 'Головна сторінка',
 'mainpage-description' => 'Головна сторінка',
 'policy-url' => 'Project:Правила',
@@ -1092,7 +1092,7 @@ $2
 'newarticle' => '(Нова)',
 'newarticletext' => "Ви перейшли на сторінку, яка поки що не існує.
 
-Щоб створити нову сторінку, наберіть текст у вікні нижче (див. [[{{MediaWiki:Helppage}}|довідкову статтю]], щоб отримати більше інформації).
+Щоб створити нову сторінку, наберіть текст у вікні нижче (див. [$1 довідкову статтю], щоб отримати більше інформації).
 Якщо ви опинились тут помилково, просто натисніть кнопку браузера '''назад'''.",
 'anontalkpagetext' => "----''Це сторінка обговорення анонімного користувача, який ще не зареєструвався або не скористався зареєстрованим обліковим записом.
 Тому ми вимушені використовувати IP-адресу для його ідентифікації.
@@ -1105,7 +1105,7 @@ $2
 'noarticletext-nopermission' => 'Зараз на цій сторінці немає тексту.
 Ви можете [[Special:Search/{{PAGENAME}}|пошукати цю назву]] на інших сторінках,
 або <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} пошукати пов\'язані записи в журналах]</span>, але ви не маєте дозволу на створення такої сторінки.',
-'missing-revision' => 'Версія #$1 сторінки «{{PAGENAME}}» не існує.
+'missing-revision' => 'Версія #$1 сторінки «{{FULLPAGENAME}}» не існує.
 
 Імовірно, Ви перейшли за застарілим посиланням на вилучену сторінку.
 Подробиці можна дізнатися з [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} журналу вилучень].',
@@ -1341,8 +1341,9 @@ $3 зазначив таку причину: ''$2''",
 'revdelete-no-file' => 'Зазначений файл не існує.',
 'revdelete-show-file-confirm' => 'Ви впевнені, що хочете переглянути вилучену версію файлу «<nowiki>$1</nowiki>» від $3 $2?',
 'revdelete-show-file-submit' => 'Так',
-'revdelete-selected' => "'''{{PLURAL:$2|1=Обрана версія|Обрані версії}} сторінки [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|1=Обраний запис|Обрані записи}} журналу:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Вибрана редакція|Вибрані редакції}} із [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Вибрана версія файлу|Вибрані версії файлу}} із [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|1=Обраний запис|Обрані записи}} журналу:',
 'revdelete-text-text' => 'Видалені версії будуть як і раніше видно в історії сторінки, але їх частини вмісту будуть доступні для учасників.',
 'revdelete-text-file' => 'Видалені версії файлу будуть як і раніше видно в історії сторінки, але їх частини вмісту будуть доступні для учасників.',
 'logdelete-text' => 'Видалені події в журналі будуть як і раніше видно в журналах, але частини їх вмісту будуть доступні для учасників.',
@@ -2224,6 +2225,11 @@ $1',
 # List redirects
 'listredirects' => 'Список перенаправлень',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Список файлів з дублікатами',
+'listduplicatedfiles-summary' => 'Це список файлів, де остання версія файлу вважається дублікатом останньої версії деяких інших файлів. Враховуються тільки локальні файли.',
+'listduplicatedfiles-entry' => 'У файлу [[:File:$1|$1]] - [[$3|{{PLURAL:$2|один дублікат|$2 дублікатів|$2 дублікат}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Шаблони, що не використовуються',
 'unusedtemplatestext' => 'На цій сторінці показані всі сторінки простору назв «{{ns:template}}», які не включені до інших сторінок. Не забувайте перевірити відсутність інших посилань на шаблон, перш ніж вилучити його.',
@@ -2681,7 +2687,7 @@ $UNWATCHURL
 Поточні установки для сторінки '''$1''':",
 'protect-locked-access' => "У вашого облікового запису недостатньо прав для зміни рівня захисту сторінки.
 Поточні установки для сторінки: '''$1''':",
-'protect-cascadeon' => 'Ця сторінка захищена, бо вона включена {{PLURAL:$1|1=до зазначеної нижче сторінки, на яку|до нижчезазначених сторінок, на які}} встановлено каскадний захист. Ви можете змінити рівень захисту цієї сторінки, але це не вплине на каскадний захист.',
+'protect-cascadeon' => "Ця сторінка зараз захищена у зв'язку з тим, що вона включена в {{PLURAL:$1/1=зазначену нижче сторінку, для якої|нижченаведені сторінки, для яких}} встановлений каскадний захист. Зміни рівня захисту цієї сторінки не вплине на каскадний захист.",
 'protect-default' => 'Дозволити всім користувачам',
 'protect-fallback' => 'Дозволено тільки користувачам із дозволом «$1»',
 'protect-level-autoconfirmed' => 'Дозволено тільки автопідтвердженим користувачам',
index e6bf90f..5babd9a 100644 (file)
@@ -405,7 +405,6 @@ $1',
 'disclaimers' => 'اعلانات',
 'disclaimerpage' => 'Project:عام اعلان',
 'edithelp' => 'معاونت براۓ ترمیم',
-'helppage' => 'Help:فہرست',
 'mainpage' => 'صفحہ اول',
 'mainpage-description' => 'صفحہ اول',
 'policy-url' => 'Project:حکمتِ عملی',
@@ -748,7 +747,7 @@ $1 نے پابندی لگائی تھی.
 داخلِ نوشتہ ہونے پر اِس جدید کھاتے کیلئے پارلفظ ''[[Special:ChangePassword|پارلفظ کی تبدیلی]]'' میں تبدیل کیا جاسکتا ہے.",
 'newarticle' => '(نیا)',
 'newarticletext' => "آپ نے ایک ایسے صفحے کے ربط کی پیروی کی ہے جو کہ ابھی موجود نہیں ہے.
-یہ صفحہ تخلیق کرنے کیلئے درج ذیل خانہ میں متن درج کیجئے (مزید معلومات کیلئے [[{{MediaWiki:Helppage}}|صفحۂ معاونت]] ملاحظہ فرمائیے).
+یہ صفحہ تخلیق کرنے کیلئے درج ذیل خانہ میں متن درج کیجئے (مزید معلومات کیلئے [$1 صفحۂ معاونت] ملاحظہ فرمائیے).
 اگر آپ یہاں غلطی سے پہنچے ہیں تو پچھلے صفحے پر واپس جانے کیلئے اپنے متصفح پر '''back''' کا بٹن ٹک کیجئے.",
 'anontalkpagetext' => "----''یہ صفحہ ایک ایسے صارف کا ہے جنہوں نے یا تو اب تک اپنا کھاتا نہیں بنایا یا پھر وہ اسے استعمال نہیں کر رہے/ رہی ہیں۔ لہٰذا ہمیں انکی شناخت کے لئے ایک عددی آئی پی پتہ استعمال کرنا پڑرہا ہے۔ اس قسم کا آئی پی پتہ ایک سے زائد صارفین کے لئے مشترک بھی ہوسکتا ہے۔ اگر آپکی موجودہ حیثیت ایک گمنام صارف کی ہے اور آپ محسوس کریں کہ اس صفحہ پر آپکی جانب منسوب یہ بیان غیرضروری ہے تو براہ کرم [[Special:UserLogin/signup|کھاتہ بنائیں]] یا [[Special:UserLogin|داخلِ نوشتہ]] ہوجائیے تاکہ مستقبل میں آپکو گمنام صارفین میں شمار کرنے سے پرہیز کیا جاسکے۔\"",
 'noarticletext' => 'اِس صفحہ میں فی الحال کوئی متن موجود نہیں ہے.
@@ -850,8 +849,7 @@ $1 نے پابندی لگائی تھی.
 'revisiondelete' => 'نظرثانی حذف کریں/واپس لائیں',
 'revdelete-nooldid-title' => 'ناقص مقصود نظرثانی',
 'revdelete-show-file-submit' => 'ہاں',
-'revdelete-selected' => "'''[[:$1]] کی {{PLURAL:$2|منتخب نظرثانی|منتخب نظرثانیاں}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|منتخب واقعۂ نوشتہ|منتخب واقعاتِ نوشتہ}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|منتخب واقعۂ نوشتہ|منتخب واقعاتِ نوشتہ}}:',
 'revdelete-confirm' => 'برائے مہربانی! یقین دِہانی کرلیجئے کہ آپ واقعی ایسا کرنا چاہتے ہیں، آپ اِس کے نتائج سے باخبر ہیں، اور آپ یہ [[{{MediaWiki:Policy-url}}|پالیسی]] کے مطابق کررہے ہیں.',
 'revdelete-legend' => 'رویتی پابندیاں لگائیں',
 'revdelete-hide-text' => 'نظرثانی متن چھپاؤ',
index d5672ab..17cf49c 100644 (file)
@@ -374,7 +374,6 @@ $1',
 'disclaimers' => 'Ogohlantirishlar',
 'disclaimerpage' => 'Project:Umumiy ogohlantirish',
 'edithelp' => 'Tahrirlash yordami',
-'helppage' => 'Help:Mundarija',
 'mainpage' => 'Bosh sahifa',
 'mainpage-description' => 'Bosh sahifa',
 'policy-url' => 'Project:Qoida',
@@ -638,7 +637,7 @@ Sizning hozirgi IP manzilingiz - $3, chetlashtirish raqamingiz - #$5. Arizaga bu
 'accmailtitle' => 'Maxfiy soʻz joʻnatildi',
 'newarticle' => '(Yangi)',
 'newarticletext' => "Bu sahifa hali mavjud emas.
-Sahifani yaratish uchun quyida matn kiritishingiz mumkin (qoʻshimcha axborot uchun [[{{MediaWiki:Helppage}}|yordam sahifasini]] koʻring).
+Sahifani yaratish uchun quyida matn kiritishingiz mumkin (qoʻshimcha axborot uchun [$1 yordam sahifasini] koʻring).
 Agar bu sahifaga xatolik sabab kelib qolgan boʻlsangiz brauzeringizning '''orqaga''' tugmasini bosing.",
 'anontalkpagetext' => "----''Ushbu munozara sahifasi hali hisob yozuvini yaratmagan, yoki undan foydalanmaydigan anonim ishtirokchiga tegishli.
 Shu sababli tenglashtirish uchun raqamli IP-manzildan foydalaniladi.
@@ -1593,8 +1592,8 @@ Umumiy omborda [[:$1]] mavjud. Faylning bu nomga qayta nomlanishi faylning umumi
 'tooltip-n-portal' => 'Loyiha haqida, nimalar qilishingiz mumkin, nimalarni qayerdan topish mumkin',
 'tooltip-n-currentevents' => 'Joriy hodisalar haqida ma’lumot olish',
 'tooltip-n-recentchanges' => 'Wikidagi eng so‘nggi o‘zgartirishlar ro‘yxati',
-'tooltip-n-randompage' => 'Tasodifiy sahifani yuklash',
-'tooltip-n-help' => 'O‘rganish uchun manzil',
+'tooltip-n-randompage' => 'Tasodifiy sahifaga oʻtish',
+'tooltip-n-help' => 'Qisqa va loʻnda maʼlumotnoma',
 'tooltip-t-whatlinkshere' => 'Ushbu sahifaga bogʻlangan sahifalar roʻyxati',
 'tooltip-t-recentchangeslinked' => 'Bu sahifaga bogʻlangan sahifalardagi yangi oʻzgarishlar',
 'tooltip-feed-rss' => "Bu sahifa uchun RSS ta'minot",
index 61c216e..964ff02 100644 (file)
@@ -406,7 +406,6 @@ $1',
 'disclaimers' => 'Avertense',
 'disclaimerpage' => 'Project:Avertense xenerali',
 'edithelp' => 'Guida',
-'helppage' => 'Help:Ajuto',
 'mainpage' => 'Pajina prinsipałe',
 'mainpage-description' => 'Pajina prinsipałe',
 'policy-url' => 'Project:Policy',
@@ -829,7 +828,7 @@ La password par sta nova utensa la pode vegner canbià, dopo ver fato l'acesso,
 'newarticle' => '(Novo)',
 'newarticletext' => "Te ghe sì 'ndà drio a un colegamento a na pagina che no esiste gnancora.
 Se te voli crear sta pagina, taca scrìvar el testo in te la casèla qua soto
-(varda le [[{{MediaWiki:Helppage}}|pagine de ajuto]] par saverghene de pì).
+(varda le [$1 pagine de ajuto] par saverghene de pì).
 Se te sì rivà qua par sbajo, basta che te struchi '''Indrìo''' sul to browser.",
 'anontalkpagetext' => "----''Sta qua la xe la pagina de discussion de un utente anonimo che no'l se gà gnancora registrà o che no'l xe entrà col so nome utente.
 De conseguenza xè necessario identificarlo tramite l'indirizo IP numerico.
@@ -841,7 +840,7 @@ o <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}}
 'noarticletext-nopermission' => 'In sto momento no ghe xe nissun testo su sta pagina.
 Te pol [[Special:Search/{{PAGENAME}}|sercar sto titolo de pagina]] in altre pagine,
 o <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} sercar in tei registri ligà a sta pagina]</span>, ma no te ghè el parmesso de crear sta pagina.',
-'missing-revision' => 'Ła revixion #$1 de ła pàjina "{{PAGENAME}}" nó ła existe.',
+'missing-revision' => 'Ła revixion #$1 de ła pàjina "{{FULLPAGENAME}}" nó ła existe.',
 'userpage-userdoesnotexist' => 'L\'account "<nowiki>$1</nowiki>" no\'l corisponde mìa a un utente registrà. Verifica se te voli dal bon crear o modificar sta pagina.',
 'userpage-userdoesnotexist-view' => 'L\'utensa "$1" no la xe gnancora registrà.',
 'blocked-notice-logextract' => "Sto utente xè atualmente blocà.
@@ -1052,8 +1051,7 @@ Te połi uncora vixuałixare sto confronto; controłare el [{{fullurl:{{#Special
 'revdelete-no-file' => "El file indicà no l'esiste mia.",
 'revdelete-show-file-confirm' => 'Vuto dal bon vardar la version scancelà del file "<nowiki>$1</nowiki>" del $2 a le $3?',
 'revdelete-show-file-submit' => 'Sì',
-'revdelete-selected' => "'''{{PLURAL:$2|Version selezionà|Versioni selezionà}} de [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Evento del registro selezionà|Eventi del registro selezionè}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Evento del registro selezionà|Eventi del registro selezionè}}:',
 'revdelete-confirm' => 'Par piaser, conferma che vol far sta azion, che te capissi le so conseguense, e che te sì drio operar secondo le [[{{MediaWiki:Policy-url}}|linee guida]].',
 'revdelete-suppress-text' => "La sopression la se dovarìa doparar '''solo''' in sti casi qua:
 
index 1d2cd7a..3565c5f 100644 (file)
@@ -334,7 +334,6 @@ $1",
 'disclaimers' => 'Pučind vastusenpidandaspäi',
 'disclaimerpage' => 'Project:Pučind vastusenpidandaspäi',
 'edithelp' => 'Abu redaktiruindas',
-'helppage' => 'Help:südäiolend',
 'mainpage' => 'Pälehtpol’',
 'mainpage-description' => 'Pälehtpol’',
 'policy-url' => 'Project:Ohjandimed',
@@ -699,7 +698,7 @@ Voib olda, se om sirtud vai čutud poiš lugemižen aigan.',
 'accmailtitle' => 'Peitsana om oigetud.',
 'newarticle' => '(Uz’)',
 'newarticletext' => "Tö tulit kosketustme lehtpolele, kudamb ei olend tehtud völ.
-Miše säta lehtpol', kirjutaškakat alemba sijatud iknas (kc. [[{{MediaWiki:Helppage}}|abun lehtpol']], miše sada ližainformacijad).
+Miše säta lehtpol', kirjutaškakat alemba sijatud iknas (kc. [$1 abun lehtpol'], miše sada ližainformacijad).
 Ku tö olet petnus tänna tuldes, pingat teiden kaclimen '''tagaze'''-kingitimele.",
 'noarticletext' => 'Necil lehtpolel ei ole nügüd\' tekstad.
 Tö voit [[Special:Search/{{PAGENAME}}|ectä nece nimi]] toižil lehtpolil,
@@ -864,8 +863,7 @@ Detalid voidas olda [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}}
 'revdelete-nooldid-text' => 'Tö et olgoi valinuded metversijad (metversijoid) necen funkcijan oigetes.',
 'revdelete-no-file' => 'Mugošt failad ei ole.',
 'revdelete-show-file-submit' => 'Ka',
-'revdelete-selected' => "'''{{PLURAL:$2|Valitud versii|Valitud versijad}} lehtpolišpäi [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Valitud kirjutez aigkirjas|Valitud kirjutesed aigkirjas}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Valitud kirjutez aigkirjas|Valitud kirjutesed aigkirjas}}:',
 'revdelete-legend' => 'Säta kaidendused',
 'revdelete-hide-text' => 'Redakcijan tekst',
 'revdelete-hide-image' => 'Peitta failan südäiolend',
index bd46583..c5bce80 100644 (file)
@@ -586,7 +586,6 @@ $1',
 'disclaimers' => 'Phủ nhận',
 'disclaimerpage' => 'Project:Phủ nhận chung',
 'edithelp' => 'Trợ giúp sửa đổi',
-'helppage' => 'Help:Nội dung',
 'mainpage' => 'Trang Chính',
 'mainpage-description' => 'Trang Chính',
 'policy-url' => 'Project:Quy định và hướng dẫn',
@@ -781,6 +780,7 @@ Hãy nhớ thay đổi [[Special:Preferences|tùy chọn cá nhân {{SITENAME}}]
 'gotaccountlink' => 'Đăng nhập',
 'userlogin-resetlink' => 'Quên mất thông tin đăng nhập?',
 'userlogin-resetpassword-link' => 'Quên mật khẩu?',
+'userlogin-helplink2' => 'Trợ giúp đăng nhập',
 'userlogin-loggedin' => 'Bạn đã đăng nhập với tên {{GENDER:$1}}$1.
 Hãy sử dụng biểu mẫu ở dưới để đăng nhập với tài khoản người dùng khác.',
 'userlogin-createanother' => 'Mở thêm tài khoản',
@@ -895,6 +895,9 @@ Có thể bạn đã thay đổi thành công mật khẩu của mình hoặc đ
 'resetpass-abort-generic' => 'Một phần mở rộng đã hủy bỏ tác vụ thay đổi mật khẩu.',
 'resetpass-expired' => 'Mật khẩu của bạn đã hết hạn. Xin vui lòng tạo lại mật khẩu mới để đăng nhập.',
 'resetpass-expired-soft' => 'Mật khẩu của bạn đã hết hạn và cần được đặt lại. Xin vui lòng chọn một mật khẩu mới lúc bây giờ hoặc bấm “{{int:resetpass-submit-cancel}}” để đặt lại sau.',
+'resetpass-validity-soft' => 'Mật khẩu của bạn không hợp lệ: $1
+
+Xin hãy chọn mật khẩu mới bây giờ hoặc bấm “{{int:resetpass-submit-cancel}}” để đặt lại sau.',
 
 # Special:PasswordReset
 'passwordreset' => 'Tái tạo mật khẩu',
@@ -1041,7 +1044,7 @@ Có thể nó đã bị di chuyển hoặc xóa đi trong khi bạn đang xem tr
 'accmailtitle' => 'Đã gửi mật khẩu.',
 'accmailtext' => "Một mật khẩu được tạo ngẫu nhiên cho [[User talk:$1|$1]] đã được gửi đến $2. Có thể đổi mật khẩu tại trang ''[[Special:ChangePassword|đổi mật khẩu]]'' sau khi đã đăng nhập.",
 'newarticle' => '(Mới)',
-'newarticletext' => "Bạn đi đến đây từ một liên kết đến một trang chưa tồn tại. Để tạo trang, hãy bắt đầu gõ vào ô bên dưới (xem [[{{MediaWiki:Helppage}}|trang trợ giúp]] để có thêm thông tin). Nếu bạn đến đây do nhầm lẫn, chỉ cần nhấn vào nút '''Lùi''' (hoặc Trở lại, Quay lại, Back) trong trình duyệt của bạn.",
+'newarticletext' => "Bạn đi đến đây từ một liên kết đến một trang chưa tồn tại. Để tạo trang, hãy bắt đầu gõ vào ô bên dưới (xem [$1 trang trợ giúp] để có thêm thông tin). Nếu bạn đến đây do nhầm lẫn, chỉ cần nhấn vào nút '''Lùi''' (hoặc Trở lại, Quay lại, Back) trong trình duyệt của bạn.",
 'anontalkpagetext' => "----''Đây là trang thảo luận của một người dùng vô danh chưa tạo tài khoản hoặc có tài khoản nhưng không đăng nhập.
 Do đó chúng ta phải dùng một dãy số gọi là địa chỉ IP để xác định anh/chị ta.
 Một địa chỉ IP như vậy có thể có nhiều người cùng dùng chung.
@@ -1051,7 +1054,7 @@ Bạn có thể [[Special:Search/{{PAGENAME}}|tìm kiếm tựa trang này]] tro
 hoặc [{{fullurl:{{FULLPAGENAME}}|action=edit}} sửa đổi trang này]</span>.',
 'noarticletext-nopermission' => 'Trang này hiện đang trống.
 Bạn có thể [[Special:Search/{{PAGENAME}}|tìm kiếm tựa trang này]] tại các trang khác, hoặc <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} tìm kiếm các nhật trình liên quan]</span>, nhưng bạn không có phép tạo trang này.',
-'missing-revision' => 'Phiên bản #$1 của trang có tên “{{PAGENAME}}” không tồn tại.
+'missing-revision' => 'Phiên bản #$1 của trang có tên “{{FULLPAGENAME}}” không tồn tại.
 
 Lỗi này thường xuất hiện đối khi theo dõi liên kết lỗi thời đến phiên bản cũ của một trang đã bị xóa.
 Xem chi tiết trong [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} nhật trình xóa].',
@@ -1280,8 +1283,9 @@ hoặc bạn đang tìm cách ẩn phiên bản hiện tại.',
 'revdelete-no-file' => 'Tập tin chỉ định không tồn tại.',
 'revdelete-show-file-confirm' => 'Bạn có chắc muốn xem phiên bản đã bị xóa của tập tin “<nowiki>$1</nowiki>” từ ngày $2 vào lúc $3?',
 'revdelete-show-file-submit' => 'Có',
-'revdelete-selected' => "'''{{PLURAL:$2|Phiên bản|Các phiên bản}} được chọn của [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Nhật trình đã chọn|Các nhật trình đã chọn}}:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Phiên bản|Các phiên bản}} [[:$2]] được chọn:',
+'revdelete-selected-file' => '{{PLURAL:$1|Phiên bản|Các phiên bản}} tập tin [[:$2]] được chọn:',
+'logdelete-selected' => '{{PLURAL:$1|Nhật trình đã chọn|Các nhật trình đã chọn}}:',
 'revdelete-text-text' => 'Các phiên bản đã xóa sẽ tiếp tục xuất hiện trong lịch sử trang, nhưng một số phần của nội dung sẽ bị ẩn khỏi công chúng.',
 'revdelete-text-file' => 'Các phiên bản tập tin đã xóa sẽ tiếp tục xuất hiện trong lịch sử tập tin, nhưng một số phần của nội dung sẽ bị ẩn khỏi công chúng.',
 'logdelete-text' => 'Các sự kiện đã xóa sẽ tiếp tục xuất hiện trong nhật trình, nhưng một số phần của nội dung sẽ bị ẩn khỏi công chúng.',
@@ -2148,6 +2152,11 @@ Có lẽ bạn muốn miêu tả nó trên [$2 trang miêu tả tập tin] tại
 # List redirects
 'listredirects' => 'Danh sách trang đổi hướng',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Danh sách các tập tin có bản sao',
+'listduplicatedfiles-summary' => 'Đây là danh sách các tập tin là bản sao của tập tin khác, chỉ tính theo phiên bản mới nhất của các tập tin địa phương.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] có [[$3|{{PLURAL:$2|một bản sao|$2 bản sao}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Bản mẫu chưa dùng',
 'unusedtemplatestext' => 'Trang này liệt kê tất cả các trang trong không gian tên {{ns:template}} mà chưa được dùng trong trang nào khác.
@@ -2599,7 +2608,7 @@ hiện tại của trang '''$1''':",
 Đây là trạng thái hiện tại của trang '''$1''':",
 'protect-locked-access' => "Tài khoản của bạn không được cấp quyền đổi mức khóa của trang.
 Đây là trạng thái hiện tại của trang '''$1''':",
-'protect-cascadeon' => 'Trang này hiện bị khóa vì nó được nhúng vào {{PLURAL:$1|những trang|trang}} dưới đây bị khóa với tùy chọn “khóa theo tầng” được kích hoạt. Bạn có thể đổi mức độ khóa của trang này, nhưng nó sẽ không ảnh hưởng đến việc khóa theo tầng.',
+'protect-cascadeon' => 'Trang này hiện bị khóa vì nó được nhúng vào {{PLURAL:$1|những trang|trang}} dưới đây bị khóa với tùy chọn “khóa theo tầng” được kích hoạt. Việc thay đổi mức độ khóa của trang này sẽ không ảnh hưởng đến việc khóa theo tầng.',
 'protect-default' => 'Cho phép mọi thành viên',
 'protect-fallback' => 'Chỉ cho phép những người dùng có quyền “$1”',
 'protect-level-autoconfirmed' => 'Chỉ cho phép các thành viên tự động xác nhận',
index 18caff0..8ca38f7 100644 (file)
@@ -256,7 +256,6 @@ $1",
 'disclaimers' => 'Imbräsum',
 'disclaimerpage' => 'Project:Imbräsum',
 'edithelp' => 'Hilfe dsum beärbâdn',
-'helppage' => 'Help:Inhalds-fârdsajchnis',
 'mainpage' => 'Haubdsajdn',
 'mainpage-description' => 'Haubdsajdn',
 'policy-url' => 'Project:Reechln',
@@ -409,7 +408,7 @@ Dii schbärr-ID is: $5
 Schrajb des bide als dâdsu, wen De Dich meldsd.",
 'newarticle' => '(Naj)',
 'newarticletext' => "Duu bisd âm fârwajs gfolchd, däär noch af ghâ sajdn dsajchd.
-Um dii sajdn ôôdsleechn, schrajb Dajn dhägsd in deen rôôma dô undn naj (fir aandslhajdn, schau af dâr [[{{MediaWiki:Helppage}}|hilfesajdn]] nôôch).
+Um dii sajdn ôôdsleechn, schrajb Dajn dhägsd in deen rôôma dô undn naj (fir aandslhajdn, schau af dâr [$1 hilfesajdn] nôôch).
 Wen'D dich awâr hiirhäär bloos fârlaafn hasd, glig ââfach af '''Zurück''' in Dajm brausâr, dan geedâr dôôhi dsrig, wos'D häärghumma bisd.",
 'noarticletext' => 'Dii sajdn gibd\'s bis eds no ned.
 Duu ghâusch nach däm ausdrug aa [[Special:Search/{{PAGENAME}}|in alle sajdn suchng]],
index 6383f62..d6f0b9c 100644 (file)
@@ -344,7 +344,6 @@ $messages = array(
 'disclaimers' => 'Nuneds',
 'disclaimerpage' => 'Project:Gididimiedükam valemik',
 'edithelp' => 'Redakamayuf',
-'helppage' => 'Help:Ninäd',
 'mainpage' => 'Cifapad',
 'mainpage-description' => 'Cifapad',
 'policy-url' => 'Project:Dunamod',
@@ -679,7 +678,7 @@ Ladet-IP olik binon $3, e nüm blokama at binon #$5. Mäniotolös nünis löpik
 Letavöd kala at kanon pavotükön medü pad: ''[[Special:ChangePassword|votükön letavödi]]'' pö nunädam ini vük.",
 'newarticle' => '(Nulik)',
 'newarticletext' => "Esökol yümi lü pad, kel no nog dabinon.
-Ad jafön padi at, primolös ad klavön vödemi olik in penaspad dono (logolöd [[{{MediaWiki:Helppage}}|yufapadi]] tefü nüns tefik votik).
+Ad jafön padi at, primolös ad klavön vödemi olik in penaspad dono (logolöd [$1 yufapadi] tefü nüns tefik votik).
 If binol is pölo, välolös knopi: '''geikön''' bevüresodatävöma olik.",
 'anontalkpagetext' => "----''Bespikapad at duton lü geban nennemik, kel no nog ejafon kali, u no vilon labön u gebön oni. Sekü atos pemütobs ad gebön ladeti-IP ad dientifükön gebani at. Ladets-IP kanons pagebön fa gebans difik. If binol geban nennemik e cedol, das küpets netefik pelüodükons ole, [[Special:UserLogin|jafolös, begö! kali]], u [[Special:UserLogin|nunädolös oli]] ad vitön kofudi ko gebans nennemik votik.''",
 'noarticletext' => 'Atimo no dabinon vödem su pad at.
@@ -856,8 +855,7 @@ Kanol logön oni; pats ba binons in [{{fullurl:{{#Special:Log}}/delete|page={{FU
 'revdelete-nooldid-text' => 'U no elevälol zeilafomami(s) pro dun at, u fomam pelevälöl no dabinon, u steifülol ad klänedön fomami anuik.',
 'revdelete-show-file-confirm' => 'Vilol-li fümiko logön revidi pemoüköl ragiva: „<nowiki>$1</nowiki>“ dätü $2 tü $3?',
 'revdelete-show-file-submit' => 'Si',
-'revdelete-selected' => "'''{{PLURAL:$2|Fomam|Fomams}} pevalöl pada: [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Lisedajenot|Lisedajenots}} pevälöl:'''",
+'logdelete-selected' => '{{PLURAL:$1|Lisedajenot|Lisedajenots}} pevälöl:',
 'revdelete-legend' => 'Levälön miedükamis logova:',
 'revdelete-hide-text' => 'Klänedön vödemi revida',
 'revdelete-hide-image' => 'Klänedön ragivaninädi',
index ca8b2fa..49ec4b7 100644 (file)
@@ -165,7 +165,6 @@ $messages = array(
 'disclaimers' => 'Ceeltümin vassamizõõ',
 'disclaimerpage' => 'Project:Ceeltümin vassamizõõ',
 'edithelp' => 'Muutuzavid',
-'helppage' => 'Help:Sisälto',
 'mainpage' => 'Päälehto',
 'mainpage-description' => 'Päälehto',
 'portal' => 'Foorum',
@@ -280,7 +279,7 @@ Kui cüsümüssessä ebõõ roocittu cülci, võib õlla õlõttõ löütännü
 'loginreqlink' => 'cirjut süäme',
 'newarticle' => '(Uusi)',
 'newarticletext' => 'Sitä cülciä veel ebõõ.
-Võitta loovva cüľľee cirjuttamall alla õlõvasõõ tilaa. Kui että taho loovva [[{{MediaWiki:Helppage}}|cülciä]], menka takaz Web-brauzeraa "back"-napuukaa.',
+Võitta loovva cüľľee cirjuttamall alla õlõvasõõ tilaa. Kui että taho loovva [$1 cülciä], menka takaz Web-brauzeraa "back"-napuukaa.',
 'noarticletext' => '{{GRAMMAR:inessive|{{SITENAME}}}} ebõõ sene nimissä cülciä.
 * Võid [[Special:Search/{{PAGENAME}}|ettsiä cüľľee nimellä]] muilta cüľľeltä.
 * Võid cirjuttõma uuvvõõ cüľľee <span class="plainlinks">[{{fullurl:{{FULLPAGENAME}}|action=edit}} {{PAGENAME}}]</span>.',
index edd5295..e144f55 100644 (file)
@@ -290,7 +290,6 @@ $1",
 'disclaimers' => 'Hoiatuisi',
 'disclaimerpage' => 'Project:Üledseq hoiatusõq',
 'edithelp' => 'Toimõndamisoppus',
-'helppage' => 'Help:Sisukõrd',
 'mainpage' => 'Pääleht',
 'mainpage-description' => 'Pääleht',
 'policy-url' => 'Project:Säädüseq',
@@ -605,7 +604,7 @@ Või ollaq, et taa kistutõdi ärq tuul aol, ku sa lehte kait.',
 Tuud salasõnna saa muutaq ''[[Special:ChangePassword|salasõba muutmisõ lehe pääl]]'' päält vahtsõ nimega sisseminemist.",
 'newarticle' => '(Vahtsõnõ)',
 'newarticletext' => "Taad lehekülge olõ-i viil luud.
-Leheküle luumisõs nakkaq kirotama alanolõvahe kasti (kaeq [[{{MediaWiki:Helppage}}|oppust]]).
+Leheküle luumisõs nakkaq kirotama alanolõvahe kasti (kaeq [$1 oppust]).
 Ku sa johtuq siiäq kogõmaldaq, sis klõpsaq võrgokaeja '''Tagasi'''-nuppi.",
 'anontalkpagetext' => "---- ''Taa om arotusleht nimeldä pruukja kotsilõ, kiä olõ-i loonuq pruukjanimme vai pruugi-i tuud. Tuuperäst tulõ meil pruukja kimmästegemises pruukiq timä puutri võrgoaadrõssit. Taa aadrõs või ollaq mitmõ pruukja pääle ütine. Ku olõt nimeldä pruukja ja lövvät, et taa leheküle pääle kirotõt jutt käü suq kotsilõ, sis olõq hää, [[Special:UserLogin/signup|luuq konto]] vai [[Special:UserLogin|mineq nimega sisse]], et edespiten segähüisi ärq hoitaq.''",
 'noarticletext' => 'Seo leht om parlaq tühi.
@@ -739,8 +738,7 @@ Lisateedüst või ollaq [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAME
 'revisiondelete' => 'Kistudaq/võtaq tagasi lehe kujjõ',
 'revdelete-nooldid-title' => 'Säänest otsitavat kujjo olõ-i',
 'revdelete-nooldid-text' => 'Sa olõ-i valinuq kujjo vai kujjõ.',
-'revdelete-selected' => "'''{{PLURAL:$2|Valit kujo|Validuq kujoq}} lehele [[:$1]]'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Valit muutminõ|Validuq muutmisõq}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Valit muutminõ|Validuq muutmisõq}}:',
 'revdelete-legend' => 'Nättävüse piirdmiseq',
 'revdelete-hide-text' => 'Käkiq kujo sisu',
 'revdelete-hide-image' => 'Käkiq teedüstü sissu',
index d5b55c4..4026edf 100644 (file)
@@ -301,7 +301,6 @@ $1",
 'currentevents' => 'Actouwålités',
 'currentevents-url' => 'Project:Actouwålités',
 'edithelp' => 'Aidance',
-'helppage' => 'Help:Aidance',
 'mainpage' => 'Mwaisse pådje',
 'mainpage-description' => 'Mwaisse pådje',
 'portal' => 'Inte di nozôtes',
@@ -590,7 +589,7 @@ S' i vs plait racsegnoz totes les racsegnes chal å dzeur dins les dmandes ki vo
 Li scret po ci novea conte ci pout esse candjî sol pådje di ''[[Special:ChangePassword|candjmint di scret]]'' après l' elodjaedje.",
 'newarticle' => '(Novea)',
 'newarticletext' => "Vos avoz clitchî so on loyén viè ene pådje ki n' egzistêye nén co.
-Mins '''vos''' l' poloz askepyî! Po çoula, vos n' avoz k' a cmincî a taper vosse tecse dins l' boesse di tecse chal pa dzo (alez vey li [[{{MediaWiki:Helppage}}|pådje d' aidance]] po pus d' infôrmåcion).
+Mins '''vos''' l' poloz askepyî! Po çoula, vos n' avoz k' a cmincî a taper vosse tecse dins l' boesse di tecse chal pa dzo (alez vey li [$1 pådje d' aidance] po pus d' infôrmåcion).
 Si vos n' voloz nén scrire cisse pådje chal, clitchîz simplumint sol boton '''En erî''' di vosse betchteu waibe po rivni al pådje di dvant.",
 'anontalkpagetext' => "---- ''Çouchal, c' est li pådje di copene po èn uzeu anonime ki n' a nén (co) fwait on conte por lu s' elodjî, ou ki n' l' eploye nén.
 Ça fwait k' on doet eployî si adresse IP limerike po l' idintifyî.
@@ -742,8 +741,7 @@ Vos l' poloz co vey; i gn a des detays sol [{{fullurl:{{#Special:Log}}/suppress|
 'rev-delundel' => 'mostrer/catchî',
 'revisiondelete' => 'Disfacer/rapexhî des modêyes',
 'revdelete-show-file-submit' => 'Oyi',
-'revdelete-selected' => "'''{{PLURAL:$2|Tchoezeye modêye|Tchoezeyès modêyes}} di [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Evenmint tchoezi|Evenmints tchoezis}} ezès djournås:'''",
+'logdelete-selected' => '{{PLURAL:$1|Evenmint tchoezi|Evenmints tchoezis}} ezès djournås:',
 'revdelete-legend' => 'Defini des restriccions sol voeyaedje',
 'revdelete-hide-text' => "Catchî l' tecse del modêye",
 'revdelete-hide-comment' => "Catchî l' comintaire di candjmint",
index 8f8ce7b..d4b39a5 100644 (file)
@@ -311,7 +311,6 @@ $1',
 'disclaimers' => 'Mga Disclaimer',
 'disclaimerpage' => 'Project:Kasahiran nga disclaimer',
 'edithelp' => 'Bulig hin pagliwat',
-'helppage' => 'Help:Sulod',
 'mainpage' => 'Syahan nga Pakli',
 'mainpage-description' => 'Syahan nga Pakli',
 'policy-url' => 'Project:Polisiya',
@@ -764,7 +763,7 @@ Ini in puydi binmalhin o napara samtang ikaw in nagkikita han pakli.',
 'accmailtitle' => 'Ginpadara na an tigaman-pagsulod.',
 'accmailtext' => "Uska hinimo nga random nga tigaman-panakob para kan [[User talk:$1|$1]] in ginpadangat ha $2. Puydi ini mabal-iwan ha ''[[Special:ChangePassword|liwani an tigaman-panakob]]'' nga pakli han paglog-in.",
 'newarticle' => '(Bag-o)',
-'newarticletext' => "Ginsunod mo an pakli nga waray pa kahihimo.  Para ighimo an pakli, tikanga pagmakinilya ha kahon nga aada ha ubos (kitaa an [[{{MediaWiki:Helppage}}|nabulig nga pakli]] para han kadugangan nga pananabutan).  Kun sayop an imo pagkanhi, igpidlit an imo kanan panngaykay (''browser'') '''balik''' (''back'') nga piridlitan.",
+'newarticletext' => "Ginsunod mo an pakli nga waray pa kahihimo.  Para ighimo an pakli, tikanga pagmakinilya ha kahon nga aada ha ubos (kitaa an [$1 nabulig nga pakli] para han kadugangan nga pananabutan).  Kun sayop an imo pagkanhi, igpidlit an imo kanan panngaykay (''browser'') '''balik''' (''back'') nga piridlitan.",
 'anontalkpagetext' => "----
 ''Ini in hiruhimangraw-nga-pakli para han waray magpakilala nga gumaramit, nga waray pa hinmimo hin akawnt.''
 Magamit la kami hin IP address para makilal-an hiya.
@@ -777,7 +776,7 @@ o [{{fullurl:{{FULLPAGENAME}}|action=edit}} igliwat ini nga pakli]</span>.',
 'noarticletext-nopermission' => 'Waray yana nahasurat hini nga pakli
 Puyde hi ikaw [[Special:Search/{{PAGENAME}}|magbiling han ngaran hini nga pakli]] ha iba nga mga pakli,
 o <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} mamiling han mga nanginginlabot nga mga talaan]</span>, kundi diri ka gintutugotan hin paghímò hini nga pakli.',
-'missing-revision' => 'Waray na an rebisyon #$1 han pakli nga ginngaranan nga  "{{PAGENAME}}".
+'missing-revision' => 'Waray na an rebisyon #$1 han pakli nga ginngaranan nga  "{{FULLPAGENAME}}".
 
 Ini in agsob tungod han pagsunod hin daan nga sumpay hin kaagi ha pakli nga ginpara.
 An mga detalye in mabibilngan ha [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].',
index 36187cc..aa579fa 100644 (file)
@@ -306,7 +306,6 @@ $1',
 'disclaimers' => 'Ay aartu',
 'disclaimerpage' => 'Project:Aartu yu daj',
 'edithelp' => 'Ndimbal',
-'helppage' => 'Help:Ndimbal',
 'mainpage' => 'Xëtu Njëlbéen',
 'mainpage-description' => 'Xët wu njëkk',
 'policy-url' => 'Project:àtte',
@@ -591,7 +590,7 @@ Sa màkkaanu IP mooy $3 xammeekaayu téye gi mooy #$5. Di la sakku nga joxe leen
 'accmailtext' => "Ab baatujàll ngir [[User talk:$1|$1]]  yónne nañu ko $2.
 Baatujàllub bii jëfandikukat bu bees man nga ko soppi ci ''[[Special:ChangePassword|soppi baatujàll]]'' soo duggee ba noppi.",
 'newarticle' => '(Bees)',
-'newarticletext' => "Da ngaa topp ab lëkkalekaay buy jëme ci aw xët wu amagul. ngir sos xët wi léegi, duggalal sa mbind ci boyot bii ci suuf (man ngaa yër [[{{MediaWiki:Helppage}}|xëtu ndimbal wi]] ngir yeneeni xamle). Su fekkee njuumtee la fi indi cuqal ci '''dellu''' bu sa joowukaay.",
+'newarticletext' => "Da ngaa topp ab lëkkalekaay buy jëme ci aw xët wu amagul. ngir sos xët wi léegi, duggalal sa mbind ci boyot bii ci suuf (man ngaa yër [$1 xëtu ndimbal wi] ngir yeneeni xamle). Su fekkee njuumtee la fi indi cuqal ci '''dellu''' bu sa joowukaay.",
 'anontalkpagetext' => "---- ''Yaa ngi ci xëtu waxtaanuwaayu ab jëfandikukatu alaxam, bu bindoogul ba fim ne mbaa jëfandikoowul am sàqam.
 Kon ngir xàmmee ko fàw nga jëfandikoo màkkaanub IP wam. Te màkkaanub IP jëfandikukat yu bari man nañ koo bokk.
 Su fekkee jëfandikukatu alaxam nga, te nga gis ne dees laa féetale ay kàddu yoo moomul, ngalla [[Special:UserLogin|bindu]] walla [[Special:UserLogin|dugg]] ngir benn jaxase bañatee am ëllëg .''",
@@ -755,8 +754,7 @@ Li nga doon yorkat tax na ba-tay nga man a [$1 gis gii wuute] su la neexee.",
 'revdelete-no-file' => 'Dencukaay bi amul',
 'revdelete-show-file-confirm' => 'Ndax wóor na ne bëgg ngaa wone sumb bees far bu bii dencukaay "<nowiki>$1</nowiki>" bu $2 ci $3?',
 'revdelete-show-file-submit' => 'Waaw',
-'revdelete-selected' => "'''{{PLURAL:$2|Sumbum '''$1''' mi falu|Sumbi '''$1''' yi falu}} :'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Xew-xewu yéenekaay bi falu|Xew-xewi yéenekaay yi falu}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Xew-xewu yéenekaay bi falu|Xew-xewi yéenekaay yi falu}}:',
 'revdelete-legend' => 'Taxawal ay digal ci sumb yi ñu far:',
 'revdelete-hide-text' => 'Nëbb mbindum sumb bi',
 'revdelete-hide-image' => 'Nëbb ëmbiitu dencukaay bi',
index 37089bb..6844f06 100644 (file)
@@ -268,7 +268,6 @@ $1',
 'disclaimers' => '甮追問',
 'disclaimerpage' => 'Project:甮追問',
 'edithelp' => '编写帮助',
-'helppage' => 'Help:目录',
 'mainpage' => '封面',
 'mainpage-description' => '封面',
 'policy-url' => 'Project:策略',
@@ -626,7 +625,7 @@ $2',
 登录之后,侬可以垃拉 ''[[Special:ChangePassword|箇只页面]]''更改密码。",
 'newarticle' => '(新)',
 'newarticletext' => "倷跟仔链接来着一个还弗勒里个页面。
-要创建该页面呢,就勒下底个框框里向开始写([[{{MediaWiki:Helppage}}|帮助页面]]浪有更加多个信息)。
+要创建该页面呢,就勒下底个框框里向开始写([$1 帮助页面]浪有更加多个信息)。
 要是倷是弗用心到该搭个说话,只要点击倷浏览器个'''返回'''揿钮。",
 'anontalkpagetext' => "---- ''箇是一个还弗曾建立账户个匿名用户个讨论页, 箇咾我伲只好用IP地址来搭渠联络。该IP地址可能由几名用户共享。如果侬是一名匿名用户并认为箇只页面高头个评语搭侬弗搭界,请 [[Special:UserLogin/signup|创建新账户]]或[[Special:UserLogin|登录]]来避免垃拉将来搭其他匿名用户混淆。''",
 'noarticletext' => '箇页目前呒有文本。
@@ -822,8 +821,7 @@ $3封禁个原因是''$2''",
 'revdelete-no-file' => '指定文件弗存在。',
 'revdelete-show-file-confirm' => '侬阿是真个要查看文件“<nowiki>$1</nowiki>”垃拉$2 $3已经删除个修订?',
 'revdelete-show-file-submit' => '是',
-'revdelete-selected' => "'''选取'''[[:$1]]'''个$2趟修订:'''",
-'logdelete-selected' => "'''选取'''$1'''个日志事件:'''",
+'logdelete-selected' => '选取$1个日志事件:',
 'revdelete-confirm' => '假使侬想箇能介做个闲话,请确认侬已经清爽箇能介做个后果,外加箇个程序符合[[{{MediaWiki:Policy-url}}|政策]]。',
 'revdelete-suppress-text' => "'''只有'''出现下头眼情况再应阻止访问:
 * 弗适合个个人信息
@@ -914,7 +912,7 @@ $1",
 'titlematches' => '页面标题匹配',
 'textmatches' => '页面内容匹配',
 'notextmatches' => '呒没匹配个页面文本',
-'prevn' => '上个 $1',
+'prevn' => '前$1个',
 'nextn' => '下个 {{PLURAL:$1|$1}}',
 'prevn-title' => '前$1个结果',
 'nextn-title' => '后$1个结果',
@@ -1441,7 +1439,7 @@ $1",
 # Undelete
 'undeletepage' => '查看搭仔恢复删脱个页面',
 'viewdeletedpage' => '望望相删脱个页面',
-'undeletelink' => '查看/恢复',
+'undeletelink' => '查看/还原',
 'undeleteviewlink' => '望',
 'undeletecomment' => '理由:',
 'undelete-search-submit' => '搜尋',
@@ -1480,7 +1478,7 @@ $1",
 'whatlinkshere-next' => '后$1个',
 'whatlinkshere-links' => '←链进',
 'whatlinkshere-hideredirs' => '$1转戳',
-'whatlinkshere-hidetrans' => '$1å\8c\85å\90«',
+'whatlinkshere-hidetrans' => '$1åµ\8cå\85¥',
 'whatlinkshere-hidelinks' => '$1链接',
 'whatlinkshere-filters' => '过滤器',
 
@@ -1753,7 +1751,7 @@ $5
 'table_pager_limit' => '显示 $1 条每页',
 
 # Auto-summaries
-'autoredircomment' => '重定向到 [[$1]]',
+'autoredircomment' => '重定向页面至[[$1]]',
 'autosumm-new' => '新页面:$1',
 
 # Watchlist editor
index f9972ee..0589633 100644 (file)
@@ -281,7 +281,6 @@ $1',
 'disclaimers' => 'Дааврас эс зөвшәрлһн',
 'disclaimerpage' => 'Project:Даарас эс зөвшәрлһн',
 'edithelp' => 'Чикллһнә дөң',
-'helppage' => 'Help:Һарг',
 'mainpage' => 'Нүр халх',
 'mainpage-description' => 'Нүр халх',
 'policy-url' => 'Project:Бодлһн',
@@ -466,7 +465,7 @@ $1',
 'accmailtitle' => 'Нууц үгтә бичг йовулла.',
 'newarticle' => '(Шин)',
 'newarticletext' => "Та заалһиг дахад бәәдг уга халхд ирв.
-Терүг бүтәҗ болхла, дораһар терзд бичтн (дәкәд өггцнә төлә [[{{MediaWiki:Helppage}}|тәәлвр]] хәләтн).
+Терүг бүтәҗ болхла, дораһар терзд бичтн (дәкәд өггцнә төлә [$1 тәәлвр] хәләтн).
 Та эн һазрт эндүһәр бәәхлә, '''Хәрү''' дарциг дартн.",
 'noarticletext' => "Эн халх хоосн. Та [[Special:Search/{{PAGENAME}}|эн нернә сананд орулһна хәәх]] , <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} бүртклин бичгт хәәх], аль '''[{{fullurl:{{FULLPAGENAME}}|action=edit}} бүтәх]'''</span>.",
 'clearyourcache' => "'''Оньган өгтн:''' Кесн сольлһн үзхәр, тана хәләлгчин кеш цеврүлтн: '''Mozilla / Firefox''': ''Ctrl+Shift+R'', '''IE:''' ''Ctrl+F5'', '''Safari''': ''Cmd+Shift+R'', '''Konqueror''': ''F5'', '''Opera''': ''Tools→Preferences'' менүһәс.",
index 5f0af94..7d60c2f 100644 (file)
@@ -186,7 +186,6 @@ $messages = array(
 'disclaimers' => 'გამამინჯალაშ ვარება',
 'disclaimerpage' => 'Project:გამამინჯალაშ ვარება',
 'edithelp' => 'მოხვარა რედაქტირაფას',
-'helppage' => 'Help:დინორე',
 'mainpage' => 'დუდხასჷლა',
 'mainpage-description' => 'დუდხასჷლა',
 'portal' => 'ჯარალუაშ ხასჷლეფი',
@@ -308,7 +307,7 @@ $messages = array(
 რთხიინთ ქიმიოღანკათ თე მუნაჩემეფშე ნამდგაიჸინი (ვარა ჟირხოლო) თქვან კორესპონდენციას.",
 'newarticle' => '(ახალ)',
 'newarticletext' => "თქვა გეყ’უნელ რეთ ხასილაშ რცხის, ნამუთ დიო ვა რე დორცხუაფილ.
-ხასილაშ დარცხუაფალო გემიშეყ’ონით ტექსტ თუდონ ოჭკორიეშა. (ქოძირით[[{{MediaWiki:Helppage}}|მოხვარაშ ხასილა]] უმოს ინფორმაციაშო).
+ხასილაშ დარცხუაფალო გემიშეყ’ონით ტექსტ თუდონ ოჭკორიეშა. (ქოძირით[\$1 მოხვარაშ ხასილა] უმოს ინფორმაციაშო).
 თე ხასილას ჩილათირო მოხვადით–და, ქიგუნჭირით თქვან ბრაუზერიშ კონჭის '''უკახალე'''.\"",
 'noarticletext' => 'ასე თე ხასილას ტექსტ ვა რე. 
 თქვა შეილებუნა [[Special:Search/{{PAGENAME}}|გორათ ათე ხასილაშ ჯოხო]] შხვა ხასილეფს,
index 2167c6d..4d3d5ae 100644 (file)
@@ -232,7 +232,7 @@ $messages = array(
 'tog-watchlisthidepatrolled' => 'באַהאַלטן פאַטראלירטע רעדאַקטירונגען פֿון דער אויפֿפאַסונג ליסטע',
 'tog-ccmeonemails' => 'שיק מיר קאפיעס פון בליצבריוו וואס איך שיק צו אנדערע באַניצער',
 'tog-diffonly' => 'ווייז נישט אינהאלט אונטער די דיפערענץ',
-'tog-showhiddencats' => 'ווײַז באהאלטענע קאטעגאריעס',
+'tog-showhiddencats' => 'ווײַזן באהאלטענע קאטעגאריעס',
 'tog-norollbackdiff' => 'היפט איבער ווײַזן אונטערשייד נאכן אויספֿירן א צוריקדריי',
 'tog-useeditwarning' => 'שטעלן א ווארענונג ווען איך לאז איבער א רעדאקטירונג בלאט מיט נישט אויפגעהיטענע ענדערונגען',
 'tog-prefershttps' => 'ניצט שטענדיק א זיכערע פארבינדונג ווען ארײַנגלאגירט',
@@ -445,7 +445,6 @@ $1',
 'disclaimers' => 'געזעצליכע אויפֿקלערונג',
 'disclaimerpage' => 'Project:קלארשטעלונג',
 'edithelp' => 'הילף וויאזוי צו ענדערן',
-'helppage' => 'Help:אינהאַלט',
 'mainpage' => 'הויפט זייט',
 'mainpage-description' => 'הויפט זייט',
 'policy-url' => 'Project:פאליסי',
@@ -647,6 +646,7 @@ $2',
 'gotaccountlink' => 'אַרײַנלאגירן',
 'userlogin-resetlink' => 'פארגעסן אײַערע אַרײַנלאָגירן פרטים?',
 'userlogin-resetpassword-link' => 'פֿאַרגעסן אײַער פאַסווארט?',
+'userlogin-helplink2' => 'הילף מיט ארײַנלאגירן',
 'userlogin-loggedin' => 'איר זענט שוין אריינלאגירט ווי {{GENDER:$1|$1}}.
 ניצט די פארעם אונטן כדי אריינלאגירן ווי אן אנדער באניצער.',
 'userlogin-createanother' => 'שאפֿן נאך א קאנטע',
@@ -774,6 +774,7 @@ $2',
 'resetpass-wrong-oldpass' => 'אומגילטיג צײַטווײַליק אדער לויפֿיק פאַסווארט.
 איר האט מעגלעך שוין געטוישט אייער פאַסווארט מיט הצלחה אדער געבעטן א נײַ  צײַטווײַליק פאַסווארט.',
 'resetpass-recycled' => 'זײַט אזוי גוט שטעטל אירע פאסווארט צו עפעס אנדערש פונעם לויפיקן פאסווארט.',
+'resetpass-temp-emailed' => 'איר האט זיך ארי לאגירת מיט א פראוויזארישן קאד געשיקט דורכן ע־פאסט. כדי שליסן דאס ארײַנלאגירן, דארט איר שטעלן א נײַ פאסווארט דא.',
 'resetpass-temp-password' => 'צײַטווייליק פאַסווארט:',
 'resetpass-abort-generic' => 'פאסווארט ענדערונג איז מבוטל געווארן דורך א פארברייטערונג.',
 'resetpass-expired' => 'אירע פאסווארט איז אויסגעגאנגען. זײַט אזוי גוט שטעלט א נײַ פאסווארט כדי ארײַנלאגירן.',
@@ -921,7 +922,7 @@ $2
 מען קען עס טוישן אויפֿן [[Special:ChangePassword|טוישן פאַסווארט]] בלאַט נאָכן ארײַנלאגירן.',
 'newarticle' => '(ניי)',
 'newarticletext' => "איר זענט געקומען צו אַ בלאַט וואָס עקזיסטירט נאָך נישט!
-כדי שאַפֿן דעם בלאַט, קלאַפט אַרײַן טעקסט אין דעם קעסטל אונטן (זעט דעם [[{{MediaWiki:Helppage}}|הילף בלאַט]] פֿאַר מער אינפֿארמאַציע).
+כדי שאַפֿן דעם בלאַט, קלאַפט אַרײַן טעקסט אין דעם קעסטל אונטן (זעט דעם [$1 הילף בלאַט] פֿאַר מער אינפֿארמאַציע).
 אויב איר זענט אַהערגעקומען בטעות, דרוקט דאָס '''Back''' קנעפל אין אײַער בלעטערער.",
 'anontalkpagetext' => "----'''דאָס איז א רעדן בלאַט פון א אַן אַנאנימען באַניצער וואָס האט נאך נישט געשאַפֿן קיין קאנטע, אדער באניצט זיך נישט דערמיט. דערוועגן, מוזן מיר זיך באניצן מיט זיין IP אדרעס כדי אים צו אידענטיפיצירן. עס קען זיין אז עטלעכע אנדערע ניצן אויך דעם  IP אדרעס. אויב זענט איר אן אנאנימער באַניצער וואס שפירט אז איר האט באקומען מעלדונגען וואס זענען נישט שייך צו אייך, ביטע [[Special:UserLogin/signup|שאַפֿט א קאנטע]] אדער [[Special:UserLogin|טוט זיך אריינלאגירן]] כדי צו פארמיידן דאס אין די עתיד זיך פארמישן מיט אנדערע אַנאנימע באַניצערס.'''",
 'noarticletext' => 'דערווייל איז נישט פאַרהאן קיין שום טעקסט אין דעם בלאט.
@@ -931,7 +932,7 @@ $2
 'noarticletext-nopermission' => 'דערווײַל איז נישט פאַראַן קיין שום טעקסט אין דעם בלאַט.
 איר קענט [[Special:Search/{{PAGENAME}}| זוכן דעם בלאט טיטל]] אין אנדערע בלעטער,
 אדער <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} נאָכזוכן די רעלעוואנטע לאגביכער]</span>., אבער איר זענט נישט ערלויבט צו שאפֿן דעם בלאט.',
-'missing-revision' => 'די רעוויזיע #$1 פונעם בלאט "{{PAGENAME}}" עקזיסטירט נישט.
+'missing-revision' => 'די רעוויזיע #$1 פונעם בלאט "{{FULLPAGENAME}}" עקזיסטירט נישט.
 
 דאס געשעט געוויינלעך פון פאלגן א פארעלטערטן היסטאריע לינק צו א בלאט וואס איז געווארן אויסגעמעקט.
 פרטים קען מען געפינען אינעם [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} אויסמעקונג לאגבוך].',
@@ -1163,8 +1164,7 @@ $2
 'revdelete-no-file' => 'די ספעציפֿירטע טעקע עקזיסטירט נישט.',
 'revdelete-show-file-confirm' => 'צי זענט איר זעכער איר ווילט באַקוקן אַן אויסגעמעקטע רעוויזיע פון דער טעקע "<nowiki>$1</nowiki>" פון $2 בשעה $3?',
 'revdelete-show-file-submit' => 'יא',
-'revdelete-selected' => "'''{{PLURAL:$2|אויסדערוויילטע ווערסיע| אויסדערוויילטע ווערסיעס}} פון [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1| אויסדערוויילטע לאג אקציע|אויסדערוויילטע לאג אקציעס}}:'''",
+'logdelete-selected' => '{{PLURAL:$1| אויסדערוויילטע לאג אקציע|אויסדערוויילטע לאג אקציעס}}:',
 'revdelete-confirm' => 'זייט אזוי גוט און באשטעטיקט אז דאס איז טאקע אייער כוונה, אז איר פארשטייט די קאנסעקווענצן, און אז איר טוט דאס לויט  [[{{MediaWiki:Policy-url}}|דער פאליסי]].',
 'revdelete-suppress-text' => "אונטערדרוקן זאל בלויז גענוצט ווערן '''נאר''' אין די פאלגנדע פעלער:
 * אינפארמאציע וואס קען זיין מוציא שם רע
@@ -2423,7 +2423,7 @@ $UNWATCHURL
 דא זענען די לויפֿיקע שטעלונגען פֿאַר דעם בלאַט '''$1''':",
 'protect-cascadeon' => 'דער בלאַט איז געשיצט אַצינד ווײַל ער איז אײַנגעשלאסן אין  {{PLURAL:$1|דעם פֿאלגנדן בלאַט, וואס האט|די פֿאלגנדע בלעטער, וואס האבן}} קאַסקאַדירטע שיצונג.
 
\90×\99ר ×§×¢× ×\98 ×¢× ×\93ער×\9f ×\93×¢×\9d ×©×\99צ×\95× ×\92 × ×\99×\95×\95×\90 ×¤×\95× ×¢×\9d ×\91×\9c×\90Ö·×\98, ×\90×\91ער ×\93×\90ס ×\95×\95×¢×\98 נישט ווירקן אויף דער קאַסקאַדירטער שיצונג .',
¢× ×\93ער×\95× ×\92×¢×\9f ×¦×\95×\9d ×©×\99צ×\95× ×\92 × ×\99×\95×\95×\90 ×¤×\95× ×¢×\9d ×\91×\9c×\90Ö·×\98 ×\95×\95×¢×\9c×\9f נישט ווירקן אויף דער קאַסקאַדירטער שיצונג .',
 'protect-default' => 'אלע באניצער ערלויבט',
 'protect-fallback' => 'דערלויבן נאר באניצער מיט "$1" ערלויבניש',
 'protect-level-autoconfirmed' => 'לאזן נאר אויטאמאטיש באשטעטיקטע באַניצער',
@@ -3801,8 +3801,11 @@ $5
 'tags-intro' => 'דער בלאַט ווײַזט די טאַגן מיט וואס דאס ווייכווארג קען צייכענען אַ רעדאַגירונג, און זייער באַטייַט.',
 'tags-tag' => 'טאַג נאָמען',
 'tags-display-header' => 'אויסזען אין ענדערונג רשימות',
-'tags-description-header' => 'פֿולי באַשרייַבונג פון באַטײַט',
+'tags-description-header' => 'פֿולע באַשרייַבונג פון באַטײַט',
+'tags-active-header' => 'אַקטיוו?',
 'tags-hitcount-header' => 'מארקירטע ענדערונגען',
+'tags-active-yes' => 'יא',
+'tags-active-no' => 'ניין',
 'tags-edit' => 'רעדאַקטירן',
 'tags-hitcount' => ' {{PLURAL:$1|ענדערונג|$1 ענדערונגען}}',
 
index 9516bd1..6a161b1 100644 (file)
@@ -300,7 +300,6 @@ $1',
 'disclaimers' => 'Ikìlọ̀',
 'disclaimerpage' => 'Project:Ìkìlọ̀ gbogbo',
 'edithelp' => 'Ìrànlọ́wọ́ fún àtúnṣe',
-'helppage' => 'Help:Àwon àkóónú',
 'mainpage' => 'Ojúewé Àkọ́kọ́',
 'mainpage-description' => 'Ojúewé Àkọ́kọ́',
 'policy-url' => 'Project:Ìpinu',
@@ -739,7 +738,7 @@ $1 ni ó ṣe ìdínà.
 'accmailtext' => "A ti fi ọ̀rọ̀ìpamọ́ àrìnàkò tí a pèsè fún [[User talk:$1|$1]] ránṣẹ́ sí $2. Ẹ le ṣe àyípadà ọ̀rọ̀ìpamọ́ fún àpamọ́ tuntun yìí ní ibi ''[[Special:ChangePassword|àyípadà ọ̀rọ̀ìpamọ́]]'' lẹ́yìn tí ẹ bá ti jáwọlé.",
 'newarticle' => '(Tuntun)',
 'newarticletext' => "Ẹ ti tẹ̀lé ìjápọ̀ mọ́ ojúewé tí kò sí.
-Láti dá ojúewé yí ẹ bẹ̀rẹ̀ síní tẹ́kọ sí inú àpótí ìsàlẹ̀ yí (ẹ wo [[{{MediaWiki:Helppage}}|ojúewé ìrànlọ́wọ́ ]] fun ẹ̀kúnrẹ́rẹ́ ).
+Láti dá ojúewé yí ẹ bẹ̀rẹ̀ síní tẹ́kọ sí inú àpótí ìsàlẹ̀ yí (ẹ wo [$1 ojúewé ìrànlọ́wọ́ ] fun ẹ̀kúnrẹ́rẹ́ ).
 T'óbá sepé àsìse ló gbé yin dé bi, ẹ kọn bọ́tìnì ìpadàsẹ́yìn.",
 'anontalkpagetext' => "''Ojúewé ìfọ̀rọ̀wérọ̀ yìí wà fún oníṣe aláílórúkọ tí kò tíì dá àkópamọ́, tàbí tí kò lò ó rárá.
 Bí bẹ́ẹ̀ laṣe únlo àdírẹ́ẹ̀sì IP oníyenọ́mbà láti dáamọ̀.
@@ -751,7 +750,7 @@ Tó bá jẹ́ pé oníṣe aláìlórúkọ ni yín, tí ẹ sì ri pé wọ́n
 'noarticletext-nopermission' => 'Lọ́wọ́lọ́wọ́ kò sí ìkọ̀ nínú ojúewé yìí.
 Ẹ le [[Special:Search/{{PAGENAME}}|wá àkọlé ojúewé yìí]] nínú àwọn ojúewé mìíràn, tàbí
 <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} wá àwọn àkọọ́lẹ̀ tó bámu]</span>, sùgbọ́n ẹ kò ní àṣẹ láti ṣ\'ẹ̀dá ojúewé yìí.',
-'missing-revision' => 'Àtúnyẹ̀wò #$1 ojúewé tó únjẹ́ "{{PAGENAME}}" kò sí.
+'missing-revision' => 'Àtúnyẹ̀wò #$1 ojúewé tó únjẹ́ "{{FULLPAGENAME}}" kò sí.
 
 Èyí únsábà ṣẹlẹ̀ nítorípé ẹ tẹ̀lé ìtàn àjápọ̀ tí kò ṣiṣẹ́ mọ́ wá sí orí ojúewé tó ti jẹ́ píparẹ́.
 Ẹ̀kúnrẹ́rẹ́ wà nínú [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} àkọọ́lẹ̀ ìparẹ́].',
@@ -983,8 +982,7 @@ Tó bá jẹ́ pé ẹ ti wọlé, ẹ lè dẹ́kun ìkìlọ̀ yìí nínù ab
 'revdelete-no-file' => 'Fáìlì tójẹ́ títọ́kasí kò sí.',
 'revdelete-show-file-confirm' => 'Ṣé ẹ ní ìdálójú pé ẹ fẹ́ wo àtúnyẹ̀wó píparẹ́ ti fáìlì "<nowiki>$1</nowiki>" látọjọ́ $2 ní ago $3?',
 'revdelete-show-file-submit' => 'Bẹ́ẹ̀ni',
-'revdelete-selected' => "'''{{PLURAL:$2|Àtúnyẹ̀wò síṣàyàn|Àwọn àtúnyẹ̀wò síṣàyàn}} fún [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Àkọọ́lẹ̀ ìṣẹ̀lẹ̀ síṣàyàn|Àwọn àkọọ́lẹ̀ ìṣẹ̀lẹ̀ síṣàyàn}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Àkọọ́lẹ̀ ìṣẹ̀lẹ̀ síṣàyàn|Àwọn àkọọ́lẹ̀ ìṣẹ̀lẹ̀ síṣàyàn}}:',
 'revdelete-confirm' => 'Ẹ jọ̀wọ́ ẹ rídájú pé ohun tí ẹ fẹ́ ṣe nìyí, pé ohun tí yíò ṣẹlẹ̀ yé yín, bẹ́ẹ̀sìni pé ẹ̀ únṣe é lọ́nà tó bá  [[{{MediaWiki:Policy-url}}|àdéhùn]] mu.',
 'revdelete-suppress-text' => "Ìrẹ̀mọ́lẹ̀ gbọ́dọ̀ jẹ́ lílò fún àwọn ìṣẹ̀lẹ̀ ìsàlẹ̀ wọ̀nyí '''nìkan''':
 *Ọ̀rọ̀ tó le fa ẹjọ́ wá
index 6911b16..403b1c6 100644 (file)
@@ -478,7 +478,6 @@ $1',
 'disclaimers' => '免責聲明',
 'disclaimerpage' => 'Project:一般免責聲明',
 'edithelp' => '編輯協助',
-'helppage' => 'Help:目錄',
 'mainpage' => '頭版',
 'mainpage-description' => '頭版',
 'policy-url' => 'Project:政策',
@@ -804,7 +803,7 @@ $1',
 呢個新戶口嘅密碼可以響登入咗之後嘅''[[Special:ChangePassword|改密碼]]''版度改佢。",
 'newarticle' => '(新)',
 'newarticletext' => "你連連過嚟嘅頁面重未存在。
-要起版新嘅,請你喺下面嗰格度輸入。(睇睇[[{{MediaWiki:Helppage}}|自助版]]拎多啲資料。)
+要起版新嘅,請你喺下面嗰格度輸入。(睇睇[$1 自助版]拎多啲資料。)
 如果你係唔覺意嚟到呢度,撳一次你個瀏覽器'''返轉頭'''個掣。",
 'anontalkpagetext' => "----''呢度係匿名用戶嘅討論頁,佢可能係重未開戶口,或者佢重唔識開戶口。我哋會用數字表示嘅IP地址嚟代表佢。一個IP地址係可以由幾個用戶夾來用。如果你係匿名用戶,同覺得呢啲留言係同你冇關係嘅話,唔該去[[Special:UserLogin/signup|開一個新戶口]]或[[Special:UserLogin|登入]],避免喺以後嘅留言會同埋其它用戶混淆。''",
 'noarticletext' => '喺呢一頁而家並冇任何嘅文字,你可以喺其它嘅頁面中[[Special:Search/{{PAGENAME}}|搵呢一頁嘅標題]],
@@ -1013,8 +1012,7 @@ $1',
 'revdelete-no-file' => '指定嘅檔案未存在。',
 'revdelete-show-file-confirm' => '你係咪真係想去睇響$2 $3刪咗 "$1" 嘅檔案修訂?',
 'revdelete-show-file-submit' => '係',
-'revdelete-selected' => "'''揀[[:$1]]嘅$2次修訂:'''",
-'logdelete-selected' => "'''揀[[:$1]]嘅日誌事件:'''",
+'logdelete-selected' => '揀[[:$1]]嘅日誌事件:',
 'revdelete-confirm' => '請確認你肯定去做嘅話,你就要明白到後果,同埋呢個程序符合[[{{MediaWiki:Policy-url}}|政策]]。',
 'revdelete-suppress-text' => "壓制'''只'''應該響下面嘅情況之下進行:
 * 唔合適嘅個人資料
@@ -1145,7 +1143,7 @@ $1",
 'powersearch-legend' => '進階搵嘢',
 'powersearch-ns' => '喺以下嘅空間名度搵:',
 'powersearch-redir' => '彈去清單',
-'powersearch-togglelabel' => '查:',
+'powersearch-togglelabel' => 'æ£\80æ\9f¥ï¼\9a',
 'powersearch-toggleall' => '全部',
 'powersearch-togglenone' => '無',
 'search-external' => '出面搵嘢',
@@ -2227,7 +2225,7 @@ $1',
 'whatlinkshere-next' => '後$1版',
 'whatlinkshere-links' => '← 連結',
 'whatlinkshere-hideredirs' => '$1跳轉',
-'whatlinkshere-hidetrans' => '$1å\8c\85å\90«',
+'whatlinkshere-hidetrans' => '$1åµ\8cå\85¥',
 'whatlinkshere-hidelinks' => '$1連結',
 'whatlinkshere-hideimages' => '$1檔案連結',
 'whatlinkshere-filters' => '過濾器',
index 81f32f8..0a88dc5 100644 (file)
@@ -274,7 +274,6 @@ $1",
 'disclaimers' => 'Voebehoud',
 'disclaimerpage' => 'Project:Alhemeên voebehoud',
 'edithelp' => "Ulpe bie't bewerken",
-'helppage' => 'Help:Inoud',
 'mainpage' => 'Vòblad',
 'mainpage-description' => 'Vòblad',
 'policy-url' => 'Project:Beleid',
@@ -542,7 +541,7 @@ Voer jen e-mailadres in en bevestig 't via [[Special:Preferences|je vòkeuren]].
 'accmailtitle' => 'Wachtwoord verstierd.',
 'accmailtext' => "'t Wachtwoord vò $1 is nae $2 opgestierd.",
 'newarticle' => '(Nieuw)',
-'newarticletext' => "Deêze pagina besti nie. Typ in 't onderstaende veld om de pagina an te maeken (meêr informatie sti op de [[{{MediaWiki:Helppage}}|ulppagina]]).
+'newarticletext' => "Deêze pagina besti nie. Typ in 't onderstaende veld om de pagina an te maeken (meêr informatie sti op de [$1 ulppagina]).
 Gebruuk de knoppe '''vorige''' in je browser as je ier per ongeluk terecht bin ekomm'n.",
 'anontalkpagetext' => "----''Dit is de overlegbladzie vò 'n anonieme gebruker die-a gin inlognaem eit of 'm nie gebruukt.
 Zien/eur IP-adres kan deu meêr as eên gebruker gebruukt ore.
@@ -703,11 +702,7 @@ der kunn'n details anwezig zien in 't [{{fullurl:{{#Special:Log}}/suppress|page=
 'revisiondelete' => 'Versies verwiederen/trugplekken',
 'revdelete-nooldid-title' => 'Hin doelversie',
 'revdelete-nooldid-text' => 'Je ei hin doelversie(s) voe deêze handelienge opeheven, de aneheven versie besti nie, of je probeer de lèste versie te verberhen.',
-'revdelete-selected' => "'''Hesillecteerde {{PLURAL:$2|bewerkieng|bewerkiengen}} van [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Hesillecteerde logboekactie|Hesillecteerde logboekacties}}:'''",
-'revdelete-text' => "'''Verwiederde bewerkiengen zien zichbaer in de heschiedenisse, mè den inoud is nie langer publiek toehankelijk.'''
-
-Aore opzichters van {{SITENAME}} kunn'n de verborhen inoud benadern en de verwiederieng onedaene maeken mie de ulpe van dit scherm, tenzie an der anvull'nde beperkiengen heln die an zien inesteld deur de systeembeheêrder.",
+'logdelete-selected' => '{{PLURAL:$1|Hesillecteerde logboekactie|Hesillecteerde logboekacties}}:',
 'revdelete-legend' => "Zichbaereidsbeperkiengen instell'n",
 'revdelete-hide-text' => 'De bewerkte tekst verberhen',
 'revdelete-hide-image' => 'Bestandsinoud verberhen',
index ecb7510..c3b06d5 100644 (file)
@@ -517,7 +517,7 @@ $messages = array(
 'category-file-count-limited' => '以下{{PLURAL:$1|文件|$1个文件}}属于当前分类。',
 'listingcontinuesabbrev' => '续',
 'index-category' => '可索引页面',
-'noindex-category' => '禁止索引的页面',
+'noindex-category' => '不可索引页面',
 'broken-file-category' => '有受损文件链接的页面',
 'categoryviewer-pagedlinks' => '($1)($2)',
 
@@ -632,7 +632,6 @@ $1',
 'disclaimers' => '免责声明',
 'disclaimerpage' => 'Project:免责声明',
 'edithelp' => '编辑帮助',
-'helppage' => 'Help:目录',
 'mainpage' => '首页',
 'mainpage-description' => '首页',
 'policy-url' => 'Project:方针',
@@ -668,7 +667,7 @@ $1',
 'hidetoc' => '隐藏',
 'collapsible-collapse' => '折叠',
 'collapsible-expand' => '展开',
-'thisisdeleted' => '查看或恢复$1?',
+'thisisdeleted' => '查看或还原$1?',
 'viewdeleted' => '查看$1?',
 'restorelink' => '$1个已被删除的编辑',
 'feedlinks' => 'Feed:',
@@ -785,9 +784,9 @@ $2',
 'virus-unknownscanner' => '未知的反病毒软件:',
 
 # Login and logout pages
-'logouttext' => "'''您现在已经退出。'''
+'logouttext' => '<strong>你现在已经退出登录。</strong>
 
-请注意一些页面可能仍然显示您为登录状态,直到您清空您的浏览器缓存为止。",
+请注意,某些页面可能在你清除你的浏览器缓存之前,继续显示你处于登录状态。',
 'welcomeuser' => '欢迎,$1!',
 'welcomecreation-msg' => '你的账户已创建。请不要忘记更改你的[[Special:Preferences|{{SITENAME}}设置]]。',
 'yourname' => '用户名:',
@@ -797,7 +796,7 @@ $2',
 'yourpassword' => '密码:',
 'userlogin-yourpassword' => '密码',
 'userlogin-yourpassword-ph' => '请输入你的密码',
-'createacct-yourpassword-ph' => '请输入一个密码',
+'createacct-yourpassword-ph' => '请输入密码',
 'yourpasswordagain' => '请再次输入密码:',
 'createacct-yourpasswordagain' => '确认密码',
 'createacct-yourpasswordagain-ph' => '请再次输入密码',
@@ -831,7 +830,7 @@ $2',
 'createacct-another-join' => '在下方输入新帐户信息。',
 'createacct-emailrequired' => '电子邮件地址',
 'createacct-emailoptional' => '电子邮件地址(可选)',
-'createacct-email-ph' => '请输入的电子邮件地址',
+'createacct-email-ph' => '请输入的电子邮件地址',
 'createacct-another-email-ph' => '输入电子邮件地址',
 'createaccountmail' => '使用一个临时的随机密码并将其发送到指定的电子邮件地址中',
 'createacct-realname' => '真实姓名 (可选)',
@@ -840,11 +839,11 @@ $2',
 'createacct-reason-ph' => '你为什么要创建另一个账户',
 'createacct-captcha' => '安全检查',
 'createacct-imgcaptcha-ph' => '请输入上图中的文字',
-'createacct-submit' => '创建的账户',
+'createacct-submit' => '创建的账户',
 'createacct-another-submit' => '创建另一个账户',
-'createacct-benefit-heading' => '{{SITENAME}}æ\98¯ç\94±å\83\8fæ\82¨è¿\99æ ·ç\9a\84人建ç«\8b的。',
+'createacct-benefit-heading' => '{{SITENAME}}æ\98¯ç\94±å\90\8cä½ ä¸\80æ ·ç\9a\84人们æ\9e\84ç­\91的。',
 'createacct-benefit-body1' => '{{PLURAL:$1|次编辑}}',
-'createacct-benefit-body2' => '{{PLURAL:$1|个页面}}',
+'createacct-benefit-body2' => '$1个页面',
 'createacct-benefit-body3' => '位最近{{PLURAL:$1|贡献者}}',
 'badretype' => '您所输入的密码并不相同。',
 'userexists' => '用户名已存在。请使用其他名称。',
@@ -1069,11 +1068,11 @@ $2
 'accmailtitle' => '密码已寄出',
 'accmailtext' => "为[[User talk:$1|$1]]随机生成的密码已送至$2。登录后可以在''[[Special:ChangePassword|更改密码]]''页面中修改。",
 'newarticle' => '(新页面)',
-'newarticletext' => "你点击了一个尚不存在的页面的链接。要创建该页面,请在下面的编辑框中输入内容(更多信息请见[[{{MediaWiki:Helppage}}|帮助页面]])。如果你是错误地到达这里,请点击你的浏览器的'''返回'''按钮。",
+'newarticletext' => "你点击了一个尚不存在的页面的链接。要创建该页面,请在下面的编辑框中输入内容(更多信息请见[$1 帮助页面])。如果你是错误地到达这里,请点击你的浏览器的'''返回'''按钮。",
 'anontalkpagetext' => "---- ''这是一个还未建立账户的匿名用户的讨论页, 因此我们只能用IP地址来与他或她联络。该IP地址可能由几名用户共享。如果您是一名匿名用户并认为此页上的评语与您无关,请[[Special:UserLogin/signup|创建新账户]]或[[Special:UserLogin|登录]]以避免在未来与其他匿名用户混淆。''",
 'noarticletext' => '本页面目前没有内容。你可以在其他页面中[[Special:Search/{{PAGENAME}}|搜索本页标题]]、<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 搜索相关日志]或[{{fullurl:{{FULLPAGENAME}}|action=edit}} 编辑本页面]。</span>',
 'noarticletext-nopermission' => '本页面目前没有内容。你可以在其他页面中[[Special:Search/{{PAGENAME}}|搜索本页标题]]或<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 搜索相关日志]</span>,但你没有权限创建本页面。',
-'missing-revision' => '“{{PAGENAME}}”的修订#$1不存在。
+'missing-revision' => '“{{FULLPAGENAME}}”的修订#$1不存在。
 
 这通常是因为进入了一个已被删除的页面的历史链接。
 详细信息可以在[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} 删除日志]中找到。',
@@ -1228,13 +1227,13 @@ $3给出的原因是“$2”。",
 'cur' => '当前',
 'next' => '后继',
 'last' => '先前',
-'page_first' => '最早',
-'page_last' => 'æ\9c\80å\90\8e',
+'page_first' => '首页',
+'page_last' => 'æ\9c«é¡µ',
 'histlegend' => "差异选择:选出需要对比的版本,按“回车键”或下方的按钮进行对比。<br />
 说明:'''({{int:cur}})'''=与最后版本之间的差异,'''({{int:last}})'''=与上一版本之间的差异,'''{{int:minoreditletter}}'''=小编辑。",
 'history-fieldset-title' => '浏览历史',
 'history-show-deleted' => '仅已被删除',
-'histfirst' => 'æ\9c\80æ\97©',
+'histfirst' => 'æ\9c\80æ\97§',
 'histlast' => '最新',
 'historysize' => '($1字节)',
 'historyempty' => '(空)',
@@ -1249,7 +1248,7 @@ $3给出的原因是“$2”。",
 # Revision deletion
 'rev-deleted-comment' => '(编辑摘要被删除)',
 'rev-deleted-user' => '(用户名被删除)',
-'rev-deleted-event' => 'ï¼\88æ\97¥å¿\97æ\9d¡ç\9b®被删除)',
+'rev-deleted-event' => 'ï¼\88æ\97¥å¿\97æ\93\8dä½\9c被删除)',
 'rev-deleted-user-contribs' => '[用户名或IP地址被删除 - 编辑在贡献中隐藏]',
 'rev-deleted-text-permission' => "本页面版本已被'''删除'''。详情请见[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} 删除日志]。",
 'rev-deleted-text-unhide' => "本页面版本已被'''删除'''。详情请见[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} 删除日志]。如果你想继续操作,你仍然可以[$1 查看本版本]。",
@@ -1272,8 +1271,9 @@ $3给出的原因是“$2”。",
 'revdelete-no-file' => '指定的文件不存在。',
 'revdelete-show-file-confirm' => '确定要查看文件“<nowiki>$1</nowiki>”于$2$3被删除的版本吗?',
 'revdelete-show-file-submit' => '是',
-'revdelete-selected' => "'''选取'''[[:$1]]'''的$2次修订:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|选取的日志项目}}:'''",
+'revdelete-selected-text' => '已选择[[:$2]]的$1个版本:',
+'revdelete-selected-file' => '已选择文件[[:$2]]的$1个版本:',
+'logdelete-selected' => '{{PLURAL:$1|选取的日志项目}}:',
 'revdelete-text-text' => '已删除修订仍将在页面历史中显示,但涉及部分的内容将对公众不可见。',
 'revdelete-text-file' => '已删除文件版本仍将在文件历史中显示,但涉及部分的内容将对公众不可见。',
 'logdelete-text' => '已删除日志事件仍将在日志中显示,但涉及部分的内容将对公众不可见。',
@@ -1413,12 +1413,12 @@ $1",
 'searchrelated' => '相关',
 'searchall' => '所有',
 'showingresults' => "下面显示从第'''$2'''条结果开始的'''$1'''条结果。",
-'showingresultsinrange' => '以ä¸\8bæ\98¾ç¤ºä»\8e#<strong>$2</strong>è\87³#<strong>$3</strong>è\8c\83å\9b´ç\9a\84<strong>$1</strong>个结果。',
+'showingresultsinrange' => 'ä¸\8bé\9d¢æ\98¾ç¤ºå\8cºé\97´#<strong>$2</strong>è\87³#<strong>$3</strong>ç\9a\84<strong>$1</strong>æ\9d¡结果。',
 'showingresultsnum' => "下面显示从第'''$2'''条结果开始的'''$3'''条结果。",
 'showingresultsheader' => "关于'''$4'''的{{PLURAL:$5|第'''$1'''条结果,共'''$3'''条结果|第'''$1~$2'''条结果,共'''$3'''条结果}}",
 'search-nonefound' => '找不到和查询相匹配的结果。',
 'powersearch-legend' => '高级搜索',
-'powersearch-ns' => '在以下的名字空间中搜索:',
+'powersearch-ns' => '搜索名字空间:',
 'powersearch-redir' => '列出重定向',
 'powersearch-togglelabel' => '选择:',
 'powersearch-toggleall' => '全选',
@@ -1573,7 +1573,7 @@ $1",
 'group-sysop' => '管理员',
 'group-bureaucrat' => '行政员',
 'group-suppress' => '监督',
-'group-all' => '(全部)',
+'group-all' => '(所有)',
 
 'group-user-member' => '{{GENDER:$1|用户}}',
 'group-autoconfirmed-member' => '自动确认用户',
@@ -1620,7 +1620,7 @@ $1",
 'right-deletedtext' => '查看已被删除的文本及已删除版本间的差异',
 'right-browsearchive' => '搜索已被删除的页面',
 'right-undelete' => '还原页面',
-'right-suppressrevision' => '审æ\9f¥å\92\8cæ\81¢å¤\8då\90\91管理员隐藏的版本',
+'right-suppressrevision' => 'å¤\8d核并è¿\98å\8e\9f对管理员隐藏的版本',
 'right-suppressionlog' => '查看非公开日志',
 'right-block' => '阻止其他用户编辑',
 'right-blockemail' => '阻止用户发送电子邮件',
@@ -1688,7 +1688,7 @@ $1",
 'action-deletedhistory' => '查看本页面被删除的历史',
 'action-browsearchive' => '搜索已被删除的页面',
 'action-undelete' => '还原本页',
-'action-suppressrevision' => '审æ\9f¥å\92\8cæ\81¢å¤\8dæ\9c¬隐藏版本',
+'action-suppressrevision' => 'å¤\8d核并è¿\98å\8e\9f该隐藏版本',
 'action-suppressionlog' => '查看本非公开日志',
 'action-block' => '阻止该用户编辑',
 'action-protect' => '更改本页面的保护级别',
@@ -1714,7 +1714,7 @@ $1",
 'enhancedrc-history' => '历史',
 'recentchanges' => '最近更改',
 'recentchanges-legend' => '最近更改选项',
-'recentchanges-summary' => 'å\9c¨æ­¤é¡µé\9d¢ä¸\8aè·\9f踪维å\9fºç\9a\84更改。',
+'recentchanges-summary' => 'å\9c¨æ\9c¬é¡µé\9d¢è¿½è¸ªæ\9c¬wikiç\9a\84æ\9c\80è¿\91更改。',
 'recentchanges-noresult' => '在此期间没有符合这些条件的编辑',
 'recentchanges-feed-description' => '用这个源跟踪本wiki的最近更改。',
 'recentchanges-label-newpage' => '该编辑创建了新页面',
@@ -1745,7 +1745,7 @@ $1",
 'rcshowhidemine' => '$1我的编辑',
 'rcshowhidemine-show' => '显示',
 'rcshowhidemine-hide' => '隐藏',
-'rclinks' => '显示最后$2天的最后$1个更改<br />$3',
+'rclinks' => '显示过去$2天的最后$1个更改<br />$3',
 'diff' => '差异',
 'hist' => '历史',
 'hide' => '隐藏',
@@ -1774,22 +1774,22 @@ $1",
 # Upload
 'upload' => '上传文件',
 'uploadbtn' => '上传文件',
-'reuploaddesc' => '取消上传并返回上传表单',
-'upload-tryagain' => '提交修改后的文件描述',
+'reuploaddesc' => '取消上传,返回上传表格',
+'upload-tryagain' => '提交修改过的文件说明',
 'uploadnologin' => '未登录',
 'uploadnologintext' => '您必须先$1才能上传文件。',
 'upload_directory_missing' => '上传目录($1)遗失,不能由网页服务器建立。',
 'upload_directory_read_only' => '上传目录($1)不存在或无写权限。',
-'uploaderror' => '上传错误',
+'uploaderror' => '上传出错',
 'upload-recreate-warning' => "'''警告:一个相同名字的文件曾经被删除或者移动至别处。'''
 
 这个页面的删除和移动日志在这里提供以便参考:",
-'uploadtext' => "请使用下面的表格上传文件。要查看或搜索以前上传的文件,可以进入[[Special:FileList|文件上传列表]],(重新)上传也将在[[Special:Log/upload|上传日志]]中记录,而删除将在[[Special:Log/delete|删除日志]]中记录
+'uploadtext' => '请使用下面的表格上传文件。要查看或搜索以往上传的文件,请前往[[Special:FileList|上传的文件的列表]],(重新)上传也将记录在[[Special:Log/upload|上传日志]]中,删除将记录在[[Special:Log/delete|删除日志]]中
 
-è¦\81å\9c¨é¡µé\9d¢ä¸­å\8a å\85¥文件,请使用一种以下形式的链接:
-* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></code>'''使用文件的完整版本
-* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.png|200px|thumb|left|替换文字]]</nowiki></code>'''使用放置于左侧的一个框内的200像素宽的图片,同时使用“替换文字”作为描述
-* '''<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki></code>'''直接链接到文件而不显示文件",
+è¦\81å\9c¨é¡µé\9d¢ä¸­å\8c\85å\90«文件,请使用一种以下形式的链接:
+* <strong><code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></code></strong>使用文件的完整版本
+* <strong><code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.png|200px|thumb|left|替代文字]]</nowiki></code></strong>使用位于页面左边的框内的200像素宽的图片,以“替代文字”作为说明
+* <strong><code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki></code></strong>直接链接到文件而不显示文件',
 'upload-permitted' => '允许的文件类型:$1。',
 'upload-preferred' => '建议的文件类型:$1。',
 'upload-prohibited' => '禁止的文件类型:$1。',
@@ -1803,7 +1803,7 @@ $1",
 'filestatus' => '著作权状况:',
 'filesource' => '来源:',
 'uploadedfiles' => '已上传文件',
-'ignorewarning' => '忽视警告并继续保存文件',
+'ignorewarning' => '忽略警告,继续保存文件',
 'ignorewarnings' => '忽略所有警告',
 'minlength1' => '文件名至少要有一个字符。',
 'illegalfilename' => '文件名“$1”包含在页面标题中不允许使用的字符。请重命名该文件,然后重新上传。',
@@ -1833,10 +1833,7 @@ $1",
 'emptyfile' => '您所上传的文件不存在。这可能是由于文件名键入错误。请检查您是否真的要上传此文件。',
 'windows-nonascii-filename' => '本wiki不支持在文件名中使用特殊字符。',
 'fileexists' => '已存在相同名称的文件,如果您无法确定您是否要改变它,请检查<strong><strong>[[:$1]]</strong></strong>。 [[$1|thumb]]',
-'filepageexists' => '这个文件的描述页已经于<strong><strong>[[:$1]]</strong></strong>创建,但是这个名称的文件尚不存在。
-您输入的摘要不会显示在该描述页中。
-要令该摘要在该处中出现,您需要手动地编辑该页。
-[[$1|thumb]]',
+'filepageexists' => '该文件的说明页面已经创建于<strong>[[:$1]]</strong>,但是目前没有名称为此的文件存在。你输入的摘要不会显示在说明页面上。要使你的摘要在那里显示,你需要手工编辑它。[[$1|thumb]]',
 'fileexists-extension' => '一个相似名称的文件已经存在: [[$2|thumb]]
 * 上传文件的文件名:<strong>[[:$1]]</strong>
 * 现有文件的文件名:<strong>[[:$2]]</strong>
@@ -1984,7 +1981,7 @@ $1',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => '无法访问URL',
-'upload-curl-error6-text' => 'æ\97 æ³\95访é\97®æ\89\80æ\8f\90ä¾\9bç\9a\84URLã\80\82请å¤\8d查该URL是否正确,及其网站是否在线。',
+'upload-curl-error6-text' => 'æ\97 æ³\95访é\97®æ\8f\90ä¾\9bç\9a\84URLã\80\82请æ£\80查该URL是否正确,及其网站是否在线。',
 'upload-curl-error28' => '上传超时',
 'upload-curl-error28-text' => '站点响应时间过长。请检查此网站的访问是否正常,过一会再进行尝试。您可能需要在网络访问空闲时间再次进行尝试。',
 
@@ -2015,8 +2012,8 @@ $1',
 # File description page
 'file-anchor-link' => '文件',
 'filehist' => '文件历史',
-'filehist-help' => '查看某一时刻的文件,请单击相应的日期/时间。',
-'filehist-deleteall' => '删除全部',
+'filehist-help' => '单击某个日期/时间查看对应时刻的文件。',
+'filehist-deleteall' => '删除所有',
 'filehist-deleteone' => '删除',
 'filehist-revert' => '恢复',
 'filehist-current' => '当前',
@@ -2027,7 +2024,7 @@ $1',
 'filehist-user' => '用户',
 'filehist-dimensions' => '大小',
 'filehist-filesize' => '文件大小',
-'filehist-comment' => '评论',
+'filehist-comment' => '备注',
 'filehist-missing' => '文件遗失',
 'imagelinks' => '文件用途',
 'linkstoimage' => '以下{{PLURAL:$1|页面|$1个页面}}链接至本文件:',
@@ -2038,16 +2035,16 @@ $1',
 'morelinkstoimage' => '查看连接到这个文件的[[Special:WhatLinksHere/$1|更多链接]]。',
 'linkstoimage-redirect' => '$1(文件重定向)$2',
 'duplicatesoffile' => '以下{{PLURAL:$1|文件|$1个文件}}是本文件的副本([[Special:FileDuplicateSearch/$2|更多细节]]):',
-'sharedupload' => '本文件来自$1并可能被其项目使用。',
-'sharedupload-desc-there' => '本文件来自$1并可能被其项目使用。更多信息请见[$2 文件说明页面]。',
-'sharedupload-desc-here' => '本文件来自$1并可能被其项目使用。其[$2 文件说明页面]上的说明显示在下面。',
-'sharedupload-desc-edit' => '本文件来自$1并可能被其项目使用。也许你想要编辑其[$2 文件说明页面]上的说明。',
+'sharedupload' => '本文件来自$1并可能被其项目使用。',
+'sharedupload-desc-there' => '本文件来自$1并可能被其项目使用。更多信息请见[$2 文件说明页面]。',
+'sharedupload-desc-here' => '本文件来自$1并可能被其项目使用。其[$2 文件说明页面]上的说明显示在下面。',
+'sharedupload-desc-edit' => '本文件来自$1并可能被其项目使用。也许你想要编辑其[$2 文件说明页面]上的说明。',
 'sharedupload-desc-create' => '本文件来自$1并可能被其他项目使用。也许你想要编辑其[$2 文件说明页面]上的说明。',
 'filepage-nofile' => '不存在此名称的文件。',
 'filepage-nofile-link' => '不存在此名称的文件,但您可以[$1 上传它]。',
 'uploadnewversion-linktext' => '上传该文件的新版本',
-'shared-repo-from' => '自$1',
-'shared-repo' => '一个共文件库',
+'shared-repo-from' => '自$1',
+'shared-repo' => '一个共文件库',
 'shared-repo-name-wikimediacommons' => '维基共享资源',
 'upload-disallowed-here' => '您不可以覆盖此文件。',
 
@@ -2094,6 +2091,11 @@ $1',
 # List redirects
 'listredirects' => '重定向列表',
 
+# List duplicated files special page
+'listduplicatedfiles' => '重复文件列表',
+'listduplicatedfiles-summary' => '这是某文件的最新版本与其他文件最新版本重复的文件列表。仅考虑本地文件。',
+'listduplicatedfiles-entry' => '文件[[:File:$1|$1]]与[[$3|$2个重复]]。',
+
 # Unused templates
 'unusedtemplates' => '未使用模板',
 'unusedtemplatestext' => '本页面列出{{ns:template}}名字空间中所有未包含于其它页面的页面。请记得在删除这些模板前检查其他链至它们的链接。',
@@ -2123,7 +2125,7 @@ $1',
 'statistics-header-hooks' => '其它统计',
 'statistics-articles' => '内容页面',
 'statistics-pages' => '页面',
-'statistics-pages-desc' => '本wiki的所有页面,包括讨论页面、重定向页等',
+'statistics-pages-desc' => '本wiki的所有页面,包括讨论页面、重定向等。',
 'statistics-files' => '已上传文件',
 'statistics-edits' => '自{{SITENAME}}建立以来的页面编辑数',
 'statistics-edits-average' => '每页平均编辑数',
@@ -2132,7 +2134,7 @@ $1',
 'statistics-views-peredit' => '每编辑查看数',
 'statistics-users' => '注册[[Special:ListUsers|用户]]',
 'statistics-users-active' => '活跃用户',
-'statistics-users-active-desc' => '在前$1天中操作过的用户',
+'statistics-users-active-desc' => '在过去{{PLURAL:$1|$1天}}执行过操作的用户',
 'statistics-mostpopular' => '最多查看页面',
 
 'pageswithprop' => '有页面属性的页面',
@@ -2310,7 +2312,7 @@ $1',
 
 # Special:ActiveUsers
 'activeusers' => '活跃用户列表',
-'activeusers-intro' => '这个列表列出了最近$1天进行过操作的用户。',
+'activeusers-intro' => '这是在过去$1{{PLURAL:$1|天}}有过某种活动的用户的列表。',
 'activeusers-count' => '最近$3天内有$1次编辑',
 'activeusers-from' => '显示用户开始于:',
 'activeusers-hidebots' => '隐藏机器人',
@@ -2397,7 +2399,7 @@ $1',
 'watchmethod-list' => '查看监视页中的最新修改',
 'watchlistcontains' => '您的监视列表包含$1个页面。',
 'iteminvalidname' => "页面'$1'错误,无效命名...",
-'wlnote2' => '以ä¸\8bæ\98¯æ\9c\80è¿\91<strong>$1</strong>å°\8fæ\97¶ç\9a\84å\8f\98å\8c\96,截至$2 $3。',
+'wlnote2' => 'ä¸\8bé\9d¢æ\98¯è¿\87å\8e»{{PLURAL:$1|<strong>$1</strong>å°\8fæ\97¶}}ç\9a\84æ\9b´æ\94¹,截至$2 $3。',
 'wlshowlast' => '显示过去$1小时$2天$3',
 'watchlist-options' => '监视列表选项',
 
@@ -2417,7 +2419,7 @@ $1',
 'enotif_body_intro_deleted' => '{{SITENAME}}页面$1已于$PAGEEDITDATE被$2{{GENDER:$2|删除}},请见$3。',
 'enotif_body_intro_created' => '{{SITENAME}}页面$1已于$PAGEEDITDATE被$2{{GENDER:$2|创建}},请浏览<$3>查看当前版本。',
 'enotif_body_intro_moved' => '{{SITENAME}}页面$1已于$PAGEEDITDATE被$2{{GENDER:$2|移动}},请浏览<$3>查看当前版本。',
-'enotif_body_intro_restored' => '{{SITENAME}}页面$1已于$PAGEEDITDATE被$2{{GENDER:$2|恢复}},请浏览<$3>查看当前版本。',
+'enotif_body_intro_restored' => '{{SITENAME}}页面$1已于$PAGEEDITDATE被$2{{GENDER:$2|还原}},请浏览$3查看当前版本。',
 'enotif_body_intro_changed' => '{{SITENAME}}页面$1已于$PAGEEDITDATE被$2{{GENDER:$2|更改}},请浏览 $3 查看当前版本。',
 'enotif_lastvisited' => '请浏览 $1 查看在你上次访问后的所有更改。',
 'enotif_lastdiff' => '请浏览 $1 查看该更改。',
@@ -2493,7 +2495,7 @@ $UNWATCHURL
 'alreadyrolled' => '无法回退[[User:$2|$2]]([[User talk:$2|讨论]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]])对[[:$1]]的编辑,其他人已经编辑或者回退了该页。
 
 本页最后的编辑者是[[User:$3|$3]]([[User talk:$3|讨论]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]])。',
-'editcomment' => '编辑摘要:"<i>$1</i>"。',
+'editcomment' => "编辑摘要:“''$1''”。",
 'revertpage' => '恢复[[Special:Contributions/$2|$2]]([[User talk:$2|讨论]])的编辑至[[User:$1|$1]]的最后版本',
 'revertpage-nouser' => '恢复隐藏用户的编辑至{{GENDER:$1|[[User:$1|$1]]}}的最后版本',
 'rollback-success' => '已恢复$1的编辑,更改回$2的最后版本。',
@@ -2509,7 +2511,7 @@ $UNWATCHURL
 'protectlogtext' => '下面是页面保护更改的列表。请见[[Special:ProtectedPages|受保护页面列表]]查看目前正在进行的页面保护的列表。',
 'protectedarticle' => '保护“[[$1]]”',
 'modifiedarticleprotection' => '更改“[[$1]]”的保护等级',
-'unprotectedarticle' => '解除“[[$1]]”的保护',
+'unprotectedarticle' => '移除保护自“[[$1]]”',
 'movedarticleprotection' => '移动保护设置自“[[$2]]”至“[[$1]]”',
 'protect-title' => '更改“$1”的保护等级',
 'protect-title-notallowed' => '查看“$1”的保护等级',
@@ -2523,12 +2525,12 @@ $UNWATCHURL
 'protectexpiry' => '到期:',
 'protect_expiry_invalid' => '输入的终止时间无效。',
 'protect_expiry_old' => '终止时间已过去。',
-'protect-unchain-permissions' => '解é\99¤é\94\81å®\9aæ\9b´å¤\9aç\9a\84保护选项',
+'protect-unchain-permissions' => '解é\94\81æ\9b´å¤\9a保护选项',
 'protect-text' => '您可以在这里浏览和修改对页面<strong>$1</strong>的保护级别。',
 'protect-locked-blocked' => "您不能在被封禁时更改保护级别。以下是页面'''$1'''的当前设置:",
 'protect-locked-dblock' => "您不能在数据库锁定时更改保护级别。以下是页面'''$1'''的当前设置:",
 'protect-locked-access' => "您的帐户没有足够的权限去更改保护级别。以下是页面'''$1'''的当前设置:",
-'protect-cascadeon' => '以下的{{PLURAL:$1|一个|多个}}页面包含  本页面的同时,启动了连锁保护,因此本页面目前也被保护,未能编辑。您可以设置本页面的保护级别,但这并不会对连锁保护有所影响。',
+'protect-cascadeon' => '以下$1个页面包含本页面的同时,启动了连锁保护,因此此页面也被保护。您可以设置本页面的保护级别,但这并不会对连锁保护有所影响。',
 'protect-default' => '允许所有用户',
 'protect-fallback' => '仅允许拥有“$1”权限的用户',
 'protect-level-autoconfirmed' => '仅允许自动确认用户',
@@ -2575,7 +2577,7 @@ $UNWATCHURL
 'undeletepagetitle' => "'''以下包含[[:$1]]的已删除之修订版本'''。",
 'viewdeletedpage' => '查看被删页面',
 'undeletepagetext' => '以下{{PLURAL:$1|页面|$1个页面}}已被删除,但依然在归档中并可以被恢复。归档可能会被定时清理。',
-'undelete-fieldset-title' => '恢复版本',
+'undelete-fieldset-title' => '还原版本',
 'undeleteextrahelp' => "要恢复该页面的整个历史记录时,不选中任何复选框直接点击'''''{{int:undeletebtn}}'''''。要选择性地恢复部分版本时,请选中相应版本前的复选框再点击'''''{{int:undeletebtn}}'''''。",
 'undeleterevisions' => '$1版本存档',
 'undeletehistory' => '如果您恢复了该页面,所有版本都会被恢复到修订历史中。
@@ -2590,14 +2592,14 @@ $UNWATCHURL
 'undeleteviewlink' => '查看',
 'undeleteinvert' => '反向选择',
 'undeletecomment' => '原因:',
-'undeletedrevisions' => '{{PLURAL:$1|$1个版本}}被还原',
-'undeletedrevisions-files' => '{{PLURAL:$1|$1个版本}}和{{PLURAL:$2|$2个文件}}被还原',
-'undeletedfiles' => '{{PLURAL:$1|$1个文件}}被还原',
+'undeletedrevisions' => '还原{{PLURAL:$1|$1个版本}}',
+'undeletedrevisions-files' => '还原{{PLURAL:$1|$1个版本}}和{{PLURAL:$2|$2个文件}}',
+'undeletedfiles' => '还原{{PLURAL:$1|$1个文件}}',
 'cannotundelete' => '恢复删除失败:
 $1',
-'undeletedpage' => "'''$1已经被恢复'''
+'undeletedpage' => '<strong>$1已经被还原</strong>
 
-参考[[Special:Log/delete|删除日志]]查看删除及恢复记录。",
+最近的删除和还原记录请见[[Special:Log/delete|删除日志]]。',
 'undelete-header' => '如要查询最近的记录请参阅[[Special:Log/delete|删除日志]]。',
 'undelete-search-title' => '搜索已删除页面',
 'undelete-search-box' => '搜索已删除页面',
@@ -2609,7 +2611,7 @@ $1',
 'undelete-cleanup-error' => '删除无用的存档文件“$1”时发生错误。',
 'undelete-missing-filearchive' => '由于文件存档 ID $1 不在数据库中,不能在文件存档中恢复。它可能已经被恢复了。',
 'undelete-error' => '还原页面出错',
-'undelete-error-short' => '恢复被删文件时发生错误:$1',
+'undelete-error-short' => '还原文件时出错:$1',
 'undelete-error-long' => '恢复被删除的文件时出错:
 
 $1',
@@ -2664,13 +2666,13 @@ $1',
 'isredirect' => '重定向页面',
 'istemplate' => '包含',
 'isimage' => '文件链接',
-'whatlinkshere-prev' => '上$1个',
-'whatlinkshere-next' => '下$1个',
-'whatlinkshere-links' => '←链入页面',
-'whatlinkshere-hideredirs' => '$1重定向',
-'whatlinkshere-hidetrans' => '$1å\8c\85å\90«',
+'whatlinkshere-prev' => '{{PLURAL:$1|前|前$1个}}',
+'whatlinkshere-next' => '{{PLURAL:$1|后|后$1个}}',
+'whatlinkshere-links' => '←链',
+'whatlinkshere-hideredirs' => '$1重定向',
+'whatlinkshere-hidetrans' => '$1åµ\8cå\85¥',
 'whatlinkshere-hidelinks' => '$1链接',
-'whatlinkshere-hideimages' => '$1文件链接',
+'whatlinkshere-hideimages' => '$1文件链接',
 'whatlinkshere-filters' => '过滤器',
 
 # Block/unblock
@@ -2758,8 +2760,8 @@ $1被封禁的理由是“$2”',
 'blocklogpage' => '封禁日志',
 'blocklog-showlog' => '该用户曾被封禁。下面提供封禁日志以供参考:',
 'blocklog-showsuppresslog' => '该用户曾被封禁并隐藏。下面提供封锁日志以供参考:',
-'blocklogentry' => '封禁[[$1]],到期时间为$2$3',
-'reblock-logentry' => '更改[[$1]]的封禁设置,到期时间为$2$3',
+'blocklogentry' => '封禁[[$1]],终止时间为$2$3',
+'reblock-logentry' => '更改[[$1]]的封禁设置,终止时间为$2$3',
 'blocklogtext' => '这是用户封禁和解封操作的日志。自动封禁IP地址没有列出。请见[[Special:BlockList|封禁列表]]查看目前正在进行的阻止和封禁的列表。',
 'unblocklogentry' => '解封$1',
 'block-log-flags-anononly' => '仅限匿名用户',
@@ -2907,7 +2909,7 @@ $1被封禁的理由是“$2”',
 
 此外您还可以利用链接导出文件,例如您可以使用[[{{#Special:Export}}/{{MediaWiki:Mainpage}}]]导出“[[{{MediaWiki:Mainpage}}]]”页面。',
 'exportall' => '导出所有页面',
-'exportcuronly' => 'ä»\85å\8c\85å\90«å½\93å\89\8dç\9a\84修订ï¼\8cè\80\8cä¸\8dæ\98¯å\85¨é\83¨ç\9a\84历史。',
+'exportcuronly' => 'ä»\85å\8c\85å\90«å½\93å\89\8dç\89\88æ\9c¬ï¼\8cè\80\8cä¸\8dæ\98¯å®\8cæ\95´历史。',
 'exportnohistory' => "----
 '''注意:'''由于性能原因,从此表单导出页面的全部历史已被禁用。",
 'exportlistauthors' => '为每个页面包含贡献者的完整列表',
@@ -2931,7 +2933,7 @@ $1被封禁的理由是“$2”',
 'allmessages-filter-legend' => '过滤',
 'allmessages-filter' => '按自定义状态过滤:',
 'allmessages-filter-unmodified' => '未修改',
-'allmessages-filter-all' => '全部',
+'allmessages-filter-all' => '所有',
 'allmessages-filter-modified' => '曾修改',
 'allmessages-prefix' => '以前缀过滤:',
 'allmessages-language' => '语言:',
@@ -3006,10 +3008,10 @@ $2',
 # Import log
 'importlogpage' => '导入日志',
 'importlogpagetext' => '管理性导入在其他wiki上有编辑历史的页面。',
-'import-logentry-upload' => '文件上传导入[[$1]]',
+'import-logentry-upload' => '通过文件上传导入[[$1]]',
 'import-logentry-upload-detail' => '$1个版本',
 'import-logentry-interwiki' => '跨wiki$1',
-'import-logentry-interwiki-detail' => '来自$2的$1个修订',
+'import-logentry-interwiki-detail' => '来自$2的$1个{{PLURAL:$1|版本}}',
 
 # JavaScriptTest
 'javascripttest' => 'JavaScript测试',
@@ -3055,7 +3057,7 @@ $2',
 'tooltip-n-recentchanges' => '本wiki最近更改的列表',
 'tooltip-n-randompage' => '载入一个随机页面',
 'tooltip-n-help' => '查找帮助的地方',
-'tooltip-t-whatlinkshere' => '所有链至本页的维基页面的列表',
+'tooltip-t-whatlinkshere' => '所有链接至本页面的wiki页面的列表',
 'tooltip-t-recentchangeslinked' => '链自本页的页面的最近更改',
 'tooltip-feed-rss' => '本页面的RSS源',
 'tooltip-feed-atom' => '本页面的Atom源',
@@ -3418,7 +3420,7 @@ Variants for Chinese language
 'exif-contrast' => '对比度',
 'exif-saturation' => '饱和度',
 'exif-sharpness' => '锐化',
-'exif-devicesettingdescription' => '设备设定描述',
+'exif-devicesettingdescription' => '设备设置说明',
 'exif-subjectdistancerange' => '主体距离范围',
 'exif-imageuniqueid' => '唯一图像ID',
 'exif-gpsversionid' => 'GPS标签版本',
@@ -3474,7 +3476,7 @@ Variants for Chinese language
 'exif-editstatus' => '编辑状态的图像',
 'exif-urgency' => '紧急性',
 'exif-fixtureidentifier' => '夹具名称',
-'exif-locationdest' => '位置描述',
+'exif-locationdest' => '描绘的地点',
 'exif-locationdestcode' => '位置所示的代码',
 'exif-objectcycle' => '媒体文件使用时间要求',
 'exif-contact' => '联系信息',
@@ -3511,9 +3513,9 @@ Variants for Chinese language
 'exif-intellectualgenre' => '项目类型',
 'exif-subjectnewscode' => '主题代码',
 'exif-scenecode' => 'IPTC 现场代码',
-'exif-event' => '事件描述',
-'exif-organisationinimage' => '组织描述',
-'exif-personinimage' => '描述的人',
+'exif-event' => '描绘的事件',
+'exif-organisationinimage' => '描绘的组织',
+'exif-personinimage' => '描绘的人物',
 'exif-originalimageheight' => '裁剪前的图像高度',
 'exif-originalimagewidth' => '裁剪前的图像宽度',
 
@@ -3731,8 +3733,8 @@ Variants for Chinese language
 
 # 'all' in various places, this might be different for inflected languages
 'watchlistall2' => '所有',
-'namespacesall' => '全部',
-'monthsall' => '全部',
+'namespacesall' => '所有',
+'monthsall' => '所有',
 
 # Email address confirmation
 'confirmemail' => '确认邮箱地址',
@@ -3819,6 +3821,7 @@ $5
 # Separators for various lists, etc.
 'comma-separator' => '、',
 'colon-separator' => ':',
+'pipe-separator' => '&#32;|&#32;',
 'word-separator' => '',
 'parentheses' => '($1)',
 'quotation-marks' => '“$1”',
@@ -3885,7 +3888,7 @@ $5
 'watchlistedit-raw-removed' => '$1个标题被删除:',
 
 # Watchlist editing tools
-'watchlisttools-view' => '查看关更改',
+'watchlisttools-view' => '查看关更改',
 'watchlisttools-edit' => '查看并编辑监视列表',
 'watchlisttools-raw' => '编辑原始监视列表',
 
@@ -4069,15 +4072,15 @@ MediaWiki发表时预期有用,但对此'''无任何保证''',亦无隐含
 'revdelete-content-hid' => '隐藏内容',
 'revdelete-summary-hid' => '隐藏编辑摘要',
 'revdelete-uname-hid' => '隐藏用户名',
-'revdelete-content-unhid' => '恢复内容',
-'revdelete-summary-unhid' => '恢复编辑摘要',
-'revdelete-uname-unhid' => '恢复用户名',
+'revdelete-content-unhid' => '公开内容',
+'revdelete-summary-unhid' => '公开编辑摘要',
+'revdelete-uname-unhid' => '公开用户名',
 'revdelete-restricted' => '应用对管理员的限制',
 'revdelete-unrestricted' => '删除对管理员的限制',
-'logentry-move-move' => '$1移动$3页面至$4',
-'logentry-move-move-noredirect' => '$1移动$3页面至$4,不留重定向',
-'logentry-move-move_redir' => '$1移动页面$3覆盖重定向页$4',
-'logentry-move-move_redir-noredirect' => '$1通过重定向移动$3页面至$4,不留重定向',
+'logentry-move-move' => '$1{{GENDER:$2|移动}}页面$3至$4',
+'logentry-move-move-noredirect' => '$1{{GENDER:$2|移动}}页面$3至$4,不留重定向',
+'logentry-move-move_redir' => '$1{{GENDER:$2|移动}}页面$3至$4覆盖重定向',
+'logentry-move-move_redir-noredirect' => '$1{{GENDER:$2|移动}}页面$3至$4覆盖重定向,不留重定向',
 'logentry-patrol-patrol' => '$1{{GENDER:$2|标记}}页面$3的版本$4为已巡查',
 'logentry-patrol-patrol-auto' => '$1自动{{GENDER:$2|标记}}页面$3的版本$4为已巡查',
 'logentry-newusers-newusers' => '用户账户$1被{{GENDER:$2|创建}}',
@@ -4085,9 +4088,9 @@ MediaWiki发表时预期有用,但对此'''无任何保证''',亦无隐含
 'logentry-newusers-create2' => '用户账户$3被$1{{GENDER:$2|创建}}',
 'logentry-newusers-byemail' => '$1创建用户$3,并且密码已通过电子邮件发送',
 'logentry-newusers-autocreate' => '用户账户$1被自动{{GENDER:$2|创建}}',
-'logentry-rights-rights' => '$1将$3的用户组从$4改为$5',
+'logentry-rights-rights' => '$1{{GENDER:$2|更改}}$3的用户组自$4至$5',
 'logentry-rights-rights-legacy' => '$1更改$3的用户组',
-'logentry-rights-autopromote' => '$1的用户组已自动从$4改为$5',
+'logentry-rights-autopromote' => '$1被自动地{{GENDER:$2|提升}}自$4至$5',
 'rightsnone' => '(无)',
 
 # Feedback
index 2b063d3..be334e6 100644 (file)
@@ -515,7 +515,6 @@ $1',
 'disclaimers' => '免責聲明',
 'disclaimerpage' => 'Project:一般免責聲明',
 'edithelp' => '編輯幫助',
-'helppage' => 'Help:目錄',
 'mainpage' => '首頁',
 'mainpage-description' => '首頁',
 'policy-url' => 'Project:方針',
@@ -736,7 +735,7 @@ $2',
 'createacct-another-submit' => '建立另一帳號',
 'createacct-benefit-heading' => '{{SITENAME}}是由像您一樣的人建立。',
 'createacct-benefit-body1' => '{{PLURAL:$1|次編輯}}',
-'createacct-benefit-body2' => '{{PLURAL:$1|篇頁面}}',
+'createacct-benefit-body2' => '$1個頁面',
 'createacct-benefit-body3' => '位近期{{PLURAL:$1|貢獻者}}',
 'badretype' => '您所輸入的密碼並不符合。',
 'userexists' => '您所輸入的使用者名稱已存在,請另選一個名稱。',
@@ -973,7 +972,7 @@ $2
 'accmailtext' => "[[User talk:$1|$1]]的隨機產生密碼已經寄到$2。其可於登入後予以'''[[Special:ChangePassword|更改]]'''。",
 'newarticle' => '(新)',
 'newarticletext' => '您進入了一個尚未建立的頁面。
-要建立該頁面,請在下面的編輯框中輸入內容(詳情參見[[{{MediaWiki:Helppage}}|幫助]])。
+要建立該頁面,請在下面的編輯框中輸入內容(詳情參見[$1 幫助])。
 如果您是不小心來到此頁面,直接點擊您瀏覽器中的「返回」按鈕返回。',
 'anontalkpagetext' => "---- ''這是一個還未建立賬號的匿名用戶的對話頁。我們因此只能用IP地址來與他/她聯絡。該IP地址可能由幾名用戶共享。如果您是一名匿名用戶並認為本頁上的評語與您無關,請[[Special:UserLogin/signup|創建新賬號]]或[[Special:UserLogin|登入]]以避免在未來於其他匿名用戶混淆。''",
 'noarticletext' => '此頁面目前沒有內容,您可以在其它頁面[[Special:Search/{{PAGENAME}}|搜尋此頁標題]],
@@ -981,7 +980,7 @@ $2
 或[{{fullurl:{{FULLPAGENAME}}|action=edit}} 編輯此頁]</span>。',
 'noarticletext-nopermission' => '此頁目前沒有內容。
 您可以在其它頁[[Special:Search/{{PAGENAME}}|搜尋此頁標題]],或<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 搜尋有關日誌]</span>,但您沒有權限建立此頁。',
-'missing-revision' => '「{{PAGENAME}}」的#$1修訂版本不存在。
+'missing-revision' => '「{{FULLPAGENAME}}」的#$1修訂版本不存在。
 
 這通常是因為過時的頁面歷史鏈接被刪除。
 詳情請閱[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} 刪除日誌]。',
@@ -1202,8 +1201,9 @@ $3所述禁止原因為“$2”。",
 'revdelete-no-file' => '指定的檔案不存在。',
 'revdelete-show-file-confirm' => '{{GENDER:|你|妳|你}}是否真的是想去檢視於$2 $3刪除「<nowiki>$1</nowiki>」的檔案修訂?',
 'revdelete-show-file-submit' => '是',
-'revdelete-selected' => "'''選取[[:$1]]的$2次修訂:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|選取的日誌項目}}:'''",
+'revdelete-selected-text' => '已選定[[:$2]]之$1個版本:',
+'revdelete-selected-file' => '已選定檔案[[:$2]]之$1個版本:',
+'logdelete-selected' => '{{PLURAL:$1|選取的日誌項目}}:',
 'revdelete-text-text' => '已刪除修訂版本仍將出現於頁面歷史中,唯將不公開內容訪問。',
 'revdelete-text-file' => '已刪除檔案版本仍將出現於檔案歷史中,唯將不公開內容訪問。',
 'logdelete-text' => '已刪除日誌活動仍將出現於日誌中,唯將不公開內容訪問。',
@@ -2041,6 +2041,11 @@ $1',
 # List redirects
 'listredirects' => '重定向清單',
 
+# List duplicated files special page
+'listduplicatedfiles' => '重複檔案列表',
+'listduplicatedfiles-summary' => '以下列表中某檔案之最新版本與其他檔案之最新版本重複。進包含本地檔案',
+'listduplicatedfiles-entry' => '檔案[[:File:$1|$1]]與[[$3|其他$2個重複]]。',
+
 # Unused templates
 'unusedtemplates' => '未使用的模板',
 'unusedtemplatestext' => '本頁面列出{{ns:template}}名字空間下所有未被其他頁面使用的頁面。請在刪除這些模板前檢查其他連入該模板的頁面。',
@@ -2490,7 +2495,7 @@ $UNWATCHURL
 以下是'''$1'''現時的保護級別:",
 'protect-locked-access' => "您的賬戶權限不能修改保護級別。
 以下是'''$1'''現時的保護級別:",
-'protect-cascadeon' => '以下的{{PLURAL:$1|一個|多個}}頁面包含着本頁面的同時,啟動了連鎖保護,因此本頁面目前也被保護,未能編輯。您可以設定本頁面的保護級別,但這並不會對連鎖保護有所影響。',
+'protect-cascadeon' => '以下$1個頁面包含着本頁面的同時,啟動了連鎖保護,因此本頁面目前也被保護。您可以設定本頁面的保護級別,但這並不會對連鎖保護有所影響。',
 'protect-default' => '容許所有用戶',
 'protect-fallback' => '僅允許有「$1」權限的用戶',
 'protect-level-autoconfirmed' => '僅允許自動確認使用者',
@@ -2593,8 +2598,8 @@ $1',
 'contribsub2' => '{{GENDER:$3|$1}} 的貢獻 ($2)',
 'nocontribs' => '沒有找到符合特徵的更改。',
 'uctop' => '(最新修改)',
-'month' => '從該月份 (或更早):',
-'year' => '從該年份 (或更早):',
+'month' => '截止月份:',
+'year' => '截止年份:',
 
 'sp-contributions-newbies' => '只顯示新建立之用戶的貢獻',
 'sp-contributions-newbies-sub' => '新手',
@@ -2630,7 +2635,7 @@ $1',
 'whatlinkshere-next' => '後$1個',
 'whatlinkshere-links' => '← 連入',
 'whatlinkshere-hideredirs' => '$1重定向',
-'whatlinkshere-hidetrans' => '$1å\8c\85å\90«',
+'whatlinkshere-hidetrans' => '$1åµ\8cå\85¥',
 'whatlinkshere-hidelinks' => '$1連結',
 'whatlinkshere-hideimages' => '$1檔案連結',
 'whatlinkshere-filters' => '搜尋',
@@ -3142,7 +3147,7 @@ $2',
 'pageinfo-templates' => '使用的模板($1)',
 'pageinfo-transclusions' => '使用的頁面($1)',
 'pageinfo-toolboxlink' => '頁面資訊',
-'pageinfo-redirectsto' => '重定向',
+'pageinfo-redirectsto' => '重定向',
 'pageinfo-redirectsto-info' => '資訊',
 'pageinfo-contentpage' => '計算為內容頁',
 'pageinfo-contentpage-yes' => '是',
index 9471c65..fb3c764 100644 (file)
--- a/load.php5
+++ b/load.php5
@@ -1,7 +1,7 @@
 <?php
 /**
- * Version of load.php to used in web server requiring .php5 extension
- * to execute scripts with PHP5 engine.
+ * Version of load.php to be used in web servers that require the .php5
+ * extension to execute scripts with the PHP5 engine.
  *
  * 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
index 32ecb1d..6d7de09 100644 (file)
@@ -86,7 +86,7 @@ class FindHooks extends Maintenance {
                        $IP . '/includes/htmlform/',
                        $IP . '/includes/installer/',
                        $IP . '/includes/interwiki/',
-                       $IP . '/includes/job/',
+                       $IP . '/includes/jobqueue/',
                        $IP . '/includes/json/',
                        $IP . '/includes/logging/',
                        $IP . '/includes/media/',
index 3b2374d..27a9ff1 100644 (file)
@@ -103,6 +103,17 @@ class GenerateJsonI18n extends Maintenance {
        protected function doShim( $jsondir ) {
                $shim = <<<'PHP'
 <?php
+/**
+ * This is a backwards-compatibility shim, generated by:
+ * https://git.wikimedia.org/blob/mediawiki%2Fcore.git/HEAD/maintenance%2FgenerateJsonI18n.php
+ *
+ * Beginning with MediaWiki 1.23, translation strings are stored in json files,
+ * and the EXTENSION.i18n.php file only exists to provide compatibility with
+ * older releases of MediaWiki. For more information about this migration, see:
+ * https://www.mediawiki.org/wiki/Requests_for_comment/Localisation_format
+ *
+ * This shim maintains compatibility back to MediaWiki 1.17.
+ */
 $messages = array();
 $GLOBALS['wgHooks']['LocalisationCacheRecache'][] = function ( $cache, $code, &$cachedData ) {
        $codeSequence = array_merge( array( $code ), $cachedData['fallbackSequence'] );
index 179fa5c..2ad9228 100644 (file)
@@ -6,7 +6,7 @@ annotationwiki|http://www.seedwiki.com/page.cfm?wikiid=368&doc=$1|0
 arxiv|http://www.arxiv.org/abs/$1|0
 c2find|http://c2.com/cgi/wiki?FindPage&value=$1|0
 cache|http://www.google.com/search?q=cache:$1|0
-commons|http://commons.wikimedia.org/wiki/$1|0
+commons|https://commons.wikimedia.org/wiki/$1|0
 corpknowpedia|http://corpknowpedia.org/wiki/index.php/$1|0
 dictionary|http://www.dict.org/bin/Dict?Database=*&Form=Dict1&Strategy=*&Query=$1|0
 disinfopedia|http://www.disinfopedia.org/wiki.phtml?title=$1|0
@@ -24,7 +24,7 @@ gentoo-wiki|http://gentoo-wiki.com/$1|0
 google|http://www.google.com/search?q=$1|0
 googlegroups|http://groups.google.com/groups?q=$1|0
 hammondwiki|http://www.dairiki.org/HammondWiki/$1|0
-hewikisource|http://he.wikisource.org/wiki/$1|1
+hewikisource|https://he.wikisource.org/wiki/$1|1
 hrwiki|http://www.hrwiki.org/index.php/$1|0
 imdb|http://us.imdb.com/Title?$1|0
 jargonfile|http://sunir.org/apps/meta.pl?wiki=JargonFile&redirect=$1|0
@@ -37,14 +37,14 @@ lqwiki|http://wiki.linuxquestions.org/wiki/$1|0
 lugkr|http://lug-kr.sourceforge.net/cgi-bin/lugwiki.pl?$1|0
 mathsongswiki|http://SeedWiki.com/page.cfm?wikiid=237&doc=$1|0
 meatball|http://www.usemod.com/cgi-bin/mb.pl?$1|0
-mediawikiwiki|http://www.mediawiki.org/wiki/$1|0
+mediawikiwiki|https://www.mediawiki.org/wiki/$1|0
 mediazilla|https://bugzilla.wikimedia.org/$1|1
 memoryalpha|http://www.memory-alpha.org/en/index.php/$1|0
 metawiki|http://sunir.org/apps/meta.pl?$1|0
-metawikimedia|http://meta.wikimedia.org/wiki/$1|0
+metawikimedia|https://meta.wikimedia.org/wiki/$1|0
 moinmoin|http://purl.net/wiki/moin/$1|0
 mozillawiki|http://wiki.mozilla.org/index.php/$1|0
-mw|http://www.mediawiki.org/wiki/$1|0
+mw|https://www.mediawiki.org/wiki/$1|0
 oeis|http://www.research.att.com/cgi-bin/access.cgi/as/njas/sequences/eisA.cgi?Anum=$1|0
 openfacts|http://openfacts.berlios.de/index.phtml?title=$1|0
 openwiki|http://openwiki.com/?$1|0
@@ -77,22 +77,22 @@ webseitzwiki|http://webseitz.fluxent.com/wiki/$1|0
 why|http://clublet.com/c/c/why?$1|0
 wiki|http://c2.com/cgi/wiki?$1|0
 wikia|http://www.wikia.com/wiki/$1|0
-wikibooks|http://en.wikibooks.org/wiki/$1|1
+wikibooks|https://en.wikibooks.org/wiki/$1|1
 wikicities|http://www.wikia.com/wiki/$1|0
 wikif1|http://www.wikif1.org/$1|0
 wikihow|http://www.wikihow.com/$1|0
 wikinfo|http://www.wikinfo.org/index.php/$1|0
-# The following wik[it]* interwikis but wikitravel belong to the Wikimedia Family:
-wikimedia|http://wikimediafoundation.org/wiki/$1|0
-wikinews|http://en.wikinews.org/wiki/$1|1
-wikipedia|http://en.wikipedia.org/wiki/$1|1
-wikiquote|http://en.wikiquote.org/wiki/$1|1
-wikisource|http://wikisource.org/wiki/$1|1
-wikispecies|http://species.wikimedia.org/wiki/$1|1
-wikitravel|http://wikitravel.org/en/$1|0
-wikiversity|http://en.wikiversity.org/wiki/$1|1
-wikt|http://en.wiktionary.org/wiki/$1|1
-wiktionary|http://en.wiktionary.org/wiki/$1|1
+# The following wik[it]* interwikis belong to the Wikimedia Family:
+wikimedia|https://wikimediafoundation.org/wiki/$1|0
+wikinews|https://en.wikinews.org/wiki/$1|1
+wikipedia|https://en.wikipedia.org/wiki/$1|1
+wikiquote|https://en.wikiquote.org/wiki/$1|1
+wikisource|https://wikisource.org/wiki/$1|1
+wikispecies|https://species.wikimedia.org/wiki/$1|1
+wikiversity|https://en.wikiversity.org/wiki/$1|1
+wikivoyage|https://en.wikivoyage.org/wiki/$1|1
+wikt|https://en.wiktionary.org/wiki/$1|1
+wiktionary|https://en.wiktionary.org/wiki/$1|1
 wlug|http://www.wlug.org.nz/$1|0
 zwiki|http://zwiki.org/$1|0
 zzz wiki|http://wiki.zzz.ee/index.php/$1|0
index 370460a..1d8b540 100644 (file)
@@ -8,7 +8,7 @@ REPLACE INTO /*$wgDBprefix*/interwiki (iw_prefix,iw_url,iw_local) VALUES
 ('arxiv','http://www.arxiv.org/abs/$1',0),
 ('c2find','http://c2.com/cgi/wiki?FindPage&value=$1',0),
 ('cache','http://www.google.com/search?q=cache:$1',0),
-('commons','http://commons.wikimedia.org/wiki/$1',0),
+('commons','https://commons.wikimedia.org/wiki/$1',0),
 ('corpknowpedia','http://corpknowpedia.org/wiki/index.php/$1',0),
 ('dictionary','http://www.dict.org/bin/Dict?Database=*&Form=Dict1&Strategy=*&Query=$1',0),
 ('disinfopedia','http://www.disinfopedia.org/wiki.phtml?title=$1',0),
@@ -26,7 +26,7 @@ REPLACE INTO /*$wgDBprefix*/interwiki (iw_prefix,iw_url,iw_local) VALUES
 ('google','http://www.google.com/search?q=$1',0),
 ('googlegroups','http://groups.google.com/groups?q=$1',0),
 ('hammondwiki','http://www.dairiki.org/HammondWiki/$1',0),
-('hewikisource','http://he.wikisource.org/wiki/$1',1),
+('hewikisource','https://he.wikisource.org/wiki/$1',1),
 ('hrwiki','http://www.hrwiki.org/index.php/$1',0),
 ('imdb','http://us.imdb.com/Title?$1',0),
 ('jargonfile','http://sunir.org/apps/meta.pl?wiki=JargonFile&redirect=$1',0),
@@ -39,14 +39,14 @@ REPLACE INTO /*$wgDBprefix*/interwiki (iw_prefix,iw_url,iw_local) VALUES
 ('lugkr','http://lug-kr.sourceforge.net/cgi-bin/lugwiki.pl?$1',0),
 ('mathsongswiki','http://SeedWiki.com/page.cfm?wikiid=237&doc=$1',0),
 ('meatball','http://www.usemod.com/cgi-bin/mb.pl?$1',0),
-('mediawikiwiki','http://www.mediawiki.org/wiki/$1',0),
+('mediawikiwiki','https://www.mediawiki.org/wiki/$1',0),
 ('mediazilla','https://bugzilla.wikimedia.org/$1',1),
 ('memoryalpha','http://www.memory-alpha.org/en/index.php/$1',0),
 ('metawiki','http://sunir.org/apps/meta.pl?$1',0),
-('metawikimedia','http://meta.wikimedia.org/wiki/$1',0),
+('metawikimedia','https://meta.wikimedia.org/wiki/$1',0),
 ('moinmoin','http://purl.net/wiki/moin/$1',0),
 ('mozillawiki','http://wiki.mozilla.org/index.php/$1',0),
-('mw','http://www.mediawiki.org/wiki/$1',0),
+('mw','https://www.mediawiki.org/wiki/$1',0),
 ('oeis','http://www.research.att.com/cgi-bin/access.cgi/as/njas/sequences/eisA.cgi?Anum=$1',0),
 ('openfacts','http://openfacts.berlios.de/index.phtml?title=$1',0),
 ('openwiki','http://openwiki.com/?$1',0),
@@ -79,22 +79,22 @@ REPLACE INTO /*$wgDBprefix*/interwiki (iw_prefix,iw_url,iw_local) VALUES
 ('why','http://clublet.com/c/c/why?$1',0),
 ('wiki','http://c2.com/cgi/wiki?$1',0),
 ('wikia','http://www.wikia.com/wiki/$1',0),
-('wikibooks','http://en.wikibooks.org/wiki/$1',1),
+('wikibooks','https://en.wikibooks.org/wiki/$1',1),
 ('wikicities','http://www.wikia.com/wiki/$1',0),
 ('wikif1','http://www.wikif1.org/$1',0),
 ('wikihow','http://www.wikihow.com/$1',0),
 ('wikinfo','http://www.wikinfo.org/index.php/$1',0),
-# The following wik[it]* interwikis but wikitravel belong to the Wikimedia Family:
-('wikimedia','http://wikimediafoundation.org/wiki/$1',0),
-('wikinews','http://en.wikinews.org/wiki/$1',1),
-('wikipedia','http://en.wikipedia.org/wiki/$1',1),
-('wikiquote','http://en.wikiquote.org/wiki/$1',1),
-('wikisource','http://wikisource.org/wiki/$1',1),
-('wikispecies','http://species.wikimedia.org/wiki/$1',1),
-('wikitravel','http://wikitravel.org/en/$1',0),
-('wikiversity','http://en.wikiversity.org/wiki/$1',1),
-('wikt','http://en.wiktionary.org/wiki/$1',1),
-('wiktionary','http://en.wiktionary.org/wiki/$1',1),
+# The following wik[it]* interwikis belong to the Wikimedia Family:
+('wikimedia','https://wikimediafoundation.org/wiki/$1',0),
+('wikinews','https://en.wikinews.org/wiki/$1',1),
+('wikipedia','https://en.wikipedia.org/wiki/$1',1),
+('wikiquote','https://en.wikiquote.org/wiki/$1',1),
+('wikisource','https://wikisource.org/wiki/$1',1),
+('wikispecies','https://species.wikimedia.org/wiki/$1',1),
+('wikiversity','https://en.wikiversity.org/wiki/$1',1),
+('wikivoyage','https://en.wikivoyage.org/wiki/$1',1),
+('wikt','https://en.wiktionary.org/wiki/$1',1),
+('wiktionary','https://en.wiktionary.org/wiki/$1',1),
 ('wlug','http://www.wlug.org.nz/$1',0),
 ('zwiki','http://zwiki.org/$1',0),
 ('zzz wiki','http://wiki.zzz.ee/index.php/$1',0);
index 837c00c..c9736df 100644 (file)
                "../../resources/mediawiki.page/mediawiki.page.watch.ajax.js",
                "../../resources/mediawiki.api",
                "../../resources/mediawiki.language",
+               "../../resources/jquery/jquery.arrowSteps.js",
+               "../../resources/jquery/jquery.autoEllipsis.js",
+               "../../resources/jquery/jquery.badge.js",
+               "../../resources/jquery/jquery.byteLimit.js",
                "../../resources/jquery/jquery.localize.js",
                "../../resources/jquery/jquery.spinner.js",
                "../../resources/oojs",
index 746c7d7..a953d3e 100644 (file)
@@ -869,7 +869,8 @@ $wgMessageStructure = array(
                'revdelete-no-file',
                'revdelete-show-file-confirm',
                'revdelete-show-file-submit',
-               'revdelete-selected',
+               'revdelete-selected-text',
+               'revdelete-selected-file',
                'logdelete-selected',
                'revdelete-text-text',
                'revdelete-text-file',
@@ -1690,6 +1691,11 @@ $wgMessageStructure = array(
                'listredirects',
                'listredirects-summary',
        ),
+       'listduplicatedfiles' => array(
+               'listduplicatedfiles',
+               'listduplicatedfiles-summary',
+               'listduplicatedfiles-entry',
+       ),
        'unusedtemplates' => array(
                'unusedtemplates',
                'unusedtemplates-summary',
@@ -4023,6 +4029,22 @@ $wgMessageStructure = array(
                'expand_templates_generate_rawhtml',
                'expand_templates_preview',
        ),
+       'trackingcategories' => array(
+               'trackingcategories',
+               'trackingcategories-summary',
+               'trackingcategories-msg',
+               'trackingcategories-name',
+               'trackingcategories-desc',
+               'noindex-category-desc',
+               'index-category-desc',
+               'post-expand-template-inclusion-category-desc',
+               'post-expand-template-argument-category-desc',
+               'expensive-parserfunction-category-desc',
+               'broken-file-category-desc',
+               'hidden-category-category-desc',
+               'trackingcategories-nodesc',
+               'trackcategories-disabled',
+       ),
 );
 
 /** Comments for each block */
@@ -4103,6 +4125,7 @@ future releases. Also note that since each list value is wrapped in a unique
        'filedelete' => 'File deletion',
        'mimesearch' => 'MIME search',
        'unwatchedpages' => 'Unwatched pages',
+       'listduplicatedfiles' => 'List duplicated files special page',
        'listredirects' => 'List redirects',
        'unusedtemplates' => 'Unused templates',
        'randompage' => 'Random page',
@@ -4270,5 +4293,6 @@ Variants for Chinese language",
        'cachedspecial' => 'SpecialCachedPage',
        'rotation' => 'Image rotation',
        'limitreport' => 'Limit report',
-       'expandtemplates' => 'Special:ExpandTemplates'
+       'expandtemplates' => 'Special:ExpandTemplates',
+       'trackingcategories' => 'Special:TrackingCategories'
 );
index 622712e..4254887 100755 (executable)
@@ -16,6 +16,5 @@ MWCORE_DIR=$(cd $(dirname $0)/..; pwd)
 jsduck \
 --config=$MWCORE_DIR/maintenance/jsduck/config.json \
 --footer="Documentation for MediaWiki core ($JSDUCK_MWVERSION). Generated on {DATE} by {JSDUCK} {VERSION}." \
-&& echo 'JSDuck execution finished.'
-
-ln -s ../../resources $MWCORE_DIR/docs/js/modules
+&& echo 'JSDuck execution finished.' \
+&& ln -s ../../resources $MWCORE_DIR/docs/js/modules
index 570b426..fc7eadb 100644 (file)
@@ -23,6 +23,8 @@
 define( 'MW_CONFIG_CALLBACK', 'Installer::overrideConfig' );
 define( 'MEDIAWIKI_INSTALL', true );
 
+// Resolve relative to regular MediaWiki root
+// instead of mw-config subdirectory.
 chdir( dirname( __DIR__ ) );
 require dirname( __DIR__ ) . '/includes/WebStart.php';
 
index bc9e891..8898653 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /**
- * Version of mw-config/index.php to used in web server requiring .php5
- * extension to execute scripts with PHP5 engine.
+ * Version of mw-config/index.php to be used in web servers that require the .php5
+ * extension to execute scripts with the PHP5 engine.
  *
  * 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
@@ -21,5 +21,6 @@
  * @file
  */
 
-define('MW_INSTALL_PHP5_EXT', 1);
+define( 'MW_INSTALL_PHP5_EXT', 1 );
+
 require './index.php';
index 0c499a4..a4dde37 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /**
- * Version of opensearch_desc.php to used in web server requiring .php5 extension
- * to execute scripts with PHP5 engine.
+ * Version of opensearch_desc.php to be used in web servers that require the .php5
+ * extension to execute scripts with the PHP5 engine.
  *
  * 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
diff --git a/profileinfo.php5 b/profileinfo.php5
new file mode 100644 (file)
index 0000000..14ef421
--- /dev/null
@@ -0,0 +1,24 @@
+<?php
+/**
+ * Version of profileinfo.php to be used in web servers that require the .php5
+ * extension to execute scripts with the PHP5 engine.
+ *
+ * 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
+ */
+
+require './profileinfo.php';
index 0d9608f..1b7aeb1 100644 (file)
@@ -8,10 +8,12 @@ kss: nodecheck
        $(eval KSS_RL_TMP := $(shell mktemp /tmp/tmp.XXXXXXXXXX))
        @curl -sG "${MEDIAWIKI_LOAD_URL}?modules=mediawiki.ui|mediawiki.ui.button&only=styles" > $(KSS_RL_TMP)
        @node_modules/.bin/kss-node mediawiki.ui mediawiki.ui/docs --css $(KSS_RL_TMP) -t styleguide-template
+       @rm $(KSS_RL_TMP)
+
+kssopen: kss
        @echo Opening the generated style guide...
-       @command -v xdg-open >/dev/null 2>&1 || { open ${PWD}/mediawiki.ui/docs/index.html; exit 1; }
+       @command -v xdg-open >/dev/null 2>&1 || { open ${PWD}/mediawiki.ui/docs/index.html; exit 0; }
        @xdg-open ${PWD}/mediawiki.ui/docs/index.html
-       @rm $(KSS_RL_TMP)
 
 nodecheck:
        @scripts/nodecheck.sh
index 49b8fda..cf07bd0 100644 (file)
@@ -1378,7 +1378,7 @@ return array(
                ),
                'skinStyles' => array(
                        'default' => 'resources/oojs-ui/oojs-ui-apex.css',
-                       'minerva' => array(),
+                       'minerva' => 'resources/oojs-ui/oojs-ui-agora.css',
                ),
                'messages' => array(
                        'ooui-dialog-action-close',
index a1fd679..c44e7c5 100644 (file)
@@ -1,4 +1,4 @@
-/**
+/*!
  * jQuery arrowSteps plugin
  * Copyright Neil Kandalgaonkar, 2010
  *
@@ -7,40 +7,33 @@
  * (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.
- *
- *
- * DESCRIPTION
- *
- * 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.
- *
- *
- * SYNOPSIS
- *
- * <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();
- *
- *   $( '#robin-hood-daffy' ).arrowStepsHighlight( '#guard' );
- *   // 'Guard!' is highlighted.
- *
- *   // ... user completes the 'guard' step ...
- *
- *   $( '#robin-hood-daffy' ).arrowStepsHighlight( '#turn' );
- *   // 'Turn!' is highlighted.
- * </script>
- *
+ */
+
+/**
+ * @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,
                        paddingSide = $( 'body' ).hasClass( 'rtl' ) ? 'padding-left' : 'padding-right';
                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' );
@@ -79,4 +85,8 @@
                } );
        };
 
+       /**
+        * @class jQuery
+        * @mixins jQuery.plugin.arrowSteps
+        */
 }( jQuery ) );
index 49a932a..57d8f94 100644 (file)
@@ -1,6 +1,5 @@
 /**
- * Plugin that automatically truncates the plain text contents of an element
- * and adds an ellipsis.
+ * @class jQuery.plugin.autoEllipsis
  */
 ( function ( $ ) {
 
@@ -11,6 +10,21 @@ var
        // Use a separate cache when match highlighting is enabled
        matchTextCache = {};
 
+/**
+ * Automatically truncate the plain text contents of an element and add an ellipsis
+ *
+ * @param {Object} options
+ * @param {'center'|'left'|'right'} [options.position='center'] Where to remove text.
+ * @param {boolean} [options.tooltip=false] Whether to show a tooltip with the remainder
+ * of the text.
+ * @param {boolean} [options.restoreText=false] Whether to save the text for restoring
+ * later.
+ * @param {boolean} [options.hasSpan=false] Whether the element is already a container,
+ * or if the library should create a new container for it.
+ * @param {string|null} [options.matchText=null] Text to highlight, e.g. search terms.
+ * @return {jQuery}
+ * @chainable
+ */
 $.fn.autoEllipsis = function ( options ) {
        options = $.extend( {
                position: 'center',
@@ -146,4 +160,9 @@ $.fn.autoEllipsis = function ( options ) {
        } );
 };
 
-}( jQuery ) );
\ No newline at end of file
+/**
+ * @class jQuery
+ * @mixins jQuery.plugin.autoEllipsis
+ */
+
+}( jQuery ) );
index 9404e81..023b6e2 100644 (file)
@@ -1,10 +1,8 @@
-/**
+/*!
  * jQuery Badge plugin
  *
  * @license MIT
- */
-
-/**
+ *
  * @author Ryan Kaldari <rkaldari@wikimedia.org>, 2012
  * @author Andrew Garrett <agarrett@wikimedia.org>, 2012
  * @author Marius Hoch <hoo@online.de>, 2012
  *
  * This program is distributed WITHOUT ANY WARRANTY.
  */
+
+/**
+ * @class jQuery.plugin.badge
+ */
 ( function ( $, mw ) {
        /**
-        * Allows you to put a "badge" on an item on the page. The badge container
-        * will be appended to the selected element(s).
-        * See mediawiki.org/wiki/ResourceLoader/Default_modules#jQuery.badge
+        * Put a badge on an item on the page. The badge container will be appended to the selected element(s).
+        *
+        *     $element.badge( text );
+        *     $element.badge( 5 );
+        *     $element.badge( '100+' );
+        *     $element.badge( text, inline );
+        *     $element.badge( 'New', true );
         *
         * @param {number|string} text The value to display in the badge. If the value is falsey (0,
         *  null, false, '', etc.), any existing badge will be removed.
-        * @param {boolean} inline True if the badge should be displayed inline, false
-        *  if the badge should overlay the parent element (default is inline)
-        * @param {boolean} displayZero True if the number zero should be displayed,
+        * @param {boolean} [inline=true] True if the badge should be displayed inline, false
+        *  if the badge should overlay the parent element.
+        * @param {boolean} [displayZero=false] True if the number zero should be displayed,
         *  false if the number zero should result in the badge being hidden
-        *  (default is zero will result in the badge being hidden)
+        * @return {jQuery}
+        * @chainable
         */
        $.fn.badge = function ( text, inline, displayZero ) {
                var $badge = this.find( '.mw-badge' ),
@@ -73,4 +80,9 @@
                }
                return this;
        };
+
+       /**
+        * @class jQuery
+        * @mixins jQuery.plugin.badge
+        */
 }( jQuery, mediaWiki ) );
index a8c0b06..17c1821 100644 (file)
@@ -1,8 +1,5 @@
 /**
- * jQuery byteLimit plugin.
- *
- * @author Jan Paul Posma, 2011
- * @author Timo Tijhof, 2011-2012
+ * @class jQuery.plugin.byteLimit
  */
 ( function ( $ ) {
 
         * "fobo", not "foba". Basically emulating the native maxlength by
         * reconstructing where the insertion occured.
         *
+        * @private
         * @param {string} safeVal Known value that was previously returned by this
         * function, if none, pass empty string.
         * @param {string} newVal New value that may have to be trimmed down.
         * @param {number} byteLimit Number of bytes the value may be in size.
-        * @param {Function} fn [optional] See $.fn.byteLimit.
-        * @return {Object} Object with:
-        *  - {string} newVal
-        *  - {boolean} trimmed
+        * @param {Function} [fn] See jQuery.byteLimit.
+        * @return {Object}
+        * @return {string} return.newVal
+        * @return {boolean} return.trimmed
         */
        function trimValForByteLength( safeVal, newVal, byteLimit, fn ) {
                var startMatches, endMatches, matchesLen, inpParts,
         * value), a filter function (in case the limit should apply to something other than the
         * exact input value), or both. Order of parameters is important!
         *
-        * @context {jQuery} Instance of jQuery for one or more input elements
-        * @param {Number} limit [optional] Limit to enforce, fallsback to maxLength-attribute,
+        * @param {number} [limit] Limit to enforce, fallsback to maxLength-attribute,
         *  called with fetched value as argument.
-        * @param {Function} fn [optional] Function to call on the string before assessing the length.
-        * @return {jQuery} The context
+        * @param {Function} [fn] Function to call on the string before assessing the length.
+        * @return {jQuery}
+        * @chainable
         */
        $.fn.byteLimit = function ( limit, fn ) {
                // If the first argument is the function,
                                $el.attr( 'maxlength', elLimit );
                        }
 
-
                        // Safe base value, used to determine the path between the previous state
                        // and the state that triggered the event handler below - and enforce the
                        // limit approppiately (e.g. don't chop from the end if text was inserted
                        } );
                } );
        };
+
+       /**
+        * @class jQuery
+        * @mixins jQuery.plugin.byteLimit
+        */
 }( jQuery ) );
index 9c6f9ec..37bf176 100644 (file)
@@ -12,7 +12,7 @@
                // By Blair Mitchelmore
                // http://jquery.offput.ca/highlightFade/
                // Parse strings looking for color tuples [255,255,255]
-               getRGB : function ( color ) {
+               getRGB: function ( color ) {
                        /*jshint boss:true */
                        var result;
 
@@ -28,7 +28,7 @@
 
                        // Look for rgb(num%,num%,num%)
                        if (result = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(color)) {
-                               return [parseFloat(result[1],10)*2.55, parseFloat(result[2],10)*2.55, parseFloat(result[3])*2.55];
+                               return [parseFloat(result[1],10) * 2.55, parseFloat(result[2],10) * 2.55, parseFloat(result[3]) * 2.55];
                        }
 
                        // Look for #a0b1c2
@@ -38,7 +38,7 @@
 
                        // Look for #fff
                        if (result = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(color)) {
-                               return [parseInt(result[1]+result[1],16), parseInt(result[2]+result[2],16), parseInt(result[3]+result[3],16)];
+                               return [parseInt(result[1] + result[1],16), parseInt(result[2] + result[2],16), parseInt(result[3] + result[3],16)];
                        }
 
                        // Look for rgba(0, 0, 0, 0) == transparent in Safari 3
                                        if ( t > 1 ) {
                                                t -= 1;
                                        }
-                                       if ( t < 1/6 ) {
+                                       if ( t < 1 / 6 ) {
                                                return p + (q - p) * 6 * t;
                                        }
-                                       if ( t < 1/2 ) {
+                                       if ( t < 1 / 2 ) {
                                                return q;
                                        }
-                                       if ( t < 2/3 ) {
-                                               return p + (q - p) * (2/3 - t) * 6;
+                                       if ( t < 2 / 3 ) {
+                                               return p + (q - p) * (2 / 3 - t) * 6;
                                        }
                                        return p;
                                };
 
                                q = l < 0.5 ? l * (1 + s) : l + s - l * s;
                                p = 2 * l - q;
-                               r = hue2rgb( p, q, h + 1/3 );
+                               r = hue2rgb( p, q, h + 1 / 3 );
                                g = hue2rgb( p, q, h );
-                               b = hue2rgb( p, q, h - 1/3 );
+                               b = hue2rgb( p, q, h - 1 / 3 );
                        }
 
                        return [r * 255, g * 255, b * 255];
                getColorBrightness: function ( currentColor, mod ) {
                        var rgbArr = $.colorUtil.getRGB( currentColor ),
                                hslArr = $.colorUtil.rgbToHsl(rgbArr[0], rgbArr[1], rgbArr[2] );
-                       rgbArr = $.colorUtil.hslToRgb(hslArr[0], hslArr[1], hslArr[2]+mod);
+                       rgbArr = $.colorUtil.hslToRgb(hslArr[0], hslArr[1], hslArr[2] + mod);
 
                        return 'rgb(' +
                                [parseInt( rgbArr[0], 10), parseInt( rgbArr[1], 10 ), parseInt( rgbArr[2], 10 )].join( ',' ) +
index e0d9de2..f499e10 100644 (file)
@@ -99,12 +99,12 @@ function msg( options, key ) {
  * Appends something like this to the body...
  *     <p>You may not get there all in one piece.</p>
  *
- * @method
  * @param {Object} options Map of options to be used while localizing
  * @param {string} options.prefix String to prepend to all message keys
  * @param {Object} options.keys Message key aliases, used for remapping keys to a template
  * @param {Object} options.params Lists of parameters to use with certain message keys
  * @return {jQuery}
+ * @chainable
  */
 $.fn.localize = function ( options ) {
        var $target = this,
@@ -146,12 +146,12 @@ $.fn.localize = function ( options ) {
        } );
 
        // HTML, Text for elements which cannot have children e.g. OPTION
-       $target.find( '[data-msg-text]' ).each( function() {
+       $target.find( '[data-msg-text]' ).each( function () {
                var $el = $( this );
                $el.text( msg( options, $el.attr( 'data-msg-text' ) ) );
        } );
 
-       $target.find( '[data-msg-html]' ).each( function() {
+       $target.find( '[data-msg-html]' ).each( function () {
                var $el = $( this );
                $el.html( msg( options, $el.attr( 'data-msg-html' ) ) );
        } );
index 60c0afc..01fde4c 100644 (file)
@@ -11,7 +11,7 @@
  * @author Krinkle, 2011-2012
  *
  * Dual license:
- * @license CC-BY 3.0 <http://creativecommons.org/licenses/by/3.0>
+ * @license CC BY 3.0 <http://creativecommons.org/licenses/by/3.0>
  * @license GPL2 <http://www.gnu.org/licenses/old-licenses/gpl-2.0.html>
  */
 ( function ( $, mw ) {
index 5020b37..6f7ada3 100644 (file)
@@ -13,7 +13,7 @@
  * @version 2.1.0
  * @license MIT
  */
-(function($) {
+(function ($) {
 
        var isInputSupported = 'placeholder' in document.createElement('input'),
                isTextareaSupported = 'placeholder' in document.createElement('textarea'),
 
        if (isInputSupported && isTextareaSupported) {
 
-               placeholder = prototype.placeholder = function(text) {
+               placeholder = prototype.placeholder = function (text) {
                        var hasArgs = arguments.length;
 
-                       if( hasArgs ) {
+                       if (hasArgs) {
                                changePlaceholder.call(this, text);
                        }
 
 
        } else {
 
-               placeholder = prototype.placeholder = function(text) {
+               placeholder = prototype.placeholder = function (text) {
                        var $this = this,
                                hasArgs = arguments.length;
 
-                       if(hasArgs) {
+                       if (hasArgs) {
                                changePlaceholder.call(this, text);
                        }
 
-
                        $this
                                .filter((isInputSupported ? 'textarea' : ':input') + '[placeholder]')
-                               .filter(function() {
+                               .filter(function () {
                                        return !$(this).data('placeholder-enabled');
                                })
                                .bind({
@@ -66,7 +65,7 @@
                placeholder.textarea = isTextareaSupported;
 
                hooks = {
-                       'get': function(element) {
+                       'get': function (element) {
                                var $element = $(element),
                                        $passwordInput = $element.data('placeholder-password');
                                if ($passwordInput) {
@@ -75,7 +74,7 @@
 
                                return $element.data('placeholder-enabled') && $element.hasClass('placeholder') ? '' : element.value;
                        },
-                       'set': function(element, value) {
+                       'set': function (element, value) {
                                var $element = $(element),
                                        $passwordInput = $element.data('placeholder-password');
                                if ($passwordInput) {
@@ -95,7 +94,7 @@
                                                setPlaceholder.call(element);
                                        }
                                } else if ($element.hasClass('placeholder')) {
-                                       if(!clearPlaceholder.call(element, true, value)) {
+                                       if (!clearPlaceholder.call(element, true, value)) {
                                                element.value = value;
                                        }
                                } else {
                        propHooks.value = hooks;
                }
 
-               $(function() {
+               $(function () {
                        // Look for forms
-                       $(document).delegate('form', 'submit.placeholder', function() {
+                       $(document).delegate('form', 'submit.placeholder', function () {
                                // Clear the placeholder values so they don't get submitted
                                var $inputs = $('.placeholder', this).each(clearPlaceholder);
-                               setTimeout(function() {
+                               setTimeout(function () {
                                        $inputs.each(setPlaceholder);
                                }, 10);
                        });
                });
 
                // Clear placeholder values upon page reload
-               $(window).bind('beforeunload.placeholder', function() {
-                       $('.placeholder').each(function() {
+               $(window).bind('beforeunload.placeholder', function () {
+                       $('.placeholder').each(function () {
                                this.value = '';
                        });
                });
                // Return an object of element attributes
                var newAttrs = {},
                        rinlinejQuery = /^jQuery\d+$/;
-               $.each(elem.attributes, function(i, attr) {
+               $.each(elem.attributes, function (i, attr) {
                        if (attr.specified && !rinlinejQuery.test(attr.name)) {
                                newAttrs[attr.name] = attr.value;
                        }
                        } else {
                                input.value = '';
                                $input.removeClass('placeholder');
-                               if(input === safeActiveElement()) {
+                               if (input === safeActiveElement()) {
                                        input.select();
                                }
                        }
        function changePlaceholder(text) {
                var hasArgs = arguments.length,
                        $input = this;
-               if(hasArgs) {
-                       if($input.attr('placeholder') !== text) {
+               if (hasArgs) {
+                       if ($input.attr('placeholder') !== text) {
                                $input.prop('placeholder', text);
-                               if($input.hasClass('placeholder')) {
+                               if ($input.hasClass('placeholder')) {
                                        $input[0].value = text;
                                }
                        }
index 20e6678..86fcaea 100644 (file)
@@ -79,7 +79,6 @@
                isEmptyObject: $.isEmptyObject
        };
 
-
        /**
         * CompletenessTest
         * @constructor
index f967a1d..f9a225f 100644 (file)
@@ -142,7 +142,7 @@ $.suggestions = {
                        i, expWidth, matchedText, maxWidth, text;
 
                // Validate creation using fallback values
-               switch( property ) {
+               switch ( property ) {
                        case 'fetch':
                        case 'cancel':
                        case 'special':
@@ -281,7 +281,7 @@ $.suggestions = {
                                                }
                                                // Apply new width for results box, if any
                                                if ( expWidth > context.data.$container.width() ) {
-                                                       maxWidth = context.config.maxExpandFactor*context.data.$textbox.width();
+                                                       maxWidth = context.config.maxExpandFactor * context.data.$textbox.width();
                                                        context.data.$container.width( Math.min( expWidth, maxWidth ) );
                                                }
                                                // autoEllipse the results. Has to be done after changing the width
index f9ee268..af0d897 100644 (file)
@@ -68,8 +68,6 @@
  */
 
 ( function ( $, mw ) {
-       /*jshint onevar:false */
-
        /* Local scope */
 
        var ts,
@@ -78,8 +76,9 @@
        /* Parser utility functions */
 
        function getParserById( name ) {
-               var len = parsers.length;
-               for ( var i = 0; i < len; i++ ) {
+               var i,
+                       len = parsers.length;
+               for ( i = 0; i < len; i++ ) {
                        if ( parsers[i].id.toLowerCase() === name.toLowerCase() ) {
                                return parsers[i];
                        }
        }
 
        function appendToTable( table, cache ) {
-               var row = cache.row,
+               var i, pos, l, j,
+                       row = cache.row,
                        normalized = cache.normalized,
                        totalRows = normalized.length,
                        checkCell = ( normalized[0].length - 1 ),
                        fragment = document.createDocumentFragment();
 
-               for ( var i = 0; i < totalRows; i++ ) {
-                       var pos = normalized[i][checkCell];
+               for ( i = 0; i < totalRows; i++ ) {
+                       pos = normalized[i][checkCell];
 
-                       var l = row[pos].length;
+                       l = row[pos].length;
 
-                       for ( var j = 0; j < l; j++ ) {
+                       for ( j = 0; j < l; j++ ) {
                                fragment.appendChild( row[pos][j] );
                        }
 
         * @param $table jQuery object for a <table>
         */
        function emulateTHeadAndFoot( $table ) {
-               var $rows = $table.find( '> tbody > tr' );
-               if( !$table.get(0).tHead ) {
-                       var $thead = $( '<thead>' );
+               var $thead, $tfoot, i, len,
+                       $rows = $table.find( '> tbody > tr' );
+               if ( !$table.get(0).tHead ) {
+                       $thead = $( '<thead>' );
                        $rows.each( function () {
-                               if ( $(this).children( 'td' ).length > 0 ) {
+                               if ( $(this).children( 'td' ).length ) {
                                        // This row contains a <td>, so it's not a header row
                                        // Stop here
                                        return false;
                        } );
                        $table.find(' > tbody:first').before( $thead );
                }
-               if( !$table.get(0).tFoot ) {
-                       var $tfoot = $( '<tfoot>' );
-                       var len = $rows.length;
-                       for ( var i = len-1; i >= 0; i-- ) {
-                               if( $( $rows[i] ).children( 'td' ).length > 0 ){
+               if ( !$table.get(0).tFoot ) {
+                       $tfoot = $( '<tfoot>' );
+                       len = $rows.length;
+                       for ( i = len - 1; i >= 0; i-- ) {
+                               if ( $( $rows[i] ).children( 'td' ).length ){
                                        break;
                                }
                                $tfoot.prepend( $( $rows[i] ));
                return false;
        }
 
-
        function uniqueElements( array ) {
                var uniques = [];
                $.each( array, function( index, elem ) {
        }
 
        function multisort( table, sortList, cache ) {
-               var sortFn = [];
-               var len = sortList.length;
-               for ( var i = 0; i < len; i++ ) {
+               var i,
+                       sortFn = [],
+                       len = sortList.length;
+               for ( i = 0; i < len; i++ ) {
                        sortFn[i] = ( sortList[i][1] ) ? sortTextDesc : sortText;
                }
                cache.normalized.sort( function ( array1, array2 ) {
-                       var col, ret;
-                       for ( var i = 0; i < len; i++ ) {
+                       var i, col, ret;
+                       for ( i = 0; i < len; i++ ) {
                                col = sortList[i][0];
                                ret = sortFn[i].call( this, array1[col], array2[col] );
                                if ( ret !== 0 ) {
        }
 
        function buildTransformTable() {
-               var digits = '0123456789,.'.split( '' );
-               var separatorTransformTable = mw.config.get( 'wgSeparatorTransformTable' );
-               var digitTransformTable = mw.config.get( 'wgDigitTransformTable' );
+               var ascii, localised, i, digitClass,
+                       digits = '0123456789,.'.split( '' ),
+                       separatorTransformTable = mw.config.get( 'wgSeparatorTransformTable' ),
+                       digitTransformTable = mw.config.get( 'wgDigitTransformTable' );
+
                if ( separatorTransformTable === null || ( separatorTransformTable[0] === '' && digitTransformTable[2] === '' ) ) {
                        ts.transformTable = false;
                } else {
                        ts.transformTable = {};
 
                        // Unpack the transform table
-                       var ascii = separatorTransformTable[0].split( '\t' ).concat( digitTransformTable[0].split( '\t' ) );
-                       var localised = separatorTransformTable[1].split( '\t' ).concat( digitTransformTable[1].split( '\t' ) );
+                       ascii = separatorTransformTable[0].split( '\t' ).concat( digitTransformTable[0].split( '\t' ) );
+                       localised = separatorTransformTable[1].split( '\t' ).concat( digitTransformTable[1].split( '\t' ) );
 
                        // Construct regex for number identification
-                       for ( var i = 0; i < ascii.length; i++ ) {
+                       for ( i = 0; i < ascii.length; i++ ) {
                                ts.transformTable[localised[i]] = ascii[i];
                                digits.push( $.escapeRE( localised[i] ) );
                        }
                }
-               var digitClass = '[' + digits.join( '', digits ) + ']';
+               digitClass = '[' + digits.join( '', digits ) + ']';
 
                // We allow a trailing percent sign, which we just strip. This works fine
                // if percents and regular numbers aren't being mixed.
        }
 
        function buildDateTable() {
-               var regex = [];
+               var i, name,
+                       regex = [];
+
                ts.monthNames = {};
 
-               for ( var i = 0; i < 12; i++ ) {
-                       var name = mw.language.months.names[i].toLowerCase();
+               for ( i = 0; i < 12; i++ ) {
+                       name = mw.language.months.names[i].toLowerCase();
                        ts.monthNames[name] = i + 1;
                        regex.push( $.escapeRE( name ) );
                        name = mw.language.months.genitive[i].toLowerCase();
         * @param $table jQuery object for a <table>
         */
        function explodeRowspans( $table ) {
-               var rowspanCells = $table.find( '> tbody > tr > [rowspan]' ).get();
+               var spanningRealCellIndex, rowSpan, colSpan,
+                       cell, i, $tds, $clone, $nextRows,
+                       rowspanCells = $table.find( '> tbody > tr > [rowspan]' ).get();
 
                // Short circuit
                if ( !rowspanCells.length ) {
                // account colspans. We also cache the rowIndex to avoid having to take
                // cell.parentNode.rowIndex in the sorting function below.
                $table.find( '> tbody > tr' ).each( function () {
-                       var col = 0;
-                       var l = this.cells.length;
-                       for ( var i = 0; i < l; i++ ) {
+                       var i,
+                               col = 0,
+                               l = this.cells.length;
+                       for ( i = 0; i < l; i++ ) {
                                this.cells[i].realCellIndex = col;
                                this.cells[i].realRowIndex = this.rowIndex;
                                col += this.cells[i].colSpan;
                }
                resortCells();
 
-               var spanningRealCellIndex, rowSpan, colSpan;
                function filterfunc() {
                        return this.realCellIndex >= spanningRealCellIndex;
                }
                                resortCells();
                        }
 
-                       var cell = rowspanCells.shift();
+                       cell = rowspanCells.shift();
                        rowSpan = cell.rowSpan;
                        colSpan = cell.colSpan;
                        spanningRealCellIndex = cell.realCellIndex;
                        cell.rowSpan = 1;
-                       var $nextRows = $( cell ).parent().nextAll();
-                       for ( var i = 0; i < rowSpan - 1; i++ ) {
-                               var $tds = $( $nextRows[i].cells ).filter( filterfunc );
-                               var $clone = $( cell ).clone();
+                       $nextRows = $( cell ).parent().nextAll();
+                       for ( i = 0; i < rowSpan - 1; i++ ) {
+                               $tds = $( $nextRows[i].cells ).filter( filterfunc );
+                               $clone = $( cell ).clone();
                                $clone[0].realCellIndex = spanningRealCellIndex;
                                if ( $tds.length ) {
                                        $tds.each( fixTdCellIndex );
                ts.collationTable = mw.config.get( 'tableSorterCollation' );
                ts.collationRegex = null;
                if ( ts.collationTable ) {
-                       var keys = [];
+                       var key,
+                               keys = [];
 
                        // Build array of key names
-                       for ( var key in ts.collationTable ) {
-                               if ( ts.collationTable.hasOwnProperty(key) ) { //to be safe
+                       for ( key in ts.collationTable ) {
+                               // Check hasOwn to be safe
+                               if ( ts.collationTable.hasOwnProperty(key) ) {
                                        keys.push(key);
                                }
                        }
-                       if (keys.length) {
+                       if ( keys.length ) {
                                ts.collationRegex = new RegExp( '[' + keys.join( '' ) + ']', 'ig' );
                        }
                }
                        construct: function ( $tables, settings ) {
                                return $tables.each( function ( i, table ) {
                                        // Declare and cache.
-                                       var $headers, cache, config,
+                                       var $headers, cache, config, sortCSS, sortMsg,
                                                $table = $( table ),
                                                firstTime = true;
 
                                        $.data( table, 'tablesorter', { config: config } );
 
                                        // Get the CSS class names, could be done else where.
-                                       var sortCSS = [ config.cssDesc, config.cssAsc ];
-                                       var sortMsg = [ mw.msg( 'sort-descending' ), mw.msg( 'sort-ascending' ) ];
+                                       sortCSS = [ config.cssDesc, config.cssAsc ];
+                                       sortMsg = [ mw.msg( 'sort-descending' ), mw.msg( 'sort-ascending' ) ];
 
                                        // Build headers
                                        $headers = buildHeaders( table, sortMsg );
                                                        this.order = this.count % 2;
                                                        this.count++;
 
-                                                       var cell = this;
+                                                       var cell, columns, newSortList, i;
+
+                                                       cell = this;
                                                        // Get current column index
-                                                       var columns = table.headerToColumns[ this.headerIndex ];
-                                                       var newSortList = $.map( columns, function (c) {
+                                                       columns = table.headerToColumns[ this.headerIndex ];
+                                                       newSortList = $.map( columns, function ( c ) {
                                                                // jQuery "helpfully" flattens the arrays...
                                                                return [[c, cell.order]];
                                                        });
                                                        // Index of first column belonging to this header
-                                                       var i = columns[0];
+                                                       i = columns[0];
 
                                                        if ( !e[config.sortMultiSortKey] ) {
                                                                // User only wants to sort on one column set
                                         *
                                         * @param sortList {Array} (optional) List of sort objects.
                                         */
-                                       $table.data( 'tablesorter' ).sort = function( sortList ) {
+                                       $table.data( 'tablesorter' ).sort = function ( sortList ) {
 
                                                if ( firstTime ) {
                                                        setupForFirstSort();
index 2b5a440..7262fe6 100644 (file)
@@ -2,8 +2,6 @@
  * These plugins provide extra functionality for interaction with textareas.
  */
 ( function ( $ ) {
-       /*jshint noempty:false */
-
        if ( document.selection && document.selection.createRange ) {
                // On IE, patch the focus() method to restore the windows' scroll position
                // (bug 32241)
@@ -13,7 +11,7 @@
                                        var $w, state, result;
                                        if ( arguments.length === 0 ) {
                                                $w = $( window );
-                                               state = {top: $w.scrollTop(), left: $w.scrollLeft()};
+                                               state = { top: $w.scrollTop(), left: $w.scrollLeft() };
                                                result = jqFocus.apply( this, arguments );
                                                window.scrollTo( state.top, state.left );
                                                return result;
@@ -73,7 +71,6 @@
                                        el = this.get( 0 );
 
                                if ( $(el).is( ':hidden' ) ) {
-                                       // Do nothing
                                        retval = '';
                                } else if ( document.selection && document.selection.createRange ) {
                                        activateElementOnIE( el );
                                        }
 
                                        isSample = false;
-                                       if ( this.style.display === 'none' ) {
-                                               // Do nothing
-                                       } else if ( document.selection && document.selection.createRange ) {
-                                               // IE
+                                       // Do nothing if display none
+                                       if ( this.style.display !== 'none' ) {
+                                               if ( document.selection && document.selection.createRange ) {
+                                                       // IE
 
-                                               // Note that IE9 will trigger the next section unless we check this first.
-                                               // See bug 35201.
+                                                       // Note that IE9 will trigger the next section unless we check this first.
+                                                       // See bug 35201.
 
-                                               activateElementOnIE( this );
-                                               if ( context ) {
-                                                       context.fn.restoreCursorAndScrollTop();
-                                               }
-                                               if ( options.selectionStart !== undefined ) {
-                                                       $(this).textSelection( 'setSelection', { 'start': options.selectionStart, 'end': options.selectionEnd } );
-                                               }
+                                                       activateElementOnIE( this );
+                                                       if ( context ) {
+                                                               context.fn.restoreCursorAndScrollTop();
+                                                       }
+                                                       if ( options.selectionStart !== undefined ) {
+                                                               $(this).textSelection( 'setSelection', { 'start': options.selectionStart, 'end': options.selectionEnd } );
+                                                       }
 
-                                               selText = $(this).textSelection( 'getSelection' );
-                                               scrollTop = this.scrollTop;
-                                               range = document.selection.createRange();
+                                                       selText = $(this).textSelection( 'getSelection' );
+                                                       scrollTop = this.scrollTop;
+                                                       range = document.selection.createRange();
 
-                                               checkSelectedText();
-                                               insertText = pre + selText + post;
-                                               if ( options.splitlines ) {
-                                                       insertText = doSplitLines( selText, pre, post );
-                                               }
-                                               if ( options.ownline && range.moveStart ) {
-                                                       range2 = document.selection.createRange();
-                                                       range2.collapse();
-                                                       range2.moveStart( 'character', -1 );
-                                                       // FIXME: Which check is correct?
-                                                       if ( range2.text !== '\r' && range2.text !== '\n' && range2.text !== '' ) {
-                                                               insertText = '\n' + insertText;
-                                                               pre += '\n';
+                                                       checkSelectedText();
+                                                       insertText = pre + selText + post;
+                                                       if ( options.splitlines ) {
+                                                               insertText = doSplitLines( selText, pre, post );
                                                        }
-                                                       range3 = document.selection.createRange();
-                                                       range3.collapse( false );
-                                                       range3.moveEnd( 'character', 1 );
-                                                       if ( range3.text !== '\r' && range3.text !== '\n' && range3.text !== '' ) {
-                                                               insertText += '\n';
-                                                               post += '\n';
+                                                       if ( options.ownline && range.moveStart ) {
+                                                               range2 = document.selection.createRange();
+                                                               range2.collapse();
+                                                               range2.moveStart( 'character', -1 );
+                                                               // FIXME: Which check is correct?
+                                                               if ( range2.text !== '\r' && range2.text !== '\n' && range2.text !== '' ) {
+                                                                       insertText = '\n' + insertText;
+                                                                       pre += '\n';
+                                                               }
+                                                               range3 = document.selection.createRange();
+                                                               range3.collapse( false );
+                                                               range3.moveEnd( 'character', 1 );
+                                                               if ( range3.text !== '\r' && range3.text !== '\n' && range3.text !== '' ) {
+                                                                       insertText += '\n';
+                                                                       post += '\n';
+                                                               }
                                                        }
-                                               }
 
-                                               range.text = insertText;
-                                               if ( isSample && options.selectPeri && range.moveStart ) {
-                                                       range.moveStart( 'character', - post.length - selText.length );
-                                                       range.moveEnd( 'character', - post.length );
-                                               }
-                                               range.select();
-                                               // Restore the scroll position
-                                               this.scrollTop = scrollTop;
-                                       } else if ( this.selectionStart || this.selectionStart === 0 ) {
-                                               // Mozilla/Opera
-
-                                               $(this).focus();
-                                               if ( options.selectionStart !== undefined ) {
-                                                       $(this).textSelection( 'setSelection', { 'start': options.selectionStart, 'end': options.selectionEnd } );
-                                               }
+                                                       range.text = insertText;
+                                                       if ( isSample && options.selectPeri && range.moveStart ) {
+                                                               range.moveStart( 'character', -post.length - selText.length );
+                                                               range.moveEnd( 'character', -post.length );
+                                                       }
+                                                       range.select();
+                                                       // Restore the scroll position
+                                                       this.scrollTop = scrollTop;
+                                               } else if ( this.selectionStart || this.selectionStart === 0 ) {
+                                                       // Mozilla/Opera
+
+                                                       $(this).focus();
+                                                       if ( options.selectionStart !== undefined ) {
+                                                               $(this).textSelection( 'setSelection', { 'start': options.selectionStart, 'end': options.selectionEnd } );
+                                                       }
 
-                                               selText = $(this).textSelection( 'getSelection' );
-                                               startPos = this.selectionStart;
-                                               endPos = this.selectionEnd;
-                                               scrollTop = this.scrollTop;
-                                               checkSelectedText();
-                                               if ( options.selectionStart !== undefined
-                                                               && endPos - startPos !== options.selectionEnd - options.selectionStart )
-                                               {
-                                                       // This means there is a difference in the selection range returned by browser and what we passed.
-                                                       // This happens for Chrome in the case of composite characters. Ref bug #30130
-                                                       // Set the startPos to the correct position.
-                                                       startPos = options.selectionStart;
-                                               }
+                                                       selText = $(this).textSelection( 'getSelection' );
+                                                       startPos = this.selectionStart;
+                                                       endPos = this.selectionEnd;
+                                                       scrollTop = this.scrollTop;
+                                                       checkSelectedText();
+                                                       if ( options.selectionStart !== undefined
+                                                                       && endPos - startPos !== options.selectionEnd - options.selectionStart )
+                                                       {
+                                                               // This means there is a difference in the selection range returned by browser and what we passed.
+                                                               // This happens for Chrome in the case of composite characters. Ref bug #30130
+                                                               // Set the startPos to the correct position.
+                                                               startPos = options.selectionStart;
+                                                       }
 
-                                               insertText = pre + selText + post;
-                                               if ( options.splitlines ) {
-                                                       insertText = doSplitLines( selText, pre, post );
-                                               }
-                                               if ( options.ownline ) {
-                                                       if ( startPos !== 0 && this.value.charAt( startPos - 1 ) !== '\n' && this.value.charAt( startPos - 1 ) !== '\r' ) {
-                                                               insertText = '\n' + insertText;
-                                                               pre += '\n';
+                                                       insertText = pre + selText + post;
+                                                       if ( options.splitlines ) {
+                                                               insertText = doSplitLines( selText, pre, post );
                                                        }
-                                                       if ( this.value.charAt( endPos ) !== '\n' && this.value.charAt( endPos ) !== '\r' ) {
-                                                               insertText += '\n';
-                                                               post += '\n';
+                                                       if ( options.ownline ) {
+                                                               if ( startPos !== 0 && this.value.charAt( startPos - 1 ) !== '\n' && this.value.charAt( startPos - 1 ) !== '\r' ) {
+                                                                       insertText = '\n' + insertText;
+                                                                       pre += '\n';
+                                                               }
+                                                               if ( this.value.charAt( endPos ) !== '\n' && this.value.charAt( endPos ) !== '\r' ) {
+                                                                       insertText += '\n';
+                                                                       post += '\n';
+                                                               }
+                                                       }
+                                                       this.value = this.value.substring( 0, startPos ) + insertText +
+                                                               this.value.substring( endPos, this.value.length );
+                                                       // Setting this.value scrolls the textarea to the top, restore the scroll position
+                                                       this.scrollTop = scrollTop;
+                                                       if ( window.opera ) {
+                                                               pre = pre.replace( /\r?\n/g, '\r\n' );
+                                                               selText = selText.replace( /\r?\n/g, '\r\n' );
+                                                               post = post.replace( /\r?\n/g, '\r\n' );
+                                                       }
+                                                       if ( isSample && options.selectPeri && !options.splitlines ) {
+                                                               this.selectionStart = startPos + pre.length;
+                                                               this.selectionEnd = startPos + pre.length + selText.length;
+                                                       } else {
+                                                               this.selectionStart = startPos + insertText.length;
+                                                               this.selectionEnd = this.selectionStart;
                                                        }
-                                               }
-                                               this.value = this.value.substring( 0, startPos ) + insertText +
-                                                       this.value.substring( endPos, this.value.length );
-                                               // Setting this.value scrolls the textarea to the top, restore the scroll position
-                                               this.scrollTop = scrollTop;
-                                               if ( window.opera ) {
-                                                       pre = pre.replace( /\r?\n/g, '\r\n' );
-                                                       selText = selText.replace( /\r?\n/g, '\r\n' );
-                                                       post = post.replace( /\r?\n/g, '\r\n' );
-                                               }
-                                               if ( isSample && options.selectPeri && !options.splitlines ) {
-                                                       this.selectionStart = startPos + pre.length;
-                                                       this.selectionEnd = startPos + pre.length + selText.length;
-                                               } else {
-                                                       this.selectionStart = startPos + insertText.length;
-                                                       this.selectionEnd = this.selectionStart;
                                                }
                                        }
                                        $(this).trigger( 'encapsulateSelection', [ options.pre, options.peri, options.post, options.ownline,
                        setSelection: function ( options ) {
                                return this.each( function () {
                                        var selection, length, newLines;
-                                       if ( $(this).is( ':hidden' ) ) {
-                                               // Do nothing
-                                       } else if ( this.selectionStart || this.selectionStart === 0 ) {
-                                               // Opera 9.0 doesn't allow setting selectionStart past
-                                               // selectionEnd; any attempts to do that will be ignored
-                                               // Make sure to set them in the right order
-                                               if ( options.start > this.selectionEnd ) {
-                                                       this.selectionEnd = options.end;
-                                                       this.selectionStart = options.start;
-                                               } else {
-                                                       this.selectionStart = options.start;
-                                                       this.selectionEnd = options.end;
-                                               }
-                                       } else if ( document.body.createTextRange ) {
-                                               selection = rangeForElementIE( this );
-                                               length = this.value.length;
-                                               // IE doesn't count \n when computing the offset, so we won't either
-                                               newLines = this.value.match( /\n/g );
-                                               if ( newLines ) {
-                                                       length = length - newLines.length;
+                                       // Do nothing if hidden
+                                       if ( !$(this).is( ':hidden' ) ) {
+                                               if ( this.selectionStart || this.selectionStart === 0 ) {
+                                                       // Opera 9.0 doesn't allow setting selectionStart past
+                                                       // selectionEnd; any attempts to do that will be ignored
+                                                       // Make sure to set them in the right order
+                                                       if ( options.start > this.selectionEnd ) {
+                                                               this.selectionEnd = options.end;
+                                                               this.selectionStart = options.start;
+                                                       } else {
+                                                               this.selectionStart = options.start;
+                                                               this.selectionEnd = options.end;
+                                                       }
+                                               } else if ( document.body.createTextRange ) {
+                                                       selection = rangeForElementIE( this );
+                                                       length = this.value.length;
+                                                       // IE doesn't count \n when computing the offset, so we won't either
+                                                       newLines = this.value.match( /\n/g );
+                                                       if ( newLines ) {
+                                                               length = length - newLines.length;
+                                                       }
+                                                       selection.moveStart( 'character', options.start );
+                                                       selection.moveEnd( 'character', -length + options.end );
+
+                                                       // This line can cause an error under certain circumstances (textarea empty, no selection)
+                                                       // Silence that error
+                                                       try {
+                                                               selection.select();
+                                                       } catch ( e ) { }
                                                }
-                                               selection.moveStart( 'character', options.start );
-                                               selection.moveEnd( 'character', -length + options.end );
-
-                                               // This line can cause an error under certain circumstances (textarea empty, no selection)
-                                               // Silence that error
-                                               try {
-                                                       selection.select();
-                                               } catch ( e ) { }
                                        }
                                });
                        },
                                }
                                return this.each(function () {
                                        var scroll, range, savedRange, pos, oldScrollTop;
-                                       if ( $(this).is( ':hidden' ) ) {
-                                               // Do nothing
-                                       } else if ( this.selectionStart || this.selectionStart === 0 ) {
-                                               // Mozilla
-                                               scroll = getCaretScrollPosition( this );
-                                               if ( options.force || scroll < $(this).scrollTop() ||
-                                                               scroll > $(this).scrollTop() + $(this).height() ) {
-                                                       $(this).scrollTop( scroll );
-                                               }
-                                       } else if ( document.selection && document.selection.createRange ) {
-                                               // IE / Opera
-                                               /*
-                                                * IE automatically scrolls the selected text to the
-                                                * bottom of the textarea at range.select() time, except
-                                                * if it was already in view and the cursor position
-                                                * wasn't changed, in which case it does nothing. To
-                                                * cover that case, we'll force it to act by moving one
-                                                * character back and forth.
-                                                */
-                                               range = document.body.createTextRange();
-                                               savedRange = document.selection.createRange();
-                                               pos = $(this).textSelection( 'getCaretPosition' );
-                                               oldScrollTop = this.scrollTop;
-                                               range.moveToElementText( this );
-                                               range.collapse();
-                                               range.move( 'character', pos + 1);
-                                               range.select();
-                                               if ( this.scrollTop !== oldScrollTop ) {
-                                                       this.scrollTop += range.offsetTop;
-                                               } else if ( options.force ) {
-                                                       range.move( 'character', -1 );
+                                       // Do nothing if hidden
+                                       if ( !$(this).is( ':hidden' ) ) {
+                                               if ( this.selectionStart || this.selectionStart === 0 ) {
+                                                       // Mozilla
+                                                       scroll = getCaretScrollPosition( this );
+                                                       if ( options.force || scroll < $(this).scrollTop() ||
+                                                                       scroll > $(this).scrollTop() + $(this).height() ) {
+                                                               $(this).scrollTop( scroll );
+                                                       }
+                                               } else if ( document.selection && document.selection.createRange ) {
+                                                       // IE / Opera
+                                                       /*
+                                                        * IE automatically scrolls the selected text to the
+                                                        * bottom of the textarea at range.select() time, except
+                                                        * if it was already in view and the cursor position
+                                                        * wasn't changed, in which case it does nothing. To
+                                                        * cover that case, we'll force it to act by moving one
+                                                        * character back and forth.
+                                                        */
+                                                       range = document.body.createTextRange();
+                                                       savedRange = document.selection.createRange();
+                                                       pos = $(this).textSelection( 'getCaretPosition' );
+                                                       oldScrollTop = this.scrollTop;
+                                                       range.moveToElementText( this );
+                                                       range.collapse();
+                                                       range.move( 'character', pos + 1);
                                                        range.select();
+                                                       if ( this.scrollTop !== oldScrollTop ) {
+                                                               this.scrollTop += range.offsetTop;
+                                                       } else if ( options.force ) {
+                                                               range.move( 'character', -1 );
+                                                               range.select();
+                                                       }
+                                                       savedRange.select();
                                                }
-                                               savedRange.select();
                                        }
                                        $(this).trigger( 'scrollToPosition' );
                                } );
index 299fabd..bbffe79 100644 (file)
                        };
                }
                var $image = $( '<img>' ).attr( {
-                       width : 23,
+                       width: 23,
                        height: 22,
-                       src   : b.imageFile,
-                       alt   : b.speedTip,
-                       title : b.speedTip,
-                       id    : b.imageId || undefined,
+                       src: b.imageFile,
+                       alt: b.speedTip,
+                       title: b.speedTip,
+                       id: b.imageId || undefined,
                        'class': 'mw-toolbar-editbutton'
                } ).click( function () {
                        toolbar.insertTags( b.tagOpen, b.tagClose, b.sampleText );
index 500a47a..2a02d87 100644 (file)
@@ -70,7 +70,6 @@ jQuery( function ( $ ) {
        // Set initial state
        updateDiffRadios();
 
-
        // Prettify url output for HistoryAction submissions,
        // to cover up action=historysubmit construction.
 
index d23a937..21f40c5 100644 (file)
@@ -44,4 +44,4 @@
                $table.addClass( 'collapsed' );
        } );
 
-}( mediaWiki, jQuery ) );
\ No newline at end of file
+}( mediaWiki, jQuery ) );
index 026052c..a90617d 100644 (file)
@@ -7,7 +7,8 @@
        $.extend( mw.Api.prototype, {
                /**
                 * Determine if a category exists.
-                * @param {mw.Title} title
+                *
+                * @param {mw.Title|string} title
                 * @param {Function} [ok] Success callback (deprecated)
                 * @param {Function} [err] Error callback (deprecated)
                 * @return {jQuery.Promise}
@@ -20,7 +21,6 @@
                                titles: String( title )
                        } );
 
-                       // Backwards compatibility (< MW 1.20)
                        if ( ok || err ) {
                                mw.track( 'mw.deprecate', 'api.cbParam' );
                                mw.log.warn( msg );
@@ -46,7 +46,7 @@
                /**
                 * Get a list of categories that match a certain prefix.
                 *
-                * E.g. given "Foo", return "Food", "Foolish people", "Foosball tables" ...
+                * E.g. given "Foo", return "Food", "Foolish people", "Foosball tables"...
                 *
                 * @param {string} prefix Prefix to match.
                 * @param {Function} [ok] Success callback (deprecated)
@@ -63,7 +63,6 @@
                                apnamespace: mw.config.get( 'wgNamespaceIds' ).category
                        } );
 
-                       // Backwards compatibility (< MW 1.20)
                        if ( ok || err ) {
                                mw.track( 'mw.deprecate', 'api.cbParam' );
                                mw.log.warn( msg );
                                .promise( { abort: apiPromise.abort } );
                },
 
-
                /**
-                * Get the categories that a particular page on the wiki belongs to
-                * @param {mw.Title} title
+                * Get the categories that a particular page on the wiki belongs to.
+                *
+                * @param {mw.Title|string} title
                 * @param {Function} [ok] Success callback (deprecated)
                 * @param {Function} [err] Error callback (deprecated)
-                * @param {boolean} [async=true] Asynchronousness
+                * @param {boolean} [async=true] Asynchronousness (deprecated)
                 * @return {jQuery.Promise}
                 * @return {Function} return.done
                 * @return {boolean|mw.Title[]} return.done.categories List of category titles or false
                                async: async === undefined ? true : async
                        } );
 
-                       // Backwards compatibility (< MW 1.20)
                        if ( ok || err ) {
                                mw.track( 'mw.deprecate', 'api.cbParam' );
                                mw.log.warn( msg );
                        }
+                       if ( async !== undefined ) {
+                               mw.track( 'mw.deprecate', 'api.async' );
+                               mw.log.warn(
+                                       'Use of mediawiki.api async=false param is deprecated. ' +
+                                       'The sychronous mode will be removed in the future.'
+                               );
+                       }
 
                        return apiPromise
                                .then( function ( data ) {
                                .fail( err )
                                .promise( { abort: apiPromise.abort } );
                }
-
        } );
 
        /**
index 914f3ec..04919d3 100644 (file)
                 * @param {string} tokenType The name of the token, like options or edit.
                 * @param {Object} params API parameters
                 * @return {jQuery.Promise} See #post
+                * @since 1.22
                 */
                postWithToken: function ( tokenType, params ) {
                        var api = this, hasOwn = tokenCache.hasOwnProperty;
                 * @return {jQuery.Promise}
                 * @return {Function} return.done
                 * @return {string} return.done.token Received token.
+                * @since 1.22
                 */
                getToken: function ( type ) {
                        var apiPromise,
index 952dea4..b1f1d2b 100644 (file)
@@ -5,7 +5,7 @@
 
        $.extend( mw.Api.prototype, {
                /**
-                * Convinience method for 'action=parse'.
+                * Convenience method for 'action=parse'.
                 *
                 * @param {string} wikitext
                 * @param {Function} [ok] Success callback (deprecated)
index 9d65e1f..aa33d86 100644 (file)
@@ -24,7 +24,7 @@
         */
        function doWatchInternal( pages, ok, err, addParams ) {
                // XXX: Parameter addParams is undocumented because we inherit this
-               // documentation in the public method..
+               // documentation in the public method...
                var apiPromise = this.post(
                        $.extend(
                                {
@@ -70,7 +70,6 @@
                unwatch: function ( pages, ok, err ) {
                        return doWatchInternal.call( this, pages, ok, err, { unwatch: 1 } );
                }
-
        } );
 
        /**
index 2410091..2382aae 100644 (file)
@@ -34,7 +34,7 @@ mediaWiki.language.convertGrammar = function ( word, form ) {
                        break;
                case 'illative':
                        // Double the last letter and add 'n'
-                       word += word.substr(  word.length-1 ) + 'n';
+                       word += word.substr(  word.length - 1 ) + 'n';
                        break;
                case 'inessive':
                        word += ( aou ? 'ssa' : 'ssä' );
index d1ed041..ae16f24 100644 (file)
@@ -15,7 +15,7 @@ mediaWiki.language.convertGrammar = function ( word, form ) {
        switch ( form ) {
                case 'genitive': // սեռական հոլով
                        if ( word.substr( -1 ) === 'ա' ) {
-                               word = word.substr( 0, word.length -1 )  + 'այի';
+                               word = word.substr( 0, word.length - 1 ) + 'այի';
                        } else if ( word.substr( -1 ) === 'ո' ) {
                                word = word.substr( 0, word.length - 1 ) + 'ոյի';
                        } else if ( word.substr( -4 ) === 'գիրք' ) {
index 7fc171d..04b7d0a 100644 (file)
@@ -19,7 +19,7 @@ mediaWiki.language.convertGrammar = function ( word, form ) {
                        word = word.replace( /tio$/i,'tionis' ); // 3rd declension singular (partly)
                        word = word.replace( /ns$/i, 'ntis' );
                        word = word.replace( /as$/i, 'atis' );
-                       word = word.replace( /es$/i ,'ei' ); // 5th declension singular
+                       word = word.replace( /es$/i'ei' ); // 5th declension singular
                        break;
                case 'accusative':
                        // only a few declensions, and even for those mostly the singular only
@@ -31,7 +31,7 @@ mediaWiki.language.convertGrammar = function ( word, form ) {
                        word = word.replace( /tio$/i,'tionem' ); // 3rd declension singular (partly)
                        word = word.replace( /ns$/i, 'ntem' );
                        word = word.replace( /as$/i, 'atem');
-                       word = word.replace( /es$/i ,'em' ); // 5th declension singular
+                       word = word.replace( /es$/i'em' ); // 5th declension singular
                        break;
                case 'ablative':
                        // only a few declensions, and even for those mostly the singular only
@@ -43,7 +43,7 @@ mediaWiki.language.convertGrammar = function ( word, form ) {
                        word = word.replace( /tio$/i,'tione' ); // 3rd declension singular (partly)
                        word = word.replace( /ns$/i, 'nte' );
                        word = word.replace( /as$/i, 'ate');
-                       word = word.replace( /es$/i ,'e' ); // 5th declension singular
+                       word = word.replace( /es$/i'e' ); // 5th declension singular
                        break;
        }
        return word;
index 4b50834..bdf59be 100644 (file)
@@ -30,7 +30,7 @@ mediaWiki.language.convertGrammar = function ( word, form ) {
        // Checking if word ends on 'у'. 'У' can be either consonant 'W' or vowel 'U' in cyrillic Ossetic.
        // Examples: {{grammar:genitive|аунеу}} = аунеуы, {{grammar:genitive|лæппу}} = лæппуйы.
        else if ( word.match( /у$/i ) ) {
-               if ( ! word.substring( word.length-2, word.length-1 ).match( /[аæеёиоыэюя]$/i ) ) {
+               if ( !word.substring( word.length - 2, word.length - 1 ).match( /[аæеёиоыэюя]$/i ) ) {
                        jot = 'й';
                }
        } else if ( !word.match( /[бвгджзйклмнопрстфхцчшщьъ]$/i ) ) {
index 9b63382..69f7ec5 100644 (file)
@@ -3,33 +3,33 @@
  */
 
 mediaWiki.language.convertGrammar = function ( word, form ) {
-       /*jshint noempty:false */
        var grammarForms = mediaWiki.language.getData( 'uk', 'grammarForms' );
        if ( grammarForms && grammarForms[form] ) {
                return grammarForms[form][word];
        }
        switch ( form ) {
                case 'genitive': // родовий відмінок
-                       if ( ( word.substr( word.length - 4 ) === 'вікі' ) || ( word.substr( word.length - 4 ) === 'Вікі' ) ) {
-                       } else if ( word.substr( word.length - 1 ) === 'ь' ) {
-                               word = word.substr(0, word.length - 1 ) + 'я';
-                       } else if ( word.substr( word.length - 2 ) === 'ія' ) {
-                               word = word.substr(0, word.length - 2 ) + 'ії';
-                       } else if ( word.substr( word.length - 2 ) === 'ка' ) {
-                               word = word.substr(0, word.length - 2 ) + 'ки';
-                       } else if ( word.substr( word.length - 2 ) === 'ти' ) {
-                               word = word.substr(0, word.length - 2 ) + 'тей';
-                       } else if ( word.substr( word.length - 2 ) === 'ды' ) {
-                               word = word.substr(0, word.length - 2 ) + 'дов';
-                       } else if ( word.substr( word.length - 3 ) === 'ник' ) {
-                               word = word.substr(0, word.length - 3 ) + 'ника';
+                       if ( word.substr( word.length - 4 ) !== 'вікі' && word.substr( word.length - 4 ) !== 'Вікі' ) {
+                               if ( word.substr( word.length - 1 ) === 'ь' ) {
+                                       word = word.substr(0, word.length - 1 ) + 'я';
+                               } else if ( word.substr( word.length - 2 ) === 'ія' ) {
+                                       word = word.substr(0, word.length - 2 ) + 'ії';
+                               } else if ( word.substr( word.length - 2 ) === 'ка' ) {
+                                       word = word.substr(0, word.length - 2 ) + 'ки';
+                               } else if ( word.substr( word.length - 2 ) === 'ти' ) {
+                                       word = word.substr(0, word.length - 2 ) + 'тей';
+                               } else if ( word.substr( word.length - 2 ) === 'ды' ) {
+                                       word = word.substr(0, word.length - 2 ) + 'дов';
+                               } else if ( word.substr( word.length - 3 ) === 'ник' ) {
+                                       word = word.substr(0, word.length - 3 ) + 'ника';
+                               }
                        }
                        break;
                case 'accusative': // знахідний відмінок
-                       if ( ( word.substr( word.length - 4 ) === 'вікі' ) || ( word.substr( word.length - 4 ) === 'Вікі' ) ) {
-                       }
-                       else if ( word.substr( word.length - 2 ) === 'ія' ) {
-                               word = word.substr(0, word.length - 2 ) + 'ію';
+                       if ( word.substr( word.length - 4 ) !== 'вікі' && word.substr( word.length - 4 ) !== 'Вікі' ) {
+                               if ( word.substr( word.length - 2 ) === 'ія' ) {
+                                       word = word.substr(0, word.length - 2 ) + 'ію';
+                               }
                        }
                        break;
        }
index 87018f6..a0b5569 100644 (file)
@@ -96,7 +96,7 @@ $.extend( mw.language, {
         */
        preConvertPlural: function ( forms, count ) {
                while ( forms.length < count ) {
-                       forms.push( forms[ forms.length-1 ] );
+                       forms.push( forms[ forms.length - 1 ] );
                }
                return forms;
        },
index 4282a3d..56fa0da 100644 (file)
@@ -13,7 +13,7 @@
         *
         * Example: Fill the string to length 10 with '+' characters on the right.
         *
-        *     pad('blah', 10, '+', true); // => 'blah++++++'
+        *     pad( 'blah', 10, '+', true ); // => 'blah++++++'
         *
         * @private
         * @param {string} text The string to pad
@@ -59,7 +59,7 @@
         * consideration to local customs.
         *
         * Adapted from dojo/number library with thanks
-        * http://dojotoolkit.org/reference-guide/1.8/dojo/number.html
+        * <http://dojotoolkit.org/reference-guide/1.8/dojo/number.html>
         *
         * @private
         * @param {number} value the number to be formatted, ignores sign
index 64efbb9..f92d372 100644 (file)
                                        imgHeight = 0;
                                }
 
-                               rows[rows.length-1][rows[rows.length-1].length] = {
+                               rows[rows.length - 1][rows[rows.length - 1].length] = {
                                        $elm: $this,
                                        width: $this.outerWidth(),
                                        imgWidth: imgWidth,
-                                       aspect: imgWidth / imgHeight, // XXX: can divide by 0 ever happen?
+                                       // XXX: can divide by 0 ever happen?
+                                       aspect: imgWidth / imgHeight,
                                        captionWidth: $this.children().children( 'div.gallerytextwrapper' ).width(),
                                        height: imgHeight
                                };
                                                // Also on the off chance there is a bug in this
                                                // code, would prevent accidentally expanding to
                                                // be 10 billion pixels wide.
-                                               mw.log( 'mw.page.gallery: Cannot fit row, aspect is ' + preferredHeight/curRowHeight );
+                                               mw.log( 'mw.page.gallery: Cannot fit row, aspect is ' + preferredHeight / curRowHeight );
                                                if ( i === rows.length - 1 ) {
                                                        // If its the last row, and we can't fit it,
                                                        // don't make the entire row huge.
                                        }
                                        if ( preferredHeight < 5 ) {
                                                // Well something clearly went wrong...
-                                               mw.log( {maxWidth: maxWidth, combinedPadding: combinedPadding, combinedAspect: combinedAspect, wantedWidth: wantedWidth } );
+                                               mw.log( {
+                                                       maxWidth: maxWidth,
+                                                       combinedPadding: combinedPadding,
+                                                       combinedAspect: combinedAspect,
+                                                       wantedWidth: wantedWidth
+                                               } );
                                                mw.log( 'mw.page.gallery: [BUG!] Fitting row ' + i + ' to too small a size: ' + preferredHeight );
                                                // Skip this row.
                                                continue;
                                                imageElm = $imageElm.length ? $imageElm[0] : null;
                                                $caption = $outerDiv.find( 'div.gallerytextwrapper' );
 
-
                                                // Since we are going to re-adjust the height, the vertical
                                                // centering margins need to be reset.
                                                $imageDiv.children( 'div' ).css( 'margin', '0px auto' );
index 8a4d526..50301bd 100644 (file)
@@ -90,4 +90,4 @@
                        }
                }
        } );
-}( mediaWiki, jQuery ) );
\ No newline at end of file
+}( mediaWiki, jQuery ) );
index 23d7837..2cd27af 100644 (file)
@@ -128,7 +128,7 @@ jQuery( function ( $ ) {
        // make the selected tab visible.
        hash = window.location.hash;
        if ( hash.match( /^#mw-prefsection-[\w\-]+/ ) ) {
-               switchPrefTab( hash.replace( '#mw-prefsection-' , '' ) );
+               switchPrefTab( hash.replace( '#mw-prefsection-', '' ) );
        }
 
        // In browsers that support the onhashchange event we will not bind click
@@ -140,7 +140,7 @@ jQuery( function ( $ ) {
        if ( 'onhashchange' in window &&
                ( document.documentMode === undefined || document.documentMode >= 8 )
        ) {
-               $( window ).on( 'hashchange' , function () {
+               $( window ).on( 'hashchange', function () {
                        var hash = window.location.hash;
                        if ( hash.match( /^#mw-prefsection-[\w\-]+/ ) ) {
                                switchPrefTab( hash.replace( '#mw-prefsection-', '' ) );
index 4ee3de3..8a5ff59 100644 (file)
                                };
                                img.src = dataURL;
                        }, mw.config.get( 'wgFileCanRotate' ) ? function ( data ) {
-                               /*jshint camelcase: false, nomen: false */
+                               /*jshint camelcase:false, nomen:false */
                                try {
                                        meta = mw.libs.jpegmeta( data, file.fileName );
                                        meta._binary_data = null;
                        return true;
                }
 
-
                /**
                 * Initialization
                 */
index 73b5dc4..54d1608 100644 (file)
@@ -208,11 +208,15 @@ a.mw-ui-button {
        border-radius: 0;
        float: left;
 
-       &:first-child{
+       &:first-child {
                border-top-left-radius: @buttonBorderRadius;
                border-bottom-left-radius: @buttonBorderRadius;
        }
 
+       &:not(:first-child) {
+               border-left: none;
+       }
+
        &:last-child{
                border-top-right-radius: @buttonBorderRadius;
                border-bottom-right-radius: @buttonBorderRadius;
index 05045d5..e576937 100644 (file)
@@ -3,8 +3,5 @@
  * Vector.
  */
 
-// FIXME: remove import for button styles as soon as extensions using mediawiki.ui are
-// updated to use mediawiki.ui.button as well.
 @import "components/utilities";
-@import "components/default/buttons";
 @import "components/default/forms";
index eb8c203..9daad74 100644 (file)
@@ -17,7 +17,8 @@
                }
        }
 
-       &:active {
+       &:active,
+       &.mw-ui-checked {
                // lessphp doesn't implement shade (https://github.com/leafo/lessphp/issues/528);
                // it passes it through, then ResourceLoader drops it.
                // background: shade(@bgColor, 20%);
@@ -51,7 +52,8 @@
 
                // make sure disabled buttons don't have hover and active states
                &:hover,
-               &:active {
+               &:active,
+               &.mw-ui-checked {
                        box-shadow: none;
                }
        }
@@ -69,7 +71,8 @@
                color: mix(#fff, @textColor, 20%);
        }
 
-       &:active {
+       &:active,
+       &.mw-ui-checked {
                // lessphp doesn't implement shade, see above
                // color: shade(@textColor, 20%);
                color: mix(#000, @textColor, 20%);
index d084731..08690a3 100644 (file)
@@ -2,9 +2,6 @@
  * Provide Agora appearance for mw-ui-* classes when using the Vector skin.
  */
 
-// FIXME: remove import for button styles as soon as extensions using mediawiki.ui are
-// updated to use mediawiki.ui.button as well.
-
 // Typography
 //
 // We prefer the usage of Georgia Bold for all headings. Georgia Regular is used to place emphasis on pull-out or short quotations. This latter usage should be used sparingly. 
@@ -24,6 +21,5 @@
 // Styleguide 1.
 
 @import "components/utilities";
-@import "components/vector/buttons";
 @import "components/vector/forms";
 @import "components/vector/containers";
index 32c3f1e..b7b818f 100644 (file)
                                .replace( rUnderscoreTrim, '' );
                }
 
-
                // Reject illegal characters
                if ( title.match( rInvalid ) ) {
                        return false;
                };
        }() );
 
-
        /* Static members */
 
        /**
 
                /**
                 * Example to declare existing titles:
+                *
                 *     Title.exist.set( ['User:John_Doe', ...] );
-                * Eample to declare titles nonexistent:
+                *
+                * Example to declare titles nonexistent:
+                *
                 *     Title.exist.set( ['File:Foo_bar.jpg', ...], false );
                 *
                 * @static
         */
        Title.prototype.toString = Title.prototype.getPrefixedDb;
 
-
        /**
         * @alias #getPrefixedText
         * @method
index a750106..5566312 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * Library for simple URI parsing and manipulation. Dependencies: mw, jQuery.
+ * Library for simple URI parsing and manipulation.
  *
  * Intended to be minimal, but featureful; do not expect full RFC 3986 compliance. The use cases we
  * have in mind are constructing 'next page' or 'previous page' URLs, detecting whether we need to
@@ -44,8 +44,8 @@
  * (N.b., 'password' is technically not allowed for HTTP URIs, but it is possible with other kinds
  * of URIs.)
  *
- * Parsing based on parseUri 1.2.2 (c) Steven Levithan <stevenlevithan.com>, MIT License.
- * http://stevenlevithan.com/demo/parseuri/js/
+ * Parsing based on parseUri 1.2.2 (c) Steven Levithan <http://stevenlevithan.com>, MIT License.
+ * <http://stevenlevithan.com/demo/parseuri/js/>
  *
  * @class mw.Uri
  */
index b6cc2b7..1b183d9 100644 (file)
                        $( '<colgroup>' ).appendTo( $table );
                        $( '<colgroup>' ).css( 'width', 350 ).appendTo( $table );
 
-
                        entryTypeText = function ( entryType ) {
                                switch ( entryType ) {
                                        case 'log':
                                .appendTo( $table );
                        }
 
-
                        return $table;
                },
 
index 6dd4f88..90a6425 100644 (file)
                 * The section of the dialog to show.
                 */
                display: function ( s ) {
-                       this.$dialog.dialog( { buttons:{} } ); // hide the buttons
-                       this.$dialog.find( '.feedback-mode' ).hide(); // hide everything
-                       this.$dialog.find( '.feedback-' + s ).show(); // show the desired div
+                       // Hide the buttons
+                       this.$dialog.dialog( { buttons: {} } );
+                       // Hide everything
+                       this.$dialog.find( '.feedback-mode' ).hide();
+                       // Show the desired div
+                       this.$dialog.find( '.feedback-' + s ).show();
                },
 
                /**
index 0284e68..5ba1a54 100644 (file)
@@ -10,6 +10,7 @@
         *
         * @param {boolean} [instantToggle=false]
         * @return {jQuery}
+        * @chainable
         */
        $.fn.goIn = function ( instantToggle ) {
                if ( instantToggle === true ) {
@@ -23,6 +24,7 @@
         *
         * @param {boolean} [instantToggle=false]
         * @return jQuery
+        * @chainable
         */
        $.fn.goOut = function ( instantToggle ) {
                if ( instantToggle === true ) {
index 85669fb..3a6869e 100644 (file)
        var oldParser,
                slice = Array.prototype.slice,
                parserDefaults = {
-                       magic : {
-                               'SITENAME' : mw.config.get( 'wgSiteName' )
+                       magic: {
+                               'SITENAME': mw.config.get( 'wgSiteName' )
                        },
                        // This is a whitelist based on, but simpler than, Sanitizer.php.
                        // Self-closing tags are not currently supported.
-                       allowedHtmlElements : [
+                       allowedHtmlElements: [
                                'b',
                                'i'
                        ],
                        // Key tag name, value allowed attributes for that tag.
                        // See Sanitizer::setupAttributeWhitelist
-                       allowedHtmlCommonAttributes : [
+                       allowedHtmlCommonAttributes: [
                                // HTML
                                'id',
                                'class',
@@ -41,9 +41,9 @@
                        // Attributes allowed for specific elements.
                        // Key is element name in lower case
                        // Value is array of allowed attributes for that element
-                       allowedHtmlAttributesByElement : {},
-                       messages : mw.messages,
-                       language : mw.language,
+                       allowedHtmlAttributesByElement: {},
+                       messages: mw.messages,
+                       language: mw.language,
 
                        // Same meaning as in mediawiki.js.
                        //
index 1080df3..d8a17f6 100644 (file)
@@ -1052,12 +1052,12 @@ var mw = ( function ( $, undefined ) {
                                        // Can't use jQuery.getScript because that only uses <script> for cross-domain,
                                        // it uses XHR and eval for same-domain scripts, which we don't want because it
                                        // messes up line numbers.
-                                       // The below is based on jQuery ([jquery@1.8.2]/src/ajax/script.js)
+                                       // The below is based on jQuery ([jquery@1.9.1]/src/ajax/script.js)
 
-                                       // IE-safe way of getting the <head>. document.head isn't supported
-                                       // in old IE, and doesn't work when in the <head>.
+                                       // IE-safe way of getting an append target. In old IE document.head isn't supported
+                                       // and its getElementsByTagName can't find <head> until </head> is parsed.
                                        done = false;
-                                       head = document.getElementsByTagName( 'head' )[0] || document.body;
+                                       head = document.head || document.getElementsByTagName( 'head' )[0] || document.documentElement;
 
                                        script = document.createElement( 'script' );
                                        script.async = true;
@@ -1099,7 +1099,9 @@ var mw = ( function ( $, undefined ) {
                                                        document.body.appendChild( script );
                                                } );
                                        } else {
-                                               head.appendChild( script );
+                                               // Circumvent IE6 bugs with base elements (jqbug.com/2709, jqbug.com/4378)
+                                               // by prepending instead of appending.
+                                               head.insertBefore( script, head.firstChild );
                                        }
                                } else {
                                        document.write( mw.html.element( 'script', { 'src': src }, '' ) );
@@ -1730,36 +1732,45 @@ var mw = ( function ( $, undefined ) {
                                 *
                                 * @param {string|Array} dependencies Module name or array of modules names the callback
                                 *  dependends on to be ready before executing
-                                * @param {Function} [ready] callback to execute when all dependencies are ready
-                                * @param {Function} [error] callback to execute when if dependencies have a errors
+                                * @param {Function} [ready] Callback to execute when all dependencies are ready
+                                * @param {Function} [error] Callback to execute if one or more dependencies failed
+                                * @return {jQuery.Promise}
                                 */
                                using: function ( dependencies, ready, error ) {
-                                       var tod = typeof dependencies;
-                                       // Validate input
-                                       if ( tod !== 'object' && tod !== 'string' ) {
-                                               throw new Error( 'dependencies must be a string or an array, not a ' + tod );
-                                       }
+                                       var deferred = $.Deferred();
+
                                        // Allow calling with a single dependency as a string
-                                       if ( tod === 'string' ) {
+                                       if ( typeof dependencies === 'string' ) {
                                                dependencies = [ dependencies ];
+                                       } else if ( !$.isArray( dependencies ) ) {
+                                               // Invalid input
+                                               throw new Error( 'Dependencies must be a string or an array' );
+                                       }
+
+                                       if ( ready ) {
+                                               deferred.done( ready );
+                                       }
+                                       if ( error ) {
+                                               deferred.fail( error );
                                        }
+
                                        // Resolve entire dependency map
                                        dependencies = resolve( dependencies );
                                        if ( allReady( dependencies ) ) {
                                                // Run ready immediately
-                                               if ( $.isFunction( ready ) ) {
-                                                       ready();
-                                               }
+                                               deferred.resolve();
                                        } else if ( filter( ['error', 'missing'], dependencies ).length ) {
                                                // Execute error immediately if any dependencies have errors
-                                               if ( $.isFunction( error ) ) {
-                                                       error( new Error( 'one or more dependencies have state "error" or "missing"' ),
-                                                               dependencies );
-                                               }
+                                               deferred.reject(
+                                                       new Error( 'One or more dependencies failed to load' ),
+                                                       dependencies
+                                               );
                                        } else {
                                                // Not all dependencies are ready: queue up a request
-                                               request( dependencies, ready, error );
+                                               request( dependencies, deferred.resolve, deferred.reject );
                                        }
+
+                                       return deferred.promise();
                                },
 
                                /**
@@ -1989,7 +2000,7 @@ var mw = ( function ( $, undefined ) {
                                         * The try / catch block is used for JSON & localStorage feature detection.
                                         * See the in-line documentation for Modernizr's localStorage feature detection
                                         * code for a full account of why we need a try / catch:
-                                        * https://github.com/Modernizr/Modernizr/blob/v2.7.1/modernizr.js#L771-L796
+                                        * <https://github.com/Modernizr/Modernizr/blob/v2.7.1/modernizr.js#L771-L796>.
                                         */
                                        init: function () {
                                                var raw, data;
@@ -2224,12 +2235,13 @@ var mw = ( function ( $, undefined ) {
                                 * @param {string} name The tag name.
                                 * @param {Object} attrs An object with members mapping element names to values
                                 * @param {Mixed} contents The contents of the element. May be either:
+                                *
                                 *  - string: The string is escaped.
-                                *  - null or undefined: The short closing form is used, e.g. <br/>.
+                                *  - null or undefined: The short closing form is used, e.g. `<br/>`.
                                 *  - this.Raw: The value attribute is included without escaping.
                                 *  - this.Cdata: The value attribute is included, and an exception is
                                 *   thrown if it contains an illegal ETAGO delimiter.
-                                *   See http://www.w3.org/TR/1999/REC-html401-19991224/appendix/notes.html#h-B.3.2
+                                *   See <http://www.w3.org/TR/1999/REC-html401-19991224/appendix/notes.html#h-B.3.2>.
                                 */
                                element: function ( name, attrs, contents ) {
                                        var v, attrName, s = '<' + name;
index 082f807..ffafd33 100644 (file)
                /**
                 * Get the link to a page name (relative to `wgServer`),
                 *
-                * @param {string} str Page name to get the link for.
+                * @param {string} str Page name
                 * @param {Object} [params] A mapping of query parameter names to values,
-                *     e.g. `{ action: 'edit' }`.
-                * @return {string} Location for a page with name of `str` or boolean false on error.
+                *  e.g. `{ action: 'edit' }`
+                * @return {string} Url of the page with name of `str`
                 */
                getUrl: function ( str, params ) {
-                       var url = mw.config.get( 'wgArticlePath' ).replace( '$1',
-                               util.wikiUrlencode( typeof str === 'string' ? str : mw.config.get( 'wgPageName' ) ) );
+                       var url = mw.config.get( 'wgArticlePath' ).replace(
+                               '$1',
+                               util.wikiUrlencode( typeof str === 'string' ? str : mw.config.get( 'wgPageName' ) )
+                       );
+
                        if ( params && !$.isEmptyObject( params ) ) {
-                               url += url.indexOf( '?' ) !== -1 ? '&' : '?';
-                               url += $.param( params );
+                               url += ( url.indexOf( '?' ) !== -1 ? '&' : '?' ) + $.param( params );
                        }
+
                        return url;
                },
 
index 0d822bc..eb53138 100644 (file)
@@ -19,5 +19,6 @@
     "ooui-dialog-action-close": "Cerrar",
     "ooui-outline-control-move-down": "Mover abajo",
     "ooui-outline-control-move-up": "Mover arriba",
+    "ooui-outline-control-remove": "Eliminar elemento",
     "ooui-toolbar-more": "Más"
 }
\ No newline at end of file
index 4af8dbe..aa780e4 100644 (file)
@@ -8,5 +8,6 @@
     "ooui-dialog-action-close": "Sule",
     "ooui-outline-control-move-down": "Liiguta üksust allapoole",
     "ooui-outline-control-move-up": "Liiguta üksust ülespoole",
+    "ooui-outline-control-remove": "Eemalda üksus",
     "ooui-toolbar-more": "Veel"
 }
\ No newline at end of file
index ee95b8a..adf8ce8 100644 (file)
@@ -8,5 +8,6 @@
     "ooui-dialog-action-close": "Slütj",
     "ooui-outline-control-move-down": "Element efter onern sküüw",
     "ooui-outline-control-move-up": "Element efter boowen sküüw",
+    "ooui-outline-control-remove": "Element wechnem",
     "ooui-toolbar-more": "Muar"
 }
\ No newline at end of file
index 65ec22b..ccabf8d 100644 (file)
@@ -9,5 +9,6 @@
     "ooui-dialog-action-close": "બંધ કરો",
     "ooui-outline-control-move-down": "વસ્તુ નીચે ખસેડો",
     "ooui-outline-control-move-up": "વસ્તુ ઉપર ખસેડો",
+    "ooui-outline-control-remove": "વસ્તુ હટાવો",
     "ooui-toolbar-more": "વધુ"
 }
\ No newline at end of file
index 8b79d34..3c41b3e 100644 (file)
@@ -4,11 +4,13 @@
             "Ansumang",
             "Devayon",
             "Rajesh",
-            "Siddhartha Ghai"
+            "Siddhartha Ghai",
+            "Goelujjwal"
         ]
     },
     "ooui-dialog-action-close": "बंद करें",
     "ooui-outline-control-move-down": "प्रविष्टि नीचे ले जाएँ",
     "ooui-outline-control-move-up": "प्रविष्टि ऊपर ले जाएँ",
+    "ooui-outline-control-remove": "आइटम हटाएँ",
     "ooui-toolbar-more": "अधिक"
 }
\ No newline at end of file
index 4c27b07..df37fe3 100644 (file)
@@ -7,5 +7,6 @@
     "ooui-dialog-action-close": "Жабу",
     "ooui-outline-control-move-down": "Элементті төмен жылжыту",
     "ooui-outline-control-move-up": "Элементті жоғары жылжыту",
+    "ooui-outline-control-remove": "Элементті алып тастау",
     "ooui-toolbar-more": "толығырақ"
 }
\ No newline at end of file
index 8798603..33ff886 100644 (file)
@@ -19,6 +19,6 @@
     "ooui-dialog-action-close": "Zamknij",
     "ooui-outline-control-move-down": "Przenieś niżej",
     "ooui-outline-control-move-up": "Przenieś wyżej",
-    "ooui-outline-control-remove": "Usuń przedmiot",
+    "ooui-outline-control-remove": "Usuń element",
     "ooui-toolbar-more": "Więcej"
 }
\ No newline at end of file
index 9a412f5..d98b0e4 100644 (file)
@@ -1,11 +1,13 @@
 {
     "@metadata": {
         "authors": [
-            "AlimanRuna"
+            "AlimanRuna",
+            "Jduranboger"
         ]
     },
     "ooui-dialog-action-close": "Wichq'ay",
     "ooui-outline-control-move-down": "Qallawata uraykuchiy",
     "ooui-outline-control-move-up": "Qallawata huqariy",
+    "ooui-outline-control-remove": "P'anqa sutikunata qichuy",
     "ooui-toolbar-more": "Aswan"
 }
\ No newline at end of file
index dc3f1f5..f8dc77c 100644 (file)
@@ -4,5 +4,9 @@
             "John Reid"
         ]
     },
-    "ooui-outline-control-remove": "Remuiv eitem"
+    "ooui-dialog-action-close": "Claise",
+    "ooui-outline-control-move-down": "Muiv eetem doon",
+    "ooui-outline-control-move-up": "Muiv eetem up",
+    "ooui-outline-control-remove": "Remuiv eitem",
+    "ooui-toolbar-more": "Mair"
 }
\ No newline at end of file
diff --git a/resources/oojs-ui/oojs-ui-agora.css b/resources/oojs-ui/oojs-ui-agora.css
new file mode 100644 (file)
index 0000000..8aedde5
--- /dev/null
@@ -0,0 +1,80 @@
+.oo-ui-window-head {
+  height: 3.35em;
+  border-bottom: 1px solid #dddddd;
+}
+
+.oo-ui-window-body {
+  padding: 2em 3.35em;
+}
+
+.oo-ui-window-icon {
+  width: 3.35em;
+  height: 3.35em;
+  background-size: 2em auto;
+  border-left: 1px solid #dddddd;
+}
+
+.oo-ui-window-title {
+  line-height: 3.35em;
+}
+
+.oo-ui-buttonedElement.oo-ui-indicatedElement .oo-ui-buttonedElement-button > .oo-ui-indicatedElement-indicator,
+.oo-ui-buttonedElement.oo-ui-iconedElement .oo-ui-buttonedElement-button > .oo-ui-iconedElement-icon {
+  width: 3.35em;
+  height: 3.35em;
+  background-size: 2em auto;
+}
+
+.oo-ui-optionWidget {
+  padding: 0.8em 1em 0.8em 3.35em;
+  font-weight: bold;
+  border-bottom: 1px solid #dddddd;
+}
+
+.oo-ui-optionWidget.oo-ui-indicatedElement .oo-ui-labeledElement-label {
+  padding-right: 1.5em;
+}
+
+.oo-ui-optionWidget-level-0 {
+  padding-left: 3.5em;
+}
+
+.oo-ui-optionWidget-level-0 .oo-ui-iconedElement-icon {
+  left: 1em;
+}
+
+.oo-ui-optionWidget-level-1 {
+  padding-left: 5em;
+}
+
+.oo-ui-optionWidget-level-1 .oo-ui-iconedElement-icon {
+  left: 2.5em;
+}
+
+.oo-ui-optionWidget-level-2 {
+  padding-left: 6.5em;
+}
+
+.oo-ui-optionWidget-level-2 .oo-ui-iconedElement-icon {
+  left: 4em;
+}
+
+.oo-ui-buttonOptionWidget {
+  padding: 0;
+}
+
+.oo-ui-menuItemWidget.oo-ui-optionWidget-selected {
+  color: #ffffff;
+  background: #347bff;
+}
+
+.oo-ui-menuSectionItemWidget {
+  font-weight: normal;
+  color: #777777;
+  border: none;
+}
+
+.oo-ui-textInputWidget input,
+.oo-ui-textInputWidget textarea {
+  padding: .8em 1em;
+}
\ No newline at end of file
index 66a8072..091f4fc 100644 (file)
   box-shadow: 0 0 0.66em rgba(0, 0, 0, 0.25);
 }
 
+.oo-ui-frame-content {
+  font-family: sans-serif;
+  font-size: 0.8em;
+}
+
 .oo-ui-toolbar-bar {
   background: #f8fbfd;
   background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #ffffff), color-stop(100%, #f1f7fb));
           transition: border-color 300ms ease-in-out;
 }
 
-.oo-ui-toolGroup:hover {
+.oo-ui-toolGroup.oo-ui-widget-enabled:hover {
   border-color: rgba(0, 0, 0, 0.1);
 }
 
-.oo-ui-toolGroup .oo-ui-tool-link .oo-ui-tool-title {
+.oo-ui-toolGroup.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title {
   color: #000;
 }
 
+.oo-ui-window-body {
+  padding: 0 0.75em;
+}
+
+.oo-ui-window-icon {
+  width: 2em;
+  height: 2em;
+  margin-right: 0.5em;
+  line-height: 2em;
+}
+
 .oo-ui-window-title {
+  line-height: 2em;
   color: #333;
 }
 
 
 .oo-ui-buttonedElement.oo-ui-indicatedElement .oo-ui-buttonedElement-button > .oo-ui-indicatedElement-indicator,
 .oo-ui-buttonedElement.oo-ui-iconedElement .oo-ui-buttonedElement-button > .oo-ui-iconedElement-icon {
+  width: 1.9em;
+  height: 1.9em;
   opacity: 0.8;
 }
 
 .oo-ui-buttonedElement-frameless .oo-ui-buttonedElement-button > .oo-ui-iconedElement-icon {
-  -webkit-transition: opacity 200ms;
-     -moz-transition: opacity 200ms;
-      -ms-transition: opacity 200ms;
-       -o-transition: opacity 200ms;
-          transition: opacity 200ms;
+  /* Don't animate opacities for now, causes wiggling in Chrome (bug 63020) */
+
+  /*.oo-ui-transition(opacity 200ms);*/
+
 }
 
 .oo-ui-buttonedElement-frameless .oo-ui-buttonedElement-button:hover > .oo-ui-iconedElement-icon,
   border-bottom-right-radius: 0.25em;
 }
 
-.oo-ui-barToolGroup .oo-ui-tool.oo-ui-widget-enabled:hover {
+.oo-ui-barToolGroup .oo-ui-tool-link .oo-ui-iconedElement-icon {
+  opacity: 0.8;
+}
+
+.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool.oo-ui-widget-enabled:hover {
   border-color: rgba(0, 0, 0, 0.2);
 }
 
-.oo-ui-barToolGroup .oo-ui-tool-active.oo-ui-widget-enabled {
+.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool-active.oo-ui-widget-enabled {
   background: #f8fbfd;
   background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #f1f7fb), color-stop(100%, #ffffff));
   background-image: -webkit-linear-gradient(top, #f1f7fb 0%, #ffffff 100%);
   box-shadow: inset 0 0.07em 0.07em 0 rgba(0, 0, 0, 0.07);
 }
 
-.oo-ui-barToolGroup .oo-ui-tool-active.oo-ui-widget-enabled + .oo-ui-tool-active.oo-ui-widget-enabled {
+.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool-active.oo-ui-widget-enabled + .oo-ui-tool-active.oo-ui-widget-enabled {
   border-left-color: rgba(0, 0, 0, 0.1);
 }
 
-.oo-ui-barToolGroup .oo-ui-tool-link .oo-ui-iconedElement-icon {
-  opacity: 0.8;
-}
-
-.oo-ui-barToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-iconedElement-icon {
+.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-iconedElement-icon {
   opacity: 0.2;
 }
 
-.oo-ui-barToolGroup .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-iconedElement-icon {
+.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-iconedElement-icon {
   opacity: 0.8;
 }
 
-.oo-ui-barToolGroup .oo-ui-tool.oo-ui-widget-enabled:hover .oo-ui-tool-link .oo-ui-iconedElement-icon {
+.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool.oo-ui-widget-enabled:hover .oo-ui-tool-link .oo-ui-iconedElement-icon {
   opacity: 1;
 }
 
+.oo-ui-barToolGroup.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-iconedElement-icon {
+  opacity: 0.2;
+}
+
 .oo-ui-listToolGroup.oo-ui-popupToolGroup-active {
   border-color: rgba(0, 0, 0, 0.2);
 }
   opacity: 0.2;
 }
 
+.oo-ui-listToolGroup.oo-ui-widget-disabled .oo-ui-indicatedElement-indicator,
+.oo-ui-listToolGroup.oo-ui-widget-disabled .oo-ui-iconedElement-icon {
+  opacity: 0.2;
+}
+
 .oo-ui-menuToolGroup {
   border-color: rgba(0, 0, 0, 0.1);
 }
 
-.oo-ui-menuToolGroup:hover {
+.oo-ui-menuToolGroup.oo-ui-widget-enabled:hover {
   border-color: rgba(0, 0, 0, 0.2);
 }
 
   border-color: rgba(0, 0, 0, 0.25);
 }
 
-.oo-ui-menuToolGroup .oo-ui-tool:hover {
+.oo-ui-menuToolGroup .oo-ui-tool.oo-ui-widget-enabled:hover {
   background-color: #e1f3ff;
 }
 
+.oo-ui-menuToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-tool-title {
+  color: #ccc;
+}
+
+.oo-ui-menuToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-iconedElement-icon {
+  opacity: 0.2;
+}
+
+.oo-ui-menuToolGroup.oo-ui-widget-disabled {
+  color: #ccc;
+  text-shadow: 0 1px 1px #fff;
+  background-color: #f3f3f3;
+  border-color: #ddd;
+}
+
+.oo-ui-menuToolGroup.oo-ui-widget-disabled .oo-ui-indicatedElement-indicator,
+.oo-ui-menuToolGroup.oo-ui-widget-disabled .oo-ui-iconedElement-icon {
+  opacity: 0.2;
+}
+
 .oo-ui-popupToolGroup-handle .oo-ui-indicatedElement-indicator,
 .oo-ui-popupToolGroup-handle .oo-ui-iconedElement-icon {
   opacity: 0.8;
   box-shadow: inset 0 0.07em 0.07em 0 rgba(0, 0, 0, 0.07);
 }
 
+.oo-ui-optionWidget {
+  padding: 0.5em 2em 0.5em 3em;
+}
+
 .oo-ui-optionWidget-highlighted {
   background-color: #e1f3ff;
 }
   background-color: #a7dcff;
 }
 
+.oo-ui-optionWidget.oo-ui-widget-disabled {
+  color: #ccc;
+}
+
 .oo-ui-menuWidget {
   margin-top: -1px;
   background: #fff;
   white-space: nowrap;
 }
 
+.oo-ui-buttonOptionWidget {
+  padding: 0;
+}
+
 .oo-ui-buttonOptionWidget.oo-ui-optionWidget-selected,
 .oo-ui-buttonOptionWidget.oo-ui-optionWidget-highlighted {
   background-color: transparent;
   opacity: 0.8;
 }
 
+.oo-ui-inlineMenuWidget.oo-ui-widget-disabled .oo-ui-inlineMenuWidget-handle {
+  color: #ccc;
+  text-shadow: 0 1px 1px #fff;
+  background-color: #f3f3f3;
+  border-color: #ddd;
+}
+
+.oo-ui-inlineMenuWidget.oo-ui-widget-disabled .oo-ui-indicatedElement-indicator {
+  opacity: 0.2;
+}
+
 .oo-ui-menuItemWidget.oo-ui-optionWidget-highlighted {
   background-color: #e1f3ff;
 }
 
 .oo-ui-menuSectionItemWidget {
+  padding: 0.33em 0.75em;
   color: #888;
 }
 
   font-size: 1.1em;
 }
 
+.oo-ui-outlineItemWidget.oo-ui-indicatedElement .oo-ui-labeledElement-label {
+  padding-right: 1.5em;
+}
+
+.oo-ui-outlineItemWidget-level-0 {
+  padding-left: 3.5em;
+}
+
+.oo-ui-outlineItemWidget-level-0 .oo-ui-iconedElement-icon {
+  left: 1em;
+}
+
+.oo-ui-outlineItemWidget-level-1 {
+  padding-left: 5em;
+}
+
+.oo-ui-outlineItemWidget-level-1 .oo-ui-iconedElement-icon {
+  left: 2.5em;
+}
+
+.oo-ui-outlineItemWidget-level-2 {
+  padding-left: 6.5em;
+}
+
+.oo-ui-outlineItemWidget-level-2 .oo-ui-iconedElement-icon {
+  left: 4em;
+}
+
 .oo-ui-outlineItemWidget.oo-ui-optionWidget-selected {
   text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5);
   background-color: #a7dcff;
   box-shadow: 0 0 0.5em rgba(0, 0, 0, 0.2);
 }
 
+.oo-ui-textInputWidget {
+  width: 20em;
+}
+
 .oo-ui-textInputWidget input,
 .oo-ui-textInputWidget textarea {
+  padding: 0.5em;
   font-family: sans-serif;
   font-size: 1em;
   background-color: #fff;
           transition: border-color 200ms, box-shadow 200ms;
 }
 
+.oo-ui-textInputWidget-decorated input,
+.oo-ui-textInputWidget-decorated textarea {
+  padding-left: 2em;
+}
+
+.oo-ui-textInputWidget-icon {
+  width: 2em;
+}
+
 .oo-ui-textInputWidget.oo-ui-widget-enabled input:focus,
 .oo-ui-textInputWidget.oo-ui-widget-enabled textarea:focus {
   border-color: #a7dcff;
index 62453ea..937ff33 100644 (file)
@@ -1,14 +1,14 @@
 /*!
- * OOjs UI v0.1.0-pre (0f50cdc46c)
+ * OOjs UI v0.1.0-pre (23fb1b6144)
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2014 OOjs Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: Wed Mar 19 2014 17:39:11 GMT-0700 (PDT)
+ * Date: Thu Mar 27 2014 14:49:30 GMT-0700 (PDT)
  */
-( function () {
+( function ( OO ) {
 
 'use strict';
 /**
@@ -2774,13 +2774,22 @@ OO.ui.Tool.static.group = '';
 OO.ui.Tool.static.title = '';
 
 /**
- * Tool can be automatically added to tool groups.
+ * Tool can be automatically added to catch-all groups.
  *
  * @static
  * @property {boolean}
  * @inheritable
  */
-OO.ui.Tool.static.autoAdd = true;
+OO.ui.Tool.static.autoAddToCatchall = true;
+
+/**
+ * Tool can be automatically added to named groups.
+ *
+ * @static
+ * @property {boolean}
+ * @inheritable
+ */
+OO.ui.Tool.static.autoAddToGroup = true;
 
 /**
  * Check if this tool is compatible with given data.
@@ -2923,11 +2932,12 @@ OO.ui.Tool.prototype.destroy = function () {
  *
  * @constructor
  * @param {OO.ui.ToolFactory} toolFactory Factory for creating tools
+ * @param {OO.ui.ToolGroupFactory} toolGroupFactory Factory for creating tool groups
  * @param {Object} [config] Configuration options
  * @cfg {boolean} [actions] Add an actions section opposite to the tools
  * @cfg {boolean} [shadow] Add a shadow below the toolbar
  */
-OO.ui.Toolbar = function OoUiToolbar( toolFactory, config ) {
+OO.ui.Toolbar = function OoUiToolbar( toolFactory, toolGroupFactory, config ) {
        // Configuration initialization
        config = config || {};
 
@@ -2940,6 +2950,7 @@ OO.ui.Toolbar = function OoUiToolbar( toolFactory, config ) {
 
        // Properties
        this.toolFactory = toolFactory;
+       this.toolGroupFactory = toolGroupFactory;
        this.groups = [];
        this.tools = {};
        this.$bar = this.$( '<div>' );
@@ -2983,6 +2994,15 @@ OO.ui.Toolbar.prototype.getToolFactory = function () {
        return this.toolFactory;
 };
 
+/**
+ * Get the tool group factory.
+ *
+ * @return {OO.Factory} Tool group factory
+ */
+OO.ui.Toolbar.prototype.getToolGroupFactory = function () {
+       return this.toolGroupFactory;
+};
+
 /**
  * Handles mouse down events.
  *
@@ -3022,13 +3042,7 @@ OO.ui.Toolbar.prototype.initialize = function () {
 OO.ui.Toolbar.prototype.setup = function ( groups ) {
        var i, len, type, group,
                items = [],
-               // TODO: Use a registry instead
-               defaultType = 'bar',
-               constructors = {
-                       'bar': OO.ui.BarToolGroup,
-                       'list': OO.ui.ListToolGroup,
-                       'menu': OO.ui.MenuToolGroup
-               };
+               defaultType = 'bar';
 
        // Cleanup previous groups
        this.reset();
@@ -3045,9 +3059,10 @@ OO.ui.Toolbar.prototype.setup = function ( groups ) {
                                group.label = 'ooui-toolbar-more';
                        }
                }
-               type = constructors[group.type] ? group.type : defaultType;
+               // Check type has been registered
+               type = this.getToolGroupFactory().lookup( group.type ) ? group.type : defaultType;
                items.push(
-                       new constructors[type]( this, $.extend( { '$': this.$ }, group ) )
+                       this.getToolGroupFactory().create( type, this, $.extend( { '$': this.$ }, group ) )
                );
        }
        this.addItems( items );
@@ -3181,7 +3196,7 @@ OO.ui.ToolFactory.prototype.extract = function ( collection, used ) {
                        tool = this.registry[name];
                        if (
                                // Only add tools by group name when auto-add is enabled
-                               tool.static.autoAdd &&
+                               tool.static.autoAddToCatchall &&
                                // Exclude already used tools
                                ( !used || !used[name] )
                        ) {
@@ -3206,7 +3221,7 @@ OO.ui.ToolFactory.prototype.extract = function ( collection, used ) {
                                                        // Include tools with matching group
                                                        tool.static.group === item.group &&
                                                        // Only add tools by group name when auto-add is enabled
-                                                       tool.static.autoAdd &&
+                                                       tool.static.autoAddToGroup &&
                                                        // Exclude already used tools
                                                        ( !used || !used[name] )
                                                ) {
@@ -3508,6 +3523,43 @@ OO.ui.ToolGroup.prototype.destroy = function () {
        }
        this.$element.remove();
 };
+/**
+ * Factory for tools.
+ *
+ * @class
+ * @extends OO.Factory
+ * @constructor
+ */
+OO.ui.ToolGroupFactory = function OoUiToolGroupFactory() {
+       // Parent constructor
+       OO.Factory.call( this );
+
+       var i, l,
+               defaultClasses = this.constructor.static.getDefaultClasses();
+
+       // Register default toolgroups
+       for ( i = 0, l = defaultClasses.length; i < l; i++ ) {
+               this.register( defaultClasses[i] );
+       }
+};
+
+/* Inheritance */
+
+OO.inheritClass( OO.ui.ToolGroupFactory, OO.Factory );
+
+/* Static Methods */
+
+/**
+ * Get a default set of classes to be registered on construction
+ * @return {Function[]} Default classes
+ */
+OO.ui.ToolGroupFactory.static.getDefaultClasses = function () {
+       return [
+               OO.ui.BarToolGroup,
+               OO.ui.ListToolGroup,
+               OO.ui.MenuToolGroup
+       ];
+};
 /**
  * Layout made of a fieldset and optional legend.
  *
@@ -4549,6 +4601,8 @@ OO.inheritClass( OO.ui.BarToolGroup, OO.ui.ToolGroup );
 OO.ui.BarToolGroup.static.titleTooltips = true;
 
 OO.ui.BarToolGroup.static.accelTooltips = true;
+
+OO.ui.BarToolGroup.static.name = 'bar';
 /**
  * Popup list of tools with an icon and optional label.
  *
@@ -4710,6 +4764,8 @@ OO.inheritClass( OO.ui.ListToolGroup, OO.ui.PopupToolGroup );
 /* Static Properties */
 
 OO.ui.ListToolGroup.static.accelTooltips = true;
+
+OO.ui.ListToolGroup.static.name = 'list';
 /**
  * Drop down menu layout of tools as selectable menu items.
  *
@@ -4743,6 +4799,8 @@ OO.inheritClass( OO.ui.MenuToolGroup, OO.ui.PopupToolGroup );
 
 OO.ui.MenuToolGroup.static.accelTooltips = true;
 
+OO.ui.MenuToolGroup.static.name = 'menu';
+
 /* Methods */
 
 /**
@@ -4763,7 +4821,7 @@ OO.ui.MenuToolGroup.prototype.onUpdateState = function () {
                }
        }
 
-       this.setLabel( labelTexts.join( ', ' ) );
+       this.setLabel( labelTexts.join( ', ' ) || ' ' );
 };
 /**
  * UserInterface popup tool.
@@ -4826,6 +4884,8 @@ OO.ui.PopupTool.prototype.onUpdateState = function () {
 /**
  * Group widget.
  *
+ * Mixin for OO.ui.Widget subclasses.
+ *
  * Use together with OO.ui.ItemWidget to make disabled state inheritable.
  *
  * @class
@@ -4860,6 +4920,8 @@ OO.ui.GroupWidget.prototype.setDisabled = function ( disabled ) {
        var i, len;
 
        // Parent method
+       // Note this is calling OO.ui.Widget; we're assuming the class this is mixed into
+       // is a subclass of OO.ui.Widget.
        OO.ui.Widget.prototype.setDisabled.call( this, disabled );
 
        // During construction, #setDisabled is called before the OO.ui.GroupElement constructor
@@ -6634,7 +6696,14 @@ OO.ui.InlineMenuWidget.prototype.getMenu = function () {
  * @param {OO.ui.MenuItemWidget} item Selected menu item
  */
 OO.ui.InlineMenuWidget.prototype.onMenuSelect = function ( item ) {
-       this.setLabel( item.getLabel() );
+       var selectedLabel = item.getLabel();
+
+       // If the label is a DOM element, clone it, because setLabel will append() it
+       if ( selectedLabel instanceof jQuery ) {
+               selectedLabel = selectedLabel.clone();
+       }
+
+       this.setLabel( selectedLabel );
 };
 
 /**
@@ -7035,12 +7104,13 @@ OO.ui.PopupWidget = function OoUiPopupWidget( config ) {
 
        // Mixin constructors
        OO.ui.LabeledElement.call( this, this.$( '<div>' ), config );
+       OO.ui.ClippableElement.call( this, this.$( '<div>' ), config );
 
        // Properties
        this.visible = false;
        this.$popup = this.$( '<div>' );
        this.$head = this.$( '<div>' );
-       this.$body = this.$( '<div>' );
+       this.$body = this.$clippable;
        this.$tail = this.$( '<div>' );
        this.$container = config.$container || this.$( 'body' );
        this.autoClose = !!config.autoClose;
@@ -7078,6 +7148,8 @@ OO.inheritClass( OO.ui.PopupWidget, OO.ui.Widget );
 
 OO.mixinClass( OO.ui.PopupWidget, OO.ui.LabeledElement );
 
+OO.mixinClass( OO.ui.PopupWidget, OO.ui.ClippableElement );
+
 /* Events */
 
 /**
@@ -7183,6 +7255,7 @@ OO.ui.PopupWidget.prototype.hasTail = function () {
  */
 OO.ui.PopupWidget.prototype.show = function () {
        if ( !this.visible ) {
+               this.setClipping( true );
                this.$element.show();
                this.visible = true;
                this.emit( 'show' );
@@ -7202,6 +7275,7 @@ OO.ui.PopupWidget.prototype.show = function () {
  */
 OO.ui.PopupWidget.prototype.hide = function () {
        if ( this.visible ) {
+               this.setClipping( false );
                this.$element.hide();
                this.visible = false;
                this.emit( 'hide' );
@@ -7467,6 +7541,13 @@ OO.ui.SearchWidget.prototype.getQuery = function () {
        return this.query;
 };
 
+/**
+ * Reset the widget to initial value.
+ */
+OO.ui.SearchWidget.prototype.clear = function () {
+       this.query.setValue( '' );
+};
+
 /**
  * Get the results list.
  *
@@ -7954,4 +8035,4 @@ OO.ui.ToggleSwitchWidget.prototype.onClick = function ( e ) {
                this.setValue( !this.value );
        }
 };
-}() );
+}( OO ) );
index f34fc32..887da4d 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.1.0-pre (0f50cdc46c)
+ * OOjs UI v0.1.0-pre (23fb1b6144)
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2014 OOjs Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: Wed Mar 19 2014 17:39:11 GMT-0700 (PDT)
+ * Date: Thu Mar 27 2014 14:49:30 GMT-0700 (PDT)
  */
 
 /* Textures */
   background: none;
 }
 
-.oo-ui-frame-content {
-  font-family: sans-serif;
-  font-size: 0.8em;
-}
-
 .oo-ui-toolbar {
   clear: both;
 }
   -webkit-touch-callout: none;
 }
 
-.oo-ui-window-body {
-  padding: 0 0.75em;
-}
-
 .oo-ui-window-icon {
   float: left;
-  width: 2em;
-  height: 2em;
-  margin-right: 0.5em;
-  line-height: 2em;
-  background-position: right center;
+  background-position: center center;
   background-repeat: no-repeat;
 }
 
 .oo-ui-window-title {
   float: left;
-  line-height: 2em;
   white-space: nowrap;
   cursor: default;
 }
 .oo-ui-buttonedElement.oo-ui-indicatedElement .oo-ui-buttonedElement-button > .oo-ui-indicatedElement-indicator,
 .oo-ui-buttonedElement.oo-ui-iconedElement .oo-ui-buttonedElement-button > .oo-ui-iconedElement-icon {
   display: inline-block;
-  width: 1.9em;
-  height: 1.9em;
   vertical-align: middle;
   background-position: center center;
   background-repeat: no-repeat;
   display: block;
   height: 1.5em;
   padding: 0.25em;
-  cursor: pointer;
 }
 
 .oo-ui-barToolGroup .oo-ui-tool-link .oo-ui-iconedElement-icon {
   display: none;
 }
 
+.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool-link {
+  cursor: pointer;
+}
+
 .oo-ui-listToolGroup .oo-ui-toolGroup-tools {
   padding: 0.25em;
 }
   background-image: /* @embed */ url(images/icons/check.png);
 }
 
+.oo-ui-menuToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link {
+  cursor: default;
+}
+
 .oo-ui-popupToolGroup {
   position: relative;
   height: 2em;
   line-height: 2.6em;
 }
 
+.oo-ui-popupToolGroup.oo-ui-widget-disabled .oo-ui-popupToolGroup-handle {
+  cursor: default;
+}
+
 .oo-ui-popupToolGroup.oo-ui-iconedElement .oo-ui-popupToolGroup-handle .oo-ui-labeledElement-label {
-  margin-left: 3.25em;
+  margin-left: 3em;
 }
 
 .oo-ui-popupToolGroup.oo-ui-indicatedElement .oo-ui-popupToolGroup-handle .oo-ui-labeledElement-label {
   display: inline-block;
   width: 2em;
   height: 2em;
-  margin-right: 0.5em;
+  margin-right: 0.25em;
   vertical-align: middle;
 }
 
 .oo-ui-optionWidget {
   position: relative;
   display: block;
-  padding: 0.5em 2em 0.5em 3em;
   margin: 0;
   list-style: none;
   cursor: pointer;
 }
 
 .oo-ui-optionWidget .oo-ui-labeledElement-label {
+  display: block;
   overflow: hidden;
   line-height: 1.5em;
   text-overflow: ellipsis;
   cursor: default;
 }
 
+.oo-ui-popupWidget-body {
+  clear: both;
+}
+
 .oo-ui-buttonGroupWidget {
   border-radius: 0.3em;
 }
 
 .oo-ui-buttonOptionWidget {
   display: inline-block;
-  padding: 0;
   background-color: transparent;
 }
 
 }
 
 .oo-ui-inlineMenuWidget .oo-ui-menuWidget {
+  z-index: 1;
   width: 100%;
 }
 
+.oo-ui-inlineMenuWidget.oo-ui-widget-disabled .oo-ui-inlineMenuWidget-handle {
+  cursor: default;
+}
+
 .oo-ui-menuItemWidget {
   position: relative;
 }
 }
 
 .oo-ui-menuSectionItemWidget {
-  padding: 0.33em 0.75em;
   cursor: default;
 }
 
   -webkit-touch-callout: none;
 }
 
-.oo-ui-outlineItemWidget.oo-ui-indicatedElement .oo-ui-labeledElement-label {
-  padding-right: 1.5em;
-}
-
-.oo-ui-outlineItemWidget-level-0 {
-  padding-left: 3.5em;
-}
-
-.oo-ui-outlineItemWidget-level-0 .oo-ui-iconedElement-icon {
-  left: 1em;
-}
-
-.oo-ui-outlineItemWidget-level-1 {
-  padding-left: 5em;
-}
-
-.oo-ui-outlineItemWidget-level-1 .oo-ui-iconedElement-icon {
-  left: 2.5em;
-}
-
-.oo-ui-outlineItemWidget-level-2 {
-  padding-left: 6.5em;
-}
-
-.oo-ui-outlineItemWidget-level-2 .oo-ui-iconedElement-icon {
-  left: 4em;
-}
-
 .oo-ui-popupButtonWidget {
   position: relative;
 }
 
 .oo-ui-textInputWidget {
   position: relative;
-  width: 20em;
   -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
           box-sizing: border-box;
 .oo-ui-textInputWidget textarea {
   display: inline-block;
   width: 100%;
-  padding: 0.5em;
   -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
           box-sizing: border-box;
   resize: none;
 }
 
-.oo-ui-textInputWidget-decorated input,
-.oo-ui-textInputWidget-decorated textarea {
-  padding-left: 2em;
-}
-
 .oo-ui-textInputWidget-icon {
   position: absolute;
   top: 0;
   left: 0;
-  width: 2em;
   height: 100%;
   background-position: right center;
   background-repeat: no-repeat;
 .oo-ui-toggleSwitchWidget {
   position: relative;
   display: inline-block;
-  width: 3em;
+  width: 4em;
   height: 2em;
   overflow: hidden;
   vertical-align: middle;
 }
 
 .oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip {
-  left: 1.25em;
+  left: 2.25em;
   margin-left: -2px;
 }
 
index 6cf631f..edc7425 100755 (executable)
@@ -78,7 +78,7 @@ NEWCHANGESDISPLAY=$(git log $OLDVERSION.. --oneline --no-merges --reverse --colo
 cd -
 
 # Copy files from dist/ to resources/oojs-ui
-cp -a $1/dist/{oojs-ui.js,oojs-ui.svg.css,oojs-ui-apex.css,images,i18n} resources/oojs-ui/
+cp -a $1/dist/{oojs-ui.js,oojs-ui.svg.css,oojs-ui-apex.css,oojs-ui-agora.css,images,i18n} resources/oojs-ui/
 # Figure out what the new version is
 NEWVERSION=$(oojsuiversion)
 # Generate commit summary
index e35fcd1..03f133e 100644 (file)
@@ -91,7 +91,7 @@ relativeforfloats = window.relativeforfloats = function () {
 setrelative = window.setrelative = function ( nodes ) {
        var i = 0;
        while ( i < nodes.length ) {
-               if( ( ( nodes[i].style.float && nodes[i].style.float !== ( 'none' ) ||
+               if ( ( ( nodes[i].style.float && nodes[i].style.float !== ( 'none' ) ||
                        ( nodes[i].align && nodes[i].align !== ( 'none' ) ) ) &&
                        ( !nodes[i].style.position || nodes[i].style.position !== 'relative' ) ) )
                {
@@ -135,7 +135,7 @@ window.onbeforeprint = function () {
        }
 };
 
-window.onafterprint = function() {
+window.onafterprint = function () {
        for ( var i = 0; i < expandedURLs.length; i++ ) {
                if ( expandedURLs[i] ) {
                        expandedURLs[i].removeNode( true );
index ca74b38..c017e3c 100644 (file)
@@ -5,7 +5,7 @@
  * http://www.modernmethod.com/sajax/
  */
 
-/*jshint camelcase:false, onevar:false */
+/*jshint camelcase:false */
 /*global alert */
 ( function ( mw ) {
 
@@ -89,9 +89,7 @@ function createXhr() {
  * with id = showFoo
  */
 function doAjaxRequest( func_name, args, target ) {
-       var i, x;
-       var uri;
-       var post_data;
+       var i, x, uri, post_data;
        uri = mw.util.wikiScript() + '?action=ajax';
        if ( window.sajax_request_type === 'GET' ) {
                if ( uri.indexOf( '?' ) === -1 ) {
@@ -146,7 +144,7 @@ function doAjaxRequest( func_name, args, target ) {
                } else if ( typeof target === 'object' ) {
                        if ( target.tagName === 'INPUT' ) {
                                if ( x.status === 200 ) {
-                                       target.value= x.responseText;
+                                       target.value = x.responseText;
                                }
                                //else alert( 'Error: ' + x.status + ' ' + x.statusText + ' (' + x.responseText + ')' );
                        } else {
@@ -173,8 +171,9 @@ function doAjaxRequest( func_name, args, target ) {
  * @return {boolean} Whether the browser supports AJAX
  */
 function wfSupportsAjax() {
-       var request = createXhr();
-       var supportsAjax = request ? true : false;
+       var request = createXhr(),
+               supportsAjax = request ? true : false;
+
        request = undefined;
        return supportsAjax;
 }
index a869923..41d20fb 100644 (file)
@@ -149,14 +149,3 @@ div.magnify a, div.magnify img {
 img.thumbborder {
        border: 1px solid #dddddd;
 }
-
-/**
- * Basic styles for the user login and create account forms
- */
-#loginend {
-       margin: 0.5em;
-}
-
-#loginend table {
-       width: 100%;
-}
index ad7942a..06f5eba 100644 (file)
@@ -185,6 +185,12 @@ table {
        font-size: 100%;
 }
 
+/* Prevent citations and subscripts from interfering with the line-height */
+sup,
+sub {
+       line-height: 1;
+}
+
 /* Forms */
 fieldset {
        border: 1px solid #2f6fab;
index fb8edc1..2886e08 100644 (file)
@@ -98,7 +98,7 @@
                // Show/Hide memcached servers when needed
                $( 'input[name$="config_wgMainCacheType"]' ).change( function () {
                        var $memc = $( '#config-memcachewrapper' );
-                       if( $( 'input[name$="config_wgMainCacheType"]:checked' ).val() === 'memcached' ) {
+                       if ( $( 'input[name$="config_wgMainCacheType"]:checked' ).val() === 'memcached' ) {
                                $memc.show( 'slow' );
                        } else {
                                $memc.hide( 'slow' );
index d639f63..7933caf 100644 (file)
@@ -85,7 +85,6 @@ function uploadSetup() {
                wpLicenseTbody.insertBefore( row, wpLicenseRow.nextSibling );
        }
 
-
        // fillDestFile setup
        uploadSourceIds = mw.config.get( 'wgUploadSourceIds' );
        len = uploadSourceIds.length;
@@ -98,7 +97,7 @@ function uploadSetup() {
 }
 
 wgUploadWarningObj = window.wgUploadWarningObj = {
-       responseCache: { '' : '&nbsp;' },
+       responseCache: { '': '&nbsp;' },
        nameToCheck: '',
        typing: false,
        delay: 500, // ms
@@ -303,7 +302,7 @@ window.toggleFilenameFiller = function () {
 
 wgUploadLicenseObj = window.wgUploadLicenseObj = {
 
-       responseCache: { '' : '' },
+       responseCache: { '': '' },
 
        fetchPreview: function ( license ) {
                var cached, title;
index f0aa943..df5682e 100644 (file)
@@ -240,7 +240,7 @@ win.importStylesheet = function ( page ) {
        return win.importStylesheetURI( uri );
 };
 
-win.importStylesheetURI = function( url, media ) {
+win.importStylesheetURI = function ( url, media ) {
        var l = document.createElement( 'link' );
        l.rel = 'stylesheet';
        l.href = url;
index 4326496..c32e869 100644 (file)
@@ -642,10 +642,6 @@ td.htmlform-tip {
        margin-top: 2em;
 }
 
-#loginend, #signupend {
-       clear: both;
-}
-
 #userloginprompt, #languagelinks {
        font-size: 85%;
 }
index 8e7fc4d..7102c86 100644 (file)
@@ -24,7 +24,6 @@ body {
 }
 body {
        background-color: @menu-background-color;
-       font-size: @body-font-size;
 }
 
 /* Content */
@@ -40,6 +39,67 @@ div#content {
        background-color: @body-background-color;
        color: @content-font-color;
        direction: ltr;
+
+       .mw-editsection,
+       .mw-editsection-like {
+               font-family: @content-font-family;
+       }
+
+       p {
+               line-height: inherit;
+               margin: 0.5em 0;
+       }
+
+       h1,
+       h2,
+       #firstHeading {
+               font-family: @content-heading-font-family;
+               line-height: @heading-line-height;
+               margin-bottom: 0.25em;
+               padding: 0;
+       }
+
+       h1,
+       #firstHeading {
+               font-size: @content-heading-font-size;
+               margin-top: 0;
+       }
+
+       h2 {
+               font-size: 1.5em;
+               margin-top: 1em;
+       }
+
+       h3,
+       h4,
+       h5,
+       h6 {
+               line-height: @content-line-height;
+               margin-top: 0.3em;
+               margin-bottom: 0;
+               padding-bottom: 0;
+       }
+
+       h3 {
+               font-size: 1.17em;
+       }
+
+       h3,
+       h4 {
+               font-weight: bold;
+       }
+
+       h4,
+       h5,
+       h6 {
+               font-size: 100%; /* (reset) */
+       }
+
+       #toc h2,
+       .toc h2 {
+               font-size: 100%; /* (reset) */
+               font-family: @content-font-family;
+       }
 }
 
 /* Hide empty portlets */
@@ -61,12 +121,6 @@ pre, .mw-code {
        font-size: 0.8em;
 }
 
-#firstHeading {
-       padding-top: 0;
-       margin-top: 0;
-       font-size: @content-heading-font-size;
-}
-
 .redirectText {
        font-size: 140%;
 }
index 2af6389..ebfab42 100644 (file)
@@ -1,18 +1,17 @@
 @html-font-size: 1em;
 
-@body-font-size: 1em;
-
 // Page content
 // FIXME: Use global variable since Echo and CentralNotice use this variable
 @content-border-color: #a7d7f9;
-@content-font-family: sans-serif;
-@content-font-color: black;
-@content-font-size: 0.8em;
-@content-line-height: 1.5em;
+@content-font-family: Arimo, "Liberation Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
+@content-font-color: #252525;
+@content-font-size: 0.875em;
+@content-line-height: 1.6;
 @content-padding: 1em;
-@content-heading-font-size: 1.6em;
-@content-heading-font-family: sans-serif;
+@content-heading-font-size: 1.8em;
+@content-heading-font-family: "Linux Libertine", Georgia, Times, serif;
 @body-background-color: #fff;
+@heading-line-height: 1.3;
 
 // Navigation
 @menu-background-color: #f6f6f6;
index 8420431..0bc114a 100644 (file)
@@ -8,7 +8,7 @@ jQuery( function ( $ ) {
                        .attr( 'tabindex', '0' )
                        // For accessibility, show the menu when the h3 is clicked (bug 24298/46486)
                        .on( 'click keypress', function ( e ) {
-                               if( e.type === 'click' || e.which === 13 ) {
+                               if ( e.type === 'click' || e.which === 13 ) {
                                        $el.toggleClass( 'menuForceShow' );
                                        e.preventDefault();
                                }
diff --git a/tests/frontend/Gruntfile.js b/tests/frontend/Gruntfile.js
new file mode 100644 (file)
index 0000000..a8aad41
--- /dev/null
@@ -0,0 +1,51 @@
+/*!
+ * Grunt file
+ */
+
+/*jshint node:true */
+module.exports = function ( grunt ) {
+       grunt.loadNpmTasks( 'grunt-contrib-jshint' );
+       grunt.loadNpmTasks( 'grunt-contrib-watch' );
+       grunt.loadNpmTasks( 'grunt-jscs-checker' );
+
+       grunt.file.setBase(  __dirname + '/../..' );
+
+       grunt.initConfig( {
+               pkg: grunt.file.readJSON( __dirname + '/package.json' ),
+               jshint: {
+                       options: {
+                               jshintrc: '.jshintrc'
+                       },
+                       all: [ '*.js', '{includes,languages,resources,skins,tests}/**/*.js' ]
+               },
+               jscs: {
+                       // Known issues:
+                       // - https://github.com/mdevils/node-jscs/issues/277
+                       // - https://github.com/mdevils/node-jscs/issues/278
+                       all: [
+                               '<%= jshint.all %>',
+                               // Auto-generated file with JSON (double quotes)
+                               '!tests/qunit/data/mediawiki.jqueryMsg.data.js'
+
+                       // Exclude all files ignored by jshint
+                       ].concat( grunt.file.read( '.jshintignore' ).split( '\n' ).reduce( function ( patterns, pattern ) {
+                               // Filter out empty lines
+                               if ( pattern.length && pattern[0] !== '#' ) {
+                                       patterns.push( '!' + pattern );
+                               }
+                               return patterns;
+                       }, [] ) )
+               },
+               watch: {
+                       files: [
+                               '.{jshintrc,jscs.json,jshintignore,csslintrc}',
+                               '<%= jshint.all %>'
+                       ],
+                       tasks: ['test']
+               }
+       } );
+
+       grunt.registerTask( 'lint', ['jshint', 'jscs'] );
+       grunt.registerTask( 'test', ['lint'] );
+       grunt.registerTask( 'default', ['test'] );
+};
diff --git a/tests/frontend/package.json b/tests/frontend/package.json
new file mode 100644 (file)
index 0000000..5eb5c0a
--- /dev/null
@@ -0,0 +1,13 @@
+{
+  "name": "mediawiki",
+  "version": "0.0.0",
+  "scripts": {
+    "test": "grunt test"
+  },
+  "devDependencies": {
+    "grunt": "0.4.2",
+    "grunt-contrib-jshint": "0.8.0",
+    "grunt-contrib-watch": "0.5.3",
+    "grunt-jscs-checker": "0.4.0"
+  }
+}
index f20d73a..e021dcc 100644 (file)
@@ -1111,19 +1111,36 @@ class ParserTest {
                self::deleteFiles(
                        array(
                                "$dir/3/3a/Foobar.jpg",
-                               "$dir/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg",
-                               "$dir/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg",
-                               "$dir/thumb/3/3a/Foobar.jpg/640px-Foobar.jpg",
+                               "$dir/thumb/3/3a/Foobar.jpg/1000px-Foobar.jpg",
+                               "$dir/thumb/3/3a/Foobar.jpg/100px-Foobar.jpg",
                                "$dir/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg",
                                "$dir/thumb/3/3a/Foobar.jpg/1280px-Foobar.jpg",
+                               "$dir/thumb/3/3a/Foobar.jpg/137px-Foobar.jpg",
+                               "$dir/thumb/3/3a/Foobar.jpg/1500px-Foobar.jpg",
+                               "$dir/thumb/3/3a/Foobar.jpg/177px-Foobar.jpg",
+                               "$dir/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg",
+                               "$dir/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg",
+                               "$dir/thumb/3/3a/Foobar.jpg/206px-Foobar.jpg",
                                "$dir/thumb/3/3a/Foobar.jpg/20px-Foobar.jpg",
+                               "$dir/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg",
+                               "$dir/thumb/3/3a/Foobar.jpg/265px-Foobar.jpg",
                                "$dir/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg",
+                               "$dir/thumb/3/3a/Foobar.jpg/274px-Foobar.jpg",
                                "$dir/thumb/3/3a/Foobar.jpg/300px-Foobar.jpg",
                                "$dir/thumb/3/3a/Foobar.jpg/30px-Foobar.jpg",
+                               "$dir/thumb/3/3a/Foobar.jpg/330px-Foobar.jpg",
+                               "$dir/thumb/3/3a/Foobar.jpg/353px-Foobar.jpg",
                                "$dir/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg",
                                "$dir/thumb/3/3a/Foobar.jpg/400px-Foobar.jpg",
                                "$dir/thumb/3/3a/Foobar.jpg/40px-Foobar.jpg",
+                               "$dir/thumb/3/3a/Foobar.jpg/440px-Foobar.jpg",
+                               "$dir/thumb/3/3a/Foobar.jpg/442px-Foobar.jpg",
+                               "$dir/thumb/3/3a/Foobar.jpg/450px-Foobar.jpg",
+                               "$dir/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg",
+                               "$dir/thumb/3/3a/Foobar.jpg/600px-Foobar.jpg",
+                               "$dir/thumb/3/3a/Foobar.jpg/640px-Foobar.jpg",
                                "$dir/thumb/3/3a/Foobar.jpg/70px-Foobar.jpg",
+                               "$dir/thumb/3/3a/Foobar.jpg/75px-Foobar.jpg",
                                "$dir/thumb/3/3a/Foobar.jpg/960px-Foobar.jpg",
 
                                "$dir/e/ea/Thumb.png",
@@ -1132,10 +1149,13 @@ class ParserTest {
 
                                "$dir/f/ff/Foobar.svg",
                                "$dir/thumb/f/ff/Foobar.svg/180px-Foobar.svg.png",
-                               "$dir/thumb/f/ff/Foobar.svg/360px-Foobar.svg.png",
-                               "$dir/thumb/f/ff/Foobar.svg/langde-270px-Foobar.svg.png",
+                               "$dir/thumb/f/ff/Foobar.svg/2000px-Foobar.svg.png",
                                "$dir/thumb/f/ff/Foobar.svg/270px-Foobar.svg.png",
+                               "$dir/thumb/f/ff/Foobar.svg/3000px-Foobar.svg.png",
+                               "$dir/thumb/f/ff/Foobar.svg/360px-Foobar.svg.png",
+                               "$dir/thumb/f/ff/Foobar.svg/4000px-Foobar.svg.png",
                                "$dir/thumb/f/ff/Foobar.svg/langde-180px-Foobar.svg.png",
+                               "$dir/thumb/f/ff/Foobar.svg/langde-270px-Foobar.svg.png",
                                "$dir/thumb/f/ff/Foobar.svg/langde-360px-Foobar.svg.png",
 
                                "$dir/math/f/a/5/fa50b8b616463173474302ca3e63586b.png",
@@ -1146,8 +1166,6 @@ class ParserTest {
                        array(
                                "$dir/3/3a",
                                "$dir/3",
-                               "$dir/thumb/6/65",
-                               "$dir/thumb/6",
                                "$dir/thumb/3/3a/Foobar.jpg",
                                "$dir/thumb/3/3a",
                                "$dir/thumb/3",
index 1e0f78d..e8e71b8 100644 (file)
@@ -10170,7 +10170,8 @@ parsoid=wt2html,wt2wt,html2html
 # See https://www.mediawiki.org/wiki/Help:Images#Size_and_frame
 # and https://bugzilla.wikimedia.org/show_bug.cgi?id=62258
 # Foobar has actual size of 1941x220
-# 1. Thumbs & frameless always reduce, can't be enlarged
+# 1. Thumbs & frameless always reduce, can't be enlarged unless it's
+#    a scalable format.
 # 2. Framed images ignore width; always render at default size.
 #    If given a height, they respect height but continue to ignore width.
 # 3. "Unspecified format" and border are the only types which can be
@@ -10224,16 +10225,20 @@ parsoid=wt2html,wt2wt,html2html
 !! end
 
 !! test
-Image: thumbs can't be enlarged past original size
+Image: bitmap thumbs can't be enlarged past original size, but vector can.
 !! options
 parsoid=wt2html,wt2wt,html2html
 !! wikitext
 [[File:Foobar.jpg|thumb|2000px]]
+
+[[File:Foobar.svg|thumb|2000px]]
 !! html/php
 <div class="thumb tright"><div class="thumbinner" style="width:1943px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" class="thumbimage" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div></div></div></div>
+<div class="thumb tright"><div class="thumbinner" style="width:2002px;"><a href="/wiki/File:Foobar.svg" class="image"><img alt="Foobar.svg" src="http://example.com/images/thumb/f/ff/Foobar.svg/2000px-Foobar.svg.png" width="2000" height="1500" class="thumbimage" srcset="http://example.com/images/thumb/f/ff/Foobar.svg/3000px-Foobar.svg.png 1.5x, http://example.com/images/thumb/f/ff/Foobar.svg/4000px-Foobar.svg.png 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.svg" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div></div></div></div>
 
 !! html/parsoid
 <figure typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></figure>
+<figure typeof="mw:Image/Thumb"><a href="File:Foobar.svg"><img resource="./File:Foobar.svg" src="//example.com/images/f/ff/Foobar.svg" height="1500" width="2000"/></a></figure>
 !! end
 
 !! test
@@ -10250,16 +10255,20 @@ parsoid=wt2html,wt2wt,html2html
 !! end
 
 !! test
-Image: frameless can't be enlarged past original size
+Image: bitmap frameless can't be enlarged past original size, but vector can
 !! options
 parsoid=wt2html,wt2wt,html2html
 !! wikitext
 [[File:Foobar.jpg|frameless|2000px]]
+
+[[File:Foobar.svg|frameless|2000px]]
 !! html/php
 <p><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
+</p><p><a href="/wiki/File:Foobar.svg" class="image"><img alt="Foobar.svg" src="http://example.com/images/thumb/f/ff/Foobar.svg/2000px-Foobar.svg.png" width="2000" height="1500" srcset="http://example.com/images/thumb/f/ff/Foobar.svg/3000px-Foobar.svg.png 1.5x, http://example.com/images/thumb/f/ff/Foobar.svg/4000px-Foobar.svg.png 2x" /></a>
 </p>
 !! html/parsoid
 <p><span typeof="mw:Image/Frameless"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
+<p><span typeof="mw:Image/Frameless"><a href="File:Foobar.svg"><img resource="./File:Foobar.svg" src="//example.com/images/f/ff/Foobar.svg" height="1500" width="2000"/></a></span></p>
 !! end
 
 !! test
@@ -10357,153 +10366,191 @@ SVG thumbnails with no language set
 !! options
 !! wikitext
 [[File:Foobar.svg|thumb|caption]]
-!! html
+!! html/php
 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.svg" class="image"><img alt="" src="http://example.com/images/thumb/f/ff/Foobar.svg/180px-Foobar.svg.png" width="180" height="135" class="thumbimage" srcset="http://example.com/images/thumb/f/ff/Foobar.svg/270px-Foobar.svg.png 1.5x, http://example.com/images/thumb/f/ff/Foobar.svg/360px-Foobar.svg.png 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.svg" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>caption</div></div></div>
 
+!! html/parsoid
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.svg"><img resource="./File:Foobar.svg" src="//example.com/images/f/ff/Foobar.svg" height="165" width="220"/></a><figcaption>caption</figcaption></figure>
 !! end
 
 !! test
 SVG thumbnails with language de
 !! options
+parsoid=wt2html,wt2wt,html2html
 !! wikitext
 [[File:Foobar.svg|thumb|caption|lang=de]]
-!! html
+!! html/php
 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/index.php?title=File:Foobar.svg&amp;lang=de" class="image"><img alt="" src="http://example.com/images/thumb/f/ff/Foobar.svg/langde-180px-Foobar.svg.png" width="180" height="135" class="thumbimage" srcset="http://example.com/images/thumb/f/ff/Foobar.svg/langde-270px-Foobar.svg.png 1.5x, http://example.com/images/thumb/f/ff/Foobar.svg/langde-360px-Foobar.svg.png 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.svg" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>caption</div></div></div>
 
+!! html/parsoid
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.svg"><img resource="./File:Foobar.svg" src="//example.com/images/f/ff/Foobar.svg" lang="de" height="165" width="220"/></a><figcaption>caption</figcaption></figure>
 !! end
 
 !! test
 SVG thumbnails with invalid language code
 !! options
+parsoid=wt2html,wt2wt,html2html
 !! wikitext
 [[File:Foobar.svg|thumb|caption|lang=invalid.language.code]]
-!! html
+!! html/php
 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.svg" class="image"><img alt="" src="http://example.com/images/thumb/f/ff/Foobar.svg/180px-Foobar.svg.png" width="180" height="135" class="thumbimage" srcset="http://example.com/images/thumb/f/ff/Foobar.svg/270px-Foobar.svg.png 1.5x, http://example.com/images/thumb/f/ff/Foobar.svg/360px-Foobar.svg.png 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.svg" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>lang=invalid.language.code</div></div></div>
 
+!! html/parsoid
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.svg"><img resource="./File:Foobar.svg" src="//example.com/images/f/ff/Foobar.svg" height="165" width="220"/></a><figcaption>lang=invalid.language.code</figcaption></figure>
 !! end
 
 !! test
 BUG 1887: A ISBN with a thumbnail
 !! wikitext
-[[Image:foobar.jpg|thumb|ISBN 1235467890]]
-!! html
+[[File:Foobar.jpg|thumb|ISBN 1235467890]]
+!! html/php
 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div><a href="/wiki/Special:BookSources/1235467890" class="internal mw-magiclink-isbn">ISBN 1235467890</a></div></div></div>
 
+!! html/parsoid
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption><a href="Special:BookSources/1235467890" rel="mw:ExtLink">ISBN 1235467890</a></figcaption></figure>
 !! end
 
 !! test
 BUG 1887: A RFC with a thumbnail
 !! wikitext
-[[Image:foobar.jpg|thumb|This is RFC 12354]]
-!! html
+[[File:Foobar.jpg|thumb|This is RFC 12354]]
+!! html/php
 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>This is <a class="external mw-magiclink-rfc" rel="nofollow" href="//tools.ietf.org/html/rfc12354">RFC 12354</a></div></div></div>
 
+!! html/parsoid
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption>This is <a href="//tools.ietf.org/html/rfc12354" rel="mw:ExtLink">RFC 12354</a></figcaption></figure>
 !! end
 
 !! test
 BUG 1887: A mailto link with a thumbnail
 !! wikitext
-[[Image:foobar.jpg|thumb|Please mailto:nobody@example.com]]
-!! html
+[[File:Foobar.jpg|thumb|Please mailto:nobody@example.com]]
+!! html/php
 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>Please <a rel="nofollow" class="external free" href="mailto:nobody@example.com">mailto:nobody@example.com</a></div></div></div>
 
+!! html/parsoid
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption>Please <a rel="mw:ExtLink" href="mailto:nobody@example.com">mailto:nobody@example.com</a></figcaption></figure>
 !! end
 
 # Pending resolution to bug 368
 !! test
 BUG 648: Frameless image caption with a link
 !! wikitext
-[[Image:foobar.jpg|text with a [[link]] in it]]
-!! html
+[[File:Foobar.jpg|text with a [[link]] in it]]
+!! html/php
 <p><a href="/wiki/File:Foobar.jpg" class="image" title="text with a link in it"><img alt="text with a link in it" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
 </p>
+!! html/parsoid
+<p><span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"text with a [[link]] in it"}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
 !! end
 
 !! test
 BUG 648: Frameless image caption with a link (suffix)
 !! wikitext
-[[Image:foobar.jpg|text with a [[link]]foo in it]]
-!! html
+[[File:Foobar.jpg|text with a [[link]]foo in it]]
+!! html/php
 <p><a href="/wiki/File:Foobar.jpg" class="image" title="text with a linkfoo in it"><img alt="text with a linkfoo in it" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
 </p>
+!! html/parsoid
+<p><span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"text with a [[link]]foo in it"}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
 !! end
 
 !! test
 BUG 648: Frameless image caption with an interwiki link
 !! wikitext
-[[Image:foobar.jpg|text with a [[MeatBall:Link]] in it]]
-!! html
+[[File:Foobar.jpg|text with a [[MeatBall:Link]] in it]]
+!! html/php
 <p><a href="/wiki/File:Foobar.jpg" class="image" title="text with a MeatBall:Link in it"><img alt="text with a MeatBall:Link in it" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
 </p>
+!! html/parsoid
+<p><span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"text with a [[MeatBall:Link]] in it"}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
 !! end
 
 !! test
 BUG 648: Frameless image caption with a piped interwiki link
 !! wikitext
-[[Image:foobar.jpg|text with a [[MeatBall:Link|link]] in it]]
-!! html
+[[File:Foobar.jpg|text with a [[MeatBall:Link|link]] in it]]
+!! html/php
 <p><a href="/wiki/File:Foobar.jpg" class="image" title="text with a link in it"><img alt="text with a link in it" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
 </p>
+!! html/parsoid
+<p><span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"text with a [[MeatBall:Link|link]] in it"}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
 !! end
 
 !! test
 Escape HTML special chars in image alt text
 !! wikitext
-[[Image:foobar.jpg|& < > "]]
-!! html
+[[File:Foobar.jpg|& < > "]]
+!! html/php
 <p><a href="/wiki/File:Foobar.jpg" class="image" title="&amp; &lt; &gt; &quot;"><img alt="&amp; &lt; &gt; &quot;" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
 </p>
+!! html/parsoid
+<p><span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"&amp; &lt; > \""}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
 !! end
 
 !! test
 BUG 499: Alt text should have &#1234;, not &amp;1234;
 !! wikitext
-[[Image:foobar.jpg|&#9792;]]
-!! html
+[[File:Foobar.jpg|&#9792;]]
+!! html/php
 <p><a href="/wiki/File:Foobar.jpg" class="image" title="♀"><img alt="♀" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
 </p>
+!! html/parsoid
+<p><span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"&amp;#9792;"}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
 !! end
 
 !! test
 Broken image caption with link
+!! options
+parsoid=wt2html,wt2wt,html2html
 !! wikitext
 [[Image:Foobar.jpg|thumb|This is a broken caption. But [[Main Page|this]] is just an ordinary link.
-!! html
+!! html/php
 <p>[[Image:Foobar.jpg|thumb|This is a broken caption. But <a href="/wiki/Main_Page" title="Main Page">this</a> is just an ordinary link.
 </p>
+!! html/parsoid
+<p>[[Image:Foobar.jpg|thumb|This is a broken caption. But <a rel="mw:WikiLink" href="Main_Page">this</a> is just an ordinary link.</p>
 !! end
 
 !! test
 Image caption containing another image
 !! wikitext
-[[Image:Foobar.jpg|thumb|This is a caption with another [[Image:icon.png|image]] inside it!]]
-!! html
-<div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>This is a caption with another <a href="/index.php?title=Special:Upload&amp;wpDestFile=Icon.png" class="new" title="File:Icon.png">image</a> inside it!</div></div></div>
+[[File:Foobar.jpg|thumb|This is a caption with another [[File:Thumb.png|image]] inside it!]]
+!! html/php
+<div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>This is a caption with another <a href="/wiki/File:Thumb.png" class="image" title="image"><img alt="image" src="http://example.com/images/e/ea/Thumb.png" width="135" height="135" /></a> inside it!</div></div></div>
 
+!! html/parsoid
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption>This is a caption with another <span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"image"}'><a href="File:Thumb.png"><img resource="./File:Thumb.png" src="//example.com/images/e/ea/Thumb.png" height="135" width="135"/></a></span> inside it!</figcaption></figure>
 !! end
 
 !! test
-Image caption containing a newline
+Image: caption containing a newline
 !! wikitext
-[[Image:Foobar.jpg|This
+[[File:Foobar.jpg|This
 *is some text]]
-!! html
+!! html/php
 <p><a href="/wiki/File:Foobar.jpg" class="image" title="This *is some text"><img alt="This *is some text" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
 </p>
+!! html/parsoid
+<p><span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"This\n*is some text"}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
 !!end
 
 !!test
-Parsoid: Image caption containing leading space
+Image: caption containing leading space
 (The leading space should not trigger nowiki escaping in wt2wt mode)
 !! wikitext
-[[Image:Foobar.jpg|thumb| bar]]
-!! html
+[[File:Foobar.jpg|thumb| bar]]
+!! html/php
 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>bar</div></div></div>
 
+!! html/parsoid
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption> bar</figcaption></figure>
 !!end
 
 !! test
-Images: caption containing a table
+Image: caption containing a table
+!! options
+parsoid=wt2html,wt2wt,html2html
 !! wikitext
 [[Image:Foobar.jpg|thumb|200px|This is an example image thumbnail caption with a table
 {|
@@ -14712,6 +14759,14 @@ ISBN 3-462-04561-X
 </p>
 !! end
 
+!! test
+ISBN with empty prefix (parsoid test)
+!! wikitext
+ISBN 1234567890
+!! html/parsoid
+<p><a href="Special:BookSources/1234567890" rel="mw:ExtLink">ISBN 1234567890</a></p>
+!! end
+
 !! test
 Bug 22905: <abbr> followed by ISBN followed by </a>
 !! wikitext
@@ -19373,62 +19428,128 @@ parsoid=html2wt
 !! test
 Image: Modifying size of an image (1)
 !! options
-parsoid=html2wt
+parsoid={
+  "modes": ["wt2wt"],
+  "changes": [
+    ["img[height]", "attr", "height", "22"],
+    ["img[width]", "attr", "width", "200"]
+  ]
+}
 !! wikitext
+[[Image:Foobar.jpg|230x230px]]
+!! wikitext/edited
 [[Image:Foobar.jpg|200x200px]]
-!! html
-<p><span typeof="mw:Image" data-parsoid='{"optList":[{"ck":"width","ak":"230x230px"}]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"}}'><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/230px-Foobar.jpg" height="22" width="200" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"26","width":"230"},"sa":{"resource":"Image:Foobar.jpg"}}'/></a></span></p>
 !!end
 
 !! test
 Image: Modifying size of an image (2)
 !! options
-parsoid=html2wt
+parsoid={
+  "modes": ["wt2wt"],
+  "changes": [
+    ["img[height]", "attr", "height", "100"],
+    ["img[width]", "attr", "width", "500"]
+  ]
+}
 !! wikitext
+[[Image:Foobar.jpg|230x230px]]
+!! wikitext/edited
 [[Image:Foobar.jpg|500x500px]]
-!! html
-<p><span typeof="mw:Image" data-parsoid='{"optList":[{"ck":"width","ak":"230x230px"}]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"}}'><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/230px-Foobar.jpg" height="100" width="500" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"26","width":"230"},"sa":{"resource":"Image:Foobar.jpg"}}'/></a></span></p>
 !!end
 
-# note that the data-parsoid value conflicts with the figure's class
+# Change in size is ignored so long as class='mw-default-size'
+!! test
+Image: Modifying size of an image (3)
+!! options
+parsoid={
+  "modes": ["wt2wt"],
+  "changes": [
+    ["figure[class]", "removeClass", "mw-default-size"],
+    ["figure img", "attr", "height", "19"],
+    ["figure img", "attr", "width", "170"]
+  ]
+}
+!! wikitext
+[[Image:Foobar.jpg|thumb]]
+!! wikitext/edited
+[[Image:Foobar.jpg|thumb|170x170px]]
+!!end
+
 !! test
 Image: Modifying alignment of an image (bug 48665)
 !! options
-parsoid=html2wt
+parsoid={
+  "modes": ["wt2wt"],
+  "changes": [
+    ["figure[class]", "removeClass", "mw-halign-right"],
+    ["figure[class]", "addClass", "mw-halign-left"]
+  ]
+}
 !! wikitext
+[[Image:Foobar.jpg|thumb|caption|right]]
+!! wikitext/edited
 [[Image:Foobar.jpg|thumb|caption|left]]
-!! html
-<figure class="mw-default-size mw-halign-left" typeof="mw:Image/Thumb" data-parsoid='{"optList":[{"ck":"thumbnail","ak":"thumb"},{"ck":"caption","ak":"caption"},{"ck":"right","ak":"right"}]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"}}'><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" height="20" width="180" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"20","width":"180"},"sa":{"resource":"Image:Foobar.jpg"}}'/></a><figcaption>caption</figcaption></figure>
+!! end
+
+!! test
+Image: Modifying mw-default-size of an frameless image (bug 62805)
+!! options
+parsoid={
+  "modes": ["wt2wt"],
+  "changes": [
+    ["figure.mw-default-size", "removeClass", "mw-default-size"]
+  ]
+}
+!! wikitext
+[[Image:Foobar.jpg|frameless|right]]
+!! wikitext/edited
+[[Image:Foobar.jpg|frameless|right|220x220px]]
 !! end
 
 !! test
 Image: Modifying valign of an image (bug 49221)
 !! options
-parsoid=html2wt
+parsoid={
+  "modes": ["wt2wt"],
+  "changes": [
+    ["*[typeof=\"mw:Image\"]", "removeClass", "mw-valign-middle"],
+    ["*[typeof=\"mw:Image\"]", "addClass", "mw-valign-text-top"]
+  ]
+}
 !! wikitext
+[[File:Foobar.jpg|20px|middle]]
+!! wikitext/edited
 [[File:Foobar.jpg|20px|text-top]]
-!! html
-<p><span class="mw-valign-text-top" typeof="mw:Image" data-parsoid='{"optList":[{"ck":"width","ak":"20px"},{"ck":"text_top","ak":"text-top"}]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"}}'><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/20px-Foobar.jpg" height="2" width="20" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"2","width":"20"},"sa":{"resource":"File:Foobar.jpg"}}'/></a></span></p>
 !! end
 
 !! test
 Image: Modifying alt attribute of an image (bug 56400)
 !! options
-parsoid=html2wt
+parsoid={
+  "modes": ["wt2wt"],
+  "changes": [
+    ["img[alt]", "attr", "alt", "some alternate edited text"]
+  ]
+}
 !! wikitext
+[[File:Foobar.jpg|thumb|some caption|alt=some alternate text]]
+!! wikitext/edited
 [[File:Foobar.jpg|thumb|some caption|alt=some alternate edited text]]
-!! html
-<figure class="mw-default-size" typeof="mw:Image/Thumb" data-parsoid='{"optList":[{"ck":"thumbnail","ak":"thumb"},{"ck":"caption","ak":"some caption"},{"ck":"alt","ak":"alt=some alternate text"}]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"}}'><img alt="some alternate edited text" resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" height="20" width="180" data-parsoid='{"a":{"alt":"some alternate edited text","resource":"./File:Foobar.jpg","height":"20","width":"180"},"sa":{"alt":"alt=some alternate edited text","resource":"File:Foobar.jpg"}}'/></a><figcaption>some caption</figcaption></figure>
 !!end
 
 !! test
 Image: Modifying caption of an image
 !! options
-parsoid=html2wt
+parsoid={
+  "modes": ["wt2wt"],
+  "changes": [
+    ["figcaption", "text", "new caption"]
+  ]
+}
 !! wikitext
+[[Image:Foobar.jpg|thumb|original caption]]
+!! wikitext/edited
 [[Image:Foobar.jpg|thumb|new caption]]
-!! html
-<figure class="mw-default-size" typeof="mw:Image/Thumb" data-parsoid='{"optList":[{"ck":"thumbnail","ak":"thumb"},{"ck":"caption","ak":"original caption"}]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"}}'><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" height="20" width="180" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"20","width":"180"},"sa":{"resource":"Image:Foobar.jpg"}}'/></a><figcaption>new caption</figcaption></figure>
 !!end
 
 !! test
@@ -19480,7 +19601,7 @@ parsoid
 !!end
 
 !! test
-Images: upright option (parsoid)
+Image: upright option (parsoid)
 !! options
 parsoid
 !! wikitext
@@ -19492,7 +19613,7 @@ parsoid
 !!end
 
 !! test
-Images: upright option is ignored on inline and frame images (parsoid)
+Image: upright option is ignored on inline and frame images (parsoid)
 !! options
 parsoid
 !! wikitext
@@ -19501,6 +19622,48 @@ parsoid
 <p><span typeof="mw:Image" data-mw='{"caption":"caption"}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="57" width="500"/></a></span></p>
 !!end
 
+!! test
+Image: from basic HTML (1)
+!! options
+parsoid=html2wt
+!! html/parsoid
+<span typeof="mw:Image">
+  <img src="File:Foobar.jpg" width=100 height=100 alt="Alt">
+</span>
+!! wikitext
+[[File:Foobar.jpg|link=|alt=Alt|100x100px]]
+!! end
+
+!! test
+Image: from basic HTML (2)
+!! options
+parsoid=html2wt
+!! html/parsoid
+<img src="File:Foobar.jpg" width=100 height=100 alt="Alt">
+!! wikitext
+[[File:Foobar.jpg|link=|alt=Alt|100x100px]]
+!! end
+
+!! test
+Image: from basic HTML (3)
+!! options
+parsoid=html2wt
+!! html/parsoid
+<a href="Main"><img src="File:Foobar.jpg" width=100 height=100 alt="Alt"></a>
+!! wikitext
+[[File:Foobar.jpg|link=Main|alt=Alt|100x100px]]
+!! end
+
+!! test
+Image: from basic HTML (4)
+!! options
+parsoid=html2wt
+!! html/parsoid
+<img src="File:Foobar.jpg">
+!! wikitext
+[[File:Foobar.jpg|link=]]
+!! end
+
 !! test
 Lists: Serialize correctly even when list content is wrapped in p-tags (like VE does)
 !! options
index 4fcd5fc..57879f8 100644 (file)
@@ -16,7 +16,7 @@ David Vignoni
 
 US_states_by_total_state_tax_revenue.svg
 http://commons.wikimedia.org/wiki/File:US_states_by_total_state_tax_revenue.svg
-CC-BY 3.0
+CC BY 3.0
 TastyCakes on English Wikipedia
 
 greyscale-na-png.png, rgb-png.png, Xmp-exif-multilingual_test.jpg
@@ -43,6 +43,6 @@ Larry Ewing, Simon Budig, Anja Gerwinski
 
 Speech_bubbles.svg (Modified slightly)
 https://commons.wikimedia.org/wiki/File:Speech_bubbles.svg
-CC-BY-SA 3.0
+CC BY-SA 3.0
 Jarry1250
 
index 930a7f6..44ca3d2 100644 (file)
@@ -1,6 +1,7 @@
 <?php
 
 class MessageTest extends MediaWikiLangTestCase {
+
        protected function setUp() {
                parent::setUp();
 
@@ -10,6 +11,40 @@ class MessageTest extends MediaWikiLangTestCase {
                ) );
        }
 
+       /**
+        * @covers Message::__construct
+        * @dataProvider provideConstructor
+        */
+       public function testConstructor( $expectedLang, $key, $params, $language ) {
+               $reflection = new ReflectionClass( 'Message' );
+
+               $keyProperty = $reflection->getProperty( 'key' );
+               $keyProperty->setAccessible( true );
+
+               $paramsProperty = $reflection->getProperty( 'parameters' );
+               $paramsProperty->setAccessible( true );
+
+               $langProperty = $reflection->getProperty( 'language' );
+               $langProperty->setAccessible( true );
+
+               $message = new Message( $key, $params, $language );
+
+               $this->assertEquals( $key, $keyProperty->getValue( $message ) );
+               $this->assertEquals( $params, $paramsProperty->getValue( $message ) );
+               $this->assertEquals( $expectedLang, $langProperty->getValue( $message ) );
+       }
+
+       public function provideConstructor() {
+               $langDe = Language::factory( 'de' );
+               $langEn = Language::factory( 'en' );
+
+               return array(
+                       array( $langDe, 'foo', array(), $langDe ),
+                       array( $langDe, 'foo', array( 'bar' ), $langDe ),
+                       array( $langEn, 'foo', array( 'bar' ), null )
+               );
+       }
+
        public function provideTestParams() {
                return array(
                        array( array() ),
@@ -24,6 +59,24 @@ class MessageTest extends MediaWikiLangTestCase {
                );
        }
 
+       public function getLanguageProvider() {
+               return array(
+                       array( 'foo', array( 'bar' ), 'en' ),
+                       array( 'foo', array( 'bar' ), 'de' )
+               );
+       }
+
+       /**
+        * @covers Message::getLanguage
+        * @dataProvider getLanguageProvider
+        */
+       public function testGetLanguageCode( $key, $params, $languageCode ) {
+               $language = Language::factory( $languageCode );
+               $message = new Message( $key, $params, $language );
+
+               $this->assertEquals( $language, $message->getLanguage() );
+       }
+
        /**
         * @covers Message::params
         * @dataProvider provideTestParams
index ba3c6c0..a332368 100644 (file)
@@ -3,6 +3,8 @@
 /**
  * @group Database
  *        ^--- needed for language cache stuff
+ *
+ * @group Title
  */
 class TitleTest extends MediaWikiTestCase {
        protected function setUp() {
@@ -38,6 +40,7 @@ class TitleTest extends MediaWikiTestCase {
         * See also mediawiki.Title.test.js
         * @covers Title::secureAndSplit
         * @todo This method should be split into 2 separate tests each with a provider
+        * @note: This mainly tests MediaWikiTitleCodec::parseTitle().
         */
        public function testSecureAndSplit() {
                $this->setMwGlobals( array(
@@ -62,6 +65,7 @@ class TitleTest extends MediaWikiTestCase {
                        'A \'B\'',
                        '.com',
                        '~',
+                       '#',
                        '"',
                        '\'',
                        'Talk:Sandbox',
@@ -130,6 +134,7 @@ class TitleTest extends MediaWikiTestCase {
                        str_repeat( 'x', 256 ),
                        // Namespace prefix without actual title
                        'Talk:',
+                       'Talk:#',
                        'Category: ',
                        'Category: #bar',
                        // interwiki prefix
index 8995a0d..bdb143f 100644 (file)
@@ -37,7 +37,7 @@ class ThrottledErrorTest extends MediaWikiTestCase {
                        ->getMock();
                $mock->expects( $this->once() )
                        ->method( 'setStatusCode' )
-                       ->with( 503 );
+                       ->with( 429 );
                return $mock;
        }
 
index e568eaf..aedc23a 100644 (file)
@@ -24,9 +24,9 @@ class DjVuTest extends MediaWikiTestCase {
                parent::setUp();
 
                //cli tool setup
-               $wgDjvuRenderer = $wgDjvuRenderer ? $wgDjvuRenderer : '/usr/local/bin/ddjvu';
-               $wgDjvuDump = $wgDjvuDump ? $wgDjvuDump : '/usr/local/bin/djvudump';
-               $wgDjvuToXML = $wgDjvuToXML ? $wgDjvuToXML : '/usr/local/bin/djvutoxml';
+               $wgDjvuRenderer = $wgDjvuRenderer ? $wgDjvuRenderer : '/usr/bin/ddjvu';
+               $wgDjvuDump = $wgDjvuDump ? $wgDjvuDump : '/usr/bin/djvudump';
+               $wgDjvuToXML = $wgDjvuToXML ? $wgDjvuToXML : '/usr/bin/djvutoxml';
                if (
                        !$this->checkIfToolExists( $wgDjvuRenderer ) ||
                        !$this->checkIfToolExists( $wgDjvuDump ) ||
index c6ded02..234eaf2 100644 (file)
@@ -489,19 +489,36 @@ class NewParserTest extends MediaWikiTestCase {
                self::deleteFiles(
                        array(
                                "$base/local-public/3/3a/Foobar.jpg",
-                               "$base/local-thumb/3/3a/Foobar.jpg/180px-Foobar.jpg",
-                               "$base/local-thumb/3/3a/Foobar.jpg/200px-Foobar.jpg",
-                               "$base/local-thumb/3/3a/Foobar.jpg/640px-Foobar.jpg",
+                               "$base/local-thumb/3/3a/Foobar.jpg/1000px-Foobar.jpg",
+                               "$base/local-thumb/3/3a/Foobar.jpg/100px-Foobar.jpg",
                                "$base/local-thumb/3/3a/Foobar.jpg/120px-Foobar.jpg",
                                "$base/local-thumb/3/3a/Foobar.jpg/1280px-Foobar.jpg",
+                               "$base/local-thumb/3/3a/Foobar.jpg/137px-Foobar.jpg",
+                               "$base/local-thumb/3/3a/Foobar.jpg/1500px-Foobar.jpg",
+                               "$base/local-thumb/3/3a/Foobar.jpg/177px-Foobar.jpg",
+                               "$base/local-thumb/3/3a/Foobar.jpg/180px-Foobar.jpg",
+                               "$base/local-thumb/3/3a/Foobar.jpg/200px-Foobar.jpg",
+                               "$base/local-thumb/3/3a/Foobar.jpg/206px-Foobar.jpg",
                                "$base/local-thumb/3/3a/Foobar.jpg/20px-Foobar.jpg",
+                               "$base/local-thumb/3/3a/Foobar.jpg/220px-Foobar.jpg",
+                               "$base/local-thumb/3/3a/Foobar.jpg/265px-Foobar.jpg",
                                "$base/local-thumb/3/3a/Foobar.jpg/270px-Foobar.jpg",
+                               "$base/local-thumb/3/3a/Foobar.jpg/274px-Foobar.jpg",
                                "$base/local-thumb/3/3a/Foobar.jpg/300px-Foobar.jpg",
                                "$base/local-thumb/3/3a/Foobar.jpg/30px-Foobar.jpg",
+                               "$base/local-thumb/3/3a/Foobar.jpg/330px-Foobar.jpg",
+                               "$base/local-thumb/3/3a/Foobar.jpg/353px-Foobar.jpg",
                                "$base/local-thumb/3/3a/Foobar.jpg/360px-Foobar.jpg",
                                "$base/local-thumb/3/3a/Foobar.jpg/400px-Foobar.jpg",
                                "$base/local-thumb/3/3a/Foobar.jpg/40px-Foobar.jpg",
+                               "$base/local-thumb/3/3a/Foobar.jpg/440px-Foobar.jpg",
+                               "$base/local-thumb/3/3a/Foobar.jpg/442px-Foobar.jpg",
+                               "$base/local-thumb/3/3a/Foobar.jpg/450px-Foobar.jpg",
+                               "$base/local-thumb/3/3a/Foobar.jpg/50px-Foobar.jpg",
+                               "$base/local-thumb/3/3a/Foobar.jpg/600px-Foobar.jpg",
+                               "$base/local-thumb/3/3a/Foobar.jpg/640px-Foobar.jpg",
                                "$base/local-thumb/3/3a/Foobar.jpg/70px-Foobar.jpg",
+                               "$base/local-thumb/3/3a/Foobar.jpg/75px-Foobar.jpg",
                                "$base/local-thumb/3/3a/Foobar.jpg/960px-Foobar.jpg",
 
                                "$base/local-public/e/ea/Thumb.png",
@@ -509,12 +526,15 @@ class NewParserTest extends MediaWikiTestCase {
                                "$base/local-public/0/09/Bad.jpg",
 
                                "$base/local-public/f/ff/Foobar.svg",
-                               "$base/local-thumb/f/ff/Foobar.svg/180px-Foobar.svg.jpg",
-                               "$base/local-thumb/f/ff/Foobar.svg/270px-Foobar.svg.jpg",
-                               "$base/local-thumb/f/ff/Foobar.svg/360px-Foobar.svg.jpg",
-                               "$base/local-thumb/f/ff/Foobar.svg/langde-180px-Foobar.svg.jpg",
-                               "$base/local-thumb/f/ff/Foobar.svg/langde-270px-Foobar.svg.jpg",
-                               "$base/local-thumb/f/ff/Foobar.svg/langde-360px-Foobar.svg.jpg",
+                               "$base/local-thumb/f/ff/Foobar.svg/180px-Foobar.svg.png",
+                               "$base/local-thumb/f/ff/Foobar.svg/2000px-Foobar.svg.png",
+                               "$base/local-thumb/f/ff/Foobar.svg/270px-Foobar.svg.png",
+                               "$base/local-thumb/f/ff/Foobar.svg/3000px-Foobar.svg.png",
+                               "$base/local-thumb/f/ff/Foobar.svg/360px-Foobar.svg.png",
+                               "$base/local-thumb/f/ff/Foobar.svg/4000px-Foobar.svg.png",
+                               "$base/local-thumb/f/ff/Foobar.svg/langde-180px-Foobar.svg.png",
+                               "$base/local-thumb/f/ff/Foobar.svg/langde-270px-Foobar.svg.png",
+                               "$base/local-thumb/f/ff/Foobar.svg/langde-360px-Foobar.svg.png",
 
                                "$base/local-public/math/f/a/5/fa50b8b616463173474302ca3e63586b.png",
                        )
index 8aee937..cfb3f72 100644 (file)
@@ -158,10 +158,10 @@ class PreprocessorTest extends MediaWikiTestCase {
         */
        public static function provideFiles() {
                return array(
-                       array( "QuoteQuran" ), # http://en.wikipedia.org/w/index.php?title=Template:QuoteQuran/sandbox&oldid=237348988 GFDL + CC-BY-SA by Striver
-                       array( "Factorial" ), # http://en.wikipedia.org/w/index.php?title=Template:Factorial&oldid=98548758 GFDL + CC-BY-SA by Polonium
+                       array( "QuoteQuran" ), # http://en.wikipedia.org/w/index.php?title=Template:QuoteQuran/sandbox&oldid=237348988 GFDL + CC BY-SA by Striver
+                       array( "Factorial" ), # http://en.wikipedia.org/w/index.php?title=Template:Factorial&oldid=98548758 GFDL + CC BY-SA by Polonium
                        array( "All_system_messages" ), # http://tl.wiktionary.org/w/index.php?title=Suleras:All_system_messages&oldid=2765 GPL text generated by MediaWiki
-                       array( "Fundraising" ), # http://tl.wiktionary.org/w/index.php?title=MediaWiki:Sitenotice&oldid=5716 GFDL + CC-BY-SA, copied there by Sky Harbor.
+                       array( "Fundraising" ), # http://tl.wiktionary.org/w/index.php?title=MediaWiki:Sitenotice&oldid=5716 GFDL + CC BY-SA, copied there by Sky Harbor.
                        array( "NestedTemplates" ), # bug 27936
                );
        }
index 12e5a2d..461ab87 100644 (file)
@@ -135,7 +135,6 @@ class GenerateJqueryMsgData extends Maintenance {
                                . '// Last generated with ' . basename( __FILE__ ) . ' at ' . gmdate( 'r' ) . "\n"
                                // This file will contain unquoted JSON strings as javascript native object literals,
                                // flip the quotemark convention for this file.
-                               . "/*jshint quotmark: double */\n"
                                . "\n"
                                . 'mediaWiki.libs.phpParserData = ' . FormatJson::encode( $phpParserData, true ) . ";\n";
 
index 776ee24..4ab5f14 100644 (file)
 // This file stores the output from the PHP parser for various messages, arguments,
 // languages, and parser modes. Intended for use by a unit test framework by looping
 // through the object and comparing its parser return value with the 'result' property.
-// Last generated with generateJqueryMsgData.php at Sat, 03 Nov 2012 21:32:01 +0000
-/*jshint quotmark: double */
+// Last generated with generateJqueryMsgData.php at Thu, 30 Jan 2014 04:04:41 +0000
 
 mediaWiki.libs.phpParserData = {
-       "messages": {
-               "en_undelete_short": "Undelete {{PLURAL:$1|one edit|$1 edits}}",
-               "en_category-subcat-count": "{{PLURAL:$2|This category has only the following subcategory.|This category has the following {{PLURAL:$1|subcategory|$1 subcategories}}, out of $2 total.}}",
-               "fr_undelete_short": "Restaurer $1 modification{{PLURAL:$1||s}}",
-               "fr_category-subcat-count": "Cette cat\u00e9gorie comprend {{PLURAL:$2|la sous-cat\u00e9gorie|$2 sous-cat\u00e9gories, dont {{PLURAL:$1|celle|les $1}}}} ci-dessous.",
-               "ar_undelete_short": "\u0627\u0633\u062a\u0631\u062c\u0627\u0639 {{PLURAL:$1|\u062a\u0639\u062f\u064a\u0644 \u0648\u0627\u062d\u062f|\u062a\u0639\u062f\u064a\u0644\u064a\u0646|$1 \u062a\u0639\u062f\u064a\u0644\u0627\u062a|$1 \u062a\u0639\u062f\u064a\u0644|$1 \u062a\u0639\u062f\u064a\u0644\u0627}}",
-               "ar_category-subcat-count": "{{PLURAL:$2|\u0644\u0627 \u062a\u0635\u0627\u0646\u064a\u0641 \u0641\u0631\u0639\u064a\u0629 \u0641\u064a \u0647\u0630\u0627 \u0627\u0644\u062a\u0635\u0646\u064a\u0641|\u0647\u0630\u0627 \u0627\u0644\u062a\u0635\u0646\u064a\u0641 \u0641\u064a\u0647 \u0627\u0644\u062a\u0635\u0646\u064a\u0641 \u0627\u0644\u0641\u0631\u0639\u064a \u0627\u0644\u062a\u0627\u0644\u064a \u0641\u0642\u0637.|\u0647\u0630\u0627 \u0627\u0644\u062a\u0635\u0646\u064a\u0641 \u0641\u064a\u0647 {{PLURAL:$1||\u0647\u0630\u0627 \u0627\u0644\u062a\u0635\u0646\u064a\u0641 \u0627\u0644\u0641\u0631\u0639\u064a|\u0647\u0630\u064a\u0646 \u0627\u0644\u062a\u0635\u0646\u064a\u0641\u064a\u0646 \u0627\u0644\u0641\u0631\u0639\u064a\u064a\u0646|\u0647\u0630\u0647 \u0627\u0644$1 \u062a\u0635\u0627\u0646\u064a\u0641 \u0627\u0644\u0641\u0631\u0639\u064a\u0629|\u0647\u0630\u0647 \u0627\u0644$1 \u062a\u0635\u0646\u064a\u0641\u0627 \u0641\u0631\u0639\u064a\u0627|\u0647\u0630\u0647 \u0627\u0644$1 \u062a\u0635\u0646\u064a\u0641 \u0641\u0631\u0639\u064a}}\u060c \u0645\u0646 \u0625\u062c\u0645\u0627\u0644\u064a $2.}}",
-               "jp_undelete_short": "Undelete {{PLURAL:$1|one edit|$1 edits}}",
-               "jp_category-subcat-count": "{{PLURAL:$2|This category has only the following subcategory.|This category has the following {{PLURAL:$1|subcategory|$1 subcategories}}, out of $2 total.}}",
-               "zh_undelete_short": "\u6062\u590d$1\u4e2a\u88ab\u5220\u9664\u7684\u7f16\u8f91",
-               "zh_category-subcat-count": "{{PLURAL:$2|\u672c\u5206\u7c7b\u53ea\u6709\u4e0b\u5217\u4e00\u4e2a\u5b50\u5206\u7c7b\u3002|\u672c\u5206\u7c7b\u5305\u542b\u4e0b\u5217$1\u4e2a\u5b50\u5206\u7c7b\uff0c\u5171$2\u4e2a\u5b50\u5206\u7c7b\u3002}}"
-       },
-       "tests": [
-               {
-                       "name": "en undelete_short 0",
-                       "key": "en_undelete_short",
-                       "args": [
-                               0
-                       ],
-                       "result": "Undelete 0 edits",
-                       "lang": "en"
-               },
-               {
-                       "name": "en undelete_short 1",
-                       "key": "en_undelete_short",
-                       "args": [
-                               1
-                       ],
-                       "result": "Undelete one edit",
-                       "lang": "en"
-               },
-               {
-                       "name": "en undelete_short 2",
-                       "key": "en_undelete_short",
-                       "args": [
-                               2
-                       ],
-                       "result": "Undelete 2 edits",
-                       "lang": "en"
-               },
-               {
-                       "name": "en undelete_short 5",
-                       "key": "en_undelete_short",
-                       "args": [
-                               5
-                       ],
-                       "result": "Undelete 5 edits",
-                       "lang": "en"
-               },
-               {
-                       "name": "en undelete_short 21",
-                       "key": "en_undelete_short",
-                       "args": [
-                               21
-                       ],
-                       "result": "Undelete 21 edits",
-                       "lang": "en"
-               },
-               {
-                       "name": "en undelete_short 101",
-                       "key": "en_undelete_short",
-                       "args": [
-                               101
-                       ],
-                       "result": "Undelete 101 edits",
-                       "lang": "en"
-               },
-               {
-                       "name": "en category-subcat-count 0,10",
-                       "key": "en_category-subcat-count",
-                       "args": [
-                               0,
-                               10
-                       ],
-                       "result": "This category has the following 0 subcategories, out of 10 total.",
-                       "lang": "en"
-               },
-               {
-                       "name": "en category-subcat-count 1,1",
-                       "key": "en_category-subcat-count",
-                       "args": [
-                               1,
-                               1
-                       ],
-                       "result": "This category has only the following subcategory.",
-                       "lang": "en"
-               },
-               {
-                       "name": "en category-subcat-count 1,2",
-                       "key": "en_category-subcat-count",
-                       "args": [
-                               1,
-                               2
-                       ],
-                       "result": "This category has the following subcategory, out of 2 total.",
-                       "lang": "en"
-               },
-               {
-                       "name": "en category-subcat-count 3,30",
-                       "key": "en_category-subcat-count",
-                       "args": [
-                               3,
-                               30
-                       ],
-                       "result": "This category has the following 3 subcategories, out of 30 total.",
-                       "lang": "en"
-               },
-               {
-                       "name": "fr undelete_short 0",
-                       "key": "fr_undelete_short",
-                       "args": [
-                               0
-                       ],
-                       "result": "Restaurer 0 modification",
-                       "lang": "fr"
-               },
-               {
-                       "name": "fr undelete_short 1",
-                       "key": "fr_undelete_short",
-                       "args": [
-                               1
-                       ],
-                       "result": "Restaurer 1 modification",
-                       "lang": "fr"
-               },
-               {
-                       "name": "fr undelete_short 2",
-                       "key": "fr_undelete_short",
-                       "args": [
-                               2
-                       ],
-                       "result": "Restaurer 2 modifications",
-                       "lang": "fr"
-               },
-               {
-                       "name": "fr undelete_short 5",
-                       "key": "fr_undelete_short",
-                       "args": [
-                               5
-                       ],
-                       "result": "Restaurer 5 modifications",
-                       "lang": "fr"
-               },
-               {
-                       "name": "fr undelete_short 21",
-                       "key": "fr_undelete_short",
-                       "args": [
-                               21
-                       ],
-                       "result": "Restaurer 21 modifications",
-                       "lang": "fr"
-               },
-               {
-                       "name": "fr undelete_short 101",
-                       "key": "fr_undelete_short",
-                       "args": [
-                               101
-                       ],
-                       "result": "Restaurer 101 modifications",
-                       "lang": "fr"
-               },
-               {
-                       "name": "fr category-subcat-count 0,10",
-                       "key": "fr_category-subcat-count",
-                       "args": [
-                               0,
-                               10
-                       ],
-                       "result": "Cette cat\u00e9gorie comprend 10 sous-cat\u00e9gories, dont celle ci-dessous.",
-                       "lang": "fr"
-               },
-               {
-                       "name": "fr category-subcat-count 1,1",
-                       "key": "fr_category-subcat-count",
-                       "args": [
-                               1,
-                               1
-                       ],
-                       "result": "Cette cat\u00e9gorie comprend la sous-cat\u00e9gorie ci-dessous.",
-                       "lang": "fr"
-               },
-               {
-                       "name": "fr category-subcat-count 1,2",
-                       "key": "fr_category-subcat-count",
-                       "args": [
-                               1,
-                               2
-                       ],
-                       "result": "Cette cat\u00e9gorie comprend 2 sous-cat\u00e9gories, dont celle ci-dessous.",
-                       "lang": "fr"
-               },
-               {
-                       "name": "fr category-subcat-count 3,30",
-                       "key": "fr_category-subcat-count",
-                       "args": [
-                               3,
-                               30
-                       ],
-                       "result": "Cette cat\u00e9gorie comprend 30 sous-cat\u00e9gories, dont les 3 ci-dessous.",
-                       "lang": "fr"
-               },
-               {
-                       "name": "ar undelete_short 0",
-                       "key": "ar_undelete_short",
-                       "args": [
-                               0
-                       ],
-                       "result": "\u0627\u0633\u062a\u0631\u062c\u0627\u0639 \u062a\u0639\u062f\u064a\u0644 \u0648\u0627\u062d\u062f",
-                       "lang": "ar"
-               },
-               {
-                       "name": "ar undelete_short 1",
-                       "key": "ar_undelete_short",
-                       "args": [
-                               1
-                       ],
-                       "result": "\u0627\u0633\u062a\u0631\u062c\u0627\u0639 \u062a\u0639\u062f\u064a\u0644\u064a\u0646",
-                       "lang": "ar"
-               },
-               {
-                       "name": "ar undelete_short 2",
-                       "key": "ar_undelete_short",
-                       "args": [
-                               2
-                       ],
-                       "result": "\u0627\u0633\u062a\u0631\u062c\u0627\u0639 2 \u062a\u0639\u062f\u064a\u0644\u0627\u062a",
-                       "lang": "ar"
-               },
-               {
-                       "name": "ar undelete_short 5",
-                       "key": "ar_undelete_short",
-                       "args": [
-                               5
-                       ],
-                       "result": "\u0627\u0633\u062a\u0631\u062c\u0627\u0639 5 \u062a\u0639\u062f\u064a\u0644",
-                       "lang": "ar"
-               },
-               {
-                       "name": "ar undelete_short 21",
-                       "key": "ar_undelete_short",
-                       "args": [
-                               21
-                       ],
-                       "result": "\u0627\u0633\u062a\u0631\u062c\u0627\u0639 21 \u062a\u0639\u062f\u064a\u0644\u0627",
-                       "lang": "ar"
-               },
-               {
-                       "name": "ar undelete_short 101",
-                       "key": "ar_undelete_short",
-                       "args": [
-                               101
-                       ],
-                       "result": "\u0627\u0633\u062a\u0631\u062c\u0627\u0639 101 \u062a\u0639\u062f\u064a\u0644\u0627",
-                       "lang": "ar"
-               },
-               {
-                       "name": "ar category-subcat-count 0,10",
-                       "key": "ar_category-subcat-count",
-                       "args": [
-                               0,
-                               10
-                       ],
-                       "result": "\u0647\u0630\u0627 \u0627\u0644\u062a\u0635\u0646\u064a\u0641 \u0641\u064a\u0647 \u060c \u0645\u0646 \u0625\u062c\u0645\u0627\u0644\u064a 10.",
-                       "lang": "ar"
-               },
-               {
-                       "name": "ar category-subcat-count 1,1",
-                       "key": "ar_category-subcat-count",
-                       "args": [
-                               1,
-                               1
-                       ],
-                       "result": "\u0647\u0630\u0627 \u0627\u0644\u062a\u0635\u0646\u064a\u0641 \u0641\u064a\u0647 \u0627\u0644\u062a\u0635\u0646\u064a\u0641 \u0627\u0644\u0641\u0631\u0639\u064a \u0627\u0644\u062a\u0627\u0644\u064a \u0641\u0642\u0637.",
-                       "lang": "ar"
-               },
-               {
-                       "name": "ar category-subcat-count 1,2",
-                       "key": "ar_category-subcat-count",
-                       "args": [
-                               1,
-                               2
-                       ],
-                       "result": "\u0647\u0630\u0627 \u0627\u0644\u062a\u0635\u0646\u064a\u0641 \u0641\u064a\u0647 \u0647\u0630\u0627 \u0627\u0644\u062a\u0635\u0646\u064a\u0641 \u0627\u0644\u0641\u0631\u0639\u064a\u060c \u0645\u0646 \u0625\u062c\u0645\u0627\u0644\u064a 2.",
-                       "lang": "ar"
-               },
-               {
-                       "name": "ar category-subcat-count 3,30",
-                       "key": "ar_category-subcat-count",
-                       "args": [
-                               3,
-                               30
-                       ],
-                       "result": "\u0647\u0630\u0627 \u0627\u0644\u062a\u0635\u0646\u064a\u0641 \u0641\u064a\u0647 \u0647\u0630\u0647 \u0627\u06443 \u062a\u0635\u0627\u0646\u064a\u0641 \u0627\u0644\u0641\u0631\u0639\u064a\u0629\u060c \u0645\u0646 \u0625\u062c\u0645\u0627\u0644\u064a 30.",
-                       "lang": "ar"
-               },
-               {
-                       "name": "jp undelete_short 0",
-                       "key": "jp_undelete_short",
-                       "args": [
-                               0
-                       ],
-                       "result": "Undelete 0 edits",
-                       "lang": "jp"
-               },
-               {
-                       "name": "jp undelete_short 1",
-                       "key": "jp_undelete_short",
-                       "args": [
-                               1
-                       ],
-                       "result": "Undelete one edit",
-                       "lang": "jp"
-               },
-               {
-                       "name": "jp undelete_short 2",
-                       "key": "jp_undelete_short",
-                       "args": [
-                               2
-                       ],
-                       "result": "Undelete 2 edits",
-                       "lang": "jp"
-               },
-               {
-                       "name": "jp undelete_short 5",
-                       "key": "jp_undelete_short",
-                       "args": [
-                               5
-                       ],
-                       "result": "Undelete 5 edits",
-                       "lang": "jp"
-               },
-               {
-                       "name": "jp undelete_short 21",
-                       "key": "jp_undelete_short",
-                       "args": [
-                               21
-                       ],
-                       "result": "Undelete 21 edits",
-                       "lang": "jp"
-               },
-               {
-                       "name": "jp undelete_short 101",
-                       "key": "jp_undelete_short",
-                       "args": [
-                               101
-                       ],
-                       "result": "Undelete 101 edits",
-                       "lang": "jp"
-               },
-               {
-                       "name": "jp category-subcat-count 0,10",
-                       "key": "jp_category-subcat-count",
-                       "args": [
-                               0,
-                               10
-                       ],
-                       "result": "This category has the following 0 subcategories, out of 10 total.",
-                       "lang": "jp"
-               },
-               {
-                       "name": "jp category-subcat-count 1,1",
-                       "key": "jp_category-subcat-count",
-                       "args": [
-                               1,
-                               1
-                       ],
-                       "result": "This category has only the following subcategory.",
-                       "lang": "jp"
-               },
-               {
-                       "name": "jp category-subcat-count 1,2",
-                       "key": "jp_category-subcat-count",
-                       "args": [
-                               1,
-                               2
-                       ],
-                       "result": "This category has the following subcategory, out of 2 total.",
-                       "lang": "jp"
-               },
-               {
-                       "name": "jp category-subcat-count 3,30",
-                       "key": "jp_category-subcat-count",
-                       "args": [
-                               3,
-                               30
-                       ],
-                       "result": "This category has the following 3 subcategories, out of 30 total.",
-                       "lang": "jp"
-               },
-               {
-                       "name": "zh undelete_short 0",
-                       "key": "zh_undelete_short",
-                       "args": [
-                               0
-                       ],
-                       "result": "\u6062\u590d0\u4e2a\u88ab\u5220\u9664\u7684\u7f16\u8f91",
-                       "lang": "zh"
-               },
-               {
-                       "name": "zh undelete_short 1",
-                       "key": "zh_undelete_short",
-                       "args": [
-                               1
-                       ],
-                       "result": "\u6062\u590d1\u4e2a\u88ab\u5220\u9664\u7684\u7f16\u8f91",
-                       "lang": "zh"
-               },
-               {
-                       "name": "zh undelete_short 2",
-                       "key": "zh_undelete_short",
-                       "args": [
-                               2
-                       ],
-                       "result": "\u6062\u590d2\u4e2a\u88ab\u5220\u9664\u7684\u7f16\u8f91",
-                       "lang": "zh"
-               },
-               {
-                       "name": "zh undelete_short 5",
-                       "key": "zh_undelete_short",
-                       "args": [
-                               5
-                       ],
-                       "result": "\u6062\u590d5\u4e2a\u88ab\u5220\u9664\u7684\u7f16\u8f91",
-                       "lang": "zh"
-               },
-               {
-                       "name": "zh undelete_short 21",
-                       "key": "zh_undelete_short",
-                       "args": [
-                               21
-                       ],
-                       "result": "\u6062\u590d21\u4e2a\u88ab\u5220\u9664\u7684\u7f16\u8f91",
-                       "lang": "zh"
-               },
-               {
-                       "name": "zh undelete_short 101",
-                       "key": "zh_undelete_short",
-                       "args": [
-                               101
-                       ],
-                       "result": "\u6062\u590d101\u4e2a\u88ab\u5220\u9664\u7684\u7f16\u8f91",
-                       "lang": "zh"
-               },
-               {
-                       "name": "zh category-subcat-count 0,10",
-                       "key": "zh_category-subcat-count",
-                       "args": [
-                               0,
-                               10
-                       ],
-                       "result": "\u672c\u5206\u7c7b\u5305\u542b\u4e0b\u52170\u4e2a\u5b50\u5206\u7c7b\uff0c\u517110\u4e2a\u5b50\u5206\u7c7b\u3002",
-                       "lang": "zh"
-               },
-               {
-                       "name": "zh category-subcat-count 1,1",
-                       "key": "zh_category-subcat-count",
-                       "args": [
-                               1,
-                               1
-                       ],
-                       "result": "\u672c\u5206\u7c7b\u53ea\u6709\u4e0b\u5217\u4e00\u4e2a\u5b50\u5206\u7c7b\u3002",
-                       "lang": "zh"
-               },
-               {
-                       "name": "zh category-subcat-count 1,2",
-                       "key": "zh_category-subcat-count",
-                       "args": [
-                               1,
-                               2
-                       ],
-                       "result": "\u672c\u5206\u7c7b\u5305\u542b\u4e0b\u52171\u4e2a\u5b50\u5206\u7c7b\uff0c\u51712\u4e2a\u5b50\u5206\u7c7b\u3002",
-                       "lang": "zh"
-               },
-               {
-                       "name": "zh category-subcat-count 3,30",
-                       "key": "zh_category-subcat-count",
-                       "args": [
-                               3,
-                               30
-                       ],
-                       "result": "\u672c\u5206\u7c7b\u5305\u542b\u4e0b\u52173\u4e2a\u5b50\u5206\u7c7b\uff0c\u517130\u4e2a\u5b50\u5206\u7c7b\u3002",
-                       "lang": "zh"
-               }
-       ]
+    "messages": {
+        "en_undelete_short": "Undelete {{PLURAL:$1|one edit|$1 edits}}",
+        "en_category-subcat-count": "{{PLURAL:$2|This category has only the following subcategory.|This category has the following {{PLURAL:$1|subcategory|$1 subcategories}}, out of $2 total.}}",
+        "fr_undelete_short": "Restaurer $1 modification{{PLURAL:$1||s}}",
+        "fr_category-subcat-count": "Cette cat\u00e9gorie comprend {{PLURAL:$2|la sous-cat\u00e9gorie|$2 sous-cat\u00e9gories, dont {{PLURAL:$1|celle|les $1}}}} ci-dessous.",
+        "ar_undelete_short": "\u0627\u0633\u062a\u0631\u062c\u0627\u0639 {{PLURAL:$1||\u062a\u0639\u062f\u064a\u0644 \u0648\u0627\u062d\u062f|\u062a\u0639\u062f\u064a\u0644\u064a\u0646|$1 \u062a\u0639\u062f\u064a\u0644\u0627\u062a|$1 \u062a\u0639\u062f\u064a\u0644\u0627\u064b|$1 \u062a\u0639\u062f\u064a\u0644}}",
+        "ar_category-subcat-count": "{{PLURAL:$2|\u0647\u0630\u0627 \u0627\u0644\u062a\u0635\u0646\u064a\u0641 \u064a\u062d\u0648\u064a \u0627\u0644\u062a\u0635\u0646\u064a\u0641 \u0627\u0644\u0641\u0631\u0639\u064a \u0627\u0644\u062a\u0627\u0644\u064a|\u0647\u0630\u0627 \u0627\u0644\u062a\u0635\u0646\u064a\u0641 \u064a\u062d\u0648\u064a {{PLURAL:$1||\u0627\u0644\u062a\u0635\u0646\u064a\u0641 \u0627\u0644\u0641\u0631\u0639\u064a|\u062a\u0635\u0646\u064a\u0641\u064a\u0646 \u0641\u0631\u0639\u064a\u064a\u0646|$1 \u062a\u0635\u0646\u064a\u0641\u0627\u062a \u0641\u0631\u0639\u064a\u0629}}\u060c \u0645\u0646 \u0625\u062c\u0645\u0627\u0644\u064a $2.}}",
+        "jp_undelete_short": "Undelete {{PLURAL:$1|one edit|$1 edits}}",
+        "jp_category-subcat-count": "{{PLURAL:$2|This category has only the following subcategory.|This category has the following {{PLURAL:$1|subcategory|$1 subcategories}}, out of $2 total.}}",
+        "zh_undelete_short": "\u8fd8\u539f{{PLURAL:$1|$1\u4e2a\u7f16\u8f91}}",
+        "zh_category-subcat-count": "{{PLURAL:$2|\u672c\u5206\u7c7b\u53ea\u6709\u4ee5\u4e0b\u5b50\u5206\u7c7b\u3002|\u672c\u5206\u7c7b\u6709\u4ee5\u4e0b$1\u4e2a\u5b50\u5206\u7c7b\uff0c\u5171\u6709$2\u4e2a\u5b50\u5206\u7c7b\u3002}}"
+    },
+    "tests": [
+        {
+            "name": "en undelete_short 0",
+            "key": "en_undelete_short",
+            "args": [
+                0
+            ],
+            "result": "Undelete 0 edits",
+            "lang": "en"
+        },
+        {
+            "name": "en undelete_short 1",
+            "key": "en_undelete_short",
+            "args": [
+                1
+            ],
+            "result": "Undelete one edit",
+            "lang": "en"
+        },
+        {
+            "name": "en undelete_short 2",
+            "key": "en_undelete_short",
+            "args": [
+                2
+            ],
+            "result": "Undelete 2 edits",
+            "lang": "en"
+        },
+        {
+            "name": "en undelete_short 5",
+            "key": "en_undelete_short",
+            "args": [
+                5
+            ],
+            "result": "Undelete 5 edits",
+            "lang": "en"
+        },
+        {
+            "name": "en undelete_short 21",
+            "key": "en_undelete_short",
+            "args": [
+                21
+            ],
+            "result": "Undelete 21 edits",
+            "lang": "en"
+        },
+        {
+            "name": "en undelete_short 101",
+            "key": "en_undelete_short",
+            "args": [
+                101
+            ],
+            "result": "Undelete 101 edits",
+            "lang": "en"
+        },
+        {
+            "name": "en category-subcat-count 0,10",
+            "key": "en_category-subcat-count",
+            "args": [
+                0,
+                10
+            ],
+            "result": "This category has the following 0 subcategories, out of 10 total.",
+            "lang": "en"
+        },
+        {
+            "name": "en category-subcat-count 1,1",
+            "key": "en_category-subcat-count",
+            "args": [
+                1,
+                1
+            ],
+            "result": "This category has only the following subcategory.",
+            "lang": "en"
+        },
+        {
+            "name": "en category-subcat-count 1,2",
+            "key": "en_category-subcat-count",
+            "args": [
+                1,
+                2
+            ],
+            "result": "This category has the following subcategory, out of 2 total.",
+            "lang": "en"
+        },
+        {
+            "name": "en category-subcat-count 3,30",
+            "key": "en_category-subcat-count",
+            "args": [
+                3,
+                30
+            ],
+            "result": "This category has the following 3 subcategories, out of 30 total.",
+            "lang": "en"
+        },
+        {
+            "name": "fr undelete_short 0",
+            "key": "fr_undelete_short",
+            "args": [
+                0
+            ],
+            "result": "Restaurer 0 modification",
+            "lang": "fr"
+        },
+        {
+            "name": "fr undelete_short 1",
+            "key": "fr_undelete_short",
+            "args": [
+                1
+            ],
+            "result": "Restaurer 1 modification",
+            "lang": "fr"
+        },
+        {
+            "name": "fr undelete_short 2",
+            "key": "fr_undelete_short",
+            "args": [
+                2
+            ],
+            "result": "Restaurer 2 modifications",
+            "lang": "fr"
+        },
+        {
+            "name": "fr undelete_short 5",
+            "key": "fr_undelete_short",
+            "args": [
+                5
+            ],
+            "result": "Restaurer 5 modifications",
+            "lang": "fr"
+        },
+        {
+            "name": "fr undelete_short 21",
+            "key": "fr_undelete_short",
+            "args": [
+                21
+            ],
+            "result": "Restaurer 21 modifications",
+            "lang": "fr"
+        },
+        {
+            "name": "fr undelete_short 101",
+            "key": "fr_undelete_short",
+            "args": [
+                101
+            ],
+            "result": "Restaurer 101 modifications",
+            "lang": "fr"
+        },
+        {
+            "name": "fr category-subcat-count 0,10",
+            "key": "fr_category-subcat-count",
+            "args": [
+                0,
+                10
+            ],
+            "result": "Cette cat\u00e9gorie comprend 10 sous-cat\u00e9gories, dont celle ci-dessous.",
+            "lang": "fr"
+        },
+        {
+            "name": "fr category-subcat-count 1,1",
+            "key": "fr_category-subcat-count",
+            "args": [
+                1,
+                1
+            ],
+            "result": "Cette cat\u00e9gorie comprend la sous-cat\u00e9gorie ci-dessous.",
+            "lang": "fr"
+        },
+        {
+            "name": "fr category-subcat-count 1,2",
+            "key": "fr_category-subcat-count",
+            "args": [
+                1,
+                2
+            ],
+            "result": "Cette cat\u00e9gorie comprend 2 sous-cat\u00e9gories, dont celle ci-dessous.",
+            "lang": "fr"
+        },
+        {
+            "name": "fr category-subcat-count 3,30",
+            "key": "fr_category-subcat-count",
+            "args": [
+                3,
+                30
+            ],
+            "result": "Cette cat\u00e9gorie comprend 30 sous-cat\u00e9gories, dont les 3 ci-dessous.",
+            "lang": "fr"
+        },
+        {
+            "name": "ar undelete_short 0",
+            "key": "ar_undelete_short",
+            "args": [
+                0
+            ],
+            "result": "\u0627\u0633\u062a\u0631\u062c\u0627\u0639 ",
+            "lang": "ar"
+        },
+        {
+            "name": "ar undelete_short 1",
+            "key": "ar_undelete_short",
+            "args": [
+                1
+            ],
+            "result": "\u0627\u0633\u062a\u0631\u062c\u0627\u0639 \u062a\u0639\u062f\u064a\u0644 \u0648\u0627\u062d\u062f",
+            "lang": "ar"
+        },
+        {
+            "name": "ar undelete_short 2",
+            "key": "ar_undelete_short",
+            "args": [
+                2
+            ],
+            "result": "\u0627\u0633\u062a\u0631\u062c\u0627\u0639 \u062a\u0639\u062f\u064a\u0644\u064a\u0646",
+            "lang": "ar"
+        },
+        {
+            "name": "ar undelete_short 5",
+            "key": "ar_undelete_short",
+            "args": [
+                5
+            ],
+            "result": "\u0627\u0633\u062a\u0631\u062c\u0627\u0639 5 \u062a\u0639\u062f\u064a\u0644\u0627\u062a",
+            "lang": "ar"
+        },
+        {
+            "name": "ar undelete_short 21",
+            "key": "ar_undelete_short",
+            "args": [
+                21
+            ],
+            "result": "\u0627\u0633\u062a\u0631\u062c\u0627\u0639 21 \u062a\u0639\u062f\u064a\u0644\u0627\u064b",
+            "lang": "ar"
+        },
+        {
+            "name": "ar undelete_short 101",
+            "key": "ar_undelete_short",
+            "args": [
+                101
+            ],
+            "result": "\u0627\u0633\u062a\u0631\u062c\u0627\u0639 101 \u062a\u0639\u062f\u064a\u0644",
+            "lang": "ar"
+        },
+        {
+            "name": "ar category-subcat-count 0,10",
+            "key": "ar_category-subcat-count",
+            "args": [
+                0,
+                10
+            ],
+            "result": "\u0647\u0630\u0627 \u0627\u0644\u062a\u0635\u0646\u064a\u0641 \u064a\u062d\u0648\u064a \u060c \u0645\u0646 \u0625\u062c\u0645\u0627\u0644\u064a 10.",
+            "lang": "ar"
+        },
+        {
+            "name": "ar category-subcat-count 1,1",
+            "key": "ar_category-subcat-count",
+            "args": [
+                1,
+                1
+            ],
+            "result": "\u0647\u0630\u0627 \u0627\u0644\u062a\u0635\u0646\u064a\u0641 \u064a\u062d\u0648\u064a \u0627\u0644\u062a\u0635\u0646\u064a\u0641 \u0627\u0644\u0641\u0631\u0639\u064a\u060c \u0645\u0646 \u0625\u062c\u0645\u0627\u0644\u064a 1.",
+            "lang": "ar"
+        },
+        {
+            "name": "ar category-subcat-count 1,2",
+            "key": "ar_category-subcat-count",
+            "args": [
+                1,
+                2
+            ],
+            "result": "\u0647\u0630\u0627 \u0627\u0644\u062a\u0635\u0646\u064a\u0641 \u064a\u062d\u0648\u064a \u0627\u0644\u062a\u0635\u0646\u064a\u0641 \u0627\u0644\u0641\u0631\u0639\u064a\u060c \u0645\u0646 \u0625\u062c\u0645\u0627\u0644\u064a 2.",
+            "lang": "ar"
+        },
+        {
+            "name": "ar category-subcat-count 3,30",
+            "key": "ar_category-subcat-count",
+            "args": [
+                3,
+                30
+            ],
+            "result": "\u0647\u0630\u0627 \u0627\u0644\u062a\u0635\u0646\u064a\u0641 \u064a\u062d\u0648\u064a 3 \u062a\u0635\u0646\u064a\u0641\u0627\u062a \u0641\u0631\u0639\u064a\u0629\u060c \u0645\u0646 \u0625\u062c\u0645\u0627\u0644\u064a 30.",
+            "lang": "ar"
+        },
+        {
+            "name": "jp undelete_short 0",
+            "key": "jp_undelete_short",
+            "args": [
+                0
+            ],
+            "result": "Undelete 0 edits",
+            "lang": "jp"
+        },
+        {
+            "name": "jp undelete_short 1",
+            "key": "jp_undelete_short",
+            "args": [
+                1
+            ],
+            "result": "Undelete one edit",
+            "lang": "jp"
+        },
+        {
+            "name": "jp undelete_short 2",
+            "key": "jp_undelete_short",
+            "args": [
+                2
+            ],
+            "result": "Undelete 2 edits",
+            "lang": "jp"
+        },
+        {
+            "name": "jp undelete_short 5",
+            "key": "jp_undelete_short",
+            "args": [
+                5
+            ],
+            "result": "Undelete 5 edits",
+            "lang": "jp"
+        },
+        {
+            "name": "jp undelete_short 21",
+            "key": "jp_undelete_short",
+            "args": [
+                21
+            ],
+            "result": "Undelete 21 edits",
+            "lang": "jp"
+        },
+        {
+            "name": "jp undelete_short 101",
+            "key": "jp_undelete_short",
+            "args": [
+                101
+            ],
+            "result": "Undelete 101 edits",
+            "lang": "jp"
+        },
+        {
+            "name": "jp category-subcat-count 0,10",
+            "key": "jp_category-subcat-count",
+            "args": [
+                0,
+                10
+            ],
+            "result": "This category has the following 0 subcategories, out of 10 total.",
+            "lang": "jp"
+        },
+        {
+            "name": "jp category-subcat-count 1,1",
+            "key": "jp_category-subcat-count",
+            "args": [
+                1,
+                1
+            ],
+            "result": "This category has only the following subcategory.",
+            "lang": "jp"
+        },
+        {
+            "name": "jp category-subcat-count 1,2",
+            "key": "jp_category-subcat-count",
+            "args": [
+                1,
+                2
+            ],
+            "result": "This category has the following subcategory, out of 2 total.",
+            "lang": "jp"
+        },
+        {
+            "name": "jp category-subcat-count 3,30",
+            "key": "jp_category-subcat-count",
+            "args": [
+                3,
+                30
+            ],
+            "result": "This category has the following 3 subcategories, out of 30 total.",
+            "lang": "jp"
+        },
+        {
+            "name": "zh undelete_short 0",
+            "key": "zh_undelete_short",
+            "args": [
+                0
+            ],
+            "result": "\u8fd8\u539f0\u4e2a\u7f16\u8f91",
+            "lang": "zh"
+        },
+        {
+            "name": "zh undelete_short 1",
+            "key": "zh_undelete_short",
+            "args": [
+                1
+            ],
+            "result": "\u8fd8\u539f1\u4e2a\u7f16\u8f91",
+            "lang": "zh"
+        },
+        {
+            "name": "zh undelete_short 2",
+            "key": "zh_undelete_short",
+            "args": [
+                2
+            ],
+            "result": "\u8fd8\u539f2\u4e2a\u7f16\u8f91",
+            "lang": "zh"
+        },
+        {
+            "name": "zh undelete_short 5",
+            "key": "zh_undelete_short",
+            "args": [
+                5
+            ],
+            "result": "\u8fd8\u539f5\u4e2a\u7f16\u8f91",
+            "lang": "zh"
+        },
+        {
+            "name": "zh undelete_short 21",
+            "key": "zh_undelete_short",
+            "args": [
+                21
+            ],
+            "result": "\u8fd8\u539f21\u4e2a\u7f16\u8f91",
+            "lang": "zh"
+        },
+        {
+            "name": "zh undelete_short 101",
+            "key": "zh_undelete_short",
+            "args": [
+                101
+            ],
+            "result": "\u8fd8\u539f101\u4e2a\u7f16\u8f91",
+            "lang": "zh"
+        },
+        {
+            "name": "zh category-subcat-count 0,10",
+            "key": "zh_category-subcat-count",
+            "args": [
+                0,
+                10
+            ],
+            "result": "\u672c\u5206\u7c7b\u6709\u4ee5\u4e0b0\u4e2a\u5b50\u5206\u7c7b\uff0c\u5171\u670910\u4e2a\u5b50\u5206\u7c7b\u3002",
+            "lang": "zh"
+        },
+        {
+            "name": "zh category-subcat-count 1,1",
+            "key": "zh_category-subcat-count",
+            "args": [
+                1,
+                1
+            ],
+            "result": "\u672c\u5206\u7c7b\u53ea\u6709\u4ee5\u4e0b\u5b50\u5206\u7c7b\u3002",
+            "lang": "zh"
+        },
+        {
+            "name": "zh category-subcat-count 1,2",
+            "key": "zh_category-subcat-count",
+            "args": [
+                1,
+                2
+            ],
+            "result": "\u672c\u5206\u7c7b\u6709\u4ee5\u4e0b1\u4e2a\u5b50\u5206\u7c7b\uff0c\u5171\u67092\u4e2a\u5b50\u5206\u7c7b\u3002",
+            "lang": "zh"
+        },
+        {
+            "name": "zh category-subcat-count 3,30",
+            "key": "zh_category-subcat-count",
+            "args": [
+                3,
+                30
+            ],
+            "result": "\u672c\u5206\u7c7b\u6709\u4ee5\u4e0b3\u4e2a\u5b50\u5206\u7c7b\uff0c\u5171\u670930\u4e2a\u5b50\u5206\u7c7b\u3002",
+            "lang": "zh"
+        }
+    ]
 };
index b644a3c..c8e8ac7 100644 (file)
@@ -1,15 +1,18 @@
 ( function ( $ ) {
-       QUnit.module( 'jquery.color', QUnit.newMwEnvironment() );
+       QUnit.module( 'jquery.color', QUnit.newMwEnvironment( {
+               setup: function () {
+                       this.clock = this.sandbox.useFakeTimers();
+               }
+       } ) );
 
-       QUnit.asyncTest( 'animate', 3, function ( assert ) {
+       QUnit.test( 'animate', 1, function ( assert ) {
                var $canvas = $( '<div>' ).css( 'background-color', '#fff' );
 
-               $canvas.animate( { backgroundColor: '#000' }, 4 ).promise().then( function() {
+               $canvas.animate( { backgroundColor: '#000' }, 10 ).promise().then( function () {
                        var endColors = $.colorUtil.getRGB( $canvas.css( 'background-color' ) );
-                       assert.strictEqual( endColors[0], 0 );
-                       assert.strictEqual( endColors[1], 0 );
-                       assert.strictEqual( endColors[2], 0 );
-                       QUnit.start();
+                       assert.deepEqual( endColors, [0, 0, 0], 'end state' );
                } );
+
+               this.clock.tick( 20 );
        } );
 }( jQuery ) );
index bfb857d..8040581 100644 (file)
@@ -1,7 +1,11 @@
 ( function ( mw, $ ) {
        var loremIpsum = 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit.';
 
-       QUnit.module( 'jquery.makeCollapsible', QUnit.newMwEnvironment() );
+       QUnit.module( 'jquery.makeCollapsible', QUnit.newMwEnvironment( {
+               setup: function () {
+                       this.clock = this.sandbox.useFakeTimers();
+               }
+       } ) );
 
        function prepareCollapsible( html, options ) {
                return $( $.parseHTML( html ) )
@@ -11,8 +15,9 @@
        }
 
        // This test is first because if it fails, then almost all of the latter tests are meaningless.
-       QUnit.asyncTest( 'testing hooks/triggers', 4, function ( assert ) {
-               var $collapsible = prepareCollapsible(
+       QUnit.test( 'testing hooks/triggers', 4, function ( assert ) {
+               var test = this,
+                       $collapsible = prepareCollapsible(
                                '<div class="mw-collapsible">' + loremIpsum + '</div>'
                        ),
                        $content = $collapsible.find( '.mw-collapsible-content' ),
                        } );
                        $collapsible.on( 'afterExpand.mw-collapsible', function () {
                                assert.assertTrue( $content.is( ':visible' ), 'second afterCollapseExpand: content is visible' );
-                               QUnit.start();
                        } );
 
                        // ...expanding happens here
                        $toggle.trigger( 'click' );
+                       test.clock.tick( 500 );
                } );
 
                // ...collapsing happens here
                $toggle.trigger( 'click' );
+               test.clock.tick( 500 );
        } );
 
-       QUnit.asyncTest( 'basic operation (<div>)', 5, function ( assert ) {
-               var $collapsible = prepareCollapsible(
+       QUnit.test( 'basic operation (<div>)', 5, function ( assert ) {
+               var test = this,
+                       $collapsible = prepareCollapsible(
                                '<div class="mw-collapsible">' + loremIpsum + '</div>'
                        ),
                        $content = $collapsible.find( '.mw-collapsible-content' ),
 
                        $collapsible.on( 'afterExpand.mw-collapsible', function () {
                                assert.assertTrue( $content.is( ':visible' ), 'after expanding: content is visible' );
-                               QUnit.start();
                        } );
 
                        $toggle.trigger( 'click' );
+                       test.clock.tick( 500 );
                } );
 
                $toggle.trigger( 'click' );
+               test.clock.tick( 500 );
        } );
 
-       QUnit.asyncTest( 'basic operation (<table>)', 7, function ( assert ) {
-               var $collapsible = prepareCollapsible(
+       QUnit.test( 'basic operation (<table>)', 7, function ( assert ) {
+               var test = this,
+                       $collapsible = prepareCollapsible(
                                '<table class="mw-collapsible">' +
                                        '<tr><td>' + loremIpsum + '</td><td>' + loremIpsum + '</td></tr>' +
                                        '<tr><td>' + loremIpsum + '</td><td>' + loremIpsum + '</td></tr>' +
                        $collapsible.on( 'afterExpand.mw-collapsible', function () {
                                assert.assertTrue( $headerRow.is( ':visible' ), 'after expanding: headerRow is still visible' );
                                assert.assertTrue( $contentRow.is( ':visible' ), 'after expanding: contentRow is visible' );
-                               QUnit.start();
                        } );
 
                        $toggle.trigger( 'click' );
+                       test.clock.tick( 500 );
                } );
 
                $toggle.trigger( 'click' );
+               test.clock.tick( 500 );
        } );
 
-       function tableWithCaptionTest( $collapsible, assert ) {
+       function tableWithCaptionTest( $collapsible, test, assert ) {
                var $caption = $collapsible.find( 'caption' ),
                        $headerRow = $collapsible.find( 'tr:first' ),
                        $contentRow = $collapsible.find( 'tr:last' ),
                                assert.assertTrue( $caption.is( ':visible' ), 'after expanding: caption is still visible' );
                                assert.assertTrue( $headerRow.is( ':visible' ), 'after expanding: headerRow is visible' );
                                assert.assertTrue( $contentRow.is( ':visible' ), 'after expanding: contentRow is visible' );
-                               QUnit.start();
                        } );
 
                        $toggle.trigger( 'click' );
+                       test.clock.tick( 500 );
                } );
 
                $toggle.trigger( 'click' );
+               test.clock.tick( 500 );
        }
 
-       QUnit.asyncTest( 'basic operation (<table> with caption)', 10, function ( assert ) {
+       QUnit.test( 'basic operation (<table> with caption)', 10, function ( assert ) {
                tableWithCaptionTest( prepareCollapsible(
                        '<table class="mw-collapsible">' +
                                '<caption>' + loremIpsum + '</caption>' +
                                '<tr><td>' + loremIpsum + '</td><td>' + loremIpsum + '</td></tr>' +
                                '<tr><td>' + loremIpsum + '</td><td>' + loremIpsum + '</td></tr>' +
                        '</table>'
-               ), assert );
+               ), this, assert );
        } );
 
-       QUnit.asyncTest( 'basic operation (<table> with caption and <thead>)', 10, function ( assert ) {
+       QUnit.test( 'basic operation (<table> with caption and <thead>)', 10, function ( assert ) {
                tableWithCaptionTest( prepareCollapsible(
                        '<table class="mw-collapsible">' +
                                '<caption>' + loremIpsum + '</caption>' +
                                '<tr><td>' + loremIpsum + '</td><td>' + loremIpsum + '</td></tr>' +
                                '<tr><td>' + loremIpsum + '</td><td>' + loremIpsum + '</td></tr>' +
                        '</table>'
-               ), assert );
+               ), this, assert );
        } );
 
-       function listTest( listType, assert ) {
+       function listTest( listType, test, assert ) {
                var $collapsible = prepareCollapsible(
                                '<' + listType + ' class="mw-collapsible">' +
                                        '<li>' + loremIpsum + '</li>' +
                        $collapsible.on( 'afterExpand.mw-collapsible', function () {
                                assert.assertTrue( $toggleItem.is( ':visible' ), 'after expanding: toggleItem is still visible' );
                                assert.assertTrue( $contentItem.is( ':visible' ), 'after expanding: contentItem is visible' );
-                               QUnit.start();
                        } );
 
                        $toggle.trigger( 'click' );
+                       test.clock.tick( 500 );
                } );
 
                $toggle.trigger( 'click' );
+               test.clock.tick( 500 );
        }
 
-       QUnit.asyncTest( 'basic operation (<ul>)', 7, function ( assert ) {
-               listTest( 'ul', assert );
+       QUnit.test( 'basic operation (<ul>)', 7, function ( assert ) {
+               listTest( 'ul', this, assert );
        } );
 
-       QUnit.asyncTest( 'basic operation (<ol>)', 7, function ( assert ) {
-               listTest( 'ol', assert );
+       QUnit.test( 'basic operation (<ol>)', 7, function ( assert ) {
+               listTest( 'ol', this, assert );
        } );
 
        QUnit.test( 'basic operation when synchronous (options.instantHide)', 2, function ( assert ) {
                assert.assertTrue( $collapsible.hasClass( 'mw-collapsed' ), 'mw-collapsed class present' );
        } );
 
-       QUnit.asyncTest( 'initial collapse (mw-collapsed class)', 2, function ( assert ) {
+       QUnit.test( 'initial collapse (mw-collapsed class)', 2, function ( assert ) {
                var $collapsible = prepareCollapsible(
                                '<div class="mw-collapsible mw-collapsed">' + loremIpsum + '</div>'
                        ),
 
                $collapsible.on( 'afterExpand.mw-collapsible', function () {
                        assert.assertTrue( $content.is( ':visible' ), 'after expanding: content is visible' );
-                       QUnit.start();
                } );
 
                $collapsible.find( '.mw-collapsible-toggle' ).trigger( 'click' );
+               this.clock.tick( 500 );
        } );
 
-       QUnit.asyncTest( 'initial collapse (options.collapsed)', 2, function ( assert ) {
+       QUnit.test( 'initial collapse (options.collapsed)', 2, function ( assert ) {
                var $collapsible = prepareCollapsible(
                                '<div class="mw-collapsible">' + loremIpsum + '</div>',
                                { collapsed: true }
 
                $collapsible.on( 'afterExpand.mw-collapsible', function () {
                        assert.assertTrue( $content.is( ':visible' ), 'after expanding: content is visible' );
-                       QUnit.start();
                } );
 
                $collapsible.find( '.mw-collapsible-toggle' ).trigger( 'click' );
+               this.clock.tick( 500 );
        } );
 
-       QUnit.test( 'clicks on links inside toggler pass through (options.linksPassthru)' , 2, function ( assert ) {
+       QUnit.test( 'clicks on links inside toggler pass through (options.linksPassthru)', 2, function ( assert ) {
                var $collapsible = prepareCollapsible(
                                '<div class="mw-collapsible">' +
                                        '<div class="mw-collapsible-toggle">' +
                assert.assertTrue( $content.is( ':hidden' ), 'click event on non-link inside toggle toggles content' );
        } );
 
-       QUnit.asyncTest( 'collapse/expand text (data-collapsetext, data-expandtext)', 2, function ( assert ) {
+       QUnit.test( 'collapse/expand text (data-collapsetext, data-expandtext)', 2, function ( assert ) {
                var $collapsible = prepareCollapsible(
                                '<div class="mw-collapsible" data-collapsetext="Collapse me!" data-expandtext="Expand me!">' +
                                        loremIpsum +
 
                $collapsible.on( 'afterCollapse.mw-collapsible', function () {
                        assert.equal( $toggleLink.text(), 'Expand me!', 'data-expandtext is respected' );
-                       QUnit.start();
                } );
 
                $collapsible.find( '.mw-collapsible-toggle' ).trigger( 'click' );
+               this.clock.tick( 500 );
        } );
 
-       QUnit.asyncTest( 'collapse/expand text (options.collapseText, options.expandText)', 2, function ( assert ) {
+       QUnit.test( 'collapse/expand text (options.collapseText, options.expandText)', 2, function ( assert ) {
                var $collapsible = prepareCollapsible(
                                '<div class="mw-collapsible">' + loremIpsum + '</div>',
                                { collapseText: 'Collapse me!', expandText: 'Expand me!' }
 
                $collapsible.on( 'afterCollapse.mw-collapsible', function () {
                        assert.equal( $toggleLink.text(), 'Expand me!', 'options.expandText is respected' );
-                       QUnit.start();
                } );
 
                $collapsible.find( '.mw-collapsible-toggle' ).trigger( 'click' );
+               this.clock.tick( 500 );
        } );
 
 }( mediaWiki, jQuery ) );
index ca0ea67..bbea829 100644 (file)
@@ -1,8 +1,8 @@
-(function($) {
+(function ($) {
 
        QUnit.module('jquery.placeholder', QUnit.newMwEnvironment());
 
-       QUnit.test('caches results of feature tests', 2, function(assert) {
+       QUnit.test('caches results of feature tests', 2, function (assert) {
                assert.strictEqual(typeof $.fn.placeholder.input, 'boolean', '$.fn.placeholder.input');
                assert.strictEqual(typeof $.fn.placeholder.textarea, 'boolean', '$.fn.placeholder.textarea');
        });
@@ -20,7 +20,7 @@
                        '<input id="input-type-password" type="password" placeholder="e.g. hunter2">' +
                        '<textarea id="textarea" name="message" placeholder="Your message goes here"></textarea>' +
                '</form>',
-       testElement = function($el, assert) {
+       testElement = function ($el, assert) {
 
                var el = $el[0],
                        placeholder = el.getAttribute('placeholder');
                $el.placeholder(placeholder);
        };
 
-       QUnit.test('emulates placeholder for <input type=text>', 22, function(assert) {
+       QUnit.test('emulates placeholder for <input type=text>', 22, function (assert) {
                $('<div>').html(html).appendTo($('#qunit-fixture'));
                testElement($('#input-type-text'), assert);
        });
 
-       QUnit.test('emulates placeholder for <input type=search>', 22, function(assert) {
+       QUnit.test('emulates placeholder for <input type=search>', 22, function (assert) {
                $('<div>').html(html).appendTo($('#qunit-fixture'));
                testElement($('#input-type-search'), assert);
        });
 
-       QUnit.test('emulates placeholder for <input type=email>', 22, function(assert) {
+       QUnit.test('emulates placeholder for <input type=email>', 22, function (assert) {
                $('<div>').html(html).appendTo($('#qunit-fixture'));
                testElement($('#input-type-email'), assert);
        });
 
-       QUnit.test('emulates placeholder for <input type=url>', 22, function(assert) {
+       QUnit.test('emulates placeholder for <input type=url>', 22, function (assert) {
                $('<div>').html(html).appendTo($('#qunit-fixture'));
                testElement($('#input-type-url'), assert);
        });
 
-       QUnit.test('emulates placeholder for <input type=tel>', 22, function(assert) {
+       QUnit.test('emulates placeholder for <input type=tel>', 22, function (assert) {
                $('<div>').html(html).appendTo($('#qunit-fixture'));
                testElement($('#input-type-tel'), assert);
        });
 
-       QUnit.test('emulates placeholder for <input type=password>', 13, function(assert) {
+       QUnit.test('emulates placeholder for <input type=password>', 13, function (assert) {
                $('<div>').html(html).appendTo($('#qunit-fixture'));
 
                var selector = '#input-type-password',
 
        });
 
-       QUnit.test('emulates placeholder for <textarea></textarea>', 22, function(assert) {
+       QUnit.test('emulates placeholder for <textarea></textarea>', 22, function (assert) {
                $('<div>').html(html).appendTo($('#qunit-fixture'));
                testElement($('#textarea'), assert);
        });
index 5fe2394..25d9f73 100644 (file)
                }, opt.after );
 
                QUnit.test( opt.description, function ( assert ) {
-                       /*jshint onevar: false */
-                       var tests = 1;
+                       var $textarea, start, end, options, text,
+                               tests = 1;
                        if ( opt.after.selected !== null ) {
                                tests++;
                        }
                        QUnit.expect( tests );
 
-                       var $textarea = $( '<textarea>' );
+                       $textarea = $( '<textarea>' );
 
                        $( '#qunit-fixture' ).append( $textarea );
 
-                       //$textarea.textSelection( 'setContents', opt.before.text); // this method is actually missing atm...
-                       $textarea.val( opt.before.text ); // won't work with the WikiEditor iframe?
+                       // This method is actually missing atm...
+                       //$textarea.textSelection( 'setContents', opt.before.text);
 
-                       var start = opt.before.start,
-                               end = opt.before.end;
+                       // Won't work with the WikiEditor iframe?
+                       $textarea.val( opt.before.text );
 
-                       var options = $.extend( {}, opt.replace ); // Clone opt.replace
+                       start = opt.before.start;
+                       end = opt.before.end;
+
+                       // Clone opt.replace
+                       options = $.extend( {}, opt.replace );
                        options.selectionStart = start;
                        options.selectionEnd = end;
                        $textarea.textSelection( 'encapsulateSelection', options );
 
-                       var text = $textarea.textSelection( 'getContents' ).replace( /\r\n/g, '\n' );
+                       text = $textarea.textSelection( 'getContents' ).replace( /\r\n/g, '\n' );
 
                        assert.equal( text, opt.after.text, 'Checking full text after encapsulation' );
 
                replace: h2
        } );
 
-
        encapsulateTest( {
                description: 'ownline option: turn a partial line into new h2',
                before: {
                replace: h2
        } );
 
-
        encapsulateTest( {
                description: 'splitlines option: no selection, insert new list item',
                before: {
                replace: ulist
        } );
 
-
        function caretTest( options ) {
                QUnit.test( options.description, 2, function ( assert ) {
-                       var pos, $textarea = $( '<textarea>' ).text( options.text );
+                       var pos,
+                               $textarea = $( '<textarea>' ).text( options.text );
 
                        $( '#qunit-fixture' ).append( $textarea );
 
index 2ad7622..3be3642 100644 (file)
@@ -29,7 +29,6 @@
                } );
        } );
 
-
        QUnit.test( 'API error', function ( assert ) {
                QUnit.expect( 1 );
 
index aeefd64..f49be49 100644 (file)
                        100: 'Penguins'
                },
                wgNamespaceIds: {
-                       /*jshint camelcase: false */
-                       media: -2,
-                       special: -1,
+                       'media': -2,
+                       'special': -1,
                        '': 0,
-                       talk: 1,
-                       user: 2,
-                       user_talk: 3,
-                       wikipedia: 4,
-                       wikipedia_talk: 5,
-                       file: 6,
-                       file_talk: 7,
-                       mediawiki: 8,
-                       mediawiki_talk: 9,
-                       template: 10,
-                       template_talk: 11,
-                       help: 12,
-                       help_talk: 13,
-                       category: 14,
-                       category_talk: 15,
-                       image: 6,
-                       image_talk: 7,
-                       project: 4,
-                       project_talk: 5,
-                       /* testing custom / alias */
-                       penguins: 100,
-                       antarctic_waterfowl: 100
+                       'talk': 1,
+                       'user': 2,
+                       'user_talk': 3,
+                       'wikipedia': 4,
+                       'wikipedia_talk': 5,
+                       'file': 6,
+                       'file_talk': 7,
+                       'mediawiki': 8,
+                       'mediawiki_talk': 9,
+                       'template': 10,
+                       'template_talk': 11,
+                       'help': 12,
+                       'help_talk': 13,
+                       'category': 14,
+                       'category_talk': 15,
+                       'image': 6,
+                       'image_talk': 7,
+                       'project': 4,
+                       'project_talk': 5,
+                       // Testing custom namespaces and aliases
+                       'penguins': 100,
+                       'antarctic_waterfowl': 100
                },
                wgCaseSensitiveNamespaces: []
        },
index 24a7cc9..a2ad50d 100644 (file)
@@ -705,7 +705,6 @@ QUnit.test( 'HTML', 26, function ( assert ) {
                'Escaped attributes are parsed correctly'
        );
 
-
        mw.messages.set( 'jquerymsg-wikitext-contents-parsed', '<i>[http://example.com Example]</i>' );
        assert.htmlEqual(
                formatParse( 'jquerymsg-wikitext-contents-parsed' ),
index 594ae25..f5091f9 100644 (file)
@@ -75,7 +75,7 @@
                assert.strictEqual( conf.get( 'constructor' ), 42, 'Map.get for key "constructor"' );
 
                assert.strictEqual( conf.set( 'ImUndefined', undefined ), true, 'Map.set allows setting value to `undefined`' );
-               assert.equal( conf.get( 'ImUndefined', 'fallback' ), undefined , 'Map.get supports retreiving value of `undefined`' );
+               assert.equal( conf.get( 'ImUndefined', 'fallback' ), undefined, 'Map.get supports retreiving value of `undefined`' );
 
                assert.strictEqual( conf.set( funky, 'Funky' ), false, 'Map.set returns boolean false if key was invalid (Function)' );
                assert.strictEqual( conf.set( arry, 'Arry' ), false, 'Map.set returns boolean false if key was invalid (Array)' );
                        'notExist': null
                }, 'Map.get return includes keys that were not found as null values' );
 
-
                // Interacting with globals and accessing the values object
                assert.strictEqual( conf.get(), conf.values, 'Map.get returns the entire values object by reference (if called without arguments)' );
 
                assertMultipleFormats( ['mediawiki-test-version-entrypoints-index-php'], ['plain', 'text', 'escaped'], mw.messages.get( 'mediawiki-test-version-entrypoints-index-php' ), 'External link markup is unprocessed' );
                assert.htmlEqual( mw.message( 'mediawiki-test-version-entrypoints-index-php' ).parse(), '<a href="https://www.mediawiki.org/wiki/Manual:index.php">index.php</a>', 'External link works correctly in parse mode' );
 
-               assertMultipleFormats( ['external-link-replace', 'http://example.org/?x=y&z'], ['plain', 'text'] , 'Foo [http://example.org/?x=y&z bar]', 'Parameters are substituted but external link is not processed' );
+               assertMultipleFormats( ['external-link-replace', 'http://example.org/?x=y&z'], ['plain', 'text'], 'Foo [http://example.org/?x=y&z bar]', 'Parameters are substituted but external link is not processed' );
                assert.equal( mw.message( 'external-link-replace', 'http://example.org/?x=y&z' ).escaped(), 'Foo [http://example.org/?x=y&amp;z bar]', 'In escaped mode, parameters are substituted and ampersand is escaped, but external link is not processed' );
                assert.htmlEqual( mw.message( 'external-link-replace', 'http://example.org/?x=y&z' ).parse(), 'Foo <a href="http://example.org/?x=y&amp;z">bar</a>', 'External link with replacement works in parse mode without double-escaping' );
 
                assertMultipleFormats( ['plural-test-msg-explicit-beginning', 6], ['text', 'parse', 'escaped'], 'Basket has half a dozen eggs', 'explicit plural given at beginning get resolved for 6' );
                assertMultipleFormats( ['plural-test-msg-explicit-beginning', 0], ['text', 'parse', 'escaped'], 'Basket has no eggs', 'explicit plural given at beginning get resolved for 0' );
 
-
                assertMultipleFormats( ['mediawiki-test-pagetriage-del-talk-page-notify-summary'], ['plain', 'text'], mw.messages.get( 'mediawiki-test-pagetriage-del-talk-page-notify-summary' ), 'Double square brackets with no parameters unchanged' );
 
                assertMultipleFormats( ['mediawiki-test-pagetriage-del-talk-page-notify-summary', specialCharactersPageName], ['plain', 'text'], 'Notifying author of deletion nomination for [[' + specialCharactersPageName + ']]', 'Double square brackets with one parameter' );
 
                assert.equal( mw.message( 'mediawiki-test-pagetriage-del-talk-page-notify-summary', specialCharactersPageName ).escaped(), 'Notifying author of deletion nomination for [[' + mw.html.escape( specialCharactersPageName ) + ']]', 'Double square brackets with one parameter, when escaped' );
 
-
                assert.ok( mw.messages.set( 'mediawiki-test-categorytree-collapse-bullet', '[<b>−</b>]' ), 'mw.messages.set: Register' );
                assert.equal( mw.message( 'mediawiki-test-categorytree-collapse-bullet' ).plain(), mw.messages.get( 'mediawiki-test-categorytree-collapse-bullet' ), 'Single square brackets unchanged in plain mode' );
 
                        'Script escaped when using parse format'
                );
 
-
        } );
 
        QUnit.test( 'mw.msg', 14, function ( assert ) {
                assert.equal( mw.msg( 'hello' ), 'Hello <b>awesome</b> world', 'Gets message with default options (existing message)' );
                assert.equal( mw.msg( 'goodbye' ), '<goodbye>', 'Gets message with default options (nonexistent message)' );
 
-               assert.ok( mw.messages.set( 'plural-item' , 'Found $1 {{PLURAL:$1|item|items}}' ), 'mw.messages.set: Register' );
+               assert.ok( mw.messages.set( 'plural-item', 'Found $1 {{PLURAL:$1|item|items}}' ), 'mw.messages.set: Register' );
                assert.equal( mw.msg( 'plural-item', 5 ), 'Found 5 items', 'Apply plural for count 5' );
                assert.equal( mw.msg( 'plural-item', 0 ), 'Found 0 items', 'Apply plural for count 0' );
                assert.equal( mw.msg( 'plural-item', 1 ), 'Found 1 item', 'Apply plural for count 1' );
                } );
        } );
 
+       QUnit.asyncTest( 'mw.loader.using( .. ).promise', 2, function ( assert ) {
+               var isAwesomeDone;
+
+               mw.loader.testCallback = function () {
+                       QUnit.start();
+                       assert.strictEqual( isAwesomeDone, undefined, 'Implementing module is.awesome: isAwesomeDone should still be undefined' );
+                       isAwesomeDone = true;
+               };
+
+               mw.loader.implement( 'test.promise', [QUnit.fixurl( mw.config.get( 'wgScriptPath' ) + '/tests/qunit/data/callMwLoaderTestCallback.js' )], {}, {} );
+
+               mw.loader.using( 'test.promise' )
+               .done( function () {
+
+                       // /sample/awesome.js declares the "mw.loader.testCallback" function
+                       // which contains a call to start() and ok()
+                       assert.strictEqual( isAwesomeDone, true, 'test.promise module should\'ve caused isAwesomeDone to be true' );
+                       delete mw.loader.testCallback;
+
+               } )
+               .fail( function () {
+                       QUnit.start();
+                       assert.ok( false, 'Error callback fired while loader.using "test.promise" module' );
+               } );
+       } );
+
        QUnit.asyncTest( 'mw.loader.implement( styles={ "css": [text, ..] } )', 2, function ( assert ) {
                var $element = $( '<div class="mw-test-implement-a"></div>' ).appendTo( '#qunit-fixture' );
 
index 88aecbd..b0d9f10 100644 (file)
--- a/thumb.php
+++ b/thumb.php
@@ -289,8 +289,10 @@ function wfStreamThumb( array $params ) {
                }
        }
 
+       $dispositionType = isset( $params['download'] ) ? 'attachment' : 'inline';
+
        // Suggest a good name for users downloading this thumbnail
-       $headers[] = "Content-Disposition: {$img->getThumbDisposition( $thumbName )}";
+       $headers[] = "Content-Disposition: {$img->getThumbDisposition( $thumbName, $dispositionType )}";
 
        if ( count( $varyHeader ) ) {
                $headers[] = 'Vary: ' . implode( ', ', $varyHeader );
index 2a57d4a..d07b86f 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /**
- * Version of thumb.php to used in web server requiring .php5 extension
- * to execute scripts with PHP5 engine.
+ * Version of thumb.php to be used in web servers that require the .php5
+ * extension to execute scripts with the PHP5 engine.
  *
  * 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
index 7afa9aa..e2b165b 100644 (file)
@@ -24,6 +24,6 @@
 
 define( 'THUMB_HANDLER', true );
 
-# Execute thumb.php, having set THUMB_HANDLER so that
-# it knows to extract params from a thumbnail file URL.
+// Execute thumb.php, having set THUMB_HANDLER so that
+// it knows to extract params from a thumbnail file URL.
 require __DIR__ . '/thumb.php';
index f160c87..0e0c3c0 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /**
- * Version of thumb_handler.php to used in web server requiring .php5 extension
- * to execute scripts with PHP5 engine.
+ * Version of thumb_handler.php to be used in web servers that require the .php5
+ * extension to execute scripts with the PHP5 engine.
  *
  * 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
index b5450e1..a197545 100644 (file)
@@ -1,3 +1,3 @@
 <?php
-// stub file for compatibility with older versions
+// Stub file for compatibility with older versions of MediaWiki
 include_once './index.php';